【转】IP数据报分片与重组 下载本文

内容发布更新时间 : 2024/5/8 9:02:10星期一 下面是文章的全部内容请认真阅读。

【转】IP数据报分片与重组

【实验目的】 1、了解IP数据报分片与重组 2、了解IP数据报分片与重组的工作原理 【实验报告】 IP数据报有时又称IP分组、IP数据报、IP数据包、IP包,是TCP/IP协议的IP层(网络层)的数据传输的基本格式。 注——在OSI模型的七层结构中,每层传输的数据单元各有所不同: 在传输层传输的数据单元为段; 在网络层传输的数据单元为IP包; 在数据链路层传输的数据单元为帧; 在物理层传输的数据单元为比特流; IP数据报在互联网上传输的时候,它可能要跨越多个不同种类的异构网络。 而在IP层下面有各种各样的异构网络,即各种各样的数据链路层,每一种数据链路层都有其自己的特定帧格式,每一种帧格式所能容纳的数据量是不一样的。

每种网络都规定了一个帧最多能够容纳的数据量,这一限制称为最大传输单元(MTU,maximum transmission unit)。一个IP数据报的长度只有小于或等于一个网络的MTU,才能在这个网络中进行传输。

每种网络都规定了一个帧最多能够容纳的数据量,这一限制称为最大传送单元MTU(Maximum Transfer Unit)。作为一种高层网络数据,IP数据报最终也需要封装成

帧进行传输。当一个IP数据报封装成链路层的帧时,此数据报的总长度(即报头区加上数据部分)一定不能超过下层的数据链路层的MTU值,否则无法传输。 分片因此,我们需要对IP包进行分片,其中IP数据报的首部中,和IP数据包分片有关的字段为——总长度、标识、标志以及位偏移总长度——总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为2^16-1=65535字节。在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU(Maximum Transfer Unit)。当一个数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。 标识(identification)——占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。标志(flag)——占3位,但目前只有2位有意义。 ● 标志字段中的最低位记为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后

一个。● 标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。只有当DF=0时才允许分片。片偏移——占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。 ——在本实验中,一个长度为3800的IP数据包,被分成了3个包,因为在数据链路层的最大传输字段的长度为1420;——第一个IP数据包的首部表示分包的字段:总长度——第一个包的总长度为1420;片偏移表示这是第一个数据包 ——由此规则,一个长度过于长的IP数据包被分成三个IP数据包。 传输被分成三份的数据在网络中的传输都是独立的。 重组——

由于我们对数据包进行了分片,因此,我们还要对分开的数据包进行重组—— 目的主机收到所有分片后,对分片进行重新组装还原的过程叫做IP数据报重组。IP协议规定,只有最终的目的主机才可以对分片进行重组。目的主机接收到所有的数据包的分包之后,根据数据包首部中保存的信息,还原最初的数据包。这就是数据包的重组过程。 总结—— 本实验是对IP数据的分片和重组的进一步了解。通过本次试验,进一步加深了数据在网络中是如何传