




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MTU概念详解1. 概述在IP数据在网络上传输时,会涉及到MTU这个概念。MTU,即最大传输单元(Maximum Transport Unit),这是一个数据链路层的概念,指数据链路层对数据帧长度的限制。但是,MTU实际上限制的并非数据链路层数据帧的长度,而是数据链路层帧的载荷(Payload)部分的长度。以最常见的以太网为例,其帧格式如图 1所示,MTU限定的是数据部分的长度,根据RFC894(附后),对于以太网而言,MTU为1500 bytes,也即“数据(载荷)”部分的最大长度为1500 bytes。图 1 数据链路帧格式2. MTU详解由于IP数据报在由IP层交由数据链路层传输时,要将包括IP报头和IP数据的内容作为数据链路层的载荷封装在数据链路帧中。因此,MTU实际上是限制了IP层中IP数据报的总长度,当IP数据报的总长度超过MTU时,即需要分片,若IP数据报头中设置了“不可分片”,则该报文将被丢弃,并产生ICMP差错报告。图 2 IP数据报分片演示图 2演示了一个长度为2000的IP数据报在经过以太网传输时的分片情况,由于MTU限制为1500 bytes,在以太网中传输时将被拆分为两个分片,每个分片包含首部的长度不超过1500 bytes。3. 抓包分析在局域网中进行抓包,采用如下命令:C: ping -l 2000 10.137.135.191由于指定的数据长度超过了以太网MTU的限制,在传输中会发生分片。对第一个分片的抓包结果如图 3所示。通过IP协议部分可见,该IP数据报为一个分片,且不为第一分片(More Fragments位被设置),首部长度20 bytes,总长1500 bytes。这里发现抓包得到数据链路帧的长度为1514 bytes,而非如图 1所示的1526 bytes。分析其原因:数据帧在到达物理网卡时,首先要去掉前导同步码和帧开始定界符,然后对帧进行CRC校验。只有CRC校验正确,才会将帧送到“设备驱动程序”进行进一步处理,此时抓包软件才能抓到数据,因此,Wireshark抓到的数据帧是去掉了前导同步码字段、帧开始定界符字段和帧校验和字段后的数据,因此抓包得到的数据帧总长为1514bytes。图 3 指定长度2000的数据报第一分片抓包结果进一步,对第二个分片进行分析,这个分片为ICMP包,其IP数据报长度为548 bytes,这其中包括原2000bytes的数据中剩余的520 bytes(上一分片传输了1480 bytes),加上分片的首部20bytes,以及ICMP的首部8bytes,因此该分片的IP数据层长度为20+8+520 = 548 bytes。该数据帧长度为548+14 = 562 bytes。图 4 指定长度2000的数据报第二分片抓包结果同样,我们还可通过抓包分析当IP数据报长度达不到最短帧长时的情况。采用如下命令:C: ping -l 0 10.137.135.191这里我们指定发送了一个长度为0的ICMP请求报文。首先分析由对端发回的reply报文,如图 5所示。图 5 指定长度0的数据报reply报文抓包结果可以看到,IP数据报的长度为28 bytes,包含了20 bytes IP首部和8 bytes ICMP协议首部,数据部分长度为0。由于数据部分长度达不到数据链路层数据帧的最小长度(46 bytes),数据层对数据进行了填充(图中Trailer部分),最后的抓包得到的总帧长为60 bytes(46 bytes数据和14 bytes数据链路帧首部)。图 6 指定长度0的数据报request报文抓包结果抓包得到的request报文如图 6所示。从图中可以看到,IP数据报长度和reply报文相同,同样为28 bytes,但是得到的帧长仅为42 bytes,达不到数据链路帧的最小长度。分析其原因,可以看到与图 5的差别是没有Trailer填充字段部分。这说明了两点:1)当IP数据报达不到数据链路层最小长度要求时,是由数据链路层进行填充的;2)Wireshark对本机发出的数据抓包的处理权优先于数据链路层对数据帧的处理。附:RFC894(已校对)IP 数据报通过以太网网络传输标准(A Standard for the Transmission of IP Datagrams over Ethernet Networks)1984年4月本RFC文档描述了在以太网2中封装IP数据进行传输1的一种标准方法。本RFC文档描述的是ARPA网络社区的一种标准协议。1介绍本文适用于速率为10MB/S,采用48位地址的以太网。文献3描述了IP数据报在一种速率3MB/S的试验以太网中传输的过程。2帧格式IP数据报通过标准的以太网帧传输,以太网帧的帧类型字节数值必须为十六进制的0800以表示它的类型。以太帧的数据部分包含了IP数据报的首部和数据部分。以太网帧数据字段要求的最小长度为46个字节,在必要时需要在数据字段以0进行填充,填充的部分不属于IP数据报的内容,不计入IP数据报的总长。以太网帧的数据字段的最大长度为1500个字节,因此,在以太网中传输的IP数据报的最大长度不能超过1500字节。在实现中,推荐尽量使用最大长度(1500字节)的数据包。网关的设计也要求必须能够处理最大长度的数据包,并且可将超长的数据包进行分片。如果一个系统不能处理最大长度的包,应该采取措施,要求发送方减小发送数据包的长度,例如使用TCP的最大段长度4。注意:在以太网上的数据报可能不再是一般Internet上默认的576字节的最大包长。一个以太网上的主机在向另一个以太网上的主机发送数据报时,应注意到这一点。比较合适的方法是发送一个较小的数据报以避免在中间的网关处被分片。在这一点上,请参考文献4以得到更多的信息。3地址映射32位的IP地址映射到48位的以太网地址有多种方式,可以使用静态对照表或采用动态解析。3.1 静态对照表 在一个局域网里可以为每一个主机制定一个以太网地址和IP地址对应的表格。3.2 动态解析32位的IP地址和48位的以太网地址之间的映射可以通过ARP5(地址解析协议)来实现。IP地址在一些Internet网络中被随意的分配。每一个主机必须知道自己的IP地址以及对应的以太网地址才能正常处理数据包。在必要时,需要使用ARP协议将IP地址解析为对应的以太网地址。3.3 广播地址Internet上的广播地址(主机地址为全1)映射为以太网广播地址(48位全1,即16位地址FF-FF-FFFF -FF-FF)。强烈推荐使用ARP协议进行动态解析。4追踪格式(Trailer Format)一些版本的Unix 4.2bsd为了在VAX虚拟内存结构下得到更好的性能,采用了一种不同的封装方式。在同一以太网中的兼容系统可能使用这种格式。一般主机不要求去实现这种格式。除非发送方能够肯定接受方可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2017正规租房合同范本
- 植物学奥赛题目及答案
- 人员培训与开发试题及答案(一)
- 人教版高一上学期语文期末考试试卷(含答案)
- 直营店招聘合同范本
- 法律咨询服务合同
- 俄语试卷题目及答案
- 健康保障考试试题题库及答案
- 2025年实验幼儿园教职工考核量化细则
- CN222960731U 环形跟踪上料站 (温州优匠工品科技有限公司)
- 小升初简历模板2020免费
- 19-雾在哪里ppt市公开课金奖市赛课一等奖课件
- 城镇道路工程施工与质量验收规范
- 金融统计分析教材课件
- 《社会主义核心价值观》优秀课件
- 经纬度基础知识
- 大学生团支书竞选PPT模板
- DDI定向井难度系数
- 河南省家庭经济困难学生认定申请表
- 电催化精品课件
- 踏虎凿花的探究 详细版课件
评论
0/150
提交评论