【网络】IP分片与路径MTU发现

目录

MTU值

IP分片与重组

路径MTU发现

路径MTU发现原理


个人主页:东洛的克莱斯韦克-CSDN博客

相关文章:【网络】从零认识IPv4-CSDN博客

MTU值

由于物理层的硬件限制,为了使网络性能最优,在数据链路层会有一个MTU值,表示数据链路的最大传输单元。

而不同数据链路的MUT的值可能不同。如下表格

数据链路协议 MTU(字节) 总长度(字节,包含FCS)
Hyperchannel 65535 65535
IP over HIPPI 65280 65320
16Mbps IBM Token Ring 17914 17958
IP over ATM 9180 -
IEEE 802.4 Token Bus 8166 8191
IEEE 802.5 Token Ring 4464 4508
FDDI 4352 4500
以太网 1500 1518
PPP (Default) 1500 -
IEEE 802.3 Ethernet 1492 1518
PPPoE 1492 -
X.25 576 -

IP协议的统一性抹平了数据链路层的差异,如果上层交付给网络层(IP层)的数据包过大,就需要把数据包分开发送,这称为IP分片。

IP分片与重组

由于数据链路层的协议可能不同,数据包不止再本主机会被分片,也可能会被其他路由器再分片。被分片的一般都是UDP的数据包,UDP协议是面向数据报的,UDP向下交付数据时可能会很大。而TCP协议是面向连接和字节流的,在三次握手是就协商好了MTU值,向下交付的数据一般不需要IP层进行分片。

路径MTU发现

随着时代的变迁,计算机网络的物理传输速度不断上升。这些高速的链路,对路由器和计算机网络,提出了更高的要求。另一方面,随着人们对网络安全的要求提高,路由器需要做的其他处理也越来越多,如网络过滤等。因此是不希望由路由器进行IP数据包的分片处理的。

其次,在分片处理中,一旦某个分片丢失,则会造成整个IP数据报作废。为,了避免此类问题,TCP的初期设计还曾使用过更小的分片进行传输。其结果是,网路的利用率明显下降。为了应对以上问题,产生了一种新的技术"路径MTU发现"(PathMTUDis-,covery)。

所谓路径MTU(PathMTU)是指从发送端主机到接收端主机之间不需,要分片时最大MTU的大小。即路径中存在的所有数据链路中最小的MTU。而路径MTU发现从发送主机按照路径MTU的大小将数据报分片后进行发送。进行路径MTU发现,就可以避免在中途的路由器上进行分片处理,也可以在TCP中发送更大的包。现在,很多操作系统都已经实现了路径MTU发现的功能。

路径MTU发现原理

首先在发送端主机发送IP数据报时将其首部的分片禁止标志位设置为1(IP层报头的标志位)。根据这个标志位,途中的路由器即使遇到需要分片才能处理的大包,也不会去分片,而是将包丢弃。

随后,通过一个ICMP的不可达消息将数据链路上MTU的值给发送主机。,下一次,从发送给同一个目标主机的IP数据报获得ICMP所通知的MTU值以后,将它设置为当前MTU。发送主机根据这个MTU对数据报进行分片处理。如此反复,直到数据报被发送到目标主机为止没有再收到任ICMP,就认为最后一次ICMP所通知的MTU即是一个合适的MTU值。

那么,当MTU的值比较多时,,最少可以缓存约10分钟。在这10分钟内使用刚刚求得的MTU,但过了这10分钟以后则重新根据链路上的MTU做一次路径MTU发现。

相关推荐
沫璃染墨几秒前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
蓝祁子yoky1 小时前
Qt学习日记 Day13:网络编程(一)-TCP基础与Socket实战
网络·qt·学习
箓维1 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
小羊没烦恼!2 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
小Ti客栈2 小时前
Netty 零拷贝原理与实战
运维·服务器·网络
国科安芯2 小时前
商业光学遥感载荷焦平面供电链的低噪声稳压器研究综述——以国科安芯ASP7A84AS型3A低压差线性稳压器为器件级参照
大数据·网络·嵌入式硬件·平面·卫星·商业航天·抗辐射
静以修身zzz2 小时前
计算云服务
运维·网络·云计算
星恒随风2 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
万联WANFLOW3 小时前
异地组网速度忽快忽慢到底怎么回事?直连与中继的判断方法和处理步骤
运维·网络·网络协议·p2p
jimmyleeee3 小时前
Agent安全之六:(ASI06)记忆与上下文投毒——当 AI 把“昨天的错误”当成“今天的真理”
网络·人工智能·安全