一種數(shù)據(jù)的遷移方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)的迀移方法和裝置。
【背景技術(shù)】
[0002]SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),其核心思想是將網(wǎng)絡(luò)設(shè)備的控制層面與轉(zhuǎn)發(fā)層面分離,以實現(xiàn)對網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)以及應(yīng)用的創(chuàng)新提供良好的平臺。在SDN中,通??梢允褂肰XLAN(Virtual extensibleLocal Area Network,虛擬可擴展局域網(wǎng))網(wǎng)絡(luò)將各個網(wǎng)絡(luò)設(shè)備(如Openf low交換機)連接起來,VXLAN網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備可以稱為VTEP (VXLAN Tunnel End Point,VXLAN隧道端點)設(shè)備。VXLAN網(wǎng)絡(luò)是基于IP網(wǎng)絡(luò),并采用“MAC(Media Access Control,介質(zhì)訪問控制)in UDP (User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)”封裝形式的二層VPN(VirtualPrivate Network,虛擬專用網(wǎng)絡(luò)),其可以基于已有的服務(wù)提供商或者企業(yè)的IP網(wǎng)絡(luò),為分散的物理站點提供二層互聯(lián)。
[0003]在基于VXLAN網(wǎng)絡(luò)的SDN中,VTEP設(shè)備下掛的用戶服務(wù)器會均勻的分布,并根據(jù)實際的負載情況在不同的VTEP設(shè)備之間平滑迀移。如圖1所示,為基于VXLAN網(wǎng)絡(luò)的SDN的組網(wǎng)示意圖,當(dāng)VTEP設(shè)備I下掛的用戶服務(wù)器需要迀移時,SDN控制器會為該用戶服務(wù)器選擇迀移的目的VTEP設(shè)備,如選擇VTEP設(shè)備2。在用戶服務(wù)器的迀移過程中,需要將用戶服務(wù)器在VTEP設(shè)備I上對應(yīng)的數(shù)據(jù),通過VXLAN網(wǎng)絡(luò)迀移到VTEP設(shè)備2。
[0004]假設(shè)用戶服務(wù)器在VTEP設(shè)備I上對應(yīng)的數(shù)據(jù)包括數(shù)據(jù)塊1、數(shù)據(jù)塊2和數(shù)據(jù)塊3時,VTEP設(shè)備I將數(shù)據(jù)塊I發(fā)送給VTEP設(shè)備2,VTEP設(shè)備2在成功接收到數(shù)據(jù)塊I之后,向該VTEP設(shè)備I返回確認消息。之后,VTEP設(shè)備I將數(shù)據(jù)塊2發(fā)送給VTEP設(shè)備2,VTEP設(shè)備2在成功接收到數(shù)據(jù)塊2之后,向該VTEP設(shè)備I返回確認消息。之后,VTEP設(shè)備I將數(shù)據(jù)塊3發(fā)送給VTEP設(shè)備2,VTEP設(shè)備2在成功接收到數(shù)據(jù)塊3之后,向VTEP設(shè)備I返回確認消息。至此,用戶服務(wù)器在VTEP設(shè)備I上對應(yīng)的數(shù)據(jù)(即數(shù)據(jù)塊1、數(shù)據(jù)塊2和數(shù)據(jù)塊3),通過VXLAN網(wǎng)絡(luò)成功迀移到VTEP設(shè)備2。
[0005]SDN控制器在為用戶服務(wù)器選擇目的VTEP設(shè)備時,隨機選擇一個VTEP設(shè)備作為目的VTEP設(shè)備,而數(shù)據(jù)從源VTEP設(shè)備(VTEP設(shè)備I)迀移到目的VTEP設(shè)備(VTEP設(shè)備2)的迀移時間,取決于源VTEP設(shè)備與目的VTEP設(shè)備之間的VXLAN隧道的延遲時間。當(dāng)SDN控制器選擇的目的VTEP設(shè)備與源VTEP設(shè)備之間的VXLAN隧道的延遲時間很長時,數(shù)據(jù)成功迀移到目的VTEP設(shè)備的時間很長,無法在盡可能短的時間內(nèi)完成數(shù)據(jù)迀移。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供一種數(shù)據(jù)的迀移方法,所述方法包括以下步驟:
[0007]源虛擬可擴展局域網(wǎng)隧道端點VTEP設(shè)備確定延遲檢測報文的發(fā)送時間戳,在所述延遲檢測報文中添加所述發(fā)送時間戳,并向其它VTEP設(shè)備發(fā)送所述延遲檢測報文,所述延遲檢測報文的源介質(zhì)訪問控制MAC地址為本源VTEP設(shè)備的特定MAC地址;所述特定MAC地址用于使其它VTEP設(shè)備在收到所述延遲檢測報文后,將所述延遲檢測報文環(huán)回給所述源VTEP設(shè)備;
[0008]所述源VTEP設(shè)備在收到所述延遲檢測報文后,確定所述延遲檢測報文的接收時間戳,并利用所述發(fā)送時間戳和所述接收時間戳,計算所述源VTEP設(shè)備與其它VTEP設(shè)備之間的虛擬可擴展局域網(wǎng)VXLAN隧道的延遲時間;
[0009]所述源VTEP設(shè)備將所述延遲時間發(fā)送給軟件定義網(wǎng)絡(luò)SDN控制器,由SDN控制器利用所述延遲時間確定所述源VTEP設(shè)備對應(yīng)的目的VTEP設(shè)備;
[0010]在迀移所述源VTEP設(shè)備的數(shù)據(jù)時,所述源VTEP設(shè)備接收所述SDN控制器通知的目的VTEP設(shè)備的信息,并將數(shù)據(jù)迀移到所述目的VTEP設(shè)備。
[0011]所述方法進一步包括:
[0012]所述源VTEP設(shè)備將本源VTEP設(shè)備的特定MAC地址通知給其它VTEP設(shè)備;由所述其它VTEP設(shè)備在接收到所述源VTEP設(shè)備的特定MAC地址后,創(chuàng)建所述特定MAC地址的轉(zhuǎn)發(fā)策略表,所述轉(zhuǎn)發(fā)策略表用于使所述其它VTEP設(shè)備在收到源MAC地址為所述特定MAC地址的延遲檢測報文時,將所述延遲檢測報文發(fā)送給所述特定MAC地址對應(yīng)的源VTEP設(shè)備。
[0013]所述源VTEP設(shè)備將所述延遲時間發(fā)送給SDN控制器的過程,具體包括:
[0014]所述源VTEP設(shè)備將所述源VTEP設(shè)備與其它VTEP設(shè)備之間的VXLAN隧道虛擬化成邏輯端口,在端口狀態(tài)消息中添加所述延遲時間、所述VXLAN隧道的源IP地址和目的IP地址,并設(shè)置所述端口狀態(tài)消息的消息類型為預(yù)設(shè)標(biāo)識,所述預(yù)設(shè)標(biāo)識表示所述端口狀態(tài)消息中攜帶VXLAN隧道的延遲時間;所述源VTEP設(shè)備將所述端口狀態(tài)消息發(fā)送給所述SDN控制器。
[0015]本發(fā)明提供一種數(shù)據(jù)的迀移方法,所述方法包括以下步驟:
[0016]軟件定義網(wǎng)絡(luò)SDN控制器接收來自源虛擬可擴展局域網(wǎng)隧道端點VTEP設(shè)備的,源VTEP設(shè)備與其它VTEP設(shè)備之間的虛擬可擴展局域網(wǎng)VXLAN隧道的延遲時間;其中,所述延遲時間是所述源VTEP設(shè)備利用延遲檢測報文的發(fā)送時間戳和延遲檢測報文的接收時間戳計算的,所述延遲檢測報文的接收時間戳是所述源VTEP設(shè)備向其它VTEP設(shè)備發(fā)送源介質(zhì)訪問控制MAC地址為本源VTEP設(shè)備的特定MAC地址的延遲檢測報文后,收到所述延遲檢測報文時確定的接收時間戳,所述特定MAC地址用于使其它VTEP設(shè)備在收到所述延遲檢測報文后,將所述延遲檢測報文環(huán)回給所述源VTEP設(shè)備;
[0017]所述SDN控制器利用所述源VTEP設(shè)備與每個其它VTEP設(shè)備之間的VXLAN隧道的延遲時間,確定所述源VTEP設(shè)備對應(yīng)的目的VTEP設(shè)備,并在迀移所述源VTEP設(shè)備的數(shù)據(jù)時,將所述目的VTEP設(shè)備的信息通知給所述源VTEP設(shè)備,由所述源VTEP設(shè)備將數(shù)據(jù)迀移到所述目的VTEP設(shè)備。
[0018]所述SDN控制器接收來自源VTEP設(shè)備的,源VTEP設(shè)備與其它VTEP設(shè)備之間的VXLAN隧道的延遲時間的過程,具體包括:
[0019]所述SDN控制器接收來自所述源VTEP設(shè)備的端口狀態(tài)消息,所述端口狀態(tài)消息中攜帶了延遲時間、VXLAN隧道的源IP地址和目的IP地址,且所述端口狀態(tài)消息的消息類型為預(yù)設(shè)標(biāo)識,所述預(yù)設(shè)標(biāo)識表示所述端口狀態(tài)消息中攜帶了所述VXLAN隧道的延遲時間;所述SDN控制器在從所述端口狀態(tài)消息的消息類型中解析出預(yù)設(shè)標(biāo)識之后,從所述端口狀態(tài)消息中解析出所述源VTEP設(shè)備與其它VTEP設(shè)備之間的VXLAN隧道的延遲時間。
[0020]所述SDN控制器利用所述源VTEP設(shè)備與每個其它VTEP設(shè)備之間的VXLAN隧道的延遲時間,確定所述源VTEP設(shè)備對應(yīng)的目的VTEP設(shè)備的過程,具體包括:在指定時間段內(nèi),所述SDN控制器統(tǒng)計所述源VTEP設(shè)備與每個其它VTEP設(shè)備之間的VXLAN隧道的多個延遲時間,并利用所述多個延遲時間確定所述源VTEP設(shè)備與每個其它VTEP設(shè)備的延遲穩(wěn)定性和延遲平均值;所述SDN控制器利用所述源VTEP設(shè)備與每個其它VTEP設(shè)備的延遲穩(wěn)定性和延遲平均值,確定所述源VTEP設(shè)備對應(yīng)的目的VTEP設(shè)備。
[0021]本發(fā)明提供一種數(shù)據(jù)的迀移裝置,所述數(shù)據(jù)的迀移裝置應(yīng)用于源虛擬可擴展局域網(wǎng)隧道端點VTEP設(shè)備上,所述數(shù)據(jù)的迀移裝置具體包括:
[0022]第一發(fā)送模塊,用于確定延遲檢測報文的發(fā)送時間戳,在所述延遲檢測報文中添加所述發(fā)送時間戳,并向其它VTEP設(shè)備發(fā)送所述延遲檢測報文,所述延遲檢測報文的源介質(zhì)訪問控制MAC地址為所述源VTEP設(shè)備的特定MAC地址;所述特定MAC地址用于使其它VTEP設(shè)備在接收到所述延遲檢測報文后,將所述延遲檢測報文環(huán)回給所述源VTEP設(shè)備;
[0023]計算模塊,用于在收到所述延遲檢測報文后,確定所述延遲檢測報文的接收時間戳,并利用所述發(fā)送時間戳和所述接收時間戳,計算所述源VTEP設(shè)備與其它VTEP設(shè)備之間的虛擬可擴展局域網(wǎng)VXLAN隧道的延遲時間;
[0024]第二發(fā)送模塊,用于將所述延遲時間發(fā)送給軟件定義網(wǎng)絡(luò)SDN控制器,由SDN控制器利用所述延遲時間確定源VTEP設(shè)備對應(yīng)的目的VTEP設(shè)備;
[0025]迀移模塊,用于在迀移所述源VTEP設(shè)備的數(shù)據(jù)時,接收所述SDN控制器通知的目的VTEP設(shè)備的信息,并將數(shù)據(jù)迀移到所述目的VTEP設(shè)備。
[0026]所述第一發(fā)送模塊,還用于將所述源VTEP設(shè)備的特定MAC地址通知給其它VTEP設(shè)備;由所述其它VTEP設(shè)備在接收到所述源VTEP設(shè)備的特定MAC地址后,創(chuàng)建所述特定MAC地址的轉(zhuǎn)發(fā)策略表,所述轉(zhuǎn)發(fā)策略表用于使其它VTEP設(shè)備在收到源MAC地址為所述特定MAC地址的延遲檢測報文時,將所述延遲檢測報文發(fā)送給所述特定MAC地址對應(yīng)的源VTEP設(shè)備。
[0027]所述第二發(fā)送模