Internet控制信息協定

在被稱為Catenet的系統中,IP協定被用作主機到主機的數據報服務。網路連線設備稱為網關。這些網關通過網關到網關協定(GGP)相互交換用於控制的信息。通常,網關或目的主機將和源主機通信,例如,為報告在數據報過程中的錯誤。

(ICMP)Internet控制信息協定介紹

在被稱為Catenet系統中,IP協定被用作主機到主機的數據報服務網路連線設備稱為網關。這些網關通過網關到網關協定(GGP)相互交換用於控制的信息。通常,網關或目的主機將和源主機通信,例如,為報告在數據報過程中的錯誤。為了這個目的才使用了ICMP,它使用IP做於底層支持,好象它是一個高層協定,而實際上它是IP的一部分,必須由其它IP模組實現。
ICMP訊息在以下幾種情況下傳送:當數據報不能到達目的地時,當網關的已經失去快取功能,當網關能夠引導主機在更短路由上傳送。
IP並非設計為設計為絕對可靠,這個協定的目的是為了當網路出現問題的時候返回控制信息,而不是使IP協定變得絕對可靠,並不保證數據報或控制信息能夠返回。一些數據報仍將在沒有任何報告的情況下丟失。上層協定必須使用自己的差錯控制程式來判斷通信是否正確。
ICMP信息通常報告在處理數據報過程中的錯誤。若要避免信息無限制地返回,對於ICMP訊息不會單獨成包傳送,而且ICMP信息只在處理數據報偏移量為0時傳送。

訊息格式

