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

基于Vmware的路由器主控單元功能虛擬化

2016-10-10 11:41:25黎文偉
光通信研究 2016年2期
關鍵詞:功能

黎文偉,吉 萌,戴 非

(1.武漢郵電科學研究院,武漢 430074; 2.武漢烽火網絡有限責任公司,武漢 430074;3.江西師范大學,南昌 330022)

基于Vmware的路由器主控單元功能虛擬化

黎文偉1,2,吉 萌1,2,戴 非3

(1.武漢郵電科學研究院,武漢 430074; 2.武漢烽火網絡有限責任公司,武漢 430074;3.江西師范大學,南昌 330022)

虛擬化是在通用服務器平臺上實現路由器主控單元功能的主要方法之一,虛擬化的實現首先要解決路由器代碼的移植。基于x86服務器和通用操作系統的純軟件虛擬化開發,可以利用英特爾在處理器和虛擬化領域的技術積累,獲得在網絡功能虛擬化領域的競爭優勢。高端路由器主控單元的基礎是收發數據包及相應的處理功能,移植的重點在于網卡驅動。文章分析了如何實現高端路由器主控單元代碼運行在虛擬化平臺上,并就調試程序過程中可能出現的技術問題做了深入的探討。

路由器;虛擬化;網絡功能虛擬化;軟件定義網絡

0 引 言

通信技術的發展和工業4.0時代的到來,讓物聯網、云計算從概念變為現實。電信運營商不斷地進行硬件升級來滿足數據流量的增長,成本高且部署網絡設備周期長。而NFV(網絡功能虛擬化)不僅降低了運營商的硬件采購成本,使組網更靈活,而且與SDN(軟件定義網絡)、云計算等前沿技術密切相關。其中基于x86架構的虛擬化技術是實現NFV的重要途徑[1]。虛擬化技術的實現面臨的挑戰是路由器代碼在虛擬環境下的移植。使用虛擬化技術后,要兼顧處理器高性能和通用性的矛盾,而解決該問題,可以在集成和軟件層面做優化。

1 技術簡介

1.1技術背景

純軟件虛擬化技術出現較早,之后還進一步出現了處理器級虛擬化和I/O(輸入/輸出)級虛擬化。純軟件虛擬化的主要問題是效率和隔離性。為了解決這個問題,市場上出現了OS(操作系統)虛擬化和完全虛擬化方法,但不管何種方法,都因為Hypervisor(虛擬機監視器)的參與而降低了處理器性能。目前Intel開發的VT-d(直接I/O訪問的虛擬化技術),不僅成功解決了上述問題,還在I/O設備中增加了虛擬化性能[2-3]。Intel在處理器和I/O級的虛擬化工作,緩解了純軟件虛擬化所固有的效率和隔離性問題,為純軟件虛擬化應用提供了支撐。

Intel至強系列芯片廣泛應用于服務器等領域。至強系列處理器的多核架構提高了虛擬化多任務環境的程序執行效率。路由器硬件組成包括主控卡、線卡和多核卡等,其中主控卡主要實現協議包的處理,轉發主要由線卡完成。主控要實現一些基本的協議功能,例如BGP(邊界網關協議)、OSPF(開放式最短路徑優先)和RIP(路由信息協議)等。路由器主控功能虛擬化,可以為SDN和云計算等前沿網絡技術的實現做支撐。

1.2技術框架

本文采用純軟件虛擬化方案,其虛擬化技術的實現不依賴于硬件,可以先在普通計算機上實現虛擬化,再拷入服務器板卡[4],整體技術框架如圖1所示。

圖1 路由器主控卡虛擬化實現方案

服務器板卡背板接口接收到其他線卡或者網絡設備的報文后,VxWorks虛擬機判斷該報文是協議包還是普通數據包,如果是協議包,則上傳到CPU(中央處理器)進行協議棧處理,比如路由信息計算等,再交由相應端口進行轉發;如果是普通數據包,則直接轉發給外接交換機。虛擬主控卡要保證透明傳輸和高效率。外接交換機可以為普通交換機,利用其線速轉發效率來彌補主控轉發性能的不足;也可以為Openflow交換機,利用Windows系統內的java控制器來控制Openflow交換機流表的產生與轉發,進而應用到SDN和云計算等嵌入式領域中。因而,路由器主控功能的虛擬化主要在于收發包功能的實現,至于上層協議棧和Openflow交互信息的控制方面,可以根據邏輯需要來配置和修改。而收發包功能主要涉及到虛擬網卡驅動的編譯以及與協議棧和集成代碼的聯調問題。

