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

        ?

        基于匹配動作表模型的可編程數(shù)據(jù)平面流表歸并

        2022-07-29 06:22:36凌致遠
        計算機與現(xiàn)代化 2022年7期
        關鍵詞:流表表項字段

        凌致遠,陳 曉,宋 磊

        (1.中國科學院聲學研究所國家網(wǎng)絡新媒體工程技術研究中心,北京 100190; 2.中國科學院大學,北京 100049)

        0 引 言

        隨著下一代互聯(lián)網(wǎng)的發(fā)展,軟件定義網(wǎng)絡(Software Defined Networking, SDN)被廣泛應用于企業(yè)廣域網(wǎng)和數(shù)據(jù)中心網(wǎng)絡[1]。SDN作為一種新興的網(wǎng)絡結構,它將控制平面與數(shù)據(jù)平面解耦[2]。數(shù)據(jù)平面由交換機等轉(zhuǎn)發(fā)單元組成,負責將報文轉(zhuǎn)發(fā)到下一跳;控制平面則由控制器組成,負責實時維護全局網(wǎng)絡狀態(tài)。

        匹配動作表(Match-Action Table, MAT)[3]在現(xiàn)有的SDN技術中得到了廣泛使用,OpenFlow[4]作為SDN技術的基石,率先使用MAT作為其數(shù)據(jù)平面編程模型[5]。匹配動作表又稱為流表,將數(shù)據(jù)包處理流程抽象為匹配字段和執(zhí)行動作。MAT模型的動作集可以實現(xiàn)對數(shù)據(jù)包字段的修改和數(shù)據(jù)包整體的轉(zhuǎn)發(fā),還能實現(xiàn)諸如條件分支等簡單程序邏輯[6]。但OpenFlow是一種協(xié)議相關的SDN技術,僅支持對其標準[7]內(nèi)已有的協(xié)議字段進行解析和處理,無法及時滿足新興或私有網(wǎng)絡協(xié)議的需求[8]。

        為了解決上述問題,協(xié)議無感知轉(zhuǎn)發(fā)(Protocol Oblivious Forwarding, POF)[9-10]和協(xié)議獨立的數(shù)據(jù)包編程處理器(P4)[11-12]等新的SDN技術被相繼提出。這些SDN技術沿用了MAT編程模型,但允許網(wǎng)絡編程人員以比OpenFlow規(guī)范更靈活的方式對網(wǎng)絡進行編程。協(xié)議字段由諸如{偏移,長度}的結構組成,由此網(wǎng)絡編程人員可以對任意協(xié)議字段進行解析和處理[13]。然而這種靈活的數(shù)據(jù)平面編程方式會帶來一些問題:待處理的數(shù)據(jù)包可能帶有不同長度的數(shù)據(jù)包頭,因此這些數(shù)據(jù)包中特定協(xié)議字段的偏移也會不同,控制平面需要下發(fā)多個匹配域偏移不同的流表去完成數(shù)據(jù)流的解析,這對有限的數(shù)據(jù)平面資源造成了很大的浪費[14]。

        在數(shù)據(jù)平面資源優(yōu)化方面,國內(nèi)外已經(jīng)有了相關的研究[15-18]。這些研究主要集中于2種思路:減少表項數(shù)量降低數(shù)據(jù)平面設備軟硬件資源占用和提高網(wǎng)絡內(nèi)整體數(shù)據(jù)平面資源利用率。在第一種思路下,Jia等人[19]提出了基于K相似貪婪樹(K Similar Greedy Tree, KSGT)算法的SDN交換機流表空間優(yōu)化方案,對OpenFlow空閑超時方案進行了優(yōu)化,與現(xiàn)有解決方案相比,可以節(jié)省約60%流表項的資源占用;Kim等人[20]利用了OpenFlow的Vacancy事件,當交換機內(nèi)流表可用空間小于一定閾值時,向控制器發(fā)出告警并通過LRU算法清理部分非活躍表項,從而減少表項占用的資源,并降低了控制消息的數(shù)量,Wu等人[21]在FPGA上實現(xiàn)了相似的算法;Mimidis-kentis等人[22]將流表項分為硬件表項和軟件表項,優(yōu)先級或命中率較高的表項安裝在硬件上,從而提升交換機整體轉(zhuǎn)發(fā)性能,并減少軟件部分占用的資源;Shirali-shahreza等[23]通過預測TCP流的RST/FIN包來加速表項的清除,在命中率降低不到1.5%的條件下,減少了16%~62%的平均流表空間占用率;還有一些方法對流表進行拆分和壓縮,實現(xiàn)了流表的高效存儲[24-25];更進一步地,有的研究基于數(shù)據(jù)中心網(wǎng)絡實時流量特征動態(tài)設定表項的生存周期,從而高效利用流表的空間[26]?;诘诙N思路,喬思祎等人[27-28]提出了一種“共享流表”的方法,利用負載均衡的思想,將單臺交換機的流表負載分攤到網(wǎng)絡中相鄰的節(jié)點,提高了網(wǎng)內(nèi)交換機整體的資源利用率。

        本文采用上述方法外的另一種思路,即通過減少數(shù)據(jù)平面的流表數(shù)量來降低資源占用。根據(jù)數(shù)據(jù)包動態(tài)偏移的思想,本文提出一種基于MAT模型的可編程數(shù)據(jù)平面流表歸并方案,在數(shù)據(jù)包查詢流表時通過執(zhí)行特定動作動態(tài)地調(diào)整數(shù)據(jù)包的起始偏移,使不同數(shù)據(jù)包同一協(xié)議字段的偏移保持一致,實現(xiàn)匹配域相同的流表的歸并,從而降低數(shù)據(jù)平面設備的資源占用。

        1 基于MAT模型的可編程數(shù)據(jù)平面流表歸并方案

        1.1 問題描述

        在數(shù)據(jù)包頭部協(xié)議層數(shù)不同或協(xié)議長度可變的情況下,網(wǎng)絡編程人員需要對每種情況做出區(qū)分。對于數(shù)據(jù)包Pkt,其可能存在的協(xié)議組合有:P1={po,p1,p2}、P2={p0,op0,p1,p2}、P3={p0,p1′,p2}。其中pm為數(shù)據(jù)包頭部相對固定的協(xié)議,如以太層協(xié)議、IPv4協(xié)議;opm為可能存在的網(wǎng)絡標簽或協(xié)議,如802.1Q報文;pm′為長度可變的協(xié)議,如帶有Option字段的IPv6協(xié)議。協(xié)議P2中的某字段f在協(xié)議組合P1的情況下表示為f={off,len},那么對于P2和P3,該字段分別表示為f′={off+len(op0),len}和f″={off+len(p1′)-len(p1),len},如圖1所示。若要將字段f作為流表的匹配域,開發(fā)人員需要針對每種協(xié)議組合設計一張流表,這將造成大量冗余的流表資源開銷。流表符號和定義如表1所示,流表結構如表2所示。

        表1 符號和定義

        圖1 不同協(xié)議組合下的數(shù)據(jù)包頭部結構

        表2 針對不同協(xié)議組合設計的流表

        可以通過如圖2所示的有向無環(huán)圖G(V,E)來表示上述數(shù)據(jù)包在數(shù)據(jù)平面中的處理流程。其中V(G)代表數(shù)據(jù)平面中的流表,E(G)代表數(shù)據(jù)包跳轉(zhuǎn)流表的路徑。由于一張流表由固定描述字段和匹配域組成,則單張流表占用的資源可以看作匹配域長度l的函數(shù)m(l)。

        圖2 數(shù)據(jù)包處理流程G(V,E)

        假設數(shù)據(jù)包處理過程中需要匹配N級流表,且數(shù)據(jù)包從第j-1級的某一張流表跳轉(zhuǎn)至第j級流表有kj條分支路徑(k0=1),記第j級流表的流表數(shù)量為sj,則有:

        (1)

        可以看出,一級流表的流表數(shù)與此前每一跳的分支路徑數(shù)相關,前級流表跳轉(zhuǎn)分支路徑越多,后級流表數(shù)越多。若第j級流表的匹配域長度為lj,則第j級流表占用的資源為:

        (2)

        綜上,數(shù)據(jù)平面中所有流表占用的資源總量為:

        (3)

        1.2 方案設計

        擴充MAT模型的動作集,新增用于修改數(shù)據(jù)包起始偏移的動作SET_PACKET_OFFSET(SPO)和MOVE_PACKET_OFFSET(MPO)。其中,SPO直接指定數(shù)據(jù)包的起始偏移,而MPO實現(xiàn)前后移動數(shù)據(jù)包當前的起始偏移。在數(shù)據(jù)包元數(shù)據(jù)區(qū)新增shift字段,用于記錄數(shù)據(jù)包的當前起始偏移。數(shù)據(jù)包進入數(shù)據(jù)平面時,其起始偏移為0。當數(shù)據(jù)包進入流表匹配流程時,先計算數(shù)據(jù)包的起始地址(原地址+起始偏移),然后再比較匹配域和數(shù)據(jù)包中對應字段的值。

        以一個帶802.1Q標簽的IPv4數(shù)據(jù)包為例,如圖3所示,其在數(shù)據(jù)平面中的處理流程如下:

        步驟1數(shù)據(jù)包起始偏移為0,進入Table 0查表。

        步驟2Table 0匹配Ethernet Ⅱ幀頭部的類型域{96,16},數(shù)據(jù)包執(zhí)行指令“MPO 18,GOTO 4”,數(shù)據(jù)包的起始偏移由0改為18 byte,進入Table 4查表。

        步驟3Table 4匹配IPv4協(xié)議中目的IP地址{128,32},進行后續(xù)流程。

        值得注意的是,Table 4中目的IP地址字段的定義與以往不同:數(shù)據(jù)包起始偏移為0時,目的IP地址字段的偏移從數(shù)據(jù)包起點開始計算,為240 bit;而現(xiàn)在Table 4中數(shù)據(jù)包的起始偏移為18 byte,即144 bit,所以目的IP地址字段的偏移要從數(shù)據(jù)包144 bit的位置(即IPv4協(xié)議的起點)開始計算,為96 bit。

        為了更豐富公司的營銷體系,南通鵬越紡織有限公司應不斷著眼公司的直復營銷,優(yōu)化促銷策略。構建更及時、更直接和更完善的人員推銷體系,公司與聯(lián)絡點建立更加完善便捷和及時的聯(lián)絡溝通體系。更為重要的是,面對互聯(lián)網(wǎng)技術的競爭規(guī)則和營銷手段,南通鵬越紡織有限公司應緊跟時代步伐,探索網(wǎng)絡營銷新模式。

        圖3 含802.1Q標簽的IPv4數(shù)據(jù)包的處理流程

        不含802.1Q標簽的IPv4數(shù)據(jù)包處理流程類似:數(shù)據(jù)包在Table 0中執(zhí)行指令“MPO 14,GOTO 4”,將數(shù)據(jù)包的起始偏移修改為IPv4協(xié)議相對于數(shù)據(jù)包起點的位置,所以在Table 4中可以正確匹配目的IP地址字段,而無需增加新的流表。

        同樣地,可以將流表歸并后該數(shù)據(jù)包在數(shù)據(jù)平面中的處理流程抽象為如圖4所示的有向無環(huán)圖G′(V,E),其中每一級流表只解析一層協(xié)議。

        圖4 流表歸并后數(shù)據(jù)包處理流程G′(V,E)

        此時流表的每一跳分支路徑數(shù)不再影響后續(xù)流表的數(shù)量,且:

        ?j∈{0,1,...,N},kj=1

        (4)

        所以流表歸并后數(shù)據(jù)平面中所有流表占用的資源總量為:

        (5)

        流表占用資源縮減比例為:

        (6)

        可以看出,流表歸并方案消除了流表跳轉(zhuǎn)路徑數(shù)k對資源消耗的影響,即當各級流表匹配域長度相對固定時,流表跳轉(zhuǎn)的分支越復雜,流表歸并方案的優(yōu)化性能越高。需要補充的是,上述問題和方案的模型是針對單個數(shù)據(jù)包提出的,每一級流表的匹配域內(nèi)容相同。對于同層不同協(xié)議(如IPv4/IPv6、TCP/UDP等)的多種數(shù)據(jù)包的情況,可以看作在上述模型中添加更多的分支,流表歸并的整體思想和結果是相似的。

        根據(jù)上述原理,本文重新設計了流表,最終得到的數(shù)據(jù)包匹配流程與流表歸并前的對比如圖5所示。其中,流表歸并前一共需要13張流表:Table 0的匹配域是Ethernet Ⅱ幀頭部的類型域字段和802.1Q標簽的類型域字段,用于區(qū)分數(shù)據(jù)包的類型(是否為VLAN/QinQ報文),并根據(jù)分類結果進入不同的流表;Table 1~Table 6匹配IPv4/v6協(xié)議的源目的IP地址,考慮了是否為VLAN、QinQ報文的情況;Table 7~Table 12匹配TCP協(xié)議源目的端口號后轉(zhuǎn)發(fā)數(shù)據(jù)包,同樣考慮了是否為VLAN、QinQ報文的情況。流表歸并后流表的數(shù)量則從13張減少到了4張:Table 0的匹配域不變,用于區(qū)分數(shù)據(jù)包的類型,并根據(jù)分類結果通過調(diào)整MPO指令的參數(shù)來修改數(shù)據(jù)包的起始偏移,隨后進入下一張流表;Table 1和Table 2分別匹配IPv4和IPv6協(xié)議的源目的IP地址,并通過MPO指令將調(diào)整數(shù)據(jù)包的起始偏移至TCP協(xié)議起點后,進入下一張流表;Table 3匹配TCP協(xié)議的源目的端口號后轉(zhuǎn)發(fā)數(shù)據(jù)包。

        圖5 新舊方案數(shù)據(jù)包處理流程對比

        2 實驗與分析

        2.1 實驗環(huán)境

        為了驗證基于MAT模型的可編程數(shù)據(jù)平面流表歸并方案在實際應用中的合理性和有效性,本文在X86平臺的POF交換機上進行了驗證測試,分析了不同類型的流量面對本方案的應用效果,測試平臺軟硬件信息如表3所示。

        表3 測試平臺軟硬件參數(shù)

        使用Spirent SPT-C50作為流量發(fā)生器,環(huán)境拓撲如圖6所示。測試設計了3級流表,分別用于L2解析、源目的IP地址匹配、源目的TCP端口匹配,如圖7所示。其中L2解析和TCP端口匹配流表的匹配域總長度均為32 bit,源目的IP地址匹配流表分為IPv4流表和IPv6流表,匹配域總長度分別為64 bit和256 bit。

        圖6 環(huán)境拓撲

        圖7 流表配置

        2.2 數(shù)據(jù)包平均轉(zhuǎn)發(fā)延時測試

        本文測試流量包含IPv4/IPv6報文和IPv4/IPv6 VLAN報文,每種報文長度和數(shù)量相同。使用測試儀器以500 pps的發(fā)包速率向交換機循環(huán)發(fā)送,統(tǒng)計了流表歸并前后的數(shù)據(jù)包平均轉(zhuǎn)發(fā)時延、流表內(nèi)存使用量和平均指令執(zhí)行數(shù),結果如表4所示。

        表4 測試結果

        2.3 測試結果與分析

        從表4可以看出,流表歸并前后流表內(nèi)存使用量差距較大,這是流表數(shù)量大幅減少的結果。經(jīng)計算,流表歸并后節(jié)省了約69%的內(nèi)存。POF交換機建表時按最大匹配域長度分配內(nèi)存,所以根據(jù)式(6)預測流表占用資源縮減率時可以忽略參數(shù)m(l),最終在實驗環(huán)境下繪制出流表資源縮減率和第二級流表分支數(shù)的曲線,如圖8所示。可以看出,測試得到的結果和預測結果幾乎相同。

        圖8 流表資源縮減率預測曲線與實驗結果

        此外還發(fā)現(xiàn)流表歸并后數(shù)據(jù)包在交換機處理流程中平均執(zhí)行指令數(shù)增多,但數(shù)據(jù)包平均轉(zhuǎn)發(fā)時延有少量提升。經(jīng)分析驗證,其原因主要有2點:

        1)流表歸并后增加的MPO指令在幾個CPU時鐘內(nèi)就可以完成執(zhí)行,對數(shù)據(jù)包轉(zhuǎn)發(fā)時延的增加可以忽略不計;

        2)POF交換機的批處理查表機制會遍歷所有的流表,如果當前批次的數(shù)據(jù)包中有數(shù)據(jù)包需要查某張流表,就會執(zhí)行一輪查表循環(huán)。流表歸并前不同的報文會進入不同的流表查詢,所以需要查詢的流表數(shù)量更多,執(zhí)行的查表循環(huán)輪數(shù)更多。而流表歸并后不同的報文會進入相同的流表,整體查表次數(shù)更少。且查表所需時間比MPO指令執(zhí)行時間長很多,所以從最終結果看流表歸并后數(shù)據(jù)包轉(zhuǎn)發(fā)平均時延會更小。

        3 結束語

        本文從流表數(shù)量的層面入手,提出了一種基于MAT模型的可編程數(shù)據(jù)平面流表歸并方案,緩解了協(xié)議無感知的可編程數(shù)據(jù)平面應對復雜網(wǎng)絡數(shù)據(jù)包頭部協(xié)議組合時存在的流表冗余問題,通過減少流表數(shù)量大幅節(jié)約了數(shù)據(jù)平面的流表資源開銷。本文在POF交換機上完成了方案的驗證和測試,實驗結果表明,所提流表歸并方案能夠大幅縮減數(shù)據(jù)平面的流表資源消耗,且小幅提升數(shù)據(jù)包的平均轉(zhuǎn)發(fā)時延。

        未來的研究工作將在本文提出的方案基礎上結合表項管理機制進一步對流表空間進行優(yōu)化和研究。

        猜你喜歡
        流表表項字段
        圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
        一種改進的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流表控制
        軟件定義網(wǎng)絡中一種兩步式多級流表構建算法
        SDN數(shù)據(jù)中心網(wǎng)絡基于流表項轉(zhuǎn)換的流表調(diào)度優(yōu)化
        CNMARC304字段和314字段責任附注方式解析
        無正題名文獻著錄方法評述
        亚洲中出视频| 色多多a级毛片免费看| 日韩精品无码久久一区二区三| 无码区a∨视频体验区30秒| 国产精品人成在线观看不卡| 99久久无码一区人妻| 夜夜躁狠狠躁2021| 91精品国产福利尤物免费| 操老熟妇老女人一区二区| 中文字幕人成人乱码亚洲av| 欧美另类高清zo欧美| 国产精品无码无片在线观看3D| 97超碰中文字幕久久| 久久久精品午夜免费不卡| 国产性生交xxxxx免费| 日本理论片一区二区三区| 日本一区二区三区女优在线| 色欲网天天无码av| 日本55丰满熟妇厨房伦| 国产女主播免费在线观看| 日本一区二区三区视频国产| 国产精品无码午夜福利| 免费国产一级特黄aa大片在线| 国产一区二区三区在线av| 成人精品一区二区三区电影| 亚洲av成人精品日韩一区| av亚洲在线一区二区| 日本二一三区免费在线| 久久99热久久99精品| 人妻精品久久中文字幕| 日本精品一级二区三级| 人妻夜夜爽天天爽三区| 99福利网| 国产熟女露脸大叫高潮| 色综合久久中文娱乐网| 精品久久久久久久久久久aⅴ| 亚洲av有码精品天堂| 国产无套中出学生姝| 曰本极品少妇videossexhd| 日本精品一区二区在线看| 亚洲一区二区在线观看网址|