那是因为你没有考虑到数据包包头,数据包包头是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_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces
(3)、Interfaces下有多个子项,每个子项对应一个网卡。
请按如下办法选择网卡:
(a)确定本机用来毗连Internet的网卡或拨号毗连的IP,如192。168。0。3;
(b)用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;
(c)若是IPAddress的键值与(a)中的IP不异,即192。
168。0。3,则该子项就是要找的网卡。
(4)、进入该子项,在右边的窗口里按鼠标右键,选择“新建”-“双字节值”,输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口,填入适宜的MTU的值。填写前请先把基数设为十进造。
设置好后,需要重启机器才气生效。