1 / 8
文档名称:

实验四IP包的分片和重组.doc

格式:doc   大小:592KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验四IP包的分片和重组.doc

上传人:1017848967 2020/6/8 文件大小:592 KB

下载得到文件列表

实验四IP包的分片和重组.doc

相关文档

文档介绍

文档介绍:实验四IP包的分片和重组实验目的通过实验掌握IP数据包的分片和重组的方法。实验内容对一个较长的IP分组进行分片,然后再将所有的分片重新组装成一个IP分组。实验要求(1)从数据包文件如“”中读取分组,并输入一个整数值作为MTU。首先计算分组头校验和,判断分组接收是否正确,然后检查分组长度是否超过MTU。如果长度超过MTU,则检查DF位:若DF位为1,打印出错信息;否则对IP包进行分片,生成各分片的文件,如、等。(2)读取上一步得到的各分片文件,首先计算头校验,检查分片是否正确;然后将各个分片组装成一个完整的分组,并保存在一个数据包文件如“”中;比较与原始的的数据部分内容,以检验分组分片和重组是否成功。尝试不按顺序读入各个片段,验证重组程序是否仍然能够正确重组分组。实验提示(1)IP数据包的格式为:与数据报的分片与重组有关的字段是:总长度、标识、标志、分片偏移、TTL、16位首部校验和。总长度:总长度以字节为单位,指该IP数据报的总大小,包括首部的20字节以及实际的来自应用层的数据。判断一个数据包是否要进行分片,就是将收到的数据报的总长度与MTU进行比较。如果总长度大于MTU,就需要进行分片。标识:这个16位的字段标识从源主机发出的数据报。当数据报离开源主机时,这个标识与源IP地址唯一地定义了这个数据报。为了保证唯一性,IP协议使用了一个计数器来标识数据报。当IP协议发送数据报时,就把这个计数器的当前值复制到标识字段中,并把这个计数器的值加1。当数据报被分片时,标识字段的值就被复制到所有的分片中,即同一个数据报的所有分片具有相同的标识。这个标识主要是用于在分片组装的时候对每个分片属于哪个数据报进行判断。本次实验只考虑对同一个数据报进行分片,并把这些分片重新组装,因此不需要做这个判断,只要直接把标识拷贝到各分片中即可。标志:这是一个3位的字段,如下图所示:第一个比特保留为以后用;第二个比特是不分片(Donotfragment)位。若这个值是1,机器就不能把该数据报进行分片。若无法把这个数据报通过任何可用的物理网络进行转发,就丢弃这个数据报,并向源主机发送ICMP差错报文。若这个值为0,则在需要的时候可把这个数据报进行分片。第三个比特是还有分片(Morefragment),若这个值是1,则表示这个数据报不是最后的分片,这个分片后面还有更多的分片。若这个值是0,则表示这已是最后的或者是唯一的分片。分片偏移:这个13位的字段表示这个分片在整个数据报中的相对位置。是在原始数据报中的数据偏移量,以8字节为度量单位。这样做是因为分片偏移字段只有13bit长,它不能表示超过8191的字节数。而IP数据报最大的长度为65535字节,因此按8字节为单位可以用13位来表示更多的字节。把数据报进行分片的主机或路由器必须选择每个分片的长度,使得这个长度可以被8整除。如下图所示,一个具有4000字节的数据报,当MTU=1420字节的时候,被划分为3个分片,每个分片长度为1400字节,1400字节是可以被8整除的。为减少分片的数量,每个分片的长度应尽可能大。为用片偏移表示片段的起始位置,除最后一个分片外,其它分片的长度(数据部分,不包括IP头)应能被8整除。如MTU=505的时候,除去20字节IP头,可以传输的最大数据段长度为485字节,但可被8整除及不不超过485的最大整数为480