【网络】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发现。

相关推荐
心 一1 分钟前
Web安全基石:深入理解与防御越权问题
网络·安全·web安全
久绊A1 小时前
WhatWeb-网站安全扫描指纹识别
网络·whatweb·kail
天上的光1 小时前
计算机网络——协议
网络·网络协议
百渡ovO1 小时前
HTTP快速入门
网络·网络协议·http
To_再飞行2 小时前
K8s访问控制(二)
linux·网络·云原生·容器·kubernetes
bug攻城狮2 小时前
VMware 中 CentOS 7 设置静态 IP
tcp/ip·centos·php
DDC楼宇自控与IBMS集成系统解读2 小时前
IBMS智能化集成系统:构建建筑全场景协同管控中枢
大数据·网络·人工智能·能耗监测系统·ibms智能化集成系统·楼宇自控系统·智能照明系统
RUNNING123!4 小时前
eNSP华为无线网测试卷:AC+AP,旁挂+直连
运维·网络·华为
再坚持一下!!!4 小时前
5G专网、物联网、IP网络专业技术知识
网络·物联网·网络协议·5g·ip
国科安芯4 小时前
前沿探索:RISC-V 架构 MCU 在航天级辐射环境下的可靠性测试
网络·单片机·嵌入式硬件·fpga开发·硬件架构·risc-v