“MTU=最大传输单元 单位:字节”网络
咱们在使用互联网时进行的各类网络操做,都是经过一个又一个“数据包”传输来实现的。而MTU指定了网络中可传输数据包的最大尺寸,在咱们经常使用的以太网中,MTU是1500字节。超过此大小的数据包就会将多余的部分拆分再单独传输。code
在Windows系统中,默认MTU值也是1500字节,可是“不一样的接入方式、不一样地区的网络运营商、不一样的路由器”有着不一样的MTU设置。blog
例如:ADSL接入时MTU为1492字节,假设A须要给B传输3000字节数据,若是整个传输过程当中各个环节的MTU都是1500,那么2个数据包就能够传输完成。但是恰恰这时ADSL接入方式的MTU是1492字节,数据包就由于这个MTU差别额外拆分为3个(为了便于理解,暂时不将“数据包报头”归入考虑范围)路由
显然这额外增长了须要传输的数据包数量,并且拆包组包的过程也浪费了时间。若是从本地到网络采用一致的MTU就能够避免额外拆包。cmd
探测合适的MTU值,在cmd中输入 百度
“ping -l 1472 -f www.baidu.com”
含义: ping:发起一个探测请求; -l(L的小写):限制探测包大小; 1472:包大小为1472字节; -f:禁止路由器拆分数据包 www.baidu.com:设百度为探测目标
探测包大小设置为1472,若是能正常返回,则证实MTU是1500,路由器
数据包大小须要加上28字节的“数据包报头”,才是完整的数据包尺寸互联网
若是出现须要拆分数据包可是设置 DF。或是Packer needs to be fragmented but DF set.的提示,那就说明数据包大小超过了网络限定的MTU大小。须要减少探测包大小再次尝试。fragment
减少能够按5或者3进行减少,当又返回时,在进行加一,尝试出具体的MTU值请求
因此这里尝试出的值时1464,所以路由器中设置MTU值为 1464+28 = 1492