摘要

  • RFC 1226 规定一帧 AX.25 封装进一个 IP 数据报,省略 HDLC 标志与零比特填充,保留 16 位 CRC-CCITT 帧校验序列,并使用 IP 协议号 93。
  • IP 数据报接替了外层起止边界;其中保存的是经选择的帧表示,而不是一次无线电链路活动的逐比特记录。
  • 看到协议号 93,只能在特定 IP 观测点证明相应字节存在,不能独自证明射频发射、台站身份、重组成功、交付或行动。

换了容器,边界的主人也换了

1991 年 5 月发布的 RFC 1226 很短。它描述一种实验性方法,把业余分组无线电链路层协议 AX.25 的帧装进 IP 包。RFC Editor 记录如今把它列为 Legacy 流;IETF Datatracker进一步说明,它不受 IETF 背书,在 IETF 标准流程中也没有正式地位。这里有一份表示规则,没有部署证明。

规则的骨架是一帧对应一个数据报,但“封装”不是复制链路上的每一个比特。HDLC 标志负责指出串行帧从哪里开始、到哪里结束;零比特填充负责避免数据内容意外出现与标志相同的模式。IP 数据报已经自带长度和边界,RFC 1226 因而把这两类外层标点拿掉。

被保留的是 16 位 CRC-CCITT 帧校验序列。规范说,除此以外,AX.25 帧不作改变地封装。准确理解这句话必须把例外也带上:链路定界机制没有进入 IP,校验值和其余帧字节进入了。

于是,一份 IP 抓包能显示封装选择之后的对象。它无法还原已省略的标志,也无法知道在哪些位置曾因 HDLC 规则插入零。它更不能证明天线发出过射频能量、接收机收到过信号、硬件接受过帧,或后来被点名的设备生成了那个 FCS。

校验值可以脱离它曾经校验的现场

RFC 1226 提到 FCS 通常由 HDLC 传输硬件生成,这容易让人把它当作物理链路留下的指纹。但在封装包里,FCS 首先只是一个被保留的数值。它可以来自已接收帧,也可以由软件重算、在尚未发射前预先生成,或连同其他字节一起复制。规范要求携带它,却没有认证它的生产者。

即使 FCS 与一串比特相符,它证明的也只是一次有限比较。它不识别持证操作员,不授权台站,不保证载荷描述真实,也不证明接收方使用了内容。台站记录、可信端点、无线电采集上下文、解封装日志与业务结果必须另行留证。

RFC 1226 明说没有讨论安全问题。协议号 93 也无法填补这块空白。IANA 协议号注册表至今把十进制 93 分配给 AX.25 Frames,并说明 IPv4 的 Protocol 字段用于识别下一层协议。注册号解决的是分派与避免冲突,不是身份、许可或真实性。

在入口是一件,在路径上可能是多件

RFC 1226 认为 AX.25 帧通常不会超过 330 字节,因此一般不必在 IP 层分片。但它同时为更大帧的实验保留了路径:使用标准 IP 分片与重组程序。

RFC 791 规定,当数据报需要经过包尺寸更小的网络时,可以发生分片;重组在目的端完成。RFC 1122 要求 Internet 主机支持重组。因此,封装入口的一帧一报,并不保证路径上的探针只看到一包。它可能只看到若干分片中的一个,目的端也可能因为缺片而永远得不到完整数据报。

构造、发出、分片、分片到达、重组、解封装、上交、解释和行动,是不同记录。“一帧一个数据报”只约束第一步,不能越权替后续步骤签收。

“未改变”必须连同例外一起保存

HDLC 对串行链路的定界负责。封装器对删除旧定界、保留 FCS 和组成 IP 载荷负责。IPv4 对外层分类、转发与可能的分片负责。目的主机对重组负责。上层消费者才对恢复出的帧作解释。

这张权责图正是 RFC 1226 留下的历史价值。所谓“其余部分不变”,从来不是无条件原样;它发生在两个明确排除项之后,也发生在一个新的观测层上。若历史记录抹掉这些条件,一份合规的隧道表示就会被误写成它从未承诺过的无线电现场证明。

来源