数据链路层
为同一链路的主机提供数据传输服务。数据链路层将网络层传下来的分组封装成帧。
封装成帧
数据链路层将网络层传下来的分组添加首部和尾部,用以标记帧的开始和结束。
主要协议
以太网协议
主要设备
交换机,集线器(被交换机代替)
差错检测
目前数据链路层广泛使用循环冗余检验CRC来检查差错比特流
MAC地址
MAC地址是链路层地址,长度为6个字节48位,用于唯一标识网络适配器(网卡)。一台主机有几个网卡就有几个MAC地址。MAC地址用来识别数据链路层相连的两个结点。
MAC地址和IP地址的区别
- IP地址:确定两台通信主机的起点和终点
- MAC地址:在起点和终点之间,确定同一链路中的两台主机。
ARP协议
ARP协议是根据IP地址来获取MAC地址的。首先通过广播的方式,发送到网段下的每一个主机,IP地址匹配的进行回应。
以太网的帧格式
- 目的地址:接受端的MAC地址
- 源地址:发送端的MAC地址
- 类型:上层协议的类型
- 数据:46—1500字节 也就是MTU
- CRC:检验和
MTU
不同的数据链路层对应的物理层对数据报的大小产生的约束。对于大于MTU的IP数据包要进行分片。对于UDP,分片后的IP数据报有一个丢失,则接收方会抛弃整个数据包。因此分片会导致丢失的概率增加。而对于TCP,在之前的三次握手中,通信双方会进行MSS协商,选择两者较小的MSS作为最终的MSS。