資源描述:
《差錯與控制報文協(xié)議(ICMP)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第5講因特網(wǎng)控制報文協(xié)議IP協(xié)議存在的問題:IP協(xié)議沒有差錯報告或差錯糾正機制;IP協(xié)議缺少一種為主機和管理查詢的機制;ICMP協(xié)議是為補充IP協(xié)議的兩個缺點而設(shè)計的,它配合IP協(xié)議使用;ICMP協(xié)議:用于IP層的差錯報告、擁塞控制、路徑控制以及路由器或主機信息的獲取。ICMP協(xié)議在網(wǎng)絡(luò)層中的位置:ICMP協(xié)議報文封裝:向下:雖然ICMP協(xié)議可以接受來自上層的請求,但并不直接封裝來自上層協(xié)議的數(shù)據(jù)。ICMP協(xié)議將請求轉(zhuǎn)變?yōu)镮CMP報文,然后將報文封裝在IP協(xié)議中進行發(fā)送,在IP數(shù)據(jù)報首部中的協(xié)議字段為“1”;向上:IP軟件一旦接收到差
2、錯或控制報文,立即交給ICMP模塊進行處理。ICMP模塊可以形成應(yīng)答報文,也可以交給上層的應(yīng)用程序或協(xié)議去處理。文檔:RFC792:InternetControlMessageProtocol,1981RFC1256:ICMPRouterDiscoveryMessages,1991主要內(nèi)容5.1ICMP報文格式與類型5.2ICMP差錯報告5.3ICMP控制報文5.4ICMP請求與應(yīng)答報文對5.1ICMP報文格式與類型ICMP報文由首部和數(shù)據(jù)段組成。首部為定長的8個字節(jié),前4個字節(jié)是通用部分,后4個字節(jié)隨報文類型的不同有所差異。ICMP
3、報文的一般格式如圖所示。字段說明:類型:是一個8比特長字段,定義了ICMP報文的類型。代碼:是一個8比特長字段,指明了發(fā)送此特定報文類型的原因。檢驗和:是一個16比特長字段,用于數(shù)據(jù)報傳輸過程中的差錯控制。首部的其余部分:對每一種報文類型都是特定的。數(shù)據(jù)段部分:在差錯報文中:所攜帶的信息可找出引起差錯的原始分組;在查詢報文中:攜帶了基于查詢類型的額外信息。ICMP報文類型:(見下圖)情況一、分為二大類:差錯報告和查詢情況二、分為三大類:差錯報告、控制報文和請求應(yīng)答報文返回5.2ICMP差錯報告ICMP差錯報告的數(shù)據(jù)段部分:包含出錯數(shù)據(jù)
4、報的首部及出錯數(shù)據(jù)報的前64位數(shù)據(jù)(即:端口號(UDP和TCP)和序號(TCP)),這些信息有助于信源或管理人員發(fā)現(xiàn)錯誤原因;ICMP差錯報告具有以下特點:只報告差錯,但不負責(zé)糾正錯誤,糾錯工作留給高層協(xié)議去處理;發(fā)現(xiàn)出錯的設(shè)備只向信源機報告差錯。差錯報告作為一般數(shù)據(jù)傳輸,不享受特別優(yōu)先權(quán)和可靠性。產(chǎn)生ICMP差錯報告的同時,會丟棄出錯的IP數(shù)據(jù)報。以下幾種情況不會產(chǎn)生ICMP差錯報告報文:對于攜帶ICMP差錯報文的數(shù)據(jù)報,不會再產(chǎn)生ICMP差錯報文;對于分片的數(shù)據(jù)報,如果不是第一個分片,則不會產(chǎn)生ICMP差錯報文;對于具有組(多)播
5、地址的數(shù)據(jù)報文,不會產(chǎn)生ICMP差錯報文;對于具有特殊地址(如:127.0.0.0和0.0.0.0)的數(shù)據(jù)報文,不會產(chǎn)生ICMP差錯報文。5.2.1信宿不可達報告當(dāng)路由器無法根據(jù)路由表轉(zhuǎn)發(fā)IP數(shù)據(jù)報時或主機無法向上層協(xié)議和端口提交IP數(shù)據(jù)報時,將丟棄當(dāng)前的數(shù)據(jù)報,并產(chǎn)生信宿不可達差錯報告,向信源報告出錯;信宿不可達報文如圖所示。信宿不可達報文可能由路由器產(chǎn)生,也可能由信宿機產(chǎn)生。產(chǎn)生信宿不可達報文的原因的16種可能:類型報文代碼描述3信宿不可達0網(wǎng)絡(luò)不可達1主機不可達2協(xié)議不可達3端口不可達4數(shù)據(jù)報無法分片5源路由失敗6信宿網(wǎng)絡(luò)未知7
6、信宿主機未知8源主機被隔離9與信宿網(wǎng)絡(luò)的通信被禁止10與信宿主機的通信被禁止11對特定的服務(wù)類型(TOS)網(wǎng)絡(luò)不可達12對特定的服務(wù)類型(TOS)主機不可達13因管理者設(shè)置過濾而使主機不可達14因非法的優(yōu)先權(quán)而使主機不可達15因報文的優(yōu)先級低于網(wǎng)絡(luò)設(shè)置的最小優(yōu)先級而使主機不可達各代碼說明:代碼0:網(wǎng)絡(luò)不可達。可能是硬件故障。代碼1:主機不可達。這也可能是硬件故障。代碼2:協(xié)議不可達。IP數(shù)據(jù)報攜帶的數(shù)據(jù)可能屬于高層協(xié)議,但此時高層協(xié)議并未運行,于是就發(fā)送出代碼為2的報文。代碼3:端口不可達。數(shù)據(jù)報要交付的那個應(yīng)用程序(進程)此時未運行
7、。代碼4:需要進行分片,但該數(shù)據(jù)報的DM(不分片)字段已被設(shè)置。代碼5:源站路由選擇不能完成。即在這個源站路由選擇選項中定義的一個或多個路由器無法通過。代碼6:目的網(wǎng)絡(luò)不可知。(與代碼0不同)代碼7:目的主機不可知。(與代碼1不同)代碼8:源主機是孤立的。代碼9:與目的網(wǎng)絡(luò)的通信從管理上是禁止的。代碼10:與目的主機的通信從管理上是禁止的。代碼11:對所請求的服務(wù)類型,網(wǎng)絡(luò)不可達。(與代碼0不同)代碼12:對所請求的服務(wù)類型,主機不可達。(與代碼1不同)代碼13:主機不可達。因為管理機構(gòu)放置了一個過濾器在它上面。代碼14:主機不可達。
8、因為主機的優(yōu)先級被破壞了。這個報文由路由器發(fā)出,指出所請求的優(yōu)先級對該目的站是不允許的。代碼15:主機不可達。因為它的優(yōu)先級被刪掉了。注意:具有代碼2或3的目的站不可達報文只能由目的主機創(chuàng)建,其余的目的站不可達報文只能由