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

基于通用寬帶路由器的OpenFlow交換機設計

2016-12-26 08:40:14方鈺權
計算機應用與軟件 2016年11期
關鍵詞:功能

邱 堃 方鈺權 陸 偉 趙 進

1(復旦大學計算機科學技術學院 上海 201203)2(上海文廣互動電視有限公司 上海 200072)3(網絡信息安全審計與監控教育部工程研究中心 上海 201203)

?

基于通用寬帶路由器的OpenFlow交換機設計

邱 堃1,3方鈺權1,3陸 偉2趙 進1,3

1(復旦大學計算機科學技術學院 上海 201203)2(上海文廣互動電視有限公司 上海 200072)3(網絡信息安全審計與監控教育部工程研究中心 上海 201203)

基于OpenFlow協議的軟件定義網絡離不開控制器與OpenFlow交換機。然而,支持OpenFlow協議的交換機異常昂貴且難于獲得。為了方便地獲得支持OpenFlow協議的交換機,介紹一種基于通用寬帶路由器的OpenFlow交換機設計。該設計可以僅用市場上常見的通用寬帶路由器以及開源Linux軟件構建出一款完整支持OpenFlow協議的交換機。實驗結果顯示,該設計以可接受的性能實現現階段OpenFlow協議的所有功能。

軟件定義網絡 OpenFlow 交換機 Open vSwitch Open Wrt 通用寬帶路由器 Linux

0 引 言

全球互聯網自20世紀末進入商用領域以來發展迅速,現在已經成為推動世界發展的力量的一個重要組成部分。隨著移動互聯網、云計算、大數據等新概念的興起,基于下一代網絡的創新活動日益活躍。其中,軟件定義網絡SDN作為下一代網絡的核心理念受到了全球廣泛的關注。

在傳統網絡中,網絡的業務發展依賴于網絡中硬件架構的發展。隨著網絡規模的擴大,網絡內容正在爆炸式的增長。云計算、物聯網、虛擬化等各種新技術不斷產生,改變了網絡業務發展的態勢。然而基于傳統網絡的業務發展模式難以滿足新興網絡應用的發展速度,因此,基于軟件定義網絡的研究變得越來越重要。“軟件正在占領世界,未來網絡與硬件無關。” IT 產業的中心已經從設備制造轉到軟件設計,軟件定義網絡帶來了更大的靈活性與開放性。

誕生于學術界的軟件定義網絡是由美國斯坦福大學 Clean Slate 研究組所提出的。它把傳統的硬件封閉式的網絡轉變成一個開放式的環境,大大提高了網絡的可編程性與可管理性。軟件定義網絡中的核心技術 OpenFlow[1]能夠將數據層與控制層很好地分離,這讓網絡控制者能夠方便地控制自己的數據,使得網絡可以集中控制與部署,從而使得新業務可以快速上線和應用。

OpenFlow[1]網絡由 OpenFlow 交換機與控制器兩部分組成。為了實現數據層與控制層分離, OpenFlow 將原來由交換機與路由器所控制的轉發過程轉化為由 OpenFlow 交換機與控制器共同完成: OpenFlow 交換機進行數據層的轉發;控制器對網絡進行集中控制。因此,控制層與數據層可以實現完全分離。控制器需要事先將OpenFlow 交換機中的數據轉發規則設定好,從而達到控制數據轉發的目的。

現階段,OpenFlow交換機主要由兩種類型組成:一種是硬交換機,即主要使用硬件來處理數據轉發規則。例如HP 5400系列、OpenxNet-5016R、盛科V350等交換機,在這些交換機中使用TCAM或者NetFPGA等硬件設備來保證高速的規則匹配。另外一種則由普通PC機來提供平臺,通過Open vSwitch來完成規則匹配以及數據轉發相關工作。這兩種平臺各有利弊,第一種平臺轉發效率高,但是擴展性差并且價格昂貴; 第二種平臺轉發效率適中,但是擴展性好并且價格適中。但是,無論哪種平臺,其成本都不適合作為小規模實驗用。本文提出了一種在家用簡單路由器上運行的OpenFlow交換機系統,該系統可以在目前常用的通用寬帶路由器上運行,給通用寬帶路由器加上OpenFlow相關特性。

1 OpenFlow交換機的發展

