1、本地 MTU 值大于网络 MTU 值时,本地传输的数据包过大导致网络会拆包后传输,不但 产生额外的数据包,而且消耗了“拆包、组包”的时间。2、本地 MTU 值小 于网络 MTU 值时,本地传输的数据包可以直接传输,但是未能完全利用网络 给予的数据包传输尺寸的上限值,传输能力未完全发挥。 这样我们就知道, 所谓合理的设置 MTU 值,就是让本地的 MTU 值与网络的 MTU 值一致,既 能完整发挥传输性能,又不让数据包拆分。 5. 5 接下来最重要的就是要找出对于你的网络环境来说 MTU 多少才是合理的。 方 法也是灰常简单:1.按 win+r 组合键呼叫运行菜单,输入 cmd 后回车 6. 6 2.在出现的“命令提示符”窗口中输入“ping -l 1472 -f 百度”然后回车这段 杂乱无章的东东是神马意思呢?接下来 Teamo 稍微解释下:ping:发起一个 探测请求; -l(L 的小写):限制探测包大小; 1472:包大小为 1472 字节; -f: 禁止路由器拆分数据包 百度:设百度为探测目标 7. 7 3.按下回车后,会出现两种返回结果: (1)、如果收到了回复,那么说明你的 网络允许最大 MTU 值就是 1500 字节,与系统默认值相同,只需要将路由器 的 MTU 值也设置为 1500 即可 8. 8 (2) 、如果出现需要拆分数据包但是设置 DF 。或是 Packer needs to be fragmented but DF set. 的提示,那就说明数据包大小超过了网络限定的 MTU 大小。需要减小探测包大小再次尝试。(为了截效果图,我将探测包改为 1473 了) 9. 9 4、按“上箭头”恢复刚才输入的命令,然后以 5 为跨度减小包大小为 1467 字节,再次回车探测。5、这时同样也有两种可能:(1)、如果有返回,说明数 据包小于 MTU 限制,就将包大小+3 再次探测,如果+3 之后没有返回,那就 以 1 为跨度降低数据包大小进行探测。(2)、如果还是没有返回,就继续以 5 为跨度减小包大小,直至有返回后进行 5(1)中的操作。6、直至你发现数据包 -1 后,有了返回,就说明你探测到了 MTU 允许的准确数据包大小。(例如从 1465 降低到 1464 就有了返回, 那么允许的数据包大小就是 1464)7、 不过上 面得到的值还不能设置为操作系统或路由器的 MTU,你找到的数据包大小需 要加上 28 字节的“数据包报头”,才是完整的数据包尺寸。(例如:探测到的 数据包大小是 1464,那么加上 28 字节,最终 MTU=1492 字节)8、最后, 只需要将路由器和操作系统中的 MTU 值设置为你得出的结果即可进入小极 后台,高级选项中的 MTU 设置中填入测得的数值即可。