999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

虛擬路由器管控平面的設計與實現(xiàn)

2014-08-05 04:27:33李坤麗張大方關(guān)洪濤謝高崗
計算機工程 2014年5期
關(guān)鍵詞:功能信息系統(tǒng)

李坤麗,張大方,關(guān)洪濤,謝高崗

(1. 湖南大學信息科學與工程學院,長沙 41008 2;2. 中國科學院計算技術(shù)研究所,北京 10019 0)

虛擬路由器管控平面的設計與實現(xiàn)

李坤麗1,2,張大方1,關(guān)洪濤2,謝高崗2

(1. 湖南大學信息科學與工程學院,長沙 41008 2;2. 中國科學院計算技術(shù)研究所,北京 10019 0)

為適應未來網(wǎng)絡需求的發(fā)展,新一代網(wǎng)絡體系結(jié)構(gòu)得到研究人員的關(guān)注,而虛擬路由器作為構(gòu)建虛擬網(wǎng)絡的核心設備,其系統(tǒng)的設計與實現(xiàn)成為研究重點。為此,提出一種可擴展虛擬路由器系統(tǒng)中的管控平面。介紹虛擬路由器管控平面的系統(tǒng)架構(gòu)、功能模塊和關(guān)鍵技術(shù),將基于容器的虛擬化技術(shù)、C語言、shell腳本、Netlink協(xié)議以及Quagga路由管理軟件等相結(jié)合,在Linux系統(tǒng)環(huán)境下實現(xiàn)該平面。系統(tǒng)測試結(jié)果表明,該管控平面能夠有效地分配物理設備資源,生成和管理相互隔離的虛擬路由器以及網(wǎng)絡信息,實現(xiàn)與轉(zhuǎn)發(fā)平面系統(tǒng)的信息交互,且在保證高性能的基礎(chǔ)上,具有良好的靈活性、可移植性和擴展性。

路由器;管控平面;容器;虛擬化技術(shù);路由管理軟件;Netlink協(xié)議

1 概述

近年來,隨著計算機網(wǎng)絡技術(shù)的迅速發(fā)展,新的網(wǎng)絡體系結(jié)構(gòu)、網(wǎng)絡協(xié)議、算法與應用不斷涌現(xiàn)。然而這些協(xié)議和算法體系結(jié)構(gòu)與業(yè)務的測試驗證往往需要依靠實際的網(wǎng)絡環(huán)境和真實的業(yè)務負載,網(wǎng)絡實驗床等新的網(wǎng)絡體系結(jié)構(gòu)也得到了越來越多研究人員的關(guān)注。虛擬化網(wǎng)絡概念隨之提出,此結(jié)構(gòu)網(wǎng)絡可以在一個物理網(wǎng)絡中實現(xiàn)多個相互隔離異構(gòu)的虛擬網(wǎng)絡,方便實現(xiàn)并行運行多個不同體系結(jié)構(gòu),是實驗床的重要機制并成為了研究熱點[1]。未來網(wǎng)絡體系結(jié)構(gòu)支持網(wǎng)絡虛擬化,作為基礎(chǔ)設備的路由器是網(wǎng)絡體系結(jié)構(gòu)的核心網(wǎng)絡設備,相應的虛擬路由器則是虛擬化網(wǎng)絡系統(tǒng)結(jié)構(gòu)的研究重點,即研究實現(xiàn)支持虛擬技術(shù)的路由器來滿足未來網(wǎng)絡的功能需求。

路由器虛擬化可以通過使用可擴展的路由器軟件如Click[2]、XORP[3](eXtensible Open Router Platform)或者通過操作系統(tǒng)的虛擬化方法來實現(xiàn)。近年來,操作系統(tǒng)虛擬化方法已經(jīng)有較多的研究[1,4]:一種是基于中間層(hypervisor)的虛擬化技術(shù),如全虛擬化技術(shù)XEN[4]、準虛擬化技術(shù)KVM[5](Kernel-based Virtual Machine)、VINI[1];另一種是基于容器(container)的虛擬化技術(shù),如操作系統(tǒng)層虛擬化技術(shù)OpenVZ[6]、LXC[7](Linux Container)、Linux-VServer等。文獻[8]通過比較研究證明了基于容器的虛擬化技術(shù)能夠提供較高的性能和靈活性,而基于中間層的虛擬化技術(shù)提供了較強的隔離性,但在硬件方面的較大開銷導致其性能較低。

除了虛擬化外,路由器可編程、可重構(gòu)與可擴展也是路由器功能擴展的研究熱點。路由器可重構(gòu)性的基本思想是打破網(wǎng)絡交換節(jié)點的封閉性,通過支持在路由器的處理通路植入具有不同功能的構(gòu)件,使路由器在不斷變化功能需求的網(wǎng)絡環(huán)境中動態(tài)加載不同的相關(guān)處理構(gòu)件,實現(xiàn)路由器的擴展性。路由器的可編程性是要求路由器提供給用戶開放的控制接口,從而使管理員通過外部實現(xiàn)配置管理網(wǎng)絡設備的能力。路由器的虛擬化則是根據(jù)路由器控制平面和數(shù)據(jù)平面的分離思想,通過軟件技術(shù)對物理設備資源進行劃分,實現(xiàn)多個相互隔離的虛擬路由器。路由器的可擴展性是指多個獨立運行的路由節(jié)點通過某種互連方式連接成具有高性能、功能可擴展性的單象路由器。