本文采用tornado for Pentium的x86環境替代高端路由器編譯環境tornado for ppc。該軟件自帶ln97xEnd.c,在tornado中編譯boot,然后在Vmware中啟動,即建立了基本的開發環境。

2 高端路由器主控虛擬化設計

2.1BSP(板級支持包)配置與空鏡像加載

VxWorks鏡像在BSP中的啟動順序為:romInit()-romStart()-sysInit()-usrInit()-usrRoot()。高端路由器主控卡的驅動代碼主要在網卡加載時,即usrconfig.c文件中的usrRoot()函數執行過程中會出現問題,因此在編譯lnPci網卡驅動前,要對BSP文件做修改,例如 argetconfigpcPentium下的config.h和sysLn97xEnd.c文件,用來設置FTP(文件傳輸協議)下載的IP(網際協議)地址和指定網卡驅動程序,包含PC_CONSOLE。在tornado里編譯一個空鏡像VxWorks image,運行在Vmware中,ping通VxWorks系統后,再進行網卡功能移植。

2.2對應網絡模塊的修改

路由器的代碼一般基于嵌入式系統生成,通常使用專用CPU(如power pc),目標文件生成一般在該環境下進行;與驅動和網絡相關的libnet.a、libdrv.a需要在Pentium環境下重新編譯。與調試相關的libwdb.a也需要修改。分析ppc和Pentium 的tornado目錄自帶文件,可以看到targeth和targetsrcdrv下有很多文件不同,這會影響驅動設備end device的加載。移植過程中必須盡量使用路由器內的文件,例如muxlib.c、ipproto.c、end.h和netbuflib.c等。

2.3虛擬網卡編譯過程

VxWorks網絡框架如圖2所示。END(增強型網絡驅動)包括BSP和驅動部分。

圖2 VxWorks網絡框架

系統啟動后,任務tUsrRoot()初始化網絡,函數調用關系為usrRoot()調用usrNetInit(),在usr-NetInit()中調用sockLibAdd(),sockLibAdd()調用bsdSockLibInit(),usrNetInit()也調用muxDev-Load()和ipAttach()。函數muxDevLoad()中,通過參數initstring兩次調用ln97xEndLoad()函數,第一次返回設備名稱,避免重復加載,第二次裝載網卡參數,初始化ln97xDevice和end_object結構體。

應用程序通過MUX接口實現與驅動層接口函數的信息交互,在VxWorks虛擬機里可觀察MUX接口是否被正確創建。在shell中輸入muxShow命令,可以查看創建的MUX接口信息,包括設備名lnPci、設備unit號、END_OBJ參數值和網卡描述信息等,驗證底層網卡驅動是否被正確加載。虛擬網卡通過muxBind()函數綁定TCP/IP(傳輸控制協議/網際協議)棧[5],確認虛擬網卡Attached上TCP/IP后,程序進入協議驅動程序層。該層實現socket接口的協議初始化。

在協議驅動程序層,主要實現相關協議棧的函數調用和初始化工作。當協議層通過接口隊列調用驅動層的函數來啟動輸出時,驅動接口層產生硬件中斷,并且產生協議隊列送協議層處理,這時協議層產生軟件中斷,與協議層有關的協議如TCP、UDP(用戶數據報協議)、IP、ICMP(Internet控制報文協議)和IGMP(Internet組管理協議)等做進一步封裝,并通過socket隊列傳送給socket層,進而實現系統調用。協議棧初始化功能由函數usrNetProtoInit()實現,該函數由tornado組件自帶,但有些tornado for Pentium版本中并不會帶有函數usr-NetProtoInit()里所有函數的初始化代碼,這時可將tornado for PPC下的協議棧代碼移植進該版本,實現網絡協議棧的正常初始化。

協議棧初始化函數移植完畢后,輸入ifAddrSet命令設置網卡IP地址,可用ifShow命令觀察網卡地址信息以及收發包情況。在VxWorks虛擬機中設置網卡帶外IP地址,如果能ping通VxWorks系統,證明網卡驅動程序已正常加載,然后調試socket接口,設置一個簡單的服務器和客戶端通信socket函數,實現虛擬網卡收發包功能。虛擬化調試平臺即搭建完成。

2.4可能出現的問題和解決辦法

路由器主控代碼移植到虛擬環境下運行時,因tornado環境的不同,可能缺少在虛擬化環境下運行時所需的相關參數初始化工作,進而會經常出現“PageFault”錯誤。具體原因是指針返回錯誤,例如結構體指針返回空值,導致該指針訪問成員時出錯。解決辦法是理順函數調用順序,避免錯調或者漏調的情況。例如ln97xEnd.c中的ln97xEndLoad函數,該函數實現驅動和設備參數的初始化,會調用END_OBJ_INIT和END_MIB_INIT函數,這兩個函數實現end.h中end_bject結構體初始化和mib-II結構體初始化,如果錯調,那么在muxlib.c的muxdevload函數調用pNew→pFuncTable→ioctl時會出現PageFault錯誤。

