实验9MTU大小探测和IP分片机制测试【实验目的】1.理解MTU,并掌握所在网络的MTU大小;2.利用网络分析软件来抓取协议包,并掌握数据包分片的过程。【实验环境】WindowsXP,科来网络分析系统【相关概念】MTU(MaximumTransmissionUnit)最大传输单元,是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。因特网协议允许IP分片,这样就可以将数据报分成足够小的片段以通过那些最大传输单元小于该数据包原始大小的链路了。例如:当一个IP数据报封装成链路层的帧时,此IP数据报的总长度(即首部加上数据部分)一定不能超过数据链路层的MTU值。否则不能传输数据。【实验步骤及分析】1.使用ping命令测试当前网络的MTU大小;ping命令中参数“-f”代表“SetDon'tFragmentflaginpacket”,即禁止分片,利用此参数并配合不同大小的包,可以定位到MTU的大小。使用参数“-l”设置包大小,设置数据包大小为1000(-l1000),如图1所示:图1ping1000Byes数据包的过程说明:可以看出大小为1000Bytes的包在强制不分片的情况下可以送出的。再设置包大小为2000(-l2000),如图2所示:图2ping2000Bytes数据包的过程说明:由此图看出大小为2000Bytes的包在不分片的情况下不能通过网络,所以通过ping命令多次设置数据包大小的方式,可以找到当前网络的MTU的值,由于在发送字节为1473时,数据包不能通过网络,所以在本次测试中-l可以设置的最大值为1472字节。分析说明:MTU(MaximumTransmissionUnit)最大传输单元,是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。因特网协议允许IP分片,这样就可以将数据报分成足够小的片段以通过那些最大传输单元小于该数据包原始大小的链路了。例如:当一个IP数据报封装成链路层的帧时,此IP数据报的总长度(即首部加上数据部分)一定不能超过数据链路层的MTU值。否则不能传输数据。可以正确传输,没有丢失数据不会到达接收端MTU的值为1472字节2.安装科来网络分析软件;依次按照下列步骤完成软件的安装;(1)解压压缩文件,如图01所示:图01解压压缩文件开始安装(2)遇到杀毒软件时,选择“允许”后继续安装,如图02所示:图02对拦截软件的设置(3)将破解文件拷贝至原文件的安装目录,完成软件安装,如图03所示:图03科来软件安装成功3.使用科来网络分析软件来抓取并分析ICMP协议包;(1)安装完成后打开软件,并点击“开始”按钮,如图3所示:图3网络分析软件首界面(2)点击“开始”后,进入“工程设置界面”,选择过滤器,如图4所示:图4设置工程(3)在新弹出的对话框中,选择“协议过滤”,并选取ICMP协议,如图5所示:图5设置过滤设置完毕后,依次点击“确定”按钮关闭相应对话框,返回至主界面时即开始相应抓包。(4)在抓包开始后,打开命令提示符界面,使用ping命令设置并发送3000Bytes的ICMP报文,如图6所示:图6ping3000Bytes的数据包注意:这里由于我们要在网络分析软件中分析捕获的分片后的数据包,所以这里的ping命令不能带有禁止分片的“-f”参数。(5)在网络分析软件中,点击相应的数据包,查看其详细信息,如图7所示:图7观察数据包信息(6)图8、图9、图10分别显示了包的分片数据:图8编号1的分片数据图9编号2的分片数据图10编号3的分片数据【结果分析】从上图可知,共捕获到了三个数据包,前面两个数据包的大小是1518字节,第三个是86字节。第一个数据包的IP偏移量是0,第二个是185,第三个是370。这三个数据包的详细情况如表1所示。表1数据包的详细分片计算编号IP分片标志位IP偏移量传输数据1更多分片位置100字节1518-14-20-8-4=14722更多分片位置11851480字节1518-14-20-4=14803更多分片位置03702960字节86-14-20-4=48其中,传输数据中减去的字节分别为:14字节的数据帧首部、20字节的IP分组首部、4字节的数据帧尾部。表1中,第一个数据包中,多了一个ICMP报头,所以在计算传输的数据时,多减了8个字节的ICMP报头,而后面的两个数据包由于不存在ICMP的报头开销,所以不需要减去8字节的ICMP报头。将传输的数据加起来,1472+1480+48=3000,与测试的数据完全吻合。同学们可以利用ping命令设置不同大小的数据包,观察分析捕获的分片后的数据包的情况。