Zebra與BGP路由監測的實現
基于路徑的AS級拓撲發現算法的基本思路,即獲取BGP路由表,通過分析得到AS路徑的相關信息。從而構造AS級骨干網拓撲,進一步獲取BGP更新消息,不斷修改完善拓撲結構。圖2所示為BGP拓撲實例。
圖2中AS1表示AS號為AS1的router,其余類推。其中Zebra是配置了Zebra軟件的、邏輯上相當于一個AS的router。它和AS1的speaker交互操作。圖2中虛線表示在zebra的router的BGP路由表中一條路由記錄中的AS_PATH中的AS號。通過圖2可以獲得圖3所示的拓撲信息。
按上述方式就可以逐步發現拓撲關系,但還沒有明確該拓撲圖中各個AS對應的BGP router的IP。對路由表中的每一行,均存在一個prefix和as_path,其中as_path是一個數組,如圖2的每一個虛線內所列;其中在as_path中第1個AS號永遠是neighbor,也就是圖2中的AS1。而最后一個則為和prefix對應的AS號。
通過這種方式,實現了BGP拓撲信息的獲取,具體軟件結構如圖4所示。實現的界面如圖5所示。
6 結語
提出了BGP路由監測策略,將一個具有部分路由器功能的監測代理連接到網絡中的一臺BGP邊界路由器上,通過兩者之間的BGP協議交互,監測代理可捕獲關于整個網絡的路由信息。由于監測代理不能進行包的轉發,且不主動發送路由信息,因此不能對網絡和路由器造成太大的負擔。該策略能夠有效監測全網的路由變化情況,并通過可視化的手段創建了良好的人機交互界面。
評論