1. 标准概况与适用范围
CAN/CSA-ISO/IEC TR 11802-2-06 是加拿大标准协会(CSA)采纳的国际标准化组织/国际电工委员会技术报告,其对应国际文件为 ISO/IEC TR 11802-2:2005。该技术报告属于“信息技术 – 系统间电信和信息交换 – 局域网和城域网”系列,以技术报告形式提供了关于逻辑链路控制(LLC)子层协议数据单元(PDU)结构与编码的详细解释和补充指导。
本标准主要适用于以下场景:
- 网络设备制造商在实现 IEEE 802.2 LLC 协议时的参考;
- 协议分析工具对 LLC PDU 字段的解析与验证;
- 网络互操作性测试中 LLC 帧格式的一致性检查;
- 教育和培训场景中理解数据链路层子层协议。
技术报告的性质决定了它并非强制性标准,而是提供技术背景、历史沿革和最佳实践,帮助实施者正确理解 IEEE 802.2 标准中定义的 LLC PDU 结构。该报告特别澄清了控制字段编码、地址域使用以及不同类型 LLC 操作(类型 1、类型 2、类型 3)的 PDU 格式差异。
实用提示:虽然本文件以“TR(技术报告)”发布,但在加拿大 CSA 体系中已被列为正式采纳文件,在设计符合加拿大市场要求的网络产品时应将其视为权威技术参考。
2. 主要技术内容与要求
2.1 LLC PDU 通用结构
LLC PDU 封装在 MAC 帧的 LLC 数据域中。其基本结构由三个主要部分组成:目的服务访问点(DSAP)、源服务访问点(SSAP)和控制字段。控制字段的长度和含义取决于 LLC 操作类型。下表汇总了 LLC PDU 的通用格式:
| 字段 | 长度(字节) | 描述 |
|---|
| DSAP 地址 | 1 | 目的服务访问点,包含 7 位地址和 1 位地址类型标识(个体/组) |
| SSAP 地址 | 1 | 源服务访问点,包含 7 位地址和 1 位命令/响应标识 |
| 控制字段(类型 1) | 1 | 无编号帧(UI、XID、TEST 等)的控制信息 |
| 控制字段(类型 2) | 2 | 使用模 128 的编号信息帧(I)、监督帧(RR、RNR、REJ) |
| 控制字段(类型 3) | 1 | 确认式无连接服务(AC)的控制信息 |
| 信息域(可选) | 可变 | 高层协议数据(如 IP 报文) |
2.2 地址域编码细则
DSAP 和 SSAP 字段中各包含 7 位实际地址和 1 位标识位。DSAP 的第 1 位(最低有效位)为个体/组标识(I/G),用于指示目的地址是单个 SAP 还是组 SAP;SSAP 的第 1 位为命令/响应标识(C/R),用于区分帧是命令帧还是对命令的响应。标准中列举了常用的全局分配 SAP 值(例如 0x42 代表网桥实体、0xFE 代表全球 LLC 子网等)。
重要注意事项:实施时必须正确处理 I/G 和 C/R 位,否则可能导致地址识别错误或帧类型误判。许多协议分析器未正确展示这 1 位的含义,开发者应直接参考标准中的位序描述。
2.3 控制字段与 LLC 类型
技术报告详细说明了三种 LLC 操作类型的控制字段编码:
- 类型 1(无连接服务):使用无编号帧(UI、XID、TEST),控制字段为 1 字节,不包含序号。
- 类型 2(面向连接服务):使用编号帧,包含发送序号 N(S)、接收序号 N(R),控制字段为 2 字节,支持流控与差错恢复。
- 类型 3(确认式无连接服务):使用编号的确认帧,控制字段为 1 字节且包含序号,无需建立连接但提供确认。
报告还提供了控制字段各比特位的详细映射表,例如无编号帧中 M(修饰位)位的组合对应不同命令/响应(如 UI=0x03、XID=0xAF 等)。
3. 实施/应用要点
3.1 与 IEEE 802.2 的对应关系
CAN/CSA-ISO/IEC TR 11802-2-06 完全基于 IEEE 802.2-1998 及其后续修订。实施者应同时参考 IEEE 802.2 标准正文以获取正式的协议规范,而本技术报告则提供了解释性材料和历史上下文。例如,报告解释了为何 DSAP/SSAP 地址中的 I/G 和 C/R 位被放置在最低有效位而非最高有效位,这与高层地址格式的兼容性有关。
3.2 常见实施陷阱
- 控制字段长度解释错误:必须根据 LLC 类型动态确定控制字段是 1 字节还是 2 字节。许多实现错误地假设固定长度为 2 字节,导致类型 1 帧解析错误。
- DSAP/SSAP 零地址的歧义:地址 0x00 是全局空值,但协议规定 DSAP=0x00 时接收方应丢弃帧(除个别情况),需谨慎处理。
- SNAP 封装与 LLC 的协作:当 DSAP=SSAP=0xAA 时使用 SNAP 扩展,本技术报告也讨论了 SNAP 的产生背景和与原始 LLC 的差异。
标准实施的益处:正确遵循 LLC PDU 编码规则可以确保不同厂商设备在同一局域网中实现无连接和面向连接服务互操作,避免因帧格式歧义导致的通信失败。该报告同时为协议栈开发提供了完备的测试向量。
3.3 兼容性注意事项
由于历史原因,部分早期网络使用与 ISO/IEC TR 11802-2 略有不同的 LLC 编码变体(如某些专用网络中的“子网接入协议”)。实施时建议参考本报告附录中的兼容性矩阵,以处理与陈旧实现的交互。
安全关键要求:所有 LLC 实体必须能够正确解析至少类型 1 的 UI 帧,否则无法参与最基本的网络通信(如 ARP、DHCP)。在联合使用类型 2 时,必须实现窗口管理和计时器,防止死锁或数据丢失。
4. 与其他标准的关系
本技术报告是以下标准体系的重要组成部分:
- ISO/IEC 8802-2(即 IEEE 802.2):LLC 标准正文,本报告为其技术补充。
- ISO/IEC 8802-3(Ethernet)、ISO/IEC 8802-5(Token Ring)等 MAC 层标准:LLC PDU 作为 MAC 用户数据承载。
- ISO/IEC 10039(OSI 网络层服务定义):LLC 层为网络层提供服务访问点。
- IETF RFC 1042:规定在 IEEE 802 网络上传输 IP 报文时的 LLC/SNAP 封装,与本报告描述的 LLC 编码直接关联。
对于加拿大市场,CSA 采纳的本标准与加拿大其他通信安全标准(如 CSA TIL-09)共同构成了网络设备认证的技术依据。在互操作性测试中,通常使用本报告中的示例 PDU 编码来验证 LLC 处理逻辑。
问:CAN/CSA-ISO/IEC TR 11802-2-06 与 IEEE 802.2 有何区别?
答:该报告是对 IEEE 802.2 的技术解释和背景说明,不是独立规范。它提供了 IEEE 802.2 中 LLC PDU 结构的详细编码实例、设计原理和历史上下文,而 IEEE 802.2 则是正式的协议规范。因此在实施时,应两者同时参考。
问:LLC 类型 1、类型 2 和类型 3 在实际网络中如何选择?
答:类型 1(无连接)是最常用的,适用于不可靠但简单的场景(如以太网上的 IP 通信)。类型 2(面向连接)用于需要可靠服务和流控的场合(如 X.25 仿真),但复杂度和开销较高。类型 3(确认式无连接)在某些工业网络中用于提供确认但不建立连接。现代局域网几乎只使用类型 1,类型 2 和 3 已被更上层协议取代。
问:DSAP/SSAP 地址中的 I/G 位和 C/R 位是否应该被上层协议处理?
答:通常上层协议(如网络层)不关心这些位,因为它们是 LLC 子层内部使用的。但协议分析工具应当正确显示这些位,以便调试。在开发 LLC 实体时,必须按照标准正确设置和检测这些位,特别是命令/响应帧区分。
问:该标准是否适用于无线局域网(WLAN)?
答:是的,WLAN 的 MAC 层同样使用 LLC 封装,但通常通过 SNAP 扩展承载上层协议。技术报告中的 PDU 结构同样适用于 IEEE 802.11 MAC 帧中的 LLC 部分。无线标准中定义的 QoS 控制机制不改变 LLC PDU 格式。