在路由器架構(gòu)平臺領(lǐng)域的研究成果主要包括基于積木式組裝機制的可重構(gòu)路由器體系結(jié)構(gòu)[9]和可重構(gòu)路由器構(gòu)件候選集(Component Candidate Set, CCS)[10]。文獻[11]研究的集成路由器系統(tǒng)體系結(jié)構(gòu),提出非對稱同步框架AREF[12]以及相應路由同步算法和具有可擴展性的OpenRouter[13]模型。文獻[14]提出的可擴展路由器模型,遵循將控制平面和數(shù)據(jù)平面分離的思想,將系統(tǒng)功能進行分層實現(xiàn);Open-Vrouter[15]擴展了OpenFlow的FlowTable、Control Modle和OpenFlow協(xié)議3個功能平面。文獻[16]實現(xiàn)的可編程虛擬化路由器平臺PEARl,通過虛擬化軟件技術(shù)和硬件技術(shù)相結(jié)合的設計思想實現(xiàn)了平臺的高性能和靈活性。

傳統(tǒng)的虛擬路由器的架構(gòu)分為控制平面和數(shù)據(jù)平面2個部分設計實現(xiàn),為了提高系統(tǒng)的可移植性、可擴展性及數(shù)據(jù)包的高速轉(zhuǎn)發(fā),本文研究將虛擬路由器系統(tǒng)分為由軟件實現(xiàn)的控制平面,通過硬件加速提高數(shù)據(jù)包處理的轉(zhuǎn)發(fā)平面和支持系統(tǒng)數(shù)據(jù)交互平面。本文通過功能需求分析,設計與實現(xiàn)基于三層體系架構(gòu)下虛擬路由器管控平面的系統(tǒng)架構(gòu)和實現(xiàn)機制,研究獲取實現(xiàn)管控平面功能的最佳方案,結(jié)合架構(gòu)技術(shù)和相關(guān)的軟件系統(tǒng)分模塊,實現(xiàn)管控平面功能。最后,通過相關(guān)的功能測試驗證了本文研究和實現(xiàn)的管控平面架構(gòu)設計可以提供相互隔離的虛擬路由器,實現(xiàn)了與數(shù)據(jù)處理平面信息交互的消息通道,滿足了可編程虛擬化路由器對管控平面的需求。

2 系統(tǒng)架構(gòu)設計

2.1 系統(tǒng)的整體架構(gòu)

文獻[16]介紹的PEARL系統(tǒng)提供了可編程虛擬路由器系統(tǒng),此系統(tǒng)分為軟件平臺和硬件平臺2個部分,通過對軟件平臺虛擬化的實例分配獨立的硬件資源來實現(xiàn)多個同步的快速虛擬數(shù)據(jù)接收和轉(zhuǎn)發(fā)平面,并設計實現(xiàn)數(shù)據(jù)包處理板卡來對系統(tǒng)接收到的數(shù)據(jù)包進行高效處理,從而滿足了靈活性、隔離性和高性能的有效結(jié)合。

在此基礎(chǔ)上,本文介紹的虛擬路由器系統(tǒng)通過軟件結(jié)合設備硬件來實現(xiàn),將系統(tǒng)分為3個主要部分:管控平面,數(shù)據(jù)交換平面和數(shù)據(jù)處理平面,不同的系統(tǒng)平面運行在不同的物理設備中,保證了系統(tǒng)的隔離性和高效性,一方面提供高效且相互隔離的數(shù)據(jù)轉(zhuǎn)發(fā)通道,另一方面保證虛擬化所帶來的開銷不會影響數(shù)據(jù)包的處理。其中,管控平面提供了虛擬設備與物理設備配置管理和相關(guān)網(wǎng)絡信息更新監(jiān)控的功能,數(shù)據(jù)交換平面為管控平面和數(shù)據(jù)處理平面提供了相互隔離數(shù)據(jù)交換通道,數(shù)據(jù)處理平面提供了數(shù)據(jù)包接收、處理和發(fā)送和路由的計算和路由表等信息的維護功能。

管控平面架構(gòu)見圖1。

圖1 管控平面架構(gòu)

管控平面上維護多個虛擬路由器實例的運行是整個系統(tǒng)的功能核心,它不僅是整個虛擬路由器系統(tǒng)的信息管理中心,為保證其他2個平面的正常運行提供了所需的信息,而且為整個虛擬路由器系統(tǒng)的各個功能平面的系統(tǒng)提供了信息交換通道。將數(shù)據(jù)包的處理放入數(shù)據(jù)處理層進行實現(xiàn),不僅能提高各個功能平面的信息交互速率,而且在保證虛擬路由器信息管理功能的提前下實現(xiàn)了數(shù)據(jù)包的高效處理和轉(zhuǎn)發(fā)。

