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

基于NetFPGA10G的網絡組件存儲功能設計與實現*

2014-09-29 04:49:14張碩琳羅洪斌
電信科學 2014年9期
關鍵詞:功能

張碩琳,羅洪斌

(北京交通大學下一代互聯網互聯設備國家工程實驗室 北京 100044)

1 引言

隨著用戶規模和應用數量的不斷增加,現有互聯網逐漸暴露出許多原始設計的不足。例如,現有互聯網的體系結構采用的host to host通信模式,難以適應當前用戶對內容獲取和分發的多樣化需求。當同一個子網的兩個用戶要獲取同一個內容時,都要向遠端的服務器獲取,從而導致資源浪費。為了解決傳統互聯網的上述不足,以內容為中心的下一代互聯網體系結構應運而生。

在以內容為中心的下一代互聯網體系結構中,存儲數據分組將作為網絡節點的功能之一。當數據分組流經網絡節點時,網絡節點應該能夠根據控制信息的要求,存儲相應的服務內容。當相同的服務再次被請求時,網絡節點可以從自己的存儲區域中提取相應的數據,就近為用戶提供服務,從而提高網絡資源利用率。

目前對于網絡節點存儲功能的研究大多停留在仿真階段,并沒有實際的硬件實現。本文基于NetFPGA10G硬件平臺,設計具有存儲功能的網絡組件。之所以選擇NetFPGA10G作為開發平臺,是因為NetFPGA平臺能夠很好地支持模塊化設計,使得復雜的硬件設計可以通過各個模塊的組合來完成。而且,NetFPGA是一個基于Linux的開放性平臺,所有對它感興趣的人都可以利用平臺上現有的資源,在前人開發的基礎上搭建自己的系統;而自己開發的系統也可以被其他人所用,從而不需要重復地搭建外圍模塊、開發驅動和GUI等,只要添加自己的模塊和修改現有的系統即可。NetFPGA平臺的模塊化和開放性,大大簡化了網絡研究的任務量。

2 平臺架構

傳統網絡中的路由器用于連接多個邏輯上分開,同時具有控制和轉發功能的網絡節點。而在下一代互聯網體系結構的研究中,大多數研究人員認為,網絡組件需要引入控制層面與數據層面的分離機制,將控制功能從網絡組件中剝離出去,交給控制器完成,而網絡組件只負責根據控制器下發的控制信息,轉發相應的數據分組,從而實現網絡組件最基本的功能。而在以內容為中心的網絡體系結構下,網絡組件必須具有存儲功能。首先,本文基于NetFPGA10G的網絡組件,在NetFPGA10G板卡上搭建OpenFlow交換機,上層控制器可以通過數據通路,根據OpenFlow協議,向NetFPGA10G板卡下發流表信息,當數據分組到來時,NetFPGA10G查詢流表,根據查詢結果完成相應的轉發動作,從而實現網絡組件的轉發功能。然后,本文重構了NetFPGA10G萬兆光纖網卡驅動,使之在與NetFPGA10G通過PCIE連接的主機的內存空間中利用內存分配技術,分配2 GB的存儲空間,并用STL提供的list_head對存儲空間進行管理。當接到存儲分組請求時,進行查詢匹配,然后根據請求分組中的路由信息進行分組轉發。基于NetFPGA10G的具有存儲功能的網絡組件如圖1所示。

基于NetFPGA10G的具有存儲功能的網絡組件主要由兩個重要部分組成:基于NetFPGA10G的OpenFlow交換機以及萬兆光纖網卡驅動。OpenFlow交換機用于接收上層控制器下發的控制信息,配置流表,查詢流表,完成相應的轉發、丟棄等動作。當不需要存儲的分組到達NetFPGA10G板卡時,首先查詢精確匹配表和通配符匹配表,如果有對應的流表項,則執行action域所規定的動作;如果沒有對應的流表項,則向控制器發出請求信息,等待控制器下發控制信息之后再轉發。當需要存儲的分組到達板卡時,NetFPGA10G會將分組通過AXI-lite總線發送給PCI/DMA模塊,之后通過萬兆光纖網卡驅動進行存儲。當存儲空間有空閑時,數據分組將直接存儲下來;當存儲空間為滿時,執行替換算法,對存儲的內容進行更新替換。當查詢分組到達時,驅動將根據內容名字,查找存儲空間是否有相應的請求內容,如果有就返回內容到查詢分組進入的端口,如果沒有就返回相應的提示信息。這就構成了基于NetFPGA10G的具有存儲功能的網絡組件。

3 主要技術實現

3.1 OpenFlow交換機在NetFPGA10G上的設計與實現

在NetFPGA10G平臺上搭建OpenFlow交換機,具體設計框架如圖2所示。

數據分組可以通過4個光纖網口進入交換機進行處理,其主要模塊分為以下4個部分:分組預處理模塊、流表控制模塊、行為處理模塊以及主機接口模塊。

