TCP实验报告4_

时间:2024.4.14

电子科技大学

实验报告

学生姓名:田家翼 

学号:2012019030029  

指导教师:张科

日期:2014     年  11    月  29    日

实验项目名称:          排错工具——Ping Trace

报告评分:                            教师签字:                  


一、实验原理

“PING”这个名字源于声纳定位操作。PING程序的目的是测试另一台主机是否可达,它发送ICMP回送请求报文给被测主机,并等待返回的ICMP回送应答或差错报告报文。ICMP协议(RFC 792)是IP协议的辅助协议,提供差错报告和查询机制。

一台主机的可达性不仅取决于IP层是否可达,还取决于使用的高层协议及端口号。仅当被测主机可达时,PING程序才能收到返回的ICMP回送应答报文,并能测出到该主机的往返时间。如果被测主机不可达,PING程序会收到一些ICMP差错报告报文,甚至收不到任何返回信息。根据ICMP差错报告报文的类型可粗略判定主机不可达的原因。

不同的物理网络具有不同的最大传送单元(MTU)值,因此可能需要对IP分组进行分片操作使其能够通过这些物理网络。当IP分组被分片时,需要修改分组头中的标志、分片偏移和总长度值,其余各字段将被复制到所有分片中。已经分片的IP分组在遇到具有更小MTU的网络时还会被再次分片。

TTL字段是由发送端初始设置在IP分组首部中的一个8 bit字段,不同操作系统上的不同应用程序指定的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的工作原理和操作命令。

四、实验器材(设备、元器件)

计算机一台,VMware,Dynamips Server,Wireshark等软件。

五、实验步骤

1、依次启动VMware Workstation中TCPIP组内的虚拟机PC2和PC3。(注:不开启PC4

2、启动Dynamips Server,然后运行lab4.net,在Dynagen窗口中提示符“=>”后依次输入以下命令启动路由器R1、R2、R3和R4:

=> start R1

=> start R2

=> start R3

=> start R4

3、在PC2上使用“route print”命令查看并记录该主机的路由表。

4、在PC2的cmd窗口键入“ping”命令,查看并记录选项-n-l-f的含义和功能。然后在PC2上ping PC3的IP地址确保整个实验网络运行正常。

5、在Dynagen窗口中提示符“=>”后依次输入以下命令捕获子网A和子网B中的分组:

=> capture R1 f0/0 aping.cap

=> capture R2 f0/0 bping.cap

6、在PC2上使用-n选项ping PC3的IP地址,记录ping回应信息。

ping  -n  1  <PC3IP地址>

7、在PC2上使用-n-l选项ping PC3的IP地址,记录ping回应信息。

ping  -n  1  -l  1500  <PC3IP地址>

8、在PC2上使用-n-l-f选项ping PC3的IP地址,记录ping回应信息。

ping  -n  1  -l  1500  -f  <PC3IP地址>

9、在PC2上ping未开机的PC4,记录ping回应信息。

ping  -n  1  192.168.22.4

10、在PC2上ping 10.1.1.1,记录ping回应信息。

ping  -n  1  10.1.1.1

11、在Dynagen窗口中提示符“=>”后依次输入以下命令重新捕获子网A和子网B的分组:

=> no capture R1 f0/0

=> no capture R2 f0/0

=> capture R1 f0/0 atrace.cap

=> capture R2 f0/0 btrace.cap

12、在PC2上trace PC3的IP地址,记录trace回应信息。

tracert  <PC3IP地址>

13、在Dynagen窗口中提示符“=>”后依次输入以下命令停止捕获子网A和子网B中的分组:

=> no capture R1 f0/0

=> no capture R2 f0/0

14、用Wireshark软件查看并分析捕获的分组文件(aping.cap、bping.cap、atrace.cap、btrace.cap)中的ping和trace通信分组,查看过滤条件为“ip.proto == 1”(在Wireshark主窗口界面“过滤工具栏”的“Filter:”域中输入)。

15、实验结束后,按照以下步骤关闭实验软件、上传实验数据、还原实验环境:

(1)在Dynagen窗口中提示符“=>”后依次输入以下命令关闭Dynagen窗口,然后再关闭Dynamips Server窗口:

=> stop /all

=> exit

(2)依次关闭PC2和PC3,再关闭VMware窗口;

(3)运行lab2.net所在目录下的“reset.bat”文件。

六、实验数据及结果分析

1、按照显示顺序记录步骤3中PC2的路由表信息:

【分析】

1)  请按照网关(gateway)地址分类分析主机路由表中每条路由表项的网关地址的特征,路由的目的地,以及所采取的分组交付方式。

第一条,        缺省路由。解释:当一个数据包的目的的网段不在你的路由记录中,数据包则发到这个地方。缺省路由的网管由default gatewat决定,它采用间接交付方式。

第二条,        本地环路,127.0.0.0网段内所有地址都指向自己的机器。

第三条,        直联网段的路由记录,当一个数据包的目的的网段是192.168.11.0,则机器将数据包通过192.168.11.2这个接口发出去,采用直接交付。。

