实验六网络层分片实验
【实验目的】
1、理解IP分片过程;
2、掌握IP分片是数据报头的变化;
【实验学时】
1学时
【实验环境】
图 3-39 实验拓扑图【实验内容】
1、掌握IP数据包分片过程。
2、掌握IP分片报头格式。
3、掌握三层交换机配置MTU方法。
【实验流程】
图 3-40 实验流程图
【实验原理】
每一个数据链路层都会有自己的帧格式,在这个格式中有一个字段是“数据字段最大长度”,当数据包封装成帧时,要求数据包的总长度必须小于这个数据字段的最大长度,这个数据字段最大长度也称为MTU,不同的数据链路层协议均有其不同的MTU值,以太网的MTU值为1500,这意味着,当我们的网络是基于以太网时,IP报文的总长度不可以超过1500字节。但是IP数据包定义的最大长度为65535,这和数据链路层的MTU值是一个矛盾,当IP数据包封装总长度超过数据链路层MTU值时,就需要对IP包进行分片。当数据被分片时,每一个数据包都有自己的报头,并且,当分片后的IP包遇到具有更小的MTU 的网络,它需要继续分片以穿过这样的网络,当然,不管如何分片,数据包在到达目的端后可以根据报头中的信息,对数据包进行重组。
分片后的数据包之所以在到达目的端后能够进行重组,主要得益于IP报头中的3个与分片重组有关的三个字段。
z标志:标志字段长度为16比特,这16比特标志位用于标识从源主机发出的数据包,在源主机有一个计数器,当IP协议发送数据包时,将计数器中的数字复制到
标识字段中,并把这个计数器的值加1,如此循环往复,从而能够保证每个IP包
都具有唯一的标识数,当一个IP包需要进行分片时,就将此标识字段的值复制到
所有的分片中,所以,从一个IP包得到的所有分片都具有相同的标志字段。而目
的端则知道具有相同标识字段的IP包需要进行重组。
z标识:长度为3比特,第一个比特保留待以后使用,第二位为不分片位,当此值为1时,表示此数据包不可被分片,如果不分片无法经物理网络进行转发,就丢弃数
据包,并向源主机发送ICMP差错报文,当此值为0时,侧在需要时将此数据包进
行分片,第三位是分片末位标识,如果此值为1,表示此分片后还有分片,若此值
为0,则表示这已是最后一个分片。
z分片偏移:长度为13比特,此字段表示分片在整个IP报中的相对位置,以8字节为度量单位,因为分片偏移字段只有13比特长度,能表示的最大数值为8191。
在目的端,根据标志、标识、分片偏移,可以很方便的将分片数据包进行重组。
【实验步骤】
步骤一:设定实验环境
1、配置主机IP地址。
2、按照实验拓扑连接网络拓扑。
3、配置端口镜像
S3750#
S3750#configure terminal
S3750(config)#monitor session 1 destination interface FastEthernet 0/24
S3750(config)#monitor session 1 source interface FastEthernet 0/1 – 10 both
步骤二:发送大包进行捕获分析
1、在PC1上用命令ping 172.16.1.253 –l 2000发送2000比特的大包到PC2。
2、在PC2上开启协议分析软件,捕获数据包并进行分析,如下图所示。
图 3-41 捕获数据包
从上图是从PC2上连续捕获到的两个报文。从报文可以可以看到其中以太网帧头部分均为相同源目的MAC地址,其他IP报头字段,除和分片有关的标识、标志、分段偏移以及校验和外,其他字段都相同。从协议分析仪中可以看到,捕获报文中:
z标识字段:191,标识字段用于和IP地址一起唯一标识一个IP包,因此,属于同一个IP包的分片具有相同的标识字段。
z标志:长度为3位,第一位保留为以后用,第二位为1时,表示此数据包不可分片,第二位为0时表示此数据包可以分片。第三位标志此分片是否为最后一个分片,为1时表示这个数据包不是最后的分片,如为0表示此数据包为最后的分片。所
以在第一个分片中,此位为1,在第二个分片即最后一个分片中,此位为0。
z分段偏移:长度为13位,表示这个分片在原数据包中的相对位置,在第一个数据片中的此字段为0,在第二个数据包中,此分片为B9,转化为10进制数字为185,表示的偏移位置是185*8=1480,表示第二个分片偏移量1480比特,即第一个分
片长度为1480比特。
在数据目的端,可以根据这三个字段对数据包进行重组。
【思考问题】
结合实验过程中的实验结果,回答下列问题:
1、在什么情况下会出现出现数据包分片?
2、数据包进行分片时,第一个数据包的大小是多少,和链路类型是什么关系?