摘要
- RFC 2386 用资源可用性与流的服务要求寻找较可能承载请求的路径,却明确指出:路由计算本身不预留它所描述的资源。
- 它把细密、快速的决定留在自治系统内部,域间只交换相对稳定的信息;真正建立流时,每个节点仍保留对本地资源的准入权。
纸面上先出现的路径
传统尽力而为路由回答的是一个刻意受限的问题:目的地在哪里,按既定代价走哪条路。QoS 路由把另一个问题带进控制平面:这条流需要多少带宽、能容忍多少时延和抖动,哪一条路更有机会满足这些要求?最短路径可能没有余量,更长的路径反而可用。
问题也由此容易被说过头。既然路由器掌握容量信息,又算出一条合适的路,是否等于服务已经得到保证?RFC 2386 的回答是否定的。它反复使用“有较大机会容纳”这类受限表述。QoS 路由负责发现候选路径,不负责占住带宽。RSVP 之类的预留协议能够沿路径申请资源,却不会自动替路由器找出一条资源充足的路径。
于是,一条完整证据链浮现出来:链路先测量本地状态;路由系统把状态编码、量化并传播;接收者得到一幅可能已经延迟或汇总的地图;算法从地图上选出候选路线;流建立时,每个节点再用当下的本地资源做流准入控制。即使每一跳都说有容量,更高层的公平、成本或优先级策略仍可拒绝。资源真正分配、转发状态保持一致、实际指标被测到之后,服务结果才存在。
地图很有用,但地图不是回执。
被使用的指标会改变自己
可达性通常相对持久,可用带宽却是一种会被消耗的事实。一条路径因为“空闲”而吸引流量,正会使它不再空闲。若路由器一看到别处稍好就搬动流量,流量又会把新路径压满,然后再搬回来。RFC 2386 警告,这种追逐可能造成振荡,还会增加用户看到的时延变化与抖动,即使原路径其实仍满足要求。
因此,新鲜度不是简单追求“越实时越好”。高频发布会消耗带宽和路由器 CPU,也会把短暂波动放大成控制动作;发布太慢,计算又会依据过时信息。粗粒度量化能减少更新,却会抹掉准入所需的差异。平滑算法能压低噪声,也可能遮住真正的局部拥塞。
规范把更新触发条件视为稳定性的一部分。它还定义了路径固定:一条流被接受后,在一段时间内留在原路径,而不是随地图每次细小变化迁移。固定不等于永久保证;它只是把一条已准入流的连续性,与周围地图的持续刷新分开。
精细决策要付出状态代价
路由决定可以只按目的地址,也可以按源和目的地址组合,还可以细到每一条流。粒度越细,越可能为特定需求找到合适路径,路由状态也越大。
仅按目的地址时,来自不同源的流会被压到同一选择上。按源与目的地址区分,仍会把性质不同的流放在一起。逐流路由最精确,却要求网络长期保存更多状态。状态一旦丢失,还可能出现循环:一个节点忘了特殊路径,退回普通目的路由;上游节点仍记得逐流路径,于是包在两套现实之间往返。
更多状态不等于无条件地拥有更多真相。它也是更多需要维护的内存、更多会失步的副本,以及更多只能在运行时暴露的故障。关键不只是能否算出细路径,而是所有依赖这条路径的转发决定能否在流的生命周期里保持一致。
汇总用不确定性换规模
层次化汇总让大网络能够计算。一个域可以把许多内部链路和路径压成较小的表示,既减轻传播负担,也避免暴露全部内部拓扑。代价是细节消失。
RFC 2386 指出,一条流可能依据汇总状态被接受,建立时却发现真实的底层路径无法满足要求。这个摘要未必是谎言;它只是一个有损投影,却被拿去回答超出其精度的问题。
“回退重试”提供了一种补偿。建立过程在某节点失败后,可以沿已走的部分退回到更早的节点,让那里尝试另一条路。这样,预测错误变成一次受控搜索。但回退会延长建立时间,在某些负载下反而降低整体性能,不能替代准入控制。
正确顺序应当是:汇总信息缩小搜索范围,算法提出候选,节点面对实时资源,失败后明确拒绝或有限尝试其他路径。若第一步就被称作“保证”,系统反而失去诚实处理失败的空间。
自治系统之间只共享最小层
RFC 2386 最有力量的设计不在某个算法,而在行政边界。域内可以大胆试验:链路状态、探测、静态配置、按需计算,都可并存。域间交互则应简单、一致、稳定。
这不是等待“终极协议”期间的权宜之计。高度动态的域间状态难以扩展,会泄露运营者不愿公开的细节,也让远端路由器依赖一幅无法核验且必然有损的内部地图。框架更愿意交换依据工程容量形成的相对稳定信息。只在故障或集中超载等异常情况下更新,而不是每来一条流就改变域间声明。
网络因此运行在两种时钟上。自治系统内部可以用短时钟处理细粒度变化;邻居看到的是慢时钟上的工程能力、可达性和策略。公共层负责协调预期,不负责复制每一项内部事实。
这也保存了决策权。远端通告可以说明一个域在特定假设下愿意承载什么,入口边界仍要统计聚合需求并执行准入。超出工程上限的流量可以被拒绝、降为尽力而为,或交由其他策略。路由通告没有把本地资源的所有权交给域外的计算器。
价格暴露了缺失的最后一张票据
RFC 2386 把金钱成本列为可能的路由策略之一。运营者可以传播承载不同服务要求的大致价格,跨域路径再把成本组合起来。随之而来的问题很尖锐:如果承诺的 QoS 最终没有交付,应当如何收费?
这个问题揭示了控制平面无法证明的部分。通告描述能力,预留记录分配,两者都不必然测量跨越多个域的端到端结果。时延、抖动、丢包和吞吐仍需观察。若没有交付回执,价格可能比性能证据传播得更远。
安全章节从另一方向说明同一边界。QoS 请求必须经过验证,任意资源请求可能成为耗尽攻击。请求者写下的“需要”不具有自我授权能力。策略、计费和监管能够施加限制,但规范也承认,形式化防护仍有工作要做。
后来的机制没有抹掉这些分层
RFC 2205 定义了 RSVP 的接收方发起预留过程;RFC 2210、2211 与 2212 说明综合服务、受控负载与保证服务如何与之配合。RFC 2676 随后记录 QoS 路由机制和 OSPF 扩展。RFC 3272 把路由放入更广的流量工程循环:测量、建模、控制与评估。RFC 3630 又规定 OSPF 如何传播流量工程链路属性。
这些后续文档不能倒过来证明 RFC 2386 得到普遍部署。它们证明的是功能分离仍有价值:属性可以被通告,算法可以消费属性,信令可以请求资源,运营者可以规划容量,测量可以检查结果。正因为任何一项都不能诚实替代其他项,它们才需要组合。
RFC 2386 把自适应路由归结为两个基础动作:收集网络状态,再依据信息计算路径。它真正留下的,是围绕这两个动作的一组边界。状态受测量时钟约束,通告受范围与策略改写,计算只产生候选,准入查询本地现实,预留改变资源状态,转发与测量才给出结果。
凡是地图没有权力的地方,路径都还需要另一个决定。
来源
- RFC 2386 — A Framework for QoS-based Routing in the Internet
- RFC Editor 的 RFC 2386 记录
- IETF Datatracker 的 RFC 2386 历史
- RFC 2386 勘误检索
- RFC 2205 — Resource ReSerVation Protocol
- RFC 2210 — RSVP 与 IETF 综合服务
- RFC 2211 — 受控负载网络元素服务
- RFC 2212 — 保证服务质量
- RFC 2676 — QoS 路由机制与 OSPF 扩展
- RFC 3272 — Internet 流量工程概览与原则
- RFC 3630 — OSPFv2 流量工程扩展
- Heng Lu — Running-Code Primacy
- Heng Lu — Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- Heng Lu — Reality Layers, Symbolic Power, and Clarity
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
