本系列是針對《TCP/IP詳解》的筆記總結,包含各章節的主要内容。有助于幫助你快速了解并掌握TCP/IP的協定的相關内容。
目錄
1、概述
2、ICMP協定分類
3、不會産生ICMP的情況
1、ICMP概述
IP協定并不是一個可靠的協定,它不保證資料被送達,那麼,自然的,保證資料送達的工作應該由其他的子產品來完成。其中一個重要的子產品就是ICMP(網絡控制封包,占4個位元組)協定。
當傳送IP資料包發生錯誤--比如主機不可達,路由不可達等等,ICMP協定将會把錯誤資訊封包,然後傳送回給主機(接收端—->發送端,正常的發送端至接收端的IP幀中不包含該資訊)。給主機一個處理錯誤的機會,這 也就是為什麼說建立在IP層以上的協定是可能做到安全的原因。
ICMP封包有不同的封包類型,不同類型由這個8bit的類型和8bit的代碼共同決定。一個類型下可能有多個代碼。比如: 類型0表示回應答覆(ping應答);類型1表示目的不可達,其中代碼0表示網絡不可達,代碼1表示主機不可達,代碼2表示協定不可達,代碼3表示端口不可達等等…
2、ICMP協定分類
ICMP協定大緻分為兩類,一種是查詢封包,一種是差錯封包。
查詢封包:該過程是主動 ,盡管也是會傳回差錯封包,其中查詢封包有以下幾種用途:查詢操作:
- ping查詢(不要告訴我你不知道ping程式);
- 子網路遮罩查詢(用于無盤工作站在初始化自身的時候初始化子網路遮罩);
- 時間戳查詢(可以用來同步時間),通過執行tracerouter指令實作。
差錯封包:該過程是被動産生在資料傳送發生錯誤的時候,主動發送回來的
3、不會産生ICMP的情況
- ICMP差錯封包不會産生ICMP差錯封包(出IMCP查詢封包)(防止IMCP的無限産生和傳送)
- 目的位址是廣播位址或多點傳播位址的IP資料報。
- 作為鍊路層廣播的資料報。
- 不是IP分片的第一片。
- 源位址不是單個主機的資料報。這就是說,源位址不能為零位址、環回位址、廣播地 址或多點傳播位址。