為了保證系統(tǒng)具有高性能和可移植性,虛擬路由器管控平面基于Linux操作系統(tǒng),并結(jié)合相關(guān)的軟件技術(shù)進行開發(fā)。系統(tǒng)利用虛擬化技術(shù)實現(xiàn)虛擬路由器實例的管理,在保證各個實例的性能基礎(chǔ)上,實現(xiàn)實例操作系統(tǒng)的有效隔離,使得各個路由器實例不僅具有其所屬的路由表等網(wǎng)絡信息和硬件設備,而且在運行過程中任何路由器實例狀態(tài)的改變都不會給其他實例造成損壞。路由器的一個重要功能就是對路由表等網(wǎng)絡信息的管理,路由軟件如開源路由軟件包Quagga[17]、可擴展開放路由器平臺XORP等,提供了用戶定制路由管理軟件模塊對路由器的路由協(xié)議等網(wǎng)絡信息進行配置和管理的功能。

因此,管控平面在物理設備的操作系統(tǒng)上部署虛擬化技術(shù),通過shell腳本實現(xiàn)虛擬路由器管理模塊,合理分配物理資源與虛擬路由器實例的映射,保證其高性能和靈活性,為用戶提供了虛擬路由器系統(tǒng)性能配置和管理的平臺。在虛擬路由器的操作系統(tǒng)上部署路由管理軟件和C語言實現(xiàn)了網(wǎng)絡信息管理模塊。管控平面提供了用戶配置虛擬路由器實例的平臺,為每個虛擬路由器實例中的網(wǎng)絡信息的分配和處理提供了信息處理平臺。

2.2 系統(tǒng)實現(xiàn)技術(shù)難點

2.2.1 管理虛擬路由器實例

虛擬路由器管控平面中的虛擬路由器管理功能是運行在宿主操作系統(tǒng)上的模塊,此功能模塊主要提供虛擬路由器的生成、刪除和顯示等實例管理功能。在實現(xiàn)此功能模塊過程中,除了要考慮滿足管控平面功能需求,還應滿足虛擬路由器整個系統(tǒng)靈活性、功能性和擴展性。

管理虛擬路由器實例的主要功能點是在管控平面通過虛擬化技術(shù)實現(xiàn)相互隔離且高效運行的虛擬機,在這些虛擬機系統(tǒng)中部署相關(guān)的路由管理軟件等功能模塊,從而形成虛擬路由器實例。因此,結(jié)合系統(tǒng)功能需求選擇合適的虛擬化技術(shù)和流程處理實現(xiàn)物理設備資源與虛擬實例的分配和映射,是實現(xiàn)管控平面的技術(shù)難點之一。

在系統(tǒng)生成虛擬路由器過程中,管控平面會對保證整個虛擬路由器系統(tǒng)正常運行的數(shù)據(jù)進行管理,部署在虛擬路由器系統(tǒng)中的管理功能模塊按照魯棒性分析對不同的數(shù)據(jù)進行有效的分類和處理。根據(jù)系統(tǒng)需求分析,可得知虛擬路由器的生成流程如圖2所示。在實現(xiàn)虛擬路由器過程中,管控平面除了提供虛擬化技術(shù)外,還需要提供信息處理模塊,實現(xiàn)此流程中信息的處理與交互,如與數(shù)據(jù)處理層進行交互、獲取數(shù)據(jù)處理物理端口信息、與虛擬路由器實例的網(wǎng)絡端口建立映射關(guān)系。

圖2 虛擬路由器生成流程

2.2.2 配置虛擬路由器實例

管控平臺中網(wǎng)絡信息管理模塊提供了用戶自定義配置虛擬路由器實例的功能,使得不同的虛擬路由器可以運行不同的網(wǎng)絡協(xié)議,使其功能與物理路由器相同,如能實現(xiàn)路由表的學習和自動更新。因此,為用戶提供配置虛擬路由器實例是本文系統(tǒng)實現(xiàn)的技術(shù)難點。

在完成系統(tǒng)配置后,不僅要保證虛擬路由器實例處于運行狀態(tài),而且要保證虛擬路由器處于用戶配置的狀態(tài)下提供路由控制管理功能,如路由表的發(fā)送和學習等。因此,根據(jù)系統(tǒng)需求分析,得知虛擬路由器管控平面網(wǎng)絡管理模塊的功能結(jié)構(gòu)如圖3所示。

圖3 網(wǎng)絡管理模塊功能結(jié)構(gòu)

2.2.3 信息管理功能

本文系統(tǒng)平面是基于3層架構(gòu)開發(fā)實現(xiàn)的,作為信息處理中心的管控平面信息來源主要有兩大類:(1)管控平面設備自身信息;(2)數(shù)據(jù)處理設備系統(tǒng)交互的信息。細化信息分類,采用技術(shù)實現(xiàn)功能并優(yōu)化處理過程等信息處理功能是本文系統(tǒng)的難點。

