04-RIP配置
本章節下載: 04-RIP配置 (427.08 KB)
目 錄
1.9.5 配置control報文雙向檢測(非直連鄰居control報文雙向檢測)
1.9.6 配置control報文雙向檢測(直連鄰居control報文雙向檢測)
1.10.4 配置RIP快速重路由支持BFD檢測功能(Ctrl方式)
RIP(Routing Information Protocol,路由信息協議)是一種基於距離矢量(Distance-Vector)算法的內部網關協議(Interior Gateway Protocol,IGP),它通過UDP報文進行路由信息的交換,使用的端口號為520。RIP適用於小型網絡。
RIP使用跳數來衡量到達目的地址的距離,跳數稱為度量值。在RIP中,路由器到與它直接相連網絡的跳數為0,通過一個路由器可達的網絡的跳數為1,其餘依此類推。為限製收斂時間,RIP規定度量值取0~15之間的整數,大於或等於16的跳數被定義為無窮大,即目的網絡或主機不可達。由於這個限製,使得RIP不適合應用於大型網絡。
每個運行RIP的路由器管理一個路由數據庫,該路由數據庫包含了到所有可達目的地的路由項,這些路由項包含下列信息:
· 目的地址:主機或網絡的地址。
· 下一跳地址:為到達目的地,需要經過的相鄰路由器的接口IP地址。
· 出接口:本路由器轉發報文的出接口。
· 度量值:本路由器到達目的地的開銷。
· 路由時間:從路由項最後一次被更新到現在所經過的時間,路由項每次被更新時,路由時間重置為0。
· 路由標記(Route Tag):用於標識外部路由,在路由策略中可根據路由標記對路由信息進行靈活的控製。關於路由策略的詳細信息,請參見“三層技術-IP路由配置指導”中的“路由策略”。
RIP的運行過程如下:
(1) 路由器啟動RIP後,便會向相鄰的路由器發送請求報文(Request message),相鄰的RIP路由器收到請求報文後,響應該請求,回送包含本地路由表信息的響應報文(Response message)。
(2) 路由器收到響應報文後,更新本地路由表,同時向相鄰路由器發送觸發更新報文,通告路由更新信息。相鄰路由器收到觸發更新報文後,又向其各自的相鄰路由器發送觸發更新報文。在一連串的觸發更新廣播後,各路由器都能得到並保持最新的路由信息。
(3) 路由器周期性向相鄰路由器發送本地路由表,運行RIP協議的相鄰路由器在收到報文後,對本地路由進行維護,選擇一條最佳路由,再向其各自相鄰網絡發送更新信息,使更新的路由最終能達到全局有效。同時,RIP采用老化機製對超時的路由進行老化處理,以保證路由的實時性和有效性。
RIP協議向鄰居通告的是自己的路由表,有可能會發生路由環路,可以通過以下機製來避免:
· 計數到無窮(Counting to infinity):將度量值等於16的路由定義為不可達(infinity)。在路由環路發生時,某條路由的度量值將會增加到16,該路由被認為不可達。
· 觸發更新(Triggered Updates):RIP通過觸發更新來避免在多個路由器之間形成路由環路的可能,而且可以加速網絡的收斂速度。一旦某條路由的度量值發生了變化,就立刻向鄰居路由器發布更新報文,而不是等到更新周期的到來。
· 水平分割(Split Horizon):RIP從某個接口學到的路由,不會從該接口再發回給鄰居路由器。這樣不但減少了帶寬消耗,還可以防止路由環路。
· 毒性逆轉(Poison Reverse):RIP從某個接口學到路由後,將該路由的度量值設置為16(不可達),並從原接口發回鄰居路由器。利用這種方式,可以清除對方路由表中的無用信息。
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相關的協議規範有:
· 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
RIP配置任務如下:
(1) 配置RIP的基本功能
a. 啟動RIP
b. (可選)配置接口的工作狀態
c. (可選)配置RIP版本
d. 配置RIP鄰居
如果在不支持廣播或組播報文的鏈路上運行RIP,則必須手工指定RIP的鄰居。
(2) (可選)配置RIP的路由信息控製
(3) (可選)調整和優化RIP網絡
¡ 配置RIP定時器
(4) (可選)配置RIP網管功能
(5) (可選)提高RIP的可靠性
¡ 配置RIP GR
(6) (可選)提高RIP的安全性
¡ 配置源地址檢查
目前,係統支持RIP多進程。當在一台路由器上啟動多個RIP進程時,需要指定不同的進程號。RIP進程號是本地概念,不影響與其它路由器之間的報文交換。因此,不同的路由器之間,即使進程號不同也可以進行報文交換。
RIP隻在指定網段的接口上運行,指定網段的同時可以配置反碼;對於不在指定網段上的接口,RIP既不在它上麵接收和發送路由,也不將它的接口路由發布出去。因此,RIP啟動後必須指定其工作網段。
· 啟動RIP前在接口視圖下配置了RIP相關命令,這些配置隻有在RIP啟動後才會生效。
· RIP不支持將同一物理接口下的不同網段使能到不同的RIP進程中。
· RIP不支持在同一物理接口下使能多個RIP進程。
· 在指定接口上使能RIP的優先級高於在指定網段上使能RIP。
(1) 進入係統視圖。
system-view
(2) 啟動RIP,並進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
缺省情況下,係統沒有啟動RIP。
(3) 在指定網段上使能RIP。
network network-address [ wildcard-mask ]
缺省情況下,沒有網段使能RIP。
在單進程情況下,可以使用network 0.0.0.0命令在所有接口上使能RIP。在多進程情況下,無法使用network 0.0.0.0命令。
(1) 進入係統視圖。
system-view
(2) 啟動RIP,並進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
缺省情況下,係統沒有啟動RIP。
(3) 退回係統視圖。
quit
(4) 進入接口視圖。
interface interface-type interface-number
(5) 在指定接口上使能RIP。
rip process-id enable [ exclude-subip ]
缺省情況下,接口上沒有使能RIP。
可對接口的工作狀態進行配置,具體包括:
· 配置接口工作在抑製狀態,即接口隻接收RIP報文而不發送RIP報文。
· 配置禁止接口接收RIP報文。
· 配置禁止接口發送RIP報文。
silent-interface命令用來抑製接口,使其隻接收RIP報文,更新自己的路由表,但不發送RIP報文。命令silent-interface比命令rip input和rip output的優先級都高。silent-interface all表示抑製所有接口,在配置該命令後,所有接口都被抑製,rip input和rip output將不會生效。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置抑製接口。
silent-interface { interface-type interface-number | all }
缺省情況下,允許所有接口發送路由更新報文。
若抑製接口收到非知名端口的單播請求,會發送響應報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置禁止接口接收RIP報文。
undo rip input
缺省情況下,允許接口接收RIP報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置禁止接口發送RIP報文。
undo rip output
缺省情況下,允許接口發送RIP報文。
用戶可以在RIP視圖下配置RIP版本,也可在接口上配置RIP版本:
· 當全局和接口都沒有進行RIP版本配置時,接口發送RIP-1廣播報文,可以接收RIP-1廣播/單播報文、RIP-2廣播/組播/單播報文。
· 如果接口上配置了RIP版本,以接口配置的為準;如果接口沒有進行RIP版本配置,接口運行的RIP版本將以全局配置的版本為準。
(1) 進入係統視圖。
system-view
(2) 配置RIP版本。
¡ 請依次執行以下命令在RIP視圖下配置RIP版本。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
version { 1 | 2 }
缺省情況下,未配置全局RIP版本。接口隻能發送RIP-1廣播報文,可以接收RIP-1廣播/單播報文、RIP-2廣播/組播/單播報文。
¡ 請依次執行以下命令在接口視圖下配置RIP版本。
interface interface-type interface-number
rip version { 1 | 2 [ broadcast | multicast ] }
缺省情況下,未配置接口運行的RIP版本。接口隻能發送RIP-1廣播報文,可以接收RIP-1廣播/單播報文、RIP-2廣播/組播/單播報文。
通常情況下,RIP使用廣播或組播地址發送報文,如果在不支持廣播或組播報文的鏈路上運行RIP,則必須手工指定RIP的鄰居。
當RIP鄰居與當前設備直連時不推薦使用peer ip-address命令,因為這樣可能會造成對端同時收到同一路由信息的組播(或廣播)和單播兩種形式的報文。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置RIP鄰居。
peer ip-address
缺省情況下,RIP不向任何定點地址發送單播更新報文。
(4) 關閉對接收到的RIP路由更新報文進行源IP地址檢查的功能。
undo validate-source-address
缺省情況下,對接收到的RIP路由更新報文進行源IP地址檢查的功能處於使能狀態。
當指定的鄰居和本地路由器非直接連接,則必須關閉對更新報文的源地址進行檢查的功能。
附加度量值是在RIP路由原來度量值的基礎上所增加的度量值(跳數),包括發送附加度量值和接收附加度量值。
· 發送附加度量值:不會改變路由表中的路由度量值,僅當接口發送RIP路由信息時才會添加到發送路由上。
· 接收附加度量值:會影響接收到的路由度量值,接口接收到一條合法的RIP路由時,在將其加入路由表前會把度量值附加到該路由上,當附加度量值與原路由度量值之和大於16時,該條路由的度量值取16。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口接收RIP路由時的附加度量值。
rip metricin [ route-policy route-policy-name ] value
缺省情況下,接口接收RIP路由時的附加路由度量值為0。
(4) 配置接口發送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向外發送。
· 手工路由聚合是指用戶可在指定接口配置RIP-2發布一條聚合路由。如果路由落入聚合路由網段內,則RIP-2不發布該路由,隻發布配置的聚合路由。例如,假設路由表裏有10.1.1.0/24、10.1.2.0/24、10.1.3.0/24三條子網連續的路由,在接口GigabitEthernet1/2/5/1配置發布一條聚合路由10.1.0.0/16後,這三條路由聚合成一條路由10.1.0.0/16向外發送。缺省情況下,RIP-2的路由將按照自然掩碼自動聚合,如果用戶在指定接口配置發布一條聚合路由,則必須先關閉自動聚合功能。
路由聚合在某些情況會產生路由環路,所以在路由聚合時需要配置出接口為NULL0的黑洞路由。報文匹配到黑洞路由時,直接丟棄該報文,避免產生環路。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能RIP-2自動路由聚合功能。
summary
缺省情況下,RIP-2自動路由聚合功能處於使能狀態。
如果路由表裏的路由子網不連續,則需要取消自動路由聚合功能,使得RIP-2能夠向外發布子網路由和主機路由。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 關閉RIP-2自動路由聚合功能。
undo summary
缺省情況下,RIP-2自動路由聚合功能處於使能狀態。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 配置發布一條聚合路由。
rip summary-address ip-address { mask-length | mask }
缺省情況下,未配置聚合路由。
在某些特殊情況下,路由器會收到大量來自同一網段的主機路由。這些路由對於路由尋址沒有多少作用,卻占用了大量的資源,此時可配置RIP禁止接收主機路由,以節省網絡資源。功能僅對RIPv2報文攜帶的路由有效,對RIPv1報文攜帶的路由無效。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 禁止RIP接收主機路由。
undo host-route
缺省情況下,允許RIP接收主機路由。
用戶可以配置RIP以指定度量值向鄰居發布一條缺省路由。
· 用戶可以在RIP視圖下配置RIP進程的所有接口向鄰居發布缺省路由,也可以在接口下配置指定RIP接口向鄰居發布缺省路由。
· 如果接口沒有進行發布缺省路由的相關配置,則以RIP進程下的配置為準,否則將以接口配置為準。
· 如果RIP進程配置了發布缺省路由,但希望該進程下的某個接口不發送缺省路由(隻發布普通路由),可以通過在接口下配置rip default-route no-originate命令實現。
配置發布缺省路由的RIP路由器不接收來自RIP鄰居的缺省路由。
(1) 進入係統視圖。
system-view
(2) 配置RIP發布缺省路由。
¡ 請依次執行以下命令在RIP視圖下配置發布缺省路由。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
default-route { only | originate } [ cost cost-value | route-policy route-policy-name ] *
缺省情況下,RIP不向鄰居發送缺省路由。
¡ 請依次執行以下命令在接口視圖下配置發布缺省路由。
interface interface-type interface-number
rip default-route { { only | originate } [ cost cost-value | route-policy route-policy-name ] * | no-originate }
缺省情況下,RIP接口是否發布缺省路由以RIP進程配置的為準。
路由過濾就是通過指定訪問控製列表或IP地址前綴列表,配置入口或出口過濾策略,對接收和發布的路由進行過濾。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 對接收的路由信息進行過濾。
filter-policy { ipv4-acl-number | gateway prefix-list-name | prefix-list prefix-list-name [ gateway prefix-list-name ] } import [ interface-type interface-number ]
缺省情況下,RIP不對接收的路由信息進行過濾。
本命令對從鄰居收到的RIP路由進行過濾,沒有通過過濾的路由將不被加入路由表,也不向鄰居發布該路由。
(4) 對發布的路由信息進行過濾。
filter-policy { ipv4-acl-number | prefix-list prefix-list-name } export [ interface-type interface-number | bgp | direct | [ isis | ospf | rip ] [ process-id ] | static ]
缺省情況下,RIP不對發布的路由信息進行過濾。
本命令對本機所有路由的發布進行過濾,包括使用import-route引入的路由和從鄰居學到的RIP路由。
在路由器中可能會運行多個IGP路由協議,如果想讓RIP路由具有比從其它路由協議學來的路由更高的優先級,需要配置小的優先級值。優先級的高低將最後決定IP路由表中的路由是通過哪種路由算法獲取的最佳路由。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置RIP路由的優先級。
preference { preference | route-policy route-policy-name } *
缺省情況下,RIP路由的優先級為100。
如果在路由器上不僅運行RIP,還運行著其它路由協議,可以配置RIP引入其它協議生成的路由,如OSPF、IS-IS、BGP、靜態路由或者直連路由。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 引入外部路由。
¡ 配置RIP引入BGP協議的路由。
import-route bgp [ as-number ] [ allow-ibgp ] [ cost cost-value | route-policy route-policy-name | tag tag ] *
¡ 配置RIP引入直連或靜態路由。
import-route { direct | static } [ cost cost-value | route-policy route-policy-name | tag tag ] *
¡ 配置RIP引入isis、ospf協議或其他rip進程的路由。
import-route { isis | ospf | rip } [ process-id | all-processes ] [ allow-direct | cost cost-value | route-policy route-policy-name | tag tag ] *
缺省情況下,RIP不引入其它路由。
隻能引入路由表中狀態為active的路由,是否為active狀態可以通過display ip routing-table protocol命令來查看。
(4) (可選)配置引入路由的缺省度量值。
default cost cost-value
缺省情況下,引入路由的缺省度量值為0。
通過調整RIP定時器可以改變RIP網絡的收斂速度。
RIP受四個定時器的控製,分別是Update、Timeout、Suppress和Garbage-Collect。
· Update定時器:定義了發送路由更新的時間間隔。
· Timeout定時器:定義了路由老化時間。如果在老化時間內沒有收到關於某條路由的更新報文,則該條路由在路由表中的度量值將會被設置為16。
· Suppress定時器:定義了RIP路由處於抑製狀態的時長。當一條路由的度量值變為16時,該路由將進入抑製狀態。在被抑製狀態,隻有來自同一鄰居且度量值小於16的路由更新才會被路由器接收,取代不可達路由。
· Garbage-Collect定時器:定義了一條路由從度量值變為16開始,直到它從路由表裏被刪除所經過的時間。在Garbage-Collect時間內,RIP以16作為度量值向外發送這條路由的更新,如果Garbage-Collect超時,該路由仍沒有得到更新,則該路由將從路由表中被徹底刪除。
定時器值的調整應考慮網絡的性能,並在所有運行RIP的路由器上進行統一配置,以免增加不必要的網絡流量或引起網絡路由震蕩。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置RIP定時器的值。
timers { garbage-collect garbage-collect-value | suppress suppress-value | timeout timeout-value | update update-value } *
缺省情況下,Garbage-collect定時器的值為120秒,Suppress定時器的值為120秒,Timeout定時器的值為180秒,Update定時器的值為30秒。
通過配置水平分割或毒性逆轉功能可以防止路由環路。
· 配置水平分割可以使得從一個接口學到的路由不能通過此接口向外發布,用於避免相鄰路由器間的路由環路。
· 配置毒性逆轉後,從一個接口學到的路由還可以從這個接口向外發布,但這些路由的度量值會設置為16(即不可達),可以用於避免相鄰路由器間的路由環路。
如果同時配置了水平分割和毒性逆轉,則隻有毒性逆轉功能生效。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 使能水平分割功能。
rip split-horizon
缺省情況下,水平分割功能處於使能狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 使能毒性逆轉功能。
rip poison-reverse
缺省情況下,毒性逆轉功能處於關閉狀態。
通過配置RIP最大等價路由條數,可以使用多條等價路由對RIP網絡進行負載分擔。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置RIP最大等價路由條數。
maximum load-balancing number
缺省情況下,RIP支持的等價路由的最大條數與係統支持最大等價路由的條數相同。
RIP路由信息變化後將以觸發更新的方式通知鄰居設備,加速鄰居設備的路由收斂。如果路由信息頻繁變化,且每次變化都立即發送觸發更新,將會占用大量係統資源,並影響路由器的效率。通過調節觸發更新的時間間隔,可以抑製由於路由信息頻繁變化帶來的影響。本命令在路由信息變化不頻繁的情況下將連續觸發更新的時間間隔縮小到minimum-interval,而在路由信息變化頻繁的情況下可以進行相應懲罰,增加incremental-interval×2n-2(n為連續觸發更新的次數),將等待時間按照配置的懲罰增量延長,最大不超過maximum-interval。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置RIP觸發更新的時間間隔。
timer triggered maximum-interval [ minimum-interval [ incremental-interval ] ]
缺省情況下,發送觸發更新的最大時間間隔為5秒,最小間隔為50毫秒,增量懲罰間隔為200毫秒。
RIP周期性地將路由信息放在RIP報文中向鄰居發送。
如果路由表裏的路由條目數量很多,同時發送大量RIP協議報文有可能會對當前設備和網絡帶寬帶來衝擊;因此,路由器將RIP協議報文分為多個批次進行發送,並且對RIP接口每次允許發送的RIP協議報文最大個數做出限製。
用戶可根據需要配置接口發送RIP報文的時間間隔以及接口一次發送RIP報文的最大個數。
(1) 進入係統視圖。
system-view
(2) 配置RIP報文的發送速率。
¡ 請依次執行以下命令在RIP視圖下配置所有接口的RIP報文發送速率。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
配置RIP報文的發送速率。
output-delay time count count
缺省情況下,接口發送RIP報文的時間間隔為20毫秒,一次最多發送3個RIP報文。
¡ 請依次執行以下命令在接口視圖下配置某個接口的RIP報文發送速率。
interface interface-type interface-number
配置RIP報文的發送速率。
rip output-delay time count count
缺省情況下,接口發送RIP報文的速率以RIP進程配置的為準。
RIP周期性地將路由信息放在RIP報文中向鄰居發送,根據RIP報文的最大長度來計算報文中發送的最大路由數。通過設置RIP報文的最大長度,可以合理利用鏈路帶寬。
在配置認證的情況下,如果配置不當可能會造成報文無法發送,建議用戶按照下麵進行配置:
· 簡單驗證方式時,RIP報文的最大長度不小於52字節;
· MD5驗證方式(使用RFC 2453規定的報文格式)時,RIP報文的最大長度不小於56字節;
· MD5驗證方式(使用RFC 2082規定的報文格式)時,RIP報文的最大長度不小於72字節。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置RIP報文的最大長度。
rip max-packet-length value
缺省情況下,接口發送RIP報文的最大長度為512字節。
配置RIP進程綁定MIB功能後,可以通過網管軟件對指定的RIP進程進行管理。
(1) 進入係統視圖。
system-view
(2) 配置RIP進程綁定MIB。
rip mib-binding process-id
缺省情況下,MIB綁定在進程號最小的RIP進程上。
GR(Graceful Restart,平滑重啟)是一種在協議重啟或主備倒換時RIP進行平滑重啟,保證轉發業務不中斷的機製。
GR有兩個角色:
· GR Restarter:發生協議重啟或主備倒換事件且具有GR能力的設備。
· GR Helper:和GR Restarter具有鄰居關係,協助完成GR流程的設備。
在普通的路由協議重啟的情況下,路由器需要重新學習RIP路由,並更新FIB表,此時會引起網絡暫時的中斷,基於RIP的GR可以解決這個問題。
應用了GR特性的設備向外發送RIP全部路由表請求報文,重新從鄰居處學習RIP路由,在此期間FIB表不變化。在路由協議重啟完畢後,設備將重新學到的RIP路由下刷給FIB表,使該設備的路由信息恢複到重啟前的狀態。
本配置在GR Restarter上進行,啟動了RIP的設備缺省就是GR Helper。
設備充當GR Restarter後不能再配置RIP NSR功能。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能RIP協議的GR能力。
graceful-restart
缺省情況下,RIP協議的GR能力處於關閉狀態。
(4) (可選)配置RIP協議的GR重啟間隔時間。
graceful-restart interval interval
缺省情況下,RIP協議的GR重啟間隔時間為60秒。
NSR(Nonstop Routing,不間斷路由)通過將RIP路由信息從主進程備份到備進程,使設備在發生主備倒換時新主進程可以無縫完成路由的重新生成、下刷,鄰接關係不會發生中斷,從而避免了主備倒換對轉發業務的影響。
GR特性需要周邊設備配合才能完成路由信息的恢複,在網絡應用中有一定的限製。NSR特性不需要周邊設備的配合,網絡應用更加廣泛。
設備配置了RIP NSR功能後不能再充當GR Restarter。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能RIP NSR功能。
non-stop-routing
缺省情況下,RIP NSR功能處於關閉狀態。
各個進程的NSR功能是相互獨立的,隻對本進程生效。如果存在多個RIP進程,建議在各個進程下使能RIP NSR功能。
RIP協議依賴周期性發送路由更新請求作為檢測機製,當在指定時間內沒有收到路由更新回應時,認為此條路由不再生效,這種方式不能快速響應鏈路故障。使用BFD(Bidirectional Forwarding Detection,雙向轉發檢測)檢測到鏈路故障時,RIP能快速撤銷失效路由,減少對其他業務的影響。關於BFD的介紹和基本功能配置,請參見“網絡管理和監控配置指導”中的“BFD”。
目前RIP支持BFD提供了下麵幾種檢測方式:
· echo報文單跳檢測方式:直連鄰居使用。在對端有RIP路由發送時才能建立BFD會話。
· 指定目的地址的echo報文單跳檢測方式:直連鄰居使用,並且在接口上直接指定RIP鄰居的IP地址。當該接口使能了RIP功能,會建立到指定目的IP地址的BFD會話。在鏈路出現單通故障時,本特性可以加快路由收斂速度。鏈路出現故障時,本端設備不再從該接口收發任何RIP報文,鏈路恢複後,接口將繼續發送RIP報文。
· control報文雙向檢測方式:直連鄰居和非直連鄰居均可以使用。當兩端互有RIP路由發送時,且使能BFD的接口與接收接口為同一接口,鄰居之間才能建立BFD會話。
在RIP視圖下配置了bfd all-interfaces enable後,如果某接口的鏈路狀態不穩定,可能會導致BFD會話震蕩,繼而影響網絡的穩定性。這種情況下,如需在該接口上關閉RIP的BFD功能,減少對網絡穩定性的影響,必須執行rip bfd disable命令。
rip bfd enable命令與rip bfd enable destination命令互斥,不能同時使用。
(1) 進入係統視圖。
system-view
(2) 配置echo報文源地址。
bfd echo-source-ip ip-address
缺省情況下,未配置echo報文源地址。
(3) 使能BFD功能。請選擇其中一項進行配置。
¡ 請依次執行以下命令在RIP視圖下使能BFD。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
bfd all-interfaces enable
¡ 請依次執行以下命令在接口視圖下使能BFD。
interface interface-type interface-number
rip bfd enable
缺省情況下,RIP的BFD功能處於關閉狀態。
本特性隻檢測本端到RIP直連鄰居的鏈路的連通狀況。配置本特性時,指定的目的地址隻能是RIP直連鄰居的IP地址。
(1) 進入係統視圖。
system-view
(2) 配置echo報文源地址。
bfd echo-source-ip ip-address
缺省情況下,未配置echo報文源地址。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 使能RIP指定目的地址的BFD功能。
rip bfd enable destination ip-address
缺省情況下,RIP的BFD功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置RIP鄰居。
peer ip-address
缺省情況下,RIP不向任何定點地址發送更新報文。
由於peer命令與鄰居之間沒有對應關係,undo peer操作並不能立刻刪除鄰居,因此不能立刻刪除BFD會話。
(4) 使能BFD功能。請選擇其中一項進行配置。
¡ 在運行當前RIP進程的所有接口上使能BFD功能。
bfd all-interfaces enable
¡ 請依次執行以下命令在指定接口上使能BFD功能。
interface interface-type interface-number
rip bfd enable
缺省情況下,RIP的BFD功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 使能BFD功能。請選擇其中一項進行配置。
¡ 請依次執行以下命令在RIP視圖下使能BFD。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
bfd all-interfaces enable ctrl
¡ 請依次執行以下命令在接口視圖下使能BFD。
interface interface-type interface-number
rip bfd enable ctrl
缺省情況下,RIP的BFD功能處於關閉狀態。
當RIP網絡中的鏈路或某台路由器發生故障時,數據流量將會被中斷,直到RIP根據新的拓撲網絡路由收斂完畢後,被中斷的流量才能恢複正常的傳輸。
為了盡可能縮短網絡故障導致的流量中斷時間,網絡管理員可以根據需要配置RIP快速重路由功能。
圖1-1 RIP快速重路由功能示意圖
如圖1-1所示,通過在Router B上配置快速重路由功能,RIP可以為路由指定備份下一跳,當Router B檢測到網絡故障時,RIP會使用事先獲取好的備份下一跳替換失效下一跳,通過備份下一跳來指導報文的轉發,從而大大縮短了流量中斷時間。在使用備份下一跳指導報文轉發的同時,RIP會根據變化後的網絡拓撲重新計算路由,網絡收斂完畢後,使用新計算出來的最優路由來指導報文轉發。
本功能隻適合在主鏈路三層接口up,主鏈路由雙通變為單通或者不通的情況下使用。在主鏈路三層接口down的情況下,本功能不可用。
單通現象,即一條鏈路上的兩端,有且隻有一端可以收到另一端發來的報文,此鏈路稱為單向鏈路。
RIP快速重路由功能僅對非迭代RIP路由(即從直連鄰居學到RIP路由)有效。
等價路由不支持快速重路由功能。
(1) 進入係統視圖。
system-view
(2) 配置路由策略。
在路由策略中通過apply fast-reroute backup-interface命令在路由策略中指定備份下一跳。
詳細配置請參見“三層技術-IP路由配置指導”中的“路由策略”。
(3) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(4) 開啟RIP快速重路由功能。
fast-reroute route-policy route-policy-name
缺省情況下,RIP快速重路由功能處於關閉狀態。
RIP協議的快速重路由特性中,主用鏈路缺省不使用BFD進行鏈路故障檢測。配置本功能後,將使用BFD進行檢測,可以加快RIP協議的收斂速度。
本端使用control報文雙向檢測方式時,需要對端也使用control報文雙向檢測方式,才能正常工作。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 使能RIP協議中主用鏈路的BFD(Ctrl方式)檢測功能。
rip primary-path-detect bfd ctrl
缺省情況下,RIP協議中主用鏈路的BFD(Ctrl方式)檢測功能處於關閉狀態。
RIP協議的快速重路由特性中,主用鏈路缺省不使用BFD進行鏈路故障檢測。配置本功能後,將使用BFD進行檢測,可以加快RIP協議的收斂速度。
(1) 進入係統視圖。
system-view
(2) 配置BFD Echo報文源地址。
bfd echo-source-ip ip-address
缺省情況下,未配置BFD Echo報文源地址。
echo報文的源IP地址用戶可以任意指定。建議配置echo報文的源IP地址不屬於該設備任何一個接口所在網段。
本命令的詳細情況請參見“網絡管理和監控命令參考”中的“BFD”。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 使能RIP協議中主用鏈路的BFD(Echo方式)檢測功能。
rip primary-path-detect bfd echo
缺省情況下,RIP協議中主用鏈路的BFD(Echo方式)檢測功能處於關閉狀態。
RIP-1報文中的有些字段必須為零,稱之為零域。用戶可配置RIP-1在接收報文時對零域進行檢查,零域值不為零的RIP-1報文將不被處理。如果用戶能確保所有報文都是可信任的,則可以不進行該項檢查,以節省CPU處理時間。
由於RIP-2的報文沒有零域,此項配置對RIP-2無效。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能RIP-1報文的零域檢查功能。
checkzero
缺省情況下,RIP-1報文的零域檢查功能處於使能狀態。
通過配置對接收到的RIP路由更新報文進行源IP地址檢查:
· 對於在接口上接收的報文,RIP將檢查該報文源地址和接收接口的IP地址是否處於同一網段,如果不在同一網段則丟棄該報文。
· 對於PPP接口上接收的報文,RIP檢查該報文的源地址是否是對端接口的IP地址,如果不是則丟棄該報文。
(1) 進入係統視圖。
system-view
(2) 進入RIP視圖。
rip [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能對接收到的RIP路由更新報文進行源IP地址檢查功能。
validate-source-address
缺省情況下,對接收到的RIP路由更新報文進行源IP地址檢查功能處於使能狀態。
在安全性要求較高的網絡環境中,可以通過配置報文的認證方式來對RIP-2報文進行有效性檢查和驗證。
RIP-2支持三種認證方式:簡單認證、MD5認證和keychain認證。關於keychain功能的介紹,請參見“安全配置指導”中的“keychain”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置RIP-2報文的驗證方式。
rip authentication-mode { md5 { rfc2082 { cipher | plain } string key-id | rfc2453 { cipher | plain } string } | simple { cipher | plain } string }
缺省情況下,未配置RIP-2的驗證方式。
當RIP的版本為RIP-1時,雖然在接口視圖下仍然可以配置驗證方式,但由於RIP-1不支持認證,因此該配置不會生效。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後RIP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以重啟RIP進程或清除指定RIP進程的統計信息。
表1-1 RIP顯示和維護
命令 |
|
顯示RIP的當前運行狀態及配置信息 |
display rip [ process-id ] |
顯示RIP進程的GR狀態信息 |
display rip [ process-id ] graceful-restart |
顯示RIP進程的NSR狀態信息 |
display rip [ process-id ] non-stop-routing |
顯示RIP數據庫的激活路由 |
display rip process-id database [ ip-address { mask-length | mask } ] |
顯示RIP的接口信息 |
display rip process-id interface [ interface-type interface-number ] |
顯示RIP進程的鄰居信息 |
display rip process-id neighbor [ interface-type interface-number ] |
顯示RIP的路由信息 |
display rip process-id route [ ip-address { mask-length | mask } [ verbose ] | peer ip-address | statistics ] |
重啟指定RIP進程 |
reset rip process-id process |
清除RIP進程的統計信息 |
reset rip process-id statistics |
· Device A與2.2.2.0/24網段相連,Device B與3.3.3.0/24網段相連。
· Device A與Device B使用RIP-2進行互聯,2.2.2.0/24網段內的主機與3.3.3.0/24網段內的主機可以相互通信。
圖1-2 RIP基本功能配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/2/5/1
[DeviceA-GigabitEthernet1/2/5/1] ip address 1.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/2/5/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置接口加入安全域
# 根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/2/5/1
[DeviceA-security-zone-Untrust] quit
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/2/5/2
[DeviceA-security-zone-Trust] quit
(3) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立RIP鄰居關係。
# 配置名稱為riplocalin的安全策略規則,讓Device A可以接收Device B發送的RIP協議報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name riplocalin
[DeviceA-security-policy-ip-0-riplocalin] source-zone untrust
[DeviceA-security-policy-ip-0-riplocalin] destination-zone local
[DeviceA-security-policy-ip-0-riplocalin] service rip
[DeviceA-security-policy-ip-0-riplocalin] action pass
[DeviceA-security-policy-ip-0-riplocalin] quit
# 配置名稱為riplocalout的安全策略規則,讓Device A可以向Device B發送RIP協議報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name riplocalout
[DeviceA-security-policy-ip-1-riplocalout] source-zone local
[DeviceA-security-policy-ip-1-riplocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-riplocalout] service rip
[DeviceA-security-policy-ip-1-riplocalout] action pass
[DeviceA-security-policy-ip-1-riplocalout] quit
b. 配置安全策略放行Trust與Untrust安全域之間的流量,使得2.2.2.0/24網段內的主機與3.3.3.0/24網段內的主機互通。
# 配置名稱為trust-untrust的安全策略規則,讓2.2.2.0/24網段的主機能夠訪問3.3.3.0/24網段內的主機。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-2-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-2-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-2-trust-untrust] source-ip-subnet 2.2.2.0 24
[DeviceA-security-policy-ip-2-trust-untrust] destination-ip-subnet 3.3.3.0 24
[DeviceA-security-policy-ip-2-trust-untrust] action pass
[DeviceA-security-policy-ip-2-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,讓3.3.3.0/24網段的主機能夠訪問2.2.2.0/24網段內的主機。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-3-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-3-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-3-untrust-trust] source-ip-subnet 3.3.3.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 2.2.2.0 24
[DeviceA-security-policy-ip-3-untrust-trust] action pass
[DeviceA-security-policy-ip-3-untrust-trust] quit
[DeviceA-security-policy-ip-3] quit
(4) 配置RIP基本功能
[DeviceA] rip
[DeviceA-rip-1] network 1.1.1.0
[DeviceA-rip-1] network 2.2.2.0
[DeviceA-rip-1] version 2
[DeviceA-rip-1] undo summary
[DeviceA-rip-1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/2/5/1
[DeviceB-GigabitEthernet1/2/5/1] ip address 1.1.1.2 255.255.255.0
[DeviceB-GigabitEthernet1/2/5/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置接口加入安全域
# 根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/2/5/1
[DeviceB-security-zone-Untrust] quit
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/2/5/2
[DeviceB-security-zone-Trust] quit
(3) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立RIP鄰居關係。
# 配置名稱為riplocalin的安全策略規則,讓Device B可以接收Device A發送的RIP協議報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name riplocalin
[DeviceB-security-policy-ip-0-riplocalin] source-zone untrust
[DeviceB-security-policy-ip-0-riplocalin] destination-zone local
[DeviceB-security-policy-ip-0-riplocalin] service rip
[DeviceB-security-policy-ip-0-riplocalin] action pass
[DeviceB-security-policy-ip-0-riplocalin] quit
# 配置名稱為riplocalout的安全策略規則,讓Device B可以向Device A發送RIP協議報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name riplocalout
[DeviceB-security-policy-ip-1-riplocalout] source-zone local
[DeviceB-security-policy-ip-1-riplocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-riplocalout] service rip
[DeviceB-security-policy-ip-1-riplocalout] action pass
[DeviceB-security-policy-ip-1-riplocalout] quit
b. 配置安全策略放行Trust與Untrust安全域之間的流量,使得3.3.3.0/24網段內的主機與2.2.2.0/24網段內的主機互通。
# 配置名稱為trust-untrust的安全策略規則,讓3.3.3.0/24網段的主機能夠訪問2.2.2.0/24網段內的主機。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-2-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-2-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-2-trust-untrust] source-ip-subnet 3.3.3.0 24
[DeviceB-security-policy-ip-2-trust-untrust] destination-ip-subnet 2.2.2.0 24
[DeviceB-security-policy-ip-2-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,讓2.2.2.0/24網段的主機能夠訪問3.3.3.0/24網段內的主機。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-3-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-3-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-3-untrust-trust] source-ip-subnet 2.2.2.0 24
[DeviceB-security-policy-ip-3-untrust-trust] destination-ip-subnet 3.3.3.0 24
[DeviceB-security-policy-ip-3-untrust-trust] action pass
[DeviceB-security-policy-ip-3-untrust-trust] quit
[DeviceB-security-policy-ip-3] quit
(4) 配置RIP基本功能
[DeviceB] rip
[DeviceB-rip-1] version 2
[DeviceB-rip-1] undo summary
[DeviceB-rip-1] quit
[DeviceB] interface gigabitethernet 1/2/5/1
[DeviceB-GigabitEthernet1/2/5/1] rip 1 enable
[DeviceB-GigabitEthernet1/2/5/1] quit
[DeviceB] interface GigabitEthernet1/2/5/2
[DeviceB-GigabitEthernet1/2/5/2] rip 1 enable
[DeviceB-GigabitEthernet1/2/5/2] quit
# 查看Device A的RIP路由表。
[Device A] display rip 1 route
Route Flags: R - RIP
P - Permanent, A - Aging, S - Suppressed, G - Garbage-collect
D - Direct, O - Optimal, F - Flush to RIB
----------------------------------------------------------------------------
Peer 1.1.1.2 on GigabitEthernet1/2/5/1
Destination/Mask Nexthop Cost Tag Flags Sec
3.3.3.0/24 1.1.1.1 1 0 RAOF 10
Local route
Destination/Mask Nexthop Cost Tag Flags Sec
2.2.2.0/24 0.0.0.0 0 0 RDOF -
1.1.1.0/24 0.0.0.0 0 0 RDOF -
# 2.2.2.0/24網段內的主機與3.3.3.0/24網段內的主機能夠互通。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!