数据包与数据帧大小.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运用  简单的说,你上网打开网页,这个简单的动作,就是你先发送数据包给网站,它接收到了之后,根据你发送的数据包的IP地址,返回给你网页的数据包,也就是说,网页的浏览,实际上就是数据包的交换。 1、数据链路层对 HYPERLINK "" \t "_blank" 数据帧的长度都有一个限制,也就是链路层所能承受的最大数据长度,这个值  称为最大传输单元,即 HYPERLINK "" \t "_blank" MTU。以 HYPERLINK "" \t "_blank" 以太网为例,这个值通常是1500字节。   2、对于IP数据包来讲,也有一个长度,在IP包头中,以16位来描述IP包的长度,也就是说,  一个IP包,最长可能是65535字节。 3、结合以上两个概念,第一个重要的结论就出来了,如果IP包的大小,超过了MTU值,那么就需要  分片,也就是把一个IP包分为多个,这个概念非常容易理解,一个载重5T的卡车,要拉10T的货,它    当然就得分几次来拉了。 HYPERLINK "" 编辑本段 辨析   4、IP分片是很多资料常讲的内容,但是我倒是觉得分不分片其实不重要,重要的是另一个东西。一个   数据包穿过一个大的网络,它其间会穿过多个网络,每个网络的MTU值是不同的。我们可以设想,如果  接受/发送端都是以太网,它们的MTU都是1500,我们假设发送的时候,数据包会以1500来封装,然而,   不幸的是,传输中有一段X.25网,它的MTU是576,这会发生什么呢?我想,这个才是我们所关心的。   当然,结论是显而易见的,这个数据包会被再次分片,咱开始用火车拉,到了半路,不通火车,只通汽车,  那一车货会被分为很多车……仅此而已,更重要的是,这种情况下,如果IP包被设置了“不允许分片标志”,那 会发生些什么呢?对,数据包将被丢弃,然后收到一份ICMP不可达差错,告诉你,需要分片!   这个网络中最小的MTU值,被称为路径MTU,我们应该有一种有效的手段,来发现这个值,最笨的方法或许是先   用traceroute查看所有节点,然后一个个ping……   HYPERLINK "" 编辑本段 举例   5、到了传输层,也会有一个最大值的限制,当然,对于只管发,其它都不管的UDP来说,不在我们讨论之列。这里 说的是TCP协议。说到大小,或许会让人想到TCP著名的滑动窗口的窗口大小,它跟收发两端的缓存有关,这里讨论   的是传输的最大数据包大小,所以,它也不在讨论之列。   TCP的选项字段中,有一个最大报文段长度(MSS),表示了TCP传往另一端的最大数据的长度,当一个连接立时,连接 的双方都要通告各自的MSS,也就是说,它说是与TCP的SYN标志在一起的。当然,对于传输来讲,总是希望MSS越大越好, 现在超载这么严重,谁家不希望多拉点货……但是,MSS总是有个限制的,也就是MTU-IP头长度-TCP头长度,对于以太网来讲  它通常是1500-20-20=1460,虽然总是希望它能很大(如1460),但是大多数BSD实现,它都是512的倍数,如1024……    6、回到分片上来,例如,在Win2000下执行如下命令:  "ping 192.168.0.1 -l 1473  按刚才的说法,1473+20(ip头)+8(icmp头)=1501,则好大于1500,它会被分片,但是,我们关心的是:   HYPERLINK "" 编辑本段 其他信息   这个数据包会被怎么样分法?    可以猜想,第一个包是   以太头+IP头+ICMP头+1427的数据;  那第二个分片包呢?   它可以是:   以太头+IP头+ICMP头+1个字节的数据    或者是:  以太头+IP头+1个字节的数据"(引号内的内容可否在进步不详细阐述,对于1473的数据如何被分为1427和1不是很清楚2010.01.15 13:50)   也就是省去ICMP头的封装,当然,IP头是不可以省的,否则怎么传输了……   事实上,TCP/IP协议采用的是后一种封装方式,这样,一次可以节约8个字节的空间。IP包头中,用了三个标志来描述一个分片包:   1、分片标志:如果一个包被分片了,被置于1,最后一个分片除外;——这样,对于接收端来讲,可以根据这个标志位做为重组的重    要依据之一;   2、分片偏移标志:光有一个标志位说明“自己是不是分片包”是不够的,偏移标志位说明了自己这个分片拉于原始数据报的什么位置,   很明显,这两个标志一结合,就很容易重组分片包了。 3、不允许分片标志:如果数据包强行设置了这个标志,那么在应该分片的时候,…… err,刚才已经

文档评论(0)

134****7338 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档