摘要
- RFC 3181 用新流的 Preemption Priority 与已获准预留的 Defending Priority 比较。新流一旦进入,前一个数值对它失效,自己的防守优先级开始面对后续来客。
- 多播预留合并时,优先级该跟谁走成为另一项决策。让贡献最高服务质量的接收者决定等级可减少扭曲;直接取最高等级容易让别的流搭便车;拒绝异构合并又可能让一个不兼容接收者阻断全体。
- 策略对象、节点判定或抢占错误只能证明各自的边界,不能证明端到端预留、流量控制已经改变、数据包获得预期待遇或应用保持可用。
后到不再天然等于后进
RFC 3181 于 2001 年 10 月以 Standards Track 身份发布,并替代 RFC 2751,修正 RSVP 策略数据类型码的一项分配错误。它定义 Signaled Preemption Priority Policy Element,供 RSVP、COPS 一类信令式准入机制使用。标准轨道说明文档所处的规范进程,并不证明哪台设备或哪个运营者部署了它。
只有请求超过容量时,抢占才真正发生作用。单纯按容量准入会一直接收,直到资源耗尽,于是先到者天然占优。策略准入把相对等级纳入判断:节点可以拒绝等级较低的新请求,也可以撤掉已有的低等级预留,为后来但等级更高的请求腾出位置。
这并没有创造带宽。它只是改变稀缺资源落在谁手里。赢家的准入同时意味着输家的位置被拿走。若仪表只累计“成功准入”,不记录被挤出的预留,就会把损失转移误报成容量改善。
该元素被设计成简单、无状态且轻量,让节点内的 Local Decision Point 能直接处理。“无状态”是说解释元素不需要过去历史或外部资料,不是说运营结果没有历史。要解释服务为何变化,仍须保留谁先在场、谁后来、谁被撤掉,以及当时的容量。
同一条流活在两个优先级时钟里
Preemption Priority 属于正在申请进入的新流,用来同已有流的 Defending Priority 比较。数值越大,在适用策略范围内的等级越高。
流一旦获准,自己的抢占优先级便不再相关。此后保护它的是防守优先级,要拿它同未来新流的抢占值相比。同一条预留因此有“进门等级”和“守位等级”。数据库若只保存一个 priority,就抹掉数值在何时、针对谁生效。
RFC 要求一条流的抢占值不得高于防守值。两者拉开距离,可以提供稳定性:它以较温和的等级进入,不容易挤掉别人;一旦成功进入,又以较高的防守值避免被中等强度的后来者反复挤出。这是在先来后到与不断轮替之间做平衡。
稳定不等于永久。未来更高等级的请求仍可能获胜,容量也会改变,另一节点还可能采用不同的本地映射。规范描述相对顺序,并没有创造跨组织通用的商业、社会或道德等级。
时间边界也很明确。“A 时刻获准”是一项历史事件,“B 时刻仍受保护”则是当前竞争。旧收据不包含新竞争者和新容量,无法替后一项判断作证。
策略从制定者走到执行者
Policy Decision Point 可以把多条策略规则压缩成一个等级准则。没有中央决策者的节点,由 Local Decision Point 解释、转发或合并元素。Policy Enforcement Point 再把决策连接到流量控制和容量准入。
这是一条权责链,不是一个全知角色。策略权威提出等级,本地决策点按编码的合并策略计算,执行点改变节点资源状态,RSVP 传送对象,COPS 可以把决策外包出去。任何一环都没有天然看见全路径安装,更没有看见应用最终体验。
RFC 2750 给出 RSVP 策略控制容器,RFC 2748 与 RFC 2749 提供 COPS 和 COPS-RSVP 语境。它们说明接口和职责,不保证结果。收到一个结构有效的对象,不能证明原始规则合理、各域映射一致或后续调度器确实执行。
安全部分依赖外层 Policy Data 的完整性,并把快速、简单的优先级指导放在可信区或至少单一区域内。安全封套能帮助证明值是否被未授权修改,却不能证明映射仍新鲜、选择公平或执行动作达成服务目标。
合并会把一个接收者的等级借给另一个
RSVP 的预留可以汇合。文档用一对不对称请求说明难题:F1 要求高服务质量,却只有低优先级;F2 要求低服务质量,却有高优先级。合并后的预留必须满足较高质量,但究竟继承哪个等级?
若取高优先级,昂贵的 F1 就借到原本只属于低成本 F2 的权力,成为搭便车者。若取低优先级,真正拥有高等级的 F2 又可能随整体一起被抢占。文档把拒绝服务视为搭便车的反面:一方得到不配得的等级,会挤掉另一方本来应有的机会。
第一种策略只让实际贡献合并 QoS 的流参与等级计算,再从参与者中取最高值。贡献最高资源要求者也决定等级,因此这是推荐做法。它降低错配,不代表消灭所有滥用。
第二种策略让所有元素参加,直接取最高等级。实现简单,却不受推荐,因为小质量请求的高等级可以扩散到整份昂贵预留。
第三种策略在 QoS 异构时强制报错。只有整个多播树都协调并执行同质性时,它才是合适的推荐选项。否则,一个请求不同质量的接收者,就可能让其他接收者全部失败。
这里不存在无损摘要。RFC 明确说,不知道有什么算法可以合并不同策略的元素而不丢掉可能影响其他节点的信息。若 Policy Data 受完整性保护,本地决策点还不应修改它,否则安全封套失效。参与者、策略与保护边界都是数值含义的一部分。
抢占错误报告的是竞赛,不是业务结局
PREEMPTION 表示一条先前获准的流已被抢占,HETEROGENEOUS 表示遇到异构合并。前一种情况下,胜者的策略元素副本会被送回产生输家元素的决策点。它看见双方等级后,可以构造更高等级的元素,尝试把被挤出的流重新放回去。
这条返回消息让竞赛有据可查,却不能证明输家应用收到通知、停止发送、释放全部资源或平稳恢复。它也不能证明赢家在每一跳都安装成功。本地节点的准入同端到端预留是两个范围。
重新放回还有振荡风险。RFC 指出,抢占优先级、能够杀死其他预留的请求以及 RSVP blockade state 结合起来,可能让同一预留被挤出、恢复,再被挤出。若每次恢复都算一次成功,系统会奖励不稳定。真正有用的指标是稳定驻留时间和应用可见中断。
异构错误同样只回答有限问题:某次组合触犯了本地对 FLOWSPEC 质量等级的同质定义。它没有证明别的路径、较低质量或应用替代方案不存在。
注册值和后来标准不能补齐部署证据
RFC 为该策略元素协调了类型值。今天的 IANA RSVP 参数表能证明编号受到登记,却看不见路由器是否识别、决策点是否生成、流量控制是否执行,更看不见用户有没有获得服务。
后来 RSVP-TE 使用相关抢占概念,RFC 6401 又定义准入优先级扩展。这些材料帮助定位设计史,但不能向前投射成 RFC 3181 的部署证明,也不能把后来的字段和做法写回 2001 年元素。
Standards Track 也不是实现普查。本证据包不指向当前运营商、流量类别、紧急通信、准入率、容量节省或应用结果。它证明怎样比较,不证明哪里真的发生过比较。
可审计记录必须让输家留在画面里
记录从流与预留身份、请求 QoS、策略来源、完整性语境和两个优先级开始。随后保存每个解释或合并元素的节点与角色、选用的策略、决策时容量和竞争者,以及具体准入或撤销动作。
发生合并时,要保留哪些接收者贡献了最终 QoS、哪些元素贡献了最终等级。发生抢占时,要把胜者到达、输家预留、返回错误、流量控制撤销和重入尝试连接起来,不能用最新状态覆盖过去的轮次。
最后才附上全路径预留确认、数据包观察和应用反应。等级可以指导稀缺条件下的选择,却不能生成资源、认证一致执行或代表应用发言。
RFC 3181 的双值设计留下了一项清楚的历史提醒:开门的权力不等于一直守住门的权力。负责任的证据要说清时间、竞争者、决策者、执行者和后果,而不能把一个整数升级成永久承诺。
来源与证据边界
协议状态、双优先级、策略角色、合并方式、错误、登记与安全范围见 RFC 3181 文本、RFC Editor 记录、HTML 版、IETF 历史及勘误查询。版本比较限定在被替代的 RFC 2751 文本及其记录。
相邻接口资料包括 RSVP、RSVP 策略控制扩展、COPS与 COPS 的 RSVP 用法。后续语境来自 RSVP-TE、RSVP 准入优先级和 IANA RSVP 参数表。
本文对等级、执行与观察结果的分层,受到 Lu Heng 关于运行代码优先、现实层与最小初始规范的论述启发。17 个来源于 2026 年 10 月 2 日按上海时区冻结。
这些记录证明规范及语境,不证明部署或结果。它们没有识别当前实现、厂商、运营商、流、应用、事故、攻击、容量节省、数据包待遇或服务效果。优先级只在适用策略中相对有效,不是通用社会或商业等级。证据链分析是 Sofia Ren 的编辑解读,不是 RFC 作者、IETF、IANA 或 Lu Heng 的主张。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
