一、问题概述:
在我们的实际组网中经常遇到此类问题:
1) 某些网站浏览没有问题,而某些网站浏览非常慢甚至无法浏览。QQ等正常没有任何问题。
2) 无法下载大的文件。
3) EMAIL无法发大附件。
二、问题分析:
一般所来是由于路径MTU不匹配的缘故,特别是在经过了VPN链路的时候,譬如ADSL PPPOE拨号,L2TP,PPTP,IPSEC,GRE隧道等情况。下面就以GRE隧道为例来说明MTU的问题,其他隧道协议类似只是头部字节不同而已。
拓扑结构:
VPN网关1和2之间建立了一条GRE隧道,VPN1 VPN2的外网口均为以太网口,MTU为1500。PC与SERVER通过该GRE隧道互访。
分析过程:
PC在ping –f –l 1448 SERVER 的时候可以ping 通,而ping –f –l 1449 SERVER的时候却收到报文不可分片错误。
PC出来的IP报文长度为1448+8(ICMP)+20(IP),到达VPN网关1,VPN网关1发到GRE隧道口,封装GRE头(4),再加上
外层IP头,到达VPN网关外层以太口,这时IP报文的长度已经变为:1448+8+20+4+20=1500字节,刚好等于以太口的MTU,于是被顺利
传送。而ping
1449时,到达外层以太口为1501字节,超出了1500的MTU,又因为报文DF位被设置,于是就只能丢弃改报文,并返回DF错误。
上述实验中出现此结果是因为DF被置位,导致无法分片。但是如果DF没有置位则可以正常的通过但是会出现分片的现象。不过现在很多服务器譬如WEB为了提
高效率以及安全问题等所发出的包是不允许分片的。并且大多防火墙、IPS等设备,这些设备通常也是不允许分片通过的。因此就出现了有些网站无法浏览,大文
件无法传输的情况。
解决方法:
假设PC建立了到SERVER的HTTP连接,PC希望从SERVER下载一个大的网页。SERVER接收到PC的请求后开始发送大网页文件,其IP的
DF位置1,不允许分片,IP报文长度为1500字节。到达VPN网关2的外网口(以太)后,VPN网关2发现其长度超过了1500个字节,于是将其丢
弃,并给SERVER发回一个目的地址不可达的ICMP信息,同时指出“MTU of next hop:
1500”。PC接收到该消息后,又按照1500字节对外发送,又被丢弃,于是就形成了循环,无法通讯。
根据上述的分析,很容易得到如下解决方式,在VPN网关2的出接口设置MTU为1500-4-20=1476,这样VPN网关2返回ICMP不可达消息时
将给出”MTU of next hop:
1476”。SERVER将以1476作为自己的最大MTU对外发送,到达VPN网关1,封装GRE和外层IP头后就不会超过1500而顺利发到对端。这
个是下载问题的解决,如果要解决上传的问题,在相应方向的接口修改MTU即可。当然也可以修改TCPMSS,不过这个是影响到TCP的windows从而
减小了包的长度。另外修改操作系统的最大MTU值也是可行的,不过比较麻烦。
分享到:
相关推荐
当使用到udp传输数据时,出现丢包或绝大部分包都丢失,可能时网络链路上的mtu小于udp的数据负载长度,默认的mtu大小是(1472 = 1500-ip包头-udp包头)但有些服务器或路由器有些高级功能 mtu值小于1472.而且随路由...
于ROS中mss,mtu的问题 DMAC+SMAC+Type+Data+CRC
通信术语 最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 1、首先使用...
建议链路两端MTU值保持一致,避免影响OSPF、IS-IS等协议运行及报文转发。 1 接口MTU的设置 2 MPLS MTU的设置 3 配置L2VPN的MTU协商 4 配置Path MTU测试参数 5 配置POS接口的MTU 6 配置串口MTU 7 配置接口的MPLS MTU ...
路由MTU值对于网络通讯的影响,MTU(最大传输单元)
Windows下用于测试网络链路MTU的工具
安卓手机MTU修改方法
本应用说明描述了一个输出三相(正、负,共6相)的示例程序。...该设计的主要特点如下: 利用MTU3、MTU4和MTU4输出载波周期(100µs)的互补PWM波形死区时间(2µs) 每次按下SW2将PWM占空比切换到25%、50%和75%(反复)
最大传输单元用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。是包或帧的最大长度,一般以字节记。如果MTU过大,在碰到路由器时会被拒绝转发,因为它不能处理过大的包。如果太小,...
MTU值修改手册 CISCO MTU值修改手册
MTU值对T2000网管的影响,如果你在应用中遇到MTU值问题,可参阅
对mtu的详细解说对mtu的详细解说对mtu的详细解说对mtu的详细解说
windows 7 修改 tcp/ip mtu
MTU查询及自动设置,本机MTU查询及复位成1500,然后自动判断最合适的MTU并设置好,以提高网速。
关于path MTU RFC总结,RFC中文翻译
MTU值抓包详细分析举例说明 目的:通过发送长度大于1500的icmp包详细分析分片与总长度的关系 情景: ip地址为10.60.30.100/16的PC发送大小为2000的ICMP包至10.60.10.252/16,它们处于同一网段,即window命令提示符下输入...
如何设置MTU值
MTU是MaximumTransmissionUnit的缩写,是网络上传送的最大数据包。
学习mtu和mss很有帮助 在处理mtu和mss故障中找到的
改变自己的网卡MTU使得他与电信或网通的MTU一致,提高网速