由上文的介紹可以得知,在管控平面中的信息由以下信息組成:管控平面自身信息,虛擬路由器實例配置信息,虛擬路由器提取的網(wǎng)絡信息,與數(shù)據(jù)處理層的信息交互信息,物理網(wǎng)絡端口信息,發(fā)送給數(shù)據(jù)處理設備的網(wǎng)絡信息和接收到的數(shù)據(jù)包。需要結(jié)合物理設備,確定各個設備間的信息交互方式。

3 系統(tǒng)功能模塊實現(xiàn)介紹

3.1 虛擬路由器管理功能

在實現(xiàn)虛擬路由器功能需要結(jié)合系統(tǒng)需求來選擇合適的虛擬化技術(shù),操作系統(tǒng)層虛擬化是基于容器的虛擬化技術(shù)的實現(xiàn),它主要是利用基于主機的操作系統(tǒng)的軟件,以一個操作系統(tǒng)為母體,克隆出多個操作系統(tǒng)。因此,虛擬化實例具有相同的操作系統(tǒng),且虛擬化損耗低。

文獻[18]對現(xiàn)有虛擬化技術(shù)的數(shù)據(jù)轉(zhuǎn)發(fā)性能和實現(xiàn)原理進行了比較,提出了與全虛擬化技術(shù)和準虛擬化技術(shù)相比,操作系統(tǒng)層虛擬化技術(shù)由于其低損耗、易實現(xiàn)、較多的技術(shù)支持和較高的轉(zhuǎn)發(fā)性能而被研究人員作為實現(xiàn)虛擬路由器的主流技術(shù)。

文獻[19]對操作系統(tǒng)層虛擬化技術(shù)OpenVZ和LXC生成的虛擬路由器中虛擬網(wǎng)絡端口的轉(zhuǎn)發(fā)性能進行了對比實驗,得出由Linux內(nèi)核支持的LXC虛擬化技術(shù)具有更高的數(shù)據(jù)轉(zhuǎn)發(fā)性能。

因此,本文選擇了LXC結(jié)合shell腳本來實現(xiàn)管控平面層的虛擬化,并結(jié)合相關(guān)的技術(shù)采取最優(yōu)化方式實現(xiàn)物理資源的合理配置。LXC軟件的重要輸入元素為虛擬路由器的配置文件和母體操作系統(tǒng)文件,LXC通過配置文件來實現(xiàn)虛擬路由器的虛擬網(wǎng)絡端口配置和硬件資源的分配。LXC利用Linux中的namesapce技術(shù)在宿主操作系統(tǒng)上創(chuàng)建了容器,容器中除了運行通過母體操作系統(tǒng)克隆的操作系統(tǒng)外,還保存一組獨立于宿主操作系統(tǒng)的屬于虛擬路由器實例的進程。

在生成虛擬路由器實例的過程中,實例虛擬文件系統(tǒng)的克隆和虛擬路由器網(wǎng)絡連接的建立這2個步驟所花費的時間較多。虛擬路由器管理模塊采用了文件快照技術(shù),通過拷貝母體操作系統(tǒng)并掛載在宿主操作系統(tǒng)硬盤以減少此過程花費的系統(tǒng)運行時間,節(jié)省了系統(tǒng)資源,提高系統(tǒng)的性能。此外,功能模塊采用異步運行模式,將虛擬路由器網(wǎng)絡連接建立功能放入系統(tǒng)后臺中運行,以達到節(jié)省創(chuàng)建網(wǎng)絡連接所帶來的開銷。

經(jīng)實驗操作驗證,在生成一個虛擬路由器的操作中,因為采用方法的改進,至少減少了0.9 s的系統(tǒng)運行時間,再進行大量虛擬路由器的配置,由于此操作可節(jié)省大量網(wǎng)絡配置時間,因此提高了實驗人員搭建網(wǎng)絡環(huán)境的效率。

在用戶執(zhí)行虛擬路由器的刪除、修改等功能時,與虛擬路由器相關(guān)的系統(tǒng)中保存信息也會發(fā)生相應的修改,如VLAN與VID的映射表、運行的虛擬路由器的信息表等。虛擬路由器管理模塊一方面要保證了這些系統(tǒng)信息的更新,另一方面還要將一些相關(guān)信息自動發(fā)送至數(shù)據(jù)處理平面,保證整個虛擬路由器系統(tǒng)信息的同步性。管控平面和數(shù)據(jù)轉(zhuǎn)發(fā)平面使用了socket技術(shù)來實現(xiàn)交互以保證消息同步。

3.2 網(wǎng)絡信息管理

管控平面中網(wǎng)絡信息管理模塊運行于虛擬路由器中,主要利用了C語言、Quagga軟件、Linux以及Netlink技術(shù)來實現(xiàn)。此模塊提供了虛擬路由器進行配置功能和虛擬路由器網(wǎng)絡信息的管理功能。