在ipproto.c中調用ipAttach函數時,也可能出現PageFault,原因是一些函數沒有被調用,例如mbinit等。在ipAttach函數中,會調用muxbind綁定TCP/IP到lnPci設備上。網卡設備Attached之后,說明muxbind綁定生效,此時可以設置網卡IP地址,調用socket接口。這時有可能出現無法成功設置IP地址的情況,原因是一些協議棧函數沒有被初始化,可移植網絡協議棧usrNetProtoInit()中的相關函數,在相關BSP文件中做修改。

Tornado版本不同且缺少某些組件時,網絡初始化順序也會不同。為了支持上層協議棧,移植時不能缺少原組件的功能。END增加了if模塊,實現MUX功能,也可以根據驅動開發需要,繞過MUX,實現上層應用程序與驅動接口直接通信。同時需注意處理器的大小端模式,PPC(一種精簡指令集架構)的處理器是大端模式,x86架構的Pentium處理器是小端模式。

3 高端路由器主控虛擬化的實現與評測

3.1主控虛擬化實現

在驅動和socket接口調試通過后,需要調試軟件和集成代碼。軟件代碼主要指OSPF、RIP、BGP等協議棧,集成代碼是為實現一些新的平臺功能而增加的部分代碼,此外還有網管代碼,主要實現命令行控制功能。

為了提高純軟件虛擬化的運行效率,可以通過修改軟件和集成代碼來優化虛擬主控的性能。在實際應用中,路由器主控虛擬化常與Openflow交換機結合來實現SDN,并實現與Openflow客戶端流表等信息進行交互。

高端路由器虛擬主控卡在VxWorks虛擬機中的啟動過程如圖3所示。

圖3 高端路由器虛擬主控卡啟動過程

在圖3中,虛擬主控可以在監控態進行版本升級,否則將在文件系統中尋找和加載主控代碼鏡像,最后在大程序中運行,此時是特權態,可以設置帶外IP地址。

調試路由器協議棧代碼,用服務器的背板接口連接普通交換機或者Openflow交換機、思博倫儀表及普通電腦,在儀表中設置二層和三層報文進行流量發包測試。在VxWorks虛擬機中設置帶外口,連接Secure CRT軟件,輸入相關命令行,觀察MAC表和路由表的建立信息、協議包的接收和轉發情況。此時,高端路由器主控虛擬化的基本工作已實現,后續如需添加新的協議與功能,可以進一步修改軟件和集成代碼以適應新的虛擬化需求。

3.2主控虛擬化評測

高端路由器主控虛擬化的評測主要針對主控轉發數據包性能和路由協議功能的實現。虛擬主控可以與外接普通交換機或者Openflow交換機進行通信,通過思博倫儀表進行二層和三層包打流測試來測評其數據包的轉發性能。

虛擬主控主要功能是完成協議包的處理,包括OSPF、RIP、BGP等協議包。圖4所示為服務器虛擬主控多區域OSPF測試拓撲。

圖4 服務器虛擬主控多區域OSPF測試拓撲

圖中服務器虛擬主控、路由器1和路由器2的OSPF主要配置命令分別如下:

其中,router ospf命令用于啟動和配置IPv4的OSPF協議,數字1為默認進程號,network命令用于宣告參與OSPF協議的路由接口,area 0代表OSPF路由接口的主干區域,設置其他區域并將其連接到主干區域,例如area 1。在服務器的虛擬主控環境下,配置完上述命令后,可以在該虛擬主控環境下輸入命令show ip ospf neighbor,查看此時虛擬主控建立的ospf鄰居信息。

其他協議包的測試也可以借鑒常規路由器主控卡功能的測試步驟。測試完成后,將數據與常規路由器主控測試結果進行對比,以對虛擬主控功能進行改進。

4 結束語

基于Vmware平臺下的x86虛擬化開發,可以有效利用服務器硬件資源,包括高性能至強系列Intel處理器等,減少網絡設備開發周期和運營商網絡設施運維成本。而高端路由器虛擬主控是虛擬路由器的核心組成部分,對主控單元實現虛擬化,可以更靈活地實現主流路由協議包的處理和轉發,為SDN和云計算技術的開發與應用提供新的技術支撐。

[1]Wright G R,Stevens W R.TCP/IP IIIustrated Volume2:The Implementation[M].北京:機械工業出版社,2010.

