亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

回顧IP路由的概念

動態路由協議概述及RIP

 

在一個IP網絡中,路由(Routing)是個非常非常基本的概念。網絡的基本功能,是使得處于網絡中的兩個IP節點能夠互相通信,而通信實際上就是數據交互的過程,數據交互則需要網絡設備幫助我們來將數據在兩個通信節點之間進行傳輸。當路由器(或者其他三層設備)收到一個IP數據包,路由器會找出報文中的IP頭里的目的IP地址,然后拿著目的IP地址到自己的路由表(Routing Table)中進行查找,找到“最匹配”的路由條目后,將數據包根據路由條目所指示的出接口或下一跳IP轉發出去,這就是路由(Routing)。

而每臺路由器都會在本地維護一個路由表,路由表中裝載著路由器通過各種途徑獲知的路由條目(Routes),每一條路由條目由路由前綴(路由所關聯的目的網絡號)、路由信息來源、出接口或下一跳IP、優先級、開銷等信息元素構成。路由器通過直連、靜態的或者動態的方式獲取路由條目并維護自己的路由表,路由表是每臺支持路由功能的設備進行數據轉發的依據和基礎,是一個非常重要的概念,任何一臺支持路由功能的設備要執行數據轉發或路由的動作,就必須擁有及維護一張路由表。

為什么要有動態路由協議

 

動態路由協議概述及RIP

 

上面已經說了,路由器是依賴自己維護的路由表來進行數據轉發的,而路由表又是由許多路由條目構成的,路由器要將數據轉發到目的地就必須有路由。一臺路由器可以從多種來源學習到路由條目:

直連路由

路由器在初始啟動后,如果我們為其接口配置IP地址,并且接口的物理及協議的狀態都為UP,則路由器能夠自動地學習該接口的網絡號,將這條直連路由裝載進路由表,這其實很好理解,因為這是我“家門口”的網絡嘛,無需干預,自動學習。

靜態路由

直連網絡能夠自動學習,可是非直連網絡可就無法自動學習了,那么一種最簡單的方式,就是通過手工配置的方式為路由器創建靜態的路由表項,這叫靜態路由,靜態路由由于其是靜態手工配置,因此可管理性非常高,但是也有明顯的缺陷,因為你要到一個目的地,就必須做一條靜態路由的配置,那么如果網絡特別龐大、設備數量特別多呢?工作量就相當大了,這是低效且不切實的;再者靜態路由無法根據網絡拓撲的變更做出動態的感知,因此當網絡發生變化時,管理員可能不得不重新配置或調整靜態路由。因此,我們迫切需要一種動態的機制,來幫助路由器更加靈活的維護路由信息。

動態路由協議的分類

根據作用的范圍,路由協議可分為:

內部網關協議(Interior Gateway Protocol,簡稱IGP):在一個自治系統內部運行

外部網關協議(Exterior Gateway Protocol,簡稱EGP):運行于不同自治系統之間

動態路由協議概述及RIP

 

所謂的AS自治系統指的就是,一個獨立自治的、自我管理的路由選擇域。

根據使用的算法,路由協議可分為:

距離矢量協議(Distance-Vector):包括RIP和BGP。其中,BGP也被稱為路徑矢量協議(Path-Vector)

鏈路狀態協議(Link-State):包括OSPF和IS-IS

動態路由協議概述及RIP

 

關于距離矢量路由協議

 

動態路由協議概述及RIP

 

我們先初步認識一下距離矢量路由協議。

動態路由協議,大家可以理解為賦予了路由器一種“語言”交流能力。在靜態路由環境下,路由器之間都互相不交流的,比較悶騷。但是一旦激活了動態路由協議,路由器之間就能夠進行互相的通告和學習。

在上圖中,初始情況下,R2是無法知道遠程網絡、R1的直連1.1.1.0/24的,在R1和R2激活了距離矢量的動態路由協議后,R1將自己家門口的路由1.1.1.0/24通告給R2,在通告路由的同時,還告訴R2你要前往1.1.1.0/24所需花費的“代價,或成本”,這樣一來R2就能動態的從R1學習到這條路由并且裝載進路由表。于是當R2要發送數據去往1.1.1.0/24的時候,就會將數據包丟給下一跳路由器、也就是路由的通告者R1。這就是所謂的距離矢量。最具代表性的距離矢量路由協議是RIP,RIP是一個有著悠久歷史的路由協議,簡單、小巧,但是也存在很大局限,這使得它幾乎很少在現今的網絡環境中被使用。但是經典畢竟是經典,從它入手,我們將更快速的理解動態路由協議。

