MTU原理及相关问题分析.docx

上传人:牧羊曲112 文档编号:4886714 上传时间:2023-05-21 格式:DOCX 页数:8 大小:270.64KB
返回 下载 相关 举报
MTU原理及相关问题分析.docx_第1页
第1页 / 共8页
MTU原理及相关问题分析.docx_第2页
第2页 / 共8页
MTU原理及相关问题分析.docx_第3页
第3页 / 共8页
MTU原理及相关问题分析.docx_第4页
第4页 / 共8页
MTU原理及相关问题分析.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《MTU原理及相关问题分析.docx》由会员分享,可在线阅读,更多相关《MTU原理及相关问题分析.docx(8页珍藏版)》请在三一办公上搜索。

1、MTU原理及相关问题分析2011 年 10 月 25 日 10:22 来源:C114中国通信网字号:t|t0人参与0条评论打印转发一、MTU的定义及相关概念:Mtu即最大传输单元,全称为Maximum Transmission Unit,是指通信协议的某一层上 面所能通过的最大数据包大小(以字节为单位)。由于定义的模糊性,在此也介绍几个相关 的名词,MRU、PMTU、MSS和JUMBO FRAME,供大家甄别。MRU即最大接收单元,全称为Maximum Receive Unit,与MTU相对,称为最大接收单元, 目前也没有权威的标准定义,但许多文章中有这个名词。一台主机或路由器的MTU与MRU

2、 可以不一致。PMTU,全称为 path maximum transmission unit,即路径 MTU,把一条 IP 路径上 MTU 的最小值称为PMTU,PMTU是个理想化的概念,但目前业界没有有效的手段来实现PMTU的发 现和更新。MSS是OSI参考模型中四层的一个概念,即最大分段长度,全称为TCP Maximum Segment Size,指TCP每次能够传输的最大数据分段长度(以字节为单位),MSS 一般比MTU小40 字节。Jumbo Frame(有些称Giant Frame),网络上会遇到jumbo frame的概念,cisco路由器 的接口中也有这个参数,超过以太网标准长度

