MTU、IP MTU 与frame size的关系以及IP Packet分片.doc

MTU、IP MTU 与frame size的关系以及IP Packet分片.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MTU、IP MTU 与frame size的关系以及IP Packet分片

MTU、IP MTU 与frame size的关系以及IP Packet分片 Author:彭进 From: Published Time:2009-12-08 00:00:00.0 Reads:604 网络的通信过程为上层数据被一层一层封装后到达数据链路层,被封装成帧,然后在物理链路上被传输。通常我们说以太网的MTU为1500 bytes,MTU和Frame size的关系,应该分两种情况来理解。 一是:当数据没有被分片时; 二是:当数据被分片时; 下文将会以实验来验证这个结论。 为了研究frame size,我们先回忆一下帧的格式。 按不同链路的封装类型有多种帧格式。如以太网帧格式,串行链路帧格式……不同帧格式的帧头内容和大小不一。 下面以Cisco 的串行链路环境来说明。 Cisco串行链路默认封装方式为Cisco专有的HDLC(High-Level Data Link Control protocol)。格式如下: Address Control Protocol Code Information Frame Check Sequence (FCS) Flag 1 byte 1 byte ????????? 2 byte ???? MTU size 2 byte 1 byte 1、Address(1字节)字段用来表示该帧中包含的packet类型,0x0F表示unicast packet,0x8F表示broadcast? packet。 2、Control(1字节)字段一般设置为0x00。 3、Protocol Code(2字节)字段用来表示上层协议类型,0X0800表示IPv4。 4、Information(MTU size)即有效数据。 5、FCS(2字节)字段表示校验和。一般不需要。 6、Flag(1字节)字段用来标记帧。一般不需要。 所以,1字节Address+1字节Control+2字节Protocol Code = 4字节HDLC帧。 下图是默认情况下,即没有在serial接口上修改MTU的情况下,在CISCO路由器上使用命令 Router# ping size 100 后,在串行链路上抓到的数据:? ???????????????????????????????????????????????????????????????????????????? (图1) 我们来分析一下: 1处显示该帧的大小为104 bytes, 2处虽没显示HDLC头的大小信息,但我们之前已将Cisco HDLC分析过,大小为4bytes, 3处指IP头部20bytes 4处显示IP包共100bytes(含报头和数据) 5处显示ICMP用户数据大小72字节 6处为ICMP报头信息,大小为8bytes(ICMP报文格式这里不详细介绍)? 分析结果: data(72byte)+ICMP header(8bytes)+IP header(20bytes)+HDCL header(4bytes) = Frame size(104bytes) data(72byte)+ICMP header(8bytes)+IP header(20bytes) = IP?Packet(100bytes)? 也就是说 Frame size(104bytes)减去HDLC header(4bytes)刚好等于IP?Packet(100bytes)?。也刚好等于命令ping size 100中“100”。 所以,我们可以得到如下结论:ping 命令中指定size大小即为总共要发送的IP包大小。 ???????? 现在我们在serial接口上修改MTU大小为1000byte,用ping命令发送2000byte大小的IP包来试验。 命令: Router(config-if)#MTU 1000 Router#ping size 2000 同样在串行链路上用wireshark抓包得到如图数据: ???????????????????????????????????????????????????????????????????????????? (图2) 发现2000bytes的IP Packet被分片成3个小的帧来传输。 ????? 我们再来看看第83帧的内容: ???????????????????????????????????????????????????????????????????????????? (图3) ???? 从图3可以看出该帧大小为1000bytes,减去4bytes HDCL header和20 bytes IP Header剩下976bytes为用户数据。Flags:0x02显示该帧只有还有后续分片帧,偏移量Fragme

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档