第2章 链路层

2.1 引言

链路层主要有三个目的:

  1. 为IP模块发送和接收IP数据报
  2. 为ARP模块发送ARP请求和接收ARP应答
  3. 为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缺陷

  1. 无法动态协商IP地址
  2. 无类型字段
  3. 无检验和

2.5 压缩的SLIP(CSLIP)

  • RFC 1144定义
  • 将40字节首部压缩到3~5字节
  • 维持最多16个TCP连接

2.6 PPP:点对点协议

PPP组成部分

  1. 封装方法
  2. 链路控制协议(LCP)
  3. 网络控制协议(NCP)

PPP帧格式

  • 标志字符:0x7e
  • 地址:0xff
  • 控制:0x03
  • 协议:0x0021(IP)、0xc021(LCP)、0x8021(NCP)

PPP优点

  1. 支持多种协议
  2. 有CRC检验
  3. 动态IP协商
  4. 首部压缩
  5. LCP选项配置

2.7 环回接口

  • 地址:127.0.0.1(localhost)
  • A类网络号127
  • 数据报不出现于网络

2.8 最大传输单元(MTU)

网络MTU(字节)
超通道65535
16Mb/s令牌环17914
4Mb/s令牌环4464
FDDI4352
以太网1500
IEEE 802.3/802.21492
X.25576
点对点(低时延)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是重要概念。