1.1 OpenFlow交換機的發展

網絡交換機是一種計算機網絡設備,這種設備將其他不同的網絡設備連接在一起,并在這些設備之間轉發數據。網絡交換機的功能強于集線器。網絡交換機只會把接收到的數據交換到數據所需要被轉發的網絡端口,而集線器則會把接收到的數據無條件轉發給所有網絡端口。

一般來說,一個網絡交換機有許多個端口,這些端口與CPU一同被橋接在一起,用以提供在OSI模型中的第二層——數據交換功能。交換機內的數據傳輸是異步的。假設有4臺計算機(A、B、C、D)連接上了某個交換機的四個端口,在任何時刻,任何組合都可以同時傳輸:A可以與B交換數據,同時C可以與D交換數據,并且兩者之間互不干擾。在全雙工模式下,A在發送數據給B的同時,B也可以發送數據給C。

對于現代網絡交換機而言,設備制造商通過擴展設備內不同的模塊可以實現對不同網絡類型的支持:以太網、光纖、ATM等。除了可以工作在OSI模型的第二層,還可以工作在OSI模型的第三層,可以工作在第三層的交換機一般被稱作路由器。為了保證網絡交換機的性能以及安全性,某些設備制造商會在網絡交換機中提供例如防火墻、網絡行為監測以及性能分析等工具。

網絡交換機中最為核心的部分是交換機芯片。在早期,規則匹配以及網絡交換行為是在OSI模型的第二層中實現的,因此在早期的交換芯片中只包含第二層協議(簡稱MAC層)相關的處理機制。為了能夠傳輸數據,還需要一套OSI模型第一層(物理層)處理芯片(簡稱PHY)來將網絡數據與物理層信號進行互相轉換,使得通信得以正常進行。隨著大規模集成電路的廣泛應用,現在已經出現了將OSI第一層處理物理信號的芯片與第二層處理網絡數據的芯片集成在一起的交換機芯片。目前低速網絡設備已經大量使用這種芯片,而高速網絡設備依舊需要專有的物理層處理芯片。現有的交換機芯片主要由Broadcom、Realtek以及VIA公司提供。Broadcaom公司作為數據通信行業的領導者,較早推出將MAC層與PHY層集成在一顆芯片上的解決方案。根據處理能力以及市場定位的不同,Broadcom公司推出了幾款不同的商用交換機芯片方案:

1) 較為低端的BCM5312+BCM5248U+B5011A方案。其中,BCM5312為第二層(MAC層)數據處理芯片,內部可以存儲4K個MAC地址。BCM5248U是一個8口百兆PHY,BCM5011A則是一個千兆PHY。整個產品的交換能力可以達到8.8 Gbps。

2) 中、高端的產品使用的BCM5380芯片。這顆芯片中集成了一個8口百兆PHY與一個千兆PHY。若整個交換機使用3顆BCM5380芯片則可以組成一個24口百兆+6口千兆的產品。BCM5380芯片集成了一個12 MB的緩存用以數據包的轉發,整個產品可以達到16.8 Gbps的交換能力。

3) 集成度更高的產品使用BCM5324芯片,集成了24口百兆PHY的交換機芯片,集成度更高并且性能更好。BCM5324芯片集成了4 MB緩存用于數據包的存儲轉發。

然而,無論是Broadcom或者Realtek或者其他芯片公司,他們的產品參數大同小異,但是在產品功能細化上卻有著較大的差異。無論如何,目前主流網絡交換機主要功能還是由第二層網絡芯片與第一層物理交換芯片組成。

1.2 OpenFlow交換機

OpenFlow交換機是一種在軟件定義網絡中使用的交換機設備,這種設備基于OpenFlow協議或與之兼容。

在傳統的網絡交換機中,數據轉發(數據平面)與路由、防火墻(控制平面)等功能是在同一個設備當中。在軟件定義網絡中,數據平面與控制平面從同一個設備當中分離出來,數據平面仍然在交換機內部實現,但是控制平面則會獨立由OpenFlow控制器進行控制。OpenFlow控制器可以實現高級別的交換機行為控制。OpenFlow交換機與OpenFlow控制器通過OpenFlow協議進行信息交互。

