关于ping命令中的长度参数的问题.doc_第1页
关于ping命令中的长度参数的问题.doc_第2页
关于ping命令中的长度参数的问题.doc_第3页
关于ping命令中的长度参数的问题.doc_第4页
关于ping命令中的长度参数的问题.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于ping命令中的长度参数的问题一Ping 命令参数-l所带的长度参数是什么?Windows xp默认的MTU=1500(字节),即允许发送不需要分段的最大IP单包字节数。但如果使用ping l data_length命令来ping大包的话,则其中的data_length指的是ICMP的数据长度,而不是IP包的数据长度。即data_length不等于MTU 。他们两者之间的关系为:data_length = MTU(典型值为1500)- IP头(20)- ICMP头(8)在MTU=1500的情况下:IP包的最大长度 = 20(IP头)+ IP包的数据长度 = 1500字节IP包数据的最大长度 = 8(ICMP头)+ 1472(ICMP的数据)=1480字节ICMP数据的最大长度(单IP包) = 1472 字节通过以上描述,我们搞清了网络接口的配置数据MTU和Ping命令中的数据包长度这2 个概念,即:MTU是网络接口发送单个IP包的最大字节数,典型值=1500。Ping命令中的data_length是ICMP的数据长度。例如(假设本端接口的MTU=1500,对端接口的MTU=1500):1. ping x.x.x.x这是一条不带-l参数的ping命令,网络接口以缺省的ICMP的数据长度(32字节或64字节)发送IP包(IP包长度=60或92)。2. ping x.x.x.x l 1472这是一条带-l参数的ping命令,由于1472 + 20(IP头)+ 8(ICMP头) 1500(MTU),所以IP包需要被分段发送(先发IP包长度=1500,后发IP包长度=1500-1472+20+8=56)。Ping 的第1 分段:Ping的第2 分段:Reply的第1分段:Reply的第2分段:4. ping x.x.x.x f l 3000 这是一条带-l参数的ping命令,由于3000 + 20(IP头)+ 8(ICMP头) 1500(MTU),所以IP包需要被分段发送,但由于本命令带了-f参数(不允许分段),故网络接口无法将此IP发送出去,ping命令执行失败。 二为什么小包能ping通而大包ping不通当总长度=N字节的IP包到达接收端接口时,如果接收端接口的MTUN的话,接收端将无法接收这个总长度=N的IP包,直接丢弃。发送端收不到任何响应消息,超时后自行发出告警:timeout。由此可知,网络上任何2个直连接口的MTU必须一致,否则必埋下隐患。所以有ping大包一说,其道理就是:如果两直连接口中,A接口的MTU=1500,B接口的MTU=1400,而ping命令缺省的数据长度字节数是32或64,即加上20(IP头)+ 8(ICMP头),也只有60或92。如果直接用命令ping ip(A或B),都不会发现任何问题,这只能证明两者在物理上没有问题;但如果用ping 大包(单包)的命令:ping ip(A或B) l 1472 则分别会有2种情况发生:1A ping B:B接口无法接收该IP包,丢弃,A接口无法得到reply的回应。操作者就会迷茫:为什么小包能ping 通,大包就不行?2. B ping A: 由于B接口的MTU=1400,则B接口要发送1500字节的IP包就要分段成2个IP包发送出去,A接口作为IP地址的目的地,将收到的2个IP包重组成1个1500字节的IP包作为ICMP的响应包(reply)发回给B接口,但由于B接口的MTU=1400,无法接收这个IP包,丢弃。这样一来,B接口就永远也等不到A接口的响应(实际上A接口已发出reply)。同样,操作者也会迷茫:为什么小包能ping 通,大包就不行?结论:当碰到小包能ping 通,大包ping不通的情况,首先要查看各相关接口的MTU配置。 三Ping 大包的意义本端接口把网络中间节点作为目的节点进行大包ping测试时,该中间节点将执行分段和重组的功能,这些功能在实际IP包的转发中并不需要,因为中间节点只需转发,不需要分段或重组。所以在这种情况下,ping大包不通也没有关系,只要小包能ping通就行。即ping 大包测试只对真正的目的节点才有意义(检查目的节点的重组功能),对中间节点无意义。但中间节点之间的网络协议的交互,是互以对方为目的节点的,这些接口就存在分段和重组的要求。当如果业务与管理的接口完全分开的话,前者ping大包无意义;后者ping 大包无意义。但如果接口合用,则ping 大包有意义。如果对所有节点的接口均用ping大包的方式进行测试,就能排除涉及MTU的隐患问题。结论:ping大包能排除网络设备和服务器接口的MTU配置问题和分段/重组问题。 四如何确定本端接口的实际MTU一般在接口配置数据上可查到。但要确认,还需在该接口用ping 对端_ip f l 1472(data_length) 的命令同直连对端接口进行测试,如果命令执行成功,则增大data_length的值;反之,则减少data_length的值。到达临界值时,该网络接口的MTU = data_length + 28。当然,在实际应用中,还与对端网络接口的MTU有关,这里仅提供一个思路。 五分段后的IP包的先后顺序通过抓包发现,1个原始IP包中的SDU被始发节点分段,最先发出的IP包是原始IP包中SDU的最后部分,也就是说,最后发出的IP包是原始IP包中SDU最先部分。分割的最小单位是8个字节。如果始发节点的SDU=1500字节,则第1个分段IP包的SDU=1480字节,第2个分段IP包=2000-1480=20+20/8的余数(4)=24个字节。即:第1个分段包

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论