第2章 链路层
2.1 引言
链路层主要有三个目的:
- 为IP模块发送和接收IP数据报
- 为ARP模块发送ARP请求和接收ARP应答
- 为RARP发送RARP请求和接收RARP应答
2.2 以太网和IEEE 802封装
以太网封装(RFC 894)
- 以太网类型字段:0x0800(IP)、0x0806(ARP)、0x8035(RARP)
- 帧长度:46~1500字节
IEEE 802.2/802.3封装(RFC 1042)
- 包含LLC和SNAP首部
- DSAP/SSAP = 0xaa
- 类型字段在SNAP中
2.3 尾部封装(Trailer Encapsulation)
- RFC 893定义
- 早期BSD系统在DEC VAX上的试验
- 已遭废弃,不推荐使用
2.4 SLIP:串行线路IP
SLIP帧格式
- 以0xc0(END)字符分隔
- 0xc0 → 0xdb 0xdc(转义)
- 0xdb → 0xdb 0xdd(转义)
SLIP缺陷
- 无法动态协商IP地址
- 无类型字段
- 无检验和
2.5 压缩的SLIP(CSLIP)
- RFC 1144定义
- 将40字节首部压缩到3~5字节
- 维持最多16个TCP连接
2.6 PPP:点对点协议
PPP组成部分
- 封装方法
- 链路控制协议(LCP)
- 网络控制协议(NCP)
PPP帧格式
- 标志字符:0x7e
- 地址:0xff
- 控制:0x03
- 协议:0x0021(IP)、0xc021(LCP)、0x8021(NCP)
PPP优点
- 支持多种协议
- 有CRC检验
- 动态IP协商
- 首部压缩
- LCP选项配置
2.7 环回接口
- 地址:127.0.0.1(localhost)
- A类网络号127
- 数据报不出现于网络
2.8 最大传输单元(MTU)
| 网络 | MTU(字节) |
|---|---|
| 超通道 | 65535 |
| 16Mb/s令牌环 | 17914 |
| 4Mb/s令牌环 | 4464 |
| FDDI | 4352 |
| 以太网 | 1500 |
| IEEE 802.3/802.2 | 1492 |
| X.25 | 576 |
| 点对点(低时延) | 296 |
2.9 路径MTU
- 路径中最小MTU
- 不一定对称
- RFC 1191定义了发现机制
2.10 串行线路吞吐量计算
- 9600b/s = 960字节/秒
- 1024字节分组 ≈ 1066ms
- 交互响应时间应 < 200ms
- CSLIP使1字节数据往返从85ms减至12.5ms
2.11 小结
链路层协议包括以太网、IEEE 802、SLIP、PPP和环回接口。MTU和路径MTU是重要概念。