與傳統的網絡交換機不同,OpenFlow交換機必須遵守OpenFlow協議[3]。OpenFlow協議規范中規定,OpenFlow交換機需要支持如表1所示的表項以及流表。

表1 OpenFlow表項內容

一個 OpenFlow 流表由大量 OpenFlow 表項所組成。每一個表項包括:

1) 匹配項;

2) 優先級;

3) 計數器;

4) 操作指令;

5) 超時;

6) Cookie。

每一個表項包括匹配項與優先級,匹配項與優先級可以唯一地定義流表中的表項。若匹配項中所有項都是任意可取,則這樣的表項的優先級永遠是 0,并且這個表項被叫做失敗匹配項。

數據包能否被匹配取決于數據包中的匹配項是否能夠被流表項中的匹配項所匹配。如果表項中的匹配項中有值是“ANY”(忽略該項),那么數據包中該匹配項在匹配時會被忽略。如果交換機的特性支持精確匹配,那么交換機可以對輸入流進行更精確的匹配(例如 IP 地址前綴查找匹配、MAC地址前綴查找匹配)。如果數據包可以被多個流表中的表項匹配,那么只有優先級別最高的表項可以被選擇。當流表中的表項被匹配,對應表項的計數器會被更新,表項所對應的命令指令會被執行。如果有復數個優先級別相同的的表項被匹配, OpenFlow 對于這類操作是未定義的。在 OpenFlow Specification 1.3 中,定義了最新的 OpenFlow 匹配項的內容。這些匹配項一共有 40多個,不過交換機并不需要實現所有 40 多個匹配項的匹配功能。控制器可以通過查詢交換機來得知交換機支持哪些匹配項目。

由上文可知,OpenFlow交換機的設計與傳統二層交換機區別甚大,因此OpenFlow交換機的交換芯片需要重新進行設計。Specification 1.3中提出,由OpenFlow標準規定,流表中的字段可以自由組合進行流表查找。在現在的芯片設計中,能夠實現這種需求的只有TCAM芯片。TCAM芯片是一種三態內容尋址存儲器,其設計的目的是快速查找訪問控制列表、路由表等表項。TCAM中每個比特位可以有三種狀態:’0’、‘1’和‘don’t care’。第三種狀態的存在使得TCAM既可以精確匹配也可以模糊查找。雖然TCAM有這么多的優點,但是TCAM的成本非常高,其存儲空間的價格遠遠高于一般的SRAM,而且功耗也高于SRAM,占用芯片面積大。一條TCAM表項相當于五六條DRAM表項,幾十千比特的流表至少需要20 Mbit的TCAM,遠超目前市場上最大交換芯片的TCAM大小。

除了TCAM芯片,目前被用來作為OpenFlow交換機芯片的還有NetFPGA以及網絡處理器NP。NetFPGA與NP一樣,均是具有非常強大的可編程能力的芯片。這些芯片被用來作為OpenFlow交換機芯片的好處在于,設備商可以非常方便地對芯片的功能進行更改。Stanford大學在研究OpenFlow的初期,就是使用基于FPGA開發的NetFPGA可編程平臺。在文獻[2]中,使用NetFPGA實現的OpenFlow交換機,當包大小為64 bytes時,速度可以達到61 Kflows/s,在文獻[4,9]中,使用NP實現的OpenFlow交換機也有不錯的性能。然而,使用NP或者NetFPGA來實現OpenFlow交換機,在成本上與容量上都有著弊端。而且對于成品交換機來說,NP和NetFPGA的可編程性并沒有特別大意義,即對于用戶來說,內部芯片是否可編程不會影響到OpenFlow交換機的功能。因此,使用NP以及NetFPGA來設計OpenFlow交換機更多的意義在于實現OpenFlow交換機功能的原型,或者作為商業OpenFlow交換機的補充。

ONF組織(開放網絡組織)意識到為OpenFlow交換機重新設計芯片是一件較為困難的事情。因此,ONF在2012年提出了一個叫作TTP(Table Typing Patterns)的方案。TTP的目的在于使用現有的交換機芯片處理邏輯來達到OpenFlow交換機的功能。TTP在2013年重新改名為NDM(Negotiable Data-plane Model)。在傳統的商用交換機處理芯片中與OpenFlow邏輯類似的是ACL表,而NDM希望在保持與控制器接口不變的前提下,使用傳統商用交換機中的路由表、VLAN表、MPLS表等相關表項來實現OpenFlow的功能。雖然無法完全實現OpenFlow的功能,但是在大多數應用下使用這些傳統表項就可以滿足了。在文獻[5]中,作者就使用VLAN來實現部分OpenFlow的功能。

