王金焱
摘要:OSPF是一種基于鏈路狀態(tài)進(jìn)行計(jì)算的動(dòng)態(tài)路由協(xié)議,RIP是一種基于距離矢量算法的路由協(xié)議,存在著收斂慢、易產(chǎn)生路由環(huán)路、可擴(kuò)展性差等問(wèn)題,目前逐步被OSPF所取代。在利用OSPF路由協(xié)議規(guī)劃和設(shè)計(jì)網(wǎng)絡(luò)的過(guò)程當(dāng)中,有時(shí)存在設(shè)計(jì)不合理的現(xiàn)象,比如非骨干區(qū)域直接相互連接等,導(dǎo)致網(wǎng)絡(luò)不能正常通信,文章利用虛擬連接技術(shù)來(lái)解決此類問(wèn)題。
關(guān)鍵詞:路由;OSPF;協(xié)議;虛連接
中圖分類號(hào):TP393.04? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
根據(jù)協(xié)議的范圍,路由協(xié)議可以劃分成域內(nèi)路由協(xié)議(IGP)和域間路由協(xié)議(EGP)。域內(nèi)路由協(xié)議的作用范圍被限制在自治系統(tǒng)內(nèi)部,域間路由協(xié)議適用于不同自治系統(tǒng)間的路由交換。域內(nèi)路由協(xié)議主要包括RIP、OSPF(開(kāi)放式最短路徑優(yōu)先)、IS-IS等,域間路由協(xié)議應(yīng)用廣泛的是BGP協(xié)議。
目前,在工作和生活中接觸最多的就是內(nèi)部網(wǎng)關(guān)協(xié)議OSPF,OSPF協(xié)議主要運(yùn)用在大中型網(wǎng)絡(luò)當(dāng)中,要求骨干區(qū)域必須和非骨干區(qū)域相連接,這樣才能建立鄰居關(guān)系以及正常通信。例如,學(xué)校把網(wǎng)絡(luò)中心所在樓設(shè)置為骨干區(qū)域,緊挨著網(wǎng)絡(luò)中心所在樓的圖書(shū)館、教學(xué)樓、學(xué)生宿舍都為非骨干區(qū)域,但是在網(wǎng)絡(luò)中心所在樓和主教學(xué)樓之間又有學(xué)生宿舍所在區(qū)域,這時(shí)主教學(xué)樓到達(dá)網(wǎng)絡(luò)中心所在樓必須經(jīng)過(guò)學(xué)生宿舍所在區(qū)域,導(dǎo)致非骨干區(qū)域和非骨干區(qū)域之間的連接出現(xiàn)問(wèn)題,所以針對(duì)此類問(wèn)題,想要實(shí)現(xiàn)主教學(xué)樓和網(wǎng)絡(luò)中心所在樓進(jìn)行通信,需要運(yùn)用虛擬連接技術(shù)。
1? 原理與概述
在OSPF出現(xiàn)之前,網(wǎng)絡(luò)上使用比較廣泛的內(nèi)部協(xié)議是RIP,RIP由于是基于距離矢量的算法路由協(xié)議,存在收斂慢、路由環(huán)路、可擴(kuò)展性差等問(wèn)題,因此逐漸被OSPF所代替。
最初的OSPF規(guī)范體現(xiàn)在RFC 1131中,其第一版(OSPF V1)很快被進(jìn)行了非常大的改進(jìn),新版本體現(xiàn)在RFC 1247文檔中,稱為OSPF V2,第二版在穩(wěn)定性和功能方面有很大的提升?,F(xiàn)在,IPV 4網(wǎng)絡(luò)中所使用的都是OSPF V2,針對(duì)IPV 6協(xié)議使用OSPF V3。
為了了解OSPF協(xié)議運(yùn)行的過(guò)程,我們需要弄清楚以下概念:自治系統(tǒng)(As)、區(qū)域(Area)、路由器類型和路由類型。一臺(tái)運(yùn)行OSPF協(xié)議的路由器中,每個(gè)OSPF進(jìn)程必須指定一個(gè)用于標(biāo)識(shí)本地路由器的Router-ID,Router-ID是一個(gè)32 b無(wú)符號(hào)整數(shù)。OSPF的另外一個(gè)重要特征就是Area(區(qū)域),每臺(tái)OSPF路由器只能在所屬的區(qū)域內(nèi)部學(xué)習(xí)完整的鏈路狀態(tài)信息,并使用組播(224.0.0.5和224.0.0.6),以開(kāi)銷作為度量值,觸發(fā)更新,每30 min發(fā)送一次定時(shí)更新,不支持自動(dòng)匯總,支持手動(dòng)匯總[1]。
OSPF支持區(qū)域的劃分,從邏輯上將路由器分為不同的組,每個(gè)組用區(qū)域號(hào)來(lái)標(biāo)識(shí)。一個(gè)網(wǎng)段只能屬于一個(gè)區(qū)域,或者說(shuō)每個(gè)運(yùn)行OSPF的接口必須指明屬于哪一個(gè)區(qū)域。區(qū)域0為骨干區(qū)域,骨干區(qū)域主要負(fù)責(zé)在非骨干區(qū)域之間發(fā)布區(qū)域間的路由信息。一個(gè)OSPF區(qū)域中有且只有一個(gè)骨干區(qū)域。
2? ?網(wǎng)絡(luò)類型及報(bào)文
OSPF協(xié)議支持多種類型的網(wǎng)絡(luò)都運(yùn)行在IP協(xié)議之上,使用IP協(xié)議號(hào)89,根據(jù)鏈路層協(xié)議類型將這些網(wǎng)絡(luò)分為廣播型、NBMA型、點(diǎn)到多點(diǎn)型、點(diǎn)到點(diǎn)型。
因?yàn)镺SPF是專門為TCP/IP網(wǎng)絡(luò)而設(shè)計(jì)的路由協(xié)議,所以,OSPF的各種報(bào)文都是封裝在IP報(bào)文內(nèi),可以采用單播或組播的方式發(fā)送。OSPF報(bào)文主要有以下5種。
2.1? Hello報(bào)文
該報(bào)文主要用于建立和維護(hù)相鄰路由器之間的鄰接關(guān)系,該報(bào)文簡(jiǎn)單,容量也很小,僅用來(lái)向相鄰路由器證明自己的存在,就像人與人之間打招呼一樣。
2.2? DD報(bào)文
該報(bào)文主要用于描述本地路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB),即在本地LSDB中包括哪些LSA。
2.3? LSR報(bào)文
該報(bào)文主要用于請(qǐng)求相鄰路由器鏈路狀態(tài)數(shù)據(jù)庫(kù)中的一部分?jǐn)?shù)據(jù)。兩臺(tái)路由器互相交換完DD報(bào)文后,知道對(duì)端路由器有哪些LSA是本LSDB所沒(méi)有的及哪些LSA是已經(jīng)失效的,則需要發(fā)送一條LSR報(bào)文,向?qū)Ψ秸?qǐng)求所需的LSA。
2.4? LSU報(bào)文
LSU報(bào)文是LSR請(qǐng)求報(bào)文的應(yīng)答報(bào)文,用來(lái)向?qū)Χ寺酚善靼l(fā)送所需要的真正LSA內(nèi)容,可以是多條LAS完整內(nèi)容的集合。
2.5? LSACK報(bào)文
LSACK報(bào)文是路由器在收到對(duì)端發(fā)來(lái)的LSU報(bào)文后發(fā)出的確認(rèn)報(bào)文,內(nèi)容是需要確認(rèn)的LSA頭部。
3? 狀態(tài)機(jī)
OSPF是一種鏈路狀態(tài)路由協(xié)議,相鄰設(shè)備間交換的是鏈路狀態(tài)信息,OSPF路由是在鏈路狀態(tài)信息構(gòu)成的鏈路狀態(tài)數(shù)據(jù)庫(kù)下形成的。所以在OSPF中,建立設(shè)備間的鄰居關(guān)系,交換彼此的LSDB很重要,而鄰居關(guān)系的建立流程主要體現(xiàn)在OSPF接口的狀態(tài)轉(zhuǎn)換過(guò)程中。OSPF中共有8種狀態(tài)機(jī)制,分別是Down、Attempt、Init、2-Way、ExStart、Exchange、Loading、Full[2]。
3.1? Down
鄰居會(huì)話的初始階段,表明沒(méi)有在鄰居失效時(shí)間間隔內(nèi)收到來(lái)自鄰居路由器的Hello報(bào)文。
3.2? Attempt
該狀態(tài)僅發(fā)生在NBMA網(wǎng)絡(luò)中,表明在鄰居失效時(shí)間間隔超時(shí)后仍沒(méi)有收到對(duì)端發(fā)來(lái)的Hello應(yīng)答報(bào)文。此時(shí)路由器依然會(huì)以輪詢Hello報(bào)文發(fā)送時(shí)間間隔向?qū)Χ税l(fā)送Hello報(bào)文。
3.3? Init
在此狀態(tài)下,收到不包含自己路由器ID的Hello報(bào)文后則狀態(tài)轉(zhuǎn)換為Init。
3.4? 2-Way
在此狀態(tài)下,收到包含有自己的路由器ID的Hello報(bào)文后則狀態(tài)轉(zhuǎn)換為2-Way。
3.5? ExStart
在進(jìn)行DR、BDR選舉后形成鄰居關(guān)系,則從Init狀態(tài)轉(zhuǎn)換為ExStart狀態(tài),通過(guò)不帶LSA Header字段內(nèi)容的DD報(bào)文協(xié)商主、從關(guān)系,并確定DD報(bào)文序列號(hào)。
3.6? Exchange
主、從關(guān)系協(xié)商完畢后,主設(shè)備開(kāi)始向從設(shè)備正式發(fā)送帶有LSA Header字段內(nèi)容的DD報(bào)文,此時(shí)雙方狀態(tài)轉(zhuǎn)換為Exchange。
3.7? Loading
DD報(bào)文交換完成后從設(shè)備狀態(tài)轉(zhuǎn)換為L(zhǎng)oading,此時(shí),通信雙方可以通過(guò)LSR報(bào)文向?qū)Ψ秸?qǐng)求LSA更新,而以LSU報(bào)文應(yīng)答對(duì)方請(qǐng)求。
3.8? Full
設(shè)備收到對(duì)端發(fā)來(lái)的且由自己所請(qǐng)求的LSA報(bào)文后,向?qū)Χ税l(fā)送LSAck報(bào)文,同時(shí)發(fā)給對(duì)端的LSA報(bào)文后也收到了來(lái)自對(duì)端的LSAck報(bào)文,之后,本地設(shè)備自動(dòng)切換為Full狀態(tài)。
4? 虛連接
4.1? 虛連接背景
因?yàn)镺SPF規(guī)定在劃分OSPF區(qū)域之后,非骨干區(qū)域之間的OSPF路由更新是通過(guò)骨干區(qū)域交換完成的,所以要求所有非骨干區(qū)域必須與骨干區(qū)域保持連通,并且骨干區(qū)域之間也要保持連通。但有時(shí)實(shí)際網(wǎng)絡(luò)環(huán)境達(dá)不到這個(gè)要求,如有些骨干區(qū)域不能與骨干區(qū)域之間直接進(jìn)行連接,而有時(shí)骨干區(qū)域又是分離的,這時(shí)就需要通過(guò)配置OSPF虛連接(Virtual Link)來(lái)解決。
4.2? 虛連接實(shí)驗(yàn)
4.2.1? 實(shí)驗(yàn)編址、拓?fù)浼芭渲?/p>
實(shí)驗(yàn)拓?fù)鋱D如圖1所示,實(shí)驗(yàn)的編址如表1所示。有4臺(tái)路由器,利用OSPF路由協(xié)議中的虛擬連接技術(shù),實(shí)現(xiàn)R1和R4正常通信[3]。
R1路由器配置:
4.2.2? 實(shí)驗(yàn)測(cè)試
通過(guò)基本配置,用Ping命令來(lái)測(cè)試R1和R4是否能夠正常通信,通過(guò)測(cè)試發(fā)現(xiàn)R1和R2不能正常通信,測(cè)試結(jié)果如圖2所示。
通過(guò)命令,分別查看R1和R4上的路由學(xué)習(xí)情況,發(fā)現(xiàn)R1沒(méi)有學(xué)習(xí)到R4上的路由,R4也沒(méi)有學(xué)習(xí)到R1上的路由,驗(yàn)證結(jié)果如圖3、圖4所示。
通過(guò)拓?fù)鋱D,結(jié)合OSPF基本原理,發(fā)現(xiàn)非骨干區(qū)域之間不能進(jìn)行數(shù)據(jù)的相互學(xué)習(xí),必須通過(guò)骨干區(qū)域進(jìn)行信息傳遞,所以需要用到虛擬連接技術(shù),分別在R1和R2上通過(guò)建立虛擬連接來(lái)完成信息交換。
這時(shí)分別在R2和R3上進(jìn)行虛擬鏈路的配置如下:
再驗(yàn)證配置命令,建立虛擬連接的情況如圖5、圖6所示。
通過(guò)圖5和圖6所示的驗(yàn)證結(jié)果,發(fā)現(xiàn)R2和R3已經(jīng)建立了虛擬連接,再測(cè)試R1和R4是否能夠正常通信,通過(guò)測(cè)試發(fā)現(xiàn),R1和R4可以正常通信了,測(cè)試結(jié)果如圖7所示。
4.2.3? 實(shí)驗(yàn)分析
通過(guò)實(shí)驗(yàn)內(nèi)容及測(cè)試,發(fā)現(xiàn)在兩個(gè)非骨干區(qū)域間的路由不能通信,只有通過(guò)虛擬連接技術(shù),讓非骨干區(qū)域和骨干區(qū)域在邏輯上進(jìn)行連接,而不是真正從物理上進(jìn)行連接,這樣才能臨時(shí)解決數(shù)據(jù)之間的通信。
在網(wǎng)絡(luò)改造或者網(wǎng)絡(luò)設(shè)計(jì)的過(guò)程中存在不合理的現(xiàn)象,OSPF路由協(xié)議的工作原理是要求所有的非骨干區(qū)域必須和骨干區(qū)域相連接,否則可能造成網(wǎng)絡(luò)不能正常通信,無(wú)法正常建立鄰居關(guān)系。但是在實(shí)際的工作當(dāng)中,往往可能由于地理位置或者工程師的設(shè)計(jì)問(wèn)題,違背了OSPF區(qū)域的連接規(guī)則,因此,需要運(yùn)用虛擬連接技術(shù)來(lái)解決非骨干區(qū)域直接的連接問(wèn)題。
在網(wǎng)絡(luò)規(guī)劃和設(shè)計(jì)及改造的過(guò)程中,如果地理位置或者其他問(wèn)題造成骨干區(qū)域和非骨干區(qū)域沒(méi)有正常連接,違背了OSPF的連接規(guī)則等,則可以利用虛擬連接技術(shù)來(lái)解決這種問(wèn)題。同時(shí),在實(shí)驗(yàn)的過(guò)程中最好每一步都驗(yàn)證,從而對(duì)出現(xiàn)的問(wèn)題快速排錯(cuò)。
5? ?結(jié)語(yǔ)
由于網(wǎng)絡(luò)的設(shè)計(jì)問(wèn)題或者現(xiàn)實(shí)條件的限制,不同建筑物之間進(jìn)行互聯(lián)實(shí)現(xiàn)網(wǎng)絡(luò)通信,可以利用虛擬連接技術(shù)來(lái)解決當(dāng)前的問(wèn)題。
(責(zé)任編輯:侯辛鋒)
參考文獻(xiàn):
[1]華為技術(shù)有限公司.HCNA網(wǎng)絡(luò)技術(shù)實(shí)驗(yàn)指南[M].北京:人民郵電出版社,2017.
[2]劉軍軍.中型企業(yè)網(wǎng)絡(luò)的規(guī)劃設(shè)計(jì)和實(shí)施[J].數(shù)字技術(shù)與應(yīng)用,2012(9):126,128.
[3]張洋洋.GEO衛(wèi)星通信網(wǎng)絡(luò)的路由攻擊技術(shù)研究[D].石家莊:河北科技大學(xué),2015.