tcp/ip一





您的表格和总结基本正确,但为了更严谨,我稍作调整和补充说明: --- ### **以太网帧格式对比表** | 帧格式类型 | 目的地址 | 源地址 | 类型/长度 | 数据链路层头部扩展 | 有效载荷(数据) | 填充 | 校验和 | MTU | |-------------------------------------|---------|-------|-----------|-------------------------------|---------------------|--------------|--------|------| | **Ethernet II** | 6 | 6 | 2 (类型)1536 | 无 | 46–1500 | 0–46 | 4 | 1500 | | **IEEE 802.3(传统,长度字段)** | 6 | 6 | 2 (长度)1500 | 无 | 46–1500 | 0–46 | 4 | 1500 | | **IEEE 802.3 + 802.2 LLC** | 6 | 6 | 2 (长度)1500 | 3 (DSAP+SSAP+CTL) | 43–1497 | 0–43 | 4 | 1497 | | **IEEE 802.3 + 802.2 SNAP** | 6 | 6 | 2 (长度)1500 | 8 (LLC+SNAP: 3+5) | 38–1492 | 0–38 | 4 | 1492 | --- ### **关键修正与说明** 1. **字段单位** 所有字段值默认单位为字节(bytes),已省略“bytes”字样以提高可读性。 2. **IEEE 802.3 + 802.2 LLC** - **头部扩展**:DSAP(1)、SSAP(1)、CTL(1)共3字节,因此MTU减少为 `1500 - 3 = 1497`。 - **填充计算**:最小帧长为64字节,扣除18字节(目的/源地址+长度+校验和)和3字节LLC后,数据+填充需至少43字节。 3. **IEEE 802.3 + 802.2 SNAP** - **头部扩展**:LLC(3) + SNAP(5:OUI 3 + 类型2)共8字节,MTU为 `1500 - 8 = 1492`。 - **SNAP作用**:兼容Ethernet II类型字段(如0x0800置于SNAP尾部)。 4. **填充规则** 以太网要求最小帧长为64字节(不含前导码/SFD),因此: - 若“数据+扩展头部”不足46字节,需填充至46(例如Ethernet II的数据部分不足46时填充)。 5. **类型 vs 长度** - **Ethernet II**:类型字段(≥0x0600)标识上层协议。 - **IEEE 802.3**:长度字段(≤0x05DC)表示数据字段长度,需结合LLC/SNAP标识协议。 --- ### **常见协议标识示例** - **Ethernet II**: - 0x0800(IPv4)、0x86DD(IPv6)、0x0806(ARP)。 - **SNAP**: - OUI 0x000000 + 类型0x0800(IPv4)模拟Ethernet II。 --- ### **总结** 您的原始表格已涵盖核心内容,但调整后的版本更清晰地分离了“数据链路层扩展头部”与“有效载荷”,并补充了填充逻辑和协议标识细节。实际网络中,Ethernet II最为常见,而802.3+LLC/SNAP多用于特定场景(如令牌环兼容)。



以下是常见的以太网数据帧格式的详细结构(以 **Ethernet II** 和 **IEEE 802.3+LLC/SNAP** 为例),包含各字段的字节长度和功能说明:
---
### **1. Ethernet II 帧格式(最常用)**
```
┌─────────┬─────────┬─────────┬──────────────┬────────────┬────────────┐
│ 目的地址 │ 源地址 │ 类型 │ 数据 │ 填充 │ 校验和 │
│ (6字节) │ (6字节) │ (2字节) │ (46~1500字节)│ (0~46字节) │ (4字节) │
└─────────┴─────────┴─────────┴──────────────┴────────────┴────────────┘
```
- **字段说明**:
- **目的地址/源地址**:MAC地址(如 `00:1A:2B:3C:4D:5E`)。
- **类型(Type)**:标识上层协议(如 `0x0800`=IPv4,`0x86DD`=IPv6)。
- **数据(Payload)**:上层协议数据(如IP包),最小46字节(不足时填充)。
- **填充(Padding)**:保证帧长≥64字节(含14字节首部+4字节校验和)。
- **校验和(FCS)**:CRC校验,检测传输错误。
- **MTU**:1500字节(数据部分最大值)。
---
### **2. IEEE 802.3 + 802.2 LLC 帧格式**
```
┌─────────┬─────────┬─────────┬──────────────────┬──────────────┬────────────┬────────────┐
│ 目的地址 │ 源地址 │ 长度 │ LLC头部 │ 数据 │ 填充 │ 校验和 │
│ (6字节) │ (6字节) │ (2字节) │ (DSAP+SSAP+CTL) │ (43~1497字节)│ (0~43字节) │ (4字节) │
│ │ │ │ (3字节) │ │ │ │
└─────────┴─────────┴─────────┴──────────────────┴──────────────┴────────────┴────────────┘
```
- **字段说明**:
- **长度(Length)**:数据字段的字节数(≤1500)。
- **LLC头部**:
- DSAP(目标服务访问点,1字节)。
- SSAP(源服务访问点,1字节)。
- CTL(控制字段,1字节,通常为`0x03`表示无连接)。
- **MTU**:1497字节(因LLC头部占用3字节)。
---
### **3. IEEE 802.3 + 802.2 SNAP 帧格式**
```
┌─────────┬─────────┬─────────┬───────────────────────┬──────────────┬────────────┬────────────┐
│ 目的地址 │ 源地址 │ 长度 │ LLC+SNAP头部 │ 数据 │ 填充 │ 校验和 │
│ (6字节) │ (6字节) │ (2字节) │ (DSAP+SSAP+CTL+OUI+类型)│ (38~1492字节)│ (0~38字节) │ (4字节) │
│ │ │ │ (8字节) │ │ │ │
└─────────┴─────────┴─────────┴───────────────────────┴──────────────┴────────────┴────────────┘
```
- **SNAP扩展**:
- **OUI**(3字节):通常为`0x000000`表示以太网兼容。
- **类型**(2字节):同Ethernet II的类型字段(如`0x0800`=IPv4)。
- **MTU**:1492字节(因SNAP头部占用8字节)。
---
### **4. 数据帧示例(Ethernet II 携带IPv4数据)**
```
| 字段 | 值(十六进制) | 说明 |
|-------------|-------------------------------|--------------------------|
| 目的地址 | 00 1A 2B 3C 4D 5E | 目标MAC地址 |
| 源地址 | 00 0A 0B 0C 0D 0E | 源MAC地址 |
| 类型 | 08 00 | 0x0800表示IPv4协议 |
| 数据 | 45 00 00 1C ... (IP头部+数据) | IPv4数据包(总长≥46字节)|
| 填充 | 00...00(可选) | 保证帧长≥64字节 |
| 校验和 | 12 34 56 78 | CRC32校验值 |
```
---
### **关键规则**
1. **最小帧长**:64字节(含14字节首部+4字节FCS,数据+填充≥46字节)。
2. **最大帧长**:1518字节(含FCS),若带VLAN标签为1522字节。
3. **MTU差异**:因头部扩展(LLC/SNAP)导致有效数据区域减小。
实际网络中,**Ethernet II** 是主流格式,而802.3+LLC/SNAP多用于特定协议(如STP、IPX)。



链接的客户端个数


浙公网安备 33010602011771号