還有一種通過使用軟件來實現OpenFlow交換機的功能,這類交換機有著最好的可調整性與擴展性。通過一臺普通的PC機與一些網卡以及開源軟件就可以搭建出一臺具有OpenFlow功能的交換機。這種交換機在本質上還是一臺PC機,沒有專有的轉發處理模塊,基本上使用多核CPU來進行轉發匹配操作。也有在GPU上進行流表匹配的相關研究[6-8],但是并沒有相應的成品出現。一般使用的開源軟件主要搭配是Linux+Open vSwitch,目前Open vSwitch已經將自身部分整合進入了Linux內核中。

2 通用寬帶路由器及其系統架構

目前,得益于芯片制造工藝與性能的提升,通用寬帶路由器的進入門檻變得越來越低。雖然市面上有著許多種通用寬帶路由器,但是根據它們所使用的芯片方案可以簡單地將其進行分類。目前,占據通用寬帶路由器市場份額前幾名的主要有Atheros、Braodcom以及Ralink等幾家公司所設計的芯片組。

通用寬帶路由器與商用網絡交換機不同,商家根據市場需求,對商用網絡交換機的功能從各個方面進行大幅度縮減,如表2所示。

表2 通用寬帶路由器與商用網絡交換機功能對比

由表2可知,通用寬帶路由器功能比商用網絡交換機少許多,但是在功耗上遠低于商用網絡交換機,并且在價格上也遠比商用交換機便宜。因此,通用寬帶路由器多采用集成度較高的芯片方案,一般將交換機數據處理芯片與交換機芯片集成在一起以減少成本。Artheros官方給出了一套成熟的解決方案:AR9XXX解決方案。這款芯片可以支持32 MB的RAM,并且支持至少4 MB的Flash ROM。AR9XXX系列也有不同的細分產品,如表3所示。

表3 AR9XXX系列路由器芯片

使用AR9XXX系列的設備有許多,常見的有TP-LINK制造的TL-WR941N、TL-WR941ND以及D-LINK的DIR-615和水星的MWR300T+等。同樣,Artheros還給出了更為低端的AR7XXX系列,使用AR7XXX系列的設備主要有TP-LINK制造的TL-WR7XX、TL-WR8XX等許多通用寬帶路由器。

Broadcom公司作為網絡芯片設計的標桿也有許多通用寬帶路由器芯片產品。著名的Cisco無線路由器Linksys WRT54G便使用了Broadcom的brcm47xx系列芯片。brcm47xx系列芯片也有不同細分的產品,如表4所示。

表4 brcm47xx系列路由器芯片

由此可見,brcm47xx系列與AR9XXX系列在不同細分下標準不太相同,brcm47xx通過改變CPU的時鐘頻率來改變芯片性能。

采用Broadcom解決方案的設備主要集中在較為高端的通用寬帶路由器中,如曾經在Cisco旗下的Linksys推出的著名的WRT54G系統就采用了brcm47xx系列芯片。中國電信與中國聯通為普及寬帶向家庭用戶贈送的上海貝爾RG100A-AA以及大亞DB120WG兩款路由器均是采用bcm6358芯片,性能與擴展性都非常優秀。

還有其他路由器如華為HG255D、貝爾金 8235-4 V2采用了Ralink公司的芯片,D-Link的dir 615 rev.A 采用了 Marvell 88E6061。這些芯片在功能上與Atheros和Broadcom公司的芯片大同小異,但是在性能或者穩定性上不如以上兩家公司的芯片,因此價格較為便宜,常用在低端通用寬帶路由器中。

在軟件上,通用寬帶路由器普遍使用兩種操作系統:Linux與VxWorks。由于通用寬帶路由器的主控芯片多為MIPS或者ARM架構,采用開源Linux系統作為通用寬帶路由占了大部分,Linksys的WRT54G早期版本即是使用開源Linux作為其操作系統。由于是開源軟件,所以就有可能對通用寬帶路由器進行系統上的修改以達到添加用戶所需要的功能的目的。

