高楓
關(guān)鍵詞:華為路由器;RIP協(xié)議;網(wǎng)絡(luò)技術(shù)
0 引言
RIP路由協(xié)議是一種較為簡單、基于距離矢量算法的內(nèi)部網(wǎng)關(guān)協(xié)議,其功能設(shè)計簡單,學(xué)習(xí)和部署成本較低,適合在小規(guī)模網(wǎng)絡(luò)中使用[3]。RIP路由協(xié)議使用多播而不是廣播進(jìn)行路由更新,不僅減少了帶寬占用量,也減少了網(wǎng)絡(luò)擁塞的風(fēng)險。盡管RIP路由協(xié)議存在一些性能瓶頸和潛在的安全隱患,但它仍然是一款值得使用的路由協(xié)議,特別是在小型網(wǎng)絡(luò)中,RIP路由協(xié)議的優(yōu)點可以發(fā)揮更好的作用。RIP路由協(xié)議面臨最大的問題就是路由環(huán)路,其協(xié)議本身的算法并不具備解決環(huán)路的能力,但RIP協(xié)議中提供了3種機制來解決:水平分割、毒性逆轉(zhuǎn)、觸發(fā)更新。
1 RIP 協(xié)議簡介
RIP包括RIP v1和RIP v2兩個版本,兩個版本均使用基于跳數(shù)的距離度量,最大跳數(shù)為 15。在計算路徑時,使用基于距離的最短路徑算法。RIP v1采用基于UDP的面向無連接通信協(xié)議,其基本思想是Router 將本節(jié)點的路由信息發(fā)送給周圍節(jié)點,接收到其他節(jié)點發(fā)來的路由信息后,將其加入自身的路由表中,然后更新周圍節(jié)點的路由表。路由更新的間隔時間默認(rèn)為30秒,路由失效時間默認(rèn)為180秒。因為 RIP v1 性能較差,安全性也不高(沒有身份驗證和加密),所以常常會被攻擊和利用。RIP v2行在TCP/IP 應(yīng)用層,能夠與協(xié)議棧的其他部分通信,并在RIP v1的基礎(chǔ)上增加了路由間的子網(wǎng)和掩碼信息,因此可以支持VLSM(可變長度子網(wǎng)掩碼)。RIP v2還在協(xié)議中增加了身份驗證和加密功能,提高了安全性,并且使用多播而不是廣播進(jìn)行路由更新,節(jié)約了帶寬資源??傮w來說,RIP是一種簡單且易于實現(xiàn)和維護(hù)的協(xié)議,可以用于小型網(wǎng)絡(luò),但由于其性能和安全性問題,它不適合大型企業(yè)級網(wǎng)絡(luò)。
2 路由環(huán)路
2.1 產(chǎn)生環(huán)路的原因
RIP(Routing Information Protocol) 產(chǎn)生環(huán)路的主要原因是采用距離向量算法,即以跳數(shù)作為衡量路徑優(yōu)劣的標(biāo)準(zhǔn)[4]。當(dāng)網(wǎng)絡(luò)中存在多條路徑時,若RIP算法沒有足夠的能力區(qū)分出這些路徑的優(yōu)先級,就有可能會產(chǎn)生環(huán)路。在產(chǎn)生環(huán)路的情況下,數(shù)據(jù)包可能會一直在這個環(huán)路中循環(huán),造成網(wǎng)絡(luò)擁塞和延遲。假設(shè),路由器R1和R2運行了RIP協(xié)議,R1通過RIP協(xié)議將目的網(wǎng)絡(luò)A的路由信息傳遞給了R2。在這種情況下,在R1的路由表中,到達(dá)網(wǎng)絡(luò)A的跳數(shù)為1,而在R2的路由表中,到達(dá)網(wǎng)絡(luò)A的跳數(shù)為2。現(xiàn)在假設(shè)R1與網(wǎng)絡(luò)A之間的連接斷了,此時對于R1來說,就把網(wǎng)絡(luò)A 的路由設(shè)為不可達(dá)。但是如果沒有防環(huán)機制,可能會出現(xiàn)以下問題。在R1沒有把到達(dá)網(wǎng)絡(luò)A的路由不可達(dá)消息傳遞給R2的時候,R2向R1傳遞了一條到達(dá)網(wǎng)絡(luò)A跳數(shù)為2的路由。這樣一來,R1認(rèn)為雖然自己可能無法到達(dá)網(wǎng)絡(luò)A,但是通過R2可以到達(dá)網(wǎng)絡(luò)A,因此R1會在自己的路由表中加入到達(dá)網(wǎng)絡(luò)A的路由,并且其下一跳是R2。這樣,路由環(huán)路就產(chǎn)生了,因為在這種情況下,R1把發(fā)往網(wǎng)絡(luò)A的數(shù)據(jù)包發(fā)給了R2,而R2又把該數(shù)據(jù)包回傳給R1,數(shù)據(jù)包在R1和R2之間來回傳遞。
2.2 RIP 的防環(huán)機制
距離矢量路由協(xié)議面臨最大的問題就是路由環(huán)路,而RIP 協(xié)議本身的算法并不具備解決環(huán)路的能力。因此為了避免RIP路由在網(wǎng)絡(luò)中被無休止地轉(zhuǎn)發(fā),RIP定義了路由的最大跳數(shù)15跳。也就是說,RIP 路由的最大可用跳數(shù)為15跳[5],當(dāng)一條路由的度量值達(dá)到16跳時,該路由被視為不可用,路由所指向的網(wǎng)段被視為不可達(dá)。除此之外,RIP協(xié)議中還提供了3 種機制來解決路由環(huán)路問題:1) 水平分割。工作原理為:RIP路由器從某個接口收到的路由不會再從該接口通告回去,這樣既可以減少鏈路帶寬的浪費,也可以避免環(huán)路的產(chǎn)生;2) 毒性逆轉(zhuǎn)。工作原理為:RIP路由器從某個接口收到的路由后,毒性逆轉(zhuǎn)仍然會將路由發(fā)送出去,但是此條路由將會是一條帶“ 毒”的路由,該路由被設(shè)置為16跳,是一條不可達(dá)的路由,目的是告訴對方,該路由從本設(shè)備發(fā)出無法到達(dá)目的地址;3) 觸發(fā)更新。工作原理為:RIP設(shè)備路由表中的某條路由發(fā)生變化時,路由器會立刻發(fā)送更新報文,不等RIP定時器超時。這樣雖然不能直接解決路由環(huán)路問題,但是可以有效避免路由環(huán)路的產(chǎn)生,而且當(dāng)網(wǎng)絡(luò)拓?fù)浒l(fā)生變化后,還可以加快網(wǎng)絡(luò)的收斂速度,從而減少處理時間對網(wǎng)絡(luò)帶寬的影響。
3 仿真實驗
3.1 網(wǎng)絡(luò)拓?fù)浼盎九渲?/p>
本次仿真實驗中,利用ENSP華為網(wǎng)絡(luò)模擬器搭建了一個小型網(wǎng)絡(luò),該網(wǎng)絡(luò)由三臺華為AR2220路由器(R1、R2、R3) 和兩臺PC組成。整個網(wǎng)絡(luò)涵蓋了四個不同的網(wǎng)段(192.168.0.0/24 - 192.168.3.0/24) 。路由器之間采用RIP路由協(xié)議(RIPv1) 進(jìn)行動態(tài)路由,并且彼此之間相互連接。網(wǎng)絡(luò)拓?fù)涫疽鈭D如圖1所示,同時路由器間的接口互聯(lián)和IP地址分配情況如圖1所示。路由器R1的核心配置如下(R2、R3的相關(guān)配置與其類似,故省略):
根據(jù)圖2所示的路由表,可以觀察到R1路由器的路由表配置成功,并且不同的網(wǎng)段之間已經(jīng)通過RIP 路由協(xié)議實現(xiàn)了互聯(lián)互通。在R1的路由表中,可以發(fā)現(xiàn)除了存在直連路由的Direct類型,同時還存在兩條RIP類型的網(wǎng)絡(luò)路由。這兩條RIP路由的下一跳地址都指向了IP地址為192.168.1.2的RIP路由(可以明顯看出,這兩條RIP路由來自路由器R3) 。通過這些配置,R1路由器能夠根據(jù)路由表中的信息正確地轉(zhuǎn)發(fā)數(shù)據(jù),保證不同網(wǎng)段之間的通信。
3.2 水平分割
RIP水平分割(Split Horizon) 是一種避免產(chǎn)生環(huán)路的機制,主要作用是禁止將某個路由信息發(fā)送到該信息源所連接的網(wǎng)絡(luò)中。RIP水平分割采用以下策略:1) 當(dāng)RIP協(xié)議收到一條新路由信息時,它首先會檢查該信息的來源,如果該信息源是它要更新的網(wǎng)絡(luò),就會拒絕該信息;否則,它會將該信息添加到自己的路由表中;2) 當(dāng)該路由信息被轉(zhuǎn)發(fā)到其他鄰居節(jié)點時,如果該鄰居節(jié)點和該信息源在同一個網(wǎng)絡(luò)中,就會拒絕該路由信息。這樣,就避免了在同一個網(wǎng)絡(luò)中產(chǎn)生環(huán)路的情況。采用水平分割機制,可以有效防止產(chǎn)生環(huán)路,提高RIP協(xié)議的網(wǎng)絡(luò)性能。
為能清楚地向讀者展現(xiàn)RIP的水平分割防環(huán)機制(華為設(shè)備默認(rèn)開啟)的工作過程與防環(huán)效果,在用戶視圖對路由器R1的0/0/1端口進(jìn)行監(jiān)聽,查看RIP 路由協(xié)議的工作過程。由圖3可以看到,路由器R1只會把192.168.0.0的路由信息發(fā)送出去,因為其他的網(wǎng)段都是它從這個接口學(xué)到的,它不會把學(xué)到的東西再發(fā)出去,路由器R1的端口信息由圖3所示。
3.3 毒性逆轉(zhuǎn)
RIP毒性逆轉(zhuǎn)(Poison Reverse) 是一種防止產(chǎn)生環(huán)路的機制。毒性逆轉(zhuǎn)機制是通過把一個路由的距離設(shè)置為無限大(16) ,來表示該路由不可達(dá),從而避免產(chǎn)生環(huán)路。具體實現(xiàn)步驟如下:1) 當(dāng)一個路由項變得不可達(dá)時,該路由的RIP協(xié)議會向其鄰居發(fā)送一個包含該路由信息的“毒性逆轉(zhuǎn)”包;2) 毒性逆轉(zhuǎn)包中將該路由的距離設(shè)置為無限大(16) ,表示該路由不可達(dá);3) 接收到毒性逆轉(zhuǎn)包的鄰居節(jié)點,會將他們的路由表中該路由的距離設(shè)置為無限大,從而防止該路由被再次使用。毒性逆轉(zhuǎn)機制可以避免以下兩種情況:1) 當(dāng)一條路由由于網(wǎng)絡(luò)故障或其他原因,變得不可達(dá)時,不會在網(wǎng)絡(luò)中形成回路,以保證網(wǎng)絡(luò)的穩(wěn)定性;2) 當(dāng)一條路由由于某種原因變得不可信時,不會影響整個網(wǎng)絡(luò)的距離計算,以保證網(wǎng)絡(luò)的可靠性。綜上所述,毒性逆轉(zhuǎn)機制是一個有效防止RIP協(xié)議產(chǎn)生環(huán)路的機制。
為能更清楚地向讀者展現(xiàn)RIP毒性逆轉(zhuǎn)防環(huán)機制的工作過程,直接在R1的0/0/1口開啟毒性逆轉(zhuǎn)(華為設(shè)備在水平分割和毒性逆轉(zhuǎn)都開啟的情況下會執(zhí)行毒性逆轉(zhuǎn)),會發(fā)現(xiàn)192.168.2.0和192.168.3.0網(wǎng)段它也會轉(zhuǎn)發(fā)出去,但是這兩個網(wǎng)段的cost值都為16,路由器R1的端口信息由圖4所示:
3.4 觸發(fā)更新
RIP觸發(fā)更新防環(huán)機制是一種通過及時更新路由信息,避免產(chǎn)生環(huán)路的機制。這個機制的實現(xiàn)步驟如下:1) 當(dāng)網(wǎng)絡(luò)中的某個節(jié)點的某個路由信息發(fā)生變化時,比如出現(xiàn)鏈路故障或拓?fù)浣Y(jié)構(gòu)更新等情況,該節(jié)點會向其鄰居發(fā)送路由更新請求;2) 隨著更新請求的發(fā)送,每個鄰居節(jié)點都會更新其路由表中的相關(guān)信息,并重新計算到目的地的跳數(shù),從而保證路由信息的最新性;3) 當(dāng)一個節(jié)點的路由表發(fā)生變化時,它會向其鄰居發(fā)送更新信息,這個更新信息包含了它更新后的路由表。鄰居節(jié)點會把這個更新的路由表集成到自己的路由表中,從而實現(xiàn)整個網(wǎng)絡(luò)路由的動態(tài)更新。觸發(fā)更新防環(huán)機制可以及時更新路由表信息,防止出現(xiàn)不必要的數(shù)據(jù)包重復(fù)發(fā)送和環(huán)路形成。它可以提高網(wǎng)絡(luò)的穩(wěn)定性和性能,避免RIP協(xié)議因為路由表信息不準(zhǔn)確而導(dǎo)致的數(shù)據(jù)包異常傳輸和丟失問題。
為能更清楚地向讀者展現(xiàn)RIP觸發(fā)更新防環(huán)機制的工作過程,通過關(guān)閉R3的g0/0/1端口來觀察R1 的路由表信息??梢园l(fā)現(xiàn),關(guān)掉R3的g0/0/1端口后,R1 路由表中192.168.2.0 和192.168.3.0 網(wǎng)段直接消失,實現(xiàn)觸發(fā)更新,路由器R1 的路由表信息如下所示:
1) 正常情況下,R1的路由表:
2) 關(guān)閉R3的g0/0/1端口后,R1的路由表:
4 結(jié)束語
防止環(huán)路的機制是RIP(Routing Information Proto?col) 協(xié)議中非常重要的一種機制,它可以有效地提高協(xié)議的可靠性和穩(wěn)定性。通過采用這些機制,特別是結(jié)合使用,可以確保RIP協(xié)議快速、準(zhǔn)確地選擇出最佳路徑,防止產(chǎn)生網(wǎng)絡(luò)環(huán)路,最終提高整個網(wǎng)絡(luò)的性能、可靠性和穩(wěn)定性。在實際部署中能夠提供快速、準(zhǔn)確的路由選擇,并通過動態(tài)路由協(xié)議的自適應(yīng)特性,將優(yōu)化過的最佳路徑信息傳遞給相鄰路由器。這種交互式的路由信息交換進(jìn)程使網(wǎng)絡(luò)能夠及時適應(yīng)鏈路狀態(tài)的變化,有效避免了環(huán)路的形成。RIP協(xié)議中的防環(huán)機制對于網(wǎng)絡(luò)拓?fù)涞目煽啃院头€(wěn)定性至關(guān)重要,通過采用水平分割、毒性逆轉(zhuǎn)和觸發(fā)更新等防環(huán)策略,能夠避免數(shù)據(jù)包在網(wǎng)絡(luò)中形成環(huán)路,確保正常的數(shù)據(jù)傳輸。