(1)分組預處理模塊

數據分組進入該模塊之后,該模塊負責解析提取分組頭部分的信息,將信息組裝成OpenFlow協議規定的12元組,該信息稱為流表項。之后,分組預處理模塊會將流表項發送給流表控制模塊,并且將原始數據分組發送到行為處理模塊等待。

圖1 具有存儲功能的網絡組件

(2)流表控制模塊

流表控制模塊通過一個通往通配符流表和精確流表的單一管道來訪問交換機的流表,該管道可以被所有的端口共享,所以該模塊響應各端口對其發起的所有請求。在接收查找流表項請求后,流表控制器將同時查找精確匹配流表與通配符流表,若在流表中找到了匹配表項,流表控制器就從內存中抓取相應的行為列表并把它發給對應端口的行為處理器,同時更新其統計數據。若流表控制器在精確匹配流表和通配符流表中都匹配成功,則使用精確匹配流表中的轉發行為。

(3)主機接口模塊

該模塊是硬件交換機與上位控制器之間溝通的橋梁,控制器可以通過它來訪問交換機中的寄存器,并對流表進行修改、添加和刪除等操作。因為主機向交換機寫入流表是以字為單位的,首先在主機接口模塊中緩存所有信息,一旦主機的一個寫操作完成,主機接口觸發通信,通過使用分組預處理模塊與流表控制模塊通信時一樣的握手協議和流表控制器進行通信。

(4)行為處理模塊

行為處理模塊根據流表控制模塊發送的轉發行為列表轉發數據,更新其分組頭域與數據分組長度。之后將重新封裝好的數據分組發送到輸出隊列排隊等待處理。

以上4個模塊構成了基于NetFPGA10G的OpenFlow交換機核心功能,完成了解析分組、組裝流表項、查詢流表項、重構流表、封裝分組、執行轉發行為等一系列分組處理過程,實現了實際硬件網絡組件的基本轉發功能。

3.2 存儲功能設計與實現

網絡組件存儲功能的實現,是在網絡組件交換功能的基礎上,增加一個行為(action),當需要查詢數據分組或存儲數據分組到達時,硬件將該數據分組的行為定義為cache,轉發端口定義為PCI/DMA端口(5號端口),所以該數據分組將通過PCI通道進入與NetFPGA10G相連的主機中進行查詢和存儲。具體分組處理流程如圖3所示。

在上述查詢分組和存儲分組的處理流程中,關鍵技術部分是:存儲空間的分配與管理。其主要分為以下幾個步驟實現。

(1)創建存儲環型空間

物理地址被分成離散的單元,稱為頁。系統內部許多對內存的操作都是基于單個頁的,目前大多數系統都使用每頁4 096 byte。在本設計中,存儲的單個數據分組最大為1 533 byte,本文選擇每頁存儲兩個數據分組,即存儲空間單元是2 KB。同時,本設計總共分配了2 GB的內存作為網絡組件存儲空間,并用get_free_pages進行內存申請。其中存儲單元類型為store_node_list,并定義其結構體如下:

圖2 OpenFlow交換機硬件設計

圖3 查詢分組/存儲分組處理流程

其中,port為存儲輸入端口號;tstamp為每個分組更新的最新時間戳,每一次數據分組被請求時,時間戳都會更新;list是查詢和維護存儲空間的數據結構,后面將有具體說明。

(2)存儲空間的維護

由get_free_pages獲得的內存是不連續的,需要數據結構進行管理和維護。利用Linux內核中的雙向鏈表list_head將多個存儲單元連接起來。list_head結構具備雙鏈表功能,通常它都組織成雙循環鏈表。與普通鏈表不同的是,list_head沒有數據域,list_head具體定義如下:

在Linux內核鏈表中,不是在鏈表結構中包含數據,而是在數據結構中包含鏈表節點,正如store_node_list結構體中的定義,包含list_head結構成員。在遍歷鏈表時,由于存儲空間鏈表中僅保存了數據項結構中list_head成員變量的地址,Linux為此提供了一個 list_entry(ptr,type,member)宏,可以根據list_head的地址獲得數據存儲地址,從而對相應的存儲單元進行操作。

(3)存儲數據分組

當需要存儲的數據分組到達時,如果有空閑的存儲空間,數據分組就順序存儲在空閑的單元中,并且為該數據分組打時間戳;如果沒有空閑的存儲單元,將遍歷存儲空間,選擇時間戳最大的單元(即熱度最小的存儲分組)進行替換。

4 測試

對本文所設計的基于NetFPGA10G的具有存儲功能的網絡組件進行功能測試。測試的硬件環境為:CPU為Intel Core i5-2400S CPU@2.50 GHz,內存為 4 GB,數據分組存儲空間為2 GB,網卡為萬兆光纖網卡;軟件配置為:Linux操作系統,內核版本為2.6.39,利用TCPdump查看本設計模塊功能測試結果,如圖4所示。

