于鵬 秦超逸 張宇



摘要:網絡模擬在計算機網絡研究、協議設計和網絡管理等領域具有廣泛的用途和意義,但是目前基于數學模型的模擬工具往往只是計算和預測網絡行為,或僅僅構建網絡協議棧以支持轉發?;趯ψ灾斡蚣壘W絡拓撲模擬的需求,提出了基于虛擬化技術的域際路由模擬平臺構建方案。方案從數據源采集BGP路由拓撲數據,這就從自治域級拓撲向IP地址級拓撲的映射方案,使用虛擬交換技術和圖劃分算法實現多機擴展。最后,對該方案的實現初步評價了功能實現情況和基本性能指標,并介紹了對未來工作的展望。
關鍵詞: 域際路由; 虛擬化; 網絡模擬
【Abstract】 Network simulation has a wide range of uses and senses in computer network research, protocol design and network management. However, current mathematical model-based emulation tools often only calculate and predict network behavior, or simply build a network protocol stack to support forwarding. Based on the requirements of autonomous system network topology emulation, the paper proposes a construction scheme of inter-autonomous routing emulation platform based on virtualization technology. The solution collects real BGP routing topology data, designs a mapping scheme from autonomous-system-level topology to IP-address-level topology, uses virtual switching technology and graph partitioning algorithm to implement multiple hosts extension. Besides, the paper initially evaluates the function implementation and the basic performance indicators. Finally, the paper introduces the prospects for future work.
【Key words】 ?inter-autonomous routing; virtualization; network simulation
0 引 言
網絡模擬是一種利用軟件來實現計算不同網絡實體之間的交互,以模擬網絡行為。模擬的實體包括路由器、交換機、節點、鏈路等。通過網絡模擬來解決真實互聯網環境中的問題更加安全有效,具備更小的風險。本文提出了一種基于Docker虛擬化技術的網絡模擬方案,利用該方案模擬了真實BGP路由網絡,并進行了初步的測試和評價。
邊界網關協議(Border Gateway Protocol, BGP)是運行在自治域邊界路由器上的路由協議。作為一種域際路由協議,通過維護IP路由表或網絡前綴來實現自治域之間的可達性,能夠去中心化地使各個網絡自治。在自治域系統中,自治域間的路由不只是選擇到達目標的最短路徑,還需要符合特定的一些路由策略。一個自治域通常有至少一個BGP路由器,但是為了簡化網絡復雜度,本方案對于每一個自治域部署一臺虛擬BGP路由器。這在不影響模擬真實性的情況下,使研究工作關于本論文所述的內容更具針對性。
1 相關工作
1.1 域際路由模擬技術
國內外目前有很多基于路由協議模擬的工作,這些網絡模擬技術在協議驗證和安全事件模擬中具有重要的意義。當前對路由協議的模擬分為靜態路由模擬和動態路由模擬,其中動態路由模擬包括對BGP和OSPF等動態路由協議的模擬[1]。Quoitin提出了模擬大規模拓撲中BGP協議的模擬器C-BGP[2],但并未實現真實TCP連接和真實數據包交換的模擬?;赟SFNet的BGP模擬技術[3]模擬了幾乎BGP協議中的所有細節,具有較高的真實度。
同時,作為用于互聯網自治系統之間的路由協議探究,Varadhan等人[4]的研究說明了路由測量配置將引起路由震蕩或者發散。Labovitz等人[5]對BGP的研究證明了路由震蕩對路由網絡的危害,且文獻[5-6]通過對路由變化的測量研究表明BGP聚合時間的延遲將很大,這種延遲將會造成擁塞或者網絡癱瘓。
1.2 虛擬化技術
虛擬化作為一種資源管理技術,虛擬化[7-8]將計算機及互聯網體系中的各種實體進行一定程度的抽象、轉換后呈現出來,對計算機領域生產力提升有著重要價值。軟件定義網絡[9-10](Software Defined Network, SDN),即通過軟件程序的形式定義和控制網絡。應用軟件定義網絡技術,能夠對設備建立依照需求的互連,而且能夠隨時根據業務邏輯的修改來重新定制網絡連接方式,更好地實現對網絡的控制和管理。
2 設計
2.1 系統概覽
本文研究最初是基于對BGP路由拓撲模擬的需求,并提出了一個可行的模擬方案。域際路由模擬系統概覽如圖1所示,系統部署在一定數量的宿主機上,宿主機之間網絡可達。在每個宿主機上生成虛擬BGP路由器并建立虛擬網絡的連接關系,對于跨宿主機的鏈路,使用虛擬交換技術構建。虛擬BGP路由器之間運行路由協議,從而構建為路由拓撲網絡。
(2)帶寬測試。使用Iperf3帶寬測量工具對模擬平臺多個鏈路進行了帶寬測試,得到了帶寬的數據,實驗環境同上。帶寬測試結果見表2。
從測試結果來看,Docker虛擬化網絡提供了較大上限的虛擬網絡鏈路帶寬,而跨宿主機的虛擬BGP路由器之間的鏈路帶寬由于受到實際物理網卡帶寬限制而相對較低。如果想要模擬真實網絡中的帶寬環境,可以通過第三方工具如 TC、Wondershaper 等帶寬限制工具根據需求設置虛擬鏈路帶寬。
3.3 拓撲搭建過程性能
在單宿主機上測試了3組數據,分別是生成 30 節點、60 節點和 90 節點拓撲的情境。研究可知,CPU使用情況見圖7。從測試結果來看,30節點拓撲構建時間約為37 s,60節點拓撲構建時間約為67 s,90節點拓撲構建時間約為93 s,隨著節點數量的增加,構建時間的花費基本上呈線性增長趨勢。從圖7中可見,在構建過程中CPU的使用率基本在8% ~10%,并且不會由于構建規模的增大而增大,這是一個可以接受的CPU使用率和變化情況。
拓撲構建過程中內存占用如圖8所示。內存使用會隨著構建規模的增大而增大,而且一旦節點構建完成,模擬平臺對內存的使用是持續的。直到這些模擬任務結束后、這些節點被銷毀時,內存才會恢復原狀態。從圖8中可知,構建30節點規模的拓撲約需要內存3%(32 G內存總量),構建60節點的拓撲約需要內存5%,構建90節點的拓撲約需要內存7%?;旧蟽却媸褂们闆r也是隨著節點規模增長而線性增加的。
4 結束語
本文提出了一種基于虛擬化技術的域際路由模擬方案,并初步模擬了真實的BGP路由拓撲。通過對域際路由拓撲的網絡模擬,總結了提出的模擬技術的特點和價值。具體內容如下:
(1)這種網絡模擬具有高擴展性和可定制性。虛擬化的網絡設備實際上是一臺輕量級容器,不僅僅可以模擬BGP路由器,也可以通過運行其它路由協議從而扮演其它角色,而且作為操作系統在網絡層之上也可以安裝應用層服務等。
(2)由于這種模擬具有較高的真實度,不僅可以作為一種測量和分析網絡運行狀態的工具,更能夠作為一個進一步構建網絡實驗的平臺,如進行各種基于網絡流量的應用設計研究、網絡靶場設計探索等。另一方面可將本方案提出的模擬平臺[CM(22]中的節點與真實物理設備相連,通過連接真實路由[CM)][LL]設備來驗證模擬平臺構建的路由會話與真實路由一致。
參考文獻
[1] 丁金科. BGP協議模擬技術研究[D]. 哈爾濱:哈爾濱工業大學,2009.
[2]QUOITIN B, UHLIG S. Modeling the routing of an autonomous system with C-BGP[J]. IEEE Network,2005,19(6):12.
[3]DARPA. SSFNet 2000 [EB/OL]. [2005-07]. https:// www.ssfnet.org.
[4]VARADHAN K, GOVINDAN R, ESTRIN D. Persistent route oscillations in inter-domain routing[J]. Computer Networks, 2000,32(1):1.
[5]LABOVITZ C, AHUJA A, BOSE A, et al. Delayed internet routing convergence[J]. IEEE/ACM Transactions on Networking, 2001,9(3):293.
[6]TANGMUNARUNKIT H, GOVINDAN R, SHENKER S, et al. The impact of routing policy on Internet paths[C]// Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213). Anchorage, AK, USA:IEEE,2001:736.
[7]UHLIG R, NEIGER G, RODGERS D. Intel virtualization technology [J]. IEEE Computer Society, 2005, 38(5):48.
[8]SMITH J E, NAIR R. The architecture of virtual machines [J]. Computer, 2005, 38(5):32.
[9]MIT Technology Review. 10 breakthrough technologies, TR10: Software-defined networking [EB/OL]. [2009].http://www2.technologyreview.com/article/412194/tr10-software-defined-networking/.
[10]NUNES B A A, MENDONCA M, NGUYEN X N, et al. A survey of software-defined networking: Past, present, and future of programmable networks [J]. IEEE Communications Surveys and Tutorials, 2014,16(3):1617.