分享

如何修改本机的MTU

 aaie_ 2012-11-14

如何检测网关的MTU

  在本机打开dos窗口,执行: ping -f -l 1472 192.168.0.1 其中192.168.0.1是网关IP地址,1472是数据包的长度。请注意,上面的参数是“-l”(小写的L),而不是“-1”。 如果能ping通,表示数据包不需要拆包,可以通过网关发送出去。 如果出现: Packet needs to be fragmented but DF set. 表示数据包需要拆开来发送。此时,减少数据包长度,再执行上面的ping命令。从1400到1472之间多试几次,就能找到合适的数据包长度了。把数据包长度加上数据包头28字节,就得到MTU的值。 如果检测到网关的MTU值是1500,不需要修改。 如果网关有防火墙ping不通,可以试试直接把MTU设为1400。

如何修改本机的MTU

  修改方法如下:   Windows平台下   1、运行regedit   2、打开:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces   3、Interfaces下有多个子项,每个子项对应一个网卡。请按如下方法选择网卡:   A、确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;   B、用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;   C、如果IPAddress的键值与A中的IP相同,即192.168.0.19,则该子项就是要找的网卡。   4、进入该子项,在右边的窗口里按鼠标右键,选择“新建”->“DWORD 值”,输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口,填入MTU的值(一般为十进制的1480)。   填写前请先把基数设为十进制。 设置好后,需要重启机器才能生效。   Windows 7(XP、Vista未实测)   1、使用管理员权限运行cmd   2、使用netsh interface ipv4 show subinterfaces命令看看MTU以及本地连接名称。   3、使用netsh interface ipv4 set subinterface "本地连接" mtu=1000 store=persistent   (注:这里的连接名是你使用上面命令看到的MTU值对应的这个连接名,他在右边显示。)   附:1、此方法不用重启;2、如是ipv6就将上面的ipv4改成ipv6   Linux下可使用如下命令修改 需要root权限   ifconfig 网卡 MTU值   如 ifconfig eth0 mtu 1460   MaxMTU是最大的TCP/IP传输单元,在TCP/IP协议中,将要传输的数据分成较小的组进行传输,每个组的大小为576字节。Windows默认的字节为1500,这是以太网的分组标准。ADSL使用的 PPPoE略小于这个数值,一般为1492。而某些网站采用的MaxMTU大于1492,所以,可能导致某些网页不能访问。修改Windows默认的MaxMTU可以解决这个问题。不论是 PC机上安装的PPPoE软件或者是内置在Modem的 PPPoE软件,在使用中都有可能遇到这个问题。 如果使用路由器出现此种情况, 请在 防火墙配置 => 基本设定 里, 将MTU改为手工, 设置为 1492 即可. 那如何确定路由器从ISP获得的 MTU 为 1500, 请见附件圈出的位置.   网络中一些常见链路层协议MTU的缺省数值如下:   FDDI协议4352字节   以太网(Ethernet)协议:1500字节   PPPoE(ADSL)协议:1492字节   X.25协议(Dial Up/Modem):576字节   Point-to-Point:4470字节   如果在IP层要传输一个数据报比链路层的MTU还大,那么IP层就会对这个数据报进行分片。一个数据报会被分为若干片,每个分片的大小都小于或者等于链路层的MTU值。当同一网络上的主机互相进行通信时,该网络的MTU对通信双方非常重要。但当主机间要通过很多网络才能通信时,对通信双方最重要的是通信路径中最小的MTU,因为在通信路径上不同网络的链路层MTU不同。通信路径中最小的MTU被称为路径MTU。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多