数据包理论最大长度是2^16 - 1 = 65535,这个是IP数据报的总长度
Ping包的长度 = IP数据报的总长度 - IP头部 - ICMP头
其中,IP头部是20~60,必须是4的整数倍,ICMP头是8字节
所以Ping包的最大长度应该是65535 - 20 - 8 = 65507
那么为什么把这个 7 字节也省略了?应该是操作系统做了限制(或者考虑分段偏移就是8的整数倍,就将这7个字节也省略了)
最后一个分片是由 65500 -(MTU - IP头部)*n + ICMP头 来决定的,一般MTU是1500,当然也可以修改为小于1500
所以最后一片的长度就是 小于(MTU - IP头部)的一个值,那只能是 388 字节了
从你的描述来看,默认的ping包正常,但带了65500的包就会有11%左右的丢包,应该和你所用的交换机、路由器或者你的服务器的响应能力有关了。也许你想通过大包来检验服务质量或者响应速度,但个人认为这不是绝对的,因为你采取的数据包有点大,一般的设备恐怕都会有点这样现象
丢包的可能性来自:
服务器响应能力,这就要去找你服务器的硬件【网卡,交换机响应速度】以及软件等的响应速度;
你所用的交换机或路由器响应策略或者服务器策略对这种大数据包的响应:当你数据包大到一定量时,为了优先保证服务质量,服务器对icmp的回应降低响应要求,从这方面说,这样的测试结果说明不了什么。
以上仅是个人心得,仅供参考。
服务器端是80,但是这个是可以设置的。而客户端在访问服务器端时所使用的端口并不是80.而是随机的。这个基本没有人会去设置或强制为某端口,因为没有必要。 请告知我您的具体问题。我会后续查看!服务器端是80,但是这个是可以设置的。而客户端在访问服务器端时所使用的端口并不是80.而是随机的。这个基本没有人会去设置或强制为某端口,因为没有必要。 请告知我您的具体问题。我会后续查看!
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)