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