首先应该明白,封装以太帧的位于OSI七层模型的第二层,也就是数据链路层,wireshark可以把完整的以太帧抓起来,我们可以清楚的看到。打开wireshark找到自己ip对应的网卡,点开,随便点一个协议,这里以UDP协议为例子,截图如下
上面:
Frame,
Ethernet II,
Internet Protocol Version 4,
User Datagram Protocol。
分别对应 :
1:以太帧总信息,
2:以太帧头部,
3:IP 数据包,
4:UDP数据包。
他们是有联系的,且看我在下面解释。
第一个解释,Frame 22: 71 bytes on wire (568 bits), 71 bytes captured (568 bits) on interface 0, 这句话的意思就是数据帧号码22,捕获了71字节。也就是568位(一字节等于八位),在interface 0上面,也就是在网卡0上面(一个机器可能有多个网卡)。需要注意的是,以太帧工作在数据链路层,在数据链路层有个MTU的概念,也就是最大传输单元,其实就是下图的Data部分,范围一般为46-1500字节,注意不是以太帧的总长度。任何一个以太帧都不能超过MTU设置的字节数(一般为1500字节,不包括帧头的14字节(6+6+2)与帧尾的4字节),如果超过了,比如IP数据报太大了,就需要对IP数据报进行分片处理。让一个IP数据报分片成为关联的多个IP数据报。当然,以太帧也有最小字节数限制,为64(46+14+4),能看到的只有60个字节。因为最后四个字节是FCS (frame check sequence 帧校验序列)。
第二个解释,以太帧的包头,在讲解以太帧的时候,先说说以太帧有两种格式。,第一种格式为Ethernet II帧格式,也就是wireshark抓包最容易看到的。第二种为IEEE802.3格式。常用的就是第一种Ethernet II 格式。下面我们