Zebra與BGP路由監(jiān)測(cè)的實(shí)現(xiàn)

1 引言

隨著計(jì)算機(jī)網(wǎng)絡(luò)的迅猛發(fā)展,網(wǎng)絡(luò)規(guī)模越來越大,網(wǎng)絡(luò)也越來越復(fù)雜。傳統(tǒng)的網(wǎng)絡(luò)管理方式已不能滿足新的需求。因此,傳統(tǒng)網(wǎng)絡(luò)管理效率低下,就成為當(dāng)前急需解決的問題。網(wǎng)絡(luò)的核心是路由,通過對(duì)路由的分析,能夠獲得大量關(guān)于網(wǎng)絡(luò)的信息。因此,路由監(jiān)測(cè)已成為網(wǎng)絡(luò)運(yùn)行和管理的重要研究內(nèi)容。

通過一個(gè)具有部分路由器功能的監(jiān)測(cè)代理,捕獲整個(gè)網(wǎng)絡(luò)的路由信息。通過路由信息就能分析整個(gè)網(wǎng)絡(luò)的動(dòng)態(tài)性。這里主要研究邊界網(wǎng)關(guān)協(xié)議BGP(border gateway protocol)網(wǎng)絡(luò)拓?fù)鋭?dòng)態(tài)重構(gòu)及網(wǎng)絡(luò)穩(wěn)定性。網(wǎng)絡(luò)拓?fù)渥儎?dòng)直觀反映了BGP動(dòng)態(tài)性,通過網(wǎng)絡(luò)拓?fù)涞淖兓軌蚯逦墨@得故障信息,從而能及時(shí)排除故障。通過路由信息,實(shí)現(xiàn)了實(shí)時(shí)、動(dòng)態(tài)的網(wǎng)絡(luò)拓?fù)錁?gòu)造算法,并通過圖形化的方式顯示。

2 BGP域間路由監(jiān)測(cè)

從管理范疇角度看,Internet由不同的自治系統(tǒng)(Autonomous System,AS)構(gòu)成。自治系統(tǒng)指相對(duì)獨(dú)立的網(wǎng)絡(luò),在一個(gè)自治系統(tǒng)內(nèi)有自主的路由策略。這些AS可能分別隸屬于不同的Internet服務(wù)提供商(Internet Service Provider,ISP),而不同的ISP可能重組成新的ISP,從而形成動(dòng)態(tài)的管理組織結(jié)構(gòu)。在AS內(nèi)部,通過域內(nèi)路由協(xié)議(InteriorGateway Protocols,IGP)管理調(diào)度路由,如OSPF、IS-IS和RIP等;在AS之間通過公共網(wǎng)絡(luò)訪問點(diǎn)(Network Access Point,NAP)和邊界網(wǎng)關(guān)協(xié)議交換路由信息。BGP與IGP最明顯的不同在于BGP允許每個(gè)AS按自己的路由策略選擇、通告和接受路由,為路由選擇提供了靈活機(jī)制。然而,為了實(shí)現(xiàn)這種靈活的路由機(jī)制,BGP協(xié)議的配置也十分靈活以適應(yīng)各種復(fù)雜的任務(wù),但這種靈活性也容易在配置中造成錯(cuò)誤。一些小的本地錯(cuò)誤配置可能造成網(wǎng)絡(luò)中斷,甚至影響整個(gè)Internet的連接。因此對(duì)于AS問路由策略的監(jiān)視和驗(yàn)證是十分必要的。

BGP-4是一個(gè)集距離向量算法和鏈路狀態(tài)算法于一身的協(xié)議,通過分析路由交互信息,特別是Update幀中的AS Path屬性,可以得到從觀測(cè)點(diǎn)到目的網(wǎng)絡(luò)的AS序列。將這些序列整合,可得到關(guān)于整個(gè)網(wǎng)絡(luò)的拓?fù)。另外,BGP-4是一個(gè)動(dòng)態(tài)的路由協(xié)議,除了在初始情況下交互全部的路由表,BGP-4會(huì)以增量的方式發(fā)送路由變化信息。這些信息都通過Update幀發(fā)送給鄰近的BGP-4 Router。通過動(dòng)態(tài)的信息分析,可動(dòng)態(tài)實(shí)時(shí)分析整個(gè)BGP網(wǎng)絡(luò)。