使用距離矢量路由協議的路由器并不了解網絡的拓撲。該路由器只知道:

自身與目的網絡之間的距離,應該往哪個方向或使用哪個接口轉發數據包

實際上,運行距離矢量路由協議的路由器,是將自己的整張路由表更新給直連的其他路由器,彼此之間都進行更新,而路由器也會從其他直連路由器收到他們發來的路由更新,于是就進行一系列的路由收發行為,最終的結果是,大家都心滿意足的填充好了自己的路由表。

動態路由協議概述及RIP

 

關于鏈路狀態路由協議

動態路由協議概述及RIP

 

距離矢量路由協議是直接將自己的路由表更新給直連路由器,并且路由器并不了解整個拓撲結構,這很容易在特定情況下產生諸如路由環路之類的問題(因此距離矢量路由協議定義了一系列防止環路的特性)。相比之下,鏈路狀態路由協議則更新的不再是路由表或路由條目,而是對鏈路(接口)的描述等,通過鏈路狀態信息的泛洪,路由器搜集這些鏈路狀態信息并裝載進鏈路狀態數據庫,隨后運行特定的算法計算出一個無環的拓撲。因此運行鏈路狀態路由協議的路由器是知曉網絡的拓撲結構的。

鏈路狀態路由協議應該說是目前業內IGP應用的主流,其中最具代表性的當屬OSPF和ISIS。

RIP基礎

1、RIP的更新過程

現在我們通過一個簡單的環境,來看一下運行了RIP的路由器是如何交互路由信息的,并且網絡中的路由器是如何完成路由信息的學習和收斂的。當然,這是一個微觀的模擬過程,旨在幫助大家理解RIP的工作機制。

1)路由器初始啟動

最初的網絡發現:直連網絡寫入路由表,路由器能夠自動學習直連路由并寫入路由表,現在我們在所有路由器上都部署RIP。

 

動態路由協議概述及RIP

 

2)初次交換路由信息

由于ABC都運行了RIP,因此他們都將自己的路由表通過廣播(RIP版本1是廣播發送,版本2是組播發送)的方式從所有激活了RIP的接口上更新出去。拿B來舉例,它將自己的路由表更新出去,A和C都能夠收到。A收到B傳過來的路由表,它發現10.0.3.0路由自己沒有,于是將這條路由學習過來,同時在為這條路由關聯一個度量值:1跳,所謂1跳的意思是,A要到達10.0.3.0這個網絡,需要經過B這個路由器,這是一跳,一跳就是一臺三層設備,RIP通過跳數作為路由的度量值。

經過這一輪學習,A能學到10.0.3.0,C能學到10.0.2.0,而B能夠學習到A和C傳來的10.0.1.0及10.0.4.0。

動態路由協議概述及RIP

 

3)路由收斂完成

接下去又是一輪更新,所有路由器將自己的路由表發送給直連鄰居。A就能學習到B更新過來的10.0.4.0路由,跳數為2跳,因為它要到10.0.4.0需要經過BC兩臺路由器(實際上他并不知道要經過誰,RIP只是單純的做個加法而已)。這樣一來,所有的路由器,都擁有到達全網各個角落的路由了。我們把這個稱為,路由收斂完成了。

動態路由協議概述及RIP

 

路由器收斂完成的標志

當所有路由表包含相同網絡可達性信息

網絡(路由)進入一個穩態

路由器繼續交換路由信息

當無新路由信息被更新時收斂結束

網絡在達到收斂前無法完全正常工作

2、RIP概述

動態路由協議概述及RIP

 

RIP(Routing Information Protocols,路由信息協議)是歷史悠久的內部網關協議,適用于小型網絡,是典型的距離矢量協議;

RIP基于UDP,端口520;

華為設備上路由優先級為100;

定期更新整張路由表;依照傳聞;距離矢量路由協議并不了解網絡拓撲;

V2在V1的基礎上做了如下改進:

  1. 增加外部路由標記
  2. 增加VLSM支持
  3. 組播發送RIP消息:224.0.0.9
  4. 支持認證
  5. 增加下一跳字段

3、RIP的Metric(度量值)

RIP以跳數(Hops)作為度量值,雖然簡單,但是事實上是不夠科學的。如下圖:

動態路由協議概述及RIP

 

