于鵬 秦超逸 張宇
摘要:網(wǎng)絡(luò)模擬在計算機網(wǎng)絡(luò)研究、協(xié)議設(shè)計和網(wǎng)絡(luò)管理等領(lǐng)域具有廣泛的用途和意義,但是目前基于數(shù)學(xué)模型的模擬工具往往只是計算和預(yù)測網(wǎng)絡(luò)行為,或僅僅構(gòu)建網(wǎng)絡(luò)協(xié)議棧以支持轉(zhuǎn)發(fā)。基于對自治域級網(wǎng)絡(luò)拓撲模擬的需求,提出了基于虛擬化技術(shù)的域際路由模擬平臺構(gòu)建方案。方案從數(shù)據(jù)源采集BGP路由拓撲數(shù)據(jù),這就從自治域級拓撲向IP地址級拓撲的映射方案,使用虛擬交換技術(shù)和圖劃分算法實現(xiàn)多機擴展。最后,對該方案的實現(xiàn)初步評價了功能實現(xiàn)情況和基本性能指標(biāo),并介紹了對未來工作的展望。
關(guān)鍵詞: 域際路由; 虛擬化; 網(wǎng)絡(luò)模擬
【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 引 言
網(wǎng)絡(luò)模擬是一種利用軟件來實現(xiàn)計算不同網(wǎng)絡(luò)實體之間的交互,以模擬網(wǎng)絡(luò)行為。模擬的實體包括路由器、交換機、節(jié)點、鏈路等。通過網(wǎng)絡(luò)模擬來解決真實互聯(lián)網(wǎng)環(huán)境中的問題更加安全有效,具備更小的風(fēng)險。本文提出了一種基于Docker虛擬化技術(shù)的網(wǎng)絡(luò)模擬方案,利用該方案模擬了真實BGP路由網(wǎng)絡(luò),并進行了初步的測試和評價。
邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol, BGP)是運行在自治域邊界路由器上的路由協(xié)議。作為一種域際路由協(xié)議,通過維護IP路由表或網(wǎng)絡(luò)前綴來實現(xiàn)自治域之間的可達性,能夠去中心化地使各個網(wǎng)絡(luò)自治。在自治域系統(tǒng)中,自治域間的路由不只是選擇到達目標(biāo)的最短路徑,還需要符合特定的一些路由策略。一個自治域通常有至少一個BGP路由器,但是為了簡化網(wǎng)絡(luò)復(fù)雜度,本方案對于每一個自治域部署一臺虛擬BGP路由器。這在不影響模擬真實性的情況下,使研究工作關(guān)于本論文所述的內(nèi)容更具針對性。
1 相關(guān)工作
1.1 域際路由模擬技術(shù)
國內(nèi)外目前有很多基于路由協(xié)議模擬的工作,這些網(wǎng)絡(luò)模擬技術(shù)在協(xié)議驗證和安全事件模擬中具有重要的意義。當(dāng)前對路由協(xié)議的模擬分為靜態(tài)路由模擬和動態(tài)路由模擬,其中動態(tài)路由模擬包括對BGP和OSPF等動態(tài)路由協(xié)議的模擬[1]。Quoitin提出了模擬大規(guī)模拓撲中BGP協(xié)議的模擬器C-BGP[2],但并未實現(xiàn)真實TCP連接和真實數(shù)據(jù)包交換的模擬?;赟SFNet的BGP模擬技術(shù)[3]模擬了幾乎BGP協(xié)議中的所有細節(jié),具有較高的真實度。
同時,作為用于互聯(lián)網(wǎng)自治系統(tǒng)之間的路由協(xié)議探究,Varadhan等人[4]的研究說明了路由測量配置將引起路由震蕩或者發(fā)散。Labovitz等人[5]對BGP的研究證明了路由震蕩對路由網(wǎng)絡(luò)的危害,且文獻[5-6]通過對路由變化的測量研究表明BGP聚合時間的延遲將很大,這種延遲將會造成擁塞或者網(wǎng)絡(luò)癱瘓。
1.2 虛擬化技術(shù)
虛擬化作為一種資源管理技術(shù),虛擬化[7-8]將計算機及互聯(lián)網(wǎng)體系中的各種實體進行一定程度的抽象、轉(zhuǎn)換后呈現(xiàn)出來,對計算機領(lǐng)域生產(chǎn)力提升有著重要價值。軟件定義網(wǎng)絡(luò)[9-10](Software Defined Network, SDN),即通過軟件程序的形式定義和控制網(wǎng)絡(luò)。應(yīng)用軟件定義網(wǎng)絡(luò)技術(shù),能夠?qū)υO(shè)備建立依照需求的互連,而且能夠隨時根據(jù)業(yè)務(wù)邏輯的修改來重新定制網(wǎng)絡(luò)連接方式,更好地實現(xiàn)對網(wǎng)絡(luò)的控制和管理。
2 設(shè)計
2.1 系統(tǒng)概覽
本文研究最初是基于對BGP路由拓撲模擬的需求,并提出了一個可行的模擬方案。域際路由模擬系統(tǒng)概覽如圖1所示,系統(tǒng)部署在一定數(shù)量的宿主機上,宿主機之間網(wǎng)絡(luò)可達。在每個宿主機上生成虛擬BGP路由器并建立虛擬網(wǎng)絡(luò)的連接關(guān)系,對于跨宿主機的鏈路,使用虛擬交換技術(shù)構(gòu)建。虛擬BGP路由器之間運行路由協(xié)議,從而構(gòu)建為路由拓撲網(wǎng)絡(luò)。
(2)帶寬測試。使用Iperf3帶寬測量工具對模擬平臺多個鏈路進行了帶寬測試,得到了帶寬的數(shù)據(jù),實驗環(huán)境同上。帶寬測試結(jié)果見表2。
從測試結(jié)果來看,Docker虛擬化網(wǎng)絡(luò)提供了較大上限的虛擬網(wǎng)絡(luò)鏈路帶寬,而跨宿主機的虛擬BGP路由器之間的鏈路帶寬由于受到實際物理網(wǎng)卡帶寬限制而相對較低。如果想要模擬真實網(wǎng)絡(luò)中的帶寬環(huán)境,可以通過第三方工具如 TC、Wondershaper 等帶寬限制工具根據(jù)需求設(shè)置虛擬鏈路帶寬。
3.3 拓撲搭建過程性能
在單宿主機上測試了3組數(shù)據(jù),分別是生成 30 節(jié)點、60 節(jié)點和 90 節(jié)點拓撲的情境。研究可知,CPU使用情況見圖7。從測試結(jié)果來看,30節(jié)點拓撲構(gòu)建時間約為37 s,60節(jié)點拓撲構(gòu)建時間約為67 s,90節(jié)點拓撲構(gòu)建時間約為93 s,隨著節(jié)點數(shù)量的增加,構(gòu)建時間的花費基本上呈線性增長趨勢。從圖7中可見,在構(gòu)建過程中CPU的使用率基本在8% ~10%,并且不會由于構(gòu)建規(guī)模的增大而增大,這是一個可以接受的CPU使用率和變化情況。
拓撲構(gòu)建過程中內(nèi)存占用如圖8所示。內(nèi)存使用會隨著構(gòu)建規(guī)模的增大而增大,而且一旦節(jié)點構(gòu)建完成,模擬平臺對內(nèi)存的使用是持續(xù)的。直到這些模擬任務(wù)結(jié)束后、這些節(jié)點被銷毀時,內(nèi)存才會恢復(fù)原狀態(tài)。從圖8中可知,構(gòu)建30節(jié)點規(guī)模的拓撲約需要內(nèi)存3%(32 G內(nèi)存總量),構(gòu)建60節(jié)點的拓撲約需要內(nèi)存5%,構(gòu)建90節(jié)點的拓撲約需要內(nèi)存7%?;旧蟽?nèi)存使用情況也是隨著節(jié)點規(guī)模增長而線性增加的。
4 結(jié)束語
本文提出了一種基于虛擬化技術(shù)的域際路由模擬方案,并初步模擬了真實的BGP路由拓撲。通過對域際路由拓撲的網(wǎng)絡(luò)模擬,總結(jié)了提出的模擬技術(shù)的特點和價值。具體內(nèi)容如下:
(1)這種網(wǎng)絡(luò)模擬具有高擴展性和可定制性。虛擬化的網(wǎng)絡(luò)設(shè)備實際上是一臺輕量級容器,不僅僅可以模擬BGP路由器,也可以通過運行其它路由協(xié)議從而扮演其它角色,而且作為操作系統(tǒng)在網(wǎng)絡(luò)層之上也可以安裝應(yīng)用層服務(wù)等。
(2)由于這種模擬具有較高的真實度,不僅可以作為一種測量和分析網(wǎng)絡(luò)運行狀態(tài)的工具,更能夠作為一個進一步構(gòu)建網(wǎng)絡(luò)實驗的平臺,如進行各種基于網(wǎng)絡(luò)流量的應(yīng)用設(shè)計研究、網(wǎng)絡(luò)靶場設(shè)計探索等。另一方面可將本方案提出的模擬平臺[CM(22]中的節(jié)點與真實物理設(shè)備相連,通過連接真實路由[CM)][LL]設(shè)備來驗證模擬平臺構(gòu)建的路由會話與真實路由一致。
參考文獻
[1] 丁金科. BGP協(xié)議模擬技術(shù)研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),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.