请教MTU问题
发布网友
发布时间:2022-04-25 14:43
我来回答
共1个回答
热心网友
时间:2023-10-09 16:25
根据我个人理解,电脑上的mtu值一般不用修改,mtu值就行水管的管径
我遇到的问题是: 两个路由(或者交换机)连接的时候 次级要小于等于上一级的值,发送的是个最大值吧
这是因为你没有考虑到数据包包头,数据包包头是28字节。
把你测试出来的数据包长度1450减去包头28字节,就是1422了。
你设置的MTU参数1450包含了包头28字节,而测试数据1422没有包含包头28直接。因此出现这个问题。
参考资料:
如何检测网关的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?
修改方法如下:
(1)、运行regedit
(2)、浏览到: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
(3)、Interfaces下有多个子项,每个子项对应一个网卡。请按如下方法选择网卡:
(a)确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.3;
(b)用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;
(c)如果IPAddress的键值与(a)中的IP相同,即192.168.0.3,则该子项就是要找的网卡。
(4)、进入该子项,在右边的窗口里按鼠标右键,选择“新建”->“双字节值”,输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口,填入合适的MTU的值。填写前请先把基数设为十进制。设置好后,需要重启机器才能生效。