OpenWrt是一個主要在通用寬帶路由器上運行的開源Linux發行版。由于Linksys的WRT54G使用了開源的Linux操作系統,而Linux操作系統是遵守GPL協議的,所以Linksys公司被迫放出WRT54G系統的源代碼,經過開源團體的維護形成了以OpenWrt為代表的在通用寬帶路由器運行的開源Linux發行版。OpenWrt可以通過命令行以及Web頁面的方式對其進行配置,到2015年6月為止,已經有超過3500個左右的軟件包可供安裝,提供了非常強大的可擴展性。OpenWrt支持超過50種不同的芯片,從上文所述的Broadcom、Atheros、Ralink到Intel的X86與X86-64都有支持。TP-LINK的TL-8XX系列、Linksys的WRT54G系列等均被成功移植OpenWrt系統。OpenWrt可以讓通用寬帶路由器擴展出更多功能,如文件服務器(FTP)、P2P下載服務器等功能。由于OpenWrt是一個開源的Linux發行版本,大部份Linux應用程序均可以工作在OpenWrt上,這為通用寬帶路由器的功能擴展帶來了無限的可能性。

3 通用寬帶路由器中添加OpenFlow功能

如上文所述,大部分通用寬帶路由器實質上是一個運行著Linux操作系統的嵌入式系統,因此移植本屬于在PC機上運行的OpenFlow交換機軟件——Open vSwitch到運行著OpenWrt系統的通用寬帶路由器當中即可。

對于大部分通用寬帶路由器來說,如圖1所示, 有兩類芯片控制著交換機的轉發過程。

圖1 通用寬帶路由器中的控制芯片與交換芯片

其中控制芯片與轉發芯片根據公司的不同會有不同的型號與封裝形式。Linksys公司的WRT54G v2.0使用的是bcm4712(控制芯片)+bcm5325(交換芯片)的組合,TP-LINK公司的TL-WR1043ND使用的是AR9132(控制芯片)+RTL8366RB(交換芯片)組合。然而該公司的TL-WR841N v7.0則使用了一個將兩者集成在一個芯片的型號AR7240,雖然兩芯片的物理部分集成在一起,但邏輯部分仍然是分開的。

一般來說,控制芯片都是通用處理器,即可以由運行在其上的Linux操作系統直接進行控制。然而,交換機芯片則不同,根據不同的制造廠家,芯片的操作方式完全不同,這就需要在Linux操作系統上移植相應的交換芯片驅動程序以實現對交換芯片的配置。目前常用的交換芯片驅動都已被移植入OpenWrt操作系統,通過相應的程序可以直接對交換芯片進行功能的控制。有些芯片的驅動程序并不完善(一些功能沒有被成功移植,例如VLAN等),因此還需要根據需求對驅動程序進行相應的修改才能正常工作。

Open vSwitch,有時也簡稱Ovs,是一個高質量的開源虛擬化交換機。Open vSwitch的目的在于提供一個僅使用普通PC硬件組成的網絡交換機。Open vSwitch不僅僅能夠滿足現有交換機的功能,還能夠組建兼容OpenFlow協議的OpenFlow交換機。Open vSwitch不僅可以像一個商用網絡交換機提供不同設備之間的數據交換服務,還可以在單臺計算機中為不同的虛擬機提供虛擬交換機的服務。

在計算機網絡中,網橋的概念與交換機類似。網橋可以在一臺計算機中連接幾個不同的局域網設備,根據程序的設定來轉發數據幀。一般來說,網橋會根據MAC地址來轉發數據幀,這種行為與網絡交換機十分類似。在Open vSwitch中,將需要組成交換機的端口加入Open vSwitch所控制的網橋后再將加入的端口配置成混雜模式即可。當Open vSwitch被配置成OpenFlow交換機模式后,加入該網橋的所有端口就成為了一臺OpenFlow交換機。