第四条,        本地主机路由,当路由器收到发送给自己的数据包将如何处理

当机器接收到的数据包的目的网段是192.168.11.2时,机器会将这个数据包接收下来,因为这个数据包是发给此机器的。

第五条,        本地广播路由,当路由器收到发送给直联网段的本地广播时如何处理

当机器收到广播数据包的目的网段是192.168.11.255时,机器将这个数据包从192.168.11.2接口以广播的形式发送出去

第六条,        组播路由,当路由器收到一个组播数据包时该如何处理

当机器收到组播数据包时,机器将这个数据包从192.168.11.2接口以组播的形式发送出去

第七条,        广播路由,当路由器收到一个绝对广播时该如何处理

当机器收到绝对广播数据包时,将该数据包丢弃掉

2)  本实验中PC2将使用哪条路由发送对目的主机的ping报文?

第三条

2、记录步骤4中PC2上显示的PING命令选项-n-l-f的含义。

          -n count       Number of echo requests to send.

          -l size        Send buffer size.

          -f             Set Don't Fragment flag in packet.

3、记录步骤6中PC2上的ping命令回应信息,并按分组的捕获顺序记录该步骤在子网A和子网B上捕获的ICMP报文信息:

【分析】解释PING命令回应信息中的bytestimeTTL参数的含义。

Bytes 是命令中发送的字节数

Time 是往返所需时间

TTL  是生存时间

4、记录步骤7中PC2上的ping命令回应信息,并按分组的捕获顺序记录该步骤在子网A和子网B上捕获的ICMP报文的IP分组头信息:

注意:“分片偏移”填写的是分组首部中以8字节为单位的片偏移值。

【分析】

1)  PC2发出的IP分组(源IP地址PC2,目的IP地址PC3)在子网A和子网B上分别有几个分片?这些分片分别是由实验拓扑中的哪些设备划分的?为什么要划分这些分片?这些分片的重组操作将由实验拓扑中的哪台设备进行?

答:子网A中有两个分片,在子网B中有三个分片,这些分片是路由器R1划分的,因为网络的MTU比报文的长度短,需要分片传输。重组是在目的主机PC3上完成。

2)  PC3发出的IP分组(源IP地址PC3,目的IP地址PC2)在子网A和子网B上分别有几个分片?这些分片分别是由实验拓扑中的哪些设备划分的?为什么要划分这些分片?这些分片的重组操作将由实验拓扑中的哪台设备进行?

答:在子网A中有三个分片,在子网B中有两个分片,这些分片是路由器R2划分的,因为网络的MTU比报文的长度短,就得分片传输。重组是在目的主机PC2上完成。

3)  在分片重组操作中,应根据分片首部中的什么信息判断收到的分片属于哪个IP分组?属于同一IP分组的分片需按照分片首部中的什么信息进行重组?

答:根据标识位的数据信息来判断分片属于什么IP分组,属于同一IP分组的分片需要分片偏移和是否还有分片的信息来进行重组。

5、记录步骤8中PC2上的ping命令回应信息。

【分析】本步骤中是否捕获到PC2发送或接收的报文?结合PING回应信息解释其原因。

      答:未捕获到,因为-f不分片,而这个报文的长度大于那段介质的MTU, 就会被丢弃。

6、记录步骤9中PC2上的ping命令回应信息。

【分析】

1)  本步骤中是否捕获到PC2发送或接收的报文?结合PING回应信息解释其原因。

   答:能捕获到,因为PC2ping一台不存在的主机,路由器R1不会知道,只会转发

2)  在ping时如果收到“Request timed out.”信息,是否能确定目的主机一定未开机响应或一定没有可达的路由?为什么?

答:不一定,有可能是网络过于拥塞。

7、记录步骤10中PC2上的ping命令回应信息,并按分组的捕获顺序记录该步骤在子网A上捕获的ICMP报文信息:

【分析】请指出步骤9和步骤10中目的主机可达性的差异之处,并解释其差异产生的原因。

          答:在步骤9中只有主机不可以到达,该网段还是可到达的;

               在步骤10中该网段不可以到达。

8、记录步骤12中主机上输入的TRACE命令及其回应信息,并按分组的捕获顺序记录该步骤在子网A和子网B上捕获的如下报文信息:

说明:TTL、源IP地址和目的IP地址都相同的分组只记录1次;

【分析】

1)  TRACE程序根据什么报文中的什么信息获得每一跳路由器的IP地址?

答:根据每一次返回的ICMP报文中的源IP地址确定。

2)  TRACE程序在跟踪每一跳路由器时,发送了几个测试报文?这样做的目的是什么?

答:发送了三个测试报文,这样做防止ICMP报文丢失,确保接收到回应信息。

3)  WinXP系统的TRACE程序使用何种方法判断测试分组是否已到达目的主机?

答:TRACE程序发给的目的主机的IP分组中携带的是ICMP回送请求报文。当该IP分组达到目的主机时,目的主机回返回一份ICMP会送应答报文给TRACE程序。如此,TRACE程序即可根据收到的ICMP报文是超市还是回答应答来判断何时解释。

