教您如何快速實現(xiàn)BGP路由器監(jiān)測
路由器監(jiān)測在路由應(yīng)用中也是很重要的,同時通過對路由器的檢測,能夠及時的查出很多問題。隨著計算機網(wǎng)絡(luò)的迅猛發(fā)展,網(wǎng)絡(luò)規(guī)模越來越大,網(wǎng)絡(luò)也越來越復(fù)雜。傳統(tǒng)的網(wǎng)絡(luò)管理方式已不能滿足新的需求。
因此,傳統(tǒng)網(wǎng)絡(luò)管理效率低下,就成為當前急需解決的問題。網(wǎng)絡(luò)的核心是路由,通過對路由的分析,能夠獲得大量關(guān)于網(wǎng)絡(luò)的信息。因此,路由器監(jiān)測已成為網(wǎng)絡(luò)運行和管理的重要研究內(nèi)容。通過一個具有部分路由器監(jiān)測代理,捕獲整個網(wǎng)絡(luò)的路由信息。通過路由信息就能分析整個網(wǎng)絡(luò)的動態(tài)性。這里主要研究邊界網(wǎng)關(guān)協(xié)議BGP(border gateway protocol)網(wǎng)絡(luò)拓撲動態(tài)重構(gòu)及網(wǎng)絡(luò)穩(wěn)定性。網(wǎng)絡(luò)拓撲變動直觀反映了BGP動態(tài)性,通過網(wǎng)絡(luò)拓撲的變化能夠清晰的獲得故障信息,從而能及時排除故障。通過路由器技術(shù),實現(xiàn)了實時、動態(tài)的網(wǎng)絡(luò)拓撲構(gòu)造算法,并通過圖形化的方式顯示。
BGP域間路由器監(jiān)測
從管理范疇角度看,Internet由不同的自治系統(tǒng)(Autonomous System,AS)構(gòu)成。自治系統(tǒng)指相對獨立的網(wǎng)絡(luò),在一個自治系統(tǒng)內(nèi)有自主的路由策略。這些AS可能分別隸屬于不同的Internet服務(wù)提供商(Internet Service Provider,ISP),而不同的ISP可能重組成新的ISP,從而形成動態(tài)的管理組織結(jié)構(gòu)。在AS內(nèi)部,通過域內(nèi)路由協(xié)議(InteriorGateway Protocols,IGP)管理調(diào)度路由,如OSPF、IS-IS和RIP等;在AS之間通過公共網(wǎng)絡(luò)訪問點(Network Access Point,NAP)和邊界網(wǎng)關(guān)協(xié)議交換路由信息。BGP與IGP最明顯的不同在于BGP允許每個AS按自己的路由策略選擇、通告和接受路由,為路由選擇提供了靈活機制。然而,為了實現(xiàn)這種靈活的路由機制,BGP協(xié)議的配置也十分靈活以適應(yīng)各種復(fù)雜的任務(wù),但這種靈活性也容易在配置中造成錯誤。一些小的本地錯誤配置可能造成網(wǎng)絡(luò)中斷,甚至影響整個Internet的連接。因此對于AS問路由策略的監(jiān)視和驗證是十分必要的。
BGP-4是一個集距離向量算法和鏈路狀態(tài)算法于一身的協(xié)議,通過分析路由交互信息,特別是Update幀中的AS Path屬性,可以得到從觀測點到目的網(wǎng)絡(luò)的AS序列。將這些序列整合,可得到關(guān)于整個網(wǎng)絡(luò)的拓撲。另外,BGP-4是一個動態(tài)的路由協(xié)議,除了在初始情況下交互全部的路由表,BGP-4會以增量的方式發(fā)送路由變化信息。這些信息都通過Update幀發(fā)送給鄰近的BGP-4 Router。通過動態(tài)的信息分析,可動態(tài)實時分析整個BGP網(wǎng)絡(luò)。
為研究BGP網(wǎng)絡(luò)的動態(tài)行為,首先要對BGP路由進行監(jiān)測。傳統(tǒng)基于路由表下載的路由器監(jiān)測加重了路由器和網(wǎng)絡(luò)的負載,有著很大的缺陷。為解決路由器監(jiān)測問題,提出一套基于路由交互的域間路由器監(jiān)測方法,基于該方法對網(wǎng)絡(luò)和路由器造成極小負載的前提下,采集BGP路由信息,通過該信息分析BGP的動態(tài)行為。通過Zebra建立一個路由器監(jiān)測代理,連接BGP網(wǎng)絡(luò)中的一臺邊界路由器,這樣,該路由器監(jiān)測代理就能接收到路由交互報文,這樣,可監(jiān)測和分析BGP網(wǎng)絡(luò)的動態(tài)性。通過生成BGP網(wǎng)絡(luò)的拓撲,實現(xiàn)對BGP網(wǎng)絡(luò)的整體觀測,以及對自治系統(tǒng)間路由變化的監(jiān)測。
Zebra簡介
Zebra是一種TCP/IP路由軟件,它支持BGP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2和RIPng。它符合GNU的GPL標準,可運行于Linux和其他Unix變體系統(tǒng)。Zebra套件是由Kunihiro Ishiguro和Yoshinari Yoshikawa于1996年開發(fā)的。目前,Zebra套件主要由IP Infusion公司負責維護。Zebra利用模塊法管理各種協(xié)議,可根據(jù)網(wǎng)絡(luò)求需要激活或停止協(xié)議。Zebra的特點如下:
(1)模塊化 Zebra使用多線程方式可使其容易升級和維護。某一協(xié)議模塊的升級不會影響其他協(xié)議模塊的運行。
(2)高速 Zebra具有比傳統(tǒng)路由軟件更高的包轉(zhuǎn)發(fā)速度。
(3)可靠性 Zebra本身具有較高的可靠性。某一模塊的失效不會影響到其他協(xié)議模塊的執(zhí)行。
Zebra的系統(tǒng)結(jié)構(gòu):傳統(tǒng)路由軟件多采用單線程方式提供所有路由器監(jiān)測的功能。Zebra則完全不同,它采用一組守護進程共同維護路由表。如ripd守護進程處理RIP協(xié)議,ospfd用于支持ospf的守護進程,bgpd用于支持bgp-4。同時為了管理內(nèi)核路由表,用守護進程zebra管理內(nèi)核路由表。
這種多進程方式帶來了可擴展性、模塊化和易維護性。同時也帶來多個配置文件和接口。每一個守護進程都有自己的配置文件和終端接口。當配置一個模塊時需要在Zebra配置文件上進行配置。當配置BPG網(wǎng)絡(luò)時就需要配置BGP模塊的文件,這給用戶的使用帶來問題,為解決此問題,Zebra提供一個稱為vryshell的集成用戶接口腳本。Zebra的內(nèi)核模式采用多線程方式。


