3、1518字节的帧称为jumbo frame0二、MTU涉及主要原理:1、常见网络的MTU值:IP网络以包为单位进行信息传递,那么,一次传送多大的包合适、多大的包最高效就 成为一个核心问题之一。MTU就是决定在什么样的物理网络传送多大数据包大的事实标准, 不同类型网络由于物理特性、发展阶段不同,其MTU的默认值也不尽相同,以下是摘录的各 类网络及其默认MTU值:迦垣网MTU亘丰节垣论位提长玲最K生65535RFC 791Token Kingfl 6Mbpsj17914IEEE 802.4S166RFC 1042Token King(4XIbpsj4464RFC 1042FDDI4352三 che

4、nimi:1500IEEE 80231492X.25576PPP296理论最小16SKFC 791对于windows操作系统来讲,其以太网网卡MTU默认为1500,但可以通过修改工具或 修改注册表进行修改,但只能改小,不能改大,即只能修改为小于或等于1500字节。2、PMTU发现过程:对于一个基于网络的应用来讲,如果应用穿过网络的MTU与PMTU相等,那么应用穿过 网络的效率最高,或者说,应用通过主机网卡发出的最大数据包与PMTU越接近(指小于等于 PMTU),应用穿过网络的效率越高,原因是有效的避免了分片和重组。为了达到这个目的,一些操作系统支持自动发现路径MTU的功能,具体过程为:路由器接

5、口上收到一个报文长度大于本接口 MTU值的报文,如果该报文被打上不分片的 标记,将丢弃本报文,并且返回一个ICMP差错报文,通知报文发起者丢弃原因。报文发起 者将发送比较小的报文。通过多次上述报文协商,将得到对于某一个固定路径上的最小Mtu 值,这个过程叫做“ Mtu Discovery”详见RFC1191。了解了 MTU发现的原理,举一个实例验证PMTU变化过程:Ctuna unicaTictiCjQUii在上图所示实验网络中,由三层设备模拟PPPOE拨号,实现接入宽带IP网。三层设备 上行以太网口默认MTU为1482字节。抓包结果显示如下:修改三层设备上行口 MTU前PMTU情况也战盈n

6、f s、DLf的 VIZ-145I tit-r:iT tfIf虹h让 i. Mr? n* n 河 ta皿碰 tAw。10*1400知QiS - 2 2 a a- J a O 皿加?罚4 m uy ”做g,-.i皂!!.I. 11. Z . z:5 : L:.ll!. : ;. ll :. - S HTTTPMTU为I 440 (1 400净荷E0字节TCP头+20字节IP头)将三层设备上行以太网口默认MTU改为1000字节。抓包结果显示如下:修改三层设备上行口 MTU后PMT【情况流&中思i如 t t 1 I 1.1项您II电PEI 牝HU 71 t-SZ -LtSfl Ilmira dn r

7、riT 1 iV a i! e| T:,A港:&*1l?,H ALMAHMDD-Er G-LSESiAQiUMI皿.Duii nDuv iniLL-i.rUEHFlJil: 3blC Qm弱牯WlITIRT UAHEpm *Mn h mW ETTKITF %T,Tr说 If顽UZ5:4fi?D7门:LE2f-2 Hilf 1Hk Ji I M l-l !SlLiWettfth|.C14i bvs*i芨g_ 理:q女 子jl壁七.匚舶其壬以&学乏寻女召迎理 0死邸L卫迎!, 口巾”;!j :,i ,-i O. L II L;H*r - lvTTF t XEMli S1 HTTF i|PMTU为I

8、U。(960净荷十20字节TUP头+20字*IP头)3、“PMTU”发现存在的问题:由于互联网上路由器或其它网络设备的配置的无法统一规范,某些运营商或网站考虑到 网络安全和其它需要,有时会把ICMP报文过滤掉,此外,PMTU牵涉到主机、各类交换机、 路由器、防火墙等网络设备,这些主机和网络设备没有有效的手段实现PMTU的协商和交互, 这样Mtu Discovery不能正常运行,影响应用正常运行,即实质上目前没有有效的手段来发 现 PMTU。互联网上的网络设备,遇到MTU发现报文或必须将IP包分片但DF设置为1时,路由器 可采用以下任一种方式(从网上摘录):发送符合 RFC 792 中最初定义的

9、 “ICMP Destination Unreachable-Fragmentation Needed and DF Set消息,然后丢弃该包。原始消息格式中不包含有关转发失败的链路的IP MTU的信息。(导致PMTU无法正常发现)发送符合 RFC 1191 中重新定义的 “ICMP Destination Unreachable-Fragmentation Needed and DF Set消息,然后丢弃该包。此新消息格式包含一个MTU字段,可指出转发 失败的链路的IP MTU0(PMTU可能会正常发现)RFC 1191定义了路径MTU (PMTU)发现,它使得源和目的TCP对等方能够动态地

10、发现 二者之间路径的IP MTU,从而发现该路径的TCP MSS。一旦收到符合RFC 1191定义的 “Destination Unreachable-Fragmentation Needed and DF Set”消息,TCP 就会将该连 接的MSS调整为指定IP MTU减去TCP和IP报头的大小。这样,在该TCP连接上发送 的后续包就不会超过最大大小,无需分段即可在该路径上传输。直接丢弃包。直接丢弃需分段但DF标记设置为1的包的路由器称为PMTU黑洞路由 器。总之,PMTU的不可发现性,导致因MTU问题引起的应用系统无法正常运行情况时有发 生。4、超过MTU值的数据包分片、重组过程,:IP

11、包的格式如下:4 bits4 b i : E8 b i : s3 its1 3 bits4 bits 4 b i t e 8 b i :s 3 b i s 13 bitse r s i o nIHLType o fS e r i c eTotal LengthI d e n t ificatio:lagsFragment a t i o : OffsetTime I c- L i eProtocolHeader Chee ksumS o nr c e AddressDesuinat ion A ddressOptionsP a. d d i n gDataIP包的分片重组牵涉到IP包头的几个重

12、要字段,主要是标识符、标识位、偏移量,分 别详述如下:标识符(Identification):在发送数据包前,发送主机给每个数据包一个ID值,放 在16位的标识符字段中。此ID用于标识唯一的数据报或数据流。接收主机利用此ID对收 到的数据报进行重组。当分片的IP数据报从源地址发送到目的地址的时候,由于网络延迟 或者不同的传输路径的关系,在到达目的主机时,这些分片数据报并不总是有序的到达,而 是处于一种无序状态,因此,接收主机便用此ID判断接收的这些分片数据报是否属于同一 个数据流,然后再进行重组。标志(Flags):第一个bit称为R位,目前保留未用。第二个bit称为DF位,Dont Frag

13、ment,不分片”位,即如果将这一比特置1,表示上层应用不允许分片,IP层将不 对数据报进行分片。第三个bit称为MF位,More Fragment,更多的片”。除了最后一个 数据分片外,其他每个组成数据报的数据分片都要把该比特置1,表示有更多的分片。偏移量(Framentation offset): 13位的偏移量字段用来表示分段的数据报在整个数据 流中的位置,即相当于分片数据报的顺序号。发送主机对第一个数据报的偏移量置为0,而 后续的分片数据报的偏移量则以网络的MTU大小赋值。偏移量对于接收方进行数据重组的时 候,这是一个唯一依据。对于分片的数据段(单位:字节)必须为8的整数倍,否则IP无

14、法 表达其偏移量。了解了数据分片的几个关键字段后,我们找一个实例说明分片过程(从网上摘录):在MTU为1500的以太网中,源主机如果需要通过UDP传送3000字节的数据到目的主机, 这时的分段情况如下所示(假定在同一网段):此处需要注意的是对于分片1的报头,相对于其他两个分片的报头要多8个字节UDP 协议报头的开销。因此,在计算实际传输的数据净载荷时,分片1要多减去8字节UDP报头。 最后,接收主机通过包ID、标识位、偏移量值将数据重组成完整的数据。需要注意是,有些数据包在一次分片后,由于遇到更小MTU的网络,还可能被继续分片。 为数据包分片和为数据包再次分片的区别在于网关处理MF位的不同。在

15、一个网关为原来未 分片的数据包分片时,除了末尾的数据包片,它将其余所有分片上的MF位置为1,最后一 片为0。然而,当网关为一个非末尾的数据包片再次分片时,它会把生成的所有子分片中的 MF位全部调为1,因为所有这些子分片都不可能是整个数据包末尾的数据包。分片中标志字 段的M值取决于该分片是否是原始分组的最后一片,而片偏移量也是相对于原始分组的偏移 量。三、MTU对上层应用的影响:1、TCP、UDP等上层应用传输效率的高低与PMTU有密切联系。对TCP来讲,其传输效率与MSS的合适大小密切相关,而MTU是决定MSS大小的唯一因 素。MSS的大小会在TCP连接建立阶段进行协商,具体协商过程如下:TC

16、P client发出SYN报文,其中option选项填充的MSS字段一般为(MTU-IP头大小-TCP 头大小),同样TCP server收到SYN报文后,会发送SYN+ACK报文应答,option选项填充 的mss字段也为(MTU-IP头大小-TCP头大小);协商双方会比较SYN和SYN+ACK报文中MSS 字段大小,选择较小的MSS作为发送TCP分片的大小。理论上,如果MSS与合适的MTU即PMTU (我认为合适的PMTU为路径上可不分片通过的 最大MTU)匹配,TCP传输效率最高,因为免去了分片、重组等工作。但由于PMTU发现过程 无法保证,导致最终发现的MTU可能并不合适路径传输,造成

17、部分应用的分片和重组,降低 了传输效率。2、部分网络设备对特定应用的分片报文处理能力弱,造成部分应用故障。目前,国内宽带IP网络多数用户采用PPPOE拨号方式实现业务接入。位于电信运营商 内侧的BAS设备用于终结PPP连接,实现用户接入汇聚。实际应用中,部分BAS设备对VPDN 等特定应用的分片、重组机制不健全,造成部分基于VPDN方式的业务速度缓慢。如:笔者 曾发现过某厂商BAS设备ME60当TSU板未启用时,其于L2TP隧道的VPDN拨号应用,经常 出现业务访问缓慢,甚至不通的情况,当启用TSU板后,业务恢复正常(经了解,TSU板是 专门用于基于隧道或其它协议数据包分片处理功能)。某厂商设

18、备SE800,承载了基于L2TP 隧道的VPDN拨号应用后,部分应用可以使用,部分应用无法正常运行。3、部分网络安全设备对分片的重组过程进一步影响业务应用。原则上,当某个网络应用业务在传输过程中发生分片后,只有发送端和接收端会进行分 片的重组,这已经影响到业务运行速度。当分过片的IP包经过网络监测设备、安全系统等 设备时,基于安全和其它特定目的,有些设备要求完成数据包的分片和重组,会进一步延缓 应用的运行速度,甚至导致部分应用无法使用。四、MTU常见问题小结(摘录自网络):1、为何有些共享上网的路由器的网络设备以太网口 MTU值不是1500?有些通过共享路由器PPPOE拨号上网的路由器上连口(

19、与ADSL调制器互联的以太网口)MTU为1492,因为PPP报文占据了 8个字节,导致承载数据信息的IP报文大小变成了 1492。2、为什么在思科路由器上GRE接口的默认MTU为1476?因为GRE会重新封装一个IP包头,以及加上GRE的4字节头部,一共是24个字节。这 样总的用于应用的IP包的长度为1476。3、为什么支持VLAN标记的接口 MTU要大于1514字节?由于VLAN的原理是在以太网的帧头部加入了 4个字节的VLAN TAG信息,因此在支持 802.1q标记的链路的接口上要求MTU不小于1518字节,才能保证净荷为1500的数据包顺 利通过该接口。4、MTU和各种VPN的关系有无

20、规律性?因VPN的实现需要对原有的IP或者是TCP/UDP数据进行封装,因此也就增加了数据包 或数据帧的总长度,这样也就导致了 VPN承载的数据净荷值的减小,具体减少的数值与不 同的VPN类型相关。即:MTU= VPN封装后数据包长度-VPN封装包头长度5、对于因MTU问题引起的应用系统故障现象有哪些?处理思路是什么?因MTU引的网络问题表现各种各样,如:有些游戏,经常卡机。有的网站,部分网页可 以打开,部分网页打不开。总的来讲,如果网络不丢包,而网络应用时快时慢,或部分应用 无法使用,很大程度上可以定位为MTU问题。对于MTU引起的问题,处理思路为:要么增加网络中最细管道的MTU值,要么减少终端 应用发现的数据包大小。对于终端的MTU,会有各种各样的工具或方法进行修改。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号