广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 7526 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
pgailnew 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x9
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[资讯教学] Traceroute 的功能介绍
一、What's Traceroute ?
每个连接在 Internet 上的设备,如 Webserver、Router、Client...等一般情形下都会有一组独立的IP Address。透过Traceroute 我们可以得知封包(Packet)从你的电脑到网路另一端的电脑所走的路径。当然每次封包从相同的出发点(source)传送到相同的目的地(destination)所走的路径都有所不同,但大致上来说绝大部分所走的路径是相同的。在 Linux 系统中,我们称为Traceroute, 在Microsoft Windows中称为Tracert。 Traceroute送出的封包抵到目的设备后,一直到其返回,来测量其所需的时间。

一条路径上的每个设备Traceroute 测试 3 次。输出结果中包含每次测试的时间(ms)和设备的名称(如有的话)及IP Address。

于 C:\>tracert http://www.pcz...om.tw [Enter]

Tracing route to reality.pczone.com.tw [209.66.124.61]
over a maximum of 30 hops:

1 40 ms 40 ms 40 ms 61-216-192-254.HINET-IP.hinet.net [61.216.192.254]
2 41 ms 50 ms 50 ms kh-b-c6r1.router.hinet.net [168.95.227.62]
3 40 ms 50 ms 50 ms kh-b-c12r1.router.hinet.net [168.95.207.201]
4 40 ms 50 ms 40 ms kh-b-c12r31.router.hinet.net [168.95.19.25]
5 50 ms 50 ms 41 ms pa-c12r1.USA-PaloAlto.router.hinet.net [202.39.91.5]
6 71 ms 70 ms 70 ms sj-c7r1.USA-SanJose.router.hinet.net [202.39.83.9]
7 91 ms 92 ms 92 ms abovenet-hinet-fe.sjc.above.net [209.249.0.185]
8 111 ms 110 ms 101 ms core5-core2-oc3.sjc1.above.net [216.200.0.118]
9 110 ms 110 ms 110 ms core3-sjc1-oc48.sjc2.above.net [208.184.102.206]
10 111 ms 100 ms 110 ms main1colo8-core3-oc12.sjc2.above.net [208.184.102.226]
11 111 ms 120 ms 110 ms ymca.com.tw [209.66.124.61]

Trace complete.

参数说明:

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

该诊断实用程序通过向目的地传送具有不同生存时间 (TTL) 的Internet 控制信息协议 (ICMP) 回应报文,以确定至目的地的路由。路径上的每个路由器都要在转发该 ICMP 回应封包之前将其 TTL 值至少减 1,因此 TTL 是有效的跳转计数。当封包的 TTL 值减少到 0 时,路由器向原来系统传回 ICMP 逾时讯息。通过发送 TTL 为 1 的第一个回应封包并且在随后的发送中每次将TTL 加 1,直到目标回应或到达最大 TTL 值,Tracert 可以确定路由通过检查途中路由器发回的 ICMP 逾时(Time Exceeded)讯息,以确定路由器。注意,有些路由器会“安静”的丢弃生存时间(TLS)过期的封包并且对 tracert 指令无效。


参数
-d 指定不对网域名称解析地址。

-h maximum_hops 指定寻找目标的跳跃最大数量。

-j computer-list 指定在 computer-list 中松散来源路由。

-w timeout 等待由 timeout 对每个回应指定的毫秒数。

target_name 目的电脑的名称。

二、What's Traceroute Gateway ?

使用 Traceroute(或Tracert)是基于一台电脑的,但是通常你只能知道以本身的电脑为来源位址到网路上任意一台线上的电脑的路由连接品质及数据传输效率的情况,而使用基于 WEB 的方式,只要一台电脑安装了特定的CGI 程序,用户就可以通过这台电脑运行相关的程序,执行 Traceroute 的功能。这台电脑称为 Traceroute Gateway。Traceroute 闸道可以帮助用户了解网路的物理与逻辑连接拓朴情形及数据传输效率。这种闸道如果够多的话,我们就可清楚的了解连线到各电脑之间的情形。


三、What's use Traceroute?

1.几乎每个上网的人对于本身的电脑与网路的连接,路径,连接速度,品质...等都很在意。使用由 Hinet 组织起来的各地区 Router 所提供的 Traceroute 闸道服务,将会给你满意的答案。从你的电脑到任何其他的电脑,Hinet(Traceroute)能提供其中间的每个 Router(IP Address)及连接时间。它可以让你画出通过网路的路径。


2.目前许多公司和公家机关都设有自己的伺服器-尤其是 Web server。一但拥有自己的 Web server,随着登入的人数增加,你一定很想知道是否他们都能与你连接。你的 ISP 如何与一个或多个 NAP 连接,以及他们的连接效率会直接影响到你的连接品质.

3.在选择ISP方面,骨干频宽及对国外频宽是大多数的网友喜欢检查该 Site 的连接性能及与谁连接,连接到哪里。NetMap(Traceroute)将给你一个完美的答案。

四、Traceroute的功能介绍:

