藺玉珂
摘 要:介紹了OSPF協(xié)議中區(qū)域劃分的主要用途,重點(diǎn)對(duì)骨干區(qū)域的應(yīng)用進(jìn)行了描述。
關(guān)鍵詞:OSPF;骨干區(qū)域
開放式最短路徑優(yōu)先OFPF(Open Shortest Path First)協(xié)議是IETF定義的一種基于鏈路狀態(tài)的內(nèi)部網(wǎng)關(guān)路由協(xié)議,它從設(shè)計(jì)上就保證了無路由環(huán)路。OSPF支持區(qū)域劃分,支持觸發(fā)更新,能夠快速檢測(cè)并通告自治系統(tǒng)內(nèi)的拓?fù)渥兓?/p>
1 OSPF的計(jì)算過程
每個(gè)OSPF路由器通過泛洪鏈路狀態(tài)通告LSA(Link State Advertisement)即向外發(fā)布本地鏈路狀態(tài)信息(例如可用的端口,可到達(dá)的鄰居以及相鄰的網(wǎng)段信息等等)。泛洪是指OSPF路由器之間發(fā)送及同步連接狀態(tài)數(shù)據(jù)庫的過程。
每個(gè)路由器通過收集其它路由器發(fā)布的鏈路狀態(tài)通告以及自身生成的本地鏈路狀態(tài)通告,形成一個(gè)鏈路狀態(tài)數(shù)據(jù)庫(LSDB)。LSDB描述了路由域內(nèi)詳細(xì)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在同一個(gè)區(qū)域內(nèi),所有路由器上的鏈路狀態(tài)數(shù)據(jù)庫LSDB是相同的。
通過LSDB,每臺(tái)路由器以SPF算法計(jì)算出一棵以自己為根,以網(wǎng)絡(luò)中其它節(jié)點(diǎn)為葉的最短路徑樹。SPF算法生成的是一棵無環(huán)的最短路徑樹。
每臺(tái)路由器計(jì)算的最短路徑樹相當(dāng)于到網(wǎng)絡(luò)中其它節(jié)點(diǎn)的路由表。這樣OSPF路由器就能知道如何到達(dá)其他路由器。
2 OSPF劃分區(qū)域的作用
隨著網(wǎng)絡(luò)規(guī)模日益擴(kuò)大,當(dāng)一個(gè)大型網(wǎng)絡(luò)中的路由器都運(yùn)行OSPF路由協(xié)議時(shí),路由器數(shù)量的增多會(huì)導(dǎo)致LSDB非常龐大,占用大量的存儲(chǔ)空間,并使得運(yùn)行SPF算法的復(fù)雜度增加,導(dǎo)致CPU負(fù)擔(dān)很重。在網(wǎng)絡(luò)規(guī)模增大之后,拓?fù)浣Y(jié)構(gòu)發(fā)生變化的概率也增大,網(wǎng)絡(luò)會(huì)經(jīng)常處于“動(dòng)蕩”之中,造成網(wǎng)絡(luò)中會(huì)有大量的OSPF協(xié)議報(bào)文在傳遞,降低了網(wǎng)絡(luò)的帶寬利用率。更為嚴(yán)重的是,每一次變化都會(huì)導(dǎo)致網(wǎng)絡(luò)中所有的路由器重新進(jìn)行路由計(jì)算。
OSPF協(xié)議通過將自治系統(tǒng)劃分成不同的區(qū)域(Area)來解決上述問題。區(qū)域是從邏輯上將路由器劃分為不同的組,每個(gè)組用區(qū)域號(hào)(Area ID)來標(biāo)識(shí)。
在OSPF路由協(xié)議的定義中,可以將一個(gè)路由域或者一個(gè)自治系統(tǒng)AS劃分為幾個(gè)區(qū)域。在OSPF中,由按照一定的OSPF路由法則組合在一起的一組網(wǎng)絡(luò)或路由器的集合稱為區(qū)域(AREA)。
在OSPF路由協(xié)議中,每一個(gè)區(qū)域中的路由器都按照該區(qū)域中定義的鏈路狀態(tài)算法來計(jì)算網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),這意味著每一個(gè)區(qū)域都有著該區(qū)域獨(dú)立的網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫及網(wǎng)絡(luò)拓?fù)鋱D。對(duì)于每一個(gè)區(qū)域,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)在區(qū)域外是不可見的,同樣,在每一個(gè)區(qū)域中的路由器對(duì)其域外的其余網(wǎng)絡(luò)結(jié)構(gòu)也不了解。這意味著OSPF路由域中的網(wǎng)絡(luò)鏈路狀態(tài)數(shù)據(jù)廣播被區(qū)域的邊界擋住了,這樣做有利于減少網(wǎng)絡(luò)中鏈路狀態(tài)數(shù)據(jù)包在全網(wǎng)范圍內(nèi)的廣播,也是OSPF將其路由域或一個(gè)AS劃分成很多個(gè)區(qū)域的重要原因。
隨著區(qū)域概念的引入,意味著不再是在同一個(gè)AS內(nèi)的所有路由器都有一個(gè)相同的鏈路狀態(tài)數(shù)據(jù)庫,而是路由器具有與其相連的每一個(gè)區(qū)域的鏈路狀態(tài)信息,即該區(qū)域的結(jié)構(gòu)數(shù)據(jù)庫,當(dāng)一個(gè)路由器與多個(gè)區(qū)域相連時(shí),我們稱之為區(qū)域邊界路由器。一個(gè)區(qū)域邊界路由器有自身相連的所有區(qū)域的網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù)。在同一個(gè)區(qū)域中的兩個(gè)路由器有著對(duì)該區(qū)域相同的結(jié)構(gòu)數(shù)據(jù)庫。
3 骨干區(qū)域
在OSPF路由協(xié)議中存在一個(gè)骨干區(qū)域(Backbone),該區(qū)域包括屬于這個(gè)區(qū)域的網(wǎng)絡(luò)及相應(yīng)的路由器,骨干區(qū)域必須是連續(xù)的,同時(shí)也要求其余區(qū)域必須與骨干區(qū)域直接相連。骨干區(qū)域一般為區(qū)域0,其主要工作是在其余區(qū)域間傳遞路由信息。所有的區(qū)域,包括骨干區(qū)域之間的網(wǎng)絡(luò)結(jié)構(gòu)情況是互不可見的,當(dāng)一個(gè)區(qū)域的路由信息對(duì)外廣播時(shí),其路由信息是先傳遞至區(qū)域0(骨干區(qū)域),再由區(qū)域0將該路由信息向其余區(qū)域作廣播。
在實(shí)際網(wǎng)絡(luò)中,可能會(huì)存在backbone不連續(xù)的或者某一個(gè)區(qū)域與骨干區(qū)域物理不相連的情況,在這兩種情況下,系統(tǒng)管理員可以通過設(shè)置虛擬鏈路的方法來解決。
虛擬鏈路是設(shè)置在兩個(gè)路由器之間,這兩個(gè)路由器都有一個(gè)端口與同一個(gè)非骨干區(qū)域相連。虛擬鏈路被認(rèn)為是屬于骨干區(qū)域的,在OSPF路由協(xié)議看來,虛擬鏈路兩端的兩個(gè)路由器被一個(gè)點(diǎn)對(duì)點(diǎn)的鏈路連在一起。在OSPF路由協(xié)議中,通過虛擬鏈路的路由信息是作為域內(nèi)路由來看待的。下面我們分兩種情況來說明虛擬鏈路在OSPF路由協(xié)議中的作用。
(1)當(dāng)一個(gè)區(qū)域與骨干區(qū)域沒有物理鏈路相連時(shí)
一個(gè)骨干區(qū)域必須位于所有區(qū)域的中心,其余所有區(qū)域必須與骨干區(qū)域直接相連。但是,也存在一個(gè)區(qū)域無法與骨干區(qū)域建立物理鏈路的可能性,在這種情況下,我們可以采用虛擬鏈路。虛擬鏈路使該區(qū)域與骨干區(qū)域間建立一個(gè)邏輯聯(lián)接點(diǎn),該虛擬鏈路必須建立在兩個(gè)區(qū)域邊界路由器之間,并且其中一個(gè)區(qū)域邊界路由器必須屬于骨干區(qū)域。
(2)當(dāng)骨干區(qū)域不連續(xù)時(shí)
OSPF路由協(xié)議要求骨干區(qū)域必須是連續(xù)的,但是,骨干區(qū)域也會(huì)出現(xiàn)不連續(xù)的情況,例如,當(dāng)我們想把兩個(gè)OSPF路由域混合到一起,并且想要使用一個(gè)骨干區(qū)域時(shí),或者當(dāng)某些路由器出現(xiàn)故障引起骨干區(qū)域不連續(xù)的情況,在這些情況下,我們可以采用虛擬鏈路將兩個(gè)不連續(xù)的區(qū)域0連接到一起。這時(shí),虛擬鏈路的兩端必須是兩個(gè)區(qū)域0的邊界路由器,并且這兩個(gè)路由器必須都有處于同一個(gè)區(qū)域的端口。
4 總結(jié)
通過對(duì)OSPF中區(qū)域及骨干區(qū)域的作用進(jìn)行分析,可以看出其在OSPF中所起到的重要作用,在具體配置過程中要對(duì)區(qū)域規(guī)劃好。
參考文獻(xiàn)
[1]張春青,OSPF 動(dòng)態(tài)路由協(xié)議中的路由計(jì)算[J],北方交通大學(xué)學(xué)報(bào),2012,12(6):100-103.
[2]黃建強(qiáng),.基于OSPF的網(wǎng)絡(luò)拓?fù)渌阉鱗J].計(jì)算機(jī)工程與科學(xué),1999,21(6):17-21.
[3]張宏科,IP 路由原理與技術(shù)[M],北京:清華大學(xué)出版社,2000,72-94.