电子科技大学实验报告学生姓名:学号:指导教师:日期:年月日实验项目名称:报告评分:教师签字:一、实验原理“PING”这个名字源于声纳定位操作。PING程序的目的是测试另一台主机是否可达,它发送ICMP回送请求报文给被测主机,并等待返回的ICMP回送应答或差错报告报文。ICMP协议(RFC792)是IP协议的辅助协议,提供差错报告和查询机制。一台主机的可达性不仅取决于IP层是否可达,还取决于使用的高层协议及端口号。仅当被测主机可达时,PING程序才能收到返回的ICMP回送应答报文,并能测出到该主机的往返时间。如果被测主机不可达,PING程序会收到一些ICMP差错报告报文,甚至收不到任何返回信息。根据ICMP差错报告报文的类型可粗略判定主机不可达的原因。不同的物理网络具有不同的最大传送单元(MTU)值,因此可能需要对IP分组进行分片操作使其能够通过这些物理网络。当IP分组被分片时,需要修改分组头中的标志、分片偏移和总长度值,其余各字段将被复制到所有分片中。已经分片的IP分组在遇到具有更小MTU的网络时还会被再次分片。TTL字段是由发送端初始设置在IP分组首部中的一个8bit字段,不同操作系统上的不同应用程序指定的TTL初始值不同。路由器在转发每个IP分组时需要将该分组的TTL值减1或减去该分组在路由器中停留的秒数。由于大多数路由器转发IP分组的时延都小于1秒钟,因此TTL最终成为一个跳站计数器,即分组每经过一台路由器其TTL值被减1。TTL字段的目的是为了防止分组在选路时被无休止的转发。当路由器收到一份需转发的IP分组时,如果该分组的TTL值为1,路由器则丢弃该分组,并向分组源发送一份ICMP的TTL超时报文。TRACE程序使用IP分组首部的TTL字段(生存时间)和ICMP报文,让使用者可以看到IP分组从一台主机传到另一台主机所经过的路由。TRACE程序首先发送一份TTL值为1的IP分组给目的主机,处理该IP分组的第1个路由器即会返回一份以自己的IP地址为源的携带有ICMP超时报文的IP分组,这样TRACE程序就得到了该路径中第1个路由器的IP地址。然后,TRACE程序发送一份TTL值为2的IP分组,同样又可获得该路径中第2个路由器的IP地址。TRACE程序不断增加所发送IP分组的TTL值直至IP分组到达目的主机,即可获得到目的主机所经过的每一个路由器地址。但是,IP分组的目的主机不处理该分组的TTL值,即使收到TTL值为1的IP分组也不会丢弃该分组并产生一份ICMP超时报文。因此,TRACE程序必须判断IP分组是否已到达目的主机,不同操作系统上的TRACE程序的判断方法不同。目前通常有两种实现方法:一种是利用“端口不可达”的ICMP差错报文,另一种则是使用ICMP回送请求和回送应答报文。在前一种方法中,TRACE程序发给目的主机的IP分组中携带的是一份UDP数据报,该UDP数据报的目的端口是一个目的主机上任一应用程序都不可能使用的UDP端口(通常大于30000)。当该IP分组到达目的主机时,目的主机的UDP模块会产生一份“端口不可达”的ICMP差错报文返回给TRACE程序。这样,TRACE程序即可根据收到的ICMP报文是超时还是端口不可达来判断何时结束。在后一种方法中,TRACE程序发给目的主机的IP分组中携带的是ICMP回送请求报文。当该IP分组到达目的主机时,目的主机即会返回一份ICMP回送应答报文给TRACE程序。这样,TRACE程序即可根据收到的ICMP报文是超时还是回送应答来判断何时结束。二、实验目的1、了解网络连通性测试的方法和工作原理2、了解网络路径跟踪的方法和工作原理3、掌握MTU的概念和IP分片操作4、掌握IP分组生存时间(TTL)的含义和作用5、掌握路由表的作用和路由查找算法三、实验内容实验拓扑中VMware虚拟机PC2、PC3和PC4(未开机)分别位于由提供集线器功能的虚拟网卡VMnet1和VMnet2模拟实现的两个以太网Ethernet1和Ethernet2中,这两个以太网对应的IP子网A和子网B分别连在Dynamips软件模拟实现的路由器R1和R2的F0/0接口上。R1和R2经由Dynamips软件模拟实现的路由器R3和R4互联,R1、R2、R3和R4之间运行OSPF路由协议,没有缺省路由。实验者在PC2上使用通信测试命令(ping)和路径跟踪命令(tracert),结合Dynamips软件的分组捕获功能以及Wireshark软件的捕获分组查看功能,测试子网A、B之间的连通性和通信路径,考察IP地址和分组长度对网络间通信的影响以及IP分组生存时间(TTL)对网络间IP分组交付的影响,体会ICMP协议的差错报告机制,理解并掌握PING和TRACE的工作原理和操作命令。四、实验器材(设备、元器件)PC计算机一台。五、实验步骤1、依次启动VMwareWorkstation中TCPIP组内的虚拟机PC2和PC3。(注:不开启PC4)2、启动DynamipsServer,然后运行lab2.net,在Dynagen窗口中提示符“=”后依次输入以下命令启动路由器R1、R2、R3和R4:=startR1PC2PC3R1R2F0/0F0/0Ethernet1(VMnet1)Ethernet2(VMnet2)R1F0/0=192.168.11.254/24R2F0/0=192.168.22.254/24R1~R4间4个IP子网掩码均为/30PC2=192.168.11.2/24PC3=192.168.22.3/24PC4=192.168.22.4/24(未开机)R4R3子网A子网BBW=100MMTU=1500BW=2MMTU=800BW=100MMTU=1500BW=64KMTU=800MTU=1500MTU=1500PC4F0/1F0/0S1/1S1/0S1/0F0/1F0/0S1/0=startR2=startR3=startR43、在PC2上使用“routeprint”命令查看并记录该主机的路由表。4、在PC2的cmd窗口键入“ping”命令,查看并记录选项-n、-l、-f的含义和功能。然后在PC2上pingPC3的IP地址确保整个实验网络运行正常。5、在Dynagen窗口中提示符“=”后依次输入以下命令捕获子网A和子网B中的分组:=captureR1f0/0aping.cap=captureR2f0/0bping.cap6、在PC2上使用-n选项pingPC3的IP地址,记录ping回应信息。ping-n1PC3的IP地址7、在PC2上使用-n和-l选项pingPC3的IP地址,记录ping回应信息。ping-n1-l1500PC3的IP地址8、在PC2上使用-n、-l和-f选项pingPC3的IP地址,记录ping回应信息。ping-n1-l1500-fPC3的IP地址9、在PC2上ping未开机的PC4,记录ping回应信息。ping-n1192.168.22.410、在PC2上ping10.1.1.1,记录ping回应信息。ping-n110.1.1.111、在Dynagen窗口中提示符“=”后依次输入以下命令重新捕获子网A和子网B的分组:=、=nocaptureR2f0/0=captureR1f0/0atrace.cap=captureR2f0/0btrace.cap12、在PC2上tracePC3的IP地址,记录trace回应信息。tracertPC3的IP地址13、在Dynagen窗口中提示符“=”后依次输入以下命令停止捕获子网A和子网B中的分组:=nocaptureR1f0/0=nocaptureR2f0/014、用Wireshark软件查看并分析捕获的分组文件(aping.cap、bping.cap、atrace.cap、btrace.cap)中的ping和trace通信分组,查看过滤条件为“ip.proto==1”(在Wireshark主窗口界面“过滤工具栏”的“Filter:”域中输入)。15、实验结束后,按照以下步骤关闭实验软件、上传实验数据、还原实验环境:(1)在Dynagen窗口中提示符“=”后依次输入以下命令关闭Dynagen窗口,然后再关闭DynamipsServer窗口:=stop/all=exit(2)依次关闭PC2和PC3,再关闭VMware窗口;(3)运行lab2.net所在目录下的“reset.bat”文件。六、实验数据及结果分析1、按照显示顺序记录步骤3中PC2的路由表信息:No.NetworkDestinationNetmaskGateway10.0.0.00.0.0.0192.168.11.2542127.0.0.0255.0.0.0127.0.0.13192.168.11.0255.255.255.0192.168.11.24192.168.11.2255.255.255.255127.0.0.15192.168.11.255255.255.255.255192.168.11.26224.0.0.0240.0.0.0192.168.11.27255.255.255.255255.255.255.255192.168.11.2DefaultGateway:192.168.11.254【分析】1)请按照网关(gateway)地址分类分析主机路由表中每条路由表项的网关地址的特征,路由的目的地,以及所采取的分组交付方式。No.1:缺省路由。当系统收到一个目的地址不在路由表中的数据包时,系统会将该数据包发送到缺省网关192.168.11.254;采取间接交付。No.2:本地环路。当系统接收到一个发往目标网段127.0.0.0的数据包时,系统将接收发往该网段的所有数据包。采取直接交付。No.3:直连网段。当系统接收到一个发往目的网段192.168.11.0的数据包时,系统会将该数据包通过192.168.11.2这个接口发送出去(表中没给出interface的相应记录,对于该表项,gateway和interface是同一个,因为分组的目的网段正是路由器所直连的网段)。采取直接交付。No.4:本地主机路由。当系接收到一个目标IP地址为本地网卡IP地址的数据包时,系统将接收该数据包。采取直接交付。No.5:本地广播路由。当系统接收到一个发给直连网段的本地广播数据包时,系统会将该数据包从192.168.11.2这个接口以广播的形式发送出去(对于该表项,gateway和interface相同)。No.6:组播路由。当系统接收到一个组播数据包时,系统会将该数据包从192.168.11.2这个接口以组播的形式发送出去(对于该表项,gateway和interface相同)。No.7:广播路由当系统接收到一个广播数据包时,系统会将该数据包从192.168.11.2这个接口直接发送出去。2)本实验中PC2将使用哪条路由发送对目的主机的ping报文?答:使用第一条,即缺省路由。2、记录步骤4中PC2上显示的PING命令选项-n、-l、-f的含义。-ncountNumberofechorequeststosend.-lsizeSendbuffersize.-fSetDon'tFragmentflaginpacket.3、记录步骤6中PC2上的ping命令回应信息,并按分组的捕获顺序记录该步骤在子网A和子网B上捕获的ICMP报文信息:Ping命令PING回应信息ping-n1192.168.22.3Replyfrom192.168.22.3:bytes=32time=261msTTL=124子网IP分组首部ICMP报文首部TTL源IP地址目的IP地址TypeCode报文类型A128192.168.11.2192.168.22.380Echorequest124192.168.22.3192.168.11.200EchoreplyB124192.168.11.2192.168.22.380Echorequest128192.168.2