摘要
- RFC 2105 记录的是 Cisco 的 Informational 架构:短而定长的标签索引标签信息库(TIB),设备逐跳换标并选择出接口,不必每跳都做最长前缀匹配。
- 普通网络层路由协议先构建 FIB,标签绑定与分发机制再把结果投射为可执行状态;对目的路由而言,分配可以由拓扑而非流量触发。
- 稳定的换标数据面可以承载目的路由、组播、路由层级、显式路径、ATM 与 QoS 等不同控制模块,但标签只证明一个局部绑定,不能证明标准共识、身份、授权、交付或完整路径。
一次精确命中,省略了此前的全部决定
RFC 2105 描述的转发动作极为克制。带标签的数据包到达后,交换机把入标签当作 TIB 的精确索引。表项中保存入标签,以及一个或多个由出标签、出接口和链路层信息组成的子项。设备替换标签与链路层字段,然后发送。
与按网络层地址做最长前缀匹配相比,短标签适合简单硬件逻辑。同一种动作既可对应单一的单播出接口,也可对应多个组播出接口。性能收益来自重复使用既有决定,而不是从标签本身发现更多事实。
这正是证据边界。观察到标签 41 被换成标签 76,只能说明某台设备在某一时刻执行了一个本地表项。标签没有解释这个表项来自哪条路由、由哪个邻居通告、是否仍与下一跳一致、是否经过授权,或数据包后来是否抵达目的地。
数据面稳定,控制面可以继续生长
Tag Switching 的重要变化不只是“查表更快”,而是把转发与控制明确分开。转发组件始终执行同一个索引、换标和发送动作。控制组件负责创建绑定并在交换机之间分发。新的路由功能可以增加新的控制模块,而不必重做高速转发逻辑。
这种分离使演进成本下降,也使责任链变长。硬件正确执行 TIB 并不能证明创建该表项的模块拿到了最新输入,更不能证明所有邻居已经收敛。数据面可能极其忠实地执行一个已经过时的控制决定。
路由先给出形状,标签再把它变成句柄
在目的地址路由场景中,标签交换机仍像路由器一样参加 OSPF、BGP 等协议,并据此建立 FIB。RFC 2105 允许下游分配、下游按需分配和上游分配三种方式。常规下游方式为每条可达路由分配标签、建立 TIB 表项,并向相邻交换机通告路由与标签的绑定。
相邻设备收到由该路由下一跳发出的绑定后,把其中的标签写入本地表项的出标签位置。绑定既可搭载在已有路由协议上,也可使用文中提出的 TDP。TIB 的入、出标签齐备后,数据包才可沿换标算法前进。
因此,标签不是独立的路由声明。先有网络层可达性,再有局部的执行句柄。TDP 也不能被倒推为后来的 LDP;RFC 5036 定义了另一套完整的发现、会话、映射和错误处理协议。
拓扑可以在第一个数据包到来前填满 TIB
当时不少快速转发方案由观察到的流触发。RFC 2105 对目的路由提出了另一条路径:FIB 表项本身就可以触发标签分配。文档明确称其由拓扑、而不是流量驱动。
这把标签状态的规模约束在路由规模之内。一个标签可绑定一条前缀,也可绑定一组路由;交换机不必先识别每条会话。流量峰值不会自动制造同等规模的控制状态。
预计算并不意味着永久正确。标签绑定的有效性仍取决于生成它的路由版本、下一跳、邻接关系和分发时点。旧表项若继续存活,交换机会高效地回答一个已经失效的问题。
普通网络层查找从未消失
未带标签的数据包必须先接受常规网络层转发,设备才能加上第一枚标签。这个动作可以发生在首跳路由器,也可以发生在路径上第一个支持 Tag Switching 的节点。
聚合点也是例外。如果若干被压缩到同一标签后的路由并不共享下一跳,设备必须重新查看网络层目的地址。聚合为了缩小状态而丢掉了差异,恰恰可能在下一次决定时需要把差异找回来。
快速路径的能力由此变得清楚:它减少重复解释,但没有消灭解释。标签适合承载已完成决定的结果,不适合替代必须保留的原始上下文。
标签栈把外部路由知识留在边界
为了让域内设备不必都保存完整的外部路由信息,RFC 2105 允许数据包携带标签栈。数据包进入一个域时,入口边界交换机在原标签之上再压入一个域内标签。内部节点只处理栈顶,用它把数据包送到出口边界;下层标签留给出口处的下一层决定。栈顶可由出口或倒数第二跳弹出。
这是一种有选择地放置知识的方式。边界保留外部路由,核心只处理较小的内部状态。然而,两枚标签不是一份旅行日志。它们属于不同局部作用域,不能说明所有控制消息、被放弃的候选路径或中途发生过的收敛过程。
同一转发动作为不同控制目标服务
组播模块先依赖 PIM 等路由程序建立共享树或源树,然后为各出接口生成局部标签并写入多出口 TIB。标签执行的是已建成的树,不负责发现接收者,也不证明接收者收到数据。
显式路由模块可以安装不同于普通目的路由的绑定,使流量工程不必改变换标硬件。代价是,一个正确的 TIB 命中可能遵循一条由外部策略选择的路径,而策略理由、容量与审批都不在标签里。
ATM 的 VPI/VCI 天然适合承载标签,但加入 Tag Switching 的 ATM 交换机仍需参加网络层路由并运行控制组件;做聚合时甚至仍需普通网络层转发。传统 ATM 控制面还可通过资源分区与 Tag Switching 并存,二者并不会相互证明。
QoS 也遵守同样边界。入口分类器可给数据包加上代表服务类别的标签,后续节点据此找到调度状态,却不必重复分类。真正的排队与调度仍是另一套机制。看到类别标签,不能推断带宽已经预留、丢包或时延符合承诺。
Informational 文档不是标准或部署收据
RFC 2105 的状态说明十分明确:它不是 IETF 工作组产品,不在标准轨,也没有规定任何 Internet 标准。Datatracker 目前将其标为 Legacy,并说明它不受 IETF 背书、在 IETF 标准流程中没有正式地位。安全章节仅写明未讨论安全问题,知识产权章节则记录 Cisco 可能寻求相关保护。
这些限制不妨碍它具有历史价值。2001 年的标准轨 RFC 3031 后来定义了 MPLS 的局部有效标签、FEC、标签栈和逐跳替换。两者结构相似,但 RFC 3031 并未按编号或标题引用 RFC 2105。稳妥的说法只能是:Tag Switching 展示了通往后来 MPLS 架构的一条道路;不能仅凭 RFC 2105 宣称直接因果、实现继承或普遍采用。
Lu Heng 关于运行代码的论述把这条边界推得更清楚:发布可以描述机制,实际运行才形成执行事实;最小初始规范应与未来的本地选择分开;符号层的叙述不能借用现实执行层的力量。对 RFC 2105 而言,文档、控制绑定、已安装 TIB 和实际交付是四张不同的收据。
来源
- RFC 2105:Cisco Systems' Tag Switching Architecture Overview
- RFC Editor 的 RFC 2105 记录
- IETF Datatracker 的 RFC 2105 记录
- RFC 2105 勘误检索
- RFC 3031:Multiprotocol Label Switching Architecture
- RFC 5036:LDP Specification
- RFC 1953:Ipsilon Flow Management Protocol Specification for IPv4
- RFC 1954:Transmission of Flow Labelled IPv4 on ATM Data Links
- RFC 2098:Toshiba's Router Architecture Extensions for ATM
- Running-Code Primacy
- Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