Quagga是一個開源的路由軟件包,提供了路由協(xié)議的TCP/IP的路由支持服務,實現(xiàn)了OSPF、RIP、BGP等多種網(wǎng)絡協(xié)議,并為用戶根據(jù)自己的需求進行功能定制提供了交互模塊。Quagga中的守護進程名為zebra,會與Linux內(nèi)核進行交換,并將網(wǎng)絡信息保存至系統(tǒng)內(nèi)核中。由于其功能的成熟性和高效性,以及良好的用戶體驗,因此本文設計采用了此軟件來實現(xiàn)虛擬路由器的配置。

由于本文系統(tǒng)使用了LXC虛擬化技術(shù)來生成虛擬實例,對平臺的全部虛擬機進行修改和功能同步時只需對母體操作系統(tǒng)進行相應的修改,因此在實現(xiàn)系統(tǒng)時將此功能模塊安裝在作為母體的操作系統(tǒng)中以提高開發(fā)效率。

系統(tǒng)使用了Linux內(nèi)核提供的以下功能:(1)將鏈路層的協(xié)議數(shù)據(jù)包送交鏈路層協(xié)議棧進行處理(Arp協(xié)議或PPP協(xié)議);(2)將IP層協(xié)議數(shù)據(jù)包送交IP層協(xié)議棧進行處理(包括OSPF、BGP等);(3)完成網(wǎng)絡管理統(tǒng)計。

在通過宿主操作系統(tǒng)訪問進入到特定的虛擬路由器中,用戶可通過Quagga軟件提供的用戶交互模塊實現(xiàn)對虛擬路由器的配置,包括虛擬網(wǎng)絡端口信息和運行的路由協(xié)議。在同一實驗平臺上生成的不同的虛擬路由器可以運行不同網(wǎng)絡,提供了網(wǎng)絡的復雜性和多樣性。在創(chuàng)建完虛擬路由器實例后,用戶可以通過ssh命名和虛擬路由器的控制端口IP對其訪問。

虛擬路由器通過加載Quagga軟件模塊實現(xiàn)網(wǎng)絡協(xié)議的配置功能,本文設計功能模塊通過使用Netlink sockets實現(xiàn)與系統(tǒng)內(nèi)核中網(wǎng)絡信息的交互,獲取并生成操作系統(tǒng)內(nèi)核中保存的路由表等系統(tǒng)所需的網(wǎng)絡信息,并生成此虛擬路由器的路由表和ARP信息表,發(fā)送至數(shù)據(jù)處理平面。并且此功能模塊還提供了路由信息的自動更新功能,當內(nèi)核的網(wǎng)絡信息發(fā)生改變時,系統(tǒng)會同步與之相對應的虛擬路由器的相關(guān)信息,并將修改后的信息自動發(fā)送至虛擬路由器系統(tǒng)中的其他功能模塊中,從而實現(xiàn)了整個虛擬路由器系統(tǒng)網(wǎng)絡信息的同步性。此功能模塊還會接收數(shù)據(jù)處理平面上傳的其不能處理的數(shù)據(jù)包,并對這些數(shù)據(jù)包提供了相應的處理功能,是虛擬路由器的核心功能模塊。

經(jīng)實驗操作驗證,根據(jù)物理設備的硬件配置,本管控平面可以運行200個相互獨立的虛擬路由器,各個虛擬路由器可運行不同的網(wǎng)絡協(xié)議且互不影響,從而能夠搭建不同的虛擬網(wǎng)。虛擬路由器在運行過程中,通過數(shù)據(jù)交換平面提供的數(shù)據(jù)通道與數(shù)據(jù)處理平面實現(xiàn)信息交互功能,達到了管控平面的功能需求。

3.3 信息管理實現(xiàn)

管控平面中需要對大量的交互信息進行分類和處理,不同系統(tǒng)信息發(fā)送經(jīng)由的網(wǎng)絡接口和實現(xiàn)技術(shù)有所不同。管控平面的網(wǎng)絡接口結(jié)構(gòu)如圖4所示。

圖4 管控平面的功能網(wǎng)絡結(jié)構(gòu)

由圖4得知,本文采用了lxc技術(shù)為虛擬路由器提供了2種不同的虛擬網(wǎng)絡端口,在本文中的物理設備具有2個物理設備端口,硬件平面的物理網(wǎng)絡端口通過數(shù)據(jù)交換層與數(shù)據(jù)轉(zhuǎn)發(fā)層的物理網(wǎng)路端口進行交互,管控平面是通過物理網(wǎng)絡端口進行數(shù)據(jù)包的接收和下發(fā)。其中,虛擬路由器通過與macvlan相關(guān)聯(lián)的物理網(wǎng)絡端口將其路由表等網(wǎng)絡信息下發(fā)至數(shù)據(jù)轉(zhuǎn)發(fā)平面和接收由數(shù)據(jù)轉(zhuǎn)發(fā)平面上傳的數(shù)據(jù)包。虛擬路由器通過與bridge相關(guān)聯(lián)的物理網(wǎng)絡端口發(fā)送控制信息至數(shù)據(jù)轉(zhuǎn)發(fā)平面,宿主操作系統(tǒng)可以通過bridge通道訪問虛擬路由器。

圖4顯示一組虛擬網(wǎng)絡端口,每組包含2個veth虛擬網(wǎng)絡端口,并且配有IP。其中一個被包含在宿主操作系統(tǒng)的bridge中,bridge的IP與此網(wǎng)絡端口對在同一網(wǎng)段上,從而實現(xiàn)了宿主操作系統(tǒng)與虛擬實例的網(wǎng)絡連接,為訪問虛擬實例提供了網(wǎng)絡通道,如用戶可通過在宿主操作系統(tǒng)使用ssh命名和虛擬路由器的IP來登錄此虛擬路由器。此類型網(wǎng)絡端口與物理設備中的物理網(wǎng)絡端口B通過網(wǎng)橋相連接實現(xiàn)了與數(shù)據(jù)處理層的數(shù)據(jù)通道,通過利用虛擬路由器的IP和數(shù)據(jù)處理層的管理設備IP建立socket連接實現(xiàn)信息交互,如通過此信息通道發(fā)送虛擬路由器的路由表信息,接收數(shù)據(jù)處理層的數(shù)據(jù)包。

在實現(xiàn)與數(shù)據(jù)處理平面的消息交互時,虛擬路由器需要根據(jù)其操作系統(tǒng)中保存的vlan與vid的映射表、虛擬網(wǎng)絡端口和物理網(wǎng)絡端口映射表來確定數(shù)據(jù)轉(zhuǎn)發(fā)平面和數(shù)據(jù)處理平面的物理設備。虛擬路由器會將路由表等網(wǎng)絡信息和映射表信息通過確定的數(shù)據(jù)轉(zhuǎn)發(fā)平面發(fā)送至數(shù)據(jù)處理平面的物理設備。

虛擬路由器創(chuàng)建的另外一種虛擬網(wǎng)絡端口,是使用macvlan提供的機制實現(xiàn)與物理設備網(wǎng)絡端口存在映射的虛擬網(wǎng)絡端口,其具體數(shù)目由物理設備網(wǎng)路端口確定。此網(wǎng)絡端口與物理網(wǎng)絡端口A通過macvlan技術(shù)實現(xiàn)與數(shù)據(jù)處理層物理網(wǎng)絡端口的數(shù)據(jù)通道。每個虛擬網(wǎng)絡端口由一個系統(tǒng)進程進行管理,并且配有MAC地址和IP,因此,虛擬路由器不需要進行MAC學習區(qū)分不同的虛擬網(wǎng)絡端口。

每個虛擬機內(nèi)部還保存有虛擬網(wǎng)絡端口和物理網(wǎng)絡端口的映射表,并將次映射表轉(zhuǎn)發(fā)至macvlan模塊中,macvlan模塊還包含了數(shù)據(jù)處理平面物理端口信息表。這些映射表為數(shù)據(jù)轉(zhuǎn)發(fā)平面確定接收的數(shù)據(jù)包所屬的虛擬路由器的虛擬網(wǎng)絡端口提供了數(shù)據(jù)依據(jù)。當數(shù)據(jù)包被管控平面物理設備的物理網(wǎng)絡端口A接收到后,會被傳送到具有數(shù)據(jù)分發(fā)的macvlan模塊上, ma cvlan模塊會根據(jù)接收到的數(shù)據(jù)包的包頭相關(guān)信息確定該數(shù)據(jù)包是屬于哪個虛擬路由器的哪一個端口的,然后將該數(shù)據(jù)包直接發(fā)送到對應的虛擬路由器的接收端口。

管控平面中宿主操作系統(tǒng)除了與虛擬路由器實例進行交換外,還需要與數(shù)據(jù)處理層的物理設備進行信息交互和消息同步。在用戶初始化系統(tǒng)時,需要獲取數(shù)據(jù)處理物理設備IP信息,通過物理網(wǎng)絡端口B與此物理設備建立socket連接,獲取數(shù)據(jù)處理網(wǎng)絡端口信息。

3.4 擴展功能

虛擬路由器管控平面主要是使用軟件技術(shù)實現(xiàn)的,按照由整體到部分的原則進行平面的設計,并實現(xiàn)各個功能模塊間的數(shù)據(jù)隔離和交互,不會對設備硬件有特殊的要求,使得管控平面具有較高的魯棒性和可移植性。

管控平面中的功能擴展模塊在保證系統(tǒng)前期開發(fā)性能的基礎(chǔ)上為虛擬路由器系統(tǒng)后期開發(fā)功能的維護和開發(fā)提供了實現(xiàn)平臺,用戶根據(jù)需求對虛擬路由器管控平面進行功能添加的操作,不會對系統(tǒng)原有的功能模塊造成損壞。如可增加可編程功能模塊,用戶通過模塊提供的接口在虛擬路由器上加載實現(xiàn)新的網(wǎng)絡協(xié)議,并構(gòu)建網(wǎng)絡環(huán)境對用戶編制的網(wǎng)絡協(xié)議進行實驗檢測。

4 結(jié)束語

