標籤:alt 就是 sdi 查看 info inter 廣播 包含 擷取ip
ICMP經常被認為是IP層的一個組成部分。它傳遞差錯報文以及其他需要注意的資訊。ICMP報文是在IP資料報內部傳輸
ICMP格式和類型
ICMP報文的格式
類型和代碼決定了ICMP報文的種類,如
當發送一份ICMP差錯報文時,報文始終包含IP的首部和產生ICMP差錯報文的IP資料報的前8個位元組。這樣,接收ICMP差錯報文的模組就會把它與某個特定的協議(根據IP資料報首部中的協議欄位來判斷)和使用者進程(根據包含在IP資料報前8個位元組中的TCP或UDP報文首部中的TCP或UDP連接埠號碼來判斷)聯絡起來
ICMP位址遮罩請求與應答
ICMP位址遮罩請求用於無盤系統在引導過程中擷取自己的子網路遮罩。系統廣播它的ICMP請求報文(這一過程與無盤系統在引導過程中用RARP擷取IP地址是類似的)。
注意中的類型和代碼欄位和前面敘述的一致,標識符和序號欄位由發送端任意選擇設定,這些值在應答中將被返回。這樣,發送端就可以把應答與請求進行匹配。
ICMP連接埠不可達差錯
連接埠不可達報文,是目的不可到達報文中的一種,我們可以看一看ICMP差錯報文中所附加的資訊.
要產生差錯報文,可以利用UDP協議,如果收到一份UDP資料報而目的連接埠沒有被某個進程正在使用,那麼UDP返回一個ICMP不可達報文。具體情況如下:
第一二幀表示arp請求和應答
第三四幀表示,bsdi向svr4發送udp的8888連接埠發送UDP請求,但是該連接埠沒有進程對應,所以svr4返回ICMP不可達報文
後面的幾幀和三四幀類似。bsdi對於不可達報文忽略,重複幾次發送UDP請求,仍不可達。
詳細查看ICMP不可達報文,如
ICMP差錯報文必須包括產生該差錯報文的資料報IP首部(包含任何選項),還必須至少包括跟在該IP首部後面的前8個位元組。在我們的例子中,跟在IP首部後面的前8個位元組包含UDP的首部。
要包含IP首部是因為ICMP可以知道哪個協議使用了IP,進而知道如何解釋後面的8個位元組。包含在UDP首部中的內容是源連接埠號碼和目的連接埠號碼。就是由於目的連接埠號碼(8888)才導致產生了ICMP連接埠不可達的差錯報文。接收ICMP的系統可以根據源連接埠號碼(2924)來把差錯報文與某個特定的使用者進程相關聯。
可以歸納出ICMP不可達報文的一般格式
ICMP Internet控制報文協議