?? rfc792.txt
字號:
組織:中國互動出版網(wǎng)(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:顧國飛(ggfei ggfei@263.net)
譯文發(fā)布時間:2001-3-30
版權:本中文翻譯文檔版權歸中國互動出版網(wǎng)所有。可以用于非商業(yè)用途自由轉載,但必須保留本文檔的翻譯及版權信息。
Network Working Group J. Postel
Request for Comments: 792 ISI
September 1981
Updates: RFCs 777, 760
Updates: IENs 109, 128
RFC792- Internet控制信息協(xié)議(ICMP)
(RFC792 INTERNET CONTROL MESSAGE PROTOCOL)
目錄
1.介紹 2
2.消息格式 2
3.目的不可達信息 3
4.超時信息 3
5.參數(shù)問題消息 4
6.源擁塞消息 5
7.重定向消息 6
8.回送或回送響應消息 7
9.時間戳和時間戳響應消息 8
10.消息類型總結 9
11.參考資料 10
1.介紹
在被稱為Catenet的系統(tǒng)中,IP協(xié)議被用作主機到主機的數(shù)據(jù)報服務。網(wǎng)絡連接設備稱為網(wǎng)關。這些網(wǎng)關通過網(wǎng)關到網(wǎng)關協(xié)議(GGP)相互交換用于控制的信息。通常,網(wǎng)關或目的主機將和源主機通信,例如,為報告在數(shù)據(jù)報過程中的錯誤。為了這個目的才使用了ICMP,它使用IP做為底層支持,好象它是一個高層協(xié)議,而實際上它是IP的一部分,每一種IP模塊必須實現(xiàn)ICMP。
ICMP消息在以下幾種情況下發(fā)送:當數(shù)據(jù)報不能到達目的地時,當網(wǎng)關的已經失去緩存功能,當網(wǎng)關能夠引導主機在更短路由上發(fā)送。
IP并非設計為絕對可靠,這個協(xié)議的目的是為了當網(wǎng)絡出現(xiàn)問題的時候返回控制信息,而不是使IP協(xié)議變得絕對可靠,并不保證數(shù)據(jù)報或控制信息能夠返回。一些數(shù)據(jù)報仍將在沒有任何報告的情況下丟失。上層協(xié)議必須使用自己的差錯控制程序來判斷通信是否正確。
ICMP信息通常報告在處理數(shù)據(jù)報過程中的錯誤。若要避免信息無限制地返回,對于ICMP消息不會單獨成包發(fā)送,而且ICMP信息只在處理數(shù)據(jù)報偏移量為0時發(fā)送。
2.消息格式
ICMP消息以基本IP頭發(fā)送。數(shù)據(jù)的第一個字節(jié)是ICMP類型域;此域的值決定了了其余數(shù)據(jù)的格式。任何標記為"未使用"的域都是為以后的擴展保留的,在傳送過程中必須全部是0。除非在個別的格式之下,包頭域如下格式:
·版本:4
·IHL:Internet頭長度大小以32位字為單位。
·服務類型:0
·總長度:包頭長度和數(shù)據(jù)長度。
·標識符(Identification)、標志(Flags)、段偏移量:在分段時使用。
·生存周期:以秒計,此域在每臺機器處理數(shù)據(jù)報時減少,此值必須大于要傳送它的網(wǎng)關所消耗的時間。
·協(xié)議:ICMP = 1
·包頭校驗碼:16位數(shù)據(jù)反碼和再取反而得。為計算校驗碼,此域應該為0。在將來可以會取代這一域。
·源地址:創(chuàng)建ICMP信息的網(wǎng)關或主機地址,除非說明,它可以是任何網(wǎng)關地址。
·目的地址:信息要發(fā)送到的網(wǎng)關或主機地址。
3.目的不可達信息
圖1
IP域:目的地址,發(fā)送原始數(shù)據(jù)報數(shù)據(jù)的網(wǎng)絡地址
ICMP域:
·類型:3
·代碼:
0 = 網(wǎng)絡不可達;
1 = 主機不可達;
2 = 協(xié)議不可用;
3 = 端口不可達;
4 = 需要段和DF設置;
5 = 源路由失敗;
·校驗碼:16位數(shù)據(jù)(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以后會被校驗碼取代。
·Internet包頭+源數(shù)據(jù)報:
Internet包頭加上源數(shù)據(jù)的頭64位而得。此數(shù)據(jù)用于主機匹配信息到相應的進程。如果高層協(xié)議使用端口號,應該假設其在源數(shù)據(jù)的頭64個字節(jié)之中。
·說明:
相應于網(wǎng)關的路由表,如果在目的域中指定的網(wǎng)絡不可達,如網(wǎng)絡距離為無限遠,網(wǎng)關會向發(fā)送源數(shù)據(jù)的主機發(fā)送目的不可達消息。而且,在一些網(wǎng)絡中,網(wǎng)關有能力決定目的主機是否可達。如果目的地不可達,它將向發(fā)送源數(shù)據(jù)的主機發(fā)送不可達信息。
在目的主機,如果IP模塊因為指定的協(xié)議模塊和進程端口不可用而不能提交數(shù)據(jù)報,目的主機將向發(fā)送源數(shù)據(jù)的主機發(fā)送不可達信息。
另外一種情況是當數(shù)據(jù)報必須被分段傳送,而"不可分段"位打開,在這種情況下,網(wǎng)關必須拋棄此數(shù)據(jù)報,并向發(fā)送源數(shù)據(jù)的主機發(fā)送不可達信息。
代碼0,1,4和5由網(wǎng)關發(fā)送,而代碼2和3由主機發(fā)送。
4.超時信息
圖2
IP域:
目的地址:從源數(shù)據(jù)報數(shù)據(jù)中得到。
ICMP域:
·類型:11
·代碼:
0 = 傳送超時;
1 = 分段級裝超時。
·校驗碼:16位數(shù)據(jù)(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以后會被校驗碼取代。
·Internet包頭+64位源數(shù)據(jù)報數(shù)據(jù):Internet包頭加上源數(shù)據(jù)的頭64位而得。此數(shù)據(jù)用于主機匹配信息到相應的進程。如果高層協(xié)議使用端口號,應該假設其在源數(shù)據(jù)的頭64個字節(jié)之中。
·說明:
如果網(wǎng)關在處理數(shù)據(jù)報時發(fā)現(xiàn)生存周期域為零,此數(shù)據(jù)報必須拋棄。網(wǎng)關同時必須通過超時信息通知源主機。
如果主機在組裝分段的數(shù)據(jù)報時因為丟失段未能在規(guī)定時間內組裝數(shù)據(jù),此數(shù)據(jù)報必須拋棄。網(wǎng)關發(fā)送超時信息。
如果段零不可用則不用發(fā)送超時信息。
代碼0由網(wǎng)關發(fā)送,代碼1由主機發(fā)送。
5.參數(shù)問題消息
圖3
IP域:
目的地址:從源數(shù)據(jù)中得到。
ICMP域:
·類型:12
·代碼:
0 = 指針指向錯誤。
·校驗碼: 16位數(shù)據(jù)(從ICMP類型開始)的反碼和再取反而得。為計算校驗碼,校驗碼域應該為零。這些零在以后會被校驗碼取代。
·指針:
如果code = 0,指向有問題的字節(jié)。
·Internet包頭+64位源數(shù)據(jù)報數(shù)據(jù):Internet包頭+64位源數(shù)據(jù)報數(shù)據(jù):Internet包頭加上源數(shù)據(jù)的頭64位而得。此數(shù)據(jù)用于主機匹配信息到相應的進程。如果高層協(xié)議使用端口號,應該假設其在源數(shù)據(jù)的頭64個字節(jié)之中。
·說明:
如果網(wǎng)關或主機在處理數(shù)據(jù)報時發(fā)現(xiàn)包頭參數(shù)有錯誤以至不能完成工作,它必須拋棄此數(shù)據(jù)報。一個潛在的原因可以是變量的錯誤。網(wǎng)關或主機將通過參數(shù)問題消息通知源主機,此消息只有在消息被拋棄時才被發(fā)送。
指針指向發(fā)現(xiàn)錯誤的數(shù)據(jù)報包頭字節(jié)(可能是選項的中間)。例如,1表示服務類型有錯誤,如果有選項的話,20表示第一個選項的類型有錯誤。
代碼0可能從主機或網(wǎng)關接收到。
6.源擁塞消息
圖4
IP域:
目的地址:源數(shù)據(jù)報數(shù)據(jù)的地址和源網(wǎng)絡。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -