摘要

  • RFC 2171 描述了一种由交换机把点到点 SONET/SDH 链路组织成多路访问网络的方案。节点继承所连交换机端口的标识;在交换机集群中,地址由交换机部分与端口部分组成。
  • 目的字段告诉交换机应把 HDLC 帧转向哪里。它不认证所连机器、机器所有者或运营组织;无效目的地址还可能被静默丢弃,不产生送达回执。
  • 这份 1997 年 6 月的备忘录属于 Informational,并非 IETF 工作组或标准轨成果。文中的可能拓扑和配套协议是设计说明,不是广泛部署或互操作性的证明。

拔动一根线,地址就换了根据

RFC 2171 最能揭示地址性质的一句话,并不谈光传输速度。它规定,接在交换机端口上的节点必须继承该端口的地址;在一台交换机之内,节点地址就等于端口标识。

这个选择解决的是转发问题。SONET/SDH 提供点到点光链路,MAPOS 把网络层数据报装进 HDLC 帧,再让帧交换机连接多条这样的链路。发送端在帧中填入目的地址,交换机据此选择输出端口,于是分离的点到点链路表现得像一个可广播、可组播的局域网。

RFC 2171 画出了三种可能配置:两节点直连、围绕一台帧交换机的星形结构,以及多台交换机相连的集群。在集群中,高位标识交换机,余下低位标识该交换机内的节点或端口。RFC 2173 的节点—交换机协议 说得更直接:HDLC 地址等同于节点所连接的交换机端口号。

“节点地址”很容易被理解成机器的持久名称。MAPOS 的数值却更像一条压缩的拓扑路径。接入点改变,转发事实就改变;机器、运营者和法律上的所有者并不因此发生同样的变化。

六个地址位只承诺局部可达

RFC 2171 的地址字段长八位。最低位表示地址字段结束;单播时最高位为零,因此中间只剩六位表示目的节点。全一为广播,0x01 留给交换机内部的控制处理器。帧内没有独立的源地址字段。

在单台交换机中,这些位选择端口;在集群中,同一小段字段还要分出交换机号和端口号。RFC 2174 描述了交换机如何提取目的交换机部分:若目的在本机,就使用地址中的本地端口;若在远端,就查询路由表寻找下一跳。

因此,唯一性有明确边界。一个值可以在某台交换机或某个已配置集群内唯一,却不是全球身份。RFC 2173 的直连特例尤其清楚:两个端点都可以取得 0x03,文档认为这没有问题,因为在点到点环境中用什么地址都不妨碍转发。一个能随拓扑变化而安全重复的编号,不是主机的内在身份令牌。

自动分配也不会改变这个结论。节点收到 SONET 信号后,可以向本地交换机控制处理器请求地址;五秒未收到回复就重试。节点每 30 秒必须重新核验地址,交换机在 90 秒未见请求或检测到信号故障时,可以认为节点已经掉线。这些报文维护的是局部接入状态,并不证明端口后面是哪家公司、哪位所有者,甚至不能单凭数值证明还是原来那台物理机器。

交换机作出选择,不等于主机收到帧

RFC 2171 的传输是无连接的。节点填入目的地址,把帧放进一个或多个 SONET/SDH 载荷并发送;交换机或交换机集群依据目的字段转发。地址无效时,帧被静默丢弃。

这条规则划出了证据边界。目的字段证明发送端要求交换结构选择哪里;路由表命中证明交换机找到了下一跳或本地端口。两者都不能独自证明目标主机收到了帧、上层协议接受了数据,或应用完成了预期工作。静默丢弃更不会给出正向回执。

MAPOS 上方的命名空间仍然分开。RFC 2176 要求用 ARP 缓存把 IPv4 地址映射到八位 HDLC 地址。必须建立映射本身就说明:IP 地址不是端口派生的 MAPOS 地址;缓存把二者关联起来,也不会把 MAPOS 值变成持久的主机身份。

MAPOS 的类 HDLC 成帧方式引用了 RFC 1662。这能解释帧格式沿革,却不能证明部署。RFC 2171 明言它只是一份 Informational 备忘录,不是 IETF 工作组或标准轨产物,也没有讨论安全问题。附录还列出 SONET、SDH 及具体实现之间可能造成互操作问题的差异。

这段历史留下的结论,比“光网络也有地址”更窄,也更有用:MAPOS 用一个短字段编码交换决策。这个字段足以转发,却只定位特定交换结构里的一个接入点;没有其他证据,就不应从中推导更多身份含义。

来源与边界

这些文件不能证明广泛部署、实测互操作性、经过认证的主机身份、所有权、端到端成功送达或当前运行状态。