網際網路控制報文協議 (ICMP)
網際網路控制報文協議 (ICMP) 工作在 OSI 模型的網路層和 TCP/IP 模型的網際網路層。它用於向網路裝置和主機發送控制訊息。路由器和其他網路裝置監控網路的操作。當發生錯誤時,這些裝置會使用 ICMP 傳送訊息。可以傳送的訊息包括“目的地不可達”、“超時”和“回顯請求”。
- ICMP 是一種網路層協議。
- ICMP 訊息不會直接傳遞到資料鏈路層。在訊息傳遞到較低層之前,它首先封裝在 IP 資料報中。
ICMP 訊息型別
- 資訊訊息 − 在此訊息中,傳送方向主機或路由器傳送查詢並期望得到答覆。例如,主機想知道路由器是否處於活動狀態。
- 錯誤報告訊息 − 此訊息報告路由器或主機(目的地)在處理 IP 資料包時可能遇到的問題。
- 查詢訊息 − 它幫助路由器或網路管理員從路由器或其他主機獲取特定資訊。
類別 | 型別 | 訊息 |
錯誤報告訊息 | 3 | 目的地不可達 |
4 | 源抑制 | |
11 | 超時 | |
12 | 引數問題 | |
5 | 重定向 | |
查詢訊息 | 8 或 0 | 回顯請求或回覆 |
13 或 14 | 時間戳請求或回覆 | |
17 或 18 | 地址掩碼請求或回覆 | |
10 或 9 | 路由器請求或通告 |
- 源抑制 − 它請求降低從源到目的地的訊息傳送流量。
- 超時 − 當網路中碎片丟失時,路由器持有的碎片將被丟棄,然後 ICMP 將從丟棄的資料包中獲取源 IP 並通知源,由於生存時間欄位達到零,資料報被丟棄,方法是傳送超時訊息。
- 需要分片 − 當路由器由於超過下一跳網路的 MTU 且設定了 DF(不分片)位而無法轉發資料報時,路由器需要將 ICMP 目的地不可達訊息返回到資料報的源,程式碼指示需要分片並且 DF(不分片)已設定。
- 目的地不可達 − 此錯誤訊息指示 IP 資料包中指定的目的地主機、網路或埠號不可達。這可能是由於目標主機裝置已關閉、中間路由器無法找到轉發資料包的路徑以及防火牆配置為阻止來自資料包源的連線。
- 重定向訊息 − 當路由器需要告訴傳送方它應該為特定目的地使用不同的路徑時,將使用重定向錯誤訊息。當路由器知道到目的地的更短路徑時,就會發生這種情況。
ICMP 基本錯誤訊息格式
基本的 ICMP 錯誤訊息將具有以下格式:
- 型別 − 型別欄位標識訊息的型別。
- 程式碼 − ICMP 中的程式碼欄位描述訊息的目的。
- 校驗和 − 校驗和欄位用於驗證 ICMP 訊息。
廣告