陳 征
(中通服咨詢?cè)O(shè)計(jì)研究院有限公司,江蘇 南京 210000)
因IPv4協(xié)議自身設(shè)計(jì)上的不足與缺陷,早已無(wú)法滿足如今Internet的迅猛發(fā)展,IPv6協(xié)議取而代之,逐漸成為了當(dāng)今頂流[1]。IPv6協(xié)議自身的諸多優(yōu)點(diǎn),諸如近乎無(wú)限的地址空間、全新的報(bào)文結(jié)構(gòu)、地址的自動(dòng)配置、端到端的安全性以及支持移動(dòng)特性等,大大提高了報(bào)文的轉(zhuǎn)發(fā)效率與安全性,也能夠滿足企業(yè)的移動(dòng)通信需求。為了能接收與轉(zhuǎn)發(fā)IPv6報(bào)文,許多路由協(xié)議都有一定程度上的改進(jìn),OSPFv3協(xié)議就在這樣的背景下應(yīng)運(yùn)而生。
開(kāi)放式最短路徑優(yōu)先(Open Shortest Path First,OSPF)協(xié)議本身具有很多獨(dú)有的特點(diǎn)與優(yōu)點(diǎn),使得在大多數(shù)企業(yè)的組網(wǎng)模式中都是采用OSPF協(xié)議進(jìn)行路由計(jì)算[2-4]。而OSPFv3協(xié)議作為OSPF協(xié)議的升級(jí)版本,是為了適配IPv6協(xié)議而設(shè)計(jì)的。OSPFv3協(xié)議繼承了OSPF協(xié)議本身的網(wǎng)絡(luò)類型、報(bào)文類型與洪泛機(jī)制等特點(diǎn),也在運(yùn)行方式、洪泛范圍以及對(duì)未知LSA的處理等方面進(jìn)行了改進(jìn),致使許多企業(yè)開(kāi)始對(duì)其原有網(wǎng)絡(luò)組網(wǎng)方式進(jìn)行升級(jí)改造。
雙向轉(zhuǎn)發(fā)檢測(cè)(Bidirectional Forwarding Detection,BFD)作為一種檢測(cè)機(jī)制,能夠快速檢測(cè)并監(jiān)控企業(yè)網(wǎng)絡(luò)鏈路的連通性,從而保證業(yè)務(wù)的正常進(jìn)行[5]。這些優(yōu)點(diǎn)也使許多企業(yè)在提高其網(wǎng)絡(luò)可靠性的時(shí)候會(huì)選擇采用BFD技術(shù)。
本文通過(guò)闡述OSPF協(xié)議、OSPFv3協(xié)議以及BFD技術(shù)的相關(guān)原理,對(duì)比分析了OSPF與OSPFv3之間的不同之處,也分析了企業(yè)網(wǎng)選擇OSPFv3協(xié)議與BFD技術(shù)聯(lián)動(dòng)進(jìn)行組網(wǎng)的應(yīng)用方法與帶來(lái)的優(yōu)勢(shì),對(duì)于將來(lái)企業(yè)進(jìn)行組網(wǎng)和提高可靠性提供了一些參考與借鑒。
為了滿足大型網(wǎng)絡(luò)的組網(wǎng)需求,國(guó)際互聯(lián)網(wǎng)工程任務(wù)組(The Internet Engineering Task Force,IETF)推出了OSPF協(xié)議,這是一種基于鏈路狀態(tài)的內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protocol,IGP)協(xié)議。
OSPF協(xié)議是基于IP協(xié)議的,其IP協(xié)議字段號(hào)為89。OSPF協(xié)議具有5種報(bào)文,分別為Hello報(bào)文、DD報(bào)文、LSR報(bào)文、LSU報(bào)文以及LSAck報(bào)文,這些報(bào)文的主要作用如表1所示。
表1 OSPF報(bào)文的類型與作用
通常,OSPF報(bào)文是具有認(rèn)證機(jī)制的,只有通過(guò)認(rèn)證的報(bào)文才能被接收,從而建立鄰居關(guān)系。
企業(yè)組網(wǎng)時(shí)經(jīng)常使用的OSPF的LSA類型有6種,分別為Router-LSA、Network-LSA、Networksummary-LSA、ASBR-summary-LSA、AS-external-LSA以及NSSA LSA,這6種LSA的作用和傳播范圍如表2所示。
表2 OSPF的LSA類型
OSPF的DD報(bào)文中只包含了LSA的頭部信息,相當(dāng)于LSA的摘要信息。鄰居路由器間交互過(guò)DD報(bào)文后,會(huì)發(fā)送LSR報(bào)文請(qǐng)求對(duì)方鄰居路由器更新其LSA,而鄰居路由器收到LSR報(bào)文后,會(huì)相應(yīng)回復(fù)LSU報(bào)文,此時(shí)LSU報(bào)文中包含的就是完整的LSA信息了。
如圖1所示,OSPF路由器通過(guò)收集各類LSA信息,匯總形成鏈路狀態(tài)數(shù)據(jù)庫(kù)(Link State Database,LSDB),并最終將LSDB轉(zhuǎn)換成一張有向圖,這張圖能夠真實(shí)反映整個(gè)OSPF網(wǎng)絡(luò)的鏈路開(kāi)銷以及拓?fù)浣Y(jié)構(gòu)。OSPF路由器能夠根據(jù)這張有向圖,通過(guò)最短路徑優(yōu)先(Shortest Path First,SPF)算法以自己為根路徑,計(jì)算出一條到達(dá)目的網(wǎng)絡(luò)的最短路徑。
圖1 LSDB作用圖
OSPFv3協(xié)議可以說(shuō)是OSPF協(xié)議為了適配IPv6協(xié)議而誕生的[2-4]。IPv6協(xié)議對(duì)OSPFv3協(xié)議的影響主要有以下幾點(diǎn):(1)IPv6地址長(zhǎng)度為128bit,OSPFv3的LSA長(zhǎng)度也相應(yīng)增加;(2)IPv6新增了Link-Local地址,OSPFv3可采用Link-Local地址進(jìn)行報(bào)文的發(fā)送;(3)IPv6具有認(rèn)證擴(kuò)展報(bào)頭,OSPFv3的報(bào)文頭部中不再包含認(rèn)證字段。
OSPFv3協(xié)議保留了原有的網(wǎng)絡(luò)類型、報(bào)文類型與路由計(jì)算方式等,為了支持IPv6協(xié)議,OSPFv3協(xié)議在報(bào)文格式、LSA的類型等方面也做了相關(guān)的變化與改進(jìn)[2-4]。
2.2.1 報(bào)文格式的變化
前文已提及,由于IPv6本身具有認(rèn)證擴(kuò)展報(bào)頭了,所以O(shè)SPFv3報(bào)文取消了“AuType”和“Authentication”字段,將只依賴于IPv6的認(rèn)證擴(kuò)展報(bào)頭進(jìn)行報(bào)文的認(rèn)證。此外,OSPFv3報(bào)文中新增了“Instance ID”字段,該字段的作用是區(qū)分相同鏈路上運(yùn)行的不同OSPF實(shí)例,也就是說(shuō)OSPFv3可共享鏈路資源,支持鏈路的多實(shí)例復(fù)用。
2.2.2 新增LSA
OSPFv3新增了兩個(gè)LSA,即Link-LSA和Intra-Area-Prefix-LSA,其作用、產(chǎn)生方式與傳播范圍如表3所示。在OSPFv2協(xié)議中,Router-LSA與Network-LSA中包含IP地址,而在OSPFv3協(xié)議中不再包含IP地址,其IP地址部分則由新增的Link-LSA和Intra-Area-Prefix-LSA進(jìn)行宣告。
表3 OSPFv3新增的LSA類型
2.2.3 洪泛范圍
OSPFv3協(xié)議允許的洪泛范圍是區(qū)域或者鏈路本地,并且可以接收或者洪泛不能識(shí)別的報(bào)文,而不是像OSPFv2協(xié)議那樣直接丟棄不能識(shí)別的報(bào)文。
BFD作為一種檢測(cè)機(jī)制,可以快速檢測(cè)網(wǎng)絡(luò)中設(shè)備間的雙向轉(zhuǎn)發(fā)路徑。BFD技術(shù)本身并不像OSPF協(xié)議那樣具備鄰居發(fā)現(xiàn)機(jī)制,而是依靠被服務(wù)的上層協(xié)議通知鄰居信息并建立起B(yǎng)FD會(huì)話[5]。
BFD會(huì)話建立后,建立會(huì)話的雙方會(huì)周期性地發(fā)送BFD的控制報(bào)文,如果一方在既定的時(shí)間內(nèi)均未收到對(duì)方發(fā)送的BFD控制報(bào)文,則認(rèn)為鏈路發(fā)送了故障,會(huì)通知被服務(wù)的上層應(yīng)用進(jìn)行處理。
通常,BFD會(huì)話具有3種狀態(tài),即Down、Init以及Up。BFD報(bào)文中包含“State”字段,該字段可傳遞BFD會(huì)話的狀態(tài)。如圖2所示,BFD會(huì)話的建立采用“三次握手”的方式,以確保會(huì)話雙方都能知曉狀態(tài)的變化。
圖2 BFD會(huì)話建立流程
當(dāng)代企業(yè)網(wǎng)絡(luò)的組建中會(huì)重點(diǎn)考慮組網(wǎng)成本、鏈路的利用率、網(wǎng)絡(luò)的穩(wěn)定性與可靠性,OSPFv3協(xié)議作為OSPFv2協(xié)議的升級(jí)版本,繼承了OSPFv2協(xié)議本身的諸多優(yōu)點(diǎn),又做了很多改進(jìn)。OSPFv3支持多實(shí)例復(fù)用,能夠大大提高鏈路利用率;并且依舊支持虛鏈接技術(shù),從而能夠?qū)崿F(xiàn)靈活地組網(wǎng)方式,避免次優(yōu)路徑的產(chǎn)生。與其他的IGP路由協(xié)議相比,這些特點(diǎn)使得大批企業(yè)會(huì)選擇OSPFv3協(xié)議進(jìn)行網(wǎng)絡(luò)的設(shè)計(jì)與配置。BFD是一種相對(duì)成熟的網(wǎng)絡(luò)檢測(cè)技術(shù),其技術(shù)原理也比較簡(jiǎn)單,可以方便企業(yè)網(wǎng)管人員進(jìn)行學(xué)習(xí)與配置。
企業(yè)的網(wǎng)絡(luò)中的設(shè)備或鏈路難免會(huì)遇到故障,并且路由的重新計(jì)算也會(huì)增加收斂時(shí)間,這就將導(dǎo)致網(wǎng)絡(luò)的可使用性大大降低。如何快速感知網(wǎng)絡(luò)鏈路的變化情況,一直是各大企業(yè)網(wǎng)管人員的關(guān)注重點(diǎn)。OSPFv3與BFD的聯(lián)動(dòng),能夠?qū)ζ髽I(yè)網(wǎng)絡(luò)的鏈路進(jìn)行監(jiān)控,從而提高企業(yè)網(wǎng)絡(luò)的可靠性。
如圖3所示,Switch A、Switch B、Switch C與Switch D建立OSPFv3鄰居關(guān)系,將各設(shè)備的接口均使能BFD,從而把OSPFv3與BFD相互關(guān)聯(lián)起來(lái)。在鏈路正常的情況下,由于鏈路開(kāi)銷比較小,Switch A會(huì)優(yōu)先通過(guò)Switch C將流量送至Switch B。若Switch A與Switch C之間的鏈路發(fā)生故障,BFD會(huì)快速感知,此時(shí)的BFD會(huì)話的狀態(tài)會(huì)變成“Down”狀態(tài),并通知Switch A的OSPFv3進(jìn)程BFD鄰居不可達(dá),這整個(gè)切換過(guò)程是毫秒級(jí)別的。Switch A收到通知后會(huì)重新進(jìn)行路由計(jì)算,并快速切換傳輸鏈路。
圖3 OSPFv3與BFD聯(lián)動(dòng)組網(wǎng)
由以上分析可知,OSPFv3與BFD的聯(lián)動(dòng)可以加快鏈路故障的感知時(shí)間與備份鏈路的切換時(shí)間,從而在一定程度上加快企業(yè)網(wǎng)絡(luò)的重新收斂速度、縮短故障時(shí)間。
在IPv6時(shí)代下,OSPFv3協(xié)議的支持多實(shí)例復(fù)用、便于靈活組網(wǎng)的優(yōu)點(diǎn),致使越來(lái)越多的企業(yè)選擇該協(xié)議進(jìn)行網(wǎng)絡(luò)的搭建。BFD技術(shù)的技術(shù)原理簡(jiǎn)單、可操作性強(qiáng)的特點(diǎn),也得到了許多企業(yè)的青睞。本文著重分析了OSPFv3與BFD聯(lián)動(dòng)帶來(lái)的好處,對(duì)于未來(lái)企業(yè)網(wǎng)絡(luò)的可靠性與可用性的設(shè)計(jì)與構(gòu)建具有較好的應(yīng)用前景。