速讀原著-TCP/IP(ICMP報文的4.4BSD處理)
- 2020 年 3 月 6 日
- 筆記
6.6 ICMP報文的4.4BSD處理
由於I C M P覆蓋的範圍很廣,從致命差錯到資訊差錯,因此即使在一個給定的系統實現中,對每個I C M P報文的處理都是不相同的。圖 6 – 1 2的內容與圖6 – 3相同,它顯示的是 4 . 4 B S D系統對每個可能的I C M P報文的處理方法。

如果最後一列標明是「內核」,那麼I C M P就由內核來處理。如果最後一列指明是「用戶進程」,那麼報文就被傳送到所有在內核中登記的用戶進程,以讀取收到的 I C M P報文。如果不存在任何這樣的用戶進程,那麼報文就悄悄地被丟棄(這些用戶進程還會收到所有其他類型的I C M P報文的拷貝,雖然它們應該由內核來處理,當然用戶進程只有在內核處理以後才能收到這些報文)。有一些報文完全被忽略。最後,如果最後一列標明的是引號內的一串字元,那麼它就是對應的 U n i x差錯。其中一些差錯,如 T C P對發送端關閉的處理等,我們將在以後的章節中對它們進行討論。