Traceroute程序的設(shè)計(jì)工作原理
Traceroute程序的設(shè)計(jì)是利用ICMP及IP header的TTL(Time To Live)欄位(field)。首先,traceroute送出一個(gè)TTL是1的IP datagram(其實(shí),每次送出的為3個(gè)40字節(jié)的包,包括源地址,目的地址和包發(fā)出的時(shí)間標(biāo)簽)到目的地,當(dāng)路徑上的第一個(gè)路由器(router)收到這個(gè)datagram時(shí),它將TTL減1。此時(shí),TTL變?yōu)?了,所以該路由器會將此datagram丟掉,并送回一個(gè)「ICMP time exceeded」消息(包括發(fā)IP包的源地址,IP包的所有內(nèi)容及路由器的IP地址),traceroute 收到這個(gè)消息后,便知道這個(gè)路由器存在于這個(gè)路徑上,接著traceroute 再送出另一個(gè)TTL是2 的datagram,發(fā)現(xiàn)第2 個(gè)路由器…… traceroute 每次將送出的datagram的TTL 加1來發(fā)現(xiàn)另一個(gè)路由器,這個(gè)重復(fù)的動作一直持續(xù)到某個(gè)datagram 抵達(dá)目的地。當(dāng)datagram到達(dá)目的地后,該主機(jī)并不會送回ICMP time exceeded消息,因?yàn)樗咽悄康牡亓耍敲磘raceroute如何得知目的地到達(dá)了呢?
Traceroute在送出UDP datagrams到目的地時(shí),它所選擇送達(dá)的port number 是一個(gè)一般應(yīng)用程序都不會用的號碼(30000 以上),所以當(dāng)此UDP datagram 到達(dá)目的地后該主機(jī)會送回一個(gè)「ICMP port unreachable」的消息,而當(dāng)traceroute 收到這個(gè)消息時(shí),便知道目的地已經(jīng)到達(dá)了。所以traceroute 在Server端也是沒有所謂的Daemon 程式。
Traceroute提取發(fā) ICMP TTL到期消息設(shè)備的IP地址并作域名解析。每次 ,Traceroute都打印出一系列數(shù)據(jù),包括所經(jīng)過的路由設(shè)備的域名及 IP地址,三個(gè)包每次來回所花時(shí)間

Traceroute程序的主要用途是什么?
traceroute (Windows系統(tǒng)下是tracert) 命令利用ICMP協(xié)議定位您的計(jì)算機(jī)和目標(biāo)計(jì)算機(jī)之間的所有路由器。TTL 值可以反映數(shù)據(jù)包經(jīng)過的路由器或網(wǎng)關(guān)的數(shù)量,通過操縱獨(dú)立ICMP 呼叫報(bào)文的TTL 值和觀察該報(bào)文被拋棄的返回信息,traceroute命令能夠遍歷到數(shù)據(jù)包傳輸路徑上的所有路由器。
關(guān)鍵詞: Traceroute程序 設(shè)計(jì)工作原理 Traceroute程序 主要用途是
營業(yè)執(zhí)照公示信息