winCE-不断进步

导航

[zz:author:dreamcat]基础知识:关于PING命令和MTU

MTU:最大传输单元。单位为字节。
常用的以太网的MTU为: 1500
PPPoE(ADSL) 的MTU 为: 1492
Dial-up(MODEM)的MTU: 576
如果你所使用的系统所设定的MTU过大,则会造成数据传输失败,过小的话则会导致传输效率下降,非常明显。所以WINDOWS当中默认的MTU就是以太网的MTU,即:1500。
我们可以使用WINDOWS的PING命令检查当前网络的MTU值。
假设我们的路由器IP地址为192.168.0.1。
使用命令:ping -f -l 1500 192.168.0.1
这里有两个参数 -f 和 -l。
-f Set Don't Fragment flag in packet. 在封包内设置不整理(不重组)标记。
-l size Send buffer size. 发送封包的大小。
我们会看到 “Packet needs to be fragmented but DF set.” 告诉我们封包需要重组。
原因就是封包过大。这里需要注意的是 MTU 定义的是封包的大小,但是我们在-l参数里设定的值是封包内容大小,需要加上28(封包头的大小)才是我们发出的封包大小。
1500-28=1472
所以需要修改命令为:ping -f -l 1472 192.168.0.1
这样才会得到正常的状态返回。大家可以自己修改不同的值看一下。

在使用ADSL的路由器上,外部网卡所设定的MTU就是1492,PING的值就应该是:
1492-28=1464
可惜我至今也不知道CL的BUSYBOX所使用的PING命令的选项,晚上去查。

posted on 2010-11-30 10:56  杰奎琳的小猫咪  阅读(870)  评论(0编辑  收藏  举报