一種vnf堆疊方法及裝置的制造方法
【技術領域】
[0001]本申請涉及網絡通信技術領域,尤其涉及一種VNF堆疊方法及裝置。
【背景技術】
[0002]VNF(Virtual Network Feature,虛擬網絡功能)是NFV(Network Funct1nVirtualized,網絡功能虛擬化)架構的組成部分,是NFV組網中的一個功能單元。隨著數據中心物理服務器規模的日益龐大,硬件故障時常發生,為了保證物理服務器上VNF運行正常,需要對多個VNF作堆疊處理。
[0003]在跨三層網絡的VNF堆疊系統中,VNF所在物理服務器通常啟動代理程序,該代理程序對VNF發送的堆疊報文產生限制,因此,無法建立VNF堆疊。
【發明內容】
[0004]有鑒于此,本申請提供一種VNF堆疊方法及裝置。
[0005]具體地,本申請是通過如下技術方案實現的:
[0006]本申請提供一種VNF堆疊方法,該方法應用于第一 VNF,所述第一 VNF位于第一服務器上,該方法包括:
[0007]獲取預先配置的VNF的網際協議IP地址,所述VNF的IP地址包括所述第一 VNF的第一IP地址和第二 VNF的第二 IP地址,所述第二 VNF位于第二服務器上,所述第一服務器與所述第二服務器跨三層網絡連接;
[0008]在向所述第二VNF發送第一堆疊報文時,根據所述第一IP地址和所述第二IP地址將所述第一堆疊報文封裝成第二堆疊報文,所述第二堆疊報文的外層封裝包括所述第一 IP地址和所述第二 IP地址;
[0009]將所述第二堆疊報文發送給所述第二VNF。
[0010]本申請還提供一種VNF堆疊方法,該方法應用于第二 VNF,所述第二 VNF位于第二服務器上,該方法包括:
[0011]接收所述第一VNF發送的第二堆疊報文,所述第二堆疊報文為所述第一 VNF根據預先配置的VNF的網際協議IP地址對向所述第二 VNF發送的第一堆疊報文進行封裝后得到,所述VNF的IP地址包括所述第一 VNF的第一 IP地址和所述第二 VNF的第二 IP地址,所述第一 VNF位于第一服務器上,所述第一服務器與所述第二服務器跨三層網絡連接,所述第二堆疊報文的外層封裝包括所述第一 IP地址和所述第二 IP地址;
[0012]對所述第二堆疊報文解封裝,得到所述第一堆疊報文。
[0013]本申請還提供一種VNF堆疊裝置,該裝置應用于第一 VNF,所述第一 VNF位于第一服務器上,該裝置包括:
[0014]獲取單元,用于獲取預先配置的VNF的網際協議IP地址,所述VNF的IP地址包括所述第一 VNF的第一 IP地址和第二 VNF的第二 IP地址,所述第二 VNF位于第二服務器上,所述第一服務器與所述第二服務器跨三層網絡連接;
[0015]封裝單元,用于在向所述第二VNF發送第一堆疊報文時,根據所述第一 IP地址和所述第二 IP地址將所述第一堆疊報文封裝成第二堆疊報文,所述第二堆疊報文的外層封裝包括所述第一 IP地址和所述第二 IP地址;
[0016]發送單元,用于將所述第二堆疊報文發送給所述第二VNF。
[0017]本申請還提供一種VNF堆疊裝置,該裝置應用于第二 VNF,所述第二 VNF位于第二服務器上,該裝置包括:
[0018]接收單元,用于接收第一VNF發送的第二堆疊報文,所述第二堆疊報文為所述第一VNF根據預先配置的VNF的網際協議IP地址對向所述第二 VNF發送的第一堆疊報文進行封裝后得到,所述VNF的IP地址包括所述第一 VNF的第一 IP地址和所述第二 VNF的第二 IP地址,所述第一 VNF位于第一服務器上,所述第一服務器與所述第二服務器跨三層網絡連接,所述第二堆疊報文的外層封裝包括所述第一 IP地址和所述第二 IP地址;
[0019]解封裝單元,用于對所述第二堆疊報文解封裝,得到所述第一堆疊報文。
[0020]由以上描述可以看出,本申請在現有堆疊報文格式的基礎上封裝本端VNF的IP地址和對端VNF的IP地址,使VNF堆疊報文可在三層網絡上交互,實現跨三層網絡的VNF堆疊,提高VNF堆疊的網絡適用范圍。
【附圖說明】
[0021]圖1是本申請一示例性實施例示出的跨三層網絡的VNF堆疊組網示意圖;
[0022]圖2是本申請一示例性實施例示出的一種VNF堆疊方法流程圖;
[0023]圖3是本申請另一示例性實施例示出的一種VNF堆疊方法流程圖;
[0024]圖4是本申請一示例性實施例示出的一種VNF堆疊裝置所在設備的基礎硬件結構示意圖;
[0025]圖5是本申請一示例性實施例示出的一種VNF堆疊裝置的結構示意圖;
[0026]圖6是本申請另一示例性實施例示出的一種VNF堆疊裝置的結構示意圖。
【具體實施方式】
[0027]這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
[0028]在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯的列出項目的任何或所有可能組合。
[0029]應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
[0030]VNF是NFV架構的組成部分,是NFV組網中的一個功能單元,用于實現具體的網絡功能,例如,虛擬路由器VSR、虛擬防火墻VFW等。
[0031]隨著數據中心物理服務器規模的日益龐大,硬件故障時常發生,為了保證物理服務器上VNF運行正常,需要對多個VNF作堆疊處理。
[0032]參見圖1,為一種典型的跨三層網絡的VNF堆疊組網示意圖。在該VNF堆疊組網中,VNFI和VNF2分別位于物理服務器Server I和Server 2上,Server I和Server 2跨三層網絡連接,Serverl的虛擬機管理器Hypervisor I上運行代理程序Proxy I,Server2的虛擬機管理器Hypervisor2上運行代理程序Proxy2。
[0033]出于資源管控和安全角度的考慮,代理程序通常會根據應用場景對VNF發送的報文進行限制,例如IRF(Intelligent Resilient Framework,智能彈性架構)協議的Hello報文,該報文會被代理程序丟棄,因此,無法實現跨三層網絡的VNF堆疊。
[0034]針對上述問題,本申請實施例提出一種VNF堆疊方法,該方法在現有堆疊報文格式的基礎上封裝本端VNF的IP地址和對端VNF的IP地址,使VNF堆疊報文可跨三層網絡交互,實現VNF堆疊。
[0035]參見圖2,為本申請VNF堆疊方法的一個實施例流程圖,該實施例從第一VNF側對VNF堆疊過程進行描述。其中,所述第一 VNF位于第一服務器上。
[0036]步驟201,獲取預先配置的VNF的IP地址,所述VNF的IP地址包括所述第一 VNF的第一IP地址和第二 VNF的第二 IP地址,所述第二 VNF位于第二服務器上,所述第一服務器與所述第二服務器跨三層網絡連接。
[0037]在NVF架構中還包括一個MANO(Managementand Orchestrat1n,管理編排系統),MANO可對VNF進行管理和限制。本申請實施例利用MANO對第一 VNF進行預先配置,將第一 VNF配置為三層堆疊模式。在該三層堆疊模式下,MANO還會向第一 VNF下發第一 VNF的第一 IP地址和第二VNF的第二IP地址,其中,該第二VNF位于第二服務器上,且第一VNF所在的第一服務器與第二 VNF所在的第二服務器跨三層網絡連接。
[0038]第一 VNF獲取上述預先配置的VNF的IP地址后,即可與第二 VNF交互堆疊報文。
[0039]步驟202,在向所述第二VNF發送第一堆疊報文時,根據所述第一IP地址和所述第二IP地址將所述第一堆疊報文封裝成第二堆疊報文,所述第二堆疊報文的外層封裝包括所述第一 IP地址和所述第二 IP地址。
[0040]在第一VNF向第二 VNF發送堆疊報文(該堆疊報文為滿足現有堆疊報文格式的報文,以下簡稱第一堆疊報文)時,不再是直接發送出去,而是根據預先配置的第一 IP地址和第二 IP地址對第一堆疊報文進行封裝,得到第二堆疊報文,所述第二堆疊報文的外層封裝包括所述第一 IP地址和所述第二 IP地址。
[0041 ]步驟203,將所述第二堆疊報文發送給所述第二 VNF。
[0042]通過步驟202封裝后的第二堆疊報文不再受代理程序的限制,可跨三層網絡發送到位于第二服務器上的第二 VNF。
[0043]第二VNF為了識別應用,通過檢測報文內容,查詢到匹配堆疊報文的特征,來確定接收的報文是否為堆疊報文。
[0044]本申請實施例還提供了一種優選方案,在步驟201中,還可以獲取預留的VNF端口號,該VNF端口號包括第一VNF的第一端口號和第二VNF的第二端口號,這里的VNF端口號可選擇非知名的UDP(User Datagram Protocol,用戶數據包協議)端口號。在步驟202中,不僅根據已獲取的第一IP地址和第二IP地址,還根據已獲取的第一端口號和第二端口號,將第一堆疊報文封裝成第二堆疊報文,此時,第二堆疊報文的外層封裝包括所述第一 IP地址、所述第二IP地址、第一端口號和第二端口號。在步驟203中,將封裝后的第二堆疊報文發送給第二 VNF ο
[0045]通過封裝VNF端口號,使第二VNF根據端口號可以直接確定具體應用,在本申請實施例中VNF端口號對應的應用為VNF堆疊。這樣就簡化了識別應用的過程。
[0046]參見圖3,為本申請VNF堆疊方法的另一個實施例流程圖,該實施例從第二VNF側對VNF堆疊過程進行描述。其中,所述第二 VNF位于第二服務器上。
[0047]步驟301,接收第一VNF發送的第二堆疊報文,所述第二堆疊報文為所述第一 VNF根據預先配置的VNF的IP地址對向所述第二VNF發送的第一堆疊報文進行封裝后得到,所述VNF的IP地址包括所述第一 VNF的第一 IP地址和所述第二 VNF的第二 IP地址,所述第一 VNF位于第一服務器上,所述第一服務器與所述第二服務器跨三層網絡連接,所述第二堆疊報文的外層封裝包括所述第一 IP地址和所述第二 IP地址。
[0048]具體參見步驟201?步驟