為研究BGP網(wǎng)絡(luò)的動(dòng)態(tài)行為,首先要對(duì)BGP路由進(jìn)行監(jiān)測(cè)。傳統(tǒng)基于路由表下載的路由監(jiān)測(cè)加重了路由器和網(wǎng)絡(luò)的負(fù)載,有著很大的缺陷。為解決路由監(jiān)測(cè)問題,提出一套基于路由交互的域間路由監(jiān)測(cè)方法,基于該方法對(duì)網(wǎng)絡(luò)和路由器造成極小負(fù)載的前提下,采集BGP路由信息,通過該信息分析BGP的動(dòng)態(tài)行為。通過Zebra建立一個(gè)監(jiān)測(cè)代理,連接BGP網(wǎng)絡(luò)中的一臺(tái)邊界路由器,這樣,該監(jiān)測(cè)代理就能接收到路由交互報(bào)文,這樣,可監(jiān)測(cè)和分析BGP網(wǎng)絡(luò)的動(dòng)態(tài)性。通過生成BGP網(wǎng)絡(luò)的拓?fù),?shí)現(xiàn)對(duì)BGP網(wǎng)絡(luò)的整體觀測(cè),以及對(duì)自治系統(tǒng)間路由變化的監(jiān)測(cè)。

3 Zebra簡(jiǎn)介

Zebra是一種TCP/IP路由軟件,它支持BGP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2和RIPng。它符合GNU的GPL標(biāo)準(zhǔn),可運(yùn)行于Linux和其他Unix變體系統(tǒng)。Zebra套件是由Kunihiro Ishiguro和Yoshinari Yoshikawa于1996年開發(fā)的。目前,Zebra套件主要由IP Infusion公司負(fù)責(zé)維護(hù)。Zebra利用模塊法管理各種協(xié)議,可根據(jù)網(wǎng)絡(luò)求需要激活或停止協(xié)議。

Zebra的特點(diǎn)如下:

(1)模塊化 Zebra使用多線程方式可使其容易升級(jí)和維護(hù)。某一協(xié)議模塊的升級(jí)不會(huì)影響其他協(xié)議模塊的運(yùn)行。

(2)高速 Zebra具有比傳統(tǒng)路由軟件更高的包轉(zhuǎn)發(fā)速度。

(3)可靠性 Zebra本身具有較高的可靠性。某一模塊的失效不會(huì)影響到其他協(xié)議模塊的執(zhí)行。

Zebra的系統(tǒng)結(jié)構(gòu):傳統(tǒng)路由軟件多采用單線程方式提供所有路由協(xié)議的功能。Zebra則完全不同,它采用一組守護(hù)進(jìn)程共同維護(hù)路由表。如ripd守護(hù)進(jìn)程處理RIP協(xié)議,ospfd用于支持ospf的守護(hù)進(jìn)程,BGPd用于支持BGP-4。同時(shí)為了管理內(nèi)核路由表,用守護(hù)進(jìn)程zebra管理內(nèi)核路由表。圖1所示為Zebra的系統(tǒng)結(jié)構(gòu)。

這種多進(jìn)程方式帶來了可擴(kuò)展性、模塊化和易維護(hù)性。同時(shí)也帶來多個(gè)配置文件和接口。每一個(gè)守護(hù)進(jìn)程都有自己的配置文件和終端接口。當(dāng)配置一個(gè)模塊時(shí)需要在Zebra配置文件上進(jìn)行配置。當(dāng)配置BPG網(wǎng)絡(luò)時(shí)就需要配置BGP模塊的文件,這給用戶的使用帶來問題,為解決此問題,Zebra提供一個(gè)稱為vryshell的集成用戶接口腳本。Zebra的內(nèi)核模式采用多線程方式。

4 使用Zebra建立BGP監(jiān)測(cè)代理

使用Zebra建立BGP監(jiān)測(cè)代理的步驟。Zebar的安裝:

(1)解壓軟件包:#tar zxvf zebra-0.94。解壓后會(huì)出現(xiàn)zebra-0.94目錄,進(jìn)入zebra-0.94目錄;

(2)運(yùn)行./configure進(jìn)行配置;

(3)運(yùn)行make;

(4)運(yùn)行make install;

這時(shí)在/usr/local/sbin看到有BGPd、ospf6d、ospfd、ripd、ripngd、zebra6個(gè)文件。同時(shí)/usr/local/etc目錄中會(huì)出現(xiàn)BGPd.conf.sample、BGPd.conf.sample2、ripngd.conf.sample、ospfd.conf.sample、ospf6d.conf.sample、zebra.conf.sample、ripd.conf.sample7個(gè)文件;復(fù)制zebra.conf.sample為zebra.conf,不要自定義文件名,因?yàn)閱?dòng)zebra時(shí)系統(tǒng)要查找zebra.conf文件,將其他的*.conf.sample也復(fù)制成*.conf文件,Zebra的各進(jìn)程有各自的終端接口,這樣zebra的所有端口都可以使用telnet localhost<端口號(hào)>進(jìn)入。