[2]董耀祖,周正偉.基于X86架構的系統虛擬機技術與應用[J].計算機工程,2006,32(13):71-73.

[3]徐惠民.基于VxWorks的嵌入式系統及實驗[M].北京:北京郵電大學出版社,2006.

[4]Kurose James F,Ross Keith W.Computer Networking:A Top-Down Appproach[M].Fourth Edition.北京:機械工業出版社,2008.

[5]楊洪波.高性能網絡虛擬化技術研究[D].上海:上海交通大學,2012.

The Router’s Main Control unit Function Virtualization Based on Vmware

LI Wen-wei1,2,JI Meng1,2,DAI Fei3
(1.Wuhan Research Institute of Post and Telecommunications,Wuhan 430074,China;2.Wuhan FiberHome Networks Co.,Ltd.,Wuhan 430074,China; 3.Jiangxi Normal University,Nanchang 330022,China)

The virtualization of the Router’s Main Control unit function based on the x86platform can provide support for several technologies including virtualization,Software Defined Network(SDN)and cloud computing for further applications.Traditional router code is developed on private network processor.In order to achieve traditional function of a router in a virtualized environment,we recompile the virtual network interface card’s board support package,drive and protocol stacks based on traditional router code.This method realizes the router’s code mirror running normally in Vmware virtual machines based on normal Windows platform.The feasibility is also verified by the sending and receiving packet test.Compared with the traditional method of programmable router virtualization,this method utilizes a pure software virtualization technology and it is based on VxWorks router protocol stack,which shows much better versatility and flexibility.

router;virtualization;NFV;SDN

TN393

A

1005-8788(2016)02-0011-04

10.13756/j.gtxyj.2016.02.004

2015-08-29

黎文偉(1985-),男,湖北大悟人。碩士研究生,主要研究方向為通信與信息系統。

猜你喜歡
功能
拆解復雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基層弄虛作假的“新功能取向”
當代陜西(2021年21期)2022-01-19 02:00:26
深刻理解功能關系
鉗把功能創新實踐應用
關于非首都功能疏解的幾點思考
基于PMC窗口功能實現設備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 国产成人免费| 亚洲国产天堂久久综合| 亚洲三级成人| 青青草久久伊人| 国产精品蜜臀| 美女一区二区在线观看| 亚洲中文字幕无码爆乳| 国产精品私拍在线爆乳| 在线免费不卡视频| 久久亚洲欧美综合| 久久一级电影| 99视频精品在线观看| 国产日产欧美精品| 日本午夜影院| 精品自窥自偷在线看| 在线亚洲小视频| 国内精品久久人妻无码大片高| 亚洲美女一级毛片| 人妻熟妇日韩AV在线播放| 美女无遮挡拍拍拍免费视频| 少妇露出福利视频| 亚洲日韩精品欧美中文字幕 | 亚洲av日韩av制服丝袜| 免费三A级毛片视频| 国内自拍久第一页| 久久国产乱子| 久久综合成人| 制服丝袜无码每日更新| 欧美伦理一区| 亚洲无码视频图片| 国产成人亚洲欧美激情| 欧美午夜性视频| 无遮挡国产高潮视频免费观看| 免费无码AV片在线观看国产| 99久久免费精品特色大片| 四虎免费视频网站| 五月婷婷伊人网| 欧美有码在线| 久久人搡人人玩人妻精品| 日本一区二区三区精品国产| 欧美午夜久久| 在线播放真实国产乱子伦| 日本免费一区视频| 午夜a级毛片| 国产亚洲欧美在线人成aaaa| 久久久久无码精品| 国产va欧美va在线观看| 国产91透明丝袜美腿在线| 在线欧美国产| 成人精品免费视频| 欧美五月婷婷| 欧美不卡二区| 91久久大香线蕉| 114级毛片免费观看| 亚洲天堂精品在线观看| 色首页AV在线| 国产女人18毛片水真多1| 亚洲AV电影不卡在线观看| 97国产精品视频人人做人人爱| 美女被操91视频| 成人精品亚洲| 喷潮白浆直流在线播放| 丁香婷婷综合激情| 中文字幕亚洲精品2页| 99久久精品免费看国产免费软件 | swag国产精品| 亚洲av无码人妻| 91视频首页| 国产精品网址你懂的| 久草网视频在线| 美女高潮全身流白浆福利区| 亚洲美女久久| 亚洲国产精品日韩欧美一区| 呦视频在线一区二区三区| 亚洲色欲色欲www网| 欧美第九页| 国产色婷婷| 亚洲综合婷婷激情| 人妻精品久久久无码区色视| 四虎永久免费地址在线网站| AV天堂资源福利在线观看| 99re热精品视频中文字幕不卡|