R5本地有個直連網絡100.0/24,它通過RIP將這個網絡更新出來。R2及R4都能學習到這條路由,并且跳數為1。而R1能通過R2學習到這條路由,跳數為2;同時R1又能從R3學習到R4傳遞過來的100.0/24路由,跳數為3,這樣一來,R1將收到兩條到達同一個網絡100.0/24的兩條RIP更新,它會去比較這兩條路由的metric,結果發現,從R2來的路由,metric也就是跳數要更小,因此R1將R2更新過來的路由裝載進路由表,并且將R2設置為去往該網段的下一跳。

很明顯,這是不合理的,因為雖然R1從R3-R4-R5這段路徑去往100.0/24經過的設備更多,但是鏈路卻都是1G帶寬,而從R2這一側走,鏈路的帶寬卻非常的低。但是很遺憾,RIP并無法不關心帶寬的問題,它只將跳數作為路由的度量值,這就是它的短板之一。

在路由表中,能夠查看到RIP路由的跳數:

動態路由協議概述及RIP

 

4、RIP的防環機制

我們先來看一下路由更新環路的現象:

 

動態路由協議概述及RIP

 

上圖匯總,假設ABC都運行了RIP,并且網絡已經收斂完成。現在C路由器的直連網段10.0.4.0發生故障,C檢測到故障后,將10.0.4.0路由從路由表中擦除。

 

動態路由協議概述及RIP

 

這時候,更新周期到了,ABC路由器都將自己的路由表更新給直連鄰居。那么C路由器會收到B更新過來的路由,其中也包括10.0.4.0,這時候C把10.0.4.0學習過來并且裝載進了路由表,同時關聯metric為2跳(因為路由是從B學習過來的,而B自己是1跳)。

 

動態路由協議概述及RIP

 

10.0.4.0路由繼續在網絡中隨著更新周期的到來不斷的被更新來更新去,然而事實上,10.0.4.0網絡早就不存在了,這時候如果網絡中有任何一個地方發送數據到10.0.4.0網絡,這個數據將在網絡中不斷的打轉,直到TTL遞減為0。這就是環路。

環路是一個危害非常大的問題,一個健壯的路由協議應該有充分的機制去規避環路的問題,RIP也有相應的一系列機制來防止網絡中出現環路。

  • 定義最大度量以防止計數至無窮大
  • 水平分割
  • 路由中毒
  • 毒性逆轉
  • 抑制計時器
  • 觸發更新

定義最大度量以防止計數至無窮大

在上文的例子中,10.0.4.0路由被RIP在網絡中傳來傳去,跳數不斷的累加。RIP定義了一個最大跳數,15跳,當一條路由跳數為16跳時,這條路由被視為不可達,因此這就避免了路由被無休止的傳遞。當然,這事實上是個笨方法,因為它在規避環路的同時,也限制了RIP適用的網絡規模,如果我的網絡當真有15臺以上的路由器串起來呢,這時候RIP就搞不定了。

水平分割規則

水平分割規則是距離矢量路由協議一個特點非常鮮明的機制。

 

動態路由協議概述及RIP

 

當一臺路由器,從一個接口收到一條路由更新,這臺路由器將不再把這條路由從該接口再更新回去,這就是水平分割規則,RIP的環路避免很大程度上依賴于該規則。

毒性路由

動態路由協議概述及RIP

 

另一個避免環路的機制是,路由中毒機制,上圖中,C路由器一旦發現10.0.4.0的直連網絡發生故障,它將立即發送一個路由更新,該更新包含10.0.4.0路由同時將跳數設置為16跳,這樣其他路由器將接收這個路由更新并將故障路由從路由表中擦去。

毒性逆轉

 

動態路由協議概述及RIP

 

毒性逆轉(Poison Reverse)的原理是,RIP從某個接口學到路由后,將該路由的開銷設置為16(即指明該路由不可達),并從原接口發回鄰居路由器。利用這種方式,可以清除對方路由表中的無用路由。毒性逆轉可以防止產生路由環路的發生。

在上圖中,如果C的10.0.4.0網絡掛掉了,而B不再從C收到4.0的路由更新,它就有可能向C通告4.0的路由(暫不考慮水平分割規則),這樣一來C就有可能將B作為4.0網絡的下一跳,這就形成了環路。在B上開啟了毒性逆轉后,B從GE0/0/1口收到的RIP路由,它也會將路由從該接口更新回去,只不過跳數被設置成了16,這樣C將不會使用這些路由。

同時配置水平分割和毒性逆轉的話,只有毒性逆轉生效。

