亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        網絡路由加速平臺的設計與實現(xiàn)

        2018-04-13 08:28:04趙爽李念軍
        計算技術與自動化 2018年2期
        關鍵詞:流表表項路由器

        趙爽 李念軍

        摘要:網絡路由加速平臺是一個基于多核處理器的軟件平臺,實現(xiàn)網絡數(shù)據報文的快速接收、快速處理、快速輸出轉發(fā)。該軟件平臺運行在多核處理器上,采用混合模式,一個core運行Linux操作系統(tǒng)作為控制平面,其余的core運行SE做為數(shù)據處理平面。該軟件平臺充分利用了Linux和SE本身所具有的特點,既發(fā)揮了Linux系統(tǒng)化管理和調度的優(yōu)勢,又簡化了代碼的開發(fā)結構,提高了數(shù)據轉發(fā)效率,使得平臺處理得以加速,可以應用于基于多核處理器的路由器、SDN、防火墻和負載均衡等通信產品。

        關鍵字:路由加速平臺;Linux模式;SE模式;混合模式

        中圖分類號:TP393

        文獻標識碼:A

        1 引言

        隨著網絡技術和計算機通訊技術的飛速發(fā)展,人們不僅對網絡應用的多樣性有了新的要求,而且對網絡產品的處理性能也有了新的需求。這就對網絡核心設備——路由器提出了全新的要求。一方面?zhèn)鬏斁€路帶寬的增長極大地推動了路由器性能的不斷提升,以滿足通信網絡的高速需求;另一方面,多種業(yè)務集成的發(fā)展驅動著路由器具備更強的業(yè)務處理能力。目前針對網絡數(shù)據處理的處理器主要有多核處理器、硬件并行處理器、可編程的硬件處理器[1,2]。其中,軟件平臺在多核處理器上的運行模式決定了軟件實現(xiàn)模式,多核處理器支持三種模式[3],分別是全部Linux模式、全部SE模式和Linux與SE混合模式。

        全部Linux模式是將多核處理器完全交給Linux操作系統(tǒng)進行管理,系統(tǒng)SMP支持多核處理器的調度工作[4,5],軟件加速平臺代碼全部在Linux平臺上通過進程的方式完成,表項資源的同步互斥由操作系統(tǒng)保證。上述方式同時存在運行的內核態(tài)和用戶態(tài)的區(qū)別,從內核到用戶態(tài)需要進行數(shù)據的拷貝。由于操作系統(tǒng)的特殊結構模式,在一定程度上影響了軟件平臺的運行效率。這種模式在中高端網絡路由加速軟件平臺中很少被采用,在處理器核數(shù)較少的低端路由器中常被采用。

        全部SE模式是讓多核處理器完全運行SE的模式,它是一個輕量級的操作系統(tǒng),具有高效的運行效率。SE上運行的代碼需要開發(fā)者自行完成,表項的同步互斥也由軟件平臺實現(xiàn),軟件的處理流程由軟件自身控制。但芯片接口和管理接口的數(shù)據收發(fā)驅動等全部需要軟件平臺維護,這會導致軟件平臺工作量有所增加。

        針對上述問題,采用一種Linux與SE混合的模式,該模式讓linux作為管理控制平面,對管理接口進行全面系統(tǒng)化管理,并引導SE在多核處理器上啟動;SE上運行軟件平臺的流程處理代碼,實現(xiàn)數(shù)據平面的數(shù)據加速轉發(fā),發(fā)揮其高效的運行特點。對比上述兩種模式,混合模式具有兩者相同的共性特點,具有與全SE幾乎相當?shù)膱?zhí)行效率,并擁有Linux開源的操作系統(tǒng)對芯片外部設備的統(tǒng)一化管理,選擇混合模式是中高端路由加速平臺最合理選擇。

        2 平臺總體設計方案

        網絡路由加速平臺運行在多核處理器上[6],并采用混合模式,一個core運行Linux操作系統(tǒng),其余的core運行SE(多核處理器專用操作方式)做為數(shù)據處理平面,在core的分配上[7,8],也可以根據實際應用來調整,可以讓多個core運行Linux操作系統(tǒng),相應的減少運行SE模式的core數(shù)量。

        軟件主要分兩個部分,一部分是運行在Linux平面的,主要負責調用命令向SE平面?zhèn)鬟f通道和命令管理,另外一部分是SE環(huán)境下運行的數(shù)據面相關軟件模塊,本軟件平臺的各開發(fā)模塊主要集中在SE下的功能模塊。

        從系統(tǒng)結構中可知系統(tǒng)采用的Linux加SE的混合系統(tǒng)架構,充分利用了Linux和SE本身所具有的優(yōu)勢特點,在發(fā)揮了Linux系統(tǒng)化管理和調度的優(yōu)勢的同時,SE簡化了代碼的開發(fā)結構,提高了數(shù)據轉發(fā)效率,使得平臺處理得以加速。

        運行在Linux平面的軟件主要有:控制通道網絡接口管理、接口報文向SE層報文格式轉換、簡單網絡管理命令行、定時統(tǒng)計上報等。

        SE環(huán)境下運行的模塊主要有:IPv4/IPv6轉發(fā)、IPSec、NAT、Tunnel、VLAN、VPN、 組播、ACL、Net-Flow、IPsec、PPPoE/L2TP以及安全模塊等。

        Linux平面與SE平面運行在不同的核上,兩者之間的表項通過共享內存的方式獲取[7],表項的實際創(chuàng)建和插刪改的操作由SE完成,表項插刪改的控制命令需要通過發(fā)送消息隊列的方式從Linux上發(fā)送到SE上。

        3 平臺業(yè)務流程

        對于軟件平臺業(yè)務流程有兩個方面:一是從Linux平面來的配置命令下發(fā)和表項狀態(tài)獲取;二是SE平面對數(shù)據報文的接收、處理、輸出的一連串業(yè)務處理流程。

        3.1 Linux平面業(yè)務流程

        配置命令從管理以太網接口進入Linux內核態(tài),用戶態(tài)通過socket[9,10]從內核態(tài)獲取配置命令,如果屬于Linux平面當前需要處理的命令,則直接對通過共享內存[11]讀到的表項進行獲取操作;如果是涉及插刪改一系列寫命令的操作,則需要通過發(fā)送消息隊列的方式發(fā)送到SE平面。Linux平面同時負責對NetFlow表項數(shù)據統(tǒng)計和表項內容上報的工作業(yè)務,通過啟用的進程定期對共享內存的表項進行循環(huán)輪詢,統(tǒng)計表項數(shù)據結構并把統(tǒng)計結果通過socket發(fā)送到管理網口到上層,業(yè)務處理流程圖如下圖所示:

        3.2 SE平面業(yè)務流程

        數(shù)據報文[12]從接口進入SE平面,首先進行報文合法性校驗、剝去報文二層頭部、通過VLAN恢復報文的入接口、判斷報文是否為IP報文還是非IP報文、對于非IP報文分別送入MPLS或PPPoE的處理模塊、對于IP報文分別判斷是否需要進行NetFlow的數(shù)據流統(tǒng)計、判斷是否需要進行NAT轉換、判斷是否需要進行IPsec模塊的處理、判斷是否需要進行ACL的處理、對于組播報文進行組播報文模塊的處理、對IP報文分IPv4和IPv6數(shù)據報文,分別送兩個不同的協(xié)議棧中處理、處理過程中根據是否存在快表,如果存在則快速進行二層分裝進行轉發(fā)、如果不存在則進行普通轉發(fā)處理流程,并構建快表項、出方向報文先后經過判斷決定是否需要NAT轉換、是否需要進行IPsec處理、是否需要進行ACL的處理、以及是否需要進行NetFlow的數(shù)據流統(tǒng)計功能、完成上述處理流程后報文被轉發(fā)至輸出接口。

        4 關鍵技術設計與實現(xiàn)

        4.1 高速流表轉發(fā)

        路由表在設計時采用兩層的設計結構,簡稱“總表”和“流表”。在多核并行執(zhí)行環(huán)境中,利用處理器的高速緩存,在Cache中申請與CPU核數(shù)相等(N)個數(shù)的空間來存放流表的空間塊。每個“流表”內路由表項的集合構成了“總表”的一個子集,這些流表在路由初始化后隨著數(shù)據流轉發(fā)過程逐步建立。處理器的核每次接收到數(shù)據包,需要進行路由查找時,先去對應的流表中進行匹配,如果找到,則根據路由信息中的出端口將數(shù)據包直接進行轉發(fā);如果匹配不到,則再進入總表中查找,在總表中查找到路由后,將該條路由添加到子表中。

        4.2 大容量ACL

        大容量ACL的實現(xiàn)方法是將ACL的鏈表存儲結構設成雙向鏈表的方式,建立ACL中各表項之間的結構關系。這里將ACL的表項設計成兩級結構是算法的特殊化處理,為算法的實現(xiàn)提供數(shù)據結構支撐。如下圖所示:

        多核處理器(Cores)對初次進入的數(shù)據流(Pl、P2' - Pj)進行流的劃分,建立流表(Flow tables),同時查找合適的訪問控制列表表項,建立流表與訪問控制列表表項的關聯(lián);其中,多核處理器將接收到的數(shù)據流中的數(shù)據包(P)分發(fā)到各個空閑的核上,核抽取數(shù)據包中對應的條件字段進行哈希(Hash)運算,根據哈希值的不同將數(shù)據包劃分到不同的流表中,每張流表中可以容納3條Hash沖突的數(shù)據流單元(Entry),每個單元(Entry)結構中分別由有效位Valid、數(shù)據流條件字段Key、控制訪問列表動作有效位Flag和控制訪問列表動作結構體的指針Act。后續(xù)進入的數(shù)據流直接從流表表項中獲取訪問控制列表的執(zhí)行動作。

        4.3 多業(yè)務的實現(xiàn)

        多核上的多業(yè)務是指增值業(yè)務(防火墻、NAT等)以嵌入的形式存在,數(shù)據處理過程中符合相關條件的數(shù)據包通過調用相關業(yè)務處理模塊的鉤子函數(shù),來實現(xiàn)相關業(yè)務的功能。例如二層業(yè)務NAT的鉤子函數(shù)定義為ipnet_natjnput,當消息進入時首先判斷端口(in/out方向)是否使能NAT,若使能則調用鉤子函數(shù)直接進入NAT處理模塊,若未使能則繼續(xù)往下處理。流程如下圖所示:

        5 實驗測試

        實驗在高端路由器上進行,環(huán)境基于網絡路由加速平臺,實驗儀表為Spirent Test Center,在路由器上配置相關功能,在儀表上查看數(shù)據轉發(fā)相關情況。該結果表明網絡路由加速平臺能實現(xiàn)數(shù)據快速、高效的處理、轉發(fā)和接收。

        在儀表上查看數(shù)據收發(fā)情況,數(shù)據全部轉發(fā):

        5 結束語

        介紹了一種網絡路由加速平臺的實現(xiàn)方法,設計了該系統(tǒng)的總體架構,并對其平面業(yè)務流程進行了說明。目前,用戶對網絡通信設備的功能和處理速度的需求不斷變化,怎么合理分配core的數(shù)量,發(fā)揮其高效的運行特點,以及在該軟件平臺上,靈活擴展軟件功能以最大化地滿足用戶需求,成為下一步研究的重點。

        參考文獻

        [1]王鵬.基于網絡處理器的高性能路由器轉發(fā)面的設計與實現(xiàn)[D].成都:西南交通大學,2011.

        [2]朱佳.網絡路由仿真平臺的設計與實現(xiàn)[D].武漢:華中科技大學,2007.

        [3]王學龍.嵌入式Linux系統(tǒng)設計與應用[M].北京:清華大學出版,2001.

        [4]張修琪.基于Linux多核進程調度的研究[D].成都:電子科技大學,2012

        [5]黃道穎,張安琳.Linux系統(tǒng)對SMP并行處理的支持[J].鄭州輕工業(yè)學院學報,2001,16 (4):26-30.

        [6]葉永春,多核網絡處理器驅動軟件關鍵技術研究[D].西安電子科技大學,2010.

        [7] 齊斌.網絡處理器內核體系結構研究[D].西安:西北工業(yè)大學,2004.

        [8]張宏科,蘇偉,武勇.網絡處理器原理與技術[M].北京郵電大學出版社,2004.

        [9]王楓,羅家融.Linux下多線程Socket通訊的研究與應用[J].計算機工程與應用,2004,16:106-109.

        [10]郭東升,田秀華.Linux環(huán)境下基于Socket的網絡通信[J].軟件導刊,2009,8(1):116-118.

        [11]沈劍光,淺析Linux中的共享內存機制[J].中國科技信息,2006,15:146-149.

        [12]王海濤,田暢,鄭少仁.路由器并行交換體系結構的研究[J].數(shù)據通信,2001,7 (3):4-7.

        猜你喜歡
        流表表項路由器
        買千兆路由器看接口參數(shù)
        科教新報(2022年24期)2022-07-08 02:54:21
        一種改進的TCAM路由表項管理算法及實現(xiàn)
        通信技術(2022年5期)2022-06-11 00:47:44
        基于時序與集合的SDN流表更新策略
        基于ARMA模型預測的交換機流表更新算法
        基于緩存策略的OpenFlow流表存儲優(yōu)化方案研究
        電子測試(2018年21期)2018-11-08 03:09:34
        簡析yangUI流表控制
        軟件定義網絡中一種兩步式多級流表構建算法
        SDN數(shù)據中心網絡基于流表項轉換的流表調度優(yōu)化
        你所不知道的WIFI路由器使用方法?
        無線路由器輻射可忽略
        亚洲色欲大片AAA无码| 久久精品人人做人人爱爱| 在线视频一区二区三区中文字幕| 国产小视频一区二区三区| 人妻风韵犹存av中文字幕| 国产中文字幕亚洲精品| 日本一区三区三区在线观看| 亚洲综合av大全色婷婷| 婷婷伊人久久大香线蕉av| 无码人妻精品一区二区三区9厂| 欧美又大又色又爽aaaa片| 丰满人妻被黑人猛烈进入| 3d动漫精品一区二区三区| 精品性高朝久久久久久久| 国产丝袜精品不卡| 日本精品国产1区2区3区| 女同重口味一区二区在线| 中文字幕乱码一区在线观看| 在线精品国产亚洲av麻豆| 蜜桃18禁成人午夜免费网站| 人人妻人人澡人人爽超污| 老太脱裤子让老头玩xxxxx| 欧美三级乱人伦电影| 狠狠丁香激情久久综合| 久久人妻av不卡中文字幕| 日本一区二区高清视频| 深夜一区二区三区视频在线观看| 水野优香中文字幕av网站| 免费观看交性大片| 国产农村妇女毛片精品久久| 天美传媒精品1区2区3区| 亚洲国产精品久久久天堂不卡海量 | 91精品国产91| 亚洲福利网站在线一区不卡| 午夜视频国产在线观看| 午夜福利理论片高清在线观看| 亚洲av综合色区无码一二三区| 含羞草亚洲AV无码久久精品| 国产成人精品aaaa视频一区 | 一区二区三区在线少妇| 日本孕妇潮喷高潮视频|