圖4中標號為0的是查詢分組,標號為4的是數據分組,本文設計模塊成功實現了數據分組的存儲和查詢功能。

圖4 測試結果

圖5 1 Gbit/s存儲速率下查詢分組返回時延

關于本文設計模塊的性能測試見表1。

表1 性能測試結果

可以看出,在不同的存儲速率下,本文設計的模塊功能實現相對穩定,由于本文設計中,對于存儲空間的維護和管理使用的是鏈表方式,當所查詢的數據分組在存儲空間的不同位置時,所花費的查詢返回時延是不定的,本文選擇在1 Gbit/s存儲速率下,查詢分組返回時延數據的詳細說明,具體時延分布如圖5所示。

由于查詢分組查詢的內容在存儲空間中是隨機分布的,查詢方式根據索引值進行遍歷,可以看出,查詢返回時延分布在3~11 000 ns,平均返回時延為6.9 ns。

5 結束語

本文對下一代互聯網體系結構中的熱點問題進行了研究,創新性地對具有內容存儲功能的網絡組件設計給出了實現方案,提高了網絡資源的利用率,對下一代互聯網研究有著非常積極的作用。

1 Arianfar S,Nikander P,Ott J.On content-centric router design and implications.Proceedings of the 6rd International Conference on Emerging Networking Experiments and Technologies(CoNEXT),Philadelphia,USA,2010

2 Luo H B,Chen Z,Cui J B,et al.ColoR:an information-centric internet architecture for innovation.IEEE Network Magazine,2014(2)

3 OpenFlow implementation on NetFPGA 10G design document.http://www.OpenFlowswitch.org

4 劉靖龍,劉穎,張思東.基于RTL8169網卡的零拷貝技術研究與實現.計算機技術與發展,2011,21(8)

5 Min S H,Choi Y C,Kim N,et al.Implementation of a programmable service composition network using NetFPGA-based OpenFlow switches. Proceedings of 1st ASIA NetFPGA Developer’s Workshop,Korea,2010

6 Corbet J,Rubini A.Linux設備驅動程序.魏永譯.北京:中國電力出版社,2006

猜你喜歡
功能
拆解復雜功能
鐘表(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例
主站蜘蛛池模板: a毛片基地免费大全| a天堂视频在线| 久草青青在线视频| 色悠久久综合| 亚洲精品国产自在现线最新| 国产精品三级专区| 欧美a级完整在线观看| 宅男噜噜噜66国产在线观看| 999国内精品久久免费视频| 日韩欧美网址| 天堂va亚洲va欧美va国产 | 欧美激情视频在线观看一区| 国产激情第一页| 色噜噜狠狠色综合网图区| 五月婷婷综合在线视频| 波多野结衣中文字幕久久| 日本免费a视频| 欧美日韩国产成人高清视频| 狠狠色丁婷婷综合久久| 日韩精品高清自在线| 亚洲AV无码精品无码久久蜜桃| 国产成人亚洲日韩欧美电影| 国产亚洲精品自在久久不卡| 国产91精品久久| 国产乱子伦无码精品小说| 免费在线a视频| 国产亚洲精品va在线| 精品国产中文一级毛片在线看| 欧美在线观看不卡| 国产免费福利网站| 99视频免费观看| 国产麻豆aⅴ精品无码| 2020国产精品视频| 亚洲妓女综合网995久久| 国产网站一区二区三区| 国产精品成人不卡在线观看 | 欧美成人午夜影院| a级毛片免费在线观看| 色天天综合久久久久综合片| 欧美翘臀一区二区三区| 午夜在线不卡| 欧美视频二区| 亚洲一区二区日韩欧美gif| 亚洲一欧洲中文字幕在线| 欧美亚洲日韩中文| 色婷婷成人| 制服丝袜在线视频香蕉| AV无码无在线观看免费| 国产香蕉在线视频| 国产一级α片| 国产精品第一区| 国产黑丝一区| 欧美午夜在线播放| 伊人网址在线| 蝴蝶伊人久久中文娱乐网| 欧美日韩一区二区三区在线视频| 亚洲欧洲日产国产无码AV| 亚洲三级视频在线观看| 美女被操91视频| 97se亚洲综合在线韩国专区福利| 国产美女一级毛片| 色婷婷在线播放| 亚洲av日韩av制服丝袜| 高清无码手机在线观看| 国产在线自在拍91精品黑人| 国产乱子伦视频在线播放| 欧美日韩北条麻妃一区二区| 久久亚洲国产一区二区| AV不卡国产在线观看| 青青青视频免费一区二区| 国模私拍一区二区三区| 欧美人与性动交a欧美精品| 欧美成人午夜视频| 日本黄色a视频| 99在线免费播放| 亚洲综合片| 在线99视频| 亚洲综合精品香蕉久久网| 欧美天堂在线| 男人天堂伊人网| 全部免费特黄特色大片视频| 国产精品.com|