5、RIP的配置

1.配置命令

啟動RIP進程,并進入RIP配置視圖

 [Router] rip 1 

在指定網段使能RIP(RIP只支持classful網絡宣告)

 [Router-rip-1] network 192.168.12.0

事實上這條命令將產生兩個效果:1是network的這個接口將激活RIP,開始發送和偵聽RIP消息;2是network的這個接口所在的網段會被

引入RIP并被RIP通告出去。

指定RIP的版本(默認為版本1)

 [Router-rip-1] version 2

2.配置示例

動態路由協議概述及RIP

 

R1的配置如下:

#完成接口IP的配置:

 [R1] interface GigabitEthernet 0/0/0
 [R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24
 [R1] interface GigabitEthernet 0/0/1
 [R1-GigabitEthernet0/0/1] ip address 192.168.1.254 24

#在R1的GE0/0/0及GE0/0/1口上激活RIPv2:

 [R1] rip 1
 [R1-rip-1] version 2 #指定RIP的版本為版本2
 [R1-rip-1] network 192.168.12.0 #在GE0/0/0口上激活RIP
 [R1-rip-1] network 192.168.1.0 #在GE0/0/1口上激活RIP

R2的配置如下:

#完成接口IP的配置:

 [R2] interface GigabitEthernet 0/0/0
 [R2-GigabitEthernet0/0/0] ip address 192.168.12.2 24
 [R2] interface GigabitEthernet 0/0/1
 [R2-GigabitEthernet0/0/1] ip address 192.168.23.2 24

#在R2的GE0/0/0及GE0/0/1口上激活RIPv2:

 [R2] rip 1
 [R2-rip-1] version 2
 [R2-rip-1] network 192.168.12.0
 [R2-rip-1] network 192.168.23.0

R3的配置如下:

#完成接口IP的配置

 [R3] interface GigabitEthernet 0/0/0
 [R3-GigabitEthernet0/0/0] ip address 192.168.23.3 24
 [R3] interface GigabitEthernet 0/0/1
 [R3-GigabitEthernet0/0/1] ip address 192.168.2.254 24

#在R3的GE0/0/0及GE0/0/1口上激活RIPv2

 [R3] rip 1
 [R3-rip-1] version 2
 [R3-rip-1] network 192.168.2.0
 [R3-rip-1] network 192.168.23.0

完成上述配置后,我們來查看及驗證,首先查看R1的IP路由表:

 [R1] display ip routing-table 
 Route Flags: R - relay, D - download to fib
 ------------------------------------------------------------------------------
 Routing Tables: Public
 Destinations : 12 Routes : 12 
Destination/Mask Proto PreCostFlags NextHop Interface
 192.168.1.0/24 Direct 0 0 D 192.168.1.254 GigabitEthernet0/0/1
 192.168.1.254/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
 192.168.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
 192.168.2.0/24 RIP100 2 D 192.168.12.2 GigabitEthernet0/0/0
 192.168.12.0/24 Direct 0 0 D 192.168.12.1 GigabitEthernet0/0/0
 192.168.12.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
 192.168.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
 192.168.23.0/24 RIP 100 1 D 192.168.12.2 GigabitEthernet0/0/0
 255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
 ……

從上面的輸出,我們可以看到R1已經通過RIP學習到了兩條路由,分別是192.168.2.0/24及192.168.23.0/24。當然為了使得PC1與PC2要能夠正常通信,沿途的所有路由器都要有完整的路由表項,因此我們還需要檢查檢查R2及R3的路由表,重點看RIP路由:

[R2] display ip routing-table protocol rip 
 Route Flags: R - relay, D - download to fib
 ------------------------------------------------------------------------------
 Public routing table : RIP
 Destinations : 2 Routes : 2 
 RIP routing table status : <Active>
 Destinations : 2 Routes : 2
 Destination/Mask Proto Pre Cost Flags NextHop Interface
 192.168.1.0/24 RIP 100 1 D 192.168.12.1 GigabitEthernet0/0/0
 192.168.2.0/24 RIP 100 1 D 192.168.23.3 GigabitEthernet0/0/1

R2也通過RIP學習到了兩條路由,分別是192.168.1.0/24及192.168.2.0/24。 同理查看R3的路由表,確保R3能夠學習到192.168.1.0/24的路由。如此一來,全網的路由就打通了,那么現在PC1與PC2是能夠互相通信的。
 

分享到:
標簽:路由
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定