【TCP/IP】以太网帧格式

链路层的三个主要目的:
  1. 为IP模块发送和接收IP数据报。
  2. 为ARP模块发送ARP请求和接收ARP应答。
  3. 为RARP发送RARP请求和接收RARP应答。

链路层包含许多协议,以太网协议是当今TCP/IP采用的主要的局域网技术。 它的封装格式如下:


目的地址(6字节) + 源地址(6字节) + 类型(2字节) + 数据(46-1500字节) + CRC校验(4字节)

链路层对数据帧长度的限制,这个上限值称为最大传输单元(MTU)。在上图中,1500就是以太网的MTU,IP数据报大于这个MTU就需要分片传输了。

下面看几个实例,由于抓包工具Wireshark把CRC字段给过滤掉了,所以看不到这个字段。
TCP包(传输层):


UDP包(传输层):


ICMP包(网络层):


SSDP包(应用层):


ARP包(链路层):


链路层的地址都是以6字节的硬件地址,也就是MAC地址来表示的。由于数据字段要求最小长度为46字节,而ARP数据字段只有28字节,所有要在后面插入填充字节,也就是Padding后面的那些0。从上面这些不同协议的包可以看出,网络层和网络层之上的数据包统一归类到IP(0x0800)类型中,具体是那一层的数据则交由上层区分。

参考:
《TCP/IP详解》 P15-P16.

版权声明:本文为jy02326166原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。