現在網絡四通八達,網線光纖基站衛(wèi)星,只要運營商能收費的地方,就有網絡,覆蓋了全世界所有的區(qū)域。徹底改變了以前通訊基本靠吼的情況。那么寬廣的網絡世界,超過100米就得需要中繼放大信號的網線,即使現在的光纖線纜距離也是有限。全世界那么大,有沒有統計過,在有限的IPV4里,全球有多少的路由器,沒有答案。
那我們訪問一個網站的時候,從手下的主機到底經過了多少個路由器?才能達到目的地服務器。
Windows有個網絡命令可以實現,它就是Tracert。
Tracert(跟蹤路由)是路由跟蹤實用程序,用于確定 IP 數據包訪問目標所采取的路徑。Tracert 命令用 IP 生存時間 (TTL) 字段和 ICMP 錯誤消息來確定從一個主機到網絡上其他主機的路由。
命令參數如圖
Tracert命令對于了解包括解決大型網絡非常使用,它能摸索所處大型局域網里網絡拓撲架構,除了一些禁止ping的路由器(一般出口路由器或者防火墻上)。
Tracert命令功能同Ping類似,但它所獲得的信息要比Ping命令詳細得多,它把數據包所走的全部路徑、節(jié)點的IP以及花費的時間都顯示出來。該命令比較適用于大型網絡。
Tracert 先發(fā)送 TTL 為 1 的回應數據包,當數據包上的 TTL在路由器收到后TTL自動減1 ,一旦某個服務器將TTL減1后,等于了0,路由器應該將“ICMP Time Exceeded”的消息發(fā)回源計算機,源計算機就根據收到的信息判斷達到的路由器和所用時間。下次再次發(fā)送數據包時,將TTL遞增 1,繼續(xù)上述測試,直到目標響應或 TTL 達到最大值,從而確定路由。通過檢查中間路由器發(fā)回的“ICMP 已超時”的消息確定路由。某些路由器不經詢問直接丟棄 TTL過期的數據包,這在 Tracert 實用程序中看不到,我們會顯示請求超時的請求信息。
命令使用案例
使用ping命令測試www.qq.com服務器設置的TTL初始值為52,如下圖
下圖所示,我們測試到www.qq.com的路經過了16道路由,結合上圖ping命令結果,得知小編在ping www.qq.com時候得到TTL=52。又由下圖得知經過16道路由后到達我們客戶機,52+16=68,說明www.qq.com設置的TTL初始值為68。下圖中請求超時的反饋信息是因為路由器對ping命令做了處理,關閉了ping的響應,所以我們收不到發(fā)給他的反饋信息。
總結
Tracert命令適合大型網絡,能測算出當前主機到目的主機之間經過了多少個路由,并詳細記錄所經過所有路由的地址。