[發明專利]SDN網絡中網絡編碼進行組播傳輸的方法有效
申請號: | 201710368670.2 | 申請日: | 2017-05-23 |
公開(公告)號: | CN107196860B | 公開(公告)日: | 2021-06-04 |
發明(設計)人: | 邢煥來;周芯宇;李可;楊慧;葉佳 | 申請(專利權)人: | 西南交通大學 |
主分類號: | H04L12/761 | 分類號: | H04L12/761;H04L12/931;H04L12/18;H04L1/00 |
代理公司: | 成都宏順專利代理事務所(普通合伙) 51227 | 代理人: | 李順德 |
地址: | 610031 四*** | 國省代碼: | 四川;51 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | sdn 網絡 編碼 進行 傳輸 方法 | ||
1.SDN網絡中網絡編碼進行組播傳輸的方法,其特征在于,其步驟如下:
a、控制器構建全局網絡拓撲信息;
b、組播接收端成員入組;
c、組播發送端發送組播流;
d、控制器計算路由路徑、下發流表項;
e、Openvswitch交換機源發送節點初次編碼原始組播數據;
f、Openvswitch交換機中間編碼節點再次編碼中間數據;
g、Openvswitch交換機目的解碼節點解碼還原數據;
其中,所述Openvswitch交換機具有支持網絡編碼的OpenFlow協議,所述控制器為支持OpenFlow協議的控制器,所述Openvswitch交換機為支持所述OpenFlow協議并且可編碼、解碼的交換機;
所述OpenFlow協議中設有支持網絡編碼的NCAction,該NCAction可以和其他Action組合成一個行動集,裝載到所述流表項中,每次匹配到該流表項時,都執行該行動集;
控制器提供可以使用的NCAction對象;
Openvswitch交換機具有NCAction并且具有可編碼、解碼的模塊,所述NCAction由控制器主動發往所述Openvswitch交換機,包含在下流表項的指令集中,當數據包匹配到該流表項時,便執行對應的網絡編碼、解碼動作;
匹配流表項時,在“structxlate_out”類型參數“xout”中添加NCAction的2個字段:nc_type和nc_max_flow,在匹配到或檢查到含有NCAction的流表項時,再執行該Action時,把NCAction的nc_type和nc_max_flow通過“xout”傳出去,在數據包統一轉發回內核模塊前進行編碼、或解碼操作;
在上述的“xout”傳出參數中設置一個標志,名為“boolhas_nc”,表示該條流表項是否含有NCAction,執行Action時,若匹配到含有NCAction的流表項,該標志“has_nc”置true,新增流表項安裝到內核模塊前,先檢查該標志“has_nc”,為true則不用安裝,否則要安裝;
對源發送端編碼節點的OutputAction做特殊處理,一個OutputAction只能轉發一種編碼層次的數據包,下一種不同編碼層次的數據包需要從另一個不同的端口轉發出去,源編碼節點的編碼層次等于網絡最大流;
通過自行擴張在OpenFlow原始協議設置NCAction,自行擴展方法如下:
(1)在Ryu目錄中的ofproto/ofproto_v1_3.py文件中定義2個常量:
1)OFPAT_NC=28,該常量代表NCAction的枚舉標識,必須與Openvswitch中定義的NCAction標識相等;
2)OFP_ACTION_NC_SIZE=16,該常量表示NCAction的數據長度;
(2)在Ryu目錄中的ofproto/ofproto_v1_3_parser.py文件中定義NCAction的實現類:
1)實現類必須繼承自Ryu提供的OpenFlow中所有Action的基類“OFPAction”:
classOFPActionNC(OFPAction);
2)實現類必須用Ryu指定的裝飾器結合上述定義的常量進行修飾,
@OFPAction.register_action_type(OFPAT_NC,OFP_ACTION_NC_SIZE)
classOFPActionNC(OFPAction);
3)實現類必須實現3個接口:
__init__():用于初始化;
parser():用于從數據流中解析出NCAction;
serialize():用于把NCAction打包到數據流中;
在Openvswitch中擴展新的Action,以下是主要步驟:
在Openvswitch目錄中的include/OpenFlow/OpenFlow-1.3.h文件中,找到OpenFlow-1.3協議的Action枚舉定義,添加NCAction的枚舉定義值,該枚舉定義值必須與Ryu控制器中定義的NCAction枚舉標識一致;
在include/OpenFlow/OpenFlow-1.3.h文件中,添加NCAction對應的結構體定義,說明NCAction包含的字段屬性;
在lib/ofp-util.def文件中,在“#ifndefOFPAT11_ACTION”區域中,添加NCAction對應的宏定義;
在lib/ofp-actions.c文件中,在“unionofp_action”定義中,聲明NCAction對應的結構體變量;
在lib/ofp-actions.h文件中,添加NCAction對應的抽象Action宏定義;
在lib/ofp-actions.h文件中,添加NCAction對應的抽象Action結構體定義;
在lib/ofp-actions.c文件中,在接口“ofpact_from_OpenFlow11()”中,添加NCAction對應的case分支,生成其對應的抽象Action;
在lib/ofp-actions.c文件中,在接口“ovs_instruction_type_from_ofpact_type()”和接口“ofpact_check__()”中,添加NCAction對應的case分支,返回檢測結果為真;
在lib/ofp-actions.c文件中,在接口“ofpact_is_allowed_in_actions_set()”中,添加NCAction對應的case分支,表明NCAction支持填充到行動集中;
在lib/ofp-actions.c文件中,在接口“ofpacts_execute_action_set()”中,添加NCAction對應的語句,指定NCAction在行動集中的執行順序;
在ofproto/ofproto-dpif-xlate.c文件中,在接口“do_xlate_actions()”中,添加NCAction對應的case分支,執行相應的操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西南交通大學,未經西南交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710368670.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種整體加強型模數式多向變位伸縮裝置以及方法
- 下一篇:一種組合式橋梁護欄