天天看點

《TCP/IP詳解》筆記——ICMP

本系列是針對《TCP/IP詳解》的筆記總結,包含各章節的主要内容。有助于幫助你快速了解并掌握TCP/IP的協定的相關内容。

目錄

1、概述

2、ICMP協定分類

3、不會産生ICMP的情況

1、ICMP概述

 IP協定并不是一個可靠的協定,它不保證資料被送達,那麼,自然的,保證資料送達的工作應該由其他的子產品來完成。其中一個重要的子產品就是ICMP(網絡控制封包,占4個位元組)協定。

 當傳送IP資料包發生錯誤--比如主機不可達,路由不可達等等,ICMP協定将會把錯誤資訊封包,然後傳送回給主機(接收端—->發送端,正常的發送端至接收端的IP幀中不包含該資訊)。給主機一個處理錯誤的機會,這 也就是為什麼說建立在IP層以上的協定是可能做到安全的原因。

《TCP/IP詳解》筆記——ICMP

  ICMP封包有不同的封包類型,不同類型由這個8bit的類型和8bit的代碼共同決定。一個類型下可能有多個代碼。比如: 類型0表示回應答覆(ping應答);類型1表示目的不可達,其中代碼0表示網絡不可達,代碼1表示主機不可達,代碼2表示協定不可達,代碼3表示端口不可達等等…

2、ICMP協定分類

  ICMP協定大緻分為兩類,一種是查詢封包,一種是差錯封包。

查詢封包:該過程是主動 ,盡管也是會傳回差錯封包,其中查詢封包有以下幾種用途:查詢操作:

  • ping查詢(不要告訴我你不知道ping程式);
  • 子網路遮罩查詢(用于無盤工作站在初始化自身的時候初始化子網路遮罩);
  • 時間戳查詢(可以用來同步時間),通過執行tracerouter指令實作。

差錯封包:該過程是被動産生在資料傳送發生錯誤的時候,主動發送回來的

3、不會産生ICMP的情況

  1. ICMP差錯封包不會産生ICMP差錯封包(出IMCP查詢封包)(防止IMCP的無限産生和傳送)
  2. 目的位址是廣播位址或多點傳播位址的IP資料報。
  3. 作為鍊路層廣播的資料報。
  4. 不是IP分片的第一片。
  5. 源位址不是單個主機的資料報。這就是說,源位址不能為零位址、環回位址、廣播地 址或多點傳播位址。

繼續閱讀