本發(fā)明涉及通信技術領域,尤其涉及一種業(yè)務功能鏈的創(chuàng)建方法及系統(tǒng)。
背景技術:
傳統(tǒng)的業(yè)務功能鏈(英文全稱:Service Function Chaining,英文縮寫:SFC)是由一系列專有的網(wǎng)絡功能組成,網(wǎng)絡功能包括防火墻、負載均衡器以及應用控制器等。在新的服務需求下,一些網(wǎng)絡功能必須按照一定的順序進行部署和互聯(lián),這將使的業(yè)務功能鏈的部署變得復雜且耗時,拓撲的改變需要周密的考慮,且需要很高的運營成本,而網(wǎng)絡功能虛擬化(英文全稱:Network Function Virtualization,英文縮寫:NFV)的發(fā)展,給SFC技術帶來了新的機遇和發(fā)展,通過NFV的方式,服務提供商可以為SFC創(chuàng)建一個虛擬的環(huán)境,消除傳統(tǒng)的專有硬件部署,在虛擬的環(huán)境中對需要的網(wǎng)絡功能按照一定的順序進行串接將更加方便。
當前的一種SFC技術方案為:采用統(tǒng)一的結構,只在系統(tǒng)入口對數(shù)據(jù)路徑作統(tǒng)一處理,形成一條條完整的數(shù)據(jù)路徑,對每條數(shù)據(jù)路徑的網(wǎng)絡服務數(shù)據(jù)包報頭(英文全稱:Network Service Header,英文縮寫:NSH)在系統(tǒng)入口處作統(tǒng)一管理。在該SFC技術方案下,數(shù)據(jù)包的傳輸過程為:在系統(tǒng)入口,數(shù)據(jù)包到達數(shù)據(jù)中心(英文全稱:Data Center,英文縮寫:DC),假設為DC1,數(shù)據(jù)包首先進入DC1的分類器進行分類,分類器給該數(shù)據(jù)包分配一個網(wǎng)絡服務數(shù)據(jù)包報頭(英文全稱:Network Service Header,英文縮寫:NSH),該NSH為系統(tǒng)內的數(shù)據(jù)包前向轉發(fā)標識,該NSH是DC1中創(chuàng)建業(yè)務功能路徑(英文全稱:Service Function Path,英文縮寫:SFP)時預分配的多個NSH中的一個,通過該NSH標識,系統(tǒng)接收到的數(shù)據(jù)包會自動進行數(shù)據(jù)傳輸;通過DC1后,數(shù)據(jù)包會被壓縮(此時數(shù)據(jù)包還攜帶有NSH),并且接收到一個虛擬可擴展局域網(wǎng)標識(英文全稱:Virtual Extensible LAN Identifier,英文縮寫:VXLAN ID),該VXLAN ID用于指示傳輸?shù)较乱粩?shù)據(jù)中心DC2的路徑;當數(shù)據(jù)到達DC2時,VXLAN ID將在DC2的第一個轉換節(jié)點上刪除,然后基于數(shù)據(jù)包內的NSH信息做出進一步數(shù)據(jù)處理和傳輸。
該SFC技術方案不考慮各個數(shù)據(jù)中心內部網(wǎng)絡拓撲的不同,默認為所有的網(wǎng)絡環(huán)境都一樣,數(shù)據(jù)中心內部網(wǎng)絡和數(shù)據(jù)中心之間的網(wǎng)絡沒有不同之處,作統(tǒng)一處理。但是實際上,數(shù)據(jù)中心內部網(wǎng)絡有低時延、高容量、虛擬化、沒有內部連接成本特性,而數(shù)據(jù)中心之間的網(wǎng)絡的時延至少比數(shù)據(jù)中心內部網(wǎng)絡的時延大一個數(shù)量級,容量有限,且有一定的成本,所以數(shù)據(jù)中心內部網(wǎng)絡與數(shù)據(jù)中心之間的網(wǎng)絡之間是有區(qū)別的,作統(tǒng)一處理顯然會對需要實時傳輸?shù)臄?shù)據(jù)造成影響。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種業(yè)務功能鏈的創(chuàng)建方法及系統(tǒng),在數(shù)據(jù)傳輸過程中,能夠通過子路徑減少對需要實時傳輸?shù)臄?shù)據(jù)造成的影響。
有鑒于此,本發(fā)明第一方面提供了一種業(yè)務功能鏈的創(chuàng)建方法,應用于業(yè)務功能鏈的創(chuàng)建系統(tǒng),該系統(tǒng)包括業(yè)務功能鏈SFC編排器以及至少兩個控制器,包括:
所述SFC編排器接收服務管理器下發(fā)的SFC定義消息,所述SFC定義消息包含待創(chuàng)建的一條端到端的業(yè)務功能鏈的網(wǎng)絡功能以及所述網(wǎng)絡功能在所述業(yè)務功能鏈上的排列順序;
所述SFC編排器根據(jù)所述SFC定義消息以及當前通信限制條件確定所述網(wǎng)絡功能對應的控制器,將所述SFC定義消息發(fā)送給所述控制器;
所述控制器根據(jù)所述SFC定義消息生成有效子路徑的集合,安裝所述有效子路徑的集合中的每條有效子路徑,并為每條有效子路徑分配路徑標識ID,在安裝完成后,向所述SFC編排器發(fā)送安裝完成消息,所述安裝完成消息包含具有路徑標識ID的有效子路徑的集合;
所述SFC編排器根據(jù)所述安裝完成消息決策所述一條端到端的業(yè)務功能鏈,根據(jù)決策的所述一條端到端的業(yè)務功能鏈向所述控制器發(fā)送綁定消息,所述綁定消息中包含被選擇的有效子路徑;
所述控制器根據(jù)所述綁定消息從所述有效子路徑的集合中綁定所述被選擇的有效子路徑,在綁定成功后,向所述SFC編排器發(fā)送綁定成功消息;
所述SFC編排器根據(jù)所述綁定成功消息確定所述業(yè)務功能鏈創(chuàng)建成功,向所述服務管理器上報所述業(yè)務功能鏈創(chuàng)建成功,以使得所述服務管理器確定所述業(yè)務功能鏈創(chuàng)建成功。
可選地,SFC編排器可以預先引入,用于對各個有效子路徑作編排處理,使得各個根據(jù)綁定消息確定的有效子路徑鏈接成一個完成的業(yè)務功能鏈,SFC定義消息可以劃分為多個子消息。
可選的,SFC定義消息還可以包含網(wǎng)絡功能在所述業(yè)務功能鏈上的起始點和終止點。
可選地,通信限制條件可以為時延、負載均衡等。
可選地,控制器還可以生成相應的轉發(fā)規(guī)則,該轉發(fā)規(guī)則用于決定控制器傳輸數(shù)據(jù)流到相應的網(wǎng)絡功能或數(shù)據(jù)中心。
可見,控制器根據(jù)SFC定義消息生成所有可能的子路徑,將所有可能的子路徑的消息發(fā)送給SFC編排器,使得SFC編排器決策一條完整的業(yè)務功能鏈。每個子路徑有單獨的控制器,只對本地進行管理和控制,從而能夠減少對需要實時傳輸?shù)臄?shù)據(jù)造成的影響。
在一些可能的實現(xiàn)方式中,若所述控制器為第一控制器,所述第一控制器對應著第一分類器,所述方法還包括:若所述綁定消息未攜帶有第二分類器的互聯(lián)網(wǎng)協(xié)議IP地址,則所述第一控制器與所述第二分類器對應的第二控制器進行通信連接,以獲取所述第二分類器的IP地址。
在另一些可能的實現(xiàn)方式中,所述方法還包括:所述控制器接收所述SFC編排器下發(fā)的第一消息,所述第一消息為將第一網(wǎng)絡功能添加到與所述控制器相關聯(lián)的數(shù)據(jù)中心的本地路徑中的消息;所述控制器根據(jù)所述第二消息在所述數(shù)據(jù)中心的本地路徑中生成第一本地子路徑,并將所述第一網(wǎng)絡功能添加到所述第一本地子路徑中。
在另一些可能的實現(xiàn)方式中,所述方法還包括:所述控制器將與所述第一本地子路徑相關聯(lián)的網(wǎng)絡服務數(shù)據(jù)包報頭NSH發(fā)送給與所述控制器對應的分類器。
在另一些可能的實現(xiàn)方式中,所述方法還包括:所述控制器修改所述第一網(wǎng)絡功能的網(wǎng)絡拓撲信息。
在另一些可能的實現(xiàn)方式中,所述方法還包括:所述控制器接收所述SFC編排器下發(fā)的第二消息,所述第二消息為將第二網(wǎng)絡功能從所述控制器相關聯(lián)的數(shù)據(jù)中心的第二本地子路徑中移除的消息;所述控制器在所述控制器對應的分類器中移除與所述第二本地子路徑相關聯(lián)的網(wǎng)絡服務數(shù)據(jù)包報頭NSH,以便移除所述第二網(wǎng)絡功能。
在另一些可能的實現(xiàn)方式中,所述方法還包括:當?shù)谌W(wǎng)絡功能失效時,所述控制器接收第三消息,所述第三消息為所述第三網(wǎng)絡功能失效的消息;所述控制器根據(jù)所述第三消息確定第三本地子路徑,所述第三本地子路徑用于替代所述第三網(wǎng)絡功能對應的本地子路徑。
可見,1、SFC編排器在數(shù)據(jù)中心級別上,有不同的控制器和分類器,每個數(shù)據(jù)中心相對獨立,相互之間不受影響:不同數(shù)據(jù)中心有不同的解決方案;一個數(shù)據(jù)中心內的伸縮性操作不會影響其他的數(shù)據(jù)中心;數(shù)據(jù)中心內的負載均衡對其他數(shù)據(jù)中心來說是透明的,可感知的。2、每個控制器維護數(shù)據(jù)路徑減少,一個子路徑可能服務多個端到端路徑,故整個路徑維護的數(shù)據(jù)鏈路減少。3、具有高可用性,如子路徑出現(xiàn)故障,本發(fā)明實施例不需要將故障信息傳播到其他的數(shù)據(jù)中心,在本地數(shù)據(jù)中心就可以解決,并且不會影響其他數(shù)據(jù)中心。4、具有高魯棒性,因為本地數(shù)據(jù)中心對功能失效時作出的處理響應更快,另外,數(shù)據(jù)中心內部的通信時延不會影響高可用性操作。5、減少了NSH帶來的信令開銷?,F(xiàn)有技術中,一個1500字節(jié)的數(shù)據(jù)包中總共有106比特的開銷,開銷占7%,而本發(fā)明實施例,一個1500字節(jié)的數(shù)據(jù)包中,總共只有28字節(jié)的開銷,相當于開銷只占1.86%,顯然大大減少了信令開銷。
本發(fā)明第二方面提供了一種業(yè)務功能鏈的創(chuàng)建系統(tǒng),包括:
業(yè)務功能鏈SFC編排器以及至少兩個控制器;
所述SFC編排器用于接收服務管理器下發(fā)的SFC定義消息;根據(jù)所述SFC定義消息以及當前通信限制條件確定所述網(wǎng)絡功能對應的控制器,將所述SFC定義消息發(fā)送給所述控制器;所述SFC定義消息包含待創(chuàng)建的一條端到端的業(yè)務功能鏈的網(wǎng)絡功能以及所述網(wǎng)絡功能在所述業(yè)務功能鏈上的排列順序;
所述控制器用于根據(jù)所述SFC定義消息生成有效子路徑的集合,安裝所述有效子路徑的集合中的每條子路徑,并為每條有效子路徑分配路徑標識ID,在安裝完成后,向所述SFC編排器發(fā)送安裝完成消息,所述安裝完成消息包含具有路徑標識ID的有效子路徑的集合;
所述SFC編排器還用于根據(jù)所述安裝完成消息決策所述一條端到端的業(yè)務功能鏈,根據(jù)決策的所述一條端到端的業(yè)務功能鏈向所述控制器發(fā)送綁定消息,所述綁定消息中包含被選擇的有效子路徑;
所述控制器還用于根據(jù)所述綁定消息從所述有效子路徑的集合中綁定所述被選擇的有效子路徑,在綁定完成后,向所述SFC編排器發(fā)送綁定成功消息;
所述SFC編排器還用于根據(jù)所述綁定成功消息確定所述業(yè)務功能鏈創(chuàng)建成功,向所述服務管理器上報所述業(yè)務功能鏈創(chuàng)建成功,以使得所述服務管理器確定所述業(yè)務功能鏈創(chuàng)建成功。
在一些可能的實現(xiàn)方式中,若所述控制器為第一控制器,所述第一控制器對應著第一分類器,所述控制器還用于若所述綁定消息未攜帶有第二分類器的互聯(lián)網(wǎng)協(xié)議IP地址,則與所述第二分類器對應的第二控制器進行通信連接,以獲取所述第二分類器的IP地址。
在另一些可能的實現(xiàn)方式中,所述控制器還用于接收所述SFC編排器下發(fā)的第一消息,所述第一消息為將第一網(wǎng)絡功能添加到與所述控制器相關聯(lián)的數(shù)據(jù)中心的本地路徑中的消息;根據(jù)所述第一消息在所述數(shù)據(jù)中心的本地路徑中生成第一本地子路徑,并將所述第一網(wǎng)絡功能添加到所述第一本地子路徑中。
在另一些可能的實現(xiàn)方式中,所述控制器還用于將與所述第一本地子路徑相關聯(lián)的網(wǎng)絡服務數(shù)據(jù)包報頭NSH發(fā)送給與所述控制器對應的分類器。
在另一些可能的實現(xiàn)方式中,所述控制器還用于修改所述第一網(wǎng)絡功能的網(wǎng)絡拓撲信息。
在另一些可能的實現(xiàn)方式中,所述控制器還用于接收所述SFC編排器下發(fā)的第二消息,所述第二消息為將第二網(wǎng)絡功能從所述控制器相關聯(lián)的數(shù)據(jù)中心的第二本地子路徑中移除的消息;在所述控制器對應的分類器中移除與所述第二本地子路徑相關聯(lián)的網(wǎng)絡服務數(shù)據(jù)包報頭NSH,以便移除所述第二網(wǎng)絡功能。
在另一些可能的實現(xiàn)方式中,所述控制器還用于當?shù)谌W(wǎng)絡功能失效時,接收第三消息,所述第三消息為所述第三網(wǎng)絡功能失效的消息;根據(jù)所述第三消息確定第三本地子路徑,所述第三本地子路徑用于替代所述第三網(wǎng)絡功能對應的本地子路徑。
可選地,系統(tǒng)還可以包括分類器以及數(shù)據(jù)中心,每個數(shù)據(jù)中心都有本地決策的分類器和控制器,數(shù)據(jù)中心部署了一些網(wǎng)絡功能,每個網(wǎng)絡功能對應著一個轉發(fā)器SW,每個分類器下掛有多個SW。
從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:控制器根據(jù)SFC定義消息生成所有可能的子路徑,將所有可能的子路徑的消息發(fā)送給SFC編排器,使得SFC編排器決策一條完整的業(yè)務功能鏈。每個子路徑有單獨的控制器,只對本地進行管理和控制,從而在數(shù)據(jù)傳輸過程中,能夠減少對需要實時傳輸?shù)臄?shù)據(jù)造成的影響。
附圖說明
圖1為本發(fā)明實施例系統(tǒng)架構圖;
圖2為本發(fā)明實施例業(yè)務功能鏈的創(chuàng)建方法一個實施例示意圖;
圖3為本發(fā)明實施例業(yè)務功能鏈的創(chuàng)建方法另一個實施例示意圖;
圖4為本發(fā)明實施例網(wǎng)絡功能添加到數(shù)據(jù)中心的一個實施例示意圖;
圖5為本發(fā)明實施例網(wǎng)絡功能添加到數(shù)據(jù)中心的另一個實施例示意圖;
圖6為本實施例網(wǎng)絡功能的刪除一個實施例示意圖;
圖7為本發(fā)明實施例網(wǎng)絡功能的故障處理一個實施例示意圖;
圖8為本發(fā)明實施例業(yè)務功能鏈的創(chuàng)建系統(tǒng)一個實施例示意圖。
具體實施方式
本發(fā)明實施例提供了一種業(yè)務功能鏈的創(chuàng)建方法及系統(tǒng),能夠通過子路徑減少對需要實時傳輸?shù)臄?shù)據(jù)造成的影響。
本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的實施例能夠以除了在這里圖示或描述的內容以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。
本發(fā)明可以應用于目前所有的通信系統(tǒng),包括第二代移動通信(英文全稱:Second Generation,英文縮寫:2G)、3G、長期演進(英文全稱:Long Term Evolution,英文縮寫:LTE)、無線保真(英文全稱:WIreless-Fidelity,英文縮寫:WI-FI)等,應用的系統(tǒng)架構可以如圖1所示,圖1是一種混合式部署的應用架構,其有多個數(shù)據(jù)中心,每個數(shù)據(jù)中心所包含的網(wǎng)絡功能不一,業(yè)務功能鏈將不同的網(wǎng)絡功能串接在一起,為特定的業(yè)務服務,可以實現(xiàn)以下邏輯:業(yè)務功能鏈的管理,包括動態(tài)部署和運行;數(shù)據(jù)流分類;在業(yè)務功能鏈上進行數(shù)據(jù)包路由;負載均衡處理;可靠性保障等。
下面結合具體的實施例對本發(fā)明實施例中業(yè)務功能鏈的創(chuàng)建方法進行說明:
請參閱圖2,本發(fā)明實施例中業(yè)務功能鏈的創(chuàng)建方法一個實施例包括:
101、SFC編排器接收服務管理器下發(fā)的SFC定義消息;
本實施例中,SFC編排器接收到服務管理器下發(fā)的SFC定義消息,SFC定義消息可以包含要部署的業(yè)務模型,業(yè)務模型中可以包含待創(chuàng)建的一條端到端的業(yè)務功能鏈的各個網(wǎng)絡功能以及各個網(wǎng)絡功能在業(yè)務功能鏈上的排列順序,還可以包含各個網(wǎng)絡功能在業(yè)務功能鏈上的起始點和終止點,起始點和終止點是用來決定哪個數(shù)據(jù)中心參與到SFC部署中的。
需要說明的是,SFC編排器可以預先引入,用于對各個有效子路徑作編排處理,使得各個根據(jù)綁定消息確定的有效子路徑鏈接成一個完整的業(yè)務功能鏈。SFC定義消息可以劃分為多個子消息,每個子消息可以對應一個控制器。
102、SFC編排器根據(jù)SFC定義消息以及當前通信限制條件確定網(wǎng)絡功能對應的控制器,將SFC定義消息發(fā)送給控制器;
本實施例中,通信限制條件可以為時延、負載均衡等,還可以為其他,此處不作限定。
需要說明的是,SFC定義消息可以劃分為多個子消息,每個子消息對應著一個控制器,每個子消息通過對應的控制器進行相應的傳輸,上述將SFC定義消息發(fā)送給控制器也可以理解為將每個子消息發(fā)送給相應的控制器。
103、控制器根據(jù)SFC定義消息生成有效子路徑的集合,安裝有效子路徑的集合中的每條有效子路徑,并為每條有效子路徑分配路徑標識ID,在安裝完成后,向SFC編排器發(fā)送安裝完成消息,該安裝完成消息包含具有路徑標識ID的有效子路徑的集合;
本實施例中,每個控制器生成有效子路徑的集合后,安裝每條有效子路徑,并為每條有效子路徑分配路徑標識ID,在安裝完成后,向SFC編排器發(fā)送安裝完成消息,該安裝完成消息包含有效子路徑的集合,有效子路徑的集合中的每條有效子路徑具有標識ID。
其中,有效子路徑的集合的消息包含集合中的每個有效子路徑的標識ID,每個有效子路徑的起始點和終止點分別為業(yè)務模型中的網(wǎng)絡功能在待創(chuàng)建的業(yè)務功能鏈上的起始點和終止點。有效子路徑的集合可以為所有可能的有效子路徑。
需要說明的是,每個控制器還可以根據(jù)SFC定義消息以及本地的域來生成有效子路徑的集合。
需要說明的是,本地的域指的是每個控制器下掛的多個轉發(fā)器。
104、SFC編排器根據(jù)安裝完成消息決策一條端到端的業(yè)務功能鏈,根據(jù)決策的端到端的業(yè)務功能鏈向控制器發(fā)送綁定消息;
本實施例中,SFC獲取到各個控制器發(fā)送的所有可用的有效子路徑后,SFC編排器從所有可用的有效子路徑中決策出一條完整的端到端的業(yè)務功能鏈,分別向相應的控制器發(fā)送綁定消息,綁定消息可以為“綁定SFC”消息,綁定消息中包含被選擇的有效子路徑,還可以包含被選擇的有效子路徑的網(wǎng)絡服務數(shù)據(jù)包報頭(英文全稱:Network Service Header,英文縮寫:NSH)和相應的控制器的IP地址,
105、控制器根據(jù)綁定消息從有效子路徑的集合中綁定被選擇的有效子路徑,在綁定成功后,向SFC編排器發(fā)送綁定成功消息;
控制器接收到SFC編排器發(fā)送的綁定消息后,綁定相應的有效子路徑,生成分類器的新規(guī)則,該分類器的新規(guī)則也決定了如何傳輸數(shù)據(jù)流到其他域或數(shù)據(jù)中心,也即是完成端到端的業(yè)務功能鏈的創(chuàng)建,創(chuàng)建完成后,每個控制器發(fā)送相應的消息告知SFC編排器。
可選地,若控制器為第一控制器,第一控制器對應著第一分類器,還包括:
若綁定消息未攜帶有第二分類器的IP地址,則第一控制器與第二分類器對應的第二控制器進行通信連接,以獲取第二分類器的IP地址。
需要說明的是,若綁定消息攜帶有第二分類器的IP地址,則步驟105中的可選地步驟可以跳過。
106、SFC編排器根據(jù)綁定成功消息確定業(yè)務功能鏈創(chuàng)建成功,向服務管理器上報業(yè)務功能鏈創(chuàng)建成功,以使得服務管理器確定業(yè)務功能鏈創(chuàng)建成功。
本實施例中,SFC等待綁定成功消息,以確認端到端的業(yè)務功能鏈創(chuàng)建成功,然后發(fā)送消息告知服務管理器該業(yè)務功能鏈創(chuàng)建成功。
需要說明的是,本實施例中控制器的個數(shù)至少為兩個,每個控制器都會生成相應的有效子路徑,并上報給SFC編排器,SFC編排器根據(jù)各個控制器上報的有效子路徑消息決策一條完整的業(yè)務功能鏈,通過消息告知相應的控制器以創(chuàng)建該業(yè)務功能鏈,控制器創(chuàng)建成功后,將創(chuàng)建成功的消息告知SFC編排器,SFC編排器再將創(chuàng)建成功的消息發(fā)送給服務管理器。
本實施例中,控制器根據(jù)SFC定義消息生成所有可能的子路徑,將所有可能的子路徑的消息發(fā)送給SFC編排器,使得SFC編排器決策一條完整的業(yè)務功能鏈。每個子路徑有單獨的控制器,只對本地進行管理和控制,從而能夠減少對需要實時傳輸?shù)臄?shù)據(jù)造成的影響。
需要說明的是,在業(yè)務功能鏈創(chuàng)建完成后,數(shù)據(jù)包的傳輸過程可以為:在系統(tǒng)入口,數(shù)據(jù)包到達數(shù)據(jù)中心DC1,數(shù)據(jù)包首先進入DC1的分類器進行分類,分類器給該數(shù)據(jù)包分配一個NSH,該NSH為系統(tǒng)內的數(shù)據(jù)包前向轉發(fā)標識,該NSH是DC1中創(chuàng)建SFP時預分配的多個NSH中的一個;通過該NSH標識,系統(tǒng)接收到的數(shù)據(jù)包會自動進行數(shù)據(jù)傳輸;通過DC1后,這個數(shù)據(jù)包將不攜帶DC1中的NSH了,數(shù)據(jù)包會被壓縮,并且接收到一個虛擬可擴展局域網(wǎng)標識,該虛擬可擴展局域網(wǎng)標識用于指示傳輸?shù)较乱粩?shù)據(jù)中心DC2的路徑;當數(shù)據(jù)包到達DC2時,虛擬可擴展局域網(wǎng)標識將在轉換節(jié)點上刪除,然后DC2的分類器將數(shù)據(jù)包分類,并給該數(shù)據(jù)包分配另一個NSH,該NSH是DC2中創(chuàng)建SFP時預分配的多個NSH中的一個,數(shù)據(jù)包將基于DC2分配的NSH做出進一步數(shù)據(jù)處理和傳輸。
需要說明的是,現(xiàn)有方案的數(shù)據(jù)包的傳輸過程中系統(tǒng)入口分配的NSH在數(shù)據(jù)中心1和數(shù)據(jù)中心2沒有變化,而本方案數(shù)據(jù)包的傳輸過程中系統(tǒng)入口分配的NSH在數(shù)據(jù)包經(jīng)過數(shù)據(jù)中心1后就丟棄了,數(shù)據(jù)包到達數(shù)據(jù)中心2后,由數(shù)據(jù)中心2的分類器重新分配一個NSH,本方案數(shù)據(jù)包在傳輸過程中出現(xiàn)異常狀況時不用回溯到數(shù)據(jù)中心1入口作統(tǒng)一處理,只在子路徑級別作相應調整,而不用波及整個路徑,顯然能夠減少對需要實時傳輸?shù)臄?shù)據(jù)造成的影響。
為了便于理解,下面以控制器的個數(shù)為兩個進行說明,具體的,可以參見圖3,圖3為業(yè)務功能鏈的創(chuàng)建方法另一個實施例示意圖;
201、SFC編排器接收SFC定義消息,該SFC定義消息包含第一子消息和第二子消息;
SFC定義消息、第一子消息和第二子消息包含待創(chuàng)建的端到端的業(yè)務功能鏈的網(wǎng)絡功能以及網(wǎng)絡功能在待創(chuàng)建的端到端的業(yè)務功能鏈上的排列順序以及起始點和終止點。
202、SFC編排器確定控制器1以及控制器2,控制器1和控制器2分別傳輸?shù)谝蛔酉⒑偷诙酉ⅲ?/p>
203、將第一子消息發(fā)送給控制器1,將第二子消息發(fā)送給控制器2;
204、控制器1根據(jù)本地的域以及第一子消息決策子路徑,生成所有可能的子路徑,同理,控制器2執(zhí)行類似操作;
具體可參見圖3中的204a以及204b。
205、控制器1為每個子路徑分配標識ID,標識ID通過通信協(xié)議部署在控制器1對應的轉發(fā)器節(jié)點上,同理,控制器2執(zhí)行類似操作;
其中,轉發(fā)器分別為轉發(fā)器1和轉發(fā)器2。
206、控制器1和控制器2分別給編排器發(fā)送生成所有可能的子路徑的消息;
207、SFC編排器決策完整的SFC;
208、SFC編排器向控制器1和控制器2分別發(fā)送綁定SFC消息;
209、控制器1和控制器2分別根據(jù)綁定SFC消息綁定相應的子路徑,并生成分類器新規(guī)則;
210(可選)、控制器1和控制器2進行通信連接,控制器1獲取控制器2對應的分類器的IP地址,或控制器2獲取控制器1對應的分類器的IP地址;
211、控制器1和控制器2分別發(fā)送消息告知SFC編排器SFC創(chuàng)建成功;
212、SFC編排器發(fā)送消息告知服務管理器SFC創(chuàng)建成功。
在現(xiàn)有方案中,當進行增加或刪除網(wǎng)絡功能的操作時,又或者網(wǎng)絡功能的故障處理時,涉及到的修改點比較多,設計大量的操作,增加了管理的復雜度,為了解決這個問題,在上述業(yè)務功能鏈的創(chuàng)建方法的實施例的基礎上,本發(fā)明將通過以下實施例解決該問題,請參閱圖4,本發(fā)明實施例中網(wǎng)絡功能添加到數(shù)據(jù)中心的一個實施例包括:
301、控制器接收SFC編排器下發(fā)的消息,該消息為將第一網(wǎng)絡功能添加到與控制器相關聯(lián)的數(shù)據(jù)中心的本地路徑中的消息;
302、控制器根據(jù)該消息在數(shù)據(jù)中心的本地路徑中生成第一本地子路徑,并將第一網(wǎng)絡功能添加到第一本地子路徑中。
具體的,可以參見圖5,本發(fā)明實施例中網(wǎng)絡功能添加到數(shù)據(jù)中心的一個具體實施例包括:
401、控制器接收網(wǎng)絡功能要添加到系統(tǒng)的通知消息;
該消息來源可能來自于編排器、數(shù)據(jù)前傳轉發(fā)器或者網(wǎng)絡功能本身,對于這個通知消息,從編排器和網(wǎng)絡功能傳來的更好,因為和數(shù)據(jù)前傳轉發(fā)器傳來的相比,還可以包括額外的信息,比如網(wǎng)絡功能類型等。
402、控制器根據(jù)通知消息決策新的子路徑;
控制器接收到通知消息后,將網(wǎng)絡功能增加到系統(tǒng)中,并修改網(wǎng)絡功能的拓撲信息。基于修改的拓撲信息,控制器決策一個新的子路徑來處理具體的操作。首先,新的子路徑包括新的網(wǎng)絡功能產(chǎn)生;其次,決策哪個子路徑被保留,與已有子路徑并行保留。
403、控制器對新的子路徑配置NSH標識,并傳輸新的轉發(fā)規(guī)則給相應的轉發(fā)器;
404、控制器將新的分類器規(guī)則發(fā)送給分類器。
控制器將新的分類器規(guī)則發(fā)送給分類器,這樣,部分數(shù)據(jù)流就能導向新的子路徑,且能加載特定的負載到該網(wǎng)絡功能上。
請參閱圖6,本發(fā)明實施例中網(wǎng)絡功能的刪除一個實施例包括:
501、控制器接收SFC編排器下發(fā)的消息,該消息為將網(wǎng)絡功能從控制器相關聯(lián)的數(shù)據(jù)中心的本地子路徑中移除的消息;
502、控制器在控制器對應的分類器中移除與本地子路徑相關聯(lián)的NSH,以便移除網(wǎng)絡功能。
控制器接收到一個網(wǎng)絡功能將被移除的通知消息,控制器在分類器中移除傳入的NSH,當傳入的數(shù)據(jù)流完成后,控制器告知該數(shù)據(jù)中心的編排器已經(jīng)移除該網(wǎng)絡功能了。
可見,1、SFC編排器在數(shù)據(jù)中心級別上,有不同的控制器和分類器,每個數(shù)據(jù)中心相對獨立,相互之間不受影響:不同數(shù)據(jù)中心有不同的解決方案;一個數(shù)據(jù)中心內的伸縮性操作不會影響其他的數(shù)據(jù)中心;數(shù)據(jù)中心內的負載均衡對其他數(shù)據(jù)中心來說是透明的,可感知的。2、每個控制器維護數(shù)據(jù)路徑減少,一個子路徑可能服務多個端到端路徑,故整個路徑維護的數(shù)據(jù)鏈路減少。3、具有高可用性,如子路徑出現(xiàn)故障,本發(fā)明實施例不需要將故障信息傳播到其他的數(shù)據(jù)中心,在本地數(shù)據(jù)中心就可以解決,并且不會影響其他數(shù)據(jù)中心。4、具有高魯棒性,因為本地數(shù)據(jù)中心對功能失效時作出的處理響應更快,另外,數(shù)據(jù)中心內部的通信時延不會影響高可用性操作。5、減少了NSH帶來的信令開銷。現(xiàn)有技術中,一個1500字節(jié)的數(shù)據(jù)包中總共有106比特的開銷,開銷占7%,而本發(fā)明實施例,一個1500字節(jié)的數(shù)據(jù)包中,總共只有28字節(jié)的開銷,相當于開銷只占1.86%,顯然大大減少了信令開銷。
相較于現(xiàn)有技術,增加了子路徑概念,增加了SFC編排器,其負責接收簽約服務信息,并下發(fā)控制命令給各個子路徑控制器,對各個子路徑控制器上傳的路徑狀態(tài)進行評估,來編排各個子路徑以形成一條完整的端到端的業(yè)務功能鏈。
對一條端到端的業(yè)務功能鏈,其劃分為若干個子路徑,每個子路徑有單獨的控制器和分類器,只對本地進行管理和控制,子路徑的增加或刪除不會對其他子路徑造成影響,數(shù)據(jù)中心之間正在傳輸?shù)陌膊粫G棄,增加了可靠性,降低了復雜度。
只在本地數(shù)據(jù)中心進行故障的處理,響應迅速,增加了系統(tǒng)的魯棒性。相對于現(xiàn)有技術,大大降低了數(shù)據(jù)路徑的總數(shù),易于管理。對網(wǎng)絡拓撲進行區(qū)分,在數(shù)據(jù)中心之間的虛擬可擴展局域網(wǎng)只傳輸必要的包數(shù)據(jù),減少了數(shù)據(jù)開銷。
請參閱圖7,本發(fā)明實施例中網(wǎng)絡功能的故障處理一個實施例包括:
601、當網(wǎng)絡功能失效時,控制器接收消息,該消息為網(wǎng)絡功能失效的消息;
602、控制器根據(jù)該消息確定本地子路徑,該本地子路徑用于替代網(wǎng)絡功能對應的本地子路徑。
本實施例中,對于子路徑上故障的發(fā)生,只在子路徑上進行處理,響應速度,尋找替代路徑,不影響其他數(shù)據(jù)中心,對于正在業(yè)務功能鏈上的其他子路徑上傳輸?shù)臄?shù)據(jù)包,不受影響,不發(fā)生丟包情況。而現(xiàn)有技術中當某個數(shù)據(jù)路徑的一個網(wǎng)絡功能失效時,所有經(jīng)過該網(wǎng)絡功能的端到端的數(shù)據(jù)路徑將被重新規(guī)劃,這需要大量的計算和消息通知,造成管理復雜的問題,顯然,本發(fā)明實施例有效簡化了管理。
請參閱圖8,本發(fā)明實施例中業(yè)務功能鏈的創(chuàng)建系統(tǒng)一個實施例包括:
業(yè)務功能鏈SFC編排器701以及至少兩個控制器702;
SFC編排器701用于接收服務管理器下發(fā)的SFC定義消息;根據(jù)SFC定義消息以及當前通信限制條件確定網(wǎng)絡功能對應的控制器,將SFC定義消息發(fā)送給控制器702;該SFC定義消息包含待創(chuàng)建的一條端到端的業(yè)務功能鏈的網(wǎng)絡功能以及網(wǎng)絡功能在業(yè)務功能鏈上的排列順序;
控制器702用于根據(jù)SFC定義消息生成有效子路徑的集合,安裝有效子路徑的集合中的每條子路徑,并為每條有效子路徑分配路徑標識ID,在安裝完成后,向SFC編排器701發(fā)送安裝完成消息,所述安裝完成消息包含具有路徑標識ID的有效子路徑的集合;
SFC編排器701還用于根據(jù)安裝完成消息決策一條端到端的業(yè)務功能鏈,根據(jù)決策的一條端到端的業(yè)務功能鏈向控制器發(fā)送綁定消息,該綁定消息中包含被選擇的有效子路徑;
控制器702還用于根據(jù)綁定消息從有效子路徑的集合中綁定被選擇的有效子路徑,在綁定完成后,向SFC編排器發(fā)送綁定成功消息;
SFC編排器701還用于根據(jù)綁定成功消息確定業(yè)務功能鏈創(chuàng)建成功,向服務管理器上報業(yè)務功能鏈創(chuàng)建成功,以使得服務管理器確定業(yè)務功能鏈創(chuàng)建成功。
可選地,若控制器702為第一控制器,第一控制器對應著第一分類器,控制器702還用于若綁定消息未攜帶有第二分類器的互聯(lián)網(wǎng)協(xié)議IP地址,則與第二分類器對應的第二控制器進行通信連接,以獲取第二分類器的IP地址。
可選地,控制器702還用于接收SFC編排器701下發(fā)的第一消息,第一消息為將第一網(wǎng)絡功能添加到與控制器702相關聯(lián)的數(shù)據(jù)中心的本地路徑中的消息;根據(jù)第一消息在數(shù)據(jù)中心的本地路徑中生成第一本地子路徑,并將第一網(wǎng)絡功能添加到第一本地子路徑中。
可選地,控制器702還用于將與第一本地子路徑相關聯(lián)的網(wǎng)絡服務數(shù)據(jù)包報頭NSH發(fā)送給與控制器702對應的分類器。
可選地,控制器702還用于修改第一網(wǎng)絡功能的網(wǎng)絡拓撲信息。
可選地,控制器還用于接收SFC編排器下發(fā)的第二消息,第二消息為將第二網(wǎng)絡功能從控制器相關聯(lián)的數(shù)據(jù)中心的第二本地子路徑中移除的消息;在控制器對應的分類器中移除與第二本地子路徑相關聯(lián)的網(wǎng)絡服務數(shù)據(jù)包報頭NSH,以便移除第二網(wǎng)絡功能。
可選地,控制器702還用于當?shù)谌W(wǎng)絡功能失效時,接收第三消息,第三消息為第三網(wǎng)絡功能失效的消息;根據(jù)第三消息確定第三本地子路徑,第三本地子路徑用于替代第三網(wǎng)絡功能對應的本地子路徑。
可選地,同參閱圖8,圖8中還可以包括分類器703以及數(shù)據(jù)中心704,每一個數(shù)據(jù)中心701都有可本地決策的分類器703和控制器702,數(shù)據(jù)中心704部署了一些網(wǎng)絡功能,例如NF1.1、NF1.2、NF1.3、NF2.1、NF2.2、NF2.3以及NF2.4等,每個網(wǎng)絡功能對應著一個轉發(fā)器SW。需要說明的是,每個分類器下掛有多個SW。
本實施例的有益效果可參見前述方法實施例的有益效果,此處不再贅述。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。