ICMP協議

一:ICMP的作用

Internet控制報文協議:是網絡層的一個重要協議。ICMP設備間傳遞各種差錯和控制信息,他對於收集各種網絡信息,診斷和排除各種網絡故障具有至關重要的作用。總結來說,ICMP用來傳遞差錯、控制、查詢等信息。

二:ICMP重定向

ICMP協議
ICMP Redirect 消息用於支持路由功能。如圖所示,主機A希望發送報文到服務器A,於是根據配置的默認網關地址向網關RTB發送報文。網關RTB收到報文後,檢查報文信息後,發現報文應該轉發到與源主機同一網段的另一個網關設備RTA,因爲次轉發路徑是更優的路徑。所以RTB會向主機發送一個消息,通知主機直接向另一個網關RTA發送報文。主機收到Redirect消息後,向RTA發送報文,RTA會將報文轉發給服務器A。


小結:
1.ICMP重定向消息由路由器產生。
2.主機去處理這個重定向消息。


三:ICMP錯誤報告

ICMP協議
ICMP定義了各種錯誤消息,用於診斷網絡的連接性問題;根據這些錯誤消息,源設備可以判斷出數據傳輸失敗的原因。如上圖當網絡設備無法訪問目標時,會自動發送ICMP目的不可到達報文到終端設備。
四:ICMP數據包格式
ICMP協議
上圖中Type表示ICMP消息類型,code表示同一消息類型中的不同信息。
ICMP協議

五:ICMP協議應用

1.ping命令

通常使用PING命令測試互通性時有以下幾種消息反饋:
1、Request Time Out
2、Destination Unreachable
3、TTL Expired in transit
情況1:當信源機PING某信宿機時,信源機在一段時間內(信源機發送ICMP請求報文後,會啓動定時器0)無法收到ICMP響應報文,就會產生該種情況。出現上述問題的原因在於,信源到信宿的路由正常,而信宿到信源無可用通路。
情況2:當信源機到信宿機無可用通路時,就會產生該種原因。
情況3:當信源機發送IP數據包時(ICMP是被直接封裝在IP包中),會加上包的TTL(Time to Live)時間,數據包在每經過一個路由器時,路由器會將包的TTL時間減1,如果在ICMP請求報文未到信宿機之前,該數據包的TTL爲0,則相應的網關丟棄該報文,同時向信源機發送ICMP的超時報文,在信源機上應將顯示TTL Expired in transit消息。該問題主要是在網絡內部出現了路由循環造成數據包無法到達信宿機,可使用Tracert跟蹤,判斷故障出處(使用該命令時最好在主機上完成)。

tracter命令

Tracert顯示數據包在網絡傳輸過程中所經過的每一條。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章