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

        ?

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

        2022-07-29 06:22:36凌致遠(yuǎn)
        關(guān)鍵詞:資源

        凌致遠(yuǎn),陳 曉,宋 磊

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

        0 引 言

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

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

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

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

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

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

        1.1 問題描述

        在數(shù)據(jù)包頭部協(xié)議層數(shù)不同或協(xié)議長度可變的情況下,網(wǎng)絡(luò)編程人員需要對每種情況做出區(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)絡(luò)標(biāo)簽或協(xié)議,如802.1Q報(bào)文;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é)議組合設(shè)計(jì)一張流表,這將造成大量冗余的流表資源開銷。流表符號和定義如表1所示,流表結(jié)構(gòu)如表2所示。

        表1 符號和定義

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

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

        可以通過如圖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è)數(shù)據(jù)包處理過程中需要匹配N級流表,且數(shù)據(jù)包從第j-1級的某一張流表跳轉(zhuǎn)至第j級流表有kj條分支路徑(k0=1),記第j級流表的流表數(shù)量為sj,則有:

        (1)

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

        (2)

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

        (3)

        1.2 方案設(shè)計(jì)

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

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

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

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

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

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

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

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

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

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

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

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

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

        (4)

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

        (5)

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

        (6)

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

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

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

        2 實(shí)驗(yàn)與分析

        2.1 實(shí)驗(yàn)環(huán)境

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

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

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

        圖6 環(huán)境拓?fù)?/p>

        圖7 流表配置

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

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

        表4 測試結(jié)果

        2.3 測試結(jié)果與分析

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

        圖8 流表資源縮減率預(yù)測曲線與實(shí)驗(yàn)結(jié)果

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

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

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

        3 結(jié)束語

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

        未來的研究工作將在本文提出的方案基礎(chǔ)上結(jié)合表項(xiàng)管理機(jī)制進(jìn)一步對流表空間進(jìn)行優(yōu)化和研究。

        猜你喜歡
        資源
        讓有限的“資源”更有效
        污水磷資源回收
        基礎(chǔ)教育資源展示
        崛起·一場青銅資源掠奪戰(zhàn)
        一樣的資源,不一樣的收獲
        我給資源分分類
        資源回收
        做好綠色資源保護(hù)和開發(fā)
        資源再生 歡迎訂閱
        資源再生(2017年3期)2017-06-01 12:20:59
        激活村莊內(nèi)部治理資源
        決策(2015年9期)2015-09-10 07:22:44
        激情五月我也去也色婷婷| 狠狠色狠狠色综合| 精品国产一二三产品区别在哪 | 熟女人妻在线视频| av网站免费线看| 久久久久久中文字幕有精品| 青青草视频国产在线观看| 亚洲一区二区av免费观看| 日本九州不卡久久精品一区| 玩弄放荡人妇系列av在线网站| 人人妻人人澡人人爽人人精品| 四虎影视国产在线观看精品| 少妇高潮紧爽免费观看| 日韩精品视频av在线观看| 麻豆人妻性色av专区0000| 亚洲va中文字幕无码一二三区| 波多野42部无码喷潮在线| 无码粉嫩虎白一线天在线观看 | 精品视频一区二区三区日本| 天天摸夜夜摸夜夜狠狠摸| 国产大陆亚洲精品国产| 亚洲黄色在线看| 淫欲一区二区中文字幕| 色男色女午夜福利影院| 免费一级淫片日本高清| 亚洲综合欧美在线一区在线播放 | 男人天堂网在线视频| 国产精品1区2区| 女人一级特黄大片国产精品 | 亚洲大片一区二区三区四区| 精品国产午夜肉伦伦影院| 好大好深好猛好爽视频免费| 国产小毛片| 手机在线观看亚洲av| 国产精品国产三级国产aⅴ下载 | 在线视频中文字幕一区二区三区| 色综合视频一区中文字幕| 狠狠人妻久久久久久综合| 国产一区二区三区白浆在线观看| 人妻少妇被猛烈进入中文字幕| 天天鲁一鲁摸一摸爽一爽|