Traceroute最早是由 Van Jacobson 在 1988年写出的程式。当时主要是解决他本身所碰到的一些网路问题。Traceroute 是一个正确理解 IP 网路并了解路由原理的重要工具。这对负责网路工程技术与 MIS 是一个不错的程式。对 ISP 而言,设立 Traceroute Gateway,提高用户对 ISP QoS。High QoS ISP 通常会设立 Traceroute Gateway,让用户明解他们与网路连接时的传输效率。当然,基本设备差,Low Qos ISP 是非常害怕提供这项服务。因为,如此用户就可透过这项工具了解 ISP 目前的网路连接品质。

在一台电脑安装相关的 Traceroute 的 CGI 程式后,你就可以输入相对应的目的电脑的IP Address 或者 Domain name ,就可得到相关的数据:

五、Traceroute的命令参数:

Traceroute 的用法为: Traceroute [options] [data size]

[options]的内容有:

[-n]:显示位址是用 IP表示而非 Domain name

[-v]:长输出

[-p]:UDP 阜口设定(初设值33434)

[-q]:设定 TTL测试数量(初设值3)

[-t]:设定测试封包的服务类型

[data size]:每次测试封包的数据字元长度(初设值38)

六、Traceroute 工作原理:

Traceroute最简单的基本用法是:traceroute hostname

tarski:~traceroute to pczone.com.tw (209.66.124.61), 30 hops max, 40 byte packets
1 TKU-MOE.tku.edu.tw (163.13.1.254) 0.752 ms 0.619 ms 0.627 ms
2 140.111.255.25 (140.111.255.25) 1.358 ms 2.004 ms 1.865 ms
3 TANet-defaultgateway.edu.tw (203.72.38.101) 6.5 ms 11.673 ms 8.175 ms
4 * TANet-Internet.edu.tw (210.70.55.38) 95.83 ms *
5 * 12.124.35.17 (12.124.35.17) 185.175 ms 183.056 ms
6 gbr5-p80.sffca.ip.att.net (12.123.13.150) 212.853 ms 218.853 ms 211.15 ms
7 gbr4-p100.sffca.ip.att.net (12.122.5.146) 231.717 ms 235.807 ms *
8 ggr1-p370.sffca.ip.att.net (12.123.13.69) 239.347 ms * 240.052 ms
9 * above-att-oc3.sjc2.above.net (216.200.254.157) 254.362 ms 258.62 ms
10 * sjc2-gige-core1.sjc2.above.net (208.184.102.97) 257.209 ms 252.991 ms
11 core4-core1-oc48.sjc2.above.net (208.184.102.202) 270.475 ms 268.473 ms s
12 sjc2-gige-main2.colo8.sjc2.above.net (208.185.175.38) 273.827 ms 269.929 s
13 ymca.com.tw (209.66.124.61) 262.796 ms 265.22 ms 269.965 ms

Traceroute 程式的设计是利用ICMP及IP header的TTL(Time

To Live)栏位(field)。首先,traceroute

会送出一个TTL为1的IP datagram(其实,每次送出的是 3个 40 bytes 的 Packet,内容为来源地址,目的地址和封包发送的时间标签)到目的地,当路径上的第一个路由器(Router)收到这个 datagram 时,会将 TTL减1。

此时,TTL变为0了,所以该Router会将此 datagram丢弃,并送回一个「ICMP time exceeded」讯息(包括发送IP封包的来源地址,IP封包的所有内容及 Router IP Address),Traceroute 收到这个讯息后,便得知此 Router 存在于这个路径上,接着 Traceroute 会再送出另一个 TTL为 2 的datagram,当发现第 2个 Router ...... traceroute 每次将送出的 datagram 的 TTL 加1来发现另一个 Router,这个重复的动作会一直持续到某个 datagram 抵达目的地。当 datagram 到达目的地后,该电脑并不会送回 ICMP time exceeded 消息,因为它已经是目的地,那么 traceroute 又如何知道目的地已到达呢?

Traceroute在送出 UDP datagrams 到目的地时,它所选择送达的 port number 是一般应用程式不会用的号
码(30000 以上),所以当此 UDP datagram 到达目的地后该电脑会送回一个「ICMP port unreachable」的讯息,而当 traceroute 收到此讯息时,便知道目的地已经抵达。所以 traceroute 在 Server 端也是没有所谓的Daemon 程式。

Traceroute 送出 ICMP TTL 到期讯息的设备 IP Address 并作网域解析。每次 Traceroute 都显示出一串数据,包含所经过的路由设备名称及 IP Address ,三个封包每次来回所花的时间。
Traceroute face="宋体" 有一个固定的时间等待响应(ICMP TTL到期讯息)。如果这个时间超过,它将显示出一系列的 * 号注明:在这个路径上,此设备不能在规定的时间内发出ICMP TTL 到期讯息的回应。之后,Traceroute 将 TTL 记数器加 1,然后继续进行。



献花 x0 回到顶端 [楼 主] From:台湾政府网际 | Posted:2006-05-10 09:19 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.019747 second(s),query:15 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言