6.因特網(wǎng)報文控制協(xié)議
a、因特網(wǎng)報文控制協(xié)議(ICMP--Internet Control Protocol)產(chǎn)生的原因:
IP協(xié)議盡力傳遞并不表示數(shù)據(jù)報一定能夠投遞到目的地,IP協(xié)議本身沒有內(nèi)在的機制獲取差錯信息并進行相應的控制,而基于網(wǎng)絡的差錯可能性很多,如:通信線路出錯、網(wǎng)關或主機出錯、信宿主機不可到達、數(shù)據(jù)報生存期(TTL時間)到、系統(tǒng)擁塞等等。為了能夠反映數(shù)據(jù)報的投遞,因特網(wǎng)中增加了ICMP協(xié)議。
b、ICMP協(xié)議的作用:
主要用于網(wǎng)絡設備和結點之間的控制和差錯報告報文的傳輸。
從因特網(wǎng)的角度看,因特網(wǎng)是由收發(fā)數(shù)據(jù)報的主機和中轉數(shù)據(jù)報的路由器組成。鑒于IP網(wǎng)絡本身的不可靠性,ICMP的目的僅僅是向源發(fā)主機告知網(wǎng)絡環(huán)境中出現(xiàn)的問題。ICMP主要支持路由器將數(shù)據(jù)報傳輸?shù)慕Y果信息反饋回源發(fā)主機。
c.ICMP 報文的傳輸
當路由器發(fā)現(xiàn)某份IP數(shù)據(jù)報因為某種原因無法繼續(xù)轉發(fā)和投遞時,則形成ICMP報文,并從該IP數(shù)據(jù)報中截取源發(fā)主機的IP地址,形成新的IP數(shù)據(jù)報,轉發(fā)給源發(fā)主機,以報告差錯的發(fā)生及其原因。
攜帶ICMP報文的IP數(shù)據(jù)報在反饋傳輸過程中不具有任何優(yōu)先級,與正常的IP數(shù)據(jù)報一樣進行轉發(fā)。如果攜帶ICMP報文的IP數(shù)據(jù)報在傳輸過程中出現(xiàn)故障,轉發(fā)該IP數(shù)據(jù)報的路由器將不再產(chǎn)生任何新的差錯報文。下圖示意了ICMP報文的形成和還回。
d.ICMP報文的類型
ICMP協(xié)議主要支持IP數(shù)據(jù)報的傳輸差錯結果,ICMP仍然利用IP協(xié)議傳遞ICMP報文。產(chǎn)生ICMP報文的路由器負責將其封裝到新的IP數(shù)據(jù)報中,并提交因特網(wǎng)返回至原IP數(shù)據(jù)報的源發(fā)主機。ICMP報文分為ICMP報文頭部和ICMP報文體部兩個部分。
類型字段:表示差錯的類型;
代碼字段:表示差錯的原因;
校驗和:表示整個ICMP報文的校驗結果。
ICMP數(shù)據(jù):差錯原因及說明。
ICMP報文類型主要有:
(1)目的地不可達報文 (2)源抑制(用于擁塞控制)
(3)重定向 (4)超時(TTL)報告
(5)參數(shù)錯 (6)回應請求
(7)回應應答 (8)時戳請求
(9)時戳應答
ICMP應用
目前,已經(jīng)利用ICMP報文開發(fā)了許多網(wǎng)絡診斷工具軟件。
(1)Ping軟件:
借助于ICMP回應請求/應答報文測試宿主機的可達性。
(2)跟蹤IP數(shù)據(jù)報發(fā)送的路由: 利用路由器對IP數(shù)據(jù)報中的生存期值作減1處理,一旦生存期值為0 就丟棄該IP數(shù)據(jù)報,并返回主機不可達的ICMP報文的特點。源發(fā)端針對指定的宿結點,形成一系列收方結點無法處理的IP數(shù)據(jù)報。這些數(shù)據(jù)報除生存期值遞增外,其它內(nèi)容完全一樣。這些數(shù)據(jù)報根據(jù)生存期的取值逐個發(fā)往網(wǎng)絡,第一個數(shù)據(jù)報的生存期為1;路由器對生存期值減一后,丟棄該IP數(shù)據(jù)報,并返回主機不可達ICMP報文;源發(fā)端繼續(xù)發(fā)送生存期為2,3,4,…的數(shù)據(jù)報,由于主機和路由器中對路由信息的緩存能力,IP數(shù)據(jù)報將沿著原路徑向宿結點前進。如果整個路徑中包括了N個路由器,則通過返回N個主機不可達報文和一個端口不可達報文的信息,了解IP數(shù)據(jù)報的整個路由。
(3)測試整個路徑的最大MTU:
利用因數(shù)據(jù)報不允許分段,而轉發(fā)網(wǎng)絡的MTU(最大傳輸單元)較小時會產(chǎn)生主機不可達報文的特點。這種測試對于源宿端具有頻繁的大量數(shù)據(jù)傳輸時,具有較高的實用價值。因為數(shù)據(jù)報長度越小,數(shù)據(jù)報傳輸?shù)挠行试降?而傳輸較大的數(shù)據(jù)報時,路由器勢必進行分段,既損耗了路由器的資源,更可能造成因某個數(shù)據(jù)分段丟失,而導致宿主機在組裝分段數(shù)據(jù)報時超時,丟棄整個數(shù)據(jù)報,造成帶寬的浪費。測試路徑MTU的方法類似路由跟蹤。源發(fā)端發(fā)送一定長度、且不允許分段的IP數(shù)據(jù)報,并根據(jù)路由器返回的主機不可達ICMP報文,逐步縮短測試IP數(shù)據(jù)報的長度。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |