新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > Zebra與BGP路由監測的實現

        Zebra與BGP路由監測的實現

        作者: 時間:2009-07-23 來源:網絡 收藏

        摘要:主要研究邊界網關協議()網絡拓撲動態重構及網絡穩定性。通過軟件一個具有部分器功能的代理,并將其連接到網絡中一臺邊界器,通過它們之間的協議交互,代理可捕獲到整個網絡的路由信息,并籍此進行BGP路由
        關 鍵 詞:邊界網關協議(BGP);路由監測;;BGP拓撲

        本文引用地址:http://www.104case.com/article/157948.htm


        1 引言
        隨著計算機網絡的迅猛發展,網絡規模越來越大,網絡也越來越復雜。傳統的網絡管理方式已不能滿足新的需求。因此,傳統網絡管理效率低下,就成為當前急需解決的問題。網絡的核心是路由,通過對路由的分析,能夠獲得大量關于網絡的信息。因此,路由監測已成為網絡運行和管理的重要研究內容。
        通過一個具有部分路由器功能的監測代理,捕獲整個網絡的路由信息。通過路由信息就能分析整個網絡的動態性。這里主要研究邊界網關協議BGP(border gateway protocol)網絡拓撲動態重構及網絡穩定性。網絡拓撲變動直觀反映了BGP動態性,通過網絡拓撲的變化能夠清晰的獲得故障信息,從而能及時排除故障。通過路由信息,了實時、動態的網絡拓撲構造算法,并通過圖形化的方式顯示。


        2 BGP域間路由監測
        從管理范疇角度看,Internet由不同的自治系統(Autonomous System,AS)構成。自治系統指相對獨立的網絡,在一個自治系統內有自主的路由策略。這些AS可能分別隸屬于不同的Internet服務提供商(Internet Service Provider,ISP),而不同的ISP可能重組成新的ISP,從而形成動態的管理組織結構。在AS內部,通過域內路由協議(InteriorGateway Protocols,IGP)管理調度路由,如OSPF、IS-IS和RIP等;在AS之間通過公共網絡訪問點(Network Access Point,NAP)和邊界網關協議交換路由信息。BGP與IGP最明顯的不同在于BGP允許每個AS按自己的路由策略選擇、通告和接受路由,為路由選擇提供了靈活機制。然而,為了這種靈活的路由機制,BGP協議的配置也十分靈活以適應各種復雜的任務,但這種靈活性也容易在配置中造成錯誤。一些小的本地錯誤配置可能造成網絡中斷,甚至影響整個Internet的連接。因此對于AS問路由策略的監視和驗證是十分必要的。
        BGP-4是一個集距離向量算法和鏈路狀態算法于一身的協議,通過分析路由交互信息,特別是Update幀中的AS Path屬性,可以得到從觀測點到目的網絡的AS序列。將這些序列整合,可得到關于整個網絡的拓撲。另外,BGP-4是一個動態的路由協議,除了在初始情況下交互全部的路由表,BGP-4會以增量的方式發送路由變化信息。這些信息都通過Update幀發送給鄰近的BGP-4 Router。通過動態的信息分析,可動態實時分析整個BGP網絡。
        為研究BGP網絡的動態行為,首先要對BGP路由進行監測。傳統基于路由表下載的路由監測加重了路由器和網絡的負載,有著很大的缺陷。為解決路由監測問題,提出一套基于路由交互的域間路由監測方法,基于該方法對網絡和路由器造成極小負載的前提下,采集BGP路由信息,通過該信息分析BGP的動態行為。通過建立一個監測代理,連接BGP網絡中的一臺邊界路由器,這樣,該監測代理就能接收到路由交互報文,這樣,可監測和分析BGP網絡的動態性。通過生成BGP網絡的拓撲,實現對BGP網絡的整體觀測,以及對自治系統間路由變化的監測。


        3 Zebra簡介
        Zebra是一種TCP/IP路由軟件,它支持BGP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2和RIPng。它符合GNU的GPL標準,可運行于Linux和其他Unix變體系統。Zebra套件是由Kunihiro Ishiguro和Yoshinari Yoshikawa于1996年開發的。目前,Zebra套件主要由IP Infusion公司負責維護。Zebra利用模塊法管理各種協議,可根據網絡求需要激活或停止協議。
        Zebra的特點如下:
        (1)模塊化 Zebra使用多線程方式可使其容易升級和維護。某一協議模塊的升級不會影響其他協議模塊的運行。
        (2)高速 Zebra具有比傳統路由軟件更高的包轉發速度。
        (3)可靠性 Zebra本身具有較高的可靠性。某一模塊的失效不會影響到其他協議模塊的執行。
        Zebra的系統結構:傳統路由軟件多采用單線程方式提供所有路由協議的功能。Zebra則完全不同,它采用一組守護進程共同維護路由表。如ripd守護進程處理RIP協議,ospfd用于支持ospf的守護進程,bgpd用于支持bgp-4。同時為了管理內核路由表,用守護進程zebra管理內核路由表。圖1所示為Zebra的系統結構。

        這種多進程方式帶來了可擴展性、模塊化和易維護性。同時也帶來多個配置文件和接口。每一個守護進程都有自己的配置文件和終端接口。當配置一個模塊時需要在Zebra配置文件上進行配置。當配置BPG網絡時就需要配置BGP模塊的文件,這給用戶的使用帶來問題,為解決此問題,Zebra提供一個稱為vryshell的集成用戶接口腳本。Zebra的內核模式采用多線程方式。


        4 使用Zebra建立BGP監測代理
        使用Zebra建立BGP監測代理的步驟。Zebar的安裝:
        (1)解壓軟件包:#tar zxvf zebra-0.94。解壓后會出現zebra-0.94目錄,進入zebra-0.94目錄;
        (2)運行./configure進行配置;
        (3)運行make;
        (4)運行make install;
        這時在/usr/local/sbin看到有bgpd、ospf6d、ospfd、ripd、ripngd、zebra6個文件。同時/usr/local/etc目錄中會出現bgpd.conf.sample、bgpd.conf.sample2、ripngd.conf.sample、ospfd.conf.sample、ospf6d.conf.sample、zebra.conf.sample、ripd.conf.sample7個文件;復制zebra.conf.sample為zebra.conf,不要自定義文件名,因為啟動zebra時系統要查找zebra.conf文件,將其他的*.conf.sample也復制成*.conf文件,Zebra的各進程有各自的終端接口,這樣zebra的所有端口都可以使用telnet localhost端口號>進入。
        在/etc/services文件中添加如下內容:

        5 BGP監測
        基于路徑的AS級拓撲發現算法,其拓撲信息來自于BGP更新消息及BGP路由表。從BGP路由表中可獲得路徑屬性,包括AS路徑(AS path)、下一跳(Next Hop)、起源(Origin)。其中,AS path屬性被BGP用來確保無環路環境;下一跳屬性說明了用于去往目的地的下一跳IP地址;起源屬性定義路徑信息的起源,它可以是下列3個值之一:(1)IGP,說明路由在起始AS的內部,在BGP表中用i表示;(2)EGP,說明路由通過外部網關協議而學到,在BGP表中用“e”表示;(3)不完全,說明路由起源未知或通過別的方法學到,該條路徑可能不完整,在BGP表中用“?”表示。
        以下是BGP路由表的一個片斷,其中由符號“*”標記的每1行,代表1條記錄。記錄的1l列Network指出目的IP,該列的值或者為一個單獨的IP地址(如126.0.0.0)或者為一個網段的IP地址,包括掩碼(如128.0.0.0/3)。第2列NextHop指明AS路徑中第1跳的IP地址。第3列Metric LocPrfWeight是該條路徑的權值。第4列Path即為從源IP(198.32.162.100)到目的IP的AS路徑。路徑結尾的字符“i”,“e”和“?”即為起源屬性。“*”標記后緊跟著“>”標記,表明該條路徑是最優路徑,其他的為合法路徑。


        上一頁 1 2 下一頁

        關鍵詞: 實現 監測 路由 BGP Zebra

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 舒城县| 藁城市| 申扎县| 陆河县| 青神县| 芜湖县| 哈尔滨市| 高尔夫| 娄底市| 沧源| 陵川县| 竹溪县| 桂平市| 巴青县| 惠水县| 连南| 广河县| 丰宁| 永平县| 柳州市| 丰城市| 临泽县| 永州市| 东阿县| 长岭县| 外汇| 灵台县| 合川市| 香港| 紫阳县| 东源县| 外汇| 江陵县| 柏乡县| 海丰县| 都江堰市| 桐庐县| 社旗县| 蕉岭县| 会理县| 平武县|