mtu设置cisco
mtu设置cisco
朋友们知道怎么在cisco设置mtu吗?学习啦小编给打击整理了相关资料,需要的朋友可以参考下!
MTU是MaximumTransmissionUnit的缩写。
意思是网络上传送的最大数据包。MTU的单位是字节。大部分网络设备的MTU都是1500.如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。
如何检测网关的MTU?
在本机打开dos窗口,执行:
ping-f-l1452192.168.1.1
其中192.168.1.1是网关IP地址,1452是数据包的长度。请注意,上面的参数是"-l"(小写的L),而不是"-1".如果能ping通,表示数据包不需要拆包,可以通过网关发送出去。如果出现:
PacketneedstobefragmentedbutDFset.
PacketneedstobefragmentedbutDFset.
PacketneedstobefragmentedbutDFset.
PacketneedstobefragmentedbutDFset.
表示数据包需要拆开来发送。此时,减少数据包长度,再执行上面的ping命令。从1400到1472之间多试几次,就能找到合适的数据包长度了。把数据包长度加上数据包头28字节,就得到MTU的值。如果检测到网关的MTU值是1500,不需要修改。如果网关有防火墙ping不通,可以试试直接把MTU设为1400.
C:\DocumentsandSettings\Administrator>ping-f-l1452192.168.1.1
Pinging192.168.1.1with1452bytesofdata:
Replyfrom192.168.1.1:bytes=1452time=5msTTL=64
Replyfrom192.168.1.1:bytes=1452time=5msTTL=64
Replyfrom192.168.1.1:bytes=1452time=5msTTL=64
Replyfrom192.168.1.1:bytes=1452time=1msTTL=64
结果出现了回应了!这表示这一个MTU值是可行的!不过,强烈建议找出可行的最大MTU值!这样一来,在设定的时候,才可以达到最佳的网速!
找出MTU值:利用上面这个方法找到的数值还不是MTU喔!由于一些封包上面的问题,上面这个值再加上28才是我们所需要的MTU值!所以,在上面的例子中,我们所需要的MTU值是1464+28=1492!
附注:设置为1452+28=1480后,还是会出现有些网站打不开、远程桌面无法通过域名登陆的问题(通过ip可以正常远程桌面登陆),而把MTU设置为1452后,反而这些问题都迎刃而解了,并且,此时,登陆zlbog后台正常、使用域名登陆远程桌面正常。
一般来讲,设计好本机的MTU值,可以解决部分网站打不开的情况,但是如果你的共享主机或路由器的MTU设置有问题,有时问题仍然存或,或者出现网速过慢的情况。合理的设置路由器与本机的MTU值,就可以完全解决上述问题,使上网速度达到最大化。
如何修改本机的MTU?修改方法如下:
(1)、运行regedit
(2)、浏览到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
(3)、Interfaces下有多个子项,每个子项对应一个网卡。
(4)、确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;
(5)、用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;
(6)、如果IPAddress的键值与(4)中的IP相同,即192.168.0.19,则该子项就是要找的网卡。
(7)、进入该子项,在右边的窗口里按鼠标右键,选择"新建"->"双字节值",输入名称"MTU",按回车。再用鼠标双击"MTU",弹出修改窗口:填入MTU的值。
填写前请先把基数设为十进制。设置好后,需要重启机器才能生效。
接口下,命令mtu是2层mtu,不包括帧头部时,最大为1500bytes,加上头部18byte,所以2层帧最小为64,最大为1518;
命令ip mtu是3层mtu值.
它包含了三层头部及所有载荷,根据下层为上层服务的,上层基于下层才能做进一步的扩展的原则,尽管IP MTU的变化范围很大(68-65535),但也不得不照顾以太网MTU的限制,说白了就是ip对以太网的妥协。
网络层IP协议会检查每个从上层协议下来的数据包的大小,并根据本机MTU的大小决定是否作“分片”处理。
下面以HTTP为例,说明为何产生此问题并如何解决。先看看HTTP为何无法像ICMP那样自动分片通讯。假设PC1/2建立了HTTP连接后,PC2希望从PC1下载一个大的网页。
PC2开始发送,其IP的DF位置1,不允许分片,IP报文长度为1500字节。到达网关1的外网口后,网关1发现其长度超过了1500个字节,于是将其丢弃,并给PC1发回一个目的地址不可达的ICMP信息,出错代码为”Fragmentation needed”,表示需要分片,但不允许分片,同时给出”MTU of next hop: 1500”。
PC1接收到该消息后,又按照1500字节对外发送,又被丢弃,于是就形成了循环,无法通讯。根据上述的分析,很容易得到如下解决方式,在网关1的出接口设置MTU为1500-4-20=1476,这样网关1返回ICMP不可达消息时将给出”MTU of next hop: 1476”。
PC2将以1476作为自己的最大MTU对外发送,到达网关1,封装GRE和外层IP头后就不会超过1500而顺利发到对端。这时仅解决了下载的问题,如果PC2需要将大文件上传到PC1,同样需要设置网关2的出接口MTU值小于1476。当然,还可以更改网关1的出接口的TCP MSS数值,将其更改为1500-4-20-20(TCP头)=1456字节,也可保证HTTP等TCP应用顺利通过。但该情况仅适用于TCP应用。上述解决方式同样适用于其他隧道技术,在L2TP、IPSEC等应用时可以相应的根据其包头数值设置MTU或MSS。
以上内容为关于mtu设置cisco的教程,希望大家喜欢。