全球互聯網監控篇之---《BGP的那些事情》

BGP簡介

邊界網關協議(BGP)是互聯網上最廣泛的域間路由協議,它的主要功能是在自治系統之間交換可達性信息。每個AS通過BGP更新消息向其它AS通告到其本地前綴的路由和從其鄰居學習得到的優選路由。這樣的消息提供了關於如何通過有序AS跳數的列表來達到目的地的信息,稱為AS路徑。

全球互聯網監控篇之---《BGP的那些事情》

BGP路由信息

圖1 BGP路由信息

圖1是從AS1到目標IP前綴1.2.3.0/24的BGP路由信息。圖1可以說明,1)從AS1到1.2.3.0/24的AS路徑是AS1、AS2、AS3;2)AS1的入口AS路由器IP是3.3.3.3。因此,BGP數據能夠得到AS路徑開始AS號的入口路由器IP。但是,BGP數據無法得到,1)開始AS號的出口路由器IP,如圖1中AS1的出口路由器A的IP;2)中間AS號的出入口路由器IP,如圖1中AS2的入口路由器B的IP和出口路由器C的IP。

BGP路由器在路由信息庫(RIP)中維護可達性信息,這些可達信息存放在3個集合當中:

1)Adj-RIBs-In: 從鄰居AS的入站更新消息中學習得到的路由信息;

2)Loc-RIB: 通過應用本地策略(例如,最短路徑、與鄰居的對等關係)從Adj-RIB-In中選擇的路由;路由器將路由信息存放到路由表中以確定在哪裡轉發分組。

Adj-RIBs-Out:從Loc-RIB中選擇的路由,路由器將向其鄰居通告這些路由;對於每個鄰居,路由器基於本地策略(例如,對等關係)創建特定的Adj-RIB-Out。

BGP數據採集

一些運營商收集其路由器上生成的BGP路由信息,用於監視、故障排除和研究目的。BGP的looking glass給用戶有限的權限(例如,只讀)來訪問一個路由器的命令行接口,或允許用戶下載路由器的當前狀態的ASCII碼格式的輸出。looking glass是一個交互式探索,而不是系統和連續的數據採集。後者可以通過(1)使用分佈式系統(路由收集器)與被監控路由器建立BGP對等會話來實現; (2)通過專門為監控目的設計的協議,例如OpenBMP。OpenBMP是IETF草案中定義的BGP監控協議的開源實現,支持JunOS和Cisco IOS的最新版本支持。該協議允許用戶週期性地訪問路由器中的Adj-RIBs-In,或者監視其BGP對等會話。雖然OpenBMP可以很容易地部署在AS中以監視其BGP路由器,但是目前還沒有項目公開這些數據。而路由收集器通常用於此目的。路由收集器是運行收集器進程(例如,Quagga)的主機,它模擬路由器,並與一個或多個真實路由器(探測點圖1中的VP)建立BGP對等會話。每個探測點在每次Adj-RIB-out更改時發送給收集器更新消息(更新),反映對其Loc-RIB的更改(圖2)。

全球互聯網監控篇之---《BGP的那些事情》

圖2 通過建立BGP對等會話收集路由信息

通常,與收集器的BGP會話被配置為客戶-提供者關係,即好像探測點正在向收集器提供傳輸服務。在這種情況下,探測點被稱為全饋送,因為它將向收集器通告Adj-RIB-Out,該Adj-RIB-Out包含其Loc-RIB中的整個路由集。通過這種方式,收集器在每個瞬間都知道探測點將用於到達因特網其餘部分的所有首選路由-該路由器可見的因特網拓撲圖的部分視圖。相反,部分饋送探測點將通過其Adj-RIB-Out僅提供其Loc-RIB中的路由的子集,例如,到其自身網絡的路由或通過其客戶學習的路由。不幸的是,公開提供收集者所獲取信息的項目沒有將探測點標記為完全或部分饋送,因為與收集者的對等通常是在自願的基礎上建立的,並且探測點行為可以不經通知而改變。因此,必須從數據(例如,Adj-RIB-Out的大小)動態地推斷確定與收集器共享的Adj-RIB-Out的策略。

對於每個探測點,收集器保持會話狀態和來自更新的Adj-RIB-Out輸出表的鏡像。收集器以分別幾小時和幾分鐘的頻率週期性地轉儲:(1)所維護的Adj-RIB-out表(RIB dump)的快照,(2)自上次轉儲以來從其所有探測點接收的更新消息以及狀態改變(Updates dump) 。RIB dump提供了對BGP路由表變化的有效總結,它具有粗略的時間粒度,足夠用於研究。相比之下,Updates dump攜帶大量要處理的信息,但是提供了可觀察的路由動態的完整視圖,從而支持其他類型的分析和近實時監視應用程序。

常用的數據源

最流行的項目是RouteViews和RIPE RIS。它們目前分別運行18個和13個收集器,這些收集器分佈在全世界,分別有約380和600個探測點(這個數字每年都在增加)。分析來自多個探測點的數據對於大多數互聯網研究來說都是非常重要的,因為每個路由器對互聯網拓撲結構都有有限的視角,即使當完全饋送時,探測點也只共享部分信息(首選路由)。此外,通過路由基礎設施可見的宏觀互聯網現象(例如,停機、網絡攻擊、對等關係、性能問題、路由洩漏、路由器漏洞)根據地理、拓撲、路由器操作系統、硬件特徵和運營商以不同方式影響因特網路由器。這種分佈式和詳細的-即使域間路由平面的部分視圖,也會生成大量的數據(僅2015年收集的壓縮數據就超過2TB)。RouteViews和RIPE RIS收集器每2和8小時保存一個RIB dump,每15和5分鐘保存一個Updates dump。這兩個項目都以IETF標準化的二進制格式保存RIB dump和Updates dump,稱為多線程路由工具包(MRT)路由信息導出格式。RouteViews和RIPE RIS檔案可以分別追溯到2001年和1999年,使得縱向研究能夠理解互聯網基礎設施的演變及其在其他領域的影響。


分享到:


相關文章: