A. 計算機網路-網路層-內部網關協議RIP
RIP (Routing Information Protocol))是內部網關協議IGP中最先得到廣泛使用的協議,它的中文名稱叫做 路由信息協議 ,但很少被使用。RIP是一種分布式的基於距離向量的路由選擇協議,是互聯網的標准協議,其最大優點就是簡單。
RIP協議要求網路中的每一個路由器都要維護從它自己到其他每一個目的網路的距離記錄(因此,這是一組距離,即「距離向量」)。RIP協議將「 距離 」定義如下:從一路由器到直接連接的網路的距離定義為1。從一路由器到非直接連接的網路的距離定義為所經過的路由器數加1。「加1」是因為到達目的網路後就進行直接交付,而到直接連接的網路的距離已經定義為1。例如路由器R1到網1或網2的距離都是1(直接連接),而到網3的距離是2,到網4的距離是3。
RIP協議的「距離」也稱為「跳數」(hop count)吧,因為每經過一個路由器,跳數就加1。RP認為好的路由就是它通過的路由器的數目少,即「距離短」, RIP允許一條路徑最多隻能包含15個路由器 。因此「距離」等於16時即相當於不可達,可見RIP只適用於小型互聯網。
"需要注意的是,到直接連接的網路的距離也可定義為0(採用這種定義的理由是:路由器在和直接連接在該網路上的主機通信時,不需要經過另外的路由器。既然每經過一個路由器要將距高加1,那麼不再經過路由器的距離就應當為0)。但兩種不同的定義對實現RIP協議並無影響,因為重要的是要找出最短距離,將所有的距離都加1或都減1,對迭擇最佳路由其實是一樣的。"
RIP不能在兩個網格之間同時使用多條路由 ,RIP選擇一條具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低時廷)但路由器較多的路由。
RIP協議和OSPF協議,都是分布式路由選擇協議。 它們的共同特點就是每一個路由器都要不新地和其他一些路由器交換路由信息。我們一定要弄清以下三個要點,即和哪些路由器交換信息?交換什麼信息?在什麼時候交換信息?
RIP協議的特點是:
(1) 僅和相鄰路由器交換信息 。如果兩個路由器之間的通信不需要經過另一個路由器,那麼這兩個路由器就是相鄰的。RIP協議規定,不相鄰的路由器不交換信息。
(2) 路由器交換的信息是當前本路由器所知道的全部信息,即自己現在的路由表。 也就是說,交換的信息是:「我到本自治系統中所有網路的(最短)距離,以及到每個網路應經過的下一跳路由器」。
(3) 按因定的時間間隔交換路由信息 ,例如,母隔30秒。然後路由器根據收到的路由信息更新路由表。當網路拓撲發生變化時,路由器也及時向相鄰路由器通告拓撲變化後的路由信息。
路由器在剛剛開始工作時,它的路由表是空的,然後路由器就得出到直接相連的幾個網路的距離(這些距離定義為1)。接著,每一個路由器也只和數目非常有限的相鄰路由器交換並更新路由信息。但經過若干次的更新後,所有的路由器最終都會知道到達本自治系統中任何一個網路的最短距離和下一跳路由器的地址。
看起來RIP協議有些奇怪,因為「我的路由表中的信息要依賴於你的,而你的信息又依賴於我的。」然而事實證明,通過這樣的方式一「我告訴別人一些信息,而別人又告訴我一些信息。我再把我知道的更新後的信息告訴別人,別人也這樣把更新後的信息再告訴我」,最後在自治系統中所有的結點都得到了正確的路由選擇信息。在一般情況下,RIP協議可以收斂,並且過程也較快。 「收斂」就是在自治系統中所有的結點都得到正確的路由選信的過程。
路由表中最主要的信息就是: 到某個網鉻的距離(即最短距離),以及應經過的下一跳地址 。路由表更新的原則是找出到每個目的網路的最短距離。這種 更新演算法又稱為距離向量演算法 。
對每一個相鄰路由器發送過來的RIP報文,進行以下步驟:
現在較新的RIP版本是1998年1I月公布的RIP2RFC2453](已成為互聯網標准),新版本協議本身並無多大變化,但性能上有些改進。RIP2可以支持變長子網掩碼和無分類域間路由選擇CIDR。此外,RIP2還提供簡單的鑒別過程支特多播。圖4-32是RP2的報文格式,它和RIP1的首部相同,但後面的路由部分不一樣。
RIP報文由首部和路由部分組成。
RIP的首部佔4個位元組,其中的命令欄位指出報文的意義。例如,1 表示請求路由信息,2表示對請求路由信息的響應或未被請求而發出的路由更新報文,首部後而的「必為0」是為了4位元組字的對齊。
RIP2報文中的路由部分由若干個路由信息組成,每個路由信息需要用20個位元組。 地址族標識符(又稱為地址類別)欄位用來標志所使用的地址協議。 如採用IP地址就令這個欄位的值為2(原來考慮RIP也可用於其他非TCPP協議的情況), 路由標記填入自治系統號ASN (Autonomous System Number))( 自治系統號ASN原來規定為一個16位的號碼(最大的號碼是655),由1ANA分配.現在已經把ASN擴展到32位),這是考慮使RIP有可能收到本自治系統以外的路由選擇信息。再後面指出某個網路地址、該網路的子網掩碼、下一跳路由器地址以及到此網路的距離,一個RIP報文最多可包括25個路由,因而RIP報文的最大長度是4+20×25=504位元組。如超過,必須再用一個RIP報文來傳送。
RIP2還具有簡單的鑒別功能。若使用鑒別功能,則將原來寫入第一個路由信息(20位元組)的位置用作鑒別。這時應將地址族標識符置為全1(即0 xFFFF),而路由標記寫入鑒別類型,剩下的16位元組為鑒別數據。在鑒別數據之後才寫入路由信息,但這時最多隻能再放入24個路由信息。
優點: RIP協議最大的優點就是實現簡單,開銷較小;如果發現更短的路由,這種更新信息傳播的很快。
缺點: 限制了網路的規模,它能使用的最大距離為15(16表示不可達);路由器之間交換的路由信息是路由器中的完整路由表,因而隨著網路規模的擴大,開銷也就增加; 當出現網路故障時,要經過比較長的時間才能將此信息傳送到所有的路由器。
設三個網路通過兩個路由器互連起來,並且都已建立了各自的路由表。圖中路由器交換的信息只給出了我們感興趣的一行內容。路由器R1中的「 1,1,直接 」表示「到網1的距離是1,直接交付」。路由器R2中的「 1,2,R1 」表示「到網1的距離是2,下一跳經過R1」。
現在假定路由器R1到網1的鏈路出了故障,R1無法到達網1。於是路由器R1把到網1的距離改為16(表示到網1不可達),因而在R1的路由表中的相應項目變為「 1,16,直接 」。但是,很可能要經過30秒鍾後R1才把更新信息發送給R2。然而R2可能已經先把自己的路由表發送給了R1,其中有「1,2,R1」這一項。
B. linux為了確定網路層經過的路由器數目應用什麼命令
Tracert為路由跟蹤程序,用於確定本地主機到目標主機經過哪些路由結點。在Linux操作系統中,對應的命令為Traceroute,tracert為windows系統下的命令。Tracert是利用ICMP和TTL進行工作的。首先tracert會發出TTL值為1的ICMP數據報(包含40個位元組,包括源地址、目標地址和發出的時間標簽,一般會連續發3個包)。當到達路徑上的第一個路由器時,路由器會將TTL值減1,此時TTL值變成0,該路由器會將此數據報丟棄,並返回一個超時回應數據報(包括數據報的源地址、內容和路由器的IP地址)。當
tracert收到該數據報時,它便獲得了這個路徑上的第一個路由器的地址。接著,tracert再發送另一個TTL為2的數據報,第一個路由器會將此數據報轉發給第二個路由器,而第二個路由器收到數據報時,TTL為0。第二個路由器便會返回一個超時回應數據報,從而tracert便獲得了第二個路由器的地址。Tracert每次發出數據報時便會將TTL加1(一般每次都是發3個數據報),來發現下一個路由器。這個動作一直重復,直到到達目的地或者確定目標主機不可到達為止。當數據報到達目的地後,目標主機並不返回超時回應數據報。Tracert在發送數據報時,會選擇一個一般應用程序不會使用的號碼(30000以上)來作為接收埠號,所以當到達目的地後,目標主機會返回一個ICMP port unreachable(埠不可達)的消息。當tracert收到這個消息後,就知道目的地已經到達了。
Tracert會提取ICMP的超時回應數據報中的IP地址並作主機名解析(用-d參數表示不解析主機名,解析主機名會耽誤一些時間),然後將所經過的路由器的主機名及IP地址、數據報每次往返花費的時間顯示出來。Tracert有一個固定的等待響應時間,如果這個時間過了,tracert就會輸出「*」來表示某個設備沒有在規定的時間內作出響應,然後tracert會將TTL值加1,繼續進行檢測。
通過tracert命令,我們便知道源地址到目的地址所經過的路徑。雖然數據報傳輸時,經過的路徑並不是每次都一樣,但是大部分時間是一樣的。在目標主機響應時,tracert會顯示完整的經過的理由以及到每個路由所花費的時間。如果目標主機沒有響應,tracert仍會嘗試尋找所經過的路徑。
B.Tracert結果的實際意義
網路不穩定時,可以看出具體哪些結點不穩定,以及不穩定的結點的上一個結點和下一個結點分別是在什麼位置,由此即可大致判斷出不穩定的網路結點在什麼位
置。我們可以通過查詢IP地址的網站如http://www.iplocation.net/(查國外IP比較准)或者ip138.com(查國內IP比
較准)查詢下相應結點的位置。
tracert命令參數說明
重點掌握-d參數即可,它表示不解析IP對應的主機名。
-d 指定不將IP解析到主機名,運行更快
-h maximum_hop 指定最大躍點數
C. linux為了確定網路層經過的路由器數目應用什麼命令
tracert
tracert是路由跟蹤實用程序,用於確定
IP
數據報訪問目標所採取的路徑。tracert
命令用
IP
生存時間
(TTL)
欄位和
ICMP
錯誤消息來確定從一個主機到網路上其他主機的路由。
D. 怎樣查看本機到一個網站經過多少路由節點
打開運行窗口,進行查看。
1、按win鍵加R鍵,然後打開運行窗口,輸入CMD,然後點擊確定按鈕。
E. 想發現到達目標網路需要經過那些路由器,應該使用的命令為
如果你在電腦上可以進命令行輸入 tracert 目標網路IP就可以看見經過了多少跳(即是經過了多少個路由器)