閱讀678 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《IP路由協議疑難解析》一2.6 RIP的運作方式

本節書摘來自異步社區《IP路由協議疑難解析》一書中的第2章,第2.6節,作者 【美】Zaheer Aziz, CCIE #4127 , Johnson Liu, CCIE #2637 , Abe Martey, CCIE #2373 , Faraz Shamim, CCIE #4131,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看

2.6 RIP的運作方式

IP路由協議疑難解析
運行RIP的路由器在收發RIP路由更新消息時,會遵守一定的規則。本節將細述這些規則。

2.6.1 發送RIP路由更新時所要遵守的規則

發送RIP路由更新時,路由器會執行若幹項檢查。如圖2-3所示,圖中兩台路由器都運行RIP。路由器1連接了兩個主類網絡131.108.0.0/16和137.99.0.0/16。主類網絡131.108.0.0則被進一步劃分為了兩個子網:131.108.5.0/24和131.108.2.0/24,路由器2實際上隻與後者直連。

bc37290057d6a9bbe5ca8a99e4343b32a6571154

圖2-4所列為路由器1向路由器2發送RIP更新之前所要進行的檢查。

bbfefb27f3b8b77e80a8716b9f7b91bcece5ce17

運行RIP的路由器(以下簡稱RIP路由器)在發送路由更新時,會檢查待通告的目的網絡或目的子網與發送RIP數據包的接口(的IP地址)是否隸屬同一主類網絡。若否,RIP路由器在通告時會做自動聚合處理。這就是說,RIP路由器在其發送的路由更新消息中隻會包含主類網絡信息。試舉一例,如圖2-3所示,路由器1向路由器2發送RIP更新消息時,會自動將子網137.99.88.0聚合為137.99.0.0。若待通告的目的網絡或目的子網與發送RIP數據包的接口(的IP地址)隸屬同一主類網絡,RIP路由器則要判斷兩者的子網掩碼是否相同。若是,RIP路由器通告該網絡;若否,做丟棄處理。

2.6.2 接收RIP路由更新時所要遵循的規則

路由接收方通過RIP收到路由更新時,路由更新消息中所包含的目的網絡地址可以是子網號、主機地址、主類網絡號或全0(表示默認路由),如下所列:

子網號(如131.108.1.0);
主機地址(如131.108.1.1);
網絡號(如131.108.0.0);
默認路由(如0.0.0.0)。
圖2-5所示為路由接收方通過RIP接收路由時做執行的檢查步驟。

c0f9957393aa9710a0ea6057f5943646bc724711

接收路由更新消息時,RIP路由器需確定路由更新中所包含的子網地址,與接收接口(所設IP地址)是否隸屬於同一主類網絡。

若是,路由器2會用接收接口所設掩碼作為相應RIP路由的掩碼。若RIP路由更新消息的主機部分設置了主機位,則接收(路由更新的)路由器會用主機掩碼(作為)相應路由的子網掩碼。

若否,RIP路由器會檢查該主類網絡所包含的任一子網路由是否在本機路由表中“現身”,並會判斷那些子網路由是否從其他接口而非接收RIP路由更新的接口收得。請注意,在這種情況下,RIP路由更新中所包含的目的網絡一定會是主類網絡。若隸屬於該主類網絡的任一子網路由在路由表中“現身”,路由器2會對其“視而不見”。若未在路由表中“現身”,路由器2將使用有類掩碼作為相應路由的子網掩碼。

若RIP路由更新從無編號接口(鏈路)收得,則子網信息必須包含於其內(必須將網絡地址的子網部分置位)。此時,路由器2將使用主機掩碼作為相應路由的子網掩碼。若路由更新攜帶了子網廣播地址(比如,131.108.5.127/25),或D、E類地址,RIP路由器則必須對其“視而不見”。

2.6.3 RIP路由更新發送示例

本節將舉例說明RIP路由更新的發送原理。圖2-6所示為兩台運行RIP協議的路由器。路由器1和2間的WAN互連網段為131.108.0.0。路由器1的以太網接口IP地址也隸屬於131.108.0.0。路由器1還連接了另一個主類網絡137.99.0.0。

如圖2-6所示,路由器1向路由器2通告RIP路由更新時,會進行下列檢查。

1.網絡131.108.5.0/24與生成RIP路由更新的(路由器接口所處)網絡131.108.2.0/24,是否隸屬於同一主類網絡?

2.是。131.108.5.0/24與生成RIP路由更新的(路由器接口所處)網絡131.108.2.0/24,是否具有相同的子網掩碼?

3.是。路由器1通告網絡131.108.5.0/24。

4.網絡137.99.88.0/24與生成RIP路由更新的(路由器接口所處)網絡131.108.2.0/24,是否隸屬於同一主類網絡?

5.否。路由器1在主網邊界對137.99.88.0/24執行路由匯總,同時通告路由137.99.0.0。

e326e06df6b3271aef9b0016a772f0aad0fd8223

上述過程執行完畢之後,路由器1會在其RIP路由更新中“納入”目的網絡號131.108.5.0和137.99.0.0,然後向路由器2通告。在路由器1上執行debug ip rip命令,觀查其輸出,可對此一覽無餘,如例2-1所示。

例2-1 用debug ip rip命令來揭示RIP路由更新的發送原理

9c041bb2130130211b02329b8cab45faefe122c0

2.6.4 RIP路由更新接收示例

例2-2所示debug ip rip命令的輸出顯示了路由器2從路由器1接收RIP路由更新時的情況。

例2-2 用debug ip rip命令,來顯示RIP路由更新的接收原理

76ea4cfbcb3ce1117032bca390009ad6128e7bd4

圖2-6中所示的路由器2會進行下列檢查,來確定為其接收的路由“配備”什麼樣的子網掩碼:

1.所收主網路由137.99.0.0與接收RIP路由更新的(路由器接口所處)網絡131.108.2.0,是否相同?

2.否。查詢路由表,檢查是否通過其他接口學得該主類網絡所含任一子網路由?

3.否。因路由137.99.0.0屬於B類網絡,故路由器2用原生態掩碼(/16)作為其子網掩碼。

4.所收子網路由131.108.5.0與接收RIP路由更新的(路由器接口所處)網絡131.108.2.0,是否隸屬於同一主類網絡?

5.是。路由器2用接收RIP路由更新的接口所設掩碼/24,作為路由131.108.5.0的子網掩碼。

上述過程執行完畢之後,路由器2的路由表中會同時“進駐”主網和子網路由,可執行show ip route命令來加以驗證(如例2-3所示)。

例2-3 在路由器2上執行show ip route命令,來揭示其路由表中的主網和子網路由

27a27f2786fa3d79718d0525fa80e80eec64a29a

1原文是“Router 2 applies the mask of thereceiving interface. If the host bitis set in the host portion of theRIP update, the receiving routerapplies the host mask.”譯文直譯。—譯者注

最後更新:2017-06-15 17:02:10

  上一篇:go  探索ES6之let、const
  下一篇:go  支付寶放大招 鑽石會員免費提現額度達100萬 | 附快速升級攻略