欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

"TTL expired in transit" 具體解釋第3/3頁

 更新時間:2007年08月03日 15:07:49   作者:  

Minimum = 13ms, Maximum = 28ms, Average = 19ms  
第一臺TTL為118,則基本可以判斷這是一臺Windows機器,從我的機器到這臺機器經(jīng)過了10個節(jié)點,因為128-118=10。而第二臺應該是臺Linux,理由一樣64-54=10。  
了解了上面的東西,可能有人會有一些疑問,例如以下:  

1,不是說包可能走很多路徑嗎,為什么我看到的4個包TTL都是一樣的,沒有出現(xiàn)不同?  

這是由于包經(jīng)過的路徑是經(jīng)過了一些最優(yōu)選擇算法來定下來的,在網(wǎng)絡(luò)拓撲穩(wěn)定一段時間后,包的路由路徑也會相對穩(wěn)定在一個最短路徑上。具體怎么算出來的要去研究路由算法了,不在討論之列。  

2,對于上面例子第二臺機器,為什么不認為它是經(jīng)過了74個節(jié)點的Windows機器?因為128-74=54。  

對于這個問題,我們要引入另外一個很好的ICMP協(xié)議工具。不過首先要聲明的是,一個包經(jīng)過74個節(jié)點這個有些恐怖,這樣的路徑還是不用為好。  

要介紹的這個工具是tracert(*nix下為traceroute),讓我們來看對上面的第二臺機器用這個命令的結(jié)果  
D:Documents and Settingshx>tracert 61.152.104.40  

Tracing route to 61.152.104.40 over a maximum of 30 hops  

1 13 ms 16 ms 9 ms 10.120.32.1  
2 9 ms 9 ms 11 ms 219.233.244.105  
3 12 ms 10 ms 10 ms 219.233.238.173  
4 15 ms 15 ms 17 ms 219.233.238.13  
5 14 ms 19 ms 19 ms 202.96.222.73  
6 14 ms 17 ms 13 ms 202.96.222.121  
7 14 ms 15 ms 14 ms 61.152.81.86  
8 15 ms 14 ms 13 ms 61.152.87.162  
9 16 ms 16 ms 28 ms 61.152.99.26  
10 12 ms 13 ms 18 ms 61.152.99.94  
11 14 ms 18 ms 16 ms 61.152.104.40  

Trace complete.  

從這個命令的結(jié)果能夠看到從我的機器到服務器所走的路由,確實是11個節(jié)點(上面說10個好像是我犯了忘了算0的錯誤了,應該是64-54+1,嘿嘿),而不是128的TTL經(jīng)過了70多個節(jié)點。  
既然已經(jīng)說到這里了,不妨順便說說關(guān)于這兩個ICMP命令的高級一點的東西。  
首先是ping命令,其實ping有這樣一個參數(shù),可以無視操作系統(tǒng)默認TTL值而使用自己定義的值來發(fā)送ICMP Request包。  
例如還是用那臺Linux機器,用以下命令:  
D:Documents and Settingshx>ping 61.152.104.40 -i 11  

Pinging 61.152.104.40 with 32 bytes of data:  

Reply from 61.152.104.40: bytes=32 time=10ms TTL=54  
Reply from 61.152.104.40: bytes=32 time=13ms TTL=54  
Reply from 61.152.104.40: bytes=32 time=10ms TTL=54  
Reply from 61.152.104.40: bytes=32 time=13ms TTL=54  

Ping statistics for 61.152.104.40:  
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),  
Approximate round trip times in milli-seconds:  
Minimum = 10ms, Maximum = 13ms, Average = 11ms  

D:Documents and Settingshx>  
這個命令我們定義了發(fā)包的TTL為11,而前面我們知道,我到這臺服務器是要經(jīng)過11個節(jié)點的,所以這個輸出和以前沒什么不同?,F(xiàn)在再用這個試試看:  
D:Documents and Settingshx>ping 61.152.104.40 -i 10  

Pinging 61.152.104.40 with 32 bytes of data:  

Reply from 61.152.99.94: TTL expired in transit.  
Reply from 61.152.99.94: TTL expired in transit.  
Reply from 61.152.99.94: TTL expired in transit.  
Reply from 61.152.99.94: TTL expired in transit.  

Ping statistics for 61.152.104.40:  
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),  
Approximate round trip times in milli-seconds:  
Minimum = 0ms, Maximum = 0ms, Average = 0ms  

D:Documents and Settingshx>  

可以看到,結(jié)果不一樣了,我定義了TTL為10來發(fā)包,結(jié)果是TTL expired in transit.就是說在到達服務器之前這個包的生命周期就結(jié)束了。注意看這句話前面的ip,這個ip恰好是我們前面tracert結(jié)果到服務器之前的最后1個ip,包的TTL就是在這里減少到0了,根據(jù)我們前面的討論,當TTL減為0時設(shè)備會丟棄包并發(fā)送一個TTL過期的ICMP反饋給源地址,這里的結(jié)果就是最好的證明。  
通過這里再次又證明了從我機器到服務器是經(jīng)過了11個節(jié)點而不是70多個,呵呵。  
最后再鞏固一下知識,有人可能覺得tracer這個命令很神奇,可以發(fā)現(xiàn)一個包所經(jīng)過的路由路徑。其實這個命令的原理就在我們上面的討論中。  

想象一下,如果我給目的服務器發(fā)送一個TTL為1的包,結(jié)果會怎樣?  
根據(jù)前面的討論,在包港出發(fā)的第一個節(jié)點,TTL就會減少為0,這時這個節(jié)點就會回應TTL失效的反饋,這個回應包含了設(shè)備本身的ip地址,這樣我們就得到了路由路徑的第一個節(jié)點的地址。  
因此,我們繼續(xù)發(fā)送TTL=2的包,也就受到第二個節(jié)點的TTL失效回應  

依次類推,我們一個一個的發(fā)現(xiàn),當最終返回的結(jié)果不是TTL失效而是ICMP Response的時候,我們的tracert也就結(jié)束了,就是這么簡單。  

順便補一句ping命令還有個-n的參數(shù)指定要發(fā)包的數(shù)量,指定了這個數(shù)字就會按照你的要求來發(fā)包了而不是默認的4個包。如果使用-t參數(shù)的話,命令會一直發(fā)包直到你強行中止它。

相關(guān)文章

最新評論