六、差錯與控制報文
1、ICMP差錯控制
互聯(lián)層使用的控制協(xié)議是互聯(lián)網(wǎng)控制報文協(xié)議(ICMP),作用是不僅傳輸控制報文,還傳輸差錯報文。
ICMP最基本的功能是提供差錯報告,但不提供處理方法。
ICMP差錯報文的特點:
差錯報文不享受特別優(yōu)先權(quán)和可靠性。
差錯報告數(shù)據(jù)中除包含故障IP數(shù)據(jù)報頭外,還包含故障IP數(shù)據(jù)報數(shù)據(jù)區(qū)的前64位數(shù)據(jù)。(利用前64位了解高層協(xié)議的重要信息)
IP軟件一旦發(fā)現(xiàn)傳輸錯誤,首先拋棄出錯報文,然后調(diào)用ICMP向源主機報告出錯信息。
ICMP出錯報告包括:目的地不可達報告、超時報告、參數(shù)出錯報告等。
目的地不可達報告:路由選擇和轉(zhuǎn)發(fā)出錯時,路由器發(fā)出目的地不可達報告。
超時報告:IP數(shù)據(jù)報一旦到達生存周期,立刻將其拋棄,同時產(chǎn)生ICMP超時差錯報告,通知源主機該數(shù)據(jù)報已拋棄。
參數(shù)出錯報告:一旦參數(shù)錯誤嚴(yán)重到機器不得不拋棄IP數(shù)據(jù)報時,機器向源主機發(fā)送此報文,指出可能出現(xiàn)錯誤的參數(shù)位置。
2、ICMP控制報文
互聯(lián)網(wǎng)控制主要包括擁塞控制和路由控制兩部分。ICMP提供對應(yīng)的控制報文是擁塞控制與源抑制報文和路由控制與重定向報文。
(1)擁塞控制:路由器被大量涌入的IP數(shù)據(jù)報“淹沒”的現(xiàn)象。原因是:路由器處理速度慢,路由器傳入數(shù)據(jù)速率大于傳出速率。
其實質(zhì)原因是沒有足夠的緩沖區(qū)存放大量涌入的IP數(shù)據(jù)報。為控制擁塞,IP軟件采用“源站抑制”技術(shù),路由器對每個接口進行監(jiān)視,一旦發(fā)現(xiàn)擁塞,立即向相應(yīng)源主機發(fā)送ICMP源抑制報文,請求源主機降低發(fā)送IP數(shù)據(jù)報的速率。
抑制報文的方式有3種:
如果路由器輸出隊列已滿,在緩沖器空出前,拋棄新來的IP數(shù)據(jù)報,每拋棄一個數(shù)據(jù)報,向源主機發(fā)送ICMP源抑制報文。
為路由隊列設(shè)定一個閾值,超過該值,向源主機發(fā)送ICMP源抑制報文。
更為復(fù)雜的源站抑制技術(shù)是選擇性的抑制IP數(shù)據(jù)報發(fā)送率較高的源主機。
什么時候解除擁塞,路由器不通知源主機,而是根據(jù)當(dāng)前一段時間內(nèi)是否收到ICMP源抑制報文自主決定。
(2) 路由控制與重定向報文
在IP互聯(lián)網(wǎng)中,主機在傳輸數(shù)據(jù)的過程中不斷從相鄰的路由器獲得新的路由信息。
主機在啟動時都具有一定的路由信息,但路徑不一定是的。
路由器一旦檢測到某IP數(shù)據(jù)報經(jīng)非優(yōu)路徑傳輸,它一方面繼續(xù)將報文轉(zhuǎn)發(fā)出去,另一方面將向主機發(fā)送一個重定向ICMP報文,通知相應(yīng)的目的主機的路徑。
ICMP重定向的優(yōu)點是保證主機擁有一個動態(tài)的、既小且優(yōu)的路由表。
3、ICMP請求/應(yīng)答報文對
為便于進行故障診斷和網(wǎng)絡(luò)控制,利用ICMP請求/應(yīng)答報文對來獲取某些有用的信息。
回應(yīng)請求與應(yīng)答:用于測試目的主機或路由器的可達性。過程是請求者向特定目的IP主機發(fā)送一個包含任選數(shù)據(jù)區(qū)的回應(yīng)請求,當(dāng)目的主機或路由器收到請求后,返回相應(yīng)的回應(yīng)應(yīng)答。如果請求者收到一個成功的應(yīng)答,說明路徑以及數(shù)據(jù)傳輸正常。
時戳請求與應(yīng)答:利用該請求與應(yīng)答從其他機器獲得其時鐘的當(dāng)前時間,經(jīng)估算后再同步時鐘。
掩碼請求與應(yīng)答:主機箱路由器發(fā)送該請求,路由器發(fā)回應(yīng)答告知主機的子網(wǎng)掩碼。