CSMA/CD(Carrier Sense Multiple Access with Collision Detectio,载波侦听多路访问/冲突检测)
以太网(Ethernet):
使用了 CSMA/CD 的网络可以称为是以太网,它传输的是以太网帧。
用交换机组建的网络,也可以叫做以太网。
以太网帧的格式有:Ethernet V2 标准、IEEE 的 802.3 标准。
使用最多的是:Ethernet V2 标准。
为了能够检测正在发送的帧是否产生了冲突,以太网的帧至少要 64 字节。
用交换机组建的网络,已经支持全双工通信,不需要再使用 CSMA/CD,但它传输的帧依然是以太网帧。所以,用交换机组建的网络,依然可以叫做以太网。
1.Ethernet V2 帧
Ethernet V2 帧的格式:
l 首部:目标 MAC + 源 MAC + 网络类型
l 以太网帧:首部 + 数据 + FCS
l 数据的长度至少:64 - 6 - 6 - 2 - 4 = 46 字节
Ethernet V2 标准:
l 当数据部分的长度小于 46 字节时,数据链路层会在数据的后面加入一些字节填充。
l 接收端会将添加的字节去掉。
长度总结:
l 以太网帧的数据长度:46 ~ 1500 字节
46 字节 = 64 - 目标 MAC(6)- 源 MAC(6)- 类型(2)- FCS(4)。
以太网的 MTU 为 1500 个字节。
l 以太网帧的长度:64 ~ 1518 字节
为了能够检测正在发送的帧是否产生了冲突,以太网的帧至少要 64 字节。
1518 字节 = 目标 MAC(6)+ 源 MAC(6)+ 网络类型(2)+ FCS(4)+ MTU(1500)。
网卡
网卡工作在数据链路层和物理层。
网卡接收到一个帧,首先会进行差错校验,如果校验通过则接收,否则丢弃。
Wireshark 抓到的帧没有 FCS,因为它抓到的是差错校验通过的帧(帧尾的 FCS 会被硬件去掉)。
Wireshark 抓不到差错校验失败的帧。