摘要

  • RFC 3346 说明了 MPLS 流量工程最合适的用武之地:当 IGP 最短路径过热而拓扑其他部分仍有余量时,把特定流量聚合送入受约束的显式 LSP。
  • 它同时拒绝把控制面状态夸大为结果:配置带宽、路径计算成功和信令获准,都不能单独证明实际需求、物理余量或最终服务质量。

传统最短路径路由会让许多目的地同时汇聚到一条代价最低的链路。运营者当然可以调整 IGP metric,但一次修改可能带走远超预期的流量。MPLS 提供了更细的手柄:选择一个流量聚合,指定入口和出口,再用带宽、优先级、链路 affinity、排除节点和韧性要求约束它经过的 LSP。控制不再只有“全网最短”这一种表达。

RFC 3346 于 2002 年 8 月以 Informational 文档发布。它不是 MPLS 架构,也不是 RSVP-TE 的协议规范,更不是某个运营商的测量报告。它讨论的是这些机制进入实际网络之后适用于什么、要付出什么、又不能承诺什么。文档列举了绕开局部拥塞、在并行电路之间分配负载、按业务政策限制某些流量不走跨洋资源,以及故障后在剩余拓扑上重新优化等用途。

最关键的区别早在 RFC 2702 中就被写清:拥塞可能来自总资源不足,也可能来自已有资源分配低效。第一种需要扩容、约束需求或两者并用;第二种才是流量工程最能修正的问题。若某条替代路径确有空闲,显式 LSP 可以把负载从热点移走。若所有可行路径都已满,MPLS 仍能决定拥塞出现在哪里,却不能创造一条不存在的链路或一份不存在的带宽。

因此,LSP 的带宽参数必须被当成模型,而不是事实本身。运营者可以用峰值、某个百分位数或其他统计量生成这个值,也可能为偶发突发采用超额订阅或有意低报物理链路的可分配带宽。路径计算和准入会使用这个数字,但未来流量不会因为配置已经写好就服从它。RFC 3346 明确提醒,参数可能无法准确代表 LSP 实际承载的业务量。

配置带宽也不等于 policing。一个没有被限速的流可能大幅超过分配值,并干扰其他流量。文档把处置动作另行交给运营者,并在一般情况下倾向于把 policing 放在边缘,而非核心。这条分离很重要:控制面声明了希望怎样分配资源,执行面才决定是否约束发送,监测面再回答实际发生了什么。

RFC 3346 因而把测量带回流程。运营者可以用观测统计量离线计算显式路径,也可以在线调整带宽、优先级和 affinity。趋势变化意味着 LSP 可能需要重新定尺寸;异常方差要求查明是需求激增、设备或线路故障、扩容周期延误,还是模型本身已经失真。一个 LSP 显示为 up,只说明了一小部分状态,并不能替代对承载流量、时延和丢包的观察。

完整的证据链应当逐级保留:先测得需求,再选择将样本压缩成配置值的统计方法;配置值进入路径计算;各节点执行信令与准入;转发表安装;数据包真正经过;最后才有端到端与应用层结果。测量样本不会自动选择正确的百分位数,计算成功不等于预留成功,预留成功不等于硬件已经按预期转发,而看到数据包也不等于服务目标已经实现。

故障场景使这些界线更加明显。RFC 3346 把故障后的重新优化与 fast reroute 分开。预先建立的绕行路径可以减少瞬态丢包;随后,控制系统还要在残余拓扑上重新计算分配;再往后才可能恢复稳定平衡。RFC 4090 后来规范了 RSVP-TE 的局部修复机制,但“备份路径存在”“备份正在使用”“备份提供同等带宽”和“业务已经恢复”仍是四张不同的收据。

更细粒度的控制会增加状态。边缘节点之间的全互联 LSP 规模可能按节点数平方增长。层次化、区域化和谨慎选择隧道端点能够缓解规模问题,却会牺牲部分控制精度。过度聚合又会走向另一个极端:一个流量干线大到没有任何满足约束的路径。把它拆成多个并行 LSP 可能重新获得可行性,但也增加状态、观测对象和故障组合。

文档还记录了 2002 年的工具现实:当时商业网管系统对 MPLS 的支持有限,尤其缺少足够的根因分析能力,因此一些早期采用者自建管理系统。这不是对今天产品能力的判断。它揭示的长期问题是,TE 数据库、路由扩展、信令、测量和自动配置都会给本已承载 IGP、BGP 等工作的路由器与运维体系增加负担。自动化越强,越需要能解释输入、决策和效果。

RFC 3346 最严厉的结论是,MPLS-TE 不是容量不足或规划不当的万能药。绕开热点可能让路径更长、时延更高;在持续增长期,更好的分配也许能争取时间。但需求若无法映射到任何可行拓扑,控制算法就无从成功。扩容被拖延,并不会因为最后一次重优化成功而消失。

此后,OSPF 与 IS-IS 的 TE 扩展丰富了拓扑属性,RSVP-TE 建立隧道,PCE 把路径计算抽成独立角色,stateful PCE 又增加了状态报告与委派。这些发展扩大了“知道什么、能选择什么”的范围,却没有废除 RFC 3346 的物理边界。更好的控制器仍需要真实输入、执行者、运行中观测,以及足够的底层资源。