基于軟件定義網(wǎng)絡(luò)的網(wǎng)關(guān)遷徙處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本申請涉及虛擬化技術(shù)領(lǐng)域,特別涉及一種基于SDN的網(wǎng)關(guān)遷徙處理方法及裝 置。
【背景技術(shù)】
[0002] 目前,大型數(shù)據(jù)中心的內(nèi)部布局都是采用大二層網(wǎng)絡(luò)的布局,現(xiàn)有的大二層技術(shù) 主要是overlay (交疊)技術(shù),大二層網(wǎng)絡(luò)需要與現(xiàn)有的傳統(tǒng)三層網(wǎng)絡(luò)進行通信,這樣,就需 要在SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))的邊緣架設(shè)一臺支持二三層轉(zhuǎn)發(fā)的網(wǎng) 關(guān)設(shè)備(Gateway)與外部的傳統(tǒng)三層網(wǎng)絡(luò)進行通信。
[0003] 如圖1所示,SDN中包括:控制器(Controller,圖1中未示出)、服務(wù)器、 VTEP (VXLAN Tunneling End Point,VXLAN 隧道終端)和 VXLAN (Virtual extensible Local Area Network,虛擬可擴展局域網(wǎng))IP (Internet Protocol,因特網(wǎng)協(xié)議)網(wǎng)關(guān)(Gateway, GW),其中,服務(wù)器中包括:VM(Virtual Machine,虛擬機)及其連接的vSwitch (虛擬交換 機)。VTEP通過現(xiàn)有網(wǎng)絡(luò)與VXLAN IP GW建立VXLAN隧道(Tunnel),從而形成VXLAN網(wǎng)絡(luò); 服務(wù)器通過VTEP與VXLAN IP GW連接;VXLAN IP GW -端連接VXLAN網(wǎng)絡(luò),另一端連接傳統(tǒng) 三層網(wǎng)絡(luò)(即,非虛擬化網(wǎng)絡(luò)),從而,實現(xiàn)了 VM與非虛擬化網(wǎng)絡(luò)的數(shù)據(jù)通信。其中,控制器 用于對SDN中的其它設(shè)備進行相關(guān)配置。
[0004] 為了能夠?qū)崿F(xiàn)VXLAN IP GW的負載分擔和高可靠性,通常使用至少兩臺VXLAN IP GW實現(xiàn)無狀態(tài)網(wǎng)關(guān)功能,即,使用至少兩臺VXLAN IP GW連接VXLAN網(wǎng)絡(luò)和非虛擬化網(wǎng)絡(luò)。 以圖1為例進行說明,VXLAN IP GWl和VXLAN IP GW2在同一 VXLAN內(nèi)。
[0005] 控制器(Controller)在 VXLAN IP GWl 和 VXLAN IP GW2 上配置相同的 VTEP IP 地 址,也稱為環(huán)回口地址;以及,在VXLAN IP GWl和VXLAN IP GW2上配置cost (開銷)值相同 的到VM的靜態(tài)路由。
[0006] VXLAN IP GWl和VXLAN IP GW2各自將本設(shè)備上的VTEP IP地址(為了描述方便,記 為IP1)通過BGP (Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議)等路由協(xié)議發(fā)布給VTEPl~ VTEP3,發(fā)布的路由的cost值相同;而且,VXLAN IP GWl和VXLAN IP GW2各自將到VM的靜態(tài) 路由發(fā)布給非虛擬化網(wǎng)絡(luò)中的交換機。
[0007] VTEPl ~VTEP3 中的任一 VTEP 接收到 VXLAN IP GWl 和 VXLAN IP GW2 中任一個 GW 發(fā)布來的VTEP IP地址IPl之后,均會在本地建立從本設(shè)備到IPl的路由,從而,最終得到了 2條形成等價關(guān)系的從本設(shè)備到IPl的路由。
[0008] 非虛擬化網(wǎng)絡(luò)中的交換機接收到VXLAN IP GWl和VXLAN IP GW2中任一個GW發(fā)布 來的到VM的靜態(tài)路由之后,均會在本地建立從本設(shè)備到該VM的路由,從而,最終得到了 2 條形成等價關(guān)系的從本設(shè)備到該VM的路由。
[0009] 這樣,在VM -非虛擬化網(wǎng)絡(luò)的數(shù)據(jù)通信過程中,任一 VTEP接收到來自VM的數(shù)據(jù) 報文之后,會從本設(shè)備到IPl的等價路由中選擇一條轉(zhuǎn)發(fā)給對應(yīng)的VXLAN IP GW,從而,實現(xiàn) 了 VM -非虛擬化網(wǎng)絡(luò)方向數(shù)據(jù)流的負載分擔;在非虛擬化網(wǎng)絡(luò)一VM的數(shù)據(jù)通信過程中,非 虛擬化網(wǎng)絡(luò)交換機接收到發(fā)往VM的數(shù)據(jù)報文之后,會從本設(shè)備到該VM的等價路由中選擇 一條,將該數(shù)據(jù)報文轉(zhuǎn)發(fā)給對應(yīng)的VXLAN IP GW,從而,實現(xiàn)了非虛擬化網(wǎng)絡(luò)一VM方向數(shù)據(jù) 流的負載分擔。
[0010] 但是,在上述過程中會存在以下問題:
[0011] 當任一 VXLAN IP GW進行遷徙,即離開SDN或離開SDN后再重新加入該SDN時,如 GWl進行遷徙,在路由收斂期間,由于VTEP上仍然存在從本設(shè)備到IPl的等價路由,因此, VTEP仍然可能會將來自VM的數(shù)據(jù)報文轉(zhuǎn)發(fā)給GWl,從而,導致丟包現(xiàn)象的發(fā)生;同樣,由于 非虛擬化網(wǎng)絡(luò)交換機上仍然存在從本設(shè)備到VM的等價路由,因此,該交換機仍然可能會將 發(fā)往VM的數(shù)據(jù)報文轉(zhuǎn)發(fā)給GWl,從而,導致丟包現(xiàn)象的發(fā)生;
[0012] 而且,通常采用手動的方式實現(xiàn)GWl的遷徙,即,手動地在Controller上進行操作 將GWl與Pl設(shè)備之間的鏈路、以及GWl與非虛擬化網(wǎng)絡(luò)中的交換機之間的鏈路斷開,操作 不便。
【發(fā)明內(nèi)容】
[0013] 本申請?zhí)峁┝艘环N基于SDN的網(wǎng)關(guān)遷徙處理方法及裝置,旨在解決現(xiàn)有技術(shù)中存 在的由于某一 VXLAN IP GW進行遷徙而導致的丟包問題以及手動操作不便的問題。
[0014] 本申請的技術(shù)方案如下:
[0015] -方面,提供了一種基于SDN的網(wǎng)關(guān)遷徙處理方法,應(yīng)用于至少兩個VXLAN IP GW 中要進行遷徙的第一 VXLAN IP GW,該方法包括:
[0016] 將攜帶VTEP IP地址的路由的優(yōu)先級降低后發(fā)布給VTEP,將到VM的靜態(tài)路由的 優(yōu)先級降低后發(fā)布給非虛擬化網(wǎng)絡(luò)的交換設(shè)備;其中,在第一 VXLAN IP GW上的路由的優(yōu)先 級降低之前,至少兩個VXLAN IP GW上攜帶VTEP IP地址的路由的優(yōu)先級相同,且至少兩個 VXLAN IP GW到VM的靜態(tài)路由的優(yōu)先級相同;
[0017] 在SDN中的控制器監(jiān)測到第一VXLAN IP GW上沒有VM與交換設(shè)備之間的數(shù)據(jù)流時, 執(zhí)行遷徙動作。
[0018] 另一方面,還提供了一種基于SDN的網(wǎng)關(guān)遷徙處理方法,應(yīng)用于SDN中的控制器, 該方法包括:
[0019] 向至少兩個VXLAN IP GW中要進行遷徙的第一 VXLAN IP GW發(fā)送第一配置命令和 第二配置命令,第一配置命令中包括:將攜帶VTEP IP地址的路由的優(yōu)先級降低,第二配置 命令中包括:將到VM的靜態(tài)路由的優(yōu)先級降低;其中,在第一 VXLAN IP GW上的路由的優(yōu)先 級降低之前,至少兩個VXLAN IP GW上攜帶VTEP IP地址的路由的優(yōu)先級相同,且至少兩個 VXLAN IP GW到VM的靜態(tài)路由的優(yōu)先級相同;
[0020] 在監(jiān)測到第一 VXLAN IP GW上沒有VM與非虛擬化網(wǎng)絡(luò)的交換設(shè)備之間的數(shù)據(jù)流 時,向第一 VXLAN IP GW發(fā)送遷徙動作執(zhí)行命令。
[0021] 又一方面,還提供了一種基于SDN的網(wǎng)關(guān)遷徙處理裝置,應(yīng)用于至少兩個VXLAN IP GW中要進行遷徙的第一 VXLAN IP GW中,該裝置包括:
[0022] 路由發(fā)布模塊,用于將攜帶VTEP IP地址的路由的優(yōu)先級降低后發(fā)布給VTEP,將到 VM的靜態(tài)路由的優(yōu)先級降低后發(fā)布給非虛擬化網(wǎng)絡(luò)的交換設(shè)備;其中,在第一 VXLAN IP GW 上的路由的優(yōu)先級降低之前,至少兩個VXLAN IP GW上攜帶VTEP IP地址的路由的優(yōu)先級相 同,且至少兩個VXLAN IP GW到VM的靜態(tài)路由的優(yōu)先級相同;
[0023] 遷徙模塊,用于在SDN中的控制器監(jiān)測到第一 VXLAN IP GW上沒有VM與交換設(shè)備 之間的數(shù)據(jù)流時,執(zhí)行遷徙動作。
[0024] 又一方面,還提供了一種基于SDN的網(wǎng)關(guān)遷徙處理裝置,應(yīng)用于SDN中的控制器, 該裝置包括:
[0025] 第一命令發(fā)送模塊,用于向至少兩個VXLAN IP GW中要進行遷徙的第一 VXLAN IP GW發(fā)送第一配置命令和第二配置命令,第一配置命令中包括:將攜帶VTEP IP地址的路由的 優(yōu)先級降低,第二配置命令中包括:將到VM的靜態(tài)路由的優(yōu)先級降低;其中,在第一 VXLAN IP GW上的路由的優(yōu)先級降低之前,至少兩個VXLAN IP GW上攜帶VTEP IP地址的路由的優(yōu) 先級相同,且至少兩個VXLAN IP GW到VM的靜態(tài)路由的優(yōu)先級相同;
[0026] 監(jiān)測模塊,用于監(jiān)測第一 VXLAN IP GW上是否存在VM與非虛擬化網(wǎng)絡(luò)的交換設(shè)備 之間的數(shù)據(jù)流;
[0027] 第二命令發(fā)送模塊,用于在監(jiān)測模塊監(jiān)測到第一 VXLAN IP GW上沒有VM與非虛擬 化網(wǎng)絡(luò)的交換設(shè)備之間的數(shù)據(jù)流時,向第一 VXLAN IP GW發(fā)送遷徙動作執(zhí)行命令。
[0028] 本申請上述實施例的技術(shù)方案中,在基于SDN的網(wǎng)絡(luò)架構(gòu)中,當有N個(N不小于 2) VXLAN IP GW共同實現(xiàn)負載分擔時,如果某一 VXLAN IP GW (稱為第一 VXLAN IP GW)需要進 行遷徙,在進行遷徙之前,控制器降低第一 VXLAN IP GW上攜帶VTEP IP地址的路由的優(yōu)先 級,這樣,第一 VXLAN IP GW重新將攜帶VTEP IP地址的路由以降低后的優(yōu)先級發(fā)布給VTEP 之后,VTEP會將本地形成等價關(guān)系的N個從本設(shè)備經(jīng)過N個VXLAN IP GW中不同VXLAN IP GW到VTEP IP地址的路由,更新為形成等價關(guān)系的N-I個從本設(shè)備經(jīng)過除第一 VXLAN IP GW 以外的不同VXLAN IP GW到VTEP IP地址的路由,從而,VM -非虛擬化網(wǎng)絡(luò)方向的數(shù)據(jù)流在 經(jīng)過VTEP時不會再通過第一VXLAN IP GW轉(zhuǎn)發(fā);另外,在第一 VXLAN IP GW進行遷徙之前,控 制器還降低第一 VXLAN IP GW上到VM的靜態(tài)路由的優(yōu)先級,這樣,第一 VXLAN IP GW重新將 從本設(shè)備到該VM的靜態(tài)路由發(fā)布給非虛擬化網(wǎng)絡(luò)中的交換設(shè)備之后,該交換設(shè)備會將本 地形成等價關(guān)系的N個從本設(shè)備經(jīng)過N個VXLAN IP GW中不同VXLAN IP GW到該VM的路由, 更新為形成等價關(guān)系的N-I個從本設(shè)備經(jīng)過除第一 VXLAN IP GW以外的不同VXLAN IP GW到 該VM的路由,從而,非虛擬化網(wǎng)絡(luò)一VM方向的數(shù)據(jù)流在經(jīng)過該交換設(shè)備時不會再通過第一 VXLAN IP GW轉(zhuǎn)發(fā);上述路由發(fā)布完之后,非虛擬化網(wǎng)絡(luò)與VM之間的數(shù)據(jù)流就會切換到其它 VXLAN IP GW上進行轉(zhuǎn)發(fā),在控制器監(jiān)測到第一 VXLAN IP GW上沒有VM與非虛擬化網(wǎng)絡(luò)的交 換設(shè)備之間的數(shù)據(jù)流時,第一 VXLAN IP GW執(zhí)行遷徙動作。
[0029] 在第一 VXLAN IP GW遷徙之前,通過修改第一 VXLAN IP GW上攜帶VTEP IP地址的路 由的優(yōu)先級和到VM的靜態(tài)路由的優(yōu)先級,使得修改后的優(yōu)先級低于其它VXLAN IP GW上對 應(yīng)路由的優(yōu)先級,這樣,VTEP和非虛擬化網(wǎng)絡(luò)中的交換設(shè)備上不再存在經(jīng)過第一 VXLAN IP GW的路由,使得VM與非虛擬化網(wǎng)絡(luò)之間的數(shù)據(jù)流能夠切換到除第一 VXLAN IP GW以外的其 它VXLAN IP GW上進行轉(zhuǎn)發(fā),第一 VXLAN IP GW再執(zhí)行遷徙動作,從而,避免了丟包的問題。
[0030] 而且,在第一 VXLAN IP GW完成遷徙并重新加入SDN之后,控制器再將第一 VXLAN IP GW上攜帶VTEP IP地址的路由和到VM的靜態(tài)路由的優(yōu)先級分別恢復為降低前的優(yōu)先級, 這樣,VTEP再次生成形成等價關(guān)系的N個從本設(shè)備經(jīng)過包括第一 VXLAN IP GW在內(nèi)的不同 VXLAN IP GW到VTEP IP地址的路由,非虛擬化網(wǎng)絡(luò)中的交換設(shè)備上再次生成形成等價關(guān)系 的N個從本設(shè)備經(jīng)過包括第一 VXLAN IP GW在內(nèi)的不同VXLAN IP GW到VM的路由,從而,包 括第一 VXLAN IP GW在內(nèi)的N個VXLAN IP GW重新實現(xiàn)負載分擔。
[0031] 另外,通過控制