摘要
- RFC 9721 处理的是 EVPN-IRB 的信息模型缺口:组合 MAC+IP 路由上的单一序列号,无法在 IP 换绑 MAC、MAC 换绑 IP,或全活 PE 在不同时间学习同一主机时,天然证明两种身份各自的新旧。
- 规范没有增加第二个线字段,而是建立父 MAC 序列、子 MAC+IP 继承、同伴同步、取最大值的互操作规则、ARP/NDP 探测和分范围的重复地址恢复。较大序列号只是一份路由版本声明,不是主机身份、物理位置、FIB 收敛或业务恢复的证明。
假设一条组合路由写着序列号 31。它把 MAC 与 IP 一起送进网络,于是监控界面很容易把 31 理解为“这台主机的第 31 个版本”。问题是:主机究竟指什么?
虚拟机重建后可以保留 IP,却得到新 MAC;容器可能沿用 MAC,却换了 IP;防火墙后面的许多 IP 也可能共享一个 MAC。31 也许在给 MAC 的位置排序,也许来自某个 IP 之前的绑定,也许由同伴同步抬高。数字本身不会披露它继承了哪一段历史。
RFC 9721 的价值正在这里。它不是把计数器包装成更可靠的真相,而是承认一个字段面对两个可独立变化的对象时,必须依靠字段之外的关系才能成立。
组合路由把关系伪装成对象
RFC 7432 为 MAC 移动定义了 MAC Mobility Extended Community。MAC 从一个以太网段移动到另一个段时,较高序列号可以帮助远端 PE 选择较新的位置。此时被排序的对象清楚:MAC 路由。
EVPN-IRB 承载得更多。Route Type 2 可以同时包含 MAC 与 IP。根据 RFC 9135,MAC 进入桥表,IP 关联进入 ARP/NDP 表或 IP-VRF。它们共用一条 BGP 宣告,不等于共享一个永远不变的身份。
若把每个 {MAC, IP} 对当作独立对象,新绑定通常从零开始。旧的 IP-a/MAC-a 已经走到 31,新生的 IP-a/MAC-b 却是零;数值顺序与现实顺序相反。若只把新绑定任意抬高,又可能破坏 MAC-b 与其余 IP 子项之间的共同历史。
规范可以增加两个序列字段,分别给 MAC 和 IP 排序,但这会改变格式、兼容性和诊断模型。RFC 9721 选择另一条路:在 PE 本地把 MAC 路由定义成父项,相关 MAC+IP 路由作为子项继承父序列。
当本地学习到一个 MAC+IP 绑定时,PE 先计算或重算父 MAC。父序列必须高于同一 MAC 的有关远端状态;若该 IP 还与另一远端 MAC 绑定,则新父序列还要超过那一 MAC 的序列。随后,所有相关子项都继承更新后的值。
这套关系不会完整出现在路由包里。远端只能看见“一个值”,看不见本地比较过哪些远端路由、更新过哪些兄弟子项、是否吸收 Peer-Sync-Local 状态,也看不见 ARP 表里是否还残留旧绑定。因此 BGP 抓包能证明宣告发生,不能独自证明序列来源正确。
可审计记录必须从本地学习事件开始:接口、ESI、MAC、IP、时间、父序列的前后值、参与比较的远端值、被更新的子项,再到实际发出的宣告与撤回。少了这条链,合法数字也可能脱离它所声称排序的对象。
全活不是双份可用性,而是共享版本权
全活多归属让问题更尖锐。多个 PE 同时代表一个 Ethernet Segment。数据帧和 ARP/NDP 响应经过不同链路哈希,两个 PE 并不会同时看见同一学习事件。
主机从旧段移入新段时,PE1 可能在旧远端路由已经撤回后才学习,于是把它当作新对象并赋零;PE2 可能在撤回前就学习,于是把它当作远端转本地并赋 N+1。两台设备都可能忠实执行各自时刻的规则,却向远端提供相同 ESI 的两套版本。
后果不只是仪表板难看。远端 PE 可能因为序列不同而无法组成 ECMP;以后序列为 N 的路由返回时,PE2 认为它过旧,PE1 却认为它更新。客户眼中是同一全活接入,overlay 眼中却出现两个版本权威。
RFC 9721 要求多归属同伴同步本地和 Peer-Sync-Local 的 MAC/MAC+IP 序列。来自同伴的值可以抬高本地父项,所有子项必须跟随。真正要证明的是:每一台有权为该 ESI 发言的 PE,都进入同一版本世代。
同伴会话 Up 并不能证明这一点。记录应包含成员集合、同步对象、来源 PE、接收值、本地旧值、获胜值、受影响子项和每个宣告节点的应用确认。ESI 只划定共同责任域,不会替其中的数据库作证。
最大值是一项兼容策略,不是一台测量仪
异构实现可能让 MAC-only 路由与同一 MAC 下的 MAC+IP 路由携带不同序列。RFC 9721 要求接收端以有关值的最大值推导远端父 MAC,并在路由撤回时重新计算。若根本没有 MAC-only 宣告,则从组合路由的最大值派生父项。
这是合理的防回退规则。接收端已经见过较高历史,就不应被较小兄弟项拖回过去。但“最大”只能解决排序,不能解释原因。最大值可能来自真实移动、同伴纠偏、竞态反复、陈旧邻居项,甚至受损主机侧发送的数据。
因此,序列号不是墙上时钟。它不能告诉我们移动发生的实际时间、MAC 是否属于目标工作负载、较高路由是否已经写入 FIB,或应用是否恢复。Best path 是控制面决定,不是物理世界的目击者。
当前 RFC 9721 勘误记录 中有一条已驳回的 Technical Erratum 9001。提交者指出,在混合部署中,只实现 RFC 7432 的 PE 并不必然知道:当同一 IP 换到新 MAC 时,新 MAC 的序列应超过该 IP 在旧 MAC 下的历史。Area Director 承认旧设备缺少这种新行为,但拒绝把它定义成向后不兼容;旧规范本来就未规定扩展场景,既有编码和原有行为仍可互通。
运营结论必须保持边界:这条勘误没有改写 RFC;但依赖扩展移动语义的相关 PE 必须真正实现 RFC 9721。版本清单不是采购附件,而是证据条件。
探测负责追问,不负责认证
PE 收到获胜的远端 MAC 或 MAC+IP 路由后,不能仅凭排序就删除本地现实。它需要针对相关本地绑定执行探测与删除。RFC 826 给出 ARP 基础,RFC 4861 给出 IPv6 Neighbor Discovery;RFC 9135 则描述 EVPN-IRB 移动中的相邻探测。
ARP/NDP 响应是很重要的运行证据:本地附件上有某个东西为该地址应答。但它不会认证目标 VM,也不会证明编排系统批准了绑定,更不会说明远端路径可用。不响应同样有多种原因:确实移走、主机沉默、过滤、丢包或探测上下文错误。
共享 MAC 的竞态说明为什么探测不能省略。两个 IP 可能交叉换绑,而旧 ARP、NDP 和 MAC 项尚未被清除。新路由在 PE 之间来回反弹,序列不断上升,直到陈旧项被探测并删除。更多数字不会结束竞态;删除错误观察才会。
事故记录因此必须包含探测目标、接口、发送时间、响应或超时、删除的具体表项、撤回的路由、替代 FIB 以及之后的数据包结果。“收到更高路由”只是触发器。
重复冻结是一种防御动作,不是归因结论
RFC 9161 规定 Proxy ARP/ND 的重复 IP 检测。RFC 9721 区分三类:重复 MAC;同一 IP 绑定不同 MAC;以及纯路由 overlay 中不携带 MAC 的主机 IP。RFC 9136 提供 Route Type 5 的背景。
配置的移动次数与时间窗可以把地址判定为重复并冻结。这是面对不确定性的保护措施,不是攻击证明。迁移循环、同步失步、双重编排和伪造都可能表现成频繁换绑。
恢复先发生在主机侧:取消错误地址或工作负载。之后可以等待老化,也可以执行 unfreeze 或清表加速。Unfreeze 会发出更高序列。如果冲突主机仍在,它只会让争议用更大的数字重新开始;如果只修复一个全活 PE,同伴同步还可能把被清除的世代带回来。
可靠结案要连接四份回执:错误端点确已撤销;PE 操作范围正确;所有有权同伴收敛;双向数据包和应用事务恢复。序列增长不能代替任何一项。
让序列号可治理的十三份记录
完整移动档案至少回答:谁授权工作负载与地址变化;哪一个本地帧或邻居消息触发学习;父 MAC 序列如何变化;哪些子绑定继承;Peer-Sync-Local 从谁到达;比较了哪些远端宣告与撤回;相关软件是否支持扩展规则;最大值怎样派生;RIB、桥表、ARP/NDP、IP-VRF 和 FIB 如何变化;探测删除了什么;重复阈值与冻结范围是什么;谁批准解冻或清表;最终应用是否在预期工作负载上完成。
这些问题属于不同权威。编排器拥有意图,接入 PE 拥有本地观察,多归属组拥有共享世代,BGP 负责传播,FIB 负责执行,应用负责结果。把它们折叠为“fabric 已收敛”,只会让上游记录借走下游证明力。
Lu Heng 的最小初始规范思想说明,共同线字段可以负责协调,不必负责身份与结果。现实分层要求宣告、选路、转发和业务互不冒充。运行代码优先则让同步表、主动探测、FIB 读取和真实数据包比整齐的路由记录更有分量。
RFC 9721 并没有让一个数字获得两种身份的全知能力。它用关系、同步和探测弥补数字的边界。领导层真正要保护的,不是计数器本身,而是计数器为何能代表这一世代的证据。
来源
- RFC 9721 正文
- RFC 9721 发布记录
- RFC 9721 IETF Datatracker 记录
- RFC 9721 文档历史
- RFC 9721 勘误
- RFC 7432:BGP MPLS-Based Ethernet VPN
- RFC 9135:Integrated Routing and Bridging in EVPN
- RFC 9161:EVPN 中的 Proxy ARP/ND
- RFC 9136:IP Prefix Advertisement in EVPN
- RFC 826:Address Resolution Protocol
- RFC 4861:IPv6 Neighbor Discovery
- Lu Heng:Running-Code Primacy
- Lu Heng:Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- Lu Heng: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
