Traceroute

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Traceroute程序
内容目录
Traceroute介绍 Traceroute源站选路 Traceroute与Ping对比
1、Traceroute介绍
1、定义
互联网中,信息的传送是通过网中许多段的传输介质和设备(路由器,交 换机,服务器,网关等等)从一端到达另一端。每一个连接在Internet上的设备, 如主机、路由器、接入服务器等一般情况下都会有一个独立的IP地址。通过 Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路 径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地 (destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相 同的。UNIX系统中,我们称之为Traceroute,MS Windows中为Tracert。 Traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。 一条路径上的每个设备Traceroute要测3次。输出结果中包括每次测试的时间 (ms)和设备的名称(如有的话)及其IP地址。
Traceroute就通过发送一份TTL字段为1的IP数据报给目的主机。处理这份数 据报的第一个路由器将TTL值减去1,丢弃该数据报,并回发一份超时ICMP报 文。这样就得到了该路径中的第一个路由器的IP地址。然后Tracerouter发送 一份TTL为2的数据报,这样就得到了第二个路由器的IP地址。那么,继续这 个过程,直到达到目的主机。即使目的主机接收到一份TTL值为1的数据报也 不会丢弃该数据报并产生一份ICMP报文,因为已经到达最终目的地。 Traceroute程序发送一份UDP数据报给目的主机,但它选择一个不可能的值作 为UDP端口号(大于30,000),使目的主机的任何一个应用程序都不可能使 用该端口。因为,当该数据报到达时,将使目的主机的UDP模块产生一份“端 口不可达”错误的ICMP报文。这样,Traceroute程序所要做的就是区分接收 到的ICMP报文是超时还是端口不可达,以判断什么时候结束。
6、traceroute注意事项
对于在同一台主机上多次运行traceroute程序的情况,每个进程都查看ICMP返 回的UDP首部的源端口号,并且只处理那些对自己发送应答的报文。 不能保证现在的路由也是将来要采用的路由。甚至两份连续的IP数据报都可 能采用不同的路由。 不能保证ICMP报文的路由与traceroute程序发送的UDP数据报采用同一路由。 这表明所打印出来的往返时间可能并不能真正体现数据报发出和返回的时间 差。(如果UDP数据报从信源到路由器的时间是1秒,而ICMP报文用另一 条路由返回信源用了3秒时间,则打印出来的往返时间是4秒。 返回的ICMP报文中的信源IP地址是UDP数据报到达的路由器接口的IP地址。 这与IP RR选项不同,记录的IP地址指的是入站接口地址。由于每个定义的 路由器都有多个接口,因此从A到B和从B到A运行traceroute程序所得到的 结果可能是不同的。
2、Traceroute源站选路
通常IP路由是动态的,即每个路由器都要判断数据报下面该转发到哪个路 由器。应用程序对此不进行控制,而且通常也并不关心路由。不过可以采 用Traceroute程序工具来发现实际的路由。
源站选路的思想是由发送者指定路由。它可以采用以下两种形式: (1)严格的源路由选择。发送端指明IP数据报所必须采用的确切路由。 如果一个路由器发现源路由所指定的下一个路由器不在其直接连接的网 络上,那么它就返回一个“源站路由失败”的ICMP差错报文。 (2) 宽松的源站选路。发送端指明了一个数据报经过的IP地址清单, 但是数据报在清单上指明的任意两个地址之间可以通过其他路由器。
5、tracerout的命令参数 Traceroute的用法为: Traceroute [options] <IP-address or domain-name> [data size] [options]的内容有: [-n]:显示的地址是用数字表示而不是符号 [-v]:长输出 [-p]:UDP端口设置(缺省为33434) [-q]:设置TTL测试数目(缺省为3) [-t]:设置测包的服务类型 [data size]:每次测试包的数据字节长度(缺省为38)
3、工Байду номын сангаас原理
Traceroute程序使用ICMP报文和和IP首部中的TTL字段(生存周期)。每个处 理数据报的路由器都要把TTL的值减去1或者减去数据报在路由器中停留的秒数。 由于大多数的路由器转发数据报的延时都小于1秒钟,因此TTL最终成为一个跳 站的计数器,所经过的每个路由器都将其值减1。
2、使Traceroute的原因 几乎每一个网上人(尤其是Webmaster)对他们的计算机 (或其它设备)与Internet的连接,路由(径),连通时间, 速度等都很关心。使用由ChianNetMap组织起来的各地区 Webmaster提供的Traceroute网关的服务,将给你一个满意 的答案。从你的计算机到任何别的地方, ChinaNetMap(Traceroute)都能提供其间的每个设备(IP地 址)及其连通时间。它可以让你画出通过网络的路径。 许多公司和单位都设有或正在设立自己的服务器-尤其是 Web服务器。一旦有自己的Web服务器,随着网民数量的 日益增加(包括潜在的,没法统计的网民),你一定很想知 道是否他们都能与你连接。你的ISP如何与一个或多个NAP 连接,以及他们的连接效率会直接影响到你的连接质量. 在选择ISP,骨干网连接,你站点的主机时,大多数有见识 的网民喜欢检查该Site的连接性能及其它是怎样精确的与谁 连,连到哪儿。ChinaNetMap(Traceroute)将给你一个完 美的答案。
4、实现过程
Traceroute实现有两种方法: 发送一个ICMP回应请求报文;目的主机将会产生一个ICMP回应答复报 文。Microsoft实现(tracert)中采用该方法。当回应请求到达目的 主机时,ICMP就产生一个答复报文,它的源地址等于收到的请求报文 中的目的IP地址。 发送一个数据报给一个不存在的应用进程;目的主机将会产生一个 ICMP目的不可达报文。大多数UNIX版本的traceroute程序采用该方法。
相关文档
最新文档