Ping 和 traceroute的原理

2021-08-17 02:01:07 字數 848 閱讀 1342

ping 程式是用來探測主機到主機之間是否可通訊,如果不能ping到某台主機,表明不能和這台主機建立連線。ping 使用的是icmp協議,它傳送icmp回送請求訊息給目的主機。icmp協議規定:目的主機必須返回icmp回送應答訊息給源主機。如果源主機在一定時間內收到應答,則認為主機可達。

假定主機a的ip位址是192.168.1.1,主機b的ip位址是192.168.1.2,都在同一子網內,則當你在主機a上執行「ping 192.168.1.2」後,都發生了些什麼呢?

首先,ping命令會構建乙個固定格式的icmp請求資料報,然後由icmp協議將這個資料報連同位址「192.168.1.2」一起交給ip層協議(和icmp一樣,實際上是一組後台執行的程序),ip層協議將以位址「192.168.1.2」作為目的位址,本機ip位址作為源位址,加上一些其他的控制資訊,構建乙個ip資料報,並在乙個對映表中查詢出ip位址192.168.1.2所對應的實體地址,一併交給資料鏈路層。其中, 對映表由arp實現。arp(address resolution protocol)是位址解析協議,是一種將ip位址轉化成實體地址的協議。後者構建乙個資料幀,目的位址是ip層傳過來的實體地址,源位址則是本機的實體地址,還要附加上一些控制資訊,依據乙太網的介質訪問規則,將它們傳送出去。

主機b收到這個資料幀後,先檢查它的目的位址,並和本機的實體地址對比,如符合,則接收;否則丟棄。接收後檢查該資料幀,將ip資料報從幀中提取出來,交給本機的ip層協議。同樣,ip層檢查後,將有用的資訊提取後交給icmp協議,後者處理後,馬上構建乙個icmp應答包,傳送給主機a,其過程和主機a傳送icmp請求包到主機b一模一樣。

Ping和Traceroute檢查網路通訊

destination host unreachable 路由器找不到目的主機的路由。檢視網域名稱解析是否正常 ping 空格 網域名稱 如ping yahoo.com sent 4,received 4,lost 0 表示dns的網域名稱解析正常 輸入 ping 可以檢視子命令呼叫開關的人完整列表...

traceroute 路由跟蹤

traceroute是乙個通用的tcp ip工具,它能顯示出資料報從本地機到達目標機時經過的所有路由器。由於traceroute會人為地給網路造成一些通訊負擔,所有它主要被系統或網路管理員,作為乙個簡單而有效的網路手工查錯工具使用,普通使用者最好少用。儘管如此,traceroute對於使用者了解in...

Traceroute原理學習

traceroute 可以讓我們看到 ip資料報從一台主機傳到另一台主機所經過的路由。曾經介紹過 ip記錄路由的選項 rr,為什麼不使用這個選項而另外開發乙個新的應用程式 traceroute呢?原因有三 其一,並不是所有的路由器都支援記錄路由這個選項 其二,記錄路由一般是單向的選項,傳送端設定了該...