Link Layer
1. Introduction
TCP/IP protocol suite 中的 link layer 的目的是为 IP 模块发送和接收 IP datagrams。它也被用于携带几个其他的协议消息来帮助支持 IP,例如 ARP。TCP/IP 支持很多不同的 link layers,取决于使用的网络硬件类型:wired LANs 比如 Ethernet,wireless 网络比如 Wi-Fi (wireless LAN)。
大部分的链接层技术都有相关的协议格式,描述网络硬件携带的 PDUs 的构建。我们称链接层的 PDU 为 frame。frame 格式通常支持的变长 frame 大小范围是几字节到几千字节。范围的上界被称为 maximum transmission unit (MTU)。
2. Ethernet and the IEEE 802 LAN/MAN Standards
carrier sense, multiple access with collision detection (CSMA/CD),站 (e.g.,计算机) 首先寻找当前被发送到网络上的信号,当网络空闲时发送它自己的 frame。这就是协议的 “carrier sense”。如果其他站碰巧同时发送,由此产生重叠的电流信号,作为冲突被检测到。在这种情况下,每个站在重写尝试前都等待随机长度的时间。时间从均匀分布的概率中选取,随后每次检测到冲突,时间长度乘 2。最近,每个站要么成功发送,或在尝试一定次数后超时。使用 CSMA/CD,网络上任一时刻只有一个 frame 正在进行传输。
访问方法例如 CSMA/CD 更正式的叫法为 Meida Access Control (MAC) 协议。有很多类型的 MAC 协议,其中一些基于让每个站尝试单独使用网络 (基于竞争的协议比如 CSMA/CD),其他一些基于预先安排好的协调 (e.g.,为每个站的发送分配时间槽)。
2.2 The Ethernet Frame Fromat
- Preamble: 接收 interface 电路确定 frame 的到达时间,和编码位间的时间长度 (称为 clock recovery)。
- SFD: start frame delimiter
- DST: Destination,允许对单个站或多个站 (broadcast,multicast) 进行寻址。
- SRC: Source – “MAC address” “link-layer address” “802 address” “hardware address” “physical address”
- Length or Type:Type 指示 header 后跟随的数据类型,比如 IPv4,IPv6,ARP。基本的 Ethernet frame 大小为 1518 字节,但更新的标准拓展为 2000 字节。
- P/Q Tag:用于 virtual LANs 和 quality-of-service (QoS) 指示器的 tags。
- payload:Ethernet 的 payload area 总是 1500 字节,表示 Ethernet 的 MTU。
- FCS:frame check sequence,检验 frame 的完整性。(CRC)
Ethernet frame 最小为 64 字节,48 字节的 payload data。最大为 1518 字节,4 字节的 CRC 和 14 字节的 header。该值代表一种妥协:如果 frame 包含一个错误 (接收到一个不正确的 CRC),仅有 1.5 KB 需要重新传输以修复该问题。
2.3 802.1p/q: Virtual LANs and QoS Tagging
随着交换的 Ethernet 的发展,有可能在一个 Ethernet LAN 中互联站点中的所有计算机。这样做的优点是任何主机能直接与其他主机通讯,使用 IP 和其他网络层协议,几乎不需要管理员配置。另外,broadcast 和 mulitcast 流