在/etc/services文件中添加如下內(nèi)容:

5 BGP監(jiān)測(cè)

基于路徑的AS級(jí)拓?fù)浒l(fā)現(xiàn)算法,其拓?fù)湫畔碜杂贐GP更新消息及BGP路由表。從BGP路由表中可獲得路徑屬性,包括AS路徑(AS path)、下一跳(Next Hop)、起源(Origin)。其中,AS path屬性被BGP用來確保無環(huán)路環(huán)境;下一跳屬性說明了用于去往目的地的下一跳IP地址;起源屬性定義路徑信息的起源,它可以是下列3個(gè)值之一:(1)IGP,說明路由在起始AS的內(nèi)部,在BGP表中用"i"表示;(2)EGP,說明路由通過外部網(wǎng)關(guān)協(xié)議而學(xué)到,在BGP表中用“e”表示;(3)不完全,說明路由起源未知或通過別的方法學(xué)到,該條路徑可能不完整,在BGP表中用“?”表示。

以下是BGP路由表的一個(gè)片斷,其中由符號(hào)“*”標(biāo)記的每1行,代表1條記錄。記錄的1l列Network指出目的IP,該列的值或者為一個(gè)單獨(dú)的IP地址(如126.0.0.0)或者為一個(gè)網(wǎng)段的IP地址,包括掩碼(如128.0.0.0/3)。第2列NextHop指明AS路徑中第1跳的IP地址。第3列Metric LocPrfWeight是該條路徑的權(quán)值。第4列Path即為從源IP(198.32.162.100)到目的IP的AS路徑。路徑結(jié)尾的字符“i”,“e”和“?”即為起源屬性。“*”標(biāo)記后緊跟著“>”標(biāo)記,表明該條路徑是最優(yōu)路徑,其他的為合法路徑。

基于路徑的AS級(jí)拓?fù)浒l(fā)現(xiàn)算法的基本思路,即獲取BGP路由表,通過分析得到AS路徑的相關(guān)信息。從而構(gòu)造AS級(jí)骨干網(wǎng)拓?fù),進(jìn)一步獲取BGP更新消息,不斷修改完善拓?fù)浣Y(jié)構(gòu)。圖2所示為BGP拓?fù)鋵?shí)例。

AS1表示AS號(hào)為AS1的router,其余類推。其中Zebra是配置了Zebra軟件的、邏輯上相當(dāng)于一個(gè)AS的router。它和AS1的speaker交互操作。圖2中虛線表示在zebra的router的BGP路由表中一條路由記錄中的AS_PATH中的AS號(hào)。通過圖2可以獲得圖3所示的拓?fù)湫畔ⅰ?/p>

按上述方式就可以逐步發(fā)現(xiàn)拓?fù)潢P(guān)系,但還沒有明確該拓?fù)鋱D中各個(gè)AS對(duì)應(yīng)的BGP router的IP。對(duì)路由表中的每一行,均存在一個(gè)prefix和as_path,其中as_path是一個(gè)數(shù)組,如圖2的每一個(gè)虛線內(nèi)所列;其中在as_path中第1個(gè)AS號(hào)永遠(yuǎn)是neighbor,也就是圖2中的AS1。而最后一個(gè)則為和prefix對(duì)應(yīng)的AS號(hào)。

通過這種方式,實(shí)現(xiàn)了BGP拓?fù)湫畔⒌墨@取,具體軟件結(jié)構(gòu)如圖4所示。實(shí)現(xiàn)的界面如圖5所示。

6 結(jié)語

提出了BGP路由監(jiān)測(cè)策略,將一個(gè)具有部分路由器功能的監(jiān)測(cè)代理連接到網(wǎng)絡(luò)中的一臺(tái)BGP邊界路由器上,通過兩者之間的BGP協(xié)議交互,監(jiān)測(cè)代理可捕獲關(guān)于整個(gè)網(wǎng)絡(luò)的路由信息。由于監(jiān)測(cè)代理不能進(jìn)行包的轉(zhuǎn)發(fā),且不主動(dòng)發(fā)送路由信息,因此不能對(duì)網(wǎng)絡(luò)和路由器造成太大的負(fù)擔(dān)。該策略能夠有效監(jiān)測(cè)全網(wǎng)的路由變化情況,并通過可視化的手段創(chuàng)建了良好的人機(jī)交互界面。

 

   來源:ZDNET網(wǎng)絡(luò)頻道
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動(dòng):6G至簡(jiǎn)無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息