每條復雜條 件策略已經(jīng)轉(zhuǎn)化成一個簡單條件序列。
[0090] 到目前為止,Sl和S2上的服務功能實例鏈可W用W下表達式表達: P(Sl)=Pl(sl,eln-e^〉〉[P2(sl,elUe。出P2(sl,e3ne4)] P(s。=P2(s2,elUe。〉〉P3(s2,el) 第九步,本地控制器將組合后的策略編譯為化enFlow流表。
[0091] 1.將策略條件和動作翻譯為對應流表元組項,每一個條件或動作對應一個元組 項。根據(jù)表3中的對應關系,將服務功能實例中簡單條件網(wǎng)絡策略序列的條件和動作翻譯 成元組項。
2.每一條策略轉(zhuǎn)化為一條流表項,根據(jù)策略在策略序列中策略中的先后順序為流表 項添加優(yōu)先級。
[0093] 3.每一個服務功能實例對應一張流表。下面我們將S2上的"負載均衡"服務功 能實例下的若干策略轉(zhuǎn)化為流表作為示例。
[0094]策略:P3(sl,el)=<0stad化=10. 20. 7. 0/24) :fwd(4)〉 <*: Q> 流表: cookie二0x0,duration二59.411s,table二0,n_packets二0,n_bytes二0,idle-age=59,priority=59995,八過11_1(3;[二0如000actions=drop# 缺省條件匹配的數(shù)據(jù)包,執(zhí) 行丟包操作。
[0095] 二0x0, duration二59. 411s, table二0, n_packets二0, n_bytes二0, idle_age二59, priority=59998,ip,vlan_tci=0x0000,nw_dst=10. 20. 7. 0/24actions=ou化ut:4 # 目標 地址為10. 20. 7. 0/24的IP#數(shù)據(jù)包,從端口 4轉(zhuǎn)發(fā)出去。
[0096] 二0x0,duration=59.411s, table=0, n_packets=0, n_bytes=0, idle_age=59, priority二59996,arp,vlan_tci二0x0000,arp_tpa二10. 20. 7. 0/24actions二output:4 冉目 標地址為10. 20. 7. 0/24的ARP#數(shù)據(jù)包,從端口 4轉(zhuǎn)發(fā)出去。
[0097] 二0x0, duration二59. 411s, table二0, n_packets二0, n_bytes二0, idle_age二59, priority二59997,arp,in_port二4,vlan_tci二0x0000,arp_tpa二10. 20. 7. 0/24actions二IN_ PORT#從端口 4進入,目標地址為10. 20. 7. 0/24的ARP數(shù)據(jù)包,依然從端口 4轉(zhuǎn)發(fā)出去cookie二0x0,duration二59. 41Is,table二0,n_packets二0,n_bytes二0,idle_ age=59,priority=59999,ip,in_port=4,vlan_tci=0x0000,nw_dst=10. 20. 7. 0/24 actions=IN_PORT#從端口 4進入,目標地址為10. 20. 7. 0/24的IP數(shù)據(jù)包,依然從端口 4 轉(zhuǎn)發(fā)出去 cookie二0x0,duration二59. 41Is,table二0,n_packets二0,n_bytes二0,idle_age=59,priority=0actions=C0NTR0LLER:65535 # 無法匹配的轉(zhuǎn)發(fā)到控制器,重定向D
[0098] 第十步,本地控制器將流表下發(fā)至底層網(wǎng)絡節(jié)點,部署策略。
【主權項】
1. 一種面向SDN的業(yè)務需求轉(zhuǎn)化和部署方法,其特征在于,在SDN網(wǎng)絡結構中,實現(xiàn)抽 象的網(wǎng)絡業(yè)務請求到具體的網(wǎng)絡設備配置策略的轉(zhuǎn)換并部署,并根據(jù)網(wǎng)絡狀態(tài)動態(tài)調(diào)整部 署的網(wǎng)絡策略方案,其方法包括以下步驟: 1-1)SDN網(wǎng)絡結構由根控制器、本地控制器和網(wǎng)絡節(jié)點組成,根控制器管理多個本地控 制器,而本地控制器直接控制若干個網(wǎng)絡節(jié)點; 1-2)根控制器根據(jù)用戶提出的網(wǎng)絡業(yè)務需求創(chuàng)建服務功能鏈,同一服務功能鏈中服務 功能間的關系為:分類并行、復制并行、串行; 1-3)本地控制器向根控制器上報底層網(wǎng)絡節(jié)點的資源狀況; 1-4)根控制器根據(jù)底層網(wǎng)絡節(jié)點的資源狀況和服務功能鏈信息設計服務功能實例 鏈; 1-5)服務功能實例鏈中的每一個服務功能實例解析為一個針對多狀態(tài)的網(wǎng)絡策略的 選擇機制,每個網(wǎng)絡策略對應一種網(wǎng)絡狀態(tài)下的一套網(wǎng)絡配置; 1-6)根控制器根據(jù)當前網(wǎng)絡的狀態(tài),選擇合適的網(wǎng)絡策略下發(fā)給對應的本地控制器; 1-7)本地控制器對同一網(wǎng)絡節(jié)點上來自不同服務功能實例鏈的實例進行組合,組合類 型包括:無沖突、強沖突、弱沖突;組合方式包括:串行、分類并行、復制并行、合并、排他; 1-8)本地控制器對同一網(wǎng)絡策略中的復雜條件策略轉(zhuǎn)化為只含與和非操作的若干簡 單條件策略; 1-9)本地控制器將組合后的策略編譯為OpenFlow流表; 1- 10)本地控制器將流表下發(fā)至底層網(wǎng)絡節(jié)點,部署策略,如果部署成功跳轉(zhuǎn)至步驟 1-6),否則跳轉(zhuǎn)至步驟1-3)。2. 根據(jù)權利要求1所述的方法,其特征在于,所述的步驟1-2)根控制器根據(jù)用戶提出 的網(wǎng)絡業(yè)務需求創(chuàng)建服務功能鏈,同一服務功能鏈中服務功能間的關系為: 2- 1)串行:兩個服務功能有嚴格的執(zhí)行順序,前一個服務功能的輸出是后一個的輸 入; 2-2)分類并行:數(shù)據(jù)包將根據(jù)分類要求分成若干流,分別經(jīng)過并行的服務功能; 2- 3)復制并行:在分類并行的基礎上,部分數(shù)據(jù)包需要同時接受多個服務功能處理,這 些數(shù)據(jù)包將復制多份,分別經(jīng)過每個并行的服務功能。3. 根據(jù)權利要求1所述的方法,其特征在于,所述的步驟1-4)根控制器根據(jù)底層網(wǎng)絡 節(jié)點的資源狀況和服務功能鏈信息設計服務功能實例鏈,實施過程如下: 3- 1)向用戶獲取創(chuàng)建服務功能鏈的特征,包括服務功能的位置、數(shù)量和順序,所需CPU 和帶寬; 3-2)根據(jù)服務功能鏈的特征信息,通過本地控制器獲取可選網(wǎng)絡節(jié)點的資源狀況,包 括節(jié)點位置,CPU,帶寬,鏈路延時,支持的服務功能; 3- 3)基于服務功能鏈特征信息和網(wǎng)絡節(jié)點資源狀況,優(yōu)化計算出服務功能實例鏈的特 征信息。4. 根據(jù)權利要求1所述的方法,其特征在于,所述的步驟1-6)根控制器根據(jù)當前網(wǎng)絡 的狀態(tài),選擇合適的網(wǎng)絡策略下發(fā)給對應的本地控制器,具體操作過程如下: 4- 1)根控制器為每個服務功能實例建立一個"狀態(tài)參數(shù)一閾值"表,每個表中包含服務 功能實例敏感的參數(shù)及其設定的閾值; 4-2)根控制器為每個網(wǎng)絡節(jié)點建立一個參數(shù)一服務功能實例表,每個表中包含該節(jié)點 上被監(jiān)測參數(shù)及相關的服務功能實例編號; 4-3)根控制器建立一個狀態(tài)參數(shù)監(jiān)視表,該表是服務功能實例編號、本地控制器編號、 網(wǎng)絡節(jié)點編號、狀態(tài)參數(shù)一閾值表地址的對應表; 4-4)查詢狀態(tài)參數(shù)監(jiān)視表,根控制器通過本地控制器,將每個服務功能敏感的網(wǎng)絡狀 態(tài)參數(shù)和閾值發(fā)送給其實例相關的網(wǎng)絡節(jié)點; 4-5)當網(wǎng)絡狀態(tài)發(fā)生改變,且某參數(shù)匹配閾值時,網(wǎng)絡節(jié)點通過本地控制器發(fā)送一個 事件消息給根控制器; 4- 6)當根控制器接收到事件消息后,查詢參數(shù)一服務功能實例表獲得對應的服務功能 實例編號,然后從該服務功能實例對應的策略集合中選擇特定的網(wǎng)絡策略下發(fā)給對應的本 地控制器。5. 根據(jù)權利要求1所述的方法,其特征在于,所述的步驟1-7)本地控制器對同一網(wǎng)絡 節(jié)點上來自不同服務功能實例鏈的實例進行組合,組合類型包括:無沖突、強沖突、弱沖突; 組合方式包括:串行、分類并行、復制并行、合并、排他; 5- 1)本地控制器根據(jù)參與組合的服務功能的條件和動作來判斷策略組合的類型,無沖 突組合類型:參與組合的服務功能條件無交集,或者條件有交集且動作一樣;強沖突組合 類型:參與組合的服務功能條件有交集,且至少一方的動作為丟包;弱沖突組合類型:參與 組合的服務功能條件有交集,且動作均為不同目的的轉(zhuǎn)發(fā); 5- 2)本地控制器根據(jù)參與組合的服務功能的組合類型和動作來判斷功能間的組合方 式;當服務功能間的動作一致時,組合方式為:合并,即合并操作對條件進行或操作,動作 與參與組合的服務功能保持一致;當服務功能間組合類型為無沖突,動作卻不一致時,組合 方式為分類并行;當服務功能間的組合類型為強沖突時,組合方式可以根據(jù)用戶要求選擇 排他或者串行,當服務功能間的組合類型為弱沖突時,組合方式可以根據(jù)用戶要求選擇排 他、串行或者復制并行。6. 根據(jù)權利要求1所述的方法,其特征在于,所述的步驟1-8)本地控制器對同一網(wǎng) 絡策略中的復制條件策略轉(zhuǎn)化為只含與和非操作的若干簡單條件策略,其具體轉(zhuǎn)化過程如 下: 6- 1)本地控制器判斷每條策略中的條件是否為包含或、差和括號符號的組合條件,擁 有組合條件的網(wǎng)絡策略稱為復雜條件網(wǎng)絡策略,將該網(wǎng)絡節(jié)點上所有復雜條件網(wǎng)絡策略提 取出所有不含有或、差和括號符號的簡單條件網(wǎng)絡策略; 6_2)為每條簡單條件策略的末尾加上缺省條件,該簡單條件策略都未覆蓋的部分,形 成簡單條件策略序列; 6-3)任選兩個簡單條件策略序列進行條件組合生成簡單條件策略序列,按照條件覆蓋 范圍大小由小到大進行排序,在執(zhí)行條件組合時把或、差轉(zhuǎn)換成與、非進行運算; 6- 4)重復執(zhí)行6-3)操作,直到只有一個簡單條件策略序列為止。7. 根據(jù)權利要求1所述的方法,其特征在于,所述的步驟1-9)本地控制器將組合后的 策略編譯為OpenFlow流表,具體步驟如下: 7- 1)將策略條件和動作翻譯為對應流表元組項,每一個條件或動作對應一個元組 項; 7-2)每一條簡單條件策略轉(zhuǎn)化為一條流表項,根據(jù)策略在簡單條件策略序列中的先 后順序為流表項添加優(yōu)先級; 7-3)每一個服務功能實例對應一張流表。
【專利摘要】本發(fā)明公開了一種面向SDN的業(yè)務需求轉(zhuǎn)化和部署方法。它主要包括以下步驟:1)根據(jù)用戶提出的網(wǎng)絡業(yè)務需求創(chuàng)建服務功能鏈;2)本地控制器向根控制器上報底層網(wǎng)絡節(jié)點的資源狀況;3)根控制器設計服務功能實例鏈;4)每一個服務功能實例解析為一個多狀態(tài)的網(wǎng)絡策略的選擇機制;5)根控制器根據(jù)當前網(wǎng)絡的狀態(tài),選擇合適的網(wǎng)絡策略下發(fā)給對應的本地控制器;6)本地控制器對同一網(wǎng)絡節(jié)點上來自不同服務功能實例鏈的實例進行組合;7)本地控制器對同一網(wǎng)絡策略中的復雜條件策略轉(zhuǎn)化為若干簡單條件策略;8)本地控制器將組合后的策略編譯為OpenFlow流表;9)本地控制器將流表下發(fā)至底層網(wǎng)絡節(jié)點,部署策略。
【IPC分類】H04L12/24
【公開號】CN105406992
【申請?zhí)枴緾N201510709846
【發(fā)明人】董黎剛, 費碩成, 王偉明, 郭凱強, 張華飛
【申請人】浙江工商大學
【公開日】2016年3月16日
【申請日】2015年10月28日