未來網(wǎng)絡的發(fā)展迫切需要新的網(wǎng)絡結(jié)構(gòu)平臺的建立和發(fā)展,本文分析可擴展路由器的研究現(xiàn)狀,討論虛擬網(wǎng)絡平臺的應用背景和需求功能,以及實現(xiàn)虛擬路由器管控平面的關(guān)鍵技術(shù)和挑戰(zhàn),研究管控平面的設計架構(gòu)、功能模塊及關(guān)鍵技術(shù),實現(xiàn)一種虛擬路由器系統(tǒng)中管控平面的技術(shù)方案,即虛擬路由器的隔離性和相關(guān)系統(tǒng)信息的管控,該虛擬路由器系統(tǒng)由管控平面、數(shù)據(jù)交換平面和數(shù)據(jù)轉(zhuǎn)發(fā)平面3個部分組成。管控平面可行性實現(xiàn)的設計是本文要解決的關(guān)鍵問題,根據(jù)管控平面的功能分析得出相關(guān)的系統(tǒng)設計架構(gòu),并按照由整體到部分的分析方法選擇實現(xiàn)管控平面功能的關(guān)鍵技術(shù)。

在保證管控平面功能和性能的基礎(chǔ)上,管控平面還提供了可擴展功能模塊,為虛擬路由器管控系統(tǒng)的后期設計開發(fā)和功能完善提供了擴展基礎(chǔ)。本文通過系統(tǒng)功能測試實驗證明,該設計能夠?qū)崿F(xiàn)虛擬路由器管控平面的功能需求。系統(tǒng)前期的功能開發(fā)實現(xiàn)了虛擬路由器管控平面的基本功能,后期還需要根據(jù)虛擬路由器系統(tǒng)的功能改善和需求增加,對管控平面的功能進一步地完善,實現(xiàn)平面的可編程性。

[1] Bavier A, Feamster N, Huang M, et al. In VI NI Veritas: Realistic and Co ntrolled Network Experimentation[C]//Proc. of Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications. Pisa, Italy: ACM Press, 2006: 3-14.

[2] Kohler E, Morris R, Chen Benjie, et al. The Click Modular Router[J]. ACM T ransactions o n Computer Systems, 2000, 18(3): 263-297.

[3] Handley M, Hodson O, Kohler E. XORP:An Open Platform for Net work Research[J]. AC M SI GCOMM Com puter Communication Review, 2003, 33(1): 53-57.

[4] Bourguiba M, Haddadou K, Pujolle G. Evaluating Xen-based Virtual Routers Performance[J]. International Journal of Communication Networks and Distributed Systems, 2011, 6(3): 268-282.

[5] Kivity A. K ernel V irtual Machine[EB/OL]. [2013-05-15].http://www.linux-kvm.org.

[6] Kolyshkin K. OpenVZ Containers Virtualization Open Source Project[EB/OL]. [2013-05-15]. http://wiki.openvz.org/MainPage.

[7] Graber S. LXC Linux Con tainers[EB/OL]. [2013-05-15]. https://linuxcontainers.org/.

[8] Soltesz S, P?tzl H, Fiuczynski M E, et al. Container-based Operating System Virtualization: A Scalable, Highperformance Alternative to H ypervisors[C]//Proc. of the 2nd ACM SIGOPS/EuroSys Europe an Conference on Computer Systems. New York, USA: ACM Press, 2007: 275-287.

[9] 黃萬偉, 曲 晶, 鄔鈞霆, 等. 面向功能進化的可重構(gòu)路由器體系結(jié)構(gòu)研究[J]. 計算機科學, 2010, 37(3): 253-255.

[10] 劉 強, 汪斌強, 劉海成. 基于可重構(gòu)路由器裝配的構(gòu)件候選集生成方法研究[J]. 電子與信息學報, 2010, 32(8): 1980- 1985.

[11] 龔正虎, 傅 彬, 盧澤新. 軟件集群路由器體系結(jié)構(gòu)的研究[J]. 國防科技大學學報, 2006, 28(3): 40-43.

[12] 張曉哲, 盧錫城, 朱培棟, 等. 一種集群路由器轉(zhuǎn)發(fā)表同步框架及關(guān)鍵算法[J]. 軟件學報, 2006, 17(3): 445-453.

[13] Schwebel R, Zachos A, Gr unwald L, et a l. O penrouter[EB/OL]. [2013-05-15]. http://www.open-router.org/.

[14] 張小平, 劉振華, 趙有健, 等. 可擴展路由器[J]. 軟件學報, 2008, 19(6): 1452-1464.

[15] Feng Tao, Jun Bi, Hu Hongyu. Open Router OpenFlow Extension a nd Implementation Based on a Commercial Router[C]//Proc. of IEEE ICNP’11. Vancouver, Canada: IEEE Press, 2011: 141-142.

[16] Xie Gaogang, He Peng, Guan Hongtao, et al. P EARL: A Programmable Virtual Router Platform[J]. IEE E Communications Magazine, 2011, 49(7): 71-77.