ICMP訊息以基本IP頭髮送。數據的第一個位元組是ICMP類型域;此域的值決定了了其餘數據的格式。任何標記為“未使用”的域都是為以後的擴展保留的,在傳送過程中必須全部是0。除非在個別的格式之下,包頭域如下格式:
版本:4
IHL:Internet頭長度大小以32位字為單位。
服務類型:0
總長度:包頭長度和數據長度。
段中所用標識,段偏移量:在段是使用。
生存周期:以秒計,此域在每台機器處理數據報時減少,此值必須大於要傳送它的網關所消耗的時間。
協定:ICMP = 1
包頭校驗碼:16位數據反碼和再取反而得。為計算校驗碼,此域應該為0。在將來可以會取代這一域。
源地址:創建ICMP信息的網關或主機地址,除非說明,它可以是任何網關地址。
目的地址:信息要傳送到的網關或主機地址。
未達目的地信息
圖1
IP域:目的地址,傳送原始數據報數據的網路地址
ICMP域:
類型:3
代碼:
0 = 網路不可達;
1 = 主機不可達;
2 = 協定不可用;
3 = 連線埠不可達;
4 = 需要段和DF設定;
5 = 源路由失敗;
校驗碼:16位數據(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以後會被校驗碼取代。
Internet包頭+源數據報:
Internet包頭加上源數據的頭64位而得。此數據用於主機匹配信息到相應的進程。如果高層協定使用連線埠號,應該假設其在源數據的頭64個位元組之中。

說明:

相應於網關的路由表,如果在目的域中指定的網路不可達,如網路距離為無限遠,網關會向傳送源數據的主機傳送目的不可達訊息。而且,在一些網路中,網關有能力決定目的主機是否可達。如果目的地不可達,它將向傳送源數據的主機傳送不可達信息。
在目的主機,如果IP模組因為指定的協定模組和進程連線埠不可用而不能提交數據報,目的主機將向傳送源數據的主機傳送不可達信息。
另外一種情況是當數據報必須被分段傳送,而“不可分段”位打開,在這種情況下,網關必須拋棄此數據報,並向向傳送源數據的主機傳送不可達信息。
代碼0,1,4和5由網關傳送,而代碼2和3由主機傳送。
逾時信息
圖2
IP域:
目的地址:從源數據報數據中得到。
ICMP域:
類型:11
代碼:
0 = 傳送逾時
1 = 分段級裝逾時。
校驗碼:16位數據(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以後會被校驗碼取代。
Internet包頭+64位源數據報數據:Internet包頭加上源數據的頭64位而得。此數據用於主機匹配信息到相應的進程。如果高層協定使用連線埠號,應該假設其在源數據的頭64個位元組之中。

說明:

如果網關在處理數據報時發現生存周期域為零,此數據報必須拋棄。網關同時必須通過逾時信息通知源主機。
如果主機在組裝分段的數據報時因為丟失段未能在規定時間內組裝數據,此數據報必須拋棄。網關傳送逾時信息。
如果段零不可用則不用傳送逾時信息。
代碼0由網關傳送,代碼1由主機傳送。
參數問題訊息
圖3
IP域:
目的地址:從源數據中得到。
ICMP域:
類型:12
代碼:
0 = 指針指向錯誤。
校驗碼: 16位數據(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以後會被校驗碼取代。
指針
如果code = 0,指向有問題的位元組。
Internet包頭+64位源數據報數據:Internet包頭+64位源數據報數據:Internet包頭加上源數據的頭64位而得。此數據用於主機匹配信息到相應的進程。如果高層協定使用連線埠號,應該假設其在源數據的頭64個位元組之中。
說明:
如果網並或主機在處理數據報時發現包頭參數有錯誤以至不能完成工作,它必須拋棄此數據報。一個潛在的原因可以是變數的錯誤。網關或主機將通過參數問題訊息通知源主機,此訊息只有在訊息被拋棄時才被傳送。指針指向發現錯誤的數據報包頭位元組。
代碼: 從主機或網關接收0。
源擁塞訊息
圖4
IP域:
目的地址:源數據報數據的地址和源網路。
ICMP域:
類型:4
代碼: 0
校驗碼: 16位數據(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以後會被校驗碼取代。
Internet包頭+64位源數據報數據: Internet包頭+64位源數據報數據:Internet包頭加上源數據的頭64位而得。此數據用於主機匹配信息到相應的進程。如果高層協定使用連線埠號,應該假設其在源數據的頭64個位元組之中。

說明:

如果沒有緩衝容納,網關會拋棄數據報,如果網關這樣做了,它會傳送源擁塞訊息給傳送主機。如果接收的數據報太多無法處理,目的主機也會傳送相應的訊息給傳送主機。此訊息要求傳送發減少傳送速率,網關會給每個拋棄的訊息返回源擁塞訊息,在接到此訊息後,傳送主機應該減少傳送速率,直到不再接收到網關傳送的源擁塞訊息為止。在此之後,源主機可以再增加傳送速率,直到接收到目的主機的源擁塞訊息為止。
網關或主機不會等到已經超過限度後再傳送此訊息,而是接近自己的處理極限時就傳送此訊息,這意味著,引發源擁塞訊息的數據報仍然可以處理。代碼: 從主機或網關接收0。
重定向訊息
圖5
IP域:
目的地址:源數據報數據的地址和源網路。
ICMP域:
類型: 5
代碼:
0 = 重定向網路的數據報;
1 = 重定向主機的數據報;
2 = 重定向網路和服務類型的數據報;
3 = 重定向網路和主機類型的數據報。
校驗碼:
16位數據(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以後會被校驗碼取代。
網關Internet地址:
應該傳送網關地址(其在源數據報數據的internet目的網路域中指定)。
Internet包頭+64位源數據報數據:
Internet包頭+64位源數據報數據:Internet包頭加上源數據的頭64位而得。此數據用於主機匹配信息到相應的進程。如果高層協定使用連線埠號,應該假設其在源數據的頭64個位元組之中。
說明:
網關在下面情況下傳送重定向訊息。網關(G1)從網關相連的網路上接收到數據報,它檢查路由表獲得下一個網關(G2)的地址(X)。如果G2和指定的接收主機在同一網路上,重定向訊息發出,此訊息建議傳送主機直接將數據報發向網關G2,因為這更近,同時網關G1向前繼續傳送此數據報。
因為在數據報中的IP源路由和目的地址域是可選的,所以即使有更好的路由有時也無法發現。代碼:網關傳送0,1,2和3。

回送或回送回響訊息

圖6
IP域:
地址:
回送訊息的源地址是回送回響訊息的目的地址。若要形成一個回送回響訊息,應該將源和目的地址交換,將類型代碼更改為0,重新計算機校驗碼。
IP域:
類型:
8代表回送訊息;
0代表回送回響訊息。
代碼:0
校驗碼:
16位數據(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以後會被校驗碼取代。
標識符:如果代碼=0,幫助匹配回送和回送回響的代碼可以為0。
序列碼:如果代碼=0,幫助匹配回送和回送回響的序列碼可以為0。
說明:
回送訊息中接收到的訊息應該在回送回響訊息中返回。標識符和序列碼由回送傳送者使用幫助匹配回送請求的回響。代碼: 從主機或網關接收0。
時間戳和時間戳回響訊息
圖7
IP域:
地址:
時間戳訊息的源地址是時間戳回響訊息的目的地址。若要形成一個時間戳回響訊息,應該將源和目的地址交換,將類型代碼更改為14,重新計算機校驗碼。
IP域:
類型:
13代表時間戳訊息;
14代表時間戳回響訊息。
代碼:0
校驗碼:
16位數據(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以後會被校驗碼取代。
標識符:如果代碼=0,幫助匹配時間戳和時間戳回響的代碼可以為0。
序列碼:如果代碼=0,幫助匹配時間戳和時間戳回響的代碼可以為0。

說明:

接收到的時間戳附加在回響里返回,時間是以百萬分之一稱為單位計算,並以標準時午夜開始計時。原時間戳是傳送方傳送前的時間。接收時間戳是回送者接收到的時間,傳送時間是回送者傳送的時間。
如果時間以百萬分之一秒計無效,或者不能以標準時提供,可以在時間戳的高位元組填充入數據以表示這不是標準數據。標識符和序列碼由傳送者匹配請求的回響。代碼: 從主機或網關接收0。
信息請求或信息回響訊息
圖8
IP域:
地址:
信息請求訊息的源地址是信息回響訊息的目的地址。若要形成一個信息回響訊息,應該將源和目的地址交換,將類型代碼更改為16,重新計算機校驗碼。
IP域:
類型:
15代表信息請求訊息;
16 代表信息回響訊息。
代碼: 0
校驗碼:
16位數據(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以後會被校驗碼取代。
標識符:如果代碼=0,幫助匹配信息請求和信息回響的代碼可以為0。
序列碼:如果代碼=0,幫助匹配信息請求和信息回響的代碼可以為0。
說明:
此訊息可以在IP包頭中以源網路地址傳送,但同時目的地址域為0(這表示此網路內)。回響IP模組應該傳送完全指定地址的回響。傳送此訊息是主機尋找到自己所在網路號碼的一種方法。標識符和序列碼由傳送者匹配請求的回響。代碼: 從主機或網關接收0。
 
訊息類型總結
0 回送回響
3 目的不可達
4 源擁塞
5 重定向
8 回送
11 逾時
12 參數問題
13 時間戳
14 時間戳回響
15 信息請求
16 信息回響

相關詞條

相關搜尋

熱門詞條

聯絡我們