的Η層轉(zhuǎn)發(fā),源節(jié)點(diǎn)所在VXLAN中的VXLAN網(wǎng)關(guān)與目的節(jié)點(diǎn) 路由可達(dá),即是該VXLAN網(wǎng)關(guān)與目的節(jié)點(diǎn)流量可達(dá)。
[003引 SDN控制器可W在每次收到上送的需要Η層轉(zhuǎn)發(fā)的報(bào)文時(shí),根據(jù)其維護(hù)的管理域 內(nèi)被管理設(shè)備的信息來(lái)查找與上送的報(bào)文的源節(jié)點(diǎn)在同一個(gè)VXLAN內(nèi),且與上送的報(bào)文的 目的節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān),并從中選擇至少一個(gè)VXLAN網(wǎng)關(guān)作為轉(zhuǎn)發(fā)網(wǎng)關(guān);也可W保 存目的節(jié)點(diǎn)與流量可達(dá)的VXLAN網(wǎng)關(guān)的對(duì)應(yīng)關(guān)系,通過(guò)查找保存的對(duì)應(yīng)關(guān)系來(lái)獲得與上送 的報(bào)文的目的節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān),并從中選擇至少一個(gè)與報(bào)文的源節(jié)點(diǎn)在同一個(gè) V)(LAN內(nèi)的V)(LAN網(wǎng)關(guān)作為轉(zhuǎn)發(fā)網(wǎng)關(guān)。
[0034] 一個(gè)例子中,在SDN控制器上保存可用網(wǎng)關(guān)表,其表項(xiàng)包括目的節(jié)點(diǎn)、與目的節(jié)點(diǎn) 流量可達(dá)的VXLAN網(wǎng)關(guān),此外還可W包括VXLAN網(wǎng)關(guān)的VTEPIP地址、所在的VXLAN等。送些 表項(xiàng)可W由SDN控制器根據(jù)其維護(hù)的管理域信息自動(dòng)生成。當(dāng)SDN控制器收到VTEP上傳 的需要Η層轉(zhuǎn)發(fā)的報(bào)文時(shí),可W在可用網(wǎng)關(guān)表中查找與報(bào)文的目的節(jié)點(diǎn)流量可達(dá)的VXLAN 網(wǎng)關(guān),將其中至少一個(gè)與報(bào)文的源節(jié)點(diǎn)在同一個(gè)VXLAN內(nèi)的VXLAN網(wǎng)關(guān)作為轉(zhuǎn)發(fā)網(wǎng)關(guān)。
[0035] SDN控制器可W根據(jù)保存的管理域信息生成包括所有可達(dá)的目的節(jié)點(diǎn)的可用網(wǎng)關(guān) 表,并且在網(wǎng)路拓?fù)浒l(fā)生變化時(shí)自動(dòng)更新可用網(wǎng)關(guān)表的表項(xiàng)。送樣,在每次收到VTEP上送 的需要Η層轉(zhuǎn)發(fā)的報(bào)文時(shí),查找可用網(wǎng)關(guān)表即可得到所有與上送的報(bào)文的目的節(jié)點(diǎn)流量可 達(dá)的VXLAN網(wǎng)關(guān)。
[0036] SDN控制器可W在收到VTEP上送的需要Η層轉(zhuǎn)發(fā)的報(bào)文時(shí),先在可用網(wǎng)關(guān)表中查 找包括目的節(jié)點(diǎn)的表項(xiàng),如果找到則根據(jù)送些表項(xiàng)得到所有與上送的報(bào)文的目的節(jié)點(diǎn)流量 可達(dá)的VXLAN網(wǎng)關(guān);否則按照保存的管理域信息找到與上送的報(bào)文的目的節(jié)點(diǎn)流量可達(dá)的 VXLAN網(wǎng)關(guān),并且生成表項(xiàng)保存在可用網(wǎng)關(guān)表中。可W對(duì)可用網(wǎng)關(guān)表的表項(xiàng)啟用老化機(jī)制, W及時(shí)反映網(wǎng)絡(luò)狀態(tài)變化并且避免表的規(guī)模過(guò)大。
[0037] SDN控制器可則尋所有與報(bào)文的源節(jié)點(diǎn)在同一個(gè)VXLAN內(nèi)且與上送的報(bào)文的目 的節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān)都作為轉(zhuǎn)發(fā)網(wǎng)關(guān),也可W在其中選擇一個(gè)至多個(gè)作為轉(zhuǎn)發(fā)網(wǎng) 關(guān)。在一個(gè)例子中,SDN控制器獲取與報(bào)文的源節(jié)點(diǎn)在同一個(gè)VXLAN內(nèi)且與上送的報(bào)文的 目的節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān)的運(yùn)行狀態(tài)信息;根據(jù)運(yùn)行狀態(tài)信息在其中選擇至少一個(gè) VXLAN網(wǎng)關(guān)作為轉(zhuǎn)發(fā)網(wǎng)關(guān)。根據(jù)VXLAN網(wǎng)絡(luò)的具體組網(wǎng)構(gòu)成,SDN控制器可W直接從與報(bào)文 的源節(jié)點(diǎn)在同一個(gè)VXLAN內(nèi)且與上送的報(bào)文的目的節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān)得到其運(yùn)行 狀態(tài)信息,也可W從網(wǎng)絡(luò)管理服務(wù)器或者運(yùn)行網(wǎng)絡(luò)管理功能的邏輯模塊獲得與報(bào)文的源節(jié) 點(diǎn)在同一個(gè)VXLAN內(nèi)且與上送的報(bào)文的目的節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān)的運(yùn)行狀態(tài)信息。 運(yùn)行狀態(tài)信息可W包括是否正常運(yùn)行、報(bào)文流量、硬件設(shè)備使用率等中的一個(gè)到多個(gè)。根據(jù) 送些所獲取的運(yùn)行狀態(tài)信息,SDN控制器可W按照多種設(shè)定條件來(lái)選擇轉(zhuǎn)發(fā)網(wǎng)關(guān),例如,女口 果與報(bào)文的源節(jié)點(diǎn)在同一個(gè)VXLAN內(nèi)且與上送的報(bào)文的目的節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān)超 過(guò)2個(gè),則將使用率最低的兩個(gè)與報(bào)文的源節(jié)點(diǎn)在同一個(gè)VXLAN內(nèi)且與上送的報(bào)文的目的 節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān)作為轉(zhuǎn)發(fā)網(wǎng)關(guān)。
[0038] 步驟330,向上送報(bào)文的VTEP下發(fā)至少一條流表,每條流表對(duì)應(yīng)至少一個(gè)轉(zhuǎn)發(fā)網(wǎng) 關(guān),每條流表用于;指示該VTEP將從上送報(bào)文的源節(jié)點(diǎn)發(fā)往目的節(jié)點(diǎn)的報(bào)文,發(fā)送到該流 表對(duì)應(yīng)的一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān)進(jìn)行Η層轉(zhuǎn)發(fā)。
[0039] SDN控制器在為VTEP上送的報(bào)文確定轉(zhuǎn)發(fā)網(wǎng)關(guān)后,向VTEP下發(fā)至少一條流表,每 條流表對(duì)應(yīng)于至少一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān),用來(lái)指令VTEP將由該報(bào)文的源節(jié)點(diǎn)發(fā)往目的節(jié)點(diǎn)的報(bào) 文,發(fā)送給該流表對(duì)應(yīng)的一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān),由該流表對(duì)應(yīng)的送個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān)來(lái)進(jìn)行Η層轉(zhuǎn)發(fā)。
[0040] 當(dāng)轉(zhuǎn)發(fā)網(wǎng)關(guān)超過(guò)1個(gè)時(shí),SDN控制器可W向VTEP下發(fā)一條流表,指定送些轉(zhuǎn)發(fā)網(wǎng) 關(guān)中的一個(gè)到多個(gè),也可W向VTEP下發(fā)多條流表,在各條流表中指定不同的轉(zhuǎn)發(fā)網(wǎng)關(guān)。
[0041] 在一個(gè)例子中,當(dāng)轉(zhuǎn)發(fā)網(wǎng)關(guān)不少于2個(gè)時(shí),SDN控制器向上送報(bào)文的VTEP下發(fā)至少 兩條流表,每條流表對(duì)應(yīng)至少一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān),各條流表所對(duì)應(yīng)的轉(zhuǎn)發(fā)網(wǎng)關(guān)不同;每條流表用 于指示VTEP將從該報(bào)文的源節(jié)點(diǎn)發(fā)送給目的節(jié)點(diǎn)的報(bào)文,發(fā)送給該流表對(duì)應(yīng)的一個(gè)轉(zhuǎn)發(fā) 網(wǎng)關(guān)進(jìn)行Η層轉(zhuǎn)發(fā)。例如,SDN控制器對(duì)每一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān),向VTEP下發(fā)一條流表,指示VTEP 將由該報(bào)文的源節(jié)點(diǎn)發(fā)往目的節(jié)點(diǎn)的報(bào)文,發(fā)送給送個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān)來(lái)進(jìn)行Η層轉(zhuǎn)發(fā)。
[0042] VTEP接收流表并保存在本地后,由該上送報(bào)文的源節(jié)點(diǎn)發(fā)往目的節(jié)點(diǎn)的報(bào)文將匹 配至少一條流表表項(xiàng)。當(dāng)匹配的表項(xiàng)超過(guò)一條時(shí),換言之,當(dāng)SDN控制器下發(fā)的流表中匹配 該報(bào)文的表項(xiàng)超過(guò)一條時(shí),根據(jù)現(xiàn)有的方式,νΤΕΡ將送些匹配的表項(xiàng)作為等價(jià)路由的多條 路徑,將多個(gè)報(bào)文分別采用不同的匹配表項(xiàng)進(jìn)行處理和轉(zhuǎn)發(fā);可W通過(guò)在VTEP本地使能等 價(jià)路由來(lái)實(shí)現(xiàn)上述功能,也可W由網(wǎng)絡(luò)管理服務(wù)器或者SDN控制器對(duì)VTEP進(jìn)行遠(yuǎn)程設(shè)置。 送樣,從源節(jié)點(diǎn)發(fā)往目的節(jié)點(diǎn)的若干個(gè)報(bào)文將分配到不同的轉(zhuǎn)發(fā)網(wǎng)關(guān),從而在轉(zhuǎn)發(fā)網(wǎng)關(guān)之 間實(shí)現(xiàn)負(fù)載分擔(dān)。
[0043] SDN控制器向VTEP下發(fā)的每條流表,具體而言,該流表用于指示VTEP ;對(duì)從上送報(bào) 文的源節(jié)點(diǎn)發(fā)往目的節(jié)點(diǎn)的報(bào)文,將報(bào)文的目的MAC地址修改為該流表對(duì)應(yīng)的一個(gè)轉(zhuǎn)發(fā)網(wǎng) 關(guān)的MAC地址,W該對(duì)應(yīng)的一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān)的VTEP IP地址作為外層目的IP地址將報(bào)文進(jìn)行 VXLAN封裝后,發(fā)送至該對(duì)應(yīng)的一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān)。
[0044] VXLAN采用將W太網(wǎng)報(bào)文封裝在UDP傳輸層上的隧道轉(zhuǎn)發(fā)模式,是全連接組網(wǎng)。也 就是說(shuō),一個(gè)VXLAN的所有邊緣設(shè)備(包括VTEP和VXLAN網(wǎng)關(guān))之間通過(guò)點(diǎn)到點(diǎn)的邏輯隧 道互連,其中,VXLAN網(wǎng)關(guān)W其VTEP IP地址與VTEP建立邏輯隧道。封裝后的VXLAN報(bào)文由 源端的邊緣設(shè)備經(jīng)過(guò)邏輯隧道發(fā)送給目的端的邊緣設(shè)備,在一些應(yīng)用中,源端的邊緣設(shè)備 通過(guò)VXLAN報(bào)文中的VNI、內(nèi)層目的MAC地址(封裝前原始報(bào)文內(nèi)的目的MAC地址)、外層 目的IP地址(封裝在原始報(bào)文外的目的IP地址)來(lái)確定要發(fā)送給哪個(gè)目的端邊緣設(shè)備。 對(duì)本例中需要進(jìn)行Η層轉(zhuǎn)發(fā)的VXLAN報(bào)文而言,其內(nèi)層目的MAC地址是轉(zhuǎn)發(fā)網(wǎng)關(guān)的MAC地 址、外層目的IP地址是轉(zhuǎn)發(fā)網(wǎng)關(guān)的VTEP IP地址,才能通過(guò)邏輯隧道到達(dá)轉(zhuǎn)發(fā)網(wǎng)關(guān)。
[0045] 如前所述,源節(jié)點(diǎn)發(fā)出的需要Η層轉(zhuǎn)發(fā)的報(bào)文,其目的MAC地址是源節(jié)點(diǎn)本地配 置的缺省網(wǎng)關(guān)的MAC地址。而在本例中,轉(zhuǎn)發(fā)網(wǎng)關(guān)不一定是源節(jié)點(diǎn)上配置的缺省網(wǎng)關(guān)。因 此,在送些應(yīng)用中,SDN控制器在下發(fā)的流表用于指示VTEP將報(bào)文的目的MAC地址修改為 該流表對(duì)應(yīng)的一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān)的MAC地址,W該對(duì)應(yīng)的一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān)的VTEP IP地址作為外 層目的IP地址將報(bào)文進(jìn)行VXLAN封裝,從而使封裝后的VXLAN報(bào)文經(jīng)由VTEP與轉(zhuǎn)發(fā)網(wǎng)關(guān) 之間的邏輯隧道到達(dá)轉(zhuǎn)發(fā)網(wǎng)關(guān)。
[0046] 本例中,在與報(bào)文的源節(jié)點(diǎn)在同一個(gè)VXLAN內(nèi)且與報(bào)文的目的節(jié)點(diǎn)流量可達(dá)的 VXLAN網(wǎng)關(guān)中選擇一個(gè)到多個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān)來(lái)進(jìn)行Η層轉(zhuǎn)發(fā),使得源節(jié)點(diǎn)的Η層流量不必固定 的從其缺省網(wǎng)關(guān)上經(jīng)過(guò),實(shí)現(xiàn)了源節(jié)點(diǎn)流量的動(dòng)態(tài)分配,提高了網(wǎng)絡(luò)性能;當(dāng)下發(fā)的流表超 過(guò)1條時(shí),還實(shí)現(xiàn)了源節(jié)點(diǎn)流量的負(fù)載分擔(dān),進(jìn)一步避免了流量集中在某個(gè)VXLAN網(wǎng)關(guān)上。 此外,SDN控制器可W根據(jù)運(yùn)行狀態(tài)信息選擇轉(zhuǎn)發(fā)網(wǎng)關(guān),從而能夠?qū)⒘髁繌呢?fù)荷重的VXLAN 網(wǎng)關(guān)動(dòng)態(tài)的導(dǎo)向負(fù)荷輕的VXLAN網(wǎng)關(guān),進(jìn)一步提高了網(wǎng)絡(luò)的性能。
[0047] 本申請(qǐng)的另一個(gè)例子中,在SDN控制器上維護(hù)可用網(wǎng)關(guān)表,在收到VTEP上傳的需 要Η層轉(zhuǎn)發(fā)的報(bào)文后,將可用網(wǎng)關(guān)表中報(bào)文的目的節(jié)點(diǎn)的對(duì)應(yīng)的網(wǎng)關(guān)確定為與報(bào)文的目的 節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān),再將與報(bào)文的目的節(jié)點(diǎn)流量可達(dá)的VXLAN網(wǎng)關(guān)中至少一個(gè)與 報(bào)文的源節(jié)點(diǎn)在同一個(gè)VXLAN內(nèi)的VXLAN網(wǎng)關(guān)作為轉(zhuǎn)發(fā)網(wǎng)關(guān),來(lái)下發(fā)流表。
[004引仍W圖1所示的網(wǎng)絡(luò)為例,SDN控制器110上的可用網(wǎng)關(guān)表中包括如表1所示的 表項(xiàng):
[0049]
[0050] 表 1
[0051] 表1中,目的IP地址為報(bào)文目的節(jié)點(diǎn)的IP地址。
[005引 當(dāng)VM1第一次向VM3發(fā)送報(bào)文時(shí),設(shè)VM1本地配置的缺省網(wǎng)關(guān)為VXLAN網(wǎng)關(guān)161, 則報(bào)文的源MAC地址為MC-VM1、源IP地址為IP-VM1、目的MAC地址為MC-161、目的IP地 址為 IP-VM3。
[005引 VM1發(fā)送的報(bào)文到達(dá)VTEP 131。VTEP 131在本地的流表中未發(fā)現(xiàn)與VM1發(fā)送給 VM3的報(bào)文匹配的流表,將該報(bào)文上送到SDN控制器110。
[0054] SDN控制器110提取該報(bào)文中的目的IP地址IP-VM3,在可用網(wǎng)關(guān)表中查找到與 IP-VM3流量可達(dá)的VXLAN網(wǎng)關(guān)為VXLAN網(wǎng)關(guān)161和VXLAN網(wǎng)關(guān)162,由于送兩個(gè)VXLAN網(wǎng) 關(guān)都屬于源節(jié)點(diǎn)VM1所在的VXLAN 10,則將送兩個(gè)VXLAN網(wǎng)關(guān)作為轉(zhuǎn)發(fā)網(wǎng)關(guān),生成兩條流表 下發(fā)給VTEP 131,每條流表對(duì)應(yīng)于一個(gè)轉(zhuǎn)發(fā)網(wǎng)關(guān):
[005引 對(duì)應(yīng)于VXLAN網(wǎng)關(guān)161的流表指示VTEP 131把源IP地址為IP-VM1、目的IP地址 為IP-VM3的報(bào)文中的目的MAC地址替換為MC-161,W 10為VNI、W IP-161為外層目的IP 地址、W MAC-120為外層目的MAC地址將該報(bào)文封裝為VXLAN報(bào)文后從到VXLAN網(wǎng)關(guān)161 的邏輯隧道發(fā)送。其中