[17] Ishiguro K. Quagga Routin g Suite[EB/OL]. [2013-05-15]. http://www.nongnu.org/quagga/.

[18] 賀 鵬, 楊建華, 張建華, 等. 虛擬軟件路由器數(shù)據(jù)包轉(zhuǎn)發(fā)性能實驗研究[J]. 信息技術(shù)快報, 2010, 8(6): 59-69.

[19] Rathore M S, Hidell M, Sjodin P. Performance Evaluation of Open Virtual Routers[C]//Proc. of GL OBECOM Workshops. Miami, USA: IEEE Press, 2010: 288-293.

編輯 任吉慧

Design and Implementation of Management and Control Plane for Virtual Router

LI Kun-li1,2, ZHANG Da-fang1, GUAN Hong-tao2, XIE Gao-gang2

(1. College of Information Science and Engineering, Hunan University, Changsha 410082, China; 2. Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China)

In order to adapt to the development of the demand for future network, the researchers pay urgent attention to the next generation network architecture. As the core equipment of the virt ual network platform construction, which is one type of future network architectures, the design and implementation of the virtual router sy stem is the resear ch hot spot. This paper presents a management and control plane for virtual router. It introduces the design and implementation of virtual router control plan, analysis functional modules and key technology. The paper makes solution which combines container-based virtualization technology, C langua ge, shell script, Ne tlink protocol, Quagga routing management software and other technology to realize the plane in the Linux operation environment. System test results show that the control plane can allocate physical device resources effectively, and isolate virtual router generation and management efficiently, manage network information and realize the interaction with the forwarding plane. Based on high performance, system design makes the control level of system flexibility, portability and extensibility.

router; management and control plane; container; virtualization technology; routing management software; Netlink protocol

10.3969/j.issn.1000-3428.2014.05.020

中國科學院戰(zhàn)略性先導科技基金資助項目(XDA06010303)。

李坤麗(1987-),女,碩士研究生,主研方向:虛擬路由器,未來網(wǎng)絡;張大方,教授;關(guān)洪濤,副研究員、博士;謝高崗,研究員、博士。

2013-04-15

2013-05-22E-mail:likunli1987@163.com

1000-3428(2014)05-0094-05

A

TP391

·安全技術(shù)·

猜你喜歡
功能信息系統(tǒng)
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關(guān)于非首都功能疏解的幾點思考
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 亚洲日韩精品欧美中文字幕| 亚洲男人天堂久久| 亚洲无码视频喷水| 欧美视频二区| 暴力调教一区二区三区| 国产精品无码AV片在线观看播放| 欧美日韩资源| 999精品在线视频| 免费国产不卡午夜福在线观看| 91在线无码精品秘九色APP| 国产凹凸视频在线观看| 1024你懂的国产精品| 欧美激情视频一区| 亚洲人成在线精品| 亚洲天堂久久久| 亚洲欧美色中文字幕| JIZZ亚洲国产| 91精品国产自产91精品资源| 国产婬乱a一级毛片多女| 六月婷婷综合| 中日韩一区二区三区中文免费视频 | 亚洲色中色| 婷婷丁香色| 亚洲福利片无码最新在线播放| 亚洲天堂视频网站| 内射人妻无码色AV天堂| 亚洲综合经典在线一区二区| 人妻中文字幕无码久久一区| 欧美.成人.综合在线| 日韩在线欧美在线| 成人在线不卡| 国产美女丝袜高潮| 噜噜噜综合亚洲| 一级毛片在线播放免费| 欧美日韩资源| 亚洲日本中文字幕乱码中文 | 最近最新中文字幕在线第一页| 成人午夜天| 日韩精品无码不卡无码| 91po国产在线精品免费观看| 久久影院一区二区h| 亚洲天堂网2014| 色播五月婷婷| 人妻丝袜无码视频| 午夜a视频| 亚洲色欲色欲www在线观看| 亚洲欧美另类中文字幕| 久久久精品无码一区二区三区| 四虎成人精品在永久免费| 精品伊人久久久久7777人| 人人爽人人爽人人片| 亚洲欧美精品一中文字幕| 欧美色图第一页| 久久久精品无码一二三区| 尤物视频一区| 亚洲系列无码专区偷窥无码| 2020精品极品国产色在线观看| 免费A级毛片无码免费视频| 国产亚洲视频中文字幕视频| 97se亚洲综合在线天天| 久草网视频在线| 国产午夜在线观看视频| 欧美成在线视频| 日韩av无码DVD| 久久国产精品无码hdav| 中文字幕无码电影| 免费无码AV片在线观看国产| 国产对白刺激真实精品91| 日韩无码白| 久久婷婷国产综合尤物精品| 免费又爽又刺激高潮网址 | 2020国产精品视频| 国产乱子伦一区二区=| 国产毛片基地| 九色视频一区| 丁香六月激情综合| 亚洲欧美日韩成人在线| 高清精品美女在线播放| 色丁丁毛片在线观看| 内射人妻无套中出无码| 国产一区二区三区夜色| 青青久久91|