七、实验结论

1、总结ICMP差错报告机制的作用和ICMP差错报告报文中数据部分的作用。

答:ICMP差错报告机制使原始的数据发送端知道它自己发送数据失败,而ICMP报文中的数据则可以让发送端知道发送失败的类型和原因。

2、交付出错的哪些IP分组不会产生ICMP差错报告报文?

        答:有四种情况,

1.对于携带ICMP差错报文的数据包,不再产生ICMP差错分组;

2.对于分片的数据包,如果不是第一个分片,不再产生ICMP差错分组;

3.对于具有多播地址的数据报,不再产生ICMP差错分组;

4.对具有特殊地址的数据报,不再产生ICMP差错分组。

3、请根据实验中的TRACE回应信息和实验拓扑图,写出路由器R1的F0/1接口、R2的F0/1和S1/0接口、以及R3和R4的所有接口的IP地址,并指出本实验中子网A到子网B的通信路径。

       答:R1  F0/1:192.168.13.1

                     R2  F0/1:192.168.24.1     S1/0:未知

                     R3  F0/0:192.168.13.2     S1/1:192.168.34.2    S1/0:未知

                     R4  S1/0:192.168.34.2     F0/0:192.168.24.2

            通信路径:PC2→R1→R3→R4→R2→PC3

八、总结及心得体会

PING程序的目的是测试另一台主机是否可达,它发送ICMP回送请求报文给被测主机,并等待返回的ICMP回送应答或差错报告报文。TRACE程序使用IP分组首部的TTL字段(生存时间)和ICMP报文,让使用者可以看到IP分组从一台主机传到另一台主机所经过的路由

九、对本实验过程及方法、手段的改进建议

更多相关推荐:
c语言实验报告

C语言程序设计实验报告1实验目的1熟悉C语言编译器2掌握基本的C代码编写方法与风格3掌握基本的数据类型运算符与表达式的灵活运用4掌握顺序分支结构程序设计思想与代码编写方法实验内容1在D盘根目录创建以自己姓名拼音...

c语言实验报告模板完成版

高级语言程序设计学生实验报告专业计算机科学与技术学号姓名1实验一C程序的运行环境和使用方法1实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2了解在该系统上如何编辑编译连接和运行一个C程序3通过运...

C语言实验报告(样板)

滁州学院机械与电子工程学院实验报告课程姓名专业20xx机械本科学号实验一工作平台一目的和要求1熟悉语言程序的支持运行环境了解所用计算机系统的软硬件配置和使用方法2初步了解运行一个语言程序的过程二实验环境硬件环境...

C语言实验报告样本

实验报告课程名称C语言程序设计实验项目顺序结构程序设计实验仪器计算机系别机电工程学院专业机械设计制造及其自动化班级学号机械110120xx010008学生姓名郭奎宇实验日期20xx年10月24日成绩指导教师一实...

C语言实验报告标准格式

暨南大学本科实验报告专用纸课程名称高级语言程序设计成绩评定实验项目名称结构体和共用体指导教师张晓刚实验项目编号8060151108实验项目类型综合性实验地点C301学生姓名苟长弘学号20xx051282学院信息...

C语言实验报告

实验一C程序的运行环境和使用方法1实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2了解在该系统上如何编辑编译连接和运行一个C程序3通过运行简单的C程序初步了解C程序的特点2实验程序清单及运行结果...

c语言实验报告

实验报告1已知三角形的边为abc试设计程序输入三边的值并计算三角形的面积已知三角形的面积计算公式为Sabc2Areaasbsc截图为程序及其运行结果分析常错的地方就是容易后面使用到的字母忘记定义导致程序不认识不...

实验报告-C基本结构

西安理工大学实验报告第X页共Y页课程C言程序设计实验日期XXXX年XX月XX日专业班号班级组别机号交报告日期XXXX年XX月XX日姓名姓名学号学号报告退发订正重做同组者无教师审批签字实验报告格式一预习准备实验目...

第十九届华罗庚金杯少年数学邀请赛决赛试题 C

第十九届华罗庚金杯少年数学邀请赛决赛试题C一填空题每小题10份共80分1计算3229520312025223145答案1考点计算分数小数综合运输解析原式0250607509123312在右边的算式中每个汉字代表...

C15031课后测验100分

一单项选择题1总体来说对冲基金的卖空要求是A在特定限制内B每年C每半年D任意您的答案D题目分数10此题得分100批注2绝对回报用于衡量哪种基金的业绩表现A对冲基金B共同基金C对冲基金与共同基金D既不是对冲基金也...

康明斯C2250D5发电机组故障代码

第1页共14页第2页共14页第3页共14页第4页共14页第5页共14页第6页共14页第7页共14页第8页共14页第9页共14页第10页共14页第11页共14页第12页共14页第14页共14页

PANTONG 国际色卡 C面板

PANTONE国际色卡C面效果电子版yellowC黄色CPurpleC红紫CProcessYellowC四色黄CHexachromeYellowCHexachrome黄C100C106C113C120C1205...

c实验报告(41篇)