網路層 IP選路和動態選路協議

2021-07-27 03:33:20 字數 2831 閱讀 5174

選路是ip最重要的功能之一。需要進行選路的資料報可以由本地主機產生,也可以由其他主機產生。在後一種情況下,主機必須配置成乙個路由器,否則通過網路介面接收到的資料報,如果目的位址不是本機就要被丟棄。

ip層工作流程如圖所示:

路由表中包含的資訊決定了ip層所做的所有決策。

ip搜尋路由表的幾個步驟:

1. 搜尋匹配的主機位址;

2. 搜尋匹配的網路位址;

3. 搜尋預設表項。

匹配主機位址步驟始終發生在匹配網路位址步驟之前。

ip層進行的選路實際上是一種選路機制,它搜尋路由表並決定向哪個網路介面傳送分組。這區別於選路策略,它只是一組決定把哪些路由放入路由表的規則。ip執行選路機制,而路由守護程式則一般提供選路策略。

如果路由表中沒有預設項,而又沒有找到匹配項,結果取決於該ip資料報是由主機產生的還是被**的。如果資料報是由本地主機產生的,那麼就給傳送該資料報的應用程式返回乙個差錯,或者是「主機不可達差錯」或者是「網路不可達差錯」。如果是被**的資料報,那麼就給原始傳送端傳送乙份icmp主機不可達的差錯報文。

一般認為,主機在引導以後要廣播或多播傳送乙份路由器請求報文。一台或更多台路由器響應乙份路由器通告報文。另外,路由器定期地廣播或多播傳送它們的路由器通告報文,允許每個正在監聽的主機相應地更新它們的路由表。路由器在乙份報文中可以通告多個位址。位址數指的是報文中所含的位址數。位址項大小指的是每個路由器位址32bit字的數目,始終為2。生存期指的是通告位址有效的時間(秒數)。

icmp路由器請求報文格式如下圖所示。

icmp路由器通告報文格式如下圖所示。

當路由器啟動時,它定期在所有廣播或多播傳送介面上傳送通告報文。除了定期傳送主動提供的通告報文以外,路由器還要監聽來自主機的請求報文,並傳送路由器通告報文以響應這些請求報文。

主機在引導期間一般傳送三份路由器請求報文,每三秒鐘傳送一次。一旦接收到乙個有效的通告報文,就停止傳送請求報文。主機也監聽來自相鄰路由器的請求報文。這些通告報文可以改變主機的預設路由器。另外,如果沒有接收到來自當前預設路由器的通告報文,那麼預設路由器會超時。

當相鄰路由器之間進行通訊,以告知對方每個路由器當前所連線的網路,這時就出現了動態選路。路由器之間必須採用選路協議進行通訊,這樣的選路協議有很多種。路由器上有乙個程序稱為路由守護程式(routing daemon),它執行選路協議,並與其相鄰的一些路由器進行通訊。

rip報文格式如下圖所示。

命令字段為1表示請求,2表示應答。還有兩個捨棄不用的命令(3和4),兩個非正式的命令:輪詢(5)和輪詢表項(6)。請求表示要求其他系統傳送其全部或部分路由表。應答則包含傳送者全部或部分路由表。

版本字段通常為1,而第2版rip將此字段設定為2。緊跟在後面的20位元組指定位址系列(address family)(對於ip位址來說,其值是2)、ip位址以及相應的度量,rip的度量是以跳計數的。採用這種20位元組格式的rip報文可以通告多達25條路由。上限25是用來保證rip報文的總長度為20×25+4=504,小於512位元組。由於每個報文最多攜帶25個路由,因此為了傳送整個路由表,經常需要多個報文。

採用rip協議的路由器執行的過程如下:

- 初始化:在啟動乙個路由守護程式時,它先判斷啟動了哪些介面,並在每個介面上傳送乙個請求報文,要求其他路由器傳送完整路由表。在點對點鏈路中,該請求是傳送給其他終點的。如果網路支援廣播的話,這種請求是以廣播形式傳送的。這種請求報文的命令字段為1,但位址系列字段設定為0,而度量字段設定為16。這是一種要求另一端完整路由表的特殊請求報文。

- 接收到請求。如果這個請求是剛才提到的特殊請求,那麼路由器就將完整的路由表傳送給請求者。否則,就處理請求中的每乙個表項:如果有連線到指明位址的路由,則將度量設定成我們的值,否則將度量置為16(度量為16是一種稱為「無窮大」的特殊值,它意味著沒有到達目的的路由)。然後發回響應。

- 接收到響應。使響應生效,可能會更新路由表。可能會增加新表項,對已有的表項進行修改,或是將已有表項刪除。

- 定期選路更新。每過30秒,所有或部分路由器會將其完整路由表傳送給相鄰路由器。傳送路由表可以是廣播形式的,或是傳送給點對點鏈路的其他終點的。

- 觸發更新。每當一條路由的度量發生變化時,就對它進行更新。不需要傳送完整路由表,而只需要傳送那些發生變化的表項。

rip-2的報文格式如下圖所示,對於rip-2來說,其版本欄位為2。

選路域(routingdomain)是乙個選路守護程式的識別符號,它指出了這個資料報的所有者。該域允許管理者在單個路由器上執行多個rip例項,每個例項在乙個選路域內執行。

選路標記(routingtag)是為了支援外部閘道器協議而存在的。它攜帶著乙個egp和bgp的自治系統號。

每個表項的子網掩碼應用於相應的ip位址上。下一站ip位址指明發往目的ip位址的報文該發往**。該字段為0意味著發往目的位址的報文應該發給傳送rip報文的系統。

rip-2提供了一種簡單的鑑別機制。可以指定rip報文的前20位元組表項位址系列為0xffff,路由標記為2。表項中的其餘16位元組包含乙個明文口令。

最後,rip-2除了廣播外,還支援多播。這可以減少不收聽rip-2報文的主機的負載。

ip動態選路

路由表的更新操作主要來自於 1 使用netstat,route進行手動新增或者從inte ce 我的機子是ubuntu 配置檔案中新增靜態路由。2 路由守護程式通過rip或ospf協議和其他路由器進行資訊交換,從而獲得網路拓撲圖,並使用最短路演算法,bellman ford或者dijstra演算法進...

(10)動態選路協議

一 簡介 動態選路協議用於路由器間的通訊。二 rip 選路資訊協議 rip報文包含在udp資料報中。如下所示 rip常用的udp埠號是520。rip協議的routed程式正常執行過程如下 1 初始化 在啟動乙個路由守護程式時,它先判斷啟動了哪些介面,並在每個介面上傳送乙個請求報文,要求其他路由器傳送...

TCP IP 網路 動態選路

當相鄰路由器之間進行通訊,告知對方每個路由器當前所連線的網路,此時就會使用動態選路。路由器之間必須採用選路協議進行通訊。路由器上有乙個路由守護程序,其執行選路協議,並與相鄰的一些路由器進行通訊。路由守護程式根據它從相鄰路由器接收到的資訊,更新核心中的路由表。動態選路並不改變ip層的選路方式,核心搜尋...