然而,如圖2所示,一般來說通用寬帶路由器的控制芯片是無法分辨數據是從交換芯片的哪一個端口送出來的(交換芯片的每一個端口對應一個數據流,數據可能從1口傳送到控制芯片也可能從4口傳送到控制芯片,控制芯片無法分辨是從具體哪個端口傳送的),也無法直接將數據包發送到特定的端口。這是因為在一般的設置下,交換機芯片只有一個端口與控制芯片進行通信,這就造成了控制芯片無法對通用寬帶路由器具體端口進行控制。這是因為通用寬帶路由器的設計目標是簡單的數據交換,并不需要復雜的控制功能。若將通用寬帶路由器添加OpenFlow功能則需要控制芯片可以識別來自不同端口的數據包。

圖2 通用寬帶路由器交換芯片與數據流示意圖

如圖3所示,為了達成這個目的,可以使用VLAN技術對經過不同端口的數據包加標簽,使得控制芯片可以識別數據包是從哪一個端口進入的。VLAN中文名為“虛擬局域網”。VLAN可以將一個交換機中的網絡從邏輯上劃分為不同的幾個網絡,網絡之間互相無干擾,好似一個交換機被分隔成了幾個不同的交換機。VLAN的簡單工作流程如圖4所示。

圖3 使用VLAN技術對數據包加標簽

圖4 VLAN的工作流程

由圖4中可以看出,當數據包經過某個交換機端口時,如果這個端口屬于某個VLAN,則該數據包就會被打上該VLAN的標簽。同時也可以通過設置端口,使得數據包在流出端口時將標簽取消。一般標簽都是一個數字,控制芯片可以根據這個標簽來判斷該數據包屬于哪一個VLAN。具有相同標簽數據包會被交換機認為是一個網段數據包,可以被轉發到屬于該VLAN的端口或被控制芯片所接收,否則會被認為是其他網段的數據包而不予轉發。

圖5 控制芯片依據標簽分辨數據據包進入端口

如圖5所示,為使通用寬帶路由器的控制芯片能夠分辨數據包具體從哪一個端口進入,通過控制交換芯片給每一個端口都分配一個不同的VLAN。這樣數據包在從端口進入的時候就會被打上標簽,控制芯片就可以依據標簽分辨數據包具體是從哪個端口進入。同時還可以通過不同的VLAN屏蔽交換芯片本來的交換功能,將端口的控制權上交給控制芯片。

對于OpenWrt系統來說,只要有相應的交換芯片驅動,swconfig命令便可以簡單地對交換芯片進行控制。當通過swconfig或者其他方式對交換芯片配置好以后,原本在OpenWrt中僅有的兩個端口擴充到了4個或5個端口(根據交換芯片的能力與通用寬帶路由器的配置而定)。就像普通的局域網設備一樣,OpenWrt對這些端口有著完全的控制權。再將這些端口一一加入Open vSwitch的網橋中,由Open vSwitch接管所有端口的控制權。OpenFlow交換機除了數據平面外還需要有控制平面。如圖6所示, 將某一個端口設置為固定IP地址后,在Open vSwitch中設置該IP為該OpenFlow交換機的控制平面IP,再將該端口與OpenFlow控制器相連,OpenFlow控制器便可發現該OpenFlow交換機。

圖6 設定的控制端口接受控制器的控制

4 性能測試與分析

4.1 實驗環境

本實驗由一臺PC機作為控制器,移植了三臺不同的通用寬帶路由器成為OpenFlow交換機。

路由器硬件情況如表5所示。

表5 路由器硬件情況

路由器軟件情況如表6所示。

表6 路由器軟件情況

控制器配置如表7所示。

表7 控制器配置

4.2 關閉交換芯片的MAC地址學習功能

在移植過程中,OpenWrt的驅動不支持關閉某些交換芯片的MAC地址學習功能。主要表現在交換芯片將ARP請求私自處理,導致ARP包無法從端口進入Open vSwitch所構建的網橋。因此在向某些通用寬帶路由器移植OpenFlow功能時,需要首先檢查OpenWrt能否關閉芯片的MAC地址學習功能。如果無法打開混雜模式,則需要通過修改交換芯片的驅動以打開混雜模式。在實驗過程中,水星公司的MW150R(控制芯片為AR9331)以及TP-LINK公司的WR841N(控制芯片為AR7240)所集成的交換芯片的驅動均不支持關閉交換芯片的MAC地址學習,導致Open vSwitch無法接收某些數據包。在修改交換芯片的驅動程序以后,該問題得到了解決。在實驗過程中,其他型號的通用寬帶路由器所帶的交換芯片沒有出現如上所述的問題。

