LLC协议
IEEE 802.2标准定义了逻辑链路控制(LLC,Logical Link Control)协议,它是数据链路层的一部分,主要用于管理和控制局域网(LAN)中的数据传输。LLC层位于MAC(介质访问控制)子层之上,负责向网络层提供统一的接口,并屏蔽底层物理网络的差异。LLC协议的设计目标是为不同的网络协议(如IP、IPX等)提供通用的数据传输服务。
LLC协议的核心功能包括帧格式定义、流量控制、差错控制以及协议多路复用。LLC帧格式通常由三个主要字段组成:
1. **DSAP(Destination Service Access Point)**:表示目标服务访问点,用于标识接收方的上层协议。
2. **SSAP(Source Service Access Point)**:表示源服务访问点,用于标识发送方的上层协议。
3. **控制字段(Control Field)**:用于定义帧的类型(如信息帧、监督帧或无编号帧)以及相关的控制信息,例如序列号、确认号等。
LLC协议支持三种主要的帧类型:
- **信息帧(I帧)**:用于传输用户数据,并包含序列号和确认号,支持可靠的面向连接的数据传输。
- **监督帧(S帧)**:用于流量控制和差错控制,但不携带用户数据。
- **无编号帧(U帧)**:用于建立和释放连接,或执行其他控制功能,例如测试和诊断。
LLC协议通过这些机制实现了对数据链路层的抽象,使得上层协议可以独立于具体的物理网络技术进行通信。例如,在IEEE 802.3以太网中,LLC层可以与MAC子层结合使用,通过802.2 LLC头部封装IP数据报,从而实现与上层协议的交互。
此外,LLC协议还支持无连接和面向连接两种操作模式。在无连接模式下,数据帧直接发送而不需要建立连接;而在面向连接模式下,LLC协议会在数据传输前建立连接,并在传输结束后释放连接,以确保可靠的数据传输。
### LLC与Ethernet II的区别
LLC协议通常与IEEE 802.3标准一起使用,而Ethernet II则采用了一种更简单的帧格式。Ethernet II帧中没有LLC头部,而是直接使用类型字段(EtherType)来标识上层协议(如IPv4、ARP等)。相比之下,IEEE 802.3帧需要通过LLC头部来标识上层协议,因此在实际应用中,Ethernet II更为常见。
以下是一个典型的LLC帧封装示例(基于IEEE 802.3帧结构):
```plaintext
+----------------+----------------+----------------+----------------+----------------+
| 前导码(Preamble) | 目的MAC地址 | 源MAC地址 | 长度/类型字段 | 数据字段 |
+----------------+----------------+----------------+----------------+----------------+
| CRC校验字段 | DSAP | SSAP | 控制字段 | 上层协议数据 |
+----------------+----------------+----------------+----------------+----------------+
```
在实际网络中,LLC协议的使用频率有所下降,尤其是在现代以太网环境中,Ethernet II因其简洁性和高效性而被广泛采用。然而,在某些传统网络协议(如NetBIOS、IPX/SPX)中,LLC仍然发挥着重要作用。