摘要
- RFC 3063 把标签分配置于线程回卷之后,使无环检查成为路径建立的前置条件,而不是从一张路由表推断出的结论。
- 线程的颜色、跳数和 TTL 都是固定宽度的控制状态;它证明的范围仍限于协议程序本身,不能证明机制已部署或数据包已送达。
标签被安排在最后
RFC 3063 最值得注意的不是它能够发现环路,而是它把发现结果和一个具体动作连在一起:在预防模式下,线程尚未回卷时,路由器不会发送标签映射。
MPLS 不要求每台路由器在每个数据包到来时重新读取完整路由。标签交换路由器把标签绑定到一个转发等价类(FEC)。如果下一跳发生变化时三层路由仍处于环路,过早分发标签就可能把这个环带进新建的 LSP。RFC 3063 因此把路径建立做成一道闸门:候选路径先满足线程规则,然后才放行映射。
这份 2001 年 2 月发布的文件属于 Experimental,并不定义互联网标准。它把线程定义为一串用于建立路径的控制消息,每条线程携带三项属性:颜色、跳数和生存时间(TTL)。颜色由发起节点的 IP 地址与本地事件编号组成,目标是在不同节点和不同时刻保持唯一。若节点再次收到相同颜色,就能看出线程已经回到曾经走过的地方。跳数用于维护沿路径递增的量;发生特定环路状态时,算法还使用特殊的“未知”值。TTL 则限制控制消息最多走多远。它是控制消息的刹车,不是证明路径无环的依据。
节点可以把线程向出口延伸、合并兼容的工作、在重复颜色出现时暂缓线程、在下一跳消失时撤回线程,也可以沿来路发送确认,让线程回卷。预防模式下,只有回卷才释放标签映射。检测模式则不同:节点收到彩色线程后可以立即返回映射,但这条映射不会让线程回卷。两种模式对同一机制设定了不同的释放时点,不能把它们笼统说成同一种“环路预防”。
线程的状态规模也有明确边界。路径向量会随着 LSP 变长;线程对象则保持固定大小。线程仍在传播时,路由器会在相应链路上暂存颜色和跳数;回卷以后,活动颜色可以丢弃,只留下跳数。RFC 3063 据此主张,报文规模不会随网络拓扑扩大,下一跳变化只需涉及新路径下游的节点。这是作者提出的设计优势,并非来自现网性能测量。
如果新路线遇到三层环路,RFC 3063 允许实现选择暂时保留旧路径;原文明确把它称为实现选择。它还讨论两种有序标签分配、不同 VC merge 能力的网络,以及用不同线程实现负载分担。这些是设计的适用范围,不是厂商实现或运营部署的证明。
控制面回执不等于数据包轨迹
RFC 3031 的 MPLS 架构把标签分发过程与数据转发区分开。线程回卷只能说明算法检查过的控制面状态符合规则;它不能证明所有转发表都安装了正确标签、数据包实际走过候选路径,也不能证明其他事件顺序下没有瞬时环路。要验证这些主张,还需要 FIB 状态、计数器、探测包和明确的观察时间段。
后来的 LDP 规范 RFC 5036 规定了可配置的 Path Vector 与 Hop Count TLV 环路检测。路径向量记录经过的路由器标识;标识重复或达到配置上限时,消息按环路处理。这是另一套标准轨规范中的 LDP 方法,不是 RFC 3063 的线程算法。后来的文本包含路径向量,不能告诉我们线程方案的部署比例,也不能证明标准化过程因技术原因否决了它。RFC 5715 后来关注拓扑变化后的无环收敛,和阻止一个环形 LSP 被建立有关联,却不是同一问题。
因此,历史结论不必是成功或失败的二选一。RFC 3063 把一份控制面回执放在标签发布之前,同时避免携带随路径增长的向量。按照 RFC 的模型,回卷后的路径无环;真实网络是否实现了这套模型、是否保留旧路径、数据包是否顺利送达,都仍须分别取证。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
