一種基于OpenFlow的SDN虛擬化平臺上行信令流標簽處理方法
【專利摘要】本發(fā)明公開了一種基于OpenFlow的SDN虛擬化平臺上行信令流標簽處理方法,接收數據包;物理交換機接收到數據包時首先查詢物理交換機內的流表,若流表不存在與該數據包的匹配項條目,則將此數據包包頭封裝在上行信令內發(fā)送給網絡虛擬化平臺;網絡虛擬化平臺充當物理交換機的控制器;網絡虛擬化平臺接收上交的數據包;判斷該數據包是否帶有流標簽;若數據包帶有流標簽,表明該數據包是虛擬網絡內部的數據包;若數據包不帶流標簽,說明該數據包是未被分類的數據包。
【專利說明】—種基于OpenF I ow的SDN虛擬化平臺上行信令流標簽處理方法
【技術領域】
[0001]本發(fā)明屬于計算機網絡【技術領域】,具體涉及一種基于OpenFlow的SDN虛擬化平臺上行信令流標簽處理方法。
【背景技術】
[0002]隨著互聯網技術的飛速發(fā)展,互聯網應用與用戶數量急劇增長,基于TCP/IP的互聯網逐漸暴露出許多的問題與弊端。不少國家提出了下一代互聯網計劃,軟件定義網絡應運而生。
[0003]OpenFlow軟件定義網絡由兩部分組成:數據平面,用來轉發(fā)網絡數據包;控制平面,用來控制網絡數據包的轉發(fā)策略。數據平面的OpenFlow交換機內部維護一張流表,稱之為虛擬網絡流規(guī)則描述表。虛擬網絡流規(guī)則描述表可以根據數據包包頭的一層(物理層)到四層(傳輸層)特征進行匹配,并指定匹配虛擬網絡流規(guī)則描述表項的數據包的處理方法。當一個數據包進入OpenFlow交換機后,OpenFlow交換機會查詢內部的虛擬網絡流規(guī)則描述表,按虛擬網絡流規(guī)則描述表處理數據包。若OpenFlow交換機內部沒有能夠匹配數據包的虛擬網絡流規(guī)則描述表,OpenFlow交換機會將這個數據包轉發(fā)給控制平面的OpenFlow控制器,OpenFlow控制器再向OpenFlow交換機下發(fā)一條虛擬網絡流規(guī)則描述表,指示OpenFlow交換機如何處理這個數據包。OpenFlow交換機和OpenFlow控制器之間的通信遵循OpenFlow協議。OpenFlow協議定義的上行信令(OpenFlow交換機到OpenFlow控制器)和下行信令(OpenFlow控制器到OpenFlow交換機)。
[0004]如果將一個OpenFlow網絡交給多個OpenFlow控制器來控制,每個OpenFlow控制器只控制網絡中的一部分特定的網絡數據包,這樣,每個OpenFlow控制器就控制著一個虛擬網絡。但是在OpenFlowl.0中,每個OpenFlow交換機只能有一個控制邏輯,因此,不能將不同特征的數據包交給不同的OpenFlow控制器處理。為此,需要在OpenFlow交換機和OpenFlow控制器之間添加一個網絡虛擬化層,它接收所有OpenFlow交換機的上行信令,并根據上行信令的特征將它轉發(fā)給對應的OpenFlow控制器處理。同樣,網絡虛擬化層收到的OpenFlow控制器下發(fā)的下行信令也要對信令進行處理,處理后再將其轉發(fā)給相應的OpenFlow交換機。
[0005]網絡虛擬化層具體實現過程如下:網絡虛擬化平臺為網絡建立與多個虛擬網絡相對應的多個切片(Slice),為每個Slice指定一個OpenFlow控制器,將屬于不同Slice的網絡數據包轉發(fā)給對應的OpenFlow控制器以實現網絡虛擬化;再向每個Slice中添加流空間(FlowSpace)。流空間描述了轉發(fā)給Slice的數據包的特征,至少包含以下多個匹配項中的一個或多個:交換機端口(Iayerl),源mac/目的mac或以太網類型(layer2),源IP/目的IP或協議類型(layer3),TCP/UDP源端口 /目的端口(layer4);網絡數據包進入OpenFlow交換機后向網絡虛擬化平臺發(fā)送PacketIn信令,網絡虛擬化平臺將PacketIn信令與FlowSpace中的匹配項進行匹配,若PacketIn信令匹配了 FlowSpace中的流規(guī)則,貝Ij將這條PacketIn消息轉發(fā)給這條FlowSpace所在的OpenFlow控制器。
[0006]現有技術中存在以下缺點:
[0007]I)網絡虛擬化平臺基于每個交換機進行虛擬網絡劃分,每當一個數據包進入OpenFlow交換機產生Packetln,網絡虛擬化平臺都會將數據包與所有FlowSpace匹配,判斷該數據包屬于哪個虛擬網絡,當數據包離開本交換機進入下一個交換機后,網絡虛擬化平臺還會將此數據包與所有FlowSpace匹配,判斷該數據包屬于哪個虛擬網絡。這樣每一跳都要進行虛擬網絡的判斷,效率較低。
[0008]2) OpenFlow協議允許交換機對數據包進行靈活的修改操作,當一個數據包被一個虛擬網絡操作后,數據包的部分字段可能被改變,此數據包進入另一個OpenFlow交換機后,可能被網絡虛擬化平臺判斷為另一個虛擬網絡的數據包,這就導致了一個數據包被不同的與虛擬網絡相對應的OpenFlow控制器控制,數據包隔離性差。
[0009]3)網絡虛擬化平臺雖然對與虛擬網絡相對應的OpenFlow控制器下發(fā)的虛擬網絡流規(guī)則描述表匹配項進行檢查與修改,但是對f lowspace的互斥性沒有檢查,這導致與虛擬網絡I相對應的OpenFlow控制器下發(fā)的虛擬網絡流規(guī)則描述表可能匹配了虛擬網絡2對應的數據包,產生信令越界。
[0010]4)網絡虛擬化平臺對虛擬網絡的物理范圍沒有定義,這會導致虛擬網絡數據包任意擴散,數據包不具有封閉性。
【發(fā)明內容】
[0011]為克服上述現有技術的不足,本發(fā)明提供了一種基于OpenFlow的SDN虛擬化平臺上行信令流標簽處理方法,其特征在于:
[0012]接收數據包;
[0013]物理交換機接收到數據包時首先查詢物理交換機內的流表,若流表不存在與該數據包的匹配項條目,則將此數據包包頭封裝在上行信令內發(fā)送給網絡虛擬化平臺;
[0014]網絡虛擬化平臺充當物理交換機的控制器;
[0015]網絡虛擬化平臺接收上交的數據包;
[0016]判斷該數據包是否帶有流標簽;
[0017]若數據包帶有流標簽,表明該數據包是虛擬網絡內部的數據包;
[0018]若數據包不帶流標簽,說明該數據包是未被分類的數據包。
[0019]優(yōu)選地,若數據包不帶流標簽,將各個虛擬網絡的虛擬網絡流規(guī)則與該數據包的包頭進行匹配,將該數據包通過虛擬交換機轉發(fā)給與虛擬網絡相對應的匹配的虛擬網絡控制器。
[0020]優(yōu)選地,若數據包帶有流標簽,進一步判斷該數據包發(fā)生的位置是否在虛擬網絡所定義的物理范圍內;若是,則彈出數據包的流標簽,再將數據包轉發(fā)給相應的與虛擬網絡相對應的虛擬網絡控制器;如否,則報錯。
[0021]優(yōu)選地,所述上交的數據包中包含如下信息:
[0022]產生數據包的虛擬網絡交換機的ID ;
[0023]數據包在虛擬網絡交換機的入端口 ;
[0024]數據包的包頭。[0025]優(yōu)選地,判斷該數據包發(fā)生的位置是否在虛擬網絡所定義的物理范圍內具體為,判斷接收數據包的端口是否屬于流標簽所標識的虛擬網絡。
[0026]優(yōu)選地,所述流標簽為Vlan或MPLS ;所述數據包為上行信令Packetln。
[0027]。
[0028]上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,并可依照說明書的內容予以實施,以下以本發(fā)明的較佳實施例并配合附圖詳細說明如后。
【專利附圖】
【附圖說明】
[0029]圖1示出了根據本發(fā)明的一個實施例的網絡結構圖;
[0030]圖2示出了根據本發(fā)明的一個實施例的數據包流向示意圖;
[0031]圖3示出了根據本發(fā)明的一個實施例的Packetln信令處理流程;
[0032]圖4示出了根據本發(fā)明的一個實施例的Match域的預處理流程;
[0033]圖5示出了根據本發(fā)明的一個實施例的了 FlowMod信令中的Action域的預處理流程;
[0034]圖6示出了根據本發(fā)明的一個實施例的FlowMod信令中的Action域的處理流程;
[0035]圖7示出了根據本發(fā)明的一個實施例的PacketOut信令中的Action域的處理流程。
【具體實施方式】
[0036]為更進一步闡述本發(fā)明為達成預定發(fā)明目的所采取的技術手段及功效,以下結合附圖及較佳實施例,對依據本發(fā)明提出的基于OpenFlow協議的網絡虛擬化平臺上下行信令處理方法其【具體實施方式】、特征及其功效,詳細說明如后。在下述說明中,不同的“一實施例”或“實施例”指的不一定是同一實施例。此外,一或多個實施例中的特定特征、結構、或特點可由任何合適形式組合。
[0037]圖1中示出了根據本發(fā)明的一個實施例的網絡結構圖,其中網絡虛擬化平臺內部維護虛擬網絡拓撲,虛擬網絡內部交換機為虛擬網絡交換機。OpenFlow交換機為網絡中的物理交換機。虛擬化平臺內部根據用戶配置,生成多個虛擬網絡,每個虛擬網絡分別連接相應的虛擬網絡控制器。對于物理交換機來說,虛擬化平臺中的虛擬網絡交換機就相當于物理交換機的控制器。
[0038]網絡虛擬化平臺內部維護有虛擬網絡流規(guī)則描述表,當物理交換機接收到一個數據包時,如果物理交換機沒有與該數據包匹配的流表,則將該數據包封裝在Packetln信令中發(fā)給網絡虛擬化平臺,網絡虛擬化平臺根據Packetln信令中的數據包特征決定將這個數據包交給哪個虛擬網絡來處理。如果Packetln信令中的數據包含有虛擬網絡流標簽,則彈出虛擬網絡流標簽后將其根據虛擬網絡流標簽發(fā)給相應的虛擬網絡控制器,若不含有虛擬網絡流標簽,則將Packetln信令中的數據包與虛擬網絡流規(guī)則描述表進行匹配,并將此數據包交給匹配項所指示的虛擬網絡處理。
[0039]圖2中示出了根據本發(fā)明的一個實施例的數據包流向示意圖。
[0040]①表示數據包從終端發(fā)往OpenFlow交換機;
[0041]②表示接收到數據包后,如果物理交換機、即OpenFlow交換機沒有對應的流表時,物理交換機將數據包封裝在Packetln信令中發(fā)給虛擬化平臺;
[0042]③表示網絡虛擬化平臺判斷數據包是否含有虛擬網絡流標簽;
[0043]④表示如果判斷數據包中沒有虛擬網絡流標簽,則需要根據虛擬網絡流規(guī)則表決定數據包被送往哪個虛網;
[0044]⑤表示Packetln信令通過虛擬網絡內的虛擬網絡交換機發(fā)送給虛擬網絡控制器;
[0045]⑥表示虛擬網絡控制器向虛擬網絡交換機發(fā)送下行信令(FlowMod或PacketOut);
[0046]⑦表示網絡虛擬化平臺對下行信令進行處理后,將處理后的下行信令發(fā)送給物理交換機。
[0047]在本發(fā)明的一個【具體實施方式】中,網絡虛擬化平臺中維護有兩張表,一張是虛擬網絡物理范圍描述表,一張是虛擬網絡流規(guī)則描述表。在建立虛擬網絡時,根據虛擬網絡物理范圍描述表建立虛擬網絡拓撲。在虛擬網絡運行過程中,根據虛擬網絡的流規(guī)則,將物理網絡中的數據包交給與虛擬網絡相對應的虛擬網絡控制器處理。
[0048]所述虛擬網絡物理范圍描述表用于描述虛擬網絡的虛擬拓撲,其結構如下:
[0049]
【權利要求】
1.一種基于OpenFlow的SDN虛擬化平臺上行信令流標簽處理方法,其特征在于: 接收數據包; 物理交換機接收到數據包時首先查詢物理交換機內的流表,若流表不存在與該數據包的匹配項條目,則將此數據包包頭封裝在上行信令內發(fā)送給網絡虛擬化平臺; 網絡虛擬化平臺充當物理交換機的控制器; 網絡虛擬化平臺接收上交的數據包; 判斷該數據包是否帶有流標簽; 若數據包帶有流標簽,表明該數據包是虛擬網絡內部的數據包; 若數據包不帶流標簽,說明該數據包是未被分類的數據包。
2.根據權利要求1的方法,其特征在于: 若數據包不帶流標簽,將各個虛擬網絡的虛擬網絡流規(guī)則與該數據包的包頭進行匹配,將該數據包通過虛擬交換機轉發(fā)給與虛擬網絡相對應的匹配的虛擬網絡控制器。
3.根據權利要求1-2任一的方法,其特征在于: 若數據包帶有流標簽,進一步判斷該數據包發(fā)生的位置是否在虛擬網絡所定義的物理范圍內; 若是,則彈出數據包的流標簽,再將數據包轉發(fā)給相應的與虛擬網絡相對應的虛擬網絡控制器; 如否,則報錯。
4.根據權利要求1-3任一的方法,其特征在于: 所述上交的數據包中包含如下信息: 產生數據包的虛擬網絡交換機的ID ; 數據包在虛擬網絡交換機的入端口; 數據包的包頭。
5.根據權利要求1-4任一的方法,其特征在于: 判斷該數據包發(fā)生的位置是否在虛擬網絡所定義的物理范圍內具體為,判斷接收數據包的端口是否屬于流標簽所標識的虛擬網絡。
6.根據權利要求1-5任一的方法,其特征在于: 所述流標簽為Vlan或MPLS。
7.根據權利要求1-6任一的方法,其特征在于: 所述數據包為上行信令Packetln。
8.根據權利要求1-7任一的方法,其特征在于: 所述物理交換機為OpenFlow交換機。
【文檔編號】H04L12/46GK103746892SQ201310616467
【公開日】2014年4月23日 申請日期:2013年11月27日 優(yōu)先權日:2013年11月27日
【發(fā)明者】劉江, 黃韜, 劉韻潔, 王健, 胡文博, 魏亮, 董美姣 申請人:北京郵電大學, 江蘇省未來網絡創(chuàng)新研究院