摘要

  • RFC 3033 为 Q.2941 Generic Identifier 与 Q.2957 User-to-user Signaling 分配互联网语义,使 ATM 呼叫控制能够区分会话标识、资源标识和携带的建立协议数据。
  • 正确的标识符只是协调输入;新 VC 是否成功、被叫端是否正确解释、IP 层是否收到通知并迁移会话,都需要各自的证据。

先把过程停在最容易误判的一帧:SETUP 消息已经带着源地址、目的地址、协议号和两个端口。接收端能够精确辨认会话。可是数据包仍可能留在路由器之间的默认 VC 上。新 VC 尚未建立,IP 层也没有发生任何可见变化。

RFC 3033 于 2001 年 1 月以 Proposed Standard 发布,题目几乎就是它的边界声明:为 Q.2941 Generic Identifier 与 Q.2957 User-to-user Signaling 分配信息字段和协议标识。它说这套分配是 ATM 上长期会话与 QoS 敏感会话不可缺少的框架,同时紧接着警告:本文可能并未给出能够实现互操作的完整协议;那是另一个文档的工作。

长会话示例包含多次状态跃迁

文档先让新会话复用路由器之间的默认 VC。路由器发现它可能持续较久,于是为它建立新 VC。RFC 3033 的措辞带有明确条件:只有新 VC 成功建立后,长期会话才被移过去。

被叫端还需要完成跨层协作。B-ISDN 信令实体必须判断来电对应某个互联网会话,并把这件事通知 IP 实体;真正移动会话的是 IP 层。标识符只是两层共同谈论的对象。它不会替路由器检测会话,不会创建虚电路,不会保证通知到达,更不会自动修改转发状态。

因此,“标识符已接收”“VC 已建立”“会话已迁移”“新路径已有真实流量”是四张不同回执。任何一项都不能用前一项代替。把它们压成一个成功位,会让控制消息获得本来不具备的执行权。

两种容器承担不同职责

Generic Identifier 用于在控制平面之间传递标识符。ATM 网络可以检查其内容,一个元素也可以装入多个有类型的标识符。UUS 则借控制平面传递用户数据;ATM 网络不检查其中的用户信息。两者的异常处理与互通规则并不相同。前者最长 63 字节,后者最长 133 字节。

规范所说的“透明传递”只是信令承载性质:没有编码规则错误的元素,可以依照相应规则穿过 ATM 网络。它不证明双方对数值理解一致,不验证发送者身份,也不表示请求的操作已经完成。一个字段可以完整到达,同时依然只是提议。

类型让字节获得有限而准确的含义

RFC 3033 把相关标准或应用值 0x03、0x04、0x05、0x06 分别给了 IPv4、ST2+、IPv6 与 MPLS;把标识类型 0x01 定义为 Session,0x02 定义为 Resource;另留一段给 IANA 分配,并把 0xFE 留给实验或组织专用。

IPv4 会话标识由 13 字节组成:源与目的 IPv4 地址、协议号、源端口和目的端口。IPv6 对应结构为 37 字节。两者都针对显式预留;若要表达通配关联,应采用新的标识类型。MPLS VCID 则是四字节 Resource。这些类型解决了“这串字节在命名会话还是资源”,却没有回答“资源是否已获得”。

多值场景也暴露了规范边界。RFC 3033 不规定多个标识符的顺序,不解释同类型标识符重复出现的语义,也不解释空 Generic Identifier 元素。若请求里的 SETUP 或 ADD PARTY 带了相应元素,CONNECT 或 ADD PARTY ACK 必须返回至少一个 Generic Identifier;被叫方却不必原样回送。该规则“使协商成为可能”,但详细协商过程并未定义。

不支持此元素的 ATM 网络还可能清除呼叫、丢弃元素或丢弃整条信令。编号分配能让幸存的值可解释,却不能强制所有中间网络保存它。

携带 RSVP 消息不等于得到预留

在 UUS 中,协议鉴别符 0x06 表示互联网协议或应用,随后 0x02 表示 RSVP 消息。RFC 3033 允许 Resv 随 SETUP、ResvConf 随 CONNECT、ResvErr 或 ResvTear 随 RELEASE 传递。这样,预留协议数据可以与 ATM 呼叫信令同行。

文档比较了两条路径。顺序方式先通过默认或特定 VC 传递建立协议,再依次完成 IP 会话与 ATM VC 的建立;同时方式把建立协议装进 B-ISDN 信令,使两项建立过程可以并行。后者可能简化准入控制与定时器,却至少无法覆盖 PVC 情形,因此两种方法都必须考虑。

消息与结果之间仍有距离。收到 RSVP Resv 不证明准入成功;看到 CONNECT 不证明每一层都安装了请求参数;VC 存在不证明流量已经使用它。预留决定、VC 状态、转发表、包计数和应用体验必须分别记录。

没有假装完成,反而保留了工程诚实

RFC 3033 把会话聚合、通配式标识、IPv6 流标签和流量类别列为开放问题。为未来 IANA 分配保留号码,是治理能力,不是未来值已经存在或被部署的证据。安全部分只说经网络验证或提供的主叫号码可以参与认证,并没有把会话标识提升为认证凭证或授权令牌。

今天回看,很容易把这篇文档只归入 ATM 的过往。更耐用的教训是:名字可以让多个系统对准同一对象,却不能让它们自动共享状态机、权限与结果。RFC 3033 先解决了“如何说清楚”,再诚实承认“如何完成”仍在别处。标识符能够协调现实,但不能代替现实。

来源

Lu Heng 并未撰写或认可 RFC 3033、相关 ITU-T 建议或上下文 RFC;本文只把其文章作为明确披露的分析视角。