欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法

文檔序號:6525599閱讀:206來源:國知局
一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法
【專利摘要】一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法,將控制器controller下發(fā)的多級流表的同一流表中的所有流表項采用等價類劃分,并映射成N叉樹;當(dāng)接收到一個新的流表項,將該新流表項加入到其所對應(yīng)的等價類中,完成對N叉樹的更新。既能保證完成流表的轉(zhuǎn)換工作,同時也盡可能減少了轉(zhuǎn)換工作給網(wǎng)絡(luò)性能帶來的影響。
【專利說明】一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法。
【背景技術(shù)】
[0002]無論是firewall還是OpenFlow,在這種多表自定義查找中,多級流表流水線的概念已經(jīng)被引入。一條完整的規(guī)則很可能被拆分多個部分,并以流表項的形式分別下發(fā)給不同的流表。同時,這些流表項之間通過可稱之為metadata的元素進行相互關(guān)聯(lián),確保其組成同一條完整的規(guī)則。當(dāng)數(shù)據(jù)包匹配到一個流表項時會執(zhí)行流表項中的指令,如果流表中有g(shù)oto跳轉(zhuǎn)指令,則該數(shù)據(jù)包就會跳轉(zhuǎn)到下一個或者是goto指令指定的流表中進行查找,查找到的流表項除了必須要與數(shù)據(jù)包的匹配域進行匹配外還需要與數(shù)據(jù)包所攜帶的metadata進行匹配。由于多級流表表結(jié)構(gòu)的復(fù)雜性,其很難在硬件中實現(xiàn),不同廠商所生產(chǎn)的硬件交換機的特性很可能不同。因此,當(dāng)網(wǎng)絡(luò)管理員下發(fā)規(guī)則到各個交換機時,其不得不考慮各個交換機的具體特性,然后再根據(jù)特定的需求構(gòu)造相應(yīng)的規(guī)則。而這個過程往往給網(wǎng)絡(luò)管理員帶來很大的負(fù)擔(dān)。
[0003]華為提出了一種OpenFlow中間層軟硬件多級流表的轉(zhuǎn)換技術(shù)。該技術(shù)的主要內(nèi)容是在交換機的軟件數(shù)據(jù)平面和硬件數(shù)據(jù)平面之間構(gòu)造一個中間層,這個中間層負(fù)責(zé)進行流表的轉(zhuǎn)換。而這個流表轉(zhuǎn)換的過程主要是每當(dāng)軟件數(shù)據(jù)平面接收到控制器下發(fā)的一個流表項時,其就會從第一個流表開始類似多級流表流水線的處理來構(gòu)造一個N叉樹來,然后在這個N叉樹中找到新接收到的流表項所在的枝干。最后,在將這些枝干所代表的規(guī)則進行轉(zhuǎn)換。華為提出的這種技術(shù)屬于暴力處理方式,具有很大的局限性。因為,其構(gòu)造的N叉樹不是增量更新的,控制器每下發(fā)一個新的流表項,其中間層并不是在以前的N叉樹進行增刪操作,而是要重新構(gòu)造N叉樹來處理。因此,其整個轉(zhuǎn)換的性能會受到極大地影響。

【發(fā)明內(nèi)容】

[0004]發(fā)明目的:本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足而提供一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法,既能保證完成流表的轉(zhuǎn)換工作,同時也盡可能減少了轉(zhuǎn)換工作給網(wǎng)絡(luò)性能帶來的影響。
[0005]技術(shù)方案:為了實現(xiàn)發(fā)明的目的,本發(fā)明公開了一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法,將控制器下發(fā)的多級流表的同一流表中的所有流表項采用等價類劃分,并映射成N叉樹;當(dāng)接收到一個新的流表項,將該新流表項加入到其所對應(yīng)的等價類中,完成對N叉樹的更新。
[0006]作為優(yōu)選,為了簡化等價類劃分工作并進一步減少整個轉(zhuǎn)換工作的效率,本發(fā)明所采用的等價類劃分方式為^fmetadata匹配域相同的流表項劃分成第一等價類;將流表項的goto指令中跳轉(zhuǎn)到下一個流表的ID號和instr_metadata值相等的流表項劃分成第二等價類。其中instr_metadata指的是數(shù)據(jù)包匹配到流表項后可能對數(shù)據(jù)包的metadata數(shù)據(jù)進行修改,修改的內(nèi)容即為instr_metadata,而修改的指令為write_metadata。[0007]作為優(yōu)選,為了只需要對N叉樹的節(jié)點進行簡單的增刪操作即能完成對N叉樹的更新,當(dāng)接收到一個新的流表項,分別查找該新流表項所屬的第一等價類和第二等價類;根據(jù)第一等價類所共有的父節(jié)點及第二等價類所共有的子節(jié)點來更新該新流表項的父子節(jié)點關(guān)系,完成N叉樹的更新。
[0008]作為優(yōu)選,為了達到能與硬件適配的目的,所述N叉樹用于查找需要轉(zhuǎn)換的多級流表流水線規(guī)則,并將其轉(zhuǎn)換成單表多域的單級流表,最終再將該單級流表拆分為硬件所適配的多級流表。
[0009]有益效果:本發(fā)明與現(xiàn)有技術(shù)相比:既能保證完成流表的轉(zhuǎn)換工作,同時也盡可能減少了轉(zhuǎn)換工作給網(wǎng)絡(luò)性能帶來的影響,在接收到控制器下發(fā)的流表項時,只需簡單的增刪操作就能完成對N叉樹的更新工作。
【專利附圖】

