03-RIP配置
本章節下載: 03-RIP配置 (555.54 KB)
RIP(Routing Information Protocol,路由信息協議)是一種較為簡單的內部網關協議(Interior Gateway Protocol,IGP),主要用於規模較小的網絡中,比如校園網以及結構較簡單的地區性網絡。對於更為複雜的環境和大型網絡,一般不使用RIP。
由於RIP的實現較為簡單,在配置和維護管理方麵也遠比OSPF和IS-IS容易,因此在實際組網中仍有廣泛的應用。
RIP是一種基於距離矢量(Distance-Vector,D-V)算法的協議,它通過UDP報文進行路由信息的交換,使用的端口號為520。
RIP使用跳數來衡量到達目的地址的距離,跳數稱為度量值。在RIP中,路由器到與它直接相連網絡的跳數為0,通過一個路由器可達的網絡的跳數為1,其餘依此類推。為限製收斂時間,RIP規定度量值取0~15之間的整數,大於或等於16的跳數被定義為無窮大,即目的網絡或主機不可達。由於這個限製,使得RIP不適合應用於大型網絡。
為提高性能,防止產生路由環路,RIP支持水平分割(Split Horizon)和毒性逆轉(Poison Reverse)功能。
每個運行RIP的路由器管理一個路由數據庫,該路由數據庫包含了到所有可達目的地的路由項,這些路由項包含下列信息:
· 目的地址:主機或網絡的地址。
· 下一跳地址:為到達目的地,需要經過的相鄰路由器的接口IP地址。
· 出接口:本路由器轉發報文的出接口。
· 度量值:本路由器到達目的地的開銷。
· 路由時間:從路由項最後一次被更新到現在所經過的時間,路由項每次被更新時,路由時間重置為0。
· 路由標記(Route Tag):用於標識外部路由,在路由策略中可根據路由標記對路由信息進行靈活的控製。關於路由策略的詳細信息,請參見“三層技術-IP路由配置指導”中的“路由策略”。
RIP受四個定時器的控製,分別是Update、Timeout、Suppress和Garbage-Collect。
· Update定時器,定義了發送路由更新的時間間隔。
· Timeout定時器,定義了路由老化時間。如果在老化時間內沒有收到關於某條路由的更新報文,則該條路由在路由表中的度量值將會被設置為16。
· Suppress定時器,定義了RIP路由處於抑製狀態的時長。當一條路由的度量值變為16時,該路由將進入抑製狀態。在被抑製狀態,隻有來自同一鄰居且度量值小於16的路由更新才會被路由器接收,取代不可達路由。
· Garbage-Collect定時器,定義了一條路由從度量值變為16開始,直到它從路由表裏被刪除所經過的時間。在Garbage-Collect時間內,RIP以16作為度量值向外發送這條路由的更新,如果Garbage-Collect超時,該路由仍沒有得到更新,則該路由將從路由表中被徹底刪除。
RIP是一種基於D-V算法的路由協議,由於它向鄰居通告的是自己的路由表,存在發生路由環路的可能性。
RIP通過以下機製來避免路由環路的產生:
· 計數到無窮(Counting to infinity):將度量值等於16的路由定義為不可達(infinity)。在路由環路發生時,某條路由的度量值將會增加到16,該路由被認為不可達。
· 水平分割(Split Horizon):RIP從某個接口學到的路由,不會從該接口再發回給鄰居路由器。這樣不但減少了帶寬消耗,還可以防止路由環路。
· 毒性逆轉(Poison Reverse):RIP從某個接口學到路由後,將該路由的度量值設置為16(不可達),並從原接口發回鄰居路由器。利用這種方式,可以清除對方路由表中的無用信息。
· 觸發更新(Triggered Updates):RIP通過觸發更新來避免在多個路由器之間形成路由環路的可能,而且可以加速網絡的收斂速度。一旦某條路由的度量值發生了變化,就立刻向鄰居路由器發布更新報文,而不是等到更新周期的到來。
RIP的運行過程如下:
· 路由器啟動RIP後,便會向相鄰的路由器發送請求報文(Request message);相鄰的RIP路由器收到請求報文後,響應該請求,回送包含本地路由表信息的響應報文(Response message)。
· 路由器收到響應報文後,更新本地路由表,同時向相鄰路由器發送觸發更新報文,通告路由更新信息;相鄰路由器收到觸發更新報文後,又向其各自的相鄰路由器發送觸發更新報文。在一連串的觸發更新後,各路由器都能得到並保持最新的路由信息。
RIP采用老化機製對超時的路由進行老化處理,以保證路由的實時性和有效性。
RIP啟動和運行的整個過程可描述如下:
· 路由器啟動RIP後,便會向相鄰的路由器發送請求報文(Request message),相鄰的RIP路由器收到請求報文後,響應該請求,回送包含本地路由表信息的響應報文(Response message)。
· 路由器收到響應報文後,更新本地路由表,同時向相鄰路由器發送觸發更新報文,通告路由更新信息。相鄰路由器收到觸發更新報文後,又向其各自的相鄰路由器發送觸發更新報文。在一連串的觸發更新廣播後,各路由器都能得到並保持最新的路由信息。
· RIP在缺省情況下每隔30秒向相鄰路由器發送本地路由表,運行RIP協議的相鄰路由器在收到報文後,對本地路由進行維護,選擇一條最佳路由,再向其各自相鄰網絡發送更新信息,使更新的路由最終能達到全局有效。同時,RIP采用老化機製對超時的路由進行老化處理,以保證路由的實時性和有效性。
RIP有兩個版本:RIP-1和RIP-2。
RIP-1是有類別路由協議(Classful Routing Protocol),它隻支持以廣播方式發布協議報文。RIP-1的協議報文無法攜帶掩碼信息,它隻能識別A、B、C類這樣的自然網段的路由,因此RIP-1不支持不連續子網(Discontiguous Subnet)。
RIP-2是一種無類別路由協議(Classless Routing Protocol),與RIP-1相比,它有以下優勢:
· 支持路由標記,在路由策略中可根據路由標記對路由進行靈活的控製。
· 報文中攜帶掩碼信息,支持路由聚合和CIDR(Classless Inter-Domain Routing,無類域間路由)。
· 支持指定下一跳,在廣播網上可以選擇到最優下一跳地址。
· 支持組播路由發送更新報文,隻有RIP-2路由器才能收到更新報文,減少資源消耗。
· 支持對協議報文進行驗證,並提供明文驗證和MD5驗證兩種方式,增強安全性。
RIP-2有兩種報文傳送方式:廣播方式和組播方式,缺省將采用組播方式發送報文,使用的組播地址為224.0.0.9。當接口運行RIP-2廣播方式時,也可接收RIP-1的報文。
RIP報文由頭部(Header)和多個路由表項(Route Entries)部分組成。在一個RIP報文中,最多可以有25個路由表項(如果是RIP-2的驗證報文,由於第一個路由表項作為驗證項,所以最多可以有24個路由表項)。
RIP-1的報文格式如圖1-1所示。
圖1-1 RIP-1的報文格式
各字段的解釋如下:
· Command:標識報文的類型。值為1時表示Request報文,向鄰居請求全部或部分路由信息;值為2表示Response報文,發送全部或部分路由信息,1個Response報文中最多包含25個路由表項。
· Version:RIP的版本號。對於RIP-1來說其值為0x01。
· Must be zero:必須為0字段。
· AFI(Address Family Identifier):地址族標識,其值為2時表示IP協議。
· IP Address:該路由的目的IP地址,可以是自然網段地址、子網地址或主機地址。
· Metric:路由的度量值。
RIP-2的報文格式與RIP-1類似,如圖1-2所示。
圖1-2 RIP-2的報文格式
其中,與RIP-1不同的字段有:
· Version:RIP的版本號。對於RIP-2來說其值為0x02。
· Route Tag:路由標記。
· IP Address:該路由的目的IP地址,可以是自然網段地址、子網地址或主機地址。
· Subnet Mask:目的地址的掩碼。
· Next Hop:如果為0.0.0.0,則表示發布此條路由信息的路由器地址就是最優下一跳地址,否則表示提供了一個比發布此條路由信息的路由器地址更優的下一條地址。
RIP-2為了支持報文驗證,使用第一個路由表項(Route Entry)作為驗證項,並將AFI字段的值設為0xFFFF標識報文攜帶認證信息,如圖1-3所示。
圖1-3 RIP-2的驗證報文格式
各字段的解釋如下:
· Authentication Type:驗證類型。值為2時表示明文驗證,值為3時表示MD5驗證。
· Authentication:驗證字。當使用明文驗證時包含了密碼信息;當使用MD5驗證時包含了Key ID、MD5驗證數據長度和序列號的信息。
· RFC 1723中隻定義了明文驗證方式,關於MD5驗證的詳細信息,請參見RFC 2453“RIP Version 2”。
· 當RIP的版本為RIP-1時,雖然在接口視圖下仍然可以配置驗證方式,但由於RIP-1不支持認證,因此該配置不會生效。
TRIP(Triggered RIP,觸發路由信息協議)是RIP協議在WAN(Wide Area Network,廣域網)上的擴展,主要應用於撥號網絡。
在WAN連接中,為了將路由管理開銷減到最小,路由信息被當作觸發更新發送而不是定期廣播:
· 取消路由信息的周期性發送。隻有當路由表中數據有所變更,或者當下一跳不可達時,才發送路由更新。
· 由於取消了周期性發送路由更新報文,因此需要采用確認和重發機製來保證更新報文在廣域網上的成功發送和接收。
TRIP為此引入了3種新的報文類型,並通過RIP報文頭部的Command字段來區分。
· Update Request(更新請求):類型值為9,請求對端發送所需要的路由表信息。
· Update Response(更新應答):類型值為10,包含對端所需要的路由更新信息。
· Update Acknowledge(更新確認):類型值為11,對收到的Update Response報文進行確認,表示已收到對端發送的路由更新信息。
· 路由器向鄰居路由器發送Update Request報文後,如果一直沒有收到從鄰居回複的Update Response報文,則每隔一段時間間隔向鄰居重新發送Update Request報文。如果向鄰居發送Update Request報文的次數超過了限製的次數仍沒有收到Update Response報文,則當前路由器會認為鄰居路由器不可達。
· 路由器向鄰居路由器發送Update Response報文後,如果一直沒有收到從鄰居回複的Update Acknowledge報文,路由器則每隔一段時間間隔向鄰居重新發送Update Response報文。如果向鄰居發送Update Response報文的次數超過了限製的次數仍沒有收到Update Acknowledge報文,則當前路由器會認為鄰居路由器不可達。
目前設備支持以下RIP特性:
· 支持RIP-1和RIP-2。
· 支持RIP多實例。
它可以作為VPN內部路由協議,在BGP/MPLS VPN網絡中的CE和PE之間運行,相關概念及應用請參見“MPLS配置指導”中的“MPLS L3VPN”。
· 支持TRIP
· RIP快速重路由。
· RIP與BFD聯動。
RIP協議依賴周期性發送路由更新請求作為檢測機製,當在指定時間內沒有收到路由更新回應時,認為此條路由不再生效,這種方式不能快速響應鏈路故障。使用BFD(Bidirectional Forwarding Detection,雙向轉發檢測)檢測到鏈路故障時,RIP能快速撤銷失效路由,減少對其他業務的影響。
與RIP相關的協議規範有:
· RFC 1058:Routing Information Protocol
· RFC 1723:RIP Version 2 - Carrying Additional Information
· RFC 1721:RIP Version 2 Protocol Analysis
· RFC 1722:RIP Version 2 Protocol Applicability Statement
· RFC 1724:RIP Version 2 MIB Extension
· RFC 2082:RIP-2 MD5 Authentication
· RFC 2091:Triggered Extensions to RIP to Support Demand Circuits
· RFC 2453:RIP Version 2
表1-1 RIP配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置RIP的基本功能 |
必選 |
||
配置RIP路由特性 |
配置接口附加度量值 |
可選 |
|
配置RIP-2路由聚合 |
可選 |
||
禁止RIP接收主機路由 |
可選 |
||
配置RIP發布缺省路由 |
可選 |
||
配置RIP對接收/發布的路由進行過濾 |
可選 |
||
配置RIP協議優先級 |
可選 |
||
配置RIP引入外部路由 |
可選 |
||
調整和優化RIP網絡 |
配置RIP定時器 |
可選 |
|
配置水平分割和毒性逆轉 |
可選 |
||
配置最大等價路由條數 |
可選 |
||
配置RIP-1報文的零域檢查 |
可選 |
||
配置源地址檢查 |
可選 |
||
配置RIP-2報文的認證方式 |
可選 |
||
配置RIP鄰居 |
可選 |
||
配置TRIP |
可選 |
||
配置RIP和MIB綁定 |
可選 |
||
配置RIP報文的發送速率 |
可選 |
||
配置RIP快速重路由功能 |
可選 |
||
配置RIP與BFD聯動 |
echo報文單跳檢測 |
可選 |
|
control報文雙向檢測 |
可選 |
在配置RIP的基本功能之前,需完成以下任務:
· 配置鏈路層協議
· 配置接口的網絡層地址,使相鄰節點的網絡層可達
表1-2 啟動RIP,配置指定的接口運行RIP
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
創建RIP進程並進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
必選 缺省情況下,RIP進程處於關閉狀態 |
在指定網段接口上使能RIP |
network network-address |
必選 缺省情況下,接口上的RIP功能處於關閉狀態 |
· 如果在啟動RIP前在接口視圖下配置了RIP相關命令,這些配置隻有在RIP啟動後才會生效。
· RIP隻在指定網段的接口上運行;對於不在指定網段上的接口,RIP既不在它上麵接收和發送路由,也不將它的接口路由轉發出去。因此,RIP啟動後必須指定其工作網段。
· network 0.0.0.0命令用來在所有接口上使能RIP。
· RIP不支持將同一物理接口下的不同網段使能到不同的RIP進程中。
用戶可對接口的工作狀態進行配置:
· 配置接口工作在抑製狀態,即接口隻接收路由更新報文而不發送路由更新報文
· 配置接口接收RIP報文
· 配置接口發送RIP報文
表1-3 配置接口的工作狀態
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置接口工作在抑製狀態 |
silent-interface { interface-type interface-number | all } |
可選 缺省情況下,所有使能RIP的接口發送路由更新報文 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
允許接口接收RIP報文 |
rip input |
可選 缺省情況下,所有使能RIP的接口接收RIP報文 |
允許接口發送RIP報文 |
rip output |
可選 缺省情況下,所有使能RIP的接口發送RIP報文 |
用戶可以在RIP視圖下配置RIP版本,也可在接口上配置RIP版本:
· 當全局和接口都沒有進行RIP版本配置時,接口發送RIP-1廣播報文,可以接收RIP-1廣播報文/單播報文、RIP-2廣播/組播/單播報文。
· 如果接口沒有進行RIP版本配置,接口運行的RIP版本將以全局配置的版本為準,如果希望接口配置的RIP版本與全局配置的不一樣,則進入接口視圖配置接口運行的RIP版本。
· 當接口運行的RIP版本為RIP-1時,發送RIP-1廣播報文,可以接收RIP-1廣播/單播報文。
· 當接口運行的RIP版本為RIP-2且工作在組播方式時,發送RIP-2組播報文,可以接收RIP-2廣播/組播/單播報文。
· 當接口運行的RIP版本為RIP-2且工作在廣播方式時,發送RIP-2廣播報文,可以接收RIP-1廣播/單播報文、RIP-2廣播/組播/單播報文。
表1-4 配置RIP版本號
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置全局RIP版本 |
version { 1 | 2 } |
可選 缺省情況下,如果接口配置了RIP版本,以接口配置的為準,如果接口也沒有配置,接口隻能發送RIP-1廣播報文,可以接收RIP-1廣播/單播報文、RIP-2廣播/組播/單播報文 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口運行的RIP版本 |
rip version { 1 | 2 [ broadcast | multicast ] } |
可選 缺省情況下,如果沒有配置接口運行的RIP版本,接口運行的RIP版本以全局配置的為準;如果也沒有進行全局RIP版本的配置,接口隻能發送RIP-1廣播報文,可以接收RIP-1廣播/單播報文、RIP-2廣播/組播/單播報文 |
在實際應用中,有時候需要對RIP路由信息進行更為精確的控製以滿足複雜網絡環境的需要。
在配置之前,需完成以下任務:
· 配置接口的網絡層地址,使相鄰節點網絡層可達
· 配置RIP基本功能
附加度量值是在RIP路由原來度量值的基礎上所增加的度量值(跳數),包括發送附加度量值和接收附加度量值。發送附加度量值不會改變路由表中的路由度量值,僅當接口發送RIP路由信息時才會添加到發送路由上;接收附加度量值會影響接收到的路由度量值,接口接收到一條合法的RIP路由時,在將其加入路由表前會把度量值附加到該路由上,當附加度量值與原路由度量值之和大於16,該條路由的度量值取16。
表1-5 配置接口附加度量值
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口接收RIP路由時的附加度量值 |
rip metricin [ route-policy route-policy-name ] value |
可選 缺省情況下,接口接收RIP路由時的附加度量值為0 |
配置接口發送RIP路由時的附加度量值 |
rip metricout [ route-policy route-policy-name ] value |
可選 缺省情況下,接口發送RIP路由時的附加路由度量值為1 |
路由聚合是指路由器把同一自然網段內的連續子網的路由聚合成一條路由向外發送,如路由表裏有10.1.1.0/24、10.1.2.0/24、10.1.3.0/24三條路由,可以通過配置把它們聚合成一條路由10.1.0.0/16向外發送,這樣鄰居路由器隻接收到一條路由10.1.0.0/16,從而減少了路由表的規模,以及網絡上的傳輸流量。
在大型網絡中,通過配置路由聚合,可以提高網絡的可擴展性以及路由器的處理速度。
RIP-2將多條路由聚合成一條路由時,聚合路由的Metric值將取所有路由Metric的最小值。
在RIP-2中,有兩種路由聚合方式:自動路由聚合和手工配置聚合路由。
自動路由聚合是指RIP-2將同一自然網段內的不同子網的路由聚合成一條自然掩碼的路由向外發送,例如,假設路由表裏有10.1.1.0/24、10.1.2.0/24、10.1.3.0/24三條路由,使能RIP-2自動路由聚合功能後,這三條路由聚合成一條自然掩碼的路由10.0.0.0/8向外發送。
表1-6 配置自動路由聚合
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
使能RIP-2自動路由聚合功能 |
summary |
可選 缺省情況下,RIP-2自動路由聚合功能處於使能狀態 如果路由表裏的路由子網不連續,則需要取消自動路由聚合功能,使得RIP-2能夠向外發布子網路由和主機路由 |
用戶可在指定接口配置RIP-2發布一條聚合路由。
聚合路由的目的地址和掩碼進行與運算到一個網絡地址,RIP-2將對落入該網段內的路由進行聚合,接口隻發布聚合後的路由。
例如,假設路由表裏有10.1.1.0/24、10.1.2.0/24、10.1.3.0/24三條子網連續的路由,在接口Vlan-interface11配置發布一條聚合路由10.1.0.0/16後,這三條路由聚合成一條路由10.1.0.0/16向外發送。
缺省情況下,RIP-2的路由將按照自然掩碼自動聚合,如果用戶在指定接口配置發布一條聚合路由,則必須先關閉自動聚合功能。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
關閉RIP-2自動路由聚合功能 |
undo summary |
必選 缺省情況下,RIP-2自動路由聚合功能處於使能狀態 |
退至係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置發布一條聚合路由 |
rip summary-address ip-address { mask | mask-length } |
必選 |
在某些特殊情況下,路由器會收到大量來自同一網段的主機路由。這些路由對於路由尋址沒有多少作用,卻占用了大量的資源,此時可配置RIP禁止接收主機路由,以節省網絡資源。
表1-8 禁止RIP接收主機路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
禁止RIP接收主機路由 |
undo host-route |
必選 缺省情況下,允許RIP接收主機路由 |
禁止接收主機路由僅對RIPv2有效,對RIPv1無效。
用戶可以配置RIP以指定度量值向鄰居發布一條缺省路由。
· 用戶可以在RIP視圖下配置RIP進程的所有接口向鄰居發布缺省路由,也可以在接口下配置指定RIP接口向鄰居發布缺省路由。
· 如果接口沒有進行發布缺省路由的相關配置,則以RIP進程下的配置為準,否則將以接口配置為準。
· 如果RIP進程配置了發布缺省路由,但希望該進程下的某個接口不發送缺省路由(隻發布普通路由),可以通過在接口下配置rip default-route no-originate命令實現。
表1-9 配置RIP發布缺省路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置RIP發布缺省路由 |
default-route { only | originate } [ cost cost ] |
可選 缺省情況下,RIP不向鄰居發送缺省路由 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置RIP接口發布缺省路由 |
rip default-route { { only | originate } [ cost cost ] | no-originate } |
可選 缺省情況下,RIP接口是否發布缺省路由以RIP進程配置為準 |
配置發布缺省路由的RIP路由器不接收來自RIP鄰居的缺省路由。
路由器提供路由信息過濾功能,通過指定訪問控製列表和地址前綴列表,可以配置入口或出口過濾策略,對接收和發布的路由進行過濾。在接收路由時,還可以指定隻接收來自某個鄰居的RIP報文。
表1-10 配置RIP對接收/發布的路由進行過濾
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
對接收的路由信息進行過濾 |
filter-policy { acl-number | gateway ip-prefix-name | ip-prefix ip-prefix-name [ gateway ip-prefix-name ] } import [ interface-type interface-number ] |
必選 缺省情況下,RIP不對接收的路由信息進行過濾 |
對發布的路由信息進行過濾 |
filter-policy { acl-number | ip-prefix ip-prefix-name } export [ protocol [ process-id ] | interface-type interface-number ] |
必選 缺省情況下,RIP不對發布的路由信息進行過濾 |
· filter-policy import命令對從鄰居收到的RIP路由進行過濾,沒有通過過濾的路由將不被加入路由表,也不向鄰居發布該路由。
· filter-policy export命令對本機所有路由的發布進行過濾,包括使用import-route引入的路由和從鄰居學到的RIP路由。
在路由器中可能會運行多個IGP路由協議,如果想讓RIP路由具有比從其它路由協議學來的路由更高的優先級,需要配置小的優先級值。優先級的高低將最後決定IP路由表中的路由是通過哪種路由算法獲取的最佳路由。
表1-11 配置RIP協議優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置RIP路由的優先級 |
preference [ route-policy route-policy-name ] value |
可選 缺省情況下,RIP路由的優先級為100 |
如果在路由器上不僅運行RIP,還運行著其它路由協議,可以配置RIP引入其它協議生成的路由,如OSPF、ISIS、BGP、靜態路由或者直連路由。
表1-12 配置RIP引入外部路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置引入路由的缺省度量值 |
default cost value |
可選 缺省情況下,引入路由的缺省度量值為0 |
引入外部路由 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ cost cost | route-policy route-policy-name | tag tag ] * |
必選 缺省情況下,RIP不引入其它路由 |
隻能引入路由表中狀態為active的路由,是否為active狀態可以通過display ip routing-table protocol命令來查看。
在某些特殊的網絡環境中,需要對RIP網絡的性能進行調整和優化,在調整和優化RIP網絡之前,需完成以下任務:
· 配置接口的網絡層地址,使相鄰節點網絡層可達
· 配置RIP基本功能
通過調整RIP定時器可以改變RIP網絡的收斂速度。
表1-13 配置RIP定時器
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置RIP定時器的值 |
timers { garbage-collect garbage-collect-value | suppress suppress-value | timeout timeout-value | update update-value } * |
可選 缺省情況下: · Update定時器的值為30秒 · Timeout定時器的值為180秒 · Suppress定時器的值為120秒 · Garbage-collect定時器的值為120秒 |
在配置RIP定時器時需要注意,定時器值的調整應考慮網絡的性能,並在所有運行RIP的路由器上進行統一配置,以免增加不必要的網絡流量或引起網絡路由震蕩。
如果同時配置了水平分割和毒性逆轉,則隻有毒性逆轉功能生效。
通過配置水平分割或毒性逆轉功能可以防止路由環路。
配置水平分割可以使得從一個接口學到的路由不能通過此接口向外發布,用於避免相鄰路由器間的路由環路。
表1-14 配置水平分割
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能水平分割功能 |
rip split-horizon |
可選 缺省情況下,水平分割功能處於使能狀態 |
在點到點鏈路上關閉水平分割功能是無效的。
配置毒性逆轉後,從一個接口學到的路由還可以從這個接口向外發布,但這些路由的度量值會設置為16(即不可達),可以用於避免相鄰路由器間的路由環路。
表1-15 配置毒性逆轉
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能毒性逆轉功能 |
rip poison-reverse |
必選 缺省情況下,毒性逆轉功能處於關閉狀態 |
通過配置最大等價路由跳數,可以使用多條等價路由對RIP網絡進行負載分擔。
表1-16 配置最大等價路由條數
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置RIP最大等價路由條數 |
maximum load-balancing number |
可選 缺省情況下,負載分擔方式下的最大等價路由條數和係統工作模式相關。係統工作模式為標準模式、增強L2模式、增強L3模式或高級模式時,最大等價路由條數為32;當係統工作模式為支持混插的標準模式、支持混插的增強L2模式、支持混插的增強L3模式或支持混插的高級模式時,最大等價路由條數為16。關於係統工作模式的詳細介紹,請參見“基礎配置指導”中的“設備管理” |
RIP-1報文中的有些字段必須為零,稱之為零域。用戶可配置RIP-1在接收報文時對零域進行檢查,零域值不為零的RIP-1報文將不被處理。如果用戶能確保所有報文都是可信任的,則可以不進行該項檢查,以節省CPU處理時間。
由於RIP-2的報文沒有零域,此項配置對RIP-2無效。
表1-17 配置RIP-1報文的零域檢查
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
使能RIP-1報文的零域檢查功能 |
checkzero |
可選 缺省情況下,RIP-1報文的零域檢查功能處於使能狀態 |
通過配置對接收到的RIP路由更新報文進行源IP地址檢查:
· 對於在接口上接收的報文,RIP將檢查該報文源地址和接收接口的IP地址是否處於同一網段,如果不在同一網段則丟棄該報文。
· 對於串口上接收的報文,RIP檢查該報文的源地址是否是對端接口的IP地址,如果不是則丟棄該報文。
表1-18 配置源地址檢查
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
使能對接收到的RIP路由更新報文進行源IP地址檢查功能 |
validate-source-address |
可選 缺省情況下,對接收到的RIP路由更新報文進行源IP地址檢查功能處於使能狀態 |
當存在RIP非直連的鄰居時,應該取消源地址檢查。
在安全性要求較高的網絡環境中,可以通過配置報文的認證方式來對RIP-2報文進行有效性檢查和驗證。
RIP-2支持兩種認證方式:明文認證和MD5密文認證。
明文認證不能提供安全保障,未加密的認證字隨報文一同傳送,所以明文認證不能用於安全性要求較高的情況。
表1-19 配置RIP-2報文的認證方式
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置RIP-2報文的認證方式 |
rip authentication-mode { md5 { rfc2082 [ cipher ] key-string key-id | rfc2453 [ cipher ] key-string } | simple [ cipher ] password } |
必選 |
當RIP的版本為RIP-1時,雖然在接口視圖下仍然可以配置驗證方式,但由於RIP-1不支持認證,因此該配置不會生效。
通常情況下,RIP使用廣播或組播地址發送報文,如果在不支持廣播或組播報文的鏈路上運行RIP,則必須手工指定RIP的鄰居。
表1-20 配置RIP鄰居
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置RIP鄰居 |
peer ip-address |
必選 |
取消對接收到的RIP路由更新報文進行源IP地址檢查操作 |
undo validate-source-address |
必選 缺省情況下,對接收到的RIP路由更新報文進行源IP地址檢查 |
· 當RIP鄰居與當前設備直連時不推薦使用peer ip-address命令,因為這樣可能會造成對端同時收到同一路由信息的組播(或廣播)和單播兩種形式的報文。
· 當指定的鄰居和本地路由器非直接連接,則必須取消對更新報文的源地址進行檢查。
路由器在麵向連接的網絡中可以與許多遠端設備實現互聯。當路由器通過撥號方式連接到廣域網時,將按照鏈路的使用時間進行計費,為了減少花銷,根據需要創建鏈路,沒有流量的時候刪除該鏈路。
通過配置TRIP,使得路由信息可以按需發送,而不是周期性發送,僅當路由表中數據有所變更,或者當下一跳不可達時,才發送路由更新,從而達到節省使用花銷的目的。
表1-21 使能TRIP功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動RIP |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
退回係統視圖 |
quit |
- |
進入接口視圖 |
Interface pos interface-number |
- |
使能TRIP功能 |
rip triggered |
必選 缺省情況下,TRIP功能處於關閉狀態 |
當RIP功能處於關閉狀態時,TRIP功能也將處於關閉狀態。
用戶可根據需要配置重傳Update Request、Update Response報文的時間間隔以及最大重傳次數。
當兩台路由器通過模擬撥號鏈路相連時,需要對重傳時間間隔進行配置,使得兩端的重傳時間間隔的差值大於50秒,否則將不能建立TRIP鄰居關係。
表1-22 配置TRIP重傳參數
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動RIP並進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置重傳Update Request、Update Response報文的時間間隔 |
trip retransmit timer retransmit-time-value |
必選 缺省情況下,重傳Update Request、Update Response報文的時間間隔為5秒 |
配置Update Request、Update Response報文的最大重傳次數 |
trip retransmit count retransmit-count-value |
可選 缺省情況下,Update Request、Update Response報文的最大重傳次數為36 |
Update Request、Update Response報文重傳的總時間即重傳時間間隔與最大重傳次數的乘積不要過大,避免出現對方路由器已經不可達但是本地路由器還在不斷重傳Update Request、Update Response報文的情況出現。
通過將MIB操作綁定在指定的RIP進程上,可以讓指定的RIP進程接收SNMP請求。
表1-23 配置RIP和MIB綁定
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置RIP和MIB綁定 |
rip mib-binding process-id |
可選 缺省情況下,MIB操作綁定在RIP進程1上 |
RIP周期性地將路由信息放在RIP報文中向鄰居發送。
如果路由表裏的路由條目數量很多,同時發送大量RIP協議報文有可能會對當前設備和網絡帶寬帶來衝擊;因此,路由器將RIP協議報文分為多個批次進行發送,並且對RIP接口每次允許發送的RIP協議報文最大個數做出限製。
用戶可根據需要配置接口發送RIP報文的時間間隔以及接口一次發送RIP報文的最大個數。
表1-24 配置RIP報文的發送速率
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動RIP並進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置RIP報文的發送速率 |
output-delay time count count |
可選 缺省情況下,接口發送RIP報文的時間間隔為20毫秒,一次最多發送3個RIP報文 |
· RIP支持快速重路由功能僅對非迭代RIP路由(即從直連鄰居學到RIP路由)有效。
· RIP支持快速重路由功能不能與RIP支持BFD監測同時使用,否則可能導致快速重路由功能失效。
當RIP網絡中的鏈路或某台路由器發生故障時,數據流量將會被中斷,直到RIP根據新的拓撲網絡路由收斂完畢後,被中斷的流量才能恢複正常的傳輸。
為了盡可能縮短網絡故障導致的流量中斷時間,網絡管理員可以根據需要配置RIP快速重路由功能。
圖1-4 RIP快速重路由功能示意圖
如圖1-4所示,通過在Router B上配置快速重路由功能,RIP可以為路由指定備份下一跳,當Router B探測到網絡故障時,RIP會使用事先獲取好的備份下一跳替換失效下一跳,通過備份下一跳來指導報文的轉發,從而大大縮短了流量中斷時間。在使用備份下一跳指導報文轉發的同時,RIP會根據變化後的網絡拓撲重新計算路由,網絡收斂完畢後,使用新計算出來的最優路由來指導報文轉發。
要配置快速重路由功能,網絡管理員需要配置路由策略,通過apply fast-reroute backup-interface命令在路由策略中指定備份下一跳;關於apply fast-reroute backup-interface命令以及路由策略的相關配置,請參見“三層技術-IP路由配置指導”中的“路由策略”。
表1-25 配置RIP快速重路由功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置BFD Echo報文源地址 |
bfd echo-source-ip ip-address |
必選 缺省情況下,沒有配置BFD Echo報文源地址 |
進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置RIP快速重路由功能 |
fast-reroute route-policy route-policy-name |
必選 缺省情況下,RIP快速重路由功能處於關閉狀態 |
關於BFD的介紹和基本功能配置,請參見“可靠性配置指導”中的“BFD”。
RIP支持BFD提供了兩種檢測方式:
· 直連鄰居采用echo報文單跳檢測方式,在對端有路由發送時才能建立BFD會話。
· 非直連鄰居采用control報文雙向檢測方式,當兩端互有路由發送時,且使能BFD的接口與接收接口為同一接口,鄰居之間才能建立BFD會話。
表1-26 配置RIP與BFD聯動(echo報文單跳檢測)
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置echo報文源地址 |
bfd echo-source-ip ip-address |
必選 缺省情況下,沒有配置echo報文源地址 |
進入接口視圖 |
interface interface-type interface-number |
- |
使能BFD功能 |
rip bfd enable |
必選 缺省情況下,BFD功能處於關閉狀態 |
表1-27 配置RIP與BFD聯動(control報文雙向檢測)
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建RIP進程並進入RIP視圖 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
必選 缺省情況下,RIP進程處於關閉狀態 |
配置RIP鄰居 |
peer ip-address |
必選 缺省情況下,RIP不向任何定點地址發送更新報文 |
進入接口視圖 |
interface interface-type interface-number |
- |
使能BFD功能 |
rip bfd enable |
必選 缺省情況下,BFD功能處於關閉狀態 |
· 當檢測RIP的會話兩端在直連網段(即IP報文的一跳),適合采用BFD的echo單向檢測方式,但是,經過多跳到達鄰居時echo方式則會失效。
· 由於peer命令與鄰居之間沒有對應關係,undo peer操作並不能立刻刪除鄰居,因此不能立刻刪除BFD會話。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後RIP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以重啟RIP進程或清除指定RIP進程的統計信息。
表1-28 RIP顯示和維護
命令 |
|
顯示RIP的當前運行狀態及配置信息 |
display rip [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
顯示RIP發布數據庫的所有激活路由 |
display rip process-id database [ | { begin | exclude | include } regular-expression ] |
顯示RIP的接口信息 |
display rip process-id interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示指定RIP進程的路由信息 |
display rip process-id route [ ip-address { mask | mask-length } | peer ip-address | statistics ] [ | { begin | exclude | include } regular-expression ] |
重啟RIP進程 |
reset rip process-id process |
清除指定RIP進程的統計信息 |
reset rip process-id statistics |
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使這些接口處於UP狀態。
如圖1-5所示,要求在Switch A和Switch B的所有接口上使能RIP,並使用RIP-2進行網絡互連。
圖1-5 配置RIP的版本
(1) 配置各接口的IP地址(略)
(2) 配置RIP基本功能
# 配置Switch A。
[SwitchA] rip
[SwitchA-rip-1] network 192.168.1.0
[SwitchA-rip-1] network 172.16.0.0
[SwitchA-rip-1] network 172.17.0.0
# 配置Switch B。
[SwitchB] rip
[SwitchB-rip-1] network 192.168.1.0
[SwitchB-rip-1] network 10.0.0.0
# 查看Switch A的RIP路由表。
[SwitchA] display rip 1 route
Route Flags: R - RIP, T - TRIP
P - Permanent, A - Aging, S - Suppressed, G - Garbage-collect
------------------------------------------------------------------------------
Peer 192.168.1.2 on Vlan-interface100
Destination/Mask Nexthop Cost Tag Flags Sec
10.0.0.0/8 192.168.1.2 1 0 RA 11
從路由表中可以看出,RIP-1發布的路由信息使用的是自然掩碼。
(3) 配置RIP的版本
# 在Switch A上配置RIP-2。
[SwitchA] rip
[SwitchA-rip-1] version 2
[SwitchA-rip-1] undo summary
# 在Switch B上配置RIP-2。
[SwitchB] rip
[SwitchB-rip-1] version 2
[SwitchB-rip-1] undo summary
# 查看Switch A的RIP路由表。
[SwitchA] display rip 1 route
Route Flags: R - RIP, T - TRIP
P - Permanent, A - Aging, S - Suppressed, G - Garbage-collect
--------------------------------------------------------------------------
Peer 192.168.1.2 on Vlan-interface100
Destination/Mask Nexthop Cost Tag Flags Sec
10.0.0.0/8 192.168.1.2 1 0 RA 50
10.2.1.0/24 192.168.1.2 1 0 RA 16
10.1.1.0/24 192.168.1.2 1 0 RA 16
從路由表中可以看出,RIP-2發布的路由中帶有更為精確的子網掩碼信息。
由於RIP路由信息的老化時間較長,所以在配置RIP-2版本後的一段時間裏,路由表中可能還會存在RIP-1的路由信息。
· Switch B上運行兩個RIP進程:RIP 100和RIP 200。Switch B通過RIP 100和Switch A交換路由信息,通過RIP 200和Switch C交換路由信息。
· 在Switch B上配置RIP進程200引入外部路由,引入直連路由和RIP進程100的路由,使得Switch C能夠學習到達10.2.1.0/24和11.1.1.0/24的路由,但Switch A不能學習到達12.3.1.0/24和16.4.1.0/24的路由。
· 在Switch B配置過濾策略,對引入的RIP 100的一條路由(10.2.1.1/24)進行過濾,使其不發布給Switch C。
圖1-6 配置RIP引入外部路由組網圖
(1) 配置各接口的IP地址(略)
(2) 配置RIP基本功能
# 在Switch A上啟動RIP進程100,並配置RIP版本號為2。
<SwitchA> system-view
[SwitchA] rip 100
[SwitchA-rip-100] network 10.0.0.0
[SwitchA-rip-100] network 11.0.0.0
[SwitchA-rip-100] version 2
[SwitchA-rip-100] undo summary
[SwitchA-rip-100] quit
# 在Switch B上啟動兩個RIP進程,進程號分別為100和200,並配置RIP版本號為2。
<SwitchB> system-view
[SwitchB] rip 100
[SwitchB-rip-100] network 11.0.0.0
[SwitchB-rip-100] version 2
[SwitchB-rip-100] undo summary
[SwitchB-rip-100] quit
[SwitchB] rip 200
[SwitchB-rip-200] network 12.0.0.0
[SwitchB-rip-200] version 2
[SwitchB-rip-200] undo summary
[SwitchB-rip-200] quit
# 在Switch C上啟動RIP進程200,並配置RIP版本號為2。
<SwitchC> system-view
[SwitchC] rip 200
[SwitchC-rip-200] network 12.0.0.0
[SwitchC-rip-200] network 16.0.0.0
[SwitchC-rip-200] version 2
[SwitchC-rip-200] undo summary
# 查看Switch C的路由表信息。
[SwitchC] display ip routing-table
Routing Tables: Public
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
12.3.1.0/24 Direct 0 0 12.3.1.2 Vlan200
12.3.1.2/32 Direct 0 0 127.0.0.1 InLoop0
16.4.1.0/24 Direct 0 0 16.4.1.1 Vlan400
16.4.1.1/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(3) 配置RIP引入外部路由
# 在Switch B配置RIP進程200引入外部路由,引入直連路由和RIP進程100的路由。
[SwitchB] rip 200
[SwitchB-rip-200] import-route rip 100
[SwitchB-rip-200] import-route direct
[SwitchB-rip-200] quit
# 查看路由引入後Switch C的路由表信息。
[SwitchC] display ip routing-table
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 RIP 100 1 12.3.1.1 Vlan200
11.1.1.0/24 RIP 100 1 12.3.1.1 Vlan200
12.3.1.0/24 Direct 0 0 12.3.1.2 Vlan200
12.3.1.2/32 Direct 0 0 127.0.0.1 InLoop0
16.4.1.0/24 Direct 0 0 16.4.1.1 Vlan400
16.4.1.1/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(4) 配置RIP對引入的路由進行過濾
# 在Switch B上配置ACL,並對引入的RIP進程100的路由進行過濾,使其不發布給Switch C。
[SwitchB] acl number 2000
[SwitchB-acl-basic-2000] rule deny source 10.2.1.1 0.0.0.255
[SwitchB-acl-basic-2000] rule permit
[SwitchB-acl-basic-2000] quit
[SwitchB] rip 200
[SwitchB-rip-200] filter-policy 2000 export rip 100
# 查看過濾後Switch C的路由表。
[SwitchC] display ip routing-table
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost NextHop Interface
11.1.1.0/24 RIP 100 1 12.3.1.1 Vlan200
12.3.1.0/24 Direct 0 0 12.3.1.2 Vlan200
12.3.1.2/32 Direct 0 0 127.0.0.1 InLoop0
16.4.1.0/24 Direct 0 0 16.4.1.1 Vlan400
16.4.1.1/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
· 在Switch A、Switch B、Switch C、Switch D和Switch E的所有接口上使能RIP,並使用RIP-2進行網絡互連。
· Switch A有兩條鏈路可以到達Switch D,其中,通過Switch B到達Switch D的鏈路比通過Switch C到達Switch D的鏈路更加穩定。通過在Switch A的Vlan-interface200上配置接口接收RIP路由的附加度量值,使得Switch A優選從Switch B學到的1.1.5.0/24網段的路由。
圖1-7 配置RIP接口附加度量值
(1) 配置各接口的地址(略)
(2) 配置RIP基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] rip 1
[SwitchA-rip-1] network 1.0.0.0
[SwitchA-rip-1] version 2
[SwitchA-rip-1] undo summary
[SwitchA-rip-1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] rip 1
[SwitchB-rip-1] network 1.0.0.0
[SwitchB-rip-1] version 2
[SwitchB-rip-1] undo summary
# 配置Switch C。
<SwitchC> system-view
[SwitchB] rip 1
[SwitchC-rip-1] network 1.0.0.0
[SwitchC-rip-1] version 2
[SwitchC-rip-1] undo summary
# 配置Switch D。
<SwitchD> system-view
[SwitchD] rip 1
[SwitchD-rip-1] network 1.0.0.0
[SwitchD-rip-1] version 2
[SwitchD-rip-1] undo summary
# 配置Switch E。
<SwitchE> system-view
[SwitchE] rip 1
[SwitchE-rip-1] network 1.0.0.0
[SwitchE-rip-1] version 2
[SwitchE-rip-1] undo summary
# 查看Switch A的IP路由表。
[SwitchA] display rip 1 database
1.0.0.0/8, cost 0, ClassfulSumm
1.1.1.0/24, cost 0, nexthop 1.1.1.1, Rip-interface
1.1.2.0/24, cost 0, nexthop 1.1.2.1, Rip-interface
1.1.3.0/24, cost 1, nexthop 1.1.1.2
1.1.4.0/24, cost 1, nexthop 1.1.2.2
1.1.5.0/24, cost 2, nexthop 1.1.1.2
1.1.5.0/24, cost 2, nexthop 1.1.2.2
可以看到,到達網段1.1.5.0/24有兩條RIP路由,下一跳分別是Switch B(IP地址為1.1.1.2)和Switch C(IP地址為1.1.2.2),cost值都是2;到達網段1.1.4.0/24的下一跳是Switch C,cost為1。
(3) 配置RIP接口附加度量值
# 在Switch A上配置接口Vlan-interface200的接口附加度量值為3。
[SwitchA] interface vlan-interface 200
[SwitchA-Vlan-interface200] rip metricin 3
[SwitchA-Vlan-interface200] display rip 1 database
1.0.0.0/8, cost 0, ClassfulSumm
1.1.1.0/24, cost 0, nexthop 1.1.1.1, Rip-interface
1.1.2.0/24, cost 0, nexthop 1.1.2.1, Rip-interface
1.1.3.0/24, cost 1, nexthop 1.1.1.2
1.1.4.0/24, cost 2, nexthop 1.1.1.2
1.1.5.0/24, cost 2, nexthop 1.1.1.2
可以看到,到達網段1.1.5.0/24的RIP路由僅有一條,下一跳是Switch B(IP地址為1.1.1.2),cost值為2。
· Switch A、Switch B運行OSPF,Switch D運行RIP,Switch C同時運行OSPF和RIP。
· 在Switch C上配置RIP進程引入OSPF路由,使Switch D有到達10.1.1.0/24、10.2.1.0/24、10.5.1.0/24和10.6.1.0/24網段的路由。
· 為了減小Switch D的路由表規模,在Switch C上配置路由聚合,隻發布聚合後的路由10.0.0.0/8。
圖1-8 配置RIP發布聚合路由
(1) 配置各接口的地址(略)
(2) 配置OSPF基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ospf
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 10.5.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ospf
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] network 10.6.1.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ospf
[SwitchC-ospf-1] area 0
[SwitchC-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchC-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255
[SwitchC-ospf-1-area-0.0.0.0] quit
(3) 配置RIP基本功能
# 配置Switch C。
<SwitchC> system-view
[SwitchC] rip 1
[SwitchC-rip-1] network 11.3.1.0
[SwitchC-rip-1] version 2
[SwitchC-rip-1] undo summary
# 配置Switch D。
<SwitchD> system-view
[SwitchD] rip 1
[SwitchD-rip-1] network 11.0.0.0
[SwitchD-rip-1] version 2
[SwitchD-rip-1] undo summary
[SwitchD-rip-1] quit
# 在Switch C上配置RIP引入外部路由,引入OSPF進程1的路由和直連路由。
[SwitchC-rip-1] import-route direct
[SwitchC-rip-1] import-route ospf 1
# 查看Switch D的路由表信息。
[SwitchD] display ip routing-table
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 RIP 100 1 11.3.1.1 Vlan300
10.2.1.0/24 RIP 100 1 11.3.1.1 Vlan300
10.5.1.0/24 RIP 100 1 11.3.1.1 Vlan300
10.6.1.0/24 RIP 100 1 11.3.1.1 Vlan300
11.3.1.0/24 Direct 0 0 11.3.1.2 Vlan300
11.3.1.2/32 Direct 0 0 127.0.0.1 InLoop0
11.4.1.0/24 Direct 0 0 11.4.1.2 Vlan400
11.4.1.2/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(4) 在Switch C上配置路由聚合,隻發布聚合路由10.0.0.0/8。
[SwitchC] interface vlan-interface 300
[SwitchC-Vlan-interface300] rip summary-address 10.0.0.0 8
# 查看Switch D的路由表信息。
[SwitchD] display ip routing-table
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost NextHop Interface
10.0.0.0/8 RIP 100 1 11.3.1.1 Vlan300
11.3.1.0/24 Direct 0 0 11.3.1.2 Vlan300
11.3.1.2/32 Direct 0 0 127.0.0.1 InLoop0
11.4.1.0/24 Direct 0 0 11.4.1.2 Vlan400
11.4.1.2/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
如圖1-9所示,Switch S 、Switch A和Switch D通過RIPv2協議實現網絡互連。要求當Switch S和Switch D之間的鏈路出現故障時,業務可以快速切換到鏈路B上。
圖1-9 配置RIP快速重路由
(1) 配置各交換機接口的IP地址和RIPv2協議
請按照上麵組網圖配置各接口的IP地址和子網掩碼,具體配置過程略。
配置各路由器之間采用RIPv2協議進行互連,確保Switch S、Switch A和Switch D之間能夠在網絡層互通,並且各路由器之間能夠借助RIPv2協議實現動態路由更新。
具體配置過程略。
(2) 配置RIP 快速重路由
# 配置Switch S。
<SwitchS> system-view
[SwitchS] bfd echo-source-ip 1.1.1.1
[SwitchS] ip ip-prefix abc index 10 permit 4.4.4.4 32
[SwitchS] route-policy frr permit node 10
[SwitchS-route-policy] if-match ip-prefix abc
[SwitchS-route-policy] apply fast-reroute backup-interface vlan-interface 100 backup-nexthop 12.12.12.2
[SwitchS-route-policy] quit
[SwitchS] rip 1
[SwitchS-rip-1] fast-reroute route-policy frr
[SwitchS-rip-1] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] bfd echo-source-ip 4.4.4.4
[SwitchD] ip ip-prefix abc index 10 permit 1.1.1.1 32
[SwitchD] route-policy frr permit node 10
[SwitchD-route-policy] if-match ip-prefix abc
[SwitchD-route-policy] apply fast-reroute backup-interface vlan-interface 101 backup-nexthop 24.24.24.2
[SwitchD-route-policy] quit
[SwitchD] rip 1
[SwitchD-rip-1] fast-reroute route-policy frr
[SwitchD-rip-1] quit
(3) 檢驗配置效果
# 在Switch S上查看4.4.4.4/32路由,可以看到備份下一跳信息:
[SwitchS] display ip routing-table 4.4.4.4 verbose
Routing Table : Public
Summary Count : 1
Destination: 4.4.4.4/32
Protocol: RIP Process ID: 1
Preference: 100 Cost: 1
IpPrecedence: QosLcId:
NextHop: 13.13.13.2 Interface: vlan200
BkNextHop: 12.12.12.2 BkInterface: vlan100
RelyNextHop: 0.0.0.0 Neighbor : 0.0.0.0
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h01m27s
Tag: 0
# 在Switch D上查看1.1.1.1/32路由,可以看到備份下一跳信息:
[SwitchD] display ip routing-table 1.1.1.1 verbose
Routing Table : Public
Summary Count : 1
Destination: 1.1.1.1/32
Protocol: RIP Process ID: 1
Preference: 100 Cost: 1
IpPrecedence: QosLcId:
NextHop: 13.13.13.1 Interface: vlan200
BkNextHop: 24.24.24.2 BkInterface: vlan101
RelyNextHop: 0.0.0.0 Neighbor : 0.0.0.0
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h01m27s
Tag: 0
· Switch A、Switch C通過二層交換機互連,它們的接口Vlan-interface100都運行RIP進程1。並且Switch A的接口Vlan-interface100上還使能了BFD檢測功能。
· Switch A通過Switch B與Switch C互連,Switch A的接口Vlan-interface200運行RIP進程2。Switch C的接口Vlan-interface300、Switch B的接口Vlan-interface200和Vlan-interface300上都運行RIP進程1。
· Switch C上配置靜態路由,並且將靜態路由引入在RIP進程中,使Switch C有路由發送至Switch A。Switch A上學習到Switch C發送的靜態路由,出接口為與二層交換機相連的接口。
· 在Switch C和二層交換機之間的鏈路發生故障後,BFD能夠快速檢測鏈路中斷並通告RIP協議。RIP協議響應BFD會話down,刪除與Switch C的鄰居,並刪除從Switch C學習的路由。Switch A上學習到Switch C上發送的靜態路由,出接口為與Switch B相連的接口。
圖1-10 配置RIP運行BFD特性組網圖(echo報文單跳檢測)
(1) 配置各接口的IP地址(略)
(2) 配置RIP基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] rip 1
[SwitchA-rip-1] version 2
[SwitchA-rip-1] undo summary
[SwitchA-rip-1] network 192.168.1.0
[SwitchA-rip-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] rip bfd enable
[SwitchA-Vlan-interface100] quit
[SwitchA] rip 2
[SwitchA-rip-2] version 2
[SwitchA-rip-2] undo summary
[SwitchA-rip-2] network 192.168.2.0
[SwitchA-rip-2] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] rip 1
[SwitchB-rip-1] version 2
[SwitchB-rip-1] undo summary
[SwitchB-rip-1] network 192.168.2.0
[SwitchB-rip-1] network 192.168.3.0
[SwitchB-rip-1] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] rip 1
[SwitchC-rip-1] version 2
[SwitchC-rip-1] undo summary
[SwitchC-rip-1] network 192.168.1.0
[SwitchC-rip-1] network 192.168.3.0
[SwitchC-rip-1] import-route static
[SwitchC-rip-1] quit
(3) 配置BFD參數
# 配置Switch A。
[SwitchA] bfd session init-mode active
[SwitchA] bfd echo-source-ip 11.11.11.11
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] bfd min-transmit-interval 500
[SwitchA-Vlan-interface100] bfd min-receive-interval 500
[SwitchA-Vlan-interface100] bfd detect-multiplier 7
[SwitchA-Vlan-interface100] quit
[SwitchA] quit
(4) Switch C配置靜態路由
[SwitchC] ip route-static 100.1.1.1 24 null 0
(5) 檢查配置結果
# 顯示Switch A的BFD信息。
<SwitchA> display bfd session
Total Session Num: 1 Init Mode: Active
Session Working Under Echo Mode:
LD SourceAddr DestAddr State Holdtime Interface
5 192.168.1.1 192.168.1.2 Up 2000ms Vlan100
# 顯示Switch A上RIP從Switch B學到的路由。
<SwitchA> display ip routing-table 100.1.1.0 24 verbose
Routing Table : Public
Summary Count : 2
Destination: 100.1.1.0/24
Protocol: RIP Process ID: 1
Preference: 100 Cost: 1
IpPrecedence: QosLcId:
NextHop: 192.168.1.2 Interface: vlan-interface 100
BkNextHop: 0.0.0.0 BkInterface:
RelyNextHop: 0.0.0.0 Neighbor : 192.168.1.2
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h00m47s
Tag: 0
Destination: 100.1.1.0/24
Protocol: RIP Process ID: 2
Preference: 100 Cost: 2
IpPrecedence: QosLcId:
NextHop: 192.168.2.2 Interface: vlan-interface 200
BkNextHop: 0.0.0.0 BkInterface:
RelyNextHop: 0.0.0.0 Neighbor : 192.168.2.2
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Inactive Adv Age: 00h12m50s
Tag: 0
# 打開Switch A的調試開關
<SwitchA> debugging rip 1 event
<SwitchA> terminal debugging
# Switch C和二層交換機之間的鏈路發生故障時,可以看到Switch A能夠快速感知Switch C的變化。
%Jan 19 10:41:51:203 2008 SwitchA BFD/4/LOG:Sess[192.168.1.1/192.168.1.2, Vlan-interface 100,Ctrl], Sta: UP->DOWN, Diag: 1
*Jan 19 10:33:12:813 2008 SwitchA RM/6/RMDEBUG: RIP-BFD: Message Type Disable, Connect Type Direct-connect, Pkt Type Echo, Src IP Address 192.168.1.1, Src IFIndex4, Nbr IP Address 192.168.1.2.
# 顯示Switch A的BFD信息。
查看Switch A的BFD信息,Switch A已取消與Switch C的鄰居關係,沒有任何輸出信息。
<SwitchA> display bfd session
# 顯示Switch A的RIP進程1的路由信息。
查看Switch A的RIP進程1的路由信息,沒有從Switch C學到的RIP路由。
<SwitchA> display rip 1 route
Route Flags: R - RIP, T - TRIP
P - Permanent, A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------------------
# 顯示Switch A上學到的路由100.1.1.0/24。
<SwitchA> display ip routing-table 100.1.1.0 24 verbose
Routing Table : Public
Summary Count : 1
Destination: 100.1.1.0/24
Protocol: RIP Process ID: 2
Preference: 100 Cost: 2
IpPrecedence: QosLcId:
NextHop: 192.168.2.2 Interface: vlan-interface 200
BkNextHop: 0.0.0.0 BkInterface:
RelyNextHop: 0.0.0.0 Neighbor : 192.168.2.2
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h18m40s
Tag: 0
· Switch A通過Switch B與Switch C互連。Switch A的接口Vlan-interface100和Switch C的接口Vlan-interface200上都運行RIP進程1。
· 分別在Switch A和Switch C上配置到達對端的靜態路由,並在Switch A的接口Vlan-interface100和Switch C的接口Vlan-interface200上並使能BFD檢測功能。
· Switch A通過Switch D與Switch C互連。Switch A的接口Vlan-interface300運行RIP進程2。Switch C的接口Vlan-interface400、Switch D的接口Vlan-interface300和Vlan-interface400上運行RIP進程1。
· 為使Switch A與Switch C互有路由發送,在Switch A與Switch C上將到達對端的靜態路由引入RIP協議中。Switch A與Switch C之間建立BFD會話。Switch A上學習到Switch C發送的靜態路由,出接口為與Switch B連接的接口。
· 在Switch B與Switch C之間的鏈路發生故障後,BFD能夠快速檢測鏈路中斷並通告RIP協議。RIP協議響應BFD會話down,刪除與Switch C的鄰居,並刪除從Switch C學習的路由。Switch A上學習到Switch C發送的靜態路由,出接口為與Switch D連接的接口。
圖1-11 配置RIP運行BFD特性組網圖(control報文雙向檢測)
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Switch A |
Vlan-int300 |
192.168.3.1/24 |
Switch B |
Vlan-int100 |
192.168.1.2/24 |
|
Vlan-int100 |
192.168.1.1/24 |
|
Vlan-int200 |
192.168.2.1/24 |
Switch C |
Vlan-int200 |
192.168.2.2/24 |
Switch D |
Vlan-int300 |
192.168.3.2/24 |
|
Vlan-int400 |
192.168.4.2/24 |
|
Vlan-int400 |
192.168.4.1/24 |
(1) 配置各接口的IP地址(略)
(2) 配置RIP基本功能,並引入靜態路由,使Switch A與Switch C互有路由發送
# 配置Switch A。
<SwitchA> system-view
[SwitchA] rip 1
[SwitchA-rip-1] version 2
[SwitchA-rip-1] undo summary
[SwitchA-rip-1] network 192.168.1.0
[SwitchA-rip-1] network 101.1.1.0
[SwitchA-rip-1] peer 192.168.2.2
[SwitchA-rip-1] undo validate-source-address
[SwitchA-rip-1] import-route static
[SwitchA-rip-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] rip bfd enable
[SwitchA-Vlan-interface100] quit
[SwitchA] rip 2
[SwitchA-rip-2] version 2
[SwitchA-rip-2] undo summary
[SwitchA-rip-2] network 192.168.3.0
[SwitchA-rip-2] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] rip 1
[SwitchC-rip-1] version 2
[SwitchC-rip-1] undo summary
[SwitchC-rip-1] network 192.168.2.0
[SwitchC-rip-1] network 192.168.4.0
[SwitchC-rip-1] network 100.1.1.0
[SwitchC-rip-1] peer 192.168.1.1
[SwitchC-rip-1] undo validate-source-address
[SwitchC-rip-1] import-route static
[SwitchC-rip-1] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] rip bfd enable
[SwitchC-Vlan-interface200] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] rip 1
[SwitchD-rip-1] version 2
[SwitchD-rip-1] undo summary
[SwitchD-rip-1] network 192.168.3.0
[SwitchD-rip-1] network 192.168.4.0
(3) 配置BFD參數
# 配置Switch A。
[SwitchA] bfd session init-mode active
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] bfd min-transmit-interval 500
[SwitchA-Vlan-interface100] bfd min-receive-interval 500
[SwitchA-Vlan-interface100] bfd detect-multiplier 7
[SwitchA-Vlan-interface100] quit
# 配置Switch C。
[SwitchC] bfd session init-mode active
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] bfd min-transmit-interval 500
[SwitchC-Vlan-interface200] bfd min-receive-interval 500
[SwitchC-Vlan-interface200] bfd detect-multiplier 7
[SwitchC-Vlan-interface200] quit
(4) 配置靜態路由
# 配置Switch A。
[SwitchA] ip route-static 192.168.2.0 24 vlan-interface 100 192.168.1.2
[SwitchA] quit
# 配置Switch C。
[SwitchC] ip route-static 192.168.1.0 24 vlan-interface 200 192.168.2.1
(5) 檢查配置結果
# 顯示Switch A的BFD信息。
<SwitchA> display bfd session
Total Session Num: 1 Init Mode: Active
Session Working Under Ctrl Mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
6/3 192.168.1.1 192.168.2.2 Up 1700ms vlan100
# 顯示Switch A上學到的路由100.1.1.0/24。
<SwitchA> display ip routing-table 100.1.1.0 24 verbose
Routing Table : Public
Summary Count : 2
Destination: 100.1.1.0/24
Protocol: RIP Process ID: 1
Preference: 100 Cost: 1
IpPrecedence: QosLcId:
NextHop: 192.168.1.2 Interface: vlan-interface 100
BkNextHop: 0.0.0.0 BkInterface:
RelyNextHop: 0.0.0.0 Neighbor : 192.168.1.2
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h00m47s
Tag: 0
Destination: 100.1.1.0/24
Protocol: RIP Process ID: 2
Preference: 100 Cost: 2
IpPrecedence: QosLcId:
NextHop: 192.168.3.2 Interface: vlan-interface 300
BkNextHop: 0.0.0.0 BkInterface:
RelyNextHop: 0.0.0.0 Neighbor : 192.168.3.2
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Inactive Adv Age: 00h12m50s
Tag: 0
# 打開Switch A的調試開關。
<SwitchA> debugging rip 1 event
<SwitchA> terminal debugging
# Switch B和Switch C之間的鏈路發生故障後。可以看到Switch A能夠快速檢測到鏈路的變化。
%Jan 19 10:41:51:203 2008 SwitchA BFD/4/LOG:Sess[192.168.1.1/192.168.2.2, Vlan-interface 100, Ctrl], Sta: UP->DOWN, Diag: 1
*Jan 19 10:41:51:203 2008 SwitchA RM/6/RMDEBUG: RIP-BFD: Message Type Disable, Connect Type Indirect-connect, Pkt Type Control, Src IP Address 192.168.1.1, Src IFIndex 4, Nbr IP Address 192.168.2.2.
# 顯示Switch A的BFD信息。
查看Switch A的BFD信息,Switch A已取消與Switch C的鄰居關係,沒有任何輸出信息。
<SwitchA> display bfd session
# 顯示Switch A的RIP進程1的路由信息。
查看Switch A的RIP進程1的路由信息,沒有從Switch C學到的RIP路由。
<SwitchA> display rip 1 route
Route Flags: R - RIP, T - TRIP
P - Permanent, A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------------------
# 顯示Switch A上學到的路由100.1.1.0/24。
<SwitchA> display ip routing-table 100.1.1.0 24 verbose
Routing Table : Public
Summary Count : 1
Destination: 100.1.1.0/24
Protocol: RIP Process ID: 2
Preference: 100 Cost: 2
IpPrecedence: QosLcId:
NextHop: 192.168.3.2 Interface: vlan-interface 300
BkNextHop: 0.0.0.0 BkInterface:
RelyNextHop: 0.0.0.0 Neighbor : 192.168.3.2
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h18m40s
Tag: 0
在鏈路正常的情況下收不到鄰居的RIP更新報文。
RIP啟動後,必須使用network命令使能相應的接口。如果對接口的工作狀態單獨進行了配置,應確認沒有抑製相關接口或禁止其收發RIP報文。
如果在對端路由器上配置的是組播方式發送RIP報文,在本地路由器上也應該配置為組播方式。
(1) 執行display current-configuration命令,檢查RIP的配置。
(2) 執行display rip命令,檢查是否抑製了相關RIP接口。
在鏈路正常的情況下,運行RIP的網絡發生路由振蕩,查看路由表時發現部分路由時有時無。
在RIP網絡中,應確保全網定時器的配置一致,且各定時器之間的關係合理,如Timeout定時器的值應大於Update定時器的值。
(1) 使用display rip命令查看RIP定時器的配置。
(2) 使用timers將全網的定時器配置一致。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!