转载地址:
关于MTU
MTU(最大传输单位)是网络设备传输的数据包的最大值。对于各种路由器,最佳MTU值通常是默认值。有时,更改MTU值可以提高设备的性能,这很容易做到,但是实际上,这样做通常会导致其他问题。除非发生以下情况,否则最好保持MTU不变:
当无法连接ISP或无法使用其他Internet服务时,其技术支持人员建议更改MTU值
使用×××时,遇到性能问题时可以考虑更改MTU。
为了提高网络的某些性能,使用了可以优化MTU值的应用程序,这会导致连接性和其他性能问题
当信息包发送到MTU值较小的设备时,它将被分解成几小段。从理论上讲,应该在Internet上所有可访问的计算机,交换机,路由器和所有设备上将MTU值设置为相同的大小。但是您无法控制Internet上的MTU值。实际上,局域网中最佳的MTU值取决于硬件,软件,无线接口等。
在一种情况下修改MTU大小可以使设备正常工作,但在其他方面则可能导致性能和连接性问题
当MTU值不同的设备相互通信时,信息包将被分为多个,以便可以将其传输到MTU值最小的设备上
WindowsXP自动设置MTU,换句话说,它可以优化各种应用程序的MTU整体性能。微软的文章解释了为什么使用Windows XP的宽带用户无法连接到ISP
一旦网络设备分解了一个信息包,该信息包就会一直分解直到到达目的地为止
各种应用中的最佳MTU值
设置MTU大小是一个反复试验的过程:从最大值1500开始,减小直到解决问题。使用以下值之一可以解决由MTU值引起的一些问题:
150 0.以太网数据包的最大值,也是默认值。这是没有PPPoE和×××网络连接的典型设置。这是各种路由器,网络适配器和交换机的默认设置
149 2. PPPoE的最佳价值
147 2.使用ping的最大值(大于此值的数据包将首先分解)
146 8. DHCP的最佳价值
143 0.×××和PPTP的最佳值
57 6.用于ISP拨号连接的标准值
下面给出了使用Ping命令测试宽带网络下最佳本地MTU值的方法。
测试思路如下:在广域网中,大小超出ISP要求的数据包将无法发送,路由器将自动对大小不符合要求的数据进行分包。根据本地MTU值的要求进行传输,因此我们可以通过将固定长度的数据包发送到Internet上的主机,并且不允许路由器更改其大小来检查数据包是否可以正常传输,如果如果数据包小于或等于ISP的MTU值,则传输可以正常进行;如果发送的数据包大于ISP使用的MTU值,则传输失败。通过这种方式,我们可以通过连续发送不同大小的数据包来最终获得ISP端的MTU大小,并且该数据加上28个字节。报头信息是我们需要的最终MTU值。
测试步骤如下:
1.拨号上网,然后打开“开始”菜单→“程序”→“附件”→“命令提示符”。
2.输入命令“ ping–l14xx–f”,在这里我们解释命令参数的含义:
* – l14xx参数:发送固定长度的数据包,14xx是要测试的数据包大小,如前所述,ADSL的MTU通常在1450和1492之间,并且该值每次在步骤中都会更改3.。在上式中,-l是L的小写字母(不是1)。
* – f参数:通知路由器,不能私下更改数据包大小。
*:Internet上的任何主机也可以使用其他主机名或IP地址。
3.查看反馈结果并判断ISP的MTU值。
1)首次发送测试包,包长为1500
如图1所示,它指示数据包太大,需要进行子打包。因此,可以判断值(150 0)大于ISP的MTU,并且应该减小数据包的大小。
2)第二次发送测试数据包,数据包长度为1490
如图2所示,数据包大小减小到1490,表明该数据包太大,因此判断该值(146 0)仍大于ISP的MTU,并且应该继续减少。
3)第三次发送测试数据包,数据包长度为1450
如图3所示,数据包的大小减小到1450,表明该数据包可以正常发送,因此可以判断ISP的MTU值在1450和1460之间。
4)第四次发送测试包,包长度为1472
如图4所示,数据包大小增加到1472,表明数据包太大,因此可以判断MTU值在1450和1472之间。
4.修改路由器的MTU值
上面获得的MTU值不能直接用于本地设置,因此应在此基础上添加28(数据包头的大小为28个字节),因此最终在WAN设置上将MTU大小更改为1480页面。
经过测试,通过修改路由器的MTU值,可以成功解决“可以访问QQ但无法打开网页”,“某些网站或链接无法打开”,“ MSN无法登录”的问题(请将MTU设置为148 0),“电子邮件无法发送附件”和其他问题。
免责声明:本文中的部分信息来自Internet,仅供读者参考。
在tplink上设置了MTU值:(以下摘录自TPLINK官方网站)
为什么不能打开某些网站?
由于可以打开某些网站,因此可以判断路由器处于正常工作状态,并且与外部网络的连接也正常。这种情况很可能是由错误的DNS服务器设置或自动获取引起的。例如,外部(而非本地)ISP提供的DNS服务器地址可能导致某些网站的域名解析失败,因此无法访问这些网站。
另一种可能性是MTU问题。请在路由器管理界面的MTU设置为1500(在PPPOE模式下)-网络参数-WAN端口设置(WAN端口设置中的PPPOE-高级设置选项),将其更改为149 2)至1400,以查看其工作原理。
如果在ubuntu下发生此问题,则无需修改路由器
sudo ifconfig ppp0 mtu 1400
尝试使用路由器访问Internet
sudo ifconfig eth0 mtu 1400
反正1400应该这么小.....
如何修改本机的MTU
修改方法如下:
在Windows平台上
1、运行regedit
2、打开:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ Interfaces
3、接口有多个子项目,每个子项目对应一个网卡。请如下选择网卡:
A。确定本机用于连接互联网的网卡或拨号连接IP,例如19 2. 16 8. 0. 19;
B。用鼠标单击“接口”上的子项,以查看键值列表中的IPAddress项;
C。如果IPAddress的密钥值与A中的IP相同,即19 2. 16 8. 0. 19,则此子项是您要查找的网卡。
4、输入此子项,在右侧窗口中单击鼠标右键,选择“新建”->“ DWORD值”,输入名称“ MTU”,然后按Enter。然后用鼠标双击“ MTU”,将弹出一个修改窗口,并填写MTU的值(通常为十进制148 0)。
请在填写之前将基数设置为十进制。设置后,您需要重新启动机器才能生效。
Windows 7(未测试XP,Vista)
1、以管理员权限运行cmd
2、使用netsh interface ipv4 show subinterfaces命令查看MTU和本地连接名称。
3、使用netsh接口ipv4设置子接口“连接名称” mtu = 300 store = persistent
(注意:此处的连接名称是与您使用上述命令看到的MTU值相对应的连接名称,并显示在右侧。)
附件:1、无需重新启动此方法。 2、如果是ipv6,请将上面的ipv4更改为ipv6
您可以在Linux下使用以下命令进行修改。拥有根特权。
ifconfig网卡的MTU值
例如ifconfig eth0 mtu 1460
MaxMTU是最大的TCP / IP传输单元。在TCP / IP协议中,要传输的数据被分成较小的组进行传输,每组的大小为576个字节。 Windows的默认字节是1500,这是以太网数据包标准。 ADSL使用的PPPoE略小于此值,通常为1492。并且某些网站使用的MaxMTU大于1492,因此某些网页可能无法访问。修改Windows的默认MaxMTU可以解决此问题。无论是PC上安装的PPPoE软件还是调制解调器内置的PPPoE软件,在使用中都可能会遇到此问题。如果在使用路由器时发生这种情况,请在防火墙配置=>基本设置中将MTU更改为手动,并将其设置为1492。
本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/tongxingongju/article-378082-1.html
……