摘要

  • RFC 1220 要求 BNCP 先进入 Open,局域网流量才能在 PPP 链路上交换。Open 是协议许可的起点,不是远端局域网已收到数据的回执。
  • 远程桥接还受多项独立条件制约:MRU 是否容得下所支持的 MAC 帧、并行链路是否保序、两端能力选项是否一致、LAN ID 与生成树域是否匹配,以及接收端究竟采取了什么动作。
  • PPP 帧的 CRC 与可选的局域网 FCS 彼此独立。点到点一跳校验成功,并不能证明原始局域网帧的校验语义被保留,更不能证明最终交付。

Open 只回答“现在能不能开始”

RFC 1220 题为 Point-to-Point Protocol Extensions for Bridging,由 F. Baker 编辑,发表于 1991 年 4 月。RFC Editor 目录与 IETF Datatracker将其记录为 IETF 流的 Proposed Standard,并标明后来由 RFC 1638取代。目录记录证明文件身份与状态,不证明有哪一台桥实际部署过它。

文件要解决的是远程桥接:把相隔两地的局域网桥接设备放在一条或多条串行链路两端,让局域网帧经 PPP 传送。它沿用 RFC 1171 的 PPP 链路规程,并先假设两端已经同意使用该规程,也可能愿意把链路用于桥接。这里的“已经同意”是规格模型的前提,不是一次真实协商的记录。

随后才轮到 Bridge Network Control Protocol。BNCP 不能早于 LCP 的网络层协议配置阶段;BNCP 没有打开,局域网流量就不能交换。这是一个重要的顺序约束:数据不能抢在负责配置桥端的控制过程之前进入链路。

但 Open 的证据边界也正好到此为止。它说明状态机允许下一类流量出现,不说明哪一帧真的发送、转发表选中了哪个端口、远端端口是否转发、目标局域网是否发出该帧,也不说明应用收到了有效响应。

未被拒绝是一种协议假设,不是无限授权

RFC 1220 对透明桥接规定了一个很特别的判断:邻居收到 IEEE 802.1 BPDU 而没有用 PPP Protocol-Reject 回应,就假定该链路允许透明桥接。也就是说,在这个协议语境里,“没有拒绝”确实有一项有限含义。

它没有因此变成管理授权。这个沉默没有指出管理员是谁,没有证明两端配置一致,也没有证明生成树已经收敛或普通数据帧会被转发。网络管理者还可以故意把两个区域分成不同的生成树域;这时必须在两端都关闭 BPDU 交换,且桥在意外收到对端 BPDU 时要静默丢弃。

因此,外部观测到的沉默可能对应允许桥接、主动隔离、单向故障,或者只是正常时期没有反向事件。RFC 1220 强烈建议使用 Magic Number 环回检测和链路质量监测,理由正是生成树的日常流量主要从根向叶单向传播。反向没有报文,不能独自证明反向链路健康。

能力选项把分歧写出来,却未必阻止损失

BNCP 的选项涵盖 MAC 类型、tinygram 压缩、LAN Identification,以及令牌环的环号和桥号。MAC 类型公告描述接收端愿意接收和处理什么。若公告了部分类型,未列出的类型将被丢弃;若完全不公告,对端可以假定支持所有类型,但接收端仍会丢弃自己无法理解的帧。

Configure-Reject 暴露出更尖锐的情况。若 MAC 类型公告被拒绝,发送端仍可能继续转发该类型,而接收端已经说明自己会丢弃它。协议交换记录了不一致,却没有自动把不一致变成安全停机。

tinygram 压缩不是整条链路的单一布尔值。一端可以愿意解压,另一端不愿意;未协商就意味着不压缩。只记录“压缩已启用”会抹掉方向。

LAN ID 选项则是咨询性的,默认关闭。启用表示对端之后可能存在带标签的局域网,且对端准备处理;关闭表示这类流量在那里必然被丢弃。LAN ID 能限定一类协议社群,却不能证明它对应某个真实组织的授权边界,也不能证明正确的出口端口执行了规则。

打开的控制面仍可能容不下一帧

RFC 1220 要求协商后的 MRU 足以容纳所支持的 MAC 类型,因为桥接格式不提供分片和重组。连以太网帧都可能超过 PPP 默认的 1500 字节 MRU。于是 BNCP 完全可以处于 Open,而一帧在局域网看来合法的数据仍然装不进已配置的点到点路径。

多条并行链路还会引入次序问题。发送端必须判断被桥接的协议是否要求原始到达顺序;无法证明不需要时,就应当保序。为了吞吐量把同一会话分散到不同链路,可能破坏局域网协议默认拥有的顺序属性。

两种校验进一步说明层次不可合并。PPP CRC 保护点到点链路上的 PPP 帧;可选的 LAN FCS 表示起始站为局域网帧计算或看似计算出的结果。RFC 明确说两者彼此无关。若传入帧没有嵌入 FCS,桥在向局域网发出时可以让硬件重新生成。链路一跳完整、原始 LAN FCS 被保留、远端成功交付,是三条不同的结论。

格式字段不能替代事件证据

RFC 1220 的标志位可以说明帧声称带有 FCS、LAN ID、零填充压缩或链路尾部填充;MAC 类型可以告诉解析器如何理解后续字节。它们不能显示转发表是否命中、生成树端口是否处于转发状态,或者目的主机是否存在。

这组来源没有运营商配置、BNCP 抓包、MAC 表快照、端到端流量记录或应用日志。安全章节只说没有讨论安全问题。因此不能从规格推导出认证、组织授权、保密性、可回滚性、真实部署或服务结果。

BNCP Open 并不含糊。它准确证明桥接流量可以开始。只有在仪表盘把“可以开始”改写成“已经成功”时,证据才被越权使用。

来源