複製鏈接
請複製以下鏈接發送給好友

網際控制報文協議

鎖定
ICMP是(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然並不傳輸用户數據,但是對於用户數據的傳遞起着重要的作用。
中文名
網際控制報文協議
外文名
Internet Control Message Protocol
簡    稱
ICMP

網際控制報文協議基本定義

1:ICMP是為了解決兩大問題
反饋分組傳送和到達中出現的各種錯誤
查詢主機或路由器信息
2:ICMP是網絡層協議,但它不直接傳遞給下層(數據鏈路層),而是被封裝為IP數據報傳遞給下層
3:在IP數據報中,協議字段為1則為ICMP報文

網際控制報文協議功能分類

ICMP報文分為差錯報告報文和查詢報文,
1:差錯報告報文
1:差錯報告報文總是發給數據源站,以下4中情況不產生ICMP報文
(1):攜帶ICMP的數據報不再產生ICMP報文
(2):若數據報進行了分片,只有第一個分片能產生ICMP報文
(3):多播地址的數據報,不產生ICMP報文
(4):特殊地址(如127.0.0.0或0.0.0.0)不產生ICMP報文
2:ICMP差錯報告報文含有出現差錯原始數據報的首部和數據部分的前8個字節,這8個字節可以提供傳輸層(TCP或UDP)關於數據報出錯部分相關信息,如端口號(TCP和UDP)和序號
3::差錯報文類別有
(1):終點不可達:原因可能有網絡不可達,主機不可達,端口不可達,協議不可達等,有些是路由器發出,有些是目的主機發出,但即使源點沒有收到終點不可達ICMP,也不能確定目的主機已經收到了數據報,因為如以太網這樣的網絡,沒有數據報確認機制,必須由上層確認
(2):源點抑制:源點抑制提供了擁塞控制,當路由器或者主機因擁塞丟棄數據報時,每個被丟棄的數據報都要向源點發送源點抑制報文
源點抑制作用有:
1:告訴源點數據報被丟棄
2:要求源點放慢發包速度.
説明:
1:沒有一種機制告訴源點擁塞已經得到緩解,源點只有不斷放慢發包速度,直到不再收到源點抑制數據報
2:在多對1發包的情況下,發送方速度不一致,產生擁塞後,路由器或目的主機不知道那個源點該對擁塞負責,他們只知道向被丟棄的數據報源點發送ICMP
(3):超時:有兩種情況:
1:生存時間(實際是跳數)遞減為0,數據報被丟棄,向源點發送ICMP超時報文,這種報文只有可能是路由器發送
2:當目的主機收到一個分片時,就會啓動一個分片計時器,如果計時器內分片沒完全到達,則發送超時報文並丟棄已經收到的所有分片
(4):參數問題:數據報首部出現錯誤或者首部缺少一些選項發送此報文,主機和路由器都可能發送此報文
(5):改變路由(非常重要):路由器要經常更新自己的路由表,網絡上主機的數量遠遠大於路由器的數量,如果主機也動態更新,將產生無法忍受的通信量,所以主機使用靜態路由選擇,一般情況下,開始時主機只知道默認路由地址,IP數據報將被髮送到默認路由器,但也許此數據報應該被髮到另外的路由器,默認路由器知道這種情況後,轉發此數據報,並向源點發送改變路由ICMP,讓主機刷新自己的路由表,主機的路由表通過這種方式進行更新
説明:改變路由是唯一一個不會丟棄數據報的差錯報告報文
2:查詢報文
1:此報由源點發出,再由目的點以指定的格式進行回答
2:查詢報文類別有:
(1):回送請求與回答:一般用於源主機或源路由器判斷目的主機或目的路由器能否與其通信,主機和路由器都能發送此報文,此報文包括了回送請求報文和回送回答報文,ping命令便是此報文
(2):時間戳請求和回答:包括時間戳請求報文和時間戳回答報文,它能夠確定IP數據報在兩台機器的往返時間,即使兩個路由器本地時間不同步,但他們的往返時間仍然是精確的,具體計算方法參考書上