4.3 實驗結果與分析

本文對上文所述的三種路由器進行了性能測試。在控制器上運行L2_Learning_Switch,同時進行不同的上網應用,記錄路由器以及控制器的CPU使用率。

從圖7可以看出,CPU的頻率與路由器的性能有著非常大的關聯度。在日常上網的情況下,CPU頻率較低的Linksys WRT54G的占用率接近50%,而其他兩款路由器的CPU占用率在20%附近。當開始全速下載時,所有的路由器占用率均全部達到100%,即將所有的資源消耗殆盡。然而,不管在什么情況下,控制器的CPU使用率均沒有太大的變化,一直保持在4.5%左右。

圖7 不同通用寬帶路由器在不同運行場景下的CPU使用率

圖8 在CPU使用率均達到100%時各路由器的傳輸速度

如圖8所示,CPU的性能直接決定了路由器交換性能。在滿速下載文件時,LinksysCPU頻率最低,因此交換性能非常低下,只有不到1000 Kbps;而其他兩款路由器均在5 Kbps以上。由于WR841N的CPU速度比MW150R快100 Mhz左右,所以整體傳輸速度也較快。

5 結 語

本文介紹了現代網絡交換機以及通用寬帶路由器的內部硬件結構以及軟件構成。在使用開源路由器操作系統的環境下,通過控制通用寬帶路由器的交換芯片,通過VLAN技術將交換芯片的每個端口分割獨立,使得路由器的控制芯片可以直接控制每個端口狀態與輸入輸出;再由OpenFlow模式下的OpenVSwitch所創建的網橋控制每個端口,達到將通用寬帶路由器變成OpenFlow交換機的目的。在移植的過程中,發現一些芯片方案需要通過修改驅動以關閉MAC地址學習功能才可正常接收數據包。使用通用寬帶路由器改造的OpenFlow交換機可以大幅度降低使用OpenFlow交換機的成本,同時由于通用寬帶路由器的小體積以及低功耗,在進行OpenFlow相關的科研工作中可以大量采購這種設備以更好地從事OpenFlow網絡以及軟件定義網絡的相關研究。

本文還對這樣的OpenFlow交換機進行了性能測試。測試結果表明在實驗環境下,通用寬帶路由器改造的OpenFlow交換機的性能可以達到正常實驗應用的程度。

[1] Mckeown N,Anderson T,Balakrishnan H,et al.OpenFlow:Enabling innovation in campus networks[J].ACM SIGCOMM Computer Communication Review,2008,38(2):69-74.

[2] Khan A,Dave N.Enabling Hardware Exploration in Software-Defined Networking:A Flexible,Portable OpenFlow Switch[C]//Field-Programmable Custom Computing Machines (FCCM),2013 IEEE 21st Annual International Symposium on.IEEE,2013:145-148.

[3] Paul Goransson,Chuck Black.Chapter 5- The OpenFlow Specification[J].Software Defined Networks,2014:81-118.

[4] Sune M,Alvarez V,Jungel T,et al.An OpenFlow Implementation for Network Processors[C]//Software Defined Networks (EWSDN),2014 Third European Workshop on.IEEE,2014:123-124.

[5] Hand R,Keller E.ClosedFlow:OpenFlow-like control over proprietary devices[C]//Proceedings of the third workshop on Hot topics in software defined networking.ACM,2014:7-12.

[6] Han S,Jang K,Park K S,et al.PacketShader:A GPU-Accelerated Software Router[J].ACM SIGCOMM Computer Communication Review,2010,41(4):195-206.

[7] Xiuhai L.An OpenFlow Switch Model using Kepler GPU[J].Journal of Software Engineering,2014,8(4):304-313.

[8] Qiu K,Chen Z,Chen Y,et al.GFlow:Towards GPU-based high-performance table matching in OpenFlow switches[C]//2015 International Conference on Information Networking (ICOIN).IEEE Computer Society,2015:283-288.

[9] Ferkouss O E,Snaiki I,Mounaouar O,et al.A 100Gig network processor platform for openflow[C]//Network and Service Management (CNSM),2011 7th International Conference on.IEEE,2011:1-4.

