hi,欢迎访问本站!
当前位置: 首页学习笔记正文

计算机网络实验-IP协议及TraceRT路由跟踪

用户投稿 学习笔记 215阅读

一、实验目的: 通过跟踪所发送IP数据报经过的路由,分析Internet 的网络互连机制,了解IP协议的一些典型首部字段的意义和用途。

二、实验环境配置: 与因特网联网的主机,网络操作系统,Ethereal软件。

三、实验原理: TraceRoute 是一个流行的网络诊断实用程序,流行的网络操作系统均支持该功能, 可作为操作系统的命令执行。Unix操作系统下程序名为TraceRoute, Windows 操作系统下的相同功能程序名为TraceRT。 程序首先向目的结点发送一个或几个TTL值设为1的IP数据报,路径中的第一跳路由器R1收到之后,将TTL值减1,TTL值变为0, R1会丢弃这个数据报,并回送一个ICMP 类型 11、代码0的ICMP报错消息给源主机,由此得知R1的IP地址。源主机在向同一目的地址发送TTL值为2的报文,依次逐跳进行,通过每次将 TTL 值加 1,便可以逐跳确定路由。

四、实验方法与步骤: (1)运行Ethereal程序,选择合适的数据报捕获端口 (Capture->Interfaces,选择黑色方框内的接口),然后点击Capture开始进行数据报的捕获。 图1 Ethereal:Capture Interfaces

(2)运行TraceRT跟踪域名www.baidu.com,执行后,会自动将域名找到其对应的IP地址;并提示到达目标地址的路由跳跃点估算;可以查看分组是否到达目的地,并记录命令执行结果。 (3)使用Windows 下的PingPlotter, 可以指定发送数据报的长度:分3次执行PingPlotter命令, 第1次设报文长度为56 Byte;第2次设报文长度为2000 Byte;第3次设报文长度为3600 Byte。 (4)点击Stop停止Ethereal的数据报捕获操作。 图2 捕获数据包后Ethereal软件的主界面

(5)通过再cmd中输入IPconfig -all查看使用的适配器的MAC地址。 图3 “命令提示符”(控制台)窗口

通过描述中的Intel® Dual Band Wireless-AC 7265发现与第(1)步中选择的接口相对应,说明我们找对了,然后记录下它的物理地址:10-02-B5-E7-D6-DC。

五、实验结果与数据处理: 1.使用TraceRT追踪 实验完毕后,我认真记录下试验结果,讨论命令行屏幕中显示输出的意义,并仔细察看并分析Ethereal程序的显示输出。 首先,在执行IPconfig -all命令后的“命令提示符”(控制台)窗口(见图3)可以找到我们使用的适配器的IP地址为192.168.31.39,物理地址为10-02-B5-E7-D6-DC。通过TraceRT跟踪www.baidu.com的结果(见图4)我们可以知道百度的IP地址为183.232.231.174。我们可以清楚看到跟踪当前IP到达www.baidu.com域名指向的IP地址(183.232.231.174)所经过的路由地址列表,有12个,最后一个正好是183.232.231.174。其中出现序号后面是*号,且有请求超时的提示,主要原因是:路由跳跃点禁PING或者路由跳跃点不对TTL超时做响应处理,直接丢弃了。 图4 TraceRT 跟踪www.baidu.com结果

点击Stop停止Ethereal的数据报捕获操作后,捕获数据包后Ethereal软件的主界面主要分为数据包列表、协议树区和十六进制对照区。 图5 数据包列表 在数据包列表可以看到(见图5)源地址和目的地址正好是数据包列表中使用ICMP协议部分的源地址和目的地址,而且从列表中可以发现这两个IP地址作为源地址和目的地址是相互交替的,这说明此时在执行TraceRT命令后程序在正常运行,发出特定TTL(初始为1,之后逐次加1)的IP数据报,再接收返回的ICMP报错消息,这样就可以逐跳确定路由。

图6 协议树区(Ethernet II)

图7 十六进制对照区

在十六进制对照区(见图7)中我们能得到MAC帧如下: 在数据包列表中Frame2468的数据包的协议树区(见图6)中,我们看第二个Ethernet II(与MAC帧相关),根据Ethereal II标准的MAC帧格式(见图8)能得到的信息有: 图8 Ethereal II标准的MAC帧格式

目的地址DMAC:40 31 3c fb af 38 (红色部分),百度服务器的物理地址, 源地址SMAC:10 02 b5 e7 d6 dc (蓝色部分),与计算机物理地址对应, 类型:0800 (绿色部分),指网络层协议为IP。 我们看第三个Internet Protocol(IP),根据IP数据包首部的格式(见图9)能得到的信息有: 图9 IP数据报首部和协议树区(Internet Protocol)

传输的IP数据报:45 00 00 5c 99 ad 00 00 07 01 9a 8d c0 a8 1f 27 b7 e8 e7 ae(黄色部分) Version版本号(4代表IPv4)、Header length头长度、Differentiated Services Field服务类型、Tota1 Length总长度、Identification标识、Flags标志、Fragment offset片偏移、Time to 1ive生存时间TTL、Protocol上层协议标识(ICMP)、Header checksum头部校验和、Source:源IP地址(192.168.31.39)、Destination目标IP地址(183.232.231.174)。 我们看第四个Internet Control Message Protocol(ICMP),根据ICMP报文格式(见图10)能得到的信息有:

图10 ICMP报文格式和协议树区(Internet Control Message Protocol)

ICMP报文:08 00 f4 45 00 01 03 b9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00(黑色部分) Type类型(8 (Echo (ping) request))、Code代码、Checksum检验和、Identifier和Sequence number首部剩余部分、Data数据(64 bytes)。 2.使用PingPlotter追踪 PingPlotter是为TraceRoute提供图形化界面的一个程序。其特点是一个多线性的跟踪路由程序,它能最快地揭示当前网络出现的瓶颈与问题,与Windows中的TraceRT相比,它具有信息同时反馈的速度优势。 图11 PingPlotter追踪结果(发送数据报报文长度为56 Byte)

图12 PingPlotter追踪结果(发送数据报报文长度为2000 Byte)

图13 PingPlotter追踪结果(发送数据报报文长度为3600 Byte)

通过PingPlotter追踪结果(见图11、12、13)可以发现其中的IP地址与TraceRT 跟踪www.baidu.com结果(见图4)中的IP地址相对应。我们也可通过网站 http://ip.cn查看这些节点位于何处,大致清楚本机到百度服务器之间的路径,如:(分别代表源、过程、目的节点) 图12 部分IP对应地理位置

三次PingPlotter追踪的区别在于发送数据报报文的长度不同,分别为:56B、2000B和3600B,通过观察图表也能看出报文长度为2000B和3600B的在目的节点处的丢包率高达100%,说明发送的包过大,超过了百度服务器的接收缓存导致丢包,由此知道我们在发送数据时要注意不能太大。

注:课设随记,方便回看,如有不妥,请多指教~

标签:
声明:无特别说明,转载请标明本文来源!
发布评论
正文 取消