【技術實現步驟摘要】
本專利技術涉及網絡編碼
,主要適用于在OpenFlow交換機上實現網絡編碼的方法。
技術介紹
OpenFlow網絡,是一種新型的網絡創新架構,主要由控制器10和OpenFlow交換機11組成,如圖1中所示。OpenFlow交換機11功能專注而簡化,只負責數據的轉發;控制器10則對整個網絡進行集中控制,實現控制層功能??刂破?0通過標準的OpenFlow協議12與OpenFlow交換機11進行信息交互,從而進行統一、靈活高效的網絡維護和管理。由此可知,OpenFlow網絡不僅實現了將原有的完全由交換機/路由器控制的報文轉發形式轉化為基于流(相同源、目的地址的一系列連續的數據包)的轉發形式,而且將傳統的控制層面從 轉發設備中剝離出來,所有轉發行為的決策都遷移到了集中控制器上,從而實現了數據轉發和路由控制的分離。由于OpenFlow網絡具有集中控制、數據轉發層與控制層分離等特點,這讓我們看到了在其上應用網絡編碼的可能性。OpenFlow網絡為網絡編碼的應用提供了便利,同時網絡編碼也將為OpenFlow網絡帶來更好的網絡性能。2012年8月Felicidin Nemeth等人已經率先嘗試將網絡編碼應用于由OpenFlow交換機組成的蝶形網絡,這驗證了在OpenFlow網絡中使用網絡編碼的可行性。但他們只是在蝶形這種特殊網絡結構中實現了兩條流異或的編碼方式,無法推廣到一般網絡或多條流等復雜情況,不具有通用性。目前在OpenFlow網絡中應用網絡編碼技術還處于起步階段,并沒有較成熟的研究成果,還存在很多待解決的問題,國內此方向還處于空白階段,沒有相關研究。專利 ...
【技術保護點】
一種在OpenFlow交換機上實現網絡編碼的方法,其特征在于,包括:先在OpenFlow交換機的流表項中添加編碼行為和/或解碼行為;當所述OpenFlow交換機接收到待處理數據包時,為所述接收到的待處理數據包添加數據包的包頭域,所述數據包的包頭域包括編解碼所需的信息;再判斷接收到的待處理數據包的行為集合中是否有編碼行為和/或解碼行為;若接收到的待處理數據包的行為集合中有編碼行為和/或解碼行為,則將待處理數據包放入編碼隊列和/或解碼隊列;將在所述編碼隊列和/或所述解碼隊列中的數據包進行編碼操作和/或解碼操作,得到編碼后的數據包和/或解碼后的數據包。
【技術特征摘要】
1.一種在OpenFlow交換機上實現網絡編碼的方法,其特征在于,包括 先在OpenFlow交換機的流表項中添加編碼行為和/或解碼行為; 當所述OpenFlow交換機接收到待處理數據包時,為所述接收到的待處理數據包添加數據包的包頭域,所述數據包的包頭域包括編解碼所需的信息; 再判斷接收到的待處理數據包的行為集合中是否有編碼行為和/或解碼行為; 若接收到的待處理數據包的行為集合中有編碼行為和/或解碼行為,則將待處理數據包放入編碼隊列和/或解碼隊列; 將在所述編碼隊列和/或所述解碼隊列中的數據包進行編碼操作和/或解碼操作,得到編碼后的數據包和/或解碼后的數據包。2.如權利要求1所述的在OpenFlow交換機上實現網絡編碼的方法,其特征在于,所述當OpenFlow交換機接收到待處理數據包時,為接收到的待處理數據包添加數據包的包頭域包括當所述OpenFlow交換機接收到所述待處理數據包時,判斷待處理數據包是否來自數據源; 如果待處理數據包來自數據源,則說明待處理數據包為原始數據包,并為首次進入OpenFlow網絡的原始數據包添加包頭域; 如果待處理數據包不是來自數據源,而是來自其他OpenFlow交換機,則說明待處理數據包為編解碼后的數據包,則直接進行后續操作。3.如權利要求1所述的在OpenFlow交換機上實現網絡編碼的方法,其特征在于,所述判斷接收到的待處理數據包的行為集合中是否有編碼行為和/或解碼行為;若接收到的待處理數據包的行為集合中有編碼行為和/或解碼行為,則將待處理數據包放入編碼隊列和/或解碼隊列,包括首先通過對所述接收到的待處理數據包進行匹配流表來判斷是否能得到待處理數據包的行為集合; 若能夠得到待處理數據包的行為集合,則判斷所述行為集合的行為類型中是否有轉發行為;若所述行為類型中有轉發行為,則對待處理數據包進行轉發;否則判斷行為類型中是否有編碼行為和/或解碼行為,若行為類型中有編碼行為和/或解碼行為,則將待處理數據包放入所述編碼隊列和/或所述解碼隊列; 若不能得到待處理數據包的行為集合,則將待處理數據包的包頭通過安全通道發送給OpenFlow控制器,所述OpenFlow控制器將為OpenFlow交換機設置待處理數據包所在流對應的流表項,并將所述流表項發回所述OpenFlow交換機,由OpenFlow交換機響應。4.如權利要求1所述的在OpenFlow交換機上實現網絡編碼的方法,其特征在于,所述若接收到的待處理數據包的行為集合中有編碼行為和/或解碼行為,則將待處理數據包放入編碼隊列和/或解碼隊列,包括若所述接收到的待處理數據包的行為集合中有所述編碼行為和/或所述解碼行為,則先將待處理數據包轉化為待編解碼處理的數據包,再根據數據包的行為集合中的行為類型,將待編解碼處理的數據包放入所述編碼隊列和/或所述解碼隊列;其中,待編解碼處理的數據包,包括數據包、數據包的行為類型、數據包的存活時間、數據包所在流的ID、數據包在流中的序列號、數據包已編碼過流的個數、與數據包進行編解碼的流的個數、將與數據包進行編解碼的流的ID、數據包將幫助解碼的流的ID及編解碼后的流的ID。5.如權利要求1-4中任意一項所述的在OpenFlow交換機上實現網絡編碼的方法,其特征在于,所述將在編碼隊列和/或解碼隊列中的數據包進行編碼操作和/或解碼操作,得到編碼后的數據包和/或解碼后的數據包,包括先遍歷所述編碼隊列和/或所述解碼隊列中已存的數據包是否有超時的;若編碼隊列中有超時的已存的數據包,則對所述超時的已存的數據包重新進行流表匹配;...
【專利技術屬性】
技術研發人員:戴彬,趙文文,徐冠,呂璐,黃本雄,
申請(專利權)人:華中科技大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。