OSPF協(xié)議相關(guān)概念和報(bào)文類型
在上一篇文章中,我們對OSPF協(xié)議的一些基礎(chǔ)內(nèi)容作了介紹,還有不清楚的朋友們可以參閱一下《OSPF路由協(xié)議新手指南》這篇文章回顧一下。那么接下來我們將要講述一下有關(guān)OSPF路由協(xié)議的其它問題。
◆OSPF協(xié)議報(bào)文
OSPF有5種報(bào)文類型:
HELLO報(bào)文(Hello Packet)
最常用的一種報(bào)文,周期性的發(fā)送給本路由器的鄰居。內(nèi)容包括一些定時(shí)器的數(shù)值、DR、BDR(Backup Designated Router)以及自己已知的鄰居。
DD報(bào)文(Database Description Packet)
兩臺(tái)路由器進(jìn)行數(shù)據(jù)庫同步時(shí),用DD報(bào)文來描述自己的LSDB,內(nèi)容包括LSDB中每一條LSA的摘要(摘要是指LSA的HEAD,通過該HEAD可以***標(biāo)識(shí)一條LSA)。這樣做是為了減少路由器之間傳遞信息的量,因?yàn)長SA的HEAD只占一條LSA的整個(gè)數(shù)據(jù)量的一小部分,根據(jù)HEAD,對端路由器就可以判斷出是否已有這條LSA。
LSR報(bào)文(Link State Request Packet)
兩臺(tái)路由器互相交換過DD報(bào)文之后,知道對端的路由器有哪些LSA是本地的LSDB 所缺少的,這時(shí)需要發(fā)送LSR報(bào)文向?qū)Ψ秸埱笏璧腖SA。內(nèi)容包括所需要的LSA的摘要。
LSU報(bào)文(Link State Update Packet)
用來向?qū)Χ寺酚善靼l(fā)送所需要的LSA,內(nèi)容是多條LSA(全部內(nèi)容)的集合。
LSAck報(bào)文(Link State Acknowledgment Packet)
用來對接收到的LSU報(bào)文進(jìn)行確認(rèn)。內(nèi)容是需要確認(rèn)的LSA的HEAD(一個(gè)報(bào)文可對多個(gè)LSA 進(jìn)行確認(rèn))。
◆OSPF協(xié)議相關(guān)概念
(1)路由器ID號(hào)
一臺(tái)路由器如果要運(yùn)行OSPF協(xié)議,必須存在Router ID。如果沒有配置ID號(hào),系統(tǒng)會(huì)從當(dāng)前接口的IP 地址中自動(dòng)選一個(gè)作為路由器的ID號(hào)。
(2)DR和BDR
指定路由器DR(Designated Router)。為使每臺(tái)路由器能將本地狀態(tài)信息廣播到整個(gè)自治系統(tǒng)中,在路由器之間要建立多個(gè)鄰居關(guān)系,但這使得任何一臺(tái)路由器的路由變化都會(huì)導(dǎo)致多次傳遞,浪費(fèi)了寶貴的帶寬資源。為解決這一問題,OSPF協(xié)議定義了DR,所有路由器都只將信息發(fā)送給DR,由DR將網(wǎng)絡(luò)鏈路狀態(tài)廣播出去,兩臺(tái)不是DR 的路由器(稱為DR Other)之間將不再建立鄰居關(guān)系,也不再交換任何路由信息。
提示:哪一臺(tái)路由器會(huì)成為本網(wǎng)段內(nèi)的DR并不是人為指定的,而是由本網(wǎng)段中所有的路由器共同選舉出來的。#p#
備份指定路由器BDR(Backup Designated Router)。如果DR由于某種故障而失效,這時(shí)必須重新選舉DR,并與之同步。這需要較長的時(shí)間,在這段時(shí)間內(nèi),路由計(jì)算是不正確的。為了能夠縮短這個(gè)過程,OSPF提出了BDR的概念。BDR實(shí)際上是對DR的一個(gè)備份,在選舉DR的同時(shí)也選舉出BDR,BDR也和本網(wǎng)段內(nèi)的所有路由器建立鄰接關(guān)系并交換路由信息。當(dāng)DR失效后,BDR會(huì)立即成為DR。
(3)區(qū)域(Area)
一組運(yùn)行OSPF路由協(xié)議的路由器,組成了OSPF路由域的自治域系統(tǒng)。一個(gè)自治域系統(tǒng)是指由一個(gè)組織機(jī)構(gòu)控制管理的所有路由器,自治域系統(tǒng)內(nèi)部只運(yùn)行一種IGP路由協(xié)議,自治域系統(tǒng)之間通常采用BGP路由協(xié)議進(jìn)行路由信息交換。不同的自治域系統(tǒng)可以選擇相同的IGP路由協(xié)議,如果要連接到互聯(lián)網(wǎng),每個(gè)自治域系統(tǒng)都需要向相關(guān)組織申請自治域系統(tǒng)編號(hào)。
隨著網(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)很重;同時(shí),網(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ò)的帶寬利用率。而且每一次變化都會(huì)導(dǎo)致網(wǎng)絡(luò)中所有的路由器重新進(jìn)行路由計(jì)算。
當(dāng)OSPF路由域規(guī)模較大時(shí),一般采用分層結(jié)構(gòu),即將OSPF路由域分割成幾個(gè)區(qū)域(AREA),區(qū)域之間通過一個(gè)骨干區(qū)域互聯(lián),每個(gè)非骨干區(qū)域都需要直接與骨干區(qū)域連接。
在OSPF路由域中,根據(jù)路由器的部署位置,有3種路由器角色。一是區(qū)域內(nèi)部路由器,該路由器的所有接口網(wǎng)絡(luò)都屬于一個(gè)區(qū)域。二是區(qū)域邊界路由器,也稱為ABR(Area Border Routers),該路由器的接口網(wǎng)絡(luò)至少屬于兩個(gè)區(qū)域,其中一個(gè)必須為骨干區(qū)域。三是自治域邊界路由器,也稱為ASBR(Autonomous System Boundary Routers),是OSPF路由域與外部路由域進(jìn)行路由交換的必經(jīng)之路。
(4)骨干區(qū)域和虛連接
骨干區(qū)域(Backbone Area)。OSPF劃分區(qū)域之后,并非所有的區(qū)域都是平等的關(guān)系。其中有一個(gè)區(qū)域是與眾不同的,它的區(qū)域號(hào)(Area ID)是0,通常被稱為骨干區(qū)域。
虛連接(Virtual link)。由于所有區(qū)域都必須與骨干區(qū)域在邏輯上保持連接,特別引入了虛連接的概念,使那些物理上分割的區(qū)域仍可保持邏輯上的連通性。
(5)路由聚合
AS被劃分成不同的區(qū)域,每一個(gè)區(qū)域通過OSPF邊界路由器(ABR)相連,區(qū)域間可以通過路由匯聚來減少路由信息,減小路由表的規(guī)模,提高路由器的運(yùn)算速度。
ABR在計(jì)算出一個(gè)區(qū)域的區(qū)域內(nèi)路由之后,查詢路由表,將其中每一條OSPF協(xié)議封裝成一條LSA發(fā)送到區(qū)域之外。