A DESIGN OF OPENFLOW SWITCH BASED ON GENERAL BROADBAND ROUTER

Qiu Kun1,3Fang Yuquan1,3Lu Wei2Zhao Jin1,3

1(SchoolofComputerScience,FudanUniversity,Shanghai201203,China)2(ShanghaiInteractiveTelevisionCo.,Ltd,Shanghai200072,China)3(EngineeringResearchCenterofCyberSecurityAuditingandMonitoring,MinistryofEducation,Shanghai201203,China)

OpenFlow protocol-based software-defined network has to rely on controller and OpenFlow switch. However the switches supporting OpenFlow protocol are extremely expensive and difficult to get. In order to facilitate the obtainment of switches supporting OpenFlow protocol, in this paper we introduce a general broadband router-based design of OpenFlow switch. The design can construct such a switch fully supporting OpenFlow protocol by only using general broadband router commonly found in markets and the open-source Linux software. Experimental results show that the design can implement all functions of OpenFlow protocol at current stage with an acceptable performance.

Software-defined network OpenFlow Switch Open vSwitch Open Wrt General broadband router Linux

2015-09-01。國家科技支撐計劃項目(2012BAH39F 06)。邱堃,碩士生,主研領域:未來網絡。方鈺權,本科生。陸偉,工程師。趙進,副教授。

TP3

A

10.3969/j.issn.1000-386x.2016.11.020

猜你喜歡
功能
拆解復雜功能
鐘表(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例
主站蜘蛛池模板: 最近最新中文字幕免费的一页| www.国产福利| 国产在线精品99一区不卡| 欧洲欧美人成免费全部视频| 国产在线精品人成导航| 国产日韩AV高潮在线| 亚洲欧洲自拍拍偷午夜色| 亚洲香蕉久久| 久爱午夜精品免费视频| 亚洲性影院| 77777亚洲午夜久久多人| 亚洲天堂精品在线| 婷婷在线网站| 婷婷六月激情综合一区| 免费av一区二区三区在线| 中字无码av在线电影| 亚洲欧美日韩精品专区| 美女扒开下面流白浆在线试听| 国产视频一二三区| 国产免费久久精品44| 欧美一级特黄aaaaaa在线看片| 欧美在线视频a| 亚洲福利视频一区二区| 伊人天堂网| 日韩av在线直播| 午夜视频在线观看区二区| 波多野结衣在线一区二区| 国产精品分类视频分类一区| 亚洲综合日韩精品| 久久久久久国产精品mv| 亚洲黄色视频在线观看一区| 毛片久久久| 国产成人91精品免费网址在线| 麻豆精品在线播放| 亚洲国产精品日韩av专区| 日韩毛片在线播放| 国产精品私拍在线爆乳| 丁香六月综合网| 亚洲性影院| 在线国产综合一区二区三区| 男人的天堂久久精品激情| 亚洲色图欧美在线| 国产成人精品免费视频大全五级 | 中文字幕在线视频免费| 国产精品三区四区| 狼友视频一区二区三区| 四虎AV麻豆| 69国产精品视频免费| 亚洲一级无毛片无码在线免费视频 | 宅男噜噜噜66国产在线观看| 欧美国产日韩一区二区三区精品影视 | 91精品人妻互换| 99热国产这里只有精品无卡顿"| 日韩av手机在线| 中文无码精品a∨在线观看| 国产精品一区二区不卡的视频| 韩日无码在线不卡| 日韩欧美国产区| 亚洲国产精品国自产拍A| 欧美色99| 欧美日韩在线成人| 熟妇无码人妻| AV不卡在线永久免费观看| 亚洲啪啪网| 日韩精品免费一线在线观看| 97国内精品久久久久不卡| 色偷偷一区| 2021无码专区人妻系列日韩| 91午夜福利在线观看精品| 又粗又大又爽又紧免费视频| 欧美日韩亚洲综合在线观看| 国产人前露出系列视频| 久久香蕉国产线看观看式| 欧美日韩亚洲综合在线观看 | 国产免费久久精品99re不卡| 亚洲另类国产欧美一区二区| 色妞永久免费视频| 国产真实乱人视频| 亚洲开心婷婷中文字幕| 久久中文字幕不卡一二区| 香蕉蕉亚亚洲aav综合| a网站在线观看|