[0071]SDN控制器的離線處理單元,用于根據P0rt_State信息向服務器發(fā)送刪除用戶映射流表的信息;生成相應的刪除用戶映射流表信息的第三FL0W_M0D消息;
[0072]映射流表單元,還用于根據SDN控制器發(fā)送的刪除該用戶的映射流表的信息進行用戶映射流表信息的刪除;
[0073]SDN控制器的流表轉發(fā)單元,還用于根據記錄單元的列表信息,將第三FL0W_M0D消息下發(fā)到列表信息中的Openflow交換機,以刪除該用戶的映射流表的信息。
[0074]進一步地,服務器為與SDN控制器交互連接的網元;或,
[0075]設置于SDN控制器內部的功能模塊。
[0076]再一方面,本申請還提供一種基于軟件定義網絡SDN實現(xiàn)報文轉發(fā)的Openflow交換機,包括:報文判斷單元、命中單元、端口信息單元、封裝單元、解封裝單元及報文轉發(fā)單元;其中,
[0077]報文判斷單元,用于接收數據報文時根據端口信息確定接收的報文為用戶的報文或Openflow交換機的報文;
[0078]命中單元,用于根據報文中的目的身份標識命中映射流表,從映射流表中獲得與目的身份標識對應的目的位置標識;
[0079]端口信息單元,用于在獲得的目的位置標識為源Openflow交換機的位置標識時,從報文中讀取目的身份標識對應的端口信息;從解封裝的報文中讀取目的身份標識對應的端口信息;
[0080]封裝單元,用于在獲得的目的位置標識不是源Openflow交換機的位置標識時,封裝報文并發(fā)送到目的位置標識對應的目的Openflow交換機;
[0081 ] 解封裝單元,用于將封裝報文進行解封裝;
[0082]報文轉發(fā)單元,用于根據端口信息單元的端口信息,將報文發(fā)送到目的用戶。
[0083]進一步地,該Openflow交換機還包括:識別符獲取單元、位置標識上傳單元和端口分配單元;SDN控制器還包括數據通信接口 ;服務器還包括分配單元;其中,
[0084]識別符獲取單元,用于在UE登錄時,獲取UE的用戶識別符,通過SDN控制器發(fā)送到服務器;
[0085]位置標識上傳單元,用于在UE登錄時,通過SDN控制器上傳位置標識;
[0086]端口分配單元,用于UE登錄時,分配給UE相應的端口 ;
[0087]服務器的分配單元,用于用戶終端UE登錄時,獲取用戶識別符分配給用戶相應的身份標識;
[0088]SDN控制器的數據通信接口,用于Openflow交換機的識別符獲取單元、位置標識上傳單元及端口信息單元的傳輸信息到服務器。
[0089]進一步地,端口分配單元具體用于,分配給用戶的報文與Openflow交換機的報文不同的端口區(qū)間的端口;
[0090]用戶的報文為:用戶發(fā)送的未封裝的報文;
[0091]Openflow交換機的報文為:封裝有用戶位置標識的報文。
[0092]進一步地,報文至少包含:報文頭部和報文內容;
[0093]報文頭部至少包含:源身份標識、目的身份標識、源端口信息、目的端口信息、協(xié)議類型。
[0094]進一步地,該Openflow交換機還包括:數據消息單元;SDN控制器還包括:反饋觸發(fā)單元、相關信息單元;其中,
[0095]數據消息單元,用于當命中單元未命中映射流表時,發(fā)送包含目的身份標識的Packet_in消息SDN控制器,以通過SDN控制器從服務器獲取目的身份標識對應的目的位置標識;
[0096]SDN控制器的反饋觸發(fā)單元,用于下發(fā)Packet_out消息給源Openflow交換機,使源Openflow交換機接收第一 Flow_mod消息;同時,發(fā)送第二 Flow_mod消息給目的Openflow交換機;
[0097]相關信息單元,用于發(fā)送第一 Flow_mod消息給源Openf low交換機的命中單元、封裝單元及解封裝單元;發(fā)送第二 Flow_mod消息給目的Openflow交換機以進行報文轉發(fā)的命中單元、封裝單元及解封裝單元。
[0098]進一步地,第一 Flowjnod消息包含:攜帶目的身份標識和目的位置標識的映射流表、攜帶目的位置標識的封裝流表及攜帶源位置標識的解封裝流表。
[0099]第二 Flowjnod消息包含:攜帶源身份標識和源位置標識的映射流表、攜帶源位置標識的封裝流表及攜帶目的位置標識的解封裝流表。
[0100]進一步地,Packet_in消息包含:報文或報文在Openflow交換機的緩存ID,和包含目的身份標識的match字段。
[0101]進一步地,端口信息單元,還用于當根據所述源位置標識和所述目的位置標識SDN控制器計算出源Openflow交換機到目的Openf low交換機的通信路徑不是直達時,接收SDN控制器下發(fā)的包含源位置標識對應的端口信息和目的位置標識對應的端口信息。
[0102]進一步地,該Openflow交換機還包括緩存處理單元,用于在命中單元未命中映射流表時,當源Openflow交換機配置為緩存報文且緩存足夠時,對報文進行緩存,將報文的緩存ID上送給SDN控制器;當源Openflow交換機配置為不緩存報文或緩存不足時,將報文作為事件附帶內容上送到SDN控制器。
[0103]再一方面,本申請還提供一種基于軟件定義網絡SDN實現(xiàn)報文轉發(fā)的服務器,包括:分配單元和映射流表單元;其中,
[0104]分配單元,用于用戶終端UE登錄時,獲取用戶識別符分配給用戶相應的身份標識;
[0105]映射流表單元,用于根據分配單元分配的身份標識和UE的源Openflow交換機的位置標識生成用戶的映射流表,并通過SDN控制器將映射流表下發(fā)給Openflow交換機,以進行SDN的報文轉發(fā)。
[0106]進一步地,該服務器還包括流表下發(fā)單元;其中,
[0107]流表下發(fā)單元,用于將映射流表單元的映射流表下發(fā)到SDN控制器;
[0108]映射流表單元,還用于當接收到SDN控制器UE位置移動產生的變化的位置標識是,根據變化位置標識更新的位置標識與身份標識的映射流表信息。
[0109]進一步地,該服務器還包括離線處理單元,用于根據用戶離線時上傳到SDN控制器Port_state信息刪除該用戶的映射流表信息,通過SDN控制器通知所有保存該用戶映射流表的Openflow交換機刪除該用戶的映射流表信息。
[0110]本申請?zhí)岢鲆环N技術方案,包括:源Openflow交換機根據端口信息確定接收到的數據報文為用戶的報文;當報文中的目的身份標識命中映射流表,從映射流表中獲得與目的身份標識對應的目的位置標識;在獲得的目的位置標識為源Openflow交換機的位置標識時,根據目的身份標識對應的端口信息,發(fā)送報文到目的用戶;否則,封裝并發(fā)送報文到目的位置標識對應的目的Openflow交換機,在目的Openflow交換機解封裝報文,以根據目的用戶的端口信息發(fā)送報文到目的用戶。本申請還提供與本發(fā)明方法對應的系統(tǒng)、Openflow交換機及服務器。本發(fā)明通過目的身份標識查找目的交換機的位置標識,以實現(xiàn)報文轉發(fā),在終端移動時,身份標識不變,更新位置標識與身份標識的映射流表進行報文轉發(fā),降低了 SDN控制器的負載。
[0111]另一方面,本發(fā)明采用身份標識不變,位置標識根據移動過程進行相應調整的方法,為采用身份標識進行網絡安全監(jiān)管提供了基礎。
【附圖說明】
[0112]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0113]圖1為現(xiàn)有技術SDN架構示意圖;
[0114]圖2為本發(fā)明基于SDN實現(xiàn)報文轉發(fā)的方法的流程圖;
[0115]圖3為本發(fā)明基于SDN實現(xiàn)報文轉發(fā)的系統(tǒng)的結構框圖;
[0116]圖4為本發(fā)明實施例1基于SDN實現(xiàn)用戶登錄的方法流程圖;
[0117]圖5為本發(fā)明實施例2基于SDN實現(xiàn)報文轉發(fā)的方法流程圖;
[0118]圖6為本發(fā)明實施例3基于SDN實現(xiàn)用戶離線的方法流程圖。
【具體實施方式】
[0119]在軟件定義網絡(SDN)中,報文的發(fā)送一般經由源用戶終端直接通信的源Openflow交換機,和接收的目的用戶對應的目的Openflow交換機;當源Openflow交換機與目的Openflow交換機不是直達的通信路徑時,還包括中間Openf low交換機,在實際的通信過程中,針對不同用戶和報文轉發(fā)的通信,Openflow交換機往往代表不同的角色,其報文轉發(fā)的過程是一個動態(tài)的過程,因此Openflow交換機的源Openflow交換機、目的Openflow交換機和中間Openflow交換機只是一個實時變化的身份。這里需要強調的是,當用戶進行報文發(fā)送時,其直接通信的Openflow交換機相對于該用戶必定是源Openflow交換機。
[0120]圖2為本發(fā)明基于SDN實現(xiàn)報文轉發(fā)的方法的流程圖,如圖2所示,包括:
[0121]步驟200、源Openflow交換機根據端口信息確定接收到的數據報文為用戶的報文。
[0122]步驟201、當報文中的目的身份標識命中映射流表,從映射流表中獲得與目的身份標識對應的目的位置標識。
[0123]步驟202、判斷獲得的目的位置標識為源Openflow交換機的位置標識,如果是,進入步驟203 ;否則進入步驟204 ;
[0124]步驟203、根據目的身份標識對應的端口信息,發(fā)送報文到目的用戶;結束本流程。
[0125]步驟204、封裝并發(fā)送報文到目的位置標識對應的目的Openflow交換機,在目的Openflow交換機解封裝報文,以根據目的用戶的端口信息發(fā)送報文到目的用戶。
[0126]本發(fā)明方法之前還包括:用戶所在用戶終端UE上傳用戶識別符到SDN控制器,SDN控制器根據用戶識別符向服務器獲取用戶的身份標識;
[0127]服務器建立用戶身份標識和所述源Openflow交換機的位置標識的對應關系、存儲在用戶的映射流表中,并經由SDN控制器將用戶的映射流表下發(fā)給SDN中的Openflow交換機。
[0128]根據端口信息確定接收的數據報文為用戶的報文之前,本發(fā)明方法還包括:分配用戶的報文與Openflow交換機的報文采用不同的端口區(qū)間的端口 ;
[0129]用戶的報文為:用戶發(fā)送的未封裝的報文;
[0130]Openflow交換機的報文為:封裝有用戶位置標識的報文。
[0131]報文至少包含有報文頭部和報文內容;其中,
[0132]報文頭部至少包含有源身份標識、目的身份標識、源端口信息、目的端口信息、協(xié)議類型。
[0133]當報文中的目的身份標識未命中映射流表時,該方法還包括:
[0134]所述源Openflow交換機發(fā)送包含目的身份標識的Packet_in消息到SDN控制器,SDN控制器向服務器查詢目的身份標識對應的目的位置標識;
[0135]SDN控制器下發(fā)Packet_out消息及第一 Flow_mod消息給源Openflow交換機,及第二 Flow_mod消息給目的Openflow交換機,以進行報文轉發(fā)。
[0136]進一步地,第一 Flowjnod消息包含:攜帶目的身份標識和目的位置標識的映射流表、攜帶目的位置標識的封裝流表及攜帶源位置標識的解封裝流表。
[0137]第二 Flowjnod消息包含:攜帶源身份標識和源位置標識的映射流表、攜帶源位置標識的封裝流表及攜帶目的位置標識的解封裝流表。
[0138]需要說明的是、源位置標識的解封裝流表,用于源Openflow交換機接收到目的Openflow交換機回復的封裝有源位置標識的報文時進行解封裝;
[0139]同理,目的位置標識的封裝流表,用于源Openflow交換機獲得目的位置標識后,對包含目的位置標識的報文進行封裝;
[0140]源位置標識的封裝流表,用于目的Openflow交換機回復時封裝包含源位置標識的報文;
[0141]目的位置標識的解封裝流表,用于目的Openflow交換機接收到源Openflow交換機發(fā)送的封裝有目的位置標識的報文時進行解封裝。
[0142]SDN控制器根據所述源位置標識和所述目的位置標識,計算源Openflow交換機到目的Openflow交換機的通信路徑,