基于traceroute实现目标路径的追踪

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Xx 师范学院

计算机与信息技术学院

计算机网络原理 课程设计报告书

课题名称 基于traceroute 实现目标路径的跟踪

姓 名

学 号

院、系 计算机与信息技术

专 业 计算机科学与技术

指导教师

2012年 12 月 27 日

※※※※※※※※ ※※ ※※ ※※ ※ ※※※※※※ 2010级学生

计算机网络原理

课程设计

目录

一、设计目的 (1)

二、设计要求 (1)

三、设计的理论基础、原理 (1)

四、设计关键相关技术、算法及设计实现过程 (5)

五、设计总结 (11)

六、参考文献 (12)

一、设计目的

1.熟悉原始套接字编程。

2.了解网络的结构。

3.了解网络传输底层协议。

4.熟悉掌握 ICMP协议的工作原理和路由跟踪原理。

5.掌握vc

6.0下程序调试、运行的基本方法。

6.通过实验熟悉协议的应用。

二、设计要求

1、通过实验,可以使程序记录并显示了数据报从源端机器传送到目标机器的过程中所经过的路由器的IP地址,并且记录了数据报到达每个路由器所需要的时间。认真观察到达每个路由器的时间有什么区别,从而熟练掌握tracert 的工作原理和ICMP报文协议。

2、当我们不能通过网络访问目的设备时,网络管理员就需要判断是哪里出了问题。问题不仅仅会出现在最终目的设备,也可能出现在转发数据包的中间路由器。

三、设计理论基础、原理

1、Dos命令Traceroute跟踪路由详解

-d

防止traceroute 试图将中间路由器的IP 地址解析为它们的名称。这样可加速显示traceroute 的结果。

-h MaximumHops

指定搜索目标(目的)的路径中存在的跃点的最大数。默认值为30 个跃点。

-j HostList

指定回显请求消息将IP 报头中的松散源路由选项与HostList 中指定的中间目标集一起使用。使用松散源路由时,连续的中间目标可以由一个或多个路由器分隔开。HostList 中的地址或名称的最大数量为9。HostList 是一系列由空格分隔的IP 地址(用带点的十进制符号表示)。仅当跟踪IPv4 地址时才使用该参数。

-w Timeout

指定等待“ICMP 已超时”或“回显答复”消息(对应于要接收的给定“回现请求”消息)的时间(以毫秒为单位)。如果超时时间内未收到消息,则显示一个星号(*)。默认的超时时间为4000(4 秒)。

-R

指定IPv6 路由扩展标头应用来将“回显请求”消息发送到本地主机,使用目标作为中间目标并测试反向路由。

-S

指定在“回显请求”消息中使用的源地址。仅当跟踪IPv6 地址时才使用该参数。

-4

指定Traceroute.exe 只能将IPv4 用于本跟踪。

-6

指定Traceroute.exe 只能将IPv6 用于本跟踪。

TargetName

指定目标,可以是IP 地址或主机名。

-?

在命令提示符下显示帮助。

2、Traceroute工作原理

(1)Ttaceroute从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据报,第一个数据报p1的生存时间TTL设置为1。当P1到达路径上的第一个路由器R1时,路由器R1先收下它,接着TTL的值减一。由于TTL等于0了。R1就把P1丢弃了,并向源主机发送一个ICMP时间超过差错报告报文。

(2)源主机接着发送第二个数据报P2,并把TTL设置为2。P2先到达路由器R1,R1收下后把TTL减1再转发给路由器R2。R2收到P2时TTL为1,但减1

后TTL变为零了。R2就丢弃P2,并向源主机发送一个ICMP时间超过差错报告报文。这样一直继续下去。但最后一个数据包刚刚到达目的主机时,数据报TTL

是1.主机不转发数据报,也不把TTL值减1.但因IP数据报中封装的是无法交付的运输层的UDP用户数据报,因此目的主机要向源主机发送ICMP终点不可达差错报告报文。

(3)这样,源主机到达了自己的目的,因为这些路由器和最后目的主机发来的ICMP报文正好给出了源主机想知道的路由信息—达到目的主机所经过的路由器的IP地址,以及到达其中的每一个路由器的往返时间。

3、ICMP协议简介

所有的互联网服务都使用一个底层无连接的分组交付系统,其中,一种称为IP路由器或者IP网关的计算机提供了物理网络之间的所有互连,它用来选择用于发送分组的路径。当一台路由器收到一个分组后,分析分组中的源地址和目标地址,借助路由器内部的路由表,选择一条最合适的路径,将该分组交付给路径中的下一台主机或者路由器。那么,当我们从一台主机发送数据报到另外一台主机时,有时为了了解网络结构或者分析故障,需要了解数据报所经过的网络路径,这时采用的办法就是路由跟踪,这样的过程也被称作TraceRoute。

为了让互联网中的路由器报告错误或者提供有关意外情况的信息,设计人员在TCP/IP中加入了一种具有特殊用途的报文机制,这种报文机制称为网际控制报文协议ICMP(Internet Control Message Protocol)。在正常的IP数据报传输中,当路由器发现某个数据报有错误或者无法转发时,会向发出该IP数据报的原始站点发送ICMP报文,描述IP数据报中所存在的错误。需要注意的是,ICMP 报文和其他协议报文(如UDP报文、TCP报文)一样,也是封装在IP数据报中的。

4、ICMP原理

ICMP(Internet Control Message Protocal)是为了让互联网中的路由器报告错

误或提供有关意外情况的信息而设计的一个特殊报文机制。它是IP协议的附属协议,是封装在IP数据报内部传送的,如图1所示:

相关文档
最新文档