TCP IP協議學習備忘之ICMP報文重定向

2021-05-06 17:14:02 字數 844 閱讀 9136

總結:

(1) icmp協議,屬於ip協議的一部分,被用來傳遞ip層的差錯報文。其中比較常見有echo,echo-reply,icmp redirection(重定向),型別**分別是0,8,5。echo(回顯請求),echo-reply(回顯答覆)被用的最多的地方就是ping程式;icmp報文重定向一般是用來讓具有路由資訊匱乏的主機逐步完善路由表,引導主機資料流的流向。下面主要說的是報文主機重定向。

(2) icmp報文重定向一般是用來讓具有路由資訊匱乏的主機逐步完善路由表,它可以讓主機預設的路由器優化主機的路由選擇。我們先說說ip路由選擇搜尋路由表的順序:首先搜尋匹配的主機路由;然後搜尋匹配的網路路由。最後實在沒有匹配的路由條目後,使用預設路由;一般情況下,主機開始可使用的路由很少,可能就使用到一條,就是預設路由。下面再舉乙個例子來說明icmp報文重定向是如何工作的:當乙個主機(pc1)傳送乙個ip報文到非本地子網,主機判斷這個ip報文是發到外網的(使用邏輯與),然後發給它的預設路由器(r1),路由器(r1)(這裡說的路由器可以是一台開啟ip**功能的機器)開啟ip報頭,發現目的ip位址是發往外網,搜尋路由表,發現通往下一跳路由器(r2)才是目的位址的真正閘道器,介面(比如eth0)可以通往。這時icmp報文重定向就被觸發,預設路由器傳送icmp重定向報文給主機,通知主機新增一條路由,告訴主機:你要去xx(目的位址),以後你把報文發給r2就好了。這裡需要強調的重點(1)是icmp重定向報文的觸發條件是:主機的預設路由器接收主機ip報文的介面和ip**介面必須是同一介面(即例子中eth0),也就是說預設路由器r1的eth0,pc,r2必須同屬乙個邏輯子網。(2)是icmp報文重定向必須只能由主機的預設路由器傳送給主機。我們使用抓包工具可以檢視到icmp重定向報文的型別是5,**是0。這個0僅代表icmp報文主機重定向。

TCP IP協議學習之四(DNS協議)

在實際的訪問網際網路資源的時候,我們會使用網域名稱進行訪問,比如www.baidu.com www.defense.gov等等。但是,實際的資料傳輸的時候,我們知道是通過ip位址與埠建立連線的,那麼怎麼把網域名稱翻譯成ip位址,這裡用到的協議就是dns協議。解析網域名稱時候,在unix環境高階程式設...

TCP IP協議學習

tcp ip參考模型 是乙個抽象的分層模型,這個模型中,所有的 tcp ip 系列網路協議 都被歸類到4個抽象的 層 中。每一抽象層建立在低一層提供的服務上,並且為高一層提供服務。完成一些特定的任務需要眾多的協議協同工作,這些協議分布在參考模型的不同層中的,因此有時稱它們為乙個 協議棧。最上面的是應...

TCP IP協議學習

tcp提供一種面向連線的 可靠的位元組流服務。tcp ip一般被認為是四層協議 應用層 處理特定的應用程式細節。傳輸層 主機間的應用程式提供端到端的通訊,包括tcp 傳輸控制協議 和udp 使用者資料報協議 網路層 網路層的協議包括ip協議 icmp協議 internet網際網路控制報文協議 igm...