数据链路层——最大传输单元MTU

1 数据链路层的以太网帧结构
以太网帧结构
以太网帧结构由四个字段组成,各字段含义为:
目的地址:该地址指的是MAC地址,指该数据要发送至哪里
源地址:MAC地址,填本地MAC地址,指该数据从哪里来
类型:值该数据要交给上层(网络层)的那个协议(IP协议,ARP协议…)
数据:要传输的数据,不过该数据有长度的要求,是在46–1500字节之间,该长度称为最大传输单元即MTU
若数据长度不够46字节,则需要填充内容;若数据长度超过1500字节,则需要分片传输。

2 MTU
形象理解传输中数据的长度限制
以寄送快递为例:
MTU解释
1500字节就是在传输过程中的最大传输单元,也称为MTU,是指在传输数据过程中允许报文的最大长度。

3 MTU对IP协议的影响
(1)IP报文在超过MTU后需要分片,接收端需要组装;
(2)一旦分片后的IP报文有一部分丢失,则接收端组装会失败,对于整个P报文而言相当于传输失败,而IP协议不会负责重新传输数据;
(3)由于MTU影响的IP报文的分片和组装会加大报文丢失的可能性;
(4)报文的分片和组装由IP层自己做,会加大传输的成本,降低性能。

4 MTU对UDP协议的影响
(1)UDP协议的报头为固定的20字节;
(2)若UDP数据的长度超过(1500-20)1480字节,则数据在网络层会分片;
(3)数据的分片会加大数据丢失的可能性。

5 MTU对TCP协议的影响
(1)TCP协议的报头长度为20–60字节;
(2)若TCP报文的总长度超过1500字节,则数据同样在网络层会分片;
(3)TCP单个数据报的最大长度称为最大段尺寸MSS;
(4)在TCP三次握手建立连接的时候,双方会商量传输中MSS的大小;
(5)与UDP相同的是,分片越多数据丢包的可能性越大,可靠性也就越差。

【总结】:我们可以发现由于MTU的存在,对于传输的报文长度有限制而导致的分片,会增加数据丢包的可能性,也会降低数据传输的性能;所以在网络中传输数据时尽量将数据的大小控制在不造成分片的最大长度。

猜你喜欢

转载自blog.csdn.net/weixin_39294633/article/details/81176666