【附圖說明】
[0010]圖1為華為分治法的流程示意圖;
[0011]圖2為自定義多級流表相關(guān)的多級流表流水線示意圖;
[0012]圖3為本發(fā)明基于自定義多級流表增量更新的流表轉(zhuǎn)換方法的流程圖。
【具體實施方式】
[0013]下面結(jié)合附圖對本發(fā)明作更進一步的說明。
[0014]如圖1所示,華為所提出的分治法思想為:將控制器下發(fā)的多級流表映射成一個N叉樹;在該N叉樹查找到需要轉(zhuǎn)換的多級流表流水線規(guī)則并將其轉(zhuǎn)換成單表多域的單級流表;再將這個單級流表拆分成硬件所適配的多級流表。
[0015]如圖2所示,自定義多級流表中的多級流表流水線是由多個流表組成,每個流表又由多個流表項組成。一個流表中的某個流表項通過goto指令跳轉(zhuǎn)到另一張流表進行查找,可能查找到相匹配的多個流表項并且這些流表項也可能有g(shù)oto指令跳轉(zhuǎn)并查找到多個流表項。除此之外,一個流表項可能會出現(xiàn)來自多個不同流表的流表項跳轉(zhuǎn)到其所在的流表并與之相匹配上,所以在這種多表自定義查找中的多級流表表項間往往存在著這種多對多的映射關(guān)系。這種多對多的關(guān)系則可通過N叉樹的關(guān)系來表示,而每個節(jié)點存儲其父節(jié)點的指針鏈表,即為其所有父節(jié)點的集合。
[0016]將同一流表中的流表項按照兩大標(biāo)準(zhǔn)劃分等價類,兩個等價類分別為:將metadata匹配域相同的流表項劃分成第一等價類;將流表項的goto指令中跳轉(zhuǎn)到下一個流表的ID號和instr_metadata值相等的流表項劃分成第二等價類。其中,對于沒有g(shù)oto指令的流表項則令其下一個流表的ID號為-1 ;如果流表項沒有Write_metadata指令,則可以令instr_metadata值等于該流表項自身的metadata匹配域的值即可。
[0017]如圖3所示,包括以下步驟:
[0018](I)當(dāng)控制器下發(fā)一個新的流表項時,首先判斷其是否有g(shù)oto指令,有則獲取該新流表項的metadata匹配域、下一個流表的ID號以及instr_metadata值,否則令下一個流表的ID號為-1且instr_metadata為-1 ;
[0019](2)然后查找第一等價類,查找成功則更新該新流表項的N叉樹節(jié)點的父節(jié)點鏈表,否則根據(jù)metadata匹配域創(chuàng)建一個新的第一等價類,再根據(jù)新流表項所在流表的ID號以及metadata匹配域向前查找其所對應(yīng)的父節(jié)點,更新等價類的公共父節(jié)點鏈表;
[0020]再分別更新父節(jié)點所在的第二等價類的公共子節(jié)點鏈表;
[0021](3)最后查找第二等價類,查找成功則更新該新流表項的N叉樹節(jié)點的子節(jié)點鏈表,否則根據(jù)instr_metadata和下一個流表ID號創(chuàng)建一個新的第二等價類,根據(jù)下一個流表ID號查找其子節(jié)點,更新等價類的公共子節(jié)點鏈表;
[0022]再分別更新子節(jié)點所在的第一等價類的公共父節(jié)點鏈表。
[0023]從以上步驟可以看出我們對N叉樹的更新只需要進行簡單的增刪操作,這樣就減少了轉(zhuǎn)換工作給網(wǎng)絡(luò)性能帶來的影響。
【權(quán)利要求】
1.一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法,其特征在于,將控制器下發(fā)的多級流表的同一流表中的所有流表項采用等價類劃分,并映射成N叉樹;當(dāng)接收到一個新的流表項,將該新流表項加入到其所對應(yīng)的等價類中,完成對N叉樹的更新。
2.如權(quán)利要求1所述的一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法,其特征在于,所采用的等價類劃分方式為:將metadata匹配域相同的流表項劃分成第一等價類;將流表項的goto指令中跳轉(zhuǎn)到下一個流表的ID號和instr_metadata值相等的流表項劃分成第二等價類。
3.如權(quán)利要求2所述的一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法,其特征在于,當(dāng)接收到一個新的流表項,分別查找該新流表項所屬的第一等價類和第二等價類;根據(jù)第一等價類所共有的父節(jié)點及第二等價類所共有的子節(jié)點來更新該新流表項的父子節(jié)點關(guān)系,完成N叉樹的更新。
4.如權(quán)利要求1所述的一種基于自定義多級流表增量更新的流表轉(zhuǎn)換方法,其特征在于,所述N叉樹用于查找需要轉(zhuǎn)換的多級流表流水線規(guī)則,并將其轉(zhuǎn)換成單表多域的單級流表,最終再將該單級流表拆分為硬件所適配的多級流表。
【文檔編號】G06F17/30GK103729427SQ201310726837
【公開日】2014年4月16日 申請日期:2013年12月25日 優(yōu)先權(quán)日:2013年12月25日
【發(fā)明者】潘恒, 溫曙光, 關(guān)洪濤, 謝高崗 申請人:南京未來網(wǎng)絡(luò)產(chǎn)業(yè)創(chuàng)新有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
红桥区| 平江县| 扬中市| 兴安县| 油尖旺区| 喀什市| 五寨县| 会东县| 商河县| 仁怀市| 佛坪县| 眉山市| 静宁县| 临潭县| 贵定县| 德江县| 江都市| 吉木乃县| 滦南县| 盐津县| 林州市| 泰来县| 越西县| 象州县| 修武县| 高要市| 固安县| 新郑市| 富锦市| 金昌市| 临江市| 太保市| 宁晋县| 平度市| 成安县| 丹棱县| 固原市| 高碑店市| 讷河市| 葫芦岛市| 纳雍县|