片偏移:占 13比特,若有分段时,
用以指出该分段在数据报中的相对位置,也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以 8字节为偏移单位,
即每个分片的长度一定是 8字节
( 64位)的整数倍。
MTU的基本概念
MTU是 Maximum Transmission Unit的缩写。意思是网络上传送的最大数据包。 MTU的单位是字节。 大部分网络设备的 MTU都是 1500。如果本机的 MTU比网关的 MTU大,
大的数据包就会被拆开来传送,这样会产生很多数据包碎片,
增加丢包率,降低网络速度。把本机的 MTU设成比网关的
MTU小或相同,就可以减少丢包。
如何检测网关的 MTU?
在本机打开 dos窗口,执行,ping -f -l 1472192.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\CurrentCont
rolSet\Services\Tcpip\Parameters\Interfaces
Interfaces下有多个子项,每个子项对应一个网卡。请按如下方法选择网卡,( a) 确定本机用来连接 Internet的网卡或拨号连接的 IP,如 192.168.0.19; ( b) 用鼠标点击
Interfaces上的子项,查看键值列表中的 IPAddress项; ( c)
如果 IPAddress的键值与( a)中的 IP相同,即
192.168.0.19,则该子项就是要找的网卡。 ( d) 进入该子项,在右边的窗口里按鼠标右键,选择“新建” ->,双字节值”,输入名称,MTU”,按回车。再用鼠标双击
,MTU”,弹出修改窗口,填入 MTU的值。填写前请先把基数设为十进制。 设置好后,需要重启机器才能生效。