一種報(bào)文轉(zhuǎn)發(fā)方法和VxLAN網(wǎng)關(guān)的制作方法
【專(zhuān)利摘要】本發(fā)明提供一種報(bào)文轉(zhuǎn)發(fā)方法和VxLAN網(wǎng)關(guān),通過(guò)接收VxLAN報(bào)文,該VxLAN報(bào)文的載荷中包括第一VM向第二VM發(fā)送的通信報(bào)文,根據(jù)VxLAN報(bào)文的報(bào)文頭中的第一VNI以及載荷中的第二VM的IP地址,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二VNI,并根據(jù)第二VNI,對(duì)該通信報(bào)文進(jìn)行封裝,進(jìn)而通過(guò)第二VNI對(duì)應(yīng)的隧道,向該下一跳設(shè)備轉(zhuǎn)發(fā)封裝后的VxLAN報(bào)文,從而避免了VxLAN網(wǎng)關(guān)對(duì)該VxLAN報(bào)文的載荷中的通信報(bào)文進(jìn)行修改才能實(shí)現(xiàn)VxLAN報(bào)文的轉(zhuǎn)發(fā),提高了VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
【專(zhuān)利說(shuō)明】一種報(bào)文轉(zhuǎn)發(fā)方法和VxLAN網(wǎng)關(guān)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),尤其涉及一種報(bào)文轉(zhuǎn)發(fā)方法和VxLAN網(wǎng)關(guān)。
【背景技術(shù)】
[0002]虛擬可擴(kuò)展局域網(wǎng)(VirtualExtensible Local Area Network, VxLAN)技術(shù)是用于擴(kuò)展網(wǎng)絡(luò)虛擬化,以得到足夠數(shù)量的虛擬網(wǎng)絡(luò)來(lái)滿(mǎn)足用戶(hù)使用的技術(shù)。
[0003]但是現(xiàn)有技術(shù)中,VxLAN網(wǎng)關(guān)在向下一跳設(shè)備轉(zhuǎn)發(fā)VxLAN報(bào)文時(shí),需要對(duì)該VxLAN報(bào)文的載荷中的通信報(bào)文進(jìn)行修改,將通信報(bào)文中的源MAC修改為該VxLAN網(wǎng)關(guān)的MAC地址,將目的MAC修改為下一跳設(shè)備的MAC地址,以實(shí)現(xiàn)將VxLAN報(bào)文轉(zhuǎn)發(fā)至下一跳設(shè)備,降低了 VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種報(bào)文轉(zhuǎn)發(fā)方法和VxLAN網(wǎng)關(guān),用于提高VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
[0005]本發(fā)明實(shí)施例的第一個(gè)方面提供一種報(bào)文轉(zhuǎn)發(fā)方法,包括:虛擬可擴(kuò)展局域網(wǎng)VxLAN網(wǎng)關(guān)接收VxLAN報(bào)文,所述VxLAN報(bào)文的載荷中包括通信報(bào)文,所述VxLAN報(bào)文的報(bào)文頭中包括第一虛擬可擴(kuò)展局域網(wǎng)網(wǎng)絡(luò)標(biāo)識(shí)VNI ;其中,所述通信報(bào)文是第一虛擬機(jī)VM向第二 VM發(fā)送的報(bào)文,所述第一 VM與所述第二 VM屬于不同的子網(wǎng),所述通信報(bào)文包括所述第二 VM的IP地址;所述第一 VNI為所述第一 VM所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí);所述VxLAN網(wǎng)關(guān)對(duì)所述VxLAN報(bào)文進(jìn)行解封裝,得到所述第一 VNI和所述通信報(bào)文;所述VxLAN網(wǎng)關(guān)根據(jù)所述第二 VM的IP地址和所述第一 VNI,確定所述通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI ;所述VxLAX網(wǎng)關(guān)根據(jù)所述第二 VNI,對(duì)所述通信報(bào)文進(jìn)行封裝,獲得封裝后的VxLAX報(bào)文;所述封裝后的VxLAX報(bào)文的報(bào)文頭中包括所述第二 VNI,所述封裝后的VxLAX報(bào)文的載荷中包括所述通信報(bào)文;所述VxLAX網(wǎng)關(guān)通過(guò)所述第二 VNI對(duì)應(yīng)的隧道,發(fā)送所述封裝后的VxLAX報(bào)文給所述通信報(bào)文的下一跳設(shè)備。
[0006]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述VxLAN網(wǎng)關(guān)根據(jù)所述第二 VM的IP地址和所述第一 VNI,確定所述通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,包括:所述VxLAN網(wǎng)關(guān)根據(jù)所述第一 VNI,確定所述第一 VNI關(guān)聯(lián)的路由表;所述第一 VNI關(guān)聯(lián)的路由表中,同一個(gè)IP地址對(duì)應(yīng)的下一跳設(shè)備所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)相同;所述VxLAN網(wǎng)關(guān)根據(jù)所述第二 VM的IP地址,查詢(xún)所述第一 VNI關(guān)聯(lián)的路由表,獲得所述第二 VNI。
[0007]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,軟件定義網(wǎng)絡(luò)SDN控制器中預(yù)先配置有所述第一 VNI關(guān)聯(lián)的路由表,則所述VxLAN網(wǎng)關(guān)根據(jù)所述第二 VM的IP地址,查詢(xún)所述第一 VNI關(guān)聯(lián)的路由表,獲得所述第二 VNI,包括:所述VxLAN網(wǎng)關(guān)根據(jù)所述第一 VNI和所述第二 VM的IP地址,查詢(xún)所述SDN控制器,獲得所述第二 VNI。
[0008]結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式和第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述VxLAX網(wǎng)關(guān)根據(jù)所述第二 VNI,對(duì)所述通信報(bào)文進(jìn)行封裝,包括:所述VxLAN網(wǎng)關(guān)將所述VxLAN報(bào)文的報(bào)文頭中的第一 VNI修改為所述第二 VNI。
[0009]本發(fā)明實(shí)施例的第二個(gè)方面提供一種VxLAN網(wǎng)關(guān),包括:接收模塊,用于接收VxLAN報(bào)文,所述VxLAN報(bào)文的載荷中包括通信報(bào)文,所述VxLAN報(bào)文的報(bào)文頭中包括第一虛擬可擴(kuò)展局域網(wǎng)網(wǎng)絡(luò)標(biāo)識(shí)VNI ;其中,所述通信報(bào)文是第一虛擬機(jī)VM向第二 VM發(fā)送的報(bào)文,所述第一 VM與所述第二 VM屬于不同的子網(wǎng),所述通信報(bào)文包括所述第二 VM的IP地址;所述第一 VNI為所述第一 VM所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí);解封裝模塊,用于對(duì)所述VxLAN報(bào)文進(jìn)行解封裝,得到所述第一 VNI和所述通信報(bào)文;處理模塊,用于根據(jù)所述第二 VM的IP地址和所述第一 VNI,確定所述通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI ;封裝模塊,用于根據(jù)所述第二 VNI,對(duì)所述通信報(bào)文進(jìn)行封裝,獲得封裝后的VxLAX報(bào)文;所述封裝后的VxLAX報(bào)文的報(bào)文頭中包括所述第二 VNI,所述封裝后的VxLAX報(bào)文的載荷中包括所述通信報(bào)文;轉(zhuǎn)發(fā)模塊,用于通過(guò)所述第二 VNI對(duì)應(yīng)的隧道,發(fā)送所述封裝后的VxLAX報(bào)文給所述通信報(bào)文的下一跳設(shè)備。
[0010]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述處理模塊,包括:確定單元,用于根據(jù)所述第一 VNI,確定所述第一 VNI關(guān)聯(lián)的路由表;所述第一 VNI關(guān)聯(lián)的路由表中,同一個(gè)IP地址對(duì)應(yīng)的下一跳設(shè)備所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)相同;查詢(xún)單元,根據(jù)所述第二 VM的IP地址,查詢(xún)所述第一 VNI關(guān)聯(lián)的路由表,獲得所述第二 VNI。
[0011]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,軟件定義網(wǎng)絡(luò)SDN控制器中預(yù)先配置有所述第一 VNI關(guān)聯(lián)的路由表,則所述查詢(xún)單元,具體用于根據(jù)所述第一 VNI和所述第二 VM的IP地址,查詢(xún)所述SDN控制器,獲得所述第二VNI。
[0012]結(jié)合第二方面、第二方面的第一種可能的實(shí)現(xiàn)方式和第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述封裝模塊,具體用于將所述VxLAN報(bào)文的報(bào)文頭中的第一 VNI修改為所述第二 VNI。
[0013]本發(fā)明實(shí)施例的第三個(gè)方面是提供一種VxLAN網(wǎng)關(guān),包括:處理器、存儲(chǔ)器和總線(xiàn).
[0014]所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過(guò)所述總線(xiàn)連接,當(dāng)所述VxLAN網(wǎng)關(guān)運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的所述計(jì)算機(jī)執(zhí)行指令,以使所述VxLAN網(wǎng)關(guān)執(zhí)行如第一方面及第一方面中各種可能的實(shí)現(xiàn)方式中任一項(xiàng)所述的報(bào)文轉(zhuǎn)發(fā)方法。
[0015]本發(fā)明實(shí)施例的第四個(gè)方面是提供一種計(jì)算機(jī)可讀介質(zhì),包括計(jì)算機(jī)執(zhí)行指令,以供計(jì)算機(jī)的處理器執(zhí)行所述計(jì)算機(jī)執(zhí)行指令時(shí),所述計(jì)算機(jī)執(zhí)行如第一方面及第一方面中各種可能的實(shí)現(xiàn)方式中任一項(xiàng)所述的報(bào)文轉(zhuǎn)發(fā)方法。
[0016]本發(fā)明實(shí)施例提供的報(bào)文轉(zhuǎn)發(fā)方法和VxLAN網(wǎng)關(guān),通過(guò)接收VxLAN報(bào)文,所述VxLAN報(bào)文的載荷中包括第一 VM向第二 VM發(fā)送的通信報(bào)文,根據(jù)VxLAN報(bào)文的報(bào)文頭中的VNI以及載荷中的第二 VM的IP地址,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,并根據(jù)第二 VNI,對(duì)該通信報(bào)文進(jìn)行封裝,進(jìn)而通過(guò)第二 VNI對(duì)應(yīng)的隧道,向該下一跳設(shè)備轉(zhuǎn)發(fā)封裝后的VxLAN報(bào)文,由于VxLAN網(wǎng)關(guān)根據(jù)第二 VM的IP地址和第一 VNI,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,因此,可確定唯一的一個(gè)下一跳設(shè)備,據(jù)此將VxLAN報(bào)文轉(zhuǎn)發(fā)至該下一跳設(shè)備,從而避免了 VxLAN網(wǎng)關(guān)對(duì)該VxLAN報(bào)文的載荷中的通信報(bào)文進(jìn)行修改才能實(shí)現(xiàn)VxLAN報(bào)文的轉(zhuǎn)發(fā),提高了 VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0017]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1為本發(fā)明一實(shí)施例提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖;
[0019]圖2為本發(fā)明另一實(shí)施例提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖;
[0020]圖3為本發(fā)明一實(shí)施例提供的一種VxLAN網(wǎng)關(guān)的結(jié)構(gòu)示意圖;
[0021]圖4為本發(fā)明另一實(shí)施例提供的一種VxLAN網(wǎng)關(guān)的結(jié)構(gòu)不意圖;
[0022]圖5為本發(fā)明又一實(shí)施例提供的一種VxLAN網(wǎng)關(guān)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0024]根據(jù)VxLAN協(xié)議的規(guī)定,VxLAN報(bào)文通常包括載荷和報(bào)文頭,其中,報(bào)文頭中通常包括24位(bit)的虛擬可擴(kuò)展局域網(wǎng)網(wǎng)絡(luò)標(biāo)識(shí)(VxLAN Network Identifier, VNI)、源NVE的IP地址、目的NVE的IP地址等信息,用于VxLAN報(bào)文的轉(zhuǎn)發(fā);載荷中通常包括虛擬機(jī)(virtual machine, VM)之間用于通信的通信報(bào)文,例如數(shù)據(jù)包、源VM的MAC地址和目的VM的MAC地址等。通常情況下,源VM向目的VM發(fā)送通信報(bào)文時(shí),由源NVE為源VM發(fā)送的通信報(bào)文加上報(bào)文頭,如果源VM與目的VM屬于不同的子網(wǎng),則源NVE將加上報(bào)文頭的源VM發(fā)送的通信報(bào)文轉(zhuǎn)發(fā)給VxLAN網(wǎng)關(guān),VxLAN網(wǎng)關(guān)在向下一跳設(shè)備轉(zhuǎn)發(fā)報(bào)文時(shí),需要對(duì)源VM發(fā)送的通信報(bào)文進(jìn)行修改,將源VM發(fā)送的通信報(bào)文中的源MAC修改為該VxLAN網(wǎng)關(guān)的MAC地址,將目的MAC修改為下一跳設(shè)備的MAC地址,才能將報(bào)文轉(zhuǎn)發(fā)至下一跳設(shè)備,降低了 VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
[0025]為了解決上述問(wèn)題,本發(fā)明實(shí)施例提供了一種報(bào)文轉(zhuǎn)發(fā)方法,圖1為本發(fā)明一實(shí)施例提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖,如圖1所示,本發(fā)明實(shí)施例所提供的方法可以由VxLAN網(wǎng)關(guān)執(zhí)彳丁,具體包括:
[0026]101、VxLAN 網(wǎng)關(guān)接收 VxLAN 報(bào)文。
[0027]其中,VxLAN報(bào)文的載荷中包括所述通信報(bào)文,所述VxLAN報(bào)文的報(bào)文頭中包括第一VNI ;其中,所述通信報(bào)文是第一虛擬機(jī)VM向第二 VM發(fā)送的報(bào)文,所述第一 VM與所述第二VM屬于不同的子網(wǎng),所述通信報(bào)文包括所述第二 VM的IP地址;所述第一 VNI為所述第一 VM所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)。
[0028]具體地,第一 VM與第二 VM屬于不同的子網(wǎng),當(dāng)?shù)谝?VM(即源VM)需要向第二VM (即目的VM)發(fā)送通信報(bào)文時(shí),需要VxLAN網(wǎng)關(guān)參與,可以由第一 VM對(duì)應(yīng)的源NVE對(duì)來(lái)自所述第一 VM的通信報(bào)文進(jìn)行封裝,得到VxLAN報(bào)文后發(fā)送給VxLAN網(wǎng)關(guān)(即第一 VM所在子網(wǎng)的網(wǎng)關(guān)),從而所述文VxLAN網(wǎng)關(guān)能夠接收源NVE發(fā)送的VxLAN報(bào)文,其中對(duì)所述通信報(bào)文進(jìn)行封裝獲得VxLAN報(bào)文可以為:封裝所述通信報(bào)文作為VxLAN報(bào)文的載荷部分,然后添加報(bào)文頭,該報(bào)文頭中包括第一 VM的所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí),即第一 VNI。
[0029]102、VxLAN網(wǎng)關(guān)對(duì)VxLAN報(bào)文進(jìn)行解封裝,得到第一 VNI和通信報(bào)文。
[0030]VxLAN網(wǎng)關(guān)可以根據(jù)VxLAN協(xié)議,對(duì)VxLAN報(bào)文進(jìn)行解封裝,獲得VxLAN報(bào)文的報(bào)文頭中的第一 VNI,以及VxLAN報(bào)文的載荷中的通信報(bào)文。
[0031]103,VxLAN網(wǎng)關(guān)根據(jù)第二 VM的IP地址和第一 VNI,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI。
[0032]具體地,可以在軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)控制器中預(yù)先配置有所述第一 VNI關(guān)聯(lián)的路由表,在所述第一 VNI關(guān)聯(lián)的路由表中,同一個(gè)IP地址對(duì)應(yīng)的下一跳設(shè)備所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)相同,所述VxLAN網(wǎng)關(guān)可以根據(jù)第一 VNI和第二 VM的IP地址查詢(xún)SDN控制器,以確定第一 VNI關(guān)聯(lián)的路由表中第二 VM的IP地址對(duì)應(yīng)的下一跳設(shè)備所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí),即確定所述通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI。
[0033]104、VxLAX網(wǎng)關(guān)根據(jù)第二 VNI,對(duì)通信報(bào)文進(jìn)行封裝,獲得封裝后的VxLAX報(bào)文。
[0034]其中,封裝后的VxLAX報(bào)文的報(bào)文頭中包括第二 VNI,封裝后的VxLAX報(bào)文的載荷中包括通信報(bào)文,所述VxLAX網(wǎng)關(guān)對(duì)所述通信報(bào)文進(jìn)行封裝時(shí),無(wú)需對(duì)所述通信報(bào)文中的源MAC地址或者目的MAC地址進(jìn)行修改,提高了 VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
[0035]具體地,所述VxLAN網(wǎng)關(guān)可以將所述VxLAN報(bào)文的報(bào)文頭中的第一 VNI修改為所述第二 VNI。然后將通信報(bào)文封裝在VxLAN報(bào)文的載荷部分,從而獲得封裝后的VxLAX報(bào)文。
[0036]105、VxLAX網(wǎng)關(guān)通過(guò)第二 VNI對(duì)應(yīng)的隧道,發(fā)送封裝后的VxLAX報(bào)文給通信報(bào)文的下一跳設(shè)備。
[0037]需要說(shuō)明的是,本實(shí)施例中的下一跳設(shè)備可為不同于實(shí)施上述報(bào)文轉(zhuǎn)發(fā)方法的其他VxLAN網(wǎng)關(guān),該其他VxLAN網(wǎng)關(guān)接收到封裝后的VxLAX報(bào)文之后,可以將該封裝后的VxLAX報(bào)文直接或間接轉(zhuǎn)發(fā)給第二 VM ;另外,本實(shí)施例中的第二 VM接收到該通信報(bào)文之后,該第二 VM生成向第一 VM發(fā)送的對(duì)所述通信報(bào)文的響應(yīng),從而下一跳設(shè)備對(duì)該響應(yīng)進(jìn)行封裝獲得第二 VxLAN報(bào)文,進(jìn)而本實(shí)施例中的VxLAN網(wǎng)關(guān)需要對(duì)該第二 VxLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。在上述兩種場(chǎng)景中,均可采用上述報(bào)文轉(zhuǎn)發(fā)方法轉(zhuǎn)發(fā)VxLAN報(bào)文,區(qū)別僅在于,在上述兩種場(chǎng)景中,步驟103中查詢(xún)獲得的第二 VNI,會(huì)出現(xiàn)與通信報(bào)文的目的VM所在子網(wǎng)的VNI相同的情況,從而在步驟104之前還需要對(duì)通信報(bào)文的源MAC地址和目的MAC地址進(jìn)行修改。
[0038]為了清楚說(shuō)明上述兩種場(chǎng)景中的報(bào)文轉(zhuǎn)發(fā)方法,具體的,以本實(shí)施例中VxLAX網(wǎng)關(guān)對(duì)第二 VxLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)的流程為例,進(jìn)行具體說(shuō)明:
[0039]VxLAN網(wǎng)關(guān)接收第二 VxLAN報(bào)文,所述第二 VxLAN報(bào)文的報(bào)文頭中包括所述第一VNI,所述第第二 VxLAN報(bào)文的載荷中包括第二通信報(bào)文,所述第二通信報(bào)文是第二 VM向第一 VM發(fā)送的報(bào)文,所述第二通信報(bào)文包括所述第一 VM的IP地址。相應(yīng)地,前面描述的第一VM向第二 VM發(fā)送的通信報(bào)文也可以稱(chēng)為第一通信報(bào)文,封裝了所述第一通信報(bào)文的VxLAN報(bào)文也可以稱(chēng)為第一 VxLAN報(bào)文。
[0040]VxLAN網(wǎng)關(guān)對(duì)所述第二 VxLAN報(bào)文進(jìn)行解封裝,得到所述第一 VNI和所述第二通信報(bào)文。
[0041]VxLAN網(wǎng)關(guān)根據(jù)所述第一 VNI,確定所述第一 VNI關(guān)聯(lián)的路由表,根據(jù)所述第一 VM的IP地址,查詢(xún)所述第一 VNI關(guān)聯(lián)的路由表,確定第二通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI。
[0042]當(dāng)?shù)诙ㄐ艌?bào)文的下一跳設(shè)備所在子網(wǎng)與所述第一 VM所在子網(wǎng)相同時(shí),所述VxLAN網(wǎng)關(guān)對(duì)所述第二通信報(bào)文進(jìn)行修改,所述修改后的第二通信報(bào)文中的源MAC地址為所述VxLAN網(wǎng)關(guān)的MAC地址,所述修改后的第二通信報(bào)文中的目的MAC地址為所述第一 VM的MAC地址,以及根據(jù)所述第二通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的VNI,對(duì)所述修改后的第二通信報(bào)文進(jìn)行封裝,所述封裝后的第二 VxLAX報(bào)文的載荷中包括所述修改后的第二通信報(bào)文,所述封裝后的第二 VxLAX報(bào)文的報(bào)文頭中包括所述第二通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的VNI。
[0043]VxLAX網(wǎng)關(guān)根據(jù)所述第二通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的VNI,將所述封裝后的第二 VxLAX報(bào)文發(fā)送給所述第一 VM所在子網(wǎng)的網(wǎng)絡(luò)虛擬化端點(diǎn)(networkvirtualizat1n endpoint, NVE),以將所述 VxLAX 報(bào)文發(fā)送給所述第一 VM。
[0044]其中,VxLAN網(wǎng)關(guān)獲取第一 VM的MAC地址的方法可為:VxLAN網(wǎng)關(guān)生成地址解析協(xié)議ARP請(qǐng)求,其中,ARP請(qǐng)求用于請(qǐng)求獲取所述第一 VM的MAC地址;VxLAN網(wǎng)關(guān)將ARP請(qǐng)求封裝為VxLAN組播報(bào)文之后,根據(jù)VxLAN協(xié)議對(duì)VxLAN組播報(bào)文進(jìn)行組播轉(zhuǎn)發(fā),從而VxLAN網(wǎng)關(guān)接收ARP響應(yīng),其中,ARP響應(yīng)用于指示所述第一 VM的MAC地址,從ARP響應(yīng)中獲取第一 VM的MAC地址。
[0045]本發(fā)明實(shí)施例中,通過(guò)接收VxLAN報(bào)文,所述VxLAN報(bào)文的載荷中包括第一 VM向第二 VM發(fā)送的通信報(bào)文,根據(jù)VxLAN報(bào)文的報(bào)文頭中的VNI以及載荷中的第二 VM的IP地址,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,并根據(jù)第二 VNI,對(duì)該通信報(bào)文進(jìn)行封裝,進(jìn)而通過(guò)第二 VNI對(duì)應(yīng)的隧道,向該下一跳設(shè)備轉(zhuǎn)發(fā)封裝后的VxLAN報(bào)文,由于VxLAN網(wǎng)關(guān)根據(jù)第二 VM的IP地址和第一 VNI,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,因此,可確定唯一的一個(gè)下一跳設(shè)備,據(jù)此將VxLAN報(bào)文轉(zhuǎn)發(fā)至該下一跳設(shè)備,從而避免了VxLAN網(wǎng)關(guān)對(duì)該VxLAN報(bào)文的載荷中的通信報(bào)文進(jìn)行修改才能實(shí)現(xiàn)VxLAN報(bào)文的轉(zhuǎn)發(fā),提高了 VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
[0046]圖2為本發(fā)明另一實(shí)施例提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖,本實(shí)施例中VMl (IP地址和MAC地址分別為IPl和MAC1)對(duì)應(yīng)NVEl (IP地址和MAC地址分別為IP5和MAC5),GWl (IP地址和MAC地址分別為IP3和MAC3)是VMl所在子網(wǎng)的網(wǎng)關(guān),VM2 (IP地址和MAC地址分別為IP2和MAC2)與VMl屬于不同子網(wǎng),VM2對(duì)應(yīng)NVE2 (IP地址和MAC地址分別為IP6和MAC6),GW2 (IP地址和MAC地址分別為IP4和MAC4)是VM2所在子網(wǎng)的網(wǎng)關(guān),如圖2所示,報(bào)文轉(zhuǎn)發(fā)方法包括:
[0047]201、當(dāng)VMl訪(fǎng)問(wèn)不在同一子網(wǎng)的VM2時(shí),VMl根據(jù)本地存儲(chǔ)的MAC-1P映射關(guān)系生成通信報(bào)文,向VMl所屬的NVEl發(fā)送該通信報(bào)文。
[0048]其中,通信報(bào)文中的源MAC (SMAC)、源IP (SIP)、目的MAC (DMAC)和目的IP (DIP)分別為MAC1、IP1、MAC3和IP2,即通信報(bào)文中的源MAC和源IP分別為VMl自身的MAC地址和IP地址,通信報(bào)文中的目的MAC為VMl所在子網(wǎng)的網(wǎng)關(guān)GWl的MAC地址,通信報(bào)文中的目的IP為VM2的IP地址。
[0049]具體地,VMl需要訪(fǎng)問(wèn)VM2時(shí),VMl首先根據(jù)VM2的IP地址IP2,查詢(xún)預(yù)先生成的MAC-1P映射關(guān)系,獲得IP2所對(duì)應(yīng)的MAC地址MAC3,然后,VMl將與IP2對(duì)應(yīng)的MAC3作為目的MAC地址,將IP2作為目的IP生成通信報(bào)文。VMl生成該通信報(bào)文之后,向VMl對(duì)應(yīng)的NVEl發(fā)送所生成的通信報(bào)文??梢园l(fā)現(xiàn),通信報(bào)文中的目的MAC即MAC3并不是VM2的MAC地址,這是由于,當(dāng)VMl僅獲知VM2的IP地址時(shí),VMl首先根據(jù)VM2的IP地址生成用于獲取VM2的MAC地址的ARP請(qǐng)求,發(fā)送該ARP請(qǐng)求,以從ARP響應(yīng)中獲取VM2的MAC地址,但實(shí)質(zhì)上,由于VMl與VM2不在同一子網(wǎng),則VMl從該ARP響應(yīng)中的獲取到的MAC地址是VMl所在子網(wǎng)的VxLAN網(wǎng)關(guān)GWl的MAC地址MAC3,并不是VM2的MAC地址。進(jìn)一步其探究原因,這是由于,當(dāng)GWl接收到ARP請(qǐng)求時(shí),根據(jù)ARP請(qǐng)求中的源IP和目的IP確定目的IP與源IP不在同一子網(wǎng),則將GWl的MAC地址MAC3作為ARP響應(yīng)的源MAC,返回ARP響應(yīng),因此,VM存儲(chǔ)的MAC-1P映射關(guān)系為:MAC3與IP2之間存在對(duì)應(yīng)關(guān)系。從而通信報(bào)文中的目的IP為VM2的IP地址,而通信報(bào)文中的目的MAC為VMl所在子網(wǎng)的網(wǎng)關(guān)GWl的MAC地址。
[0050]202、NVEl對(duì)通信報(bào)文進(jìn)行封裝獲得VxLAN報(bào)文A,向通信報(bào)文中目的MAC地址所指示的GWl發(fā)送VxLAN報(bào)文A。
[0051]具體地,NVEl接收到通信報(bào)文后,首先,可以根據(jù)通信報(bào)文中的源IP,查詢(xún)SDN控制器中預(yù)先配置的虛擬機(jī)的IP地址與子網(wǎng)之間的對(duì)應(yīng)關(guān)系,從而確定發(fā)送該通信報(bào)文的源虛擬機(jī),即VMl,所在子網(wǎng)為VNII。然后,NVEI可以向SDN控制器發(fā)送該通信報(bào)文,以及通知SDN發(fā)送該通信報(bào)文的源虛擬機(jī)所在子網(wǎng)為VNI1。SDN控制器接收到通信報(bào)文后,根據(jù)通信報(bào)文中的目的IP,即IP2,查詢(xún)?cè)诒镜嘏渲玫奶摂M機(jī)的IP地址與子網(wǎng)之間的對(duì)應(yīng)關(guān)系,獲得IP2對(duì)應(yīng)的子網(wǎng),由于本實(shí)施例中VMl和VM2屬于不同的子網(wǎng),也就是說(shuō)VM2的IP2對(duì)應(yīng)的子網(wǎng)標(biāo)識(shí)不為VMl所在的子網(wǎng)的子網(wǎng)標(biāo)識(shí)VNI1,因而SDN控制器可以確定接收該通信報(bào)文的目的虛擬機(jī)所在子網(wǎng)不同于發(fā)送該通信報(bào)文的源虛擬機(jī)所在的子網(wǎng),則SDN控制器通知NVEl向VMl所屬的網(wǎng)關(guān)GWl發(fā)送VxLAN報(bào)文。NVEl根據(jù)VMl的VNI標(biāo)識(shí),即VNIl對(duì)通信報(bào)文進(jìn)行封裝,得到VxLAN報(bào)文A,所述VxLAN報(bào)文A的報(bào)文頭中包括所述VNI1,所述VxLAN報(bào)文A的載荷包括所述通信報(bào)文。其中,VxLAN報(bào)文A載荷中的通信報(bào)文與VMl所生成的通信報(bào)文相同,也就是說(shuō),NVEl沒(méi)有對(duì)通信報(bào)文中的源IP、源MAC、目的IP和目的MAC進(jìn)行修改。
[0052]203、Gffl根據(jù)VxLAN報(bào)文A查詢(xún)預(yù)先配置的路由表獲得下一跳設(shè)備GW2,根據(jù)下一跳設(shè)備GW2的VNI對(duì)VxLAN報(bào)文A的報(bào)文頭進(jìn)行修改,獲得VxLAN報(bào)文B,向下一跳設(shè)備GW2發(fā)送該VxLAN報(bào)文B。
[0053]具體地,GWl對(duì)VxLAN報(bào)文A解封裝后,從VxLAN報(bào)文A的報(bào)文頭中獲得的子網(wǎng)標(biāo)識(shí)為VNII,以及從VxLAN報(bào)文A的載荷中獲得通信報(bào)文,其中,該通信報(bào)文中的目的IP為IP2。然后,GWl可以根據(jù)VxLAN報(bào)文A的報(bào)文頭中的VNII,在SDN控制器預(yù)先配置的各路由表中,查詢(xún)VxLAN報(bào)文A的報(bào)文頭中的VNIl所關(guān)聯(lián)的目標(biāo)路由表;根據(jù)通信報(bào)文中的目的IP在目標(biāo)路由表中進(jìn)行查詢(xún),獲得該目的IP對(duì)應(yīng)的隧道VNI3,該隧道用于連接GWl與GW2,因而GWl可通過(guò)該隧道向VNI標(biāo)識(shí)為VNI3的下一跳設(shè)備GW2轉(zhuǎn)發(fā)報(bào)文。GWl對(duì)解封裝所獲得的通信報(bào)文不進(jìn)行修改,直接進(jìn)行封裝作為修改后的VxLAN報(bào)文的載荷部分,即VxLAN報(bào)文B的載荷部分,并且由于報(bào)文頭中的VNIl不同于下一跳設(shè)備GW2的VNI3,將VxLAN報(bào)文A的報(bào)文頭中的VNIl修改為下一跳設(shè)備GW2的VNI3,將修改后的VxLAN報(bào)文A的報(bào)文頭作為VxLAN報(bào)文B的報(bào)文頭部分。
[0054]204、GW2根據(jù)接收到的VxLAN報(bào)文B查詢(xún)預(yù)先配置的路由表獲得下一跳設(shè)備,對(duì)VxLAN報(bào)文B的報(bào)文頭和載荷均進(jìn)行修改后獲得VxLAN報(bào)文C,向下一跳設(shè)備發(fā)送該VxLAN報(bào)文C。
[0055]具體地,GW2對(duì)VxLAN報(bào)文B解封裝后,從VxLAN報(bào)文B的報(bào)文頭中獲得的子網(wǎng)標(biāo)識(shí)為VNI3,以及從VxLAN報(bào)文B的載荷中獲得通信報(bào)文,其中,該通信報(bào)文中的目的IP為IP2。然后,GW2可以根據(jù)VxLAN報(bào)文B的報(bào)文頭中的VNI3,在預(yù)先配置的各路由表中,查詢(xún)VxLAN報(bào)文B的報(bào)文頭中的VNI標(biāo)識(shí)所關(guān)聯(lián)的目標(biāo)路由表;根據(jù)通信報(bào)文中的目的IP在目標(biāo)路由表中進(jìn)行查詢(xún),獲得該目的IP對(duì)應(yīng)的下一跳設(shè)備的VNI為VNI2,由于查詢(xún)獲得的VNI2與VM2所在子網(wǎng)的VNI相同,因此,需要對(duì)通信報(bào)文中的目的MAC和源MAC進(jìn)行修改,修改后的通信報(bào)文中的源MAC為GW2自身的MAC,目的MAC為目的IP對(duì)應(yīng)的目的虛擬機(jī)的MAC。對(duì)修改后的通信報(bào)文進(jìn)行封裝,并添加報(bào)文頭,報(bào)文頭中包含下一跳設(shè)備VNE2的VNI標(biāo)識(shí)VNI2,獲得VxLAN報(bào)文C。GWl向VNE2發(fā)送VxLAN報(bào)文C。
[0056]需要說(shuō)明的是,GW2在對(duì)通信報(bào)文的目的MAC地址進(jìn)行修改之前,查詢(xún)本地存儲(chǔ)的MAC-1P映射關(guān)系,以確定通信報(bào)文中的目的IP地址IP2對(duì)應(yīng)的MAC地址,若未在本地存儲(chǔ)的MAC-1P映射關(guān)系中查詢(xún)到IP2對(duì)應(yīng)的MAC地址,則GW2生成用于請(qǐng)求獲取IP2所對(duì)應(yīng)MAC地址的ARP請(qǐng)求,然后根據(jù)通信報(bào)文目的IP即IP2確定該IP2屬于VNI2子網(wǎng),對(duì)ARP請(qǐng)求進(jìn)行封裝,獲得VxLAN組播報(bào)文,該組播報(bào)文的報(bào)文頭中包含的VNI為VNI2,在VNI2子網(wǎng)內(nèi)對(duì)該組播報(bào)文進(jìn)行轉(zhuǎn)發(fā),以從ARP響應(yīng)中獲取IP2所對(duì)應(yīng)MAC地址。
[0057]205.NVE2對(duì)VxLAN報(bào)文進(jìn)行解封裝,獲得通信報(bào)文,向通信報(bào)文中目的IP地址和目的MAC地址所指示的VM2發(fā)送該通信報(bào)文。
[0058]本發(fā)明實(shí)施例中,通過(guò)接收VxLAN報(bào)文,所述VxLAN報(bào)文的載荷中包括第一 VM向第二 VM發(fā)送的通信報(bào)文,根據(jù)VxLAN報(bào)文的報(bào)文頭中的VNI以及載荷中的第二 VM的IP地址,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,并根據(jù)第二 VNI,對(duì)該通信報(bào)文進(jìn)行封裝,進(jìn)而通過(guò)第二 VNI對(duì)應(yīng)的隧道,向該下一跳設(shè)備轉(zhuǎn)發(fā)封裝后的VxLAN報(bào)文,由于VxLAN網(wǎng)關(guān)根據(jù)第二 VM的IP地址和第一 VNI,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,因此,可確定唯一的一個(gè)下一跳設(shè)備,據(jù)此將VxLAN報(bào)文轉(zhuǎn)發(fā)至該下一跳設(shè)備,從而避免了VxLAN網(wǎng)關(guān)對(duì)該VxLAN報(bào)文的載荷中的通信報(bào)文進(jìn)行修改才能實(shí)現(xiàn)VxLAN報(bào)文的轉(zhuǎn)發(fā),提高了 VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
[0059]圖3為本發(fā)明一實(shí)施例提供的一種VxLAN網(wǎng)關(guān)的結(jié)構(gòu)示意圖,如圖3所示,VxLAN網(wǎng)關(guān)包括:接收模塊31、解封裝模塊32、處理模塊33、封裝模塊34和轉(zhuǎn)發(fā)模塊35。
[0060]接收模塊31,用于接收VxLAN報(bào)文。
[0061]其中,VxLAN報(bào)文的載荷中包括所述通信報(bào)文,所述VxLAN報(bào)文的報(bào)文頭中包括第一虛擬可擴(kuò)展局域網(wǎng)網(wǎng)絡(luò)標(biāo)識(shí)VNI ;其中,所述通信報(bào)文是第一虛擬機(jī)VM向第二 VM發(fā)送的報(bào)文,所述第一 VM與所述第二 VM屬于不同的子網(wǎng),所述通信報(bào)文包括所述第二 VM的IP地址;所述第一 VNI為所述第一 VM所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)。
[0062]解封裝模塊32,與接收模塊31連接,用于對(duì)所述VxLAN報(bào)文進(jìn)行解封裝,得到所述第一 VNI和所述通信報(bào)文。
[0063]處理模塊33,與解封裝模塊32連接,用于根據(jù)所述第二 VM的IP地址和所述第一VNI,確定所述通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI。
[0064]封裝模塊34,與處理模塊33連接,用于根據(jù)所述第二 VNI,對(duì)所述通信報(bào)文進(jìn)行封裝,獲得封裝后的VxLAX報(bào)文。
[0065]封裝模塊34,具體用于將所述VxLAN報(bào)文的報(bào)文頭中的第一 VNI修改為所述第二VNI。
[0066]其中,封裝后的VxLAX報(bào)文的報(bào)文頭中包括所述第二 VNI,所述封裝后的VxLAX報(bào)文的載荷中包括所述通信報(bào)文。
[0067]轉(zhuǎn)發(fā)模塊35,與封裝模塊34連接,用于通過(guò)所述第二 VNI對(duì)應(yīng)的隧道,發(fā)送所述封裝后的VxLAX報(bào)文給所述通信報(bào)文的下一跳設(shè)備。
[0068]本發(fā)明實(shí)施例中,通過(guò)接收VxLAN報(bào)文,所述VxLAN報(bào)文的載荷中包括第一 VM向第二 VM發(fā)送的通信報(bào)文,根據(jù)VxLAN報(bào)文的報(bào)文頭中的VNI以及載荷中的第二 VM的IP地址,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,并根據(jù)第二 VNI,對(duì)該通信報(bào)文進(jìn)行封裝,進(jìn)而通過(guò)第二 VNI對(duì)應(yīng)的隧道,向該下一跳設(shè)備轉(zhuǎn)發(fā)封裝后的VxLAN報(bào)文,由于VxLAN網(wǎng)關(guān)根據(jù)第二 VM的IP地址和第一 VNI,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,因此,可確定唯一的一個(gè)下一跳設(shè)備,據(jù)此將VxLAN報(bào)文轉(zhuǎn)發(fā)至該下一跳設(shè)備,從而避免了VxLAN網(wǎng)關(guān)對(duì)該VxLAN報(bào)文的載荷中的通信報(bào)文進(jìn)行修改才能實(shí)現(xiàn)VxLAN報(bào)文的轉(zhuǎn)發(fā),提高了 VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
[0069]圖4為本發(fā)明另一實(shí)施例提供的一種VxLAN網(wǎng)關(guān)的結(jié)構(gòu)示意圖,在上一實(shí)施例的基礎(chǔ)上,如圖4所示,本實(shí)施例中的處理模塊33進(jìn)一步包括:確定單元331和查詢(xún)單元332。
[0070]確定單元331,用于根據(jù)所述第一 VNI,確定所述第一 VNI關(guān)聯(lián)的路由表。
[0071]其中,第一 VNI關(guān)聯(lián)的路由表中,同一個(gè)IP地址對(duì)應(yīng)的下一跳設(shè)備所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)相同。
[0072]查詢(xún)單元332,與確定單元331連接,用于根據(jù)所述第二 VM的IP地址,查詢(xún)所述第一 VNI關(guān)聯(lián)的路由表,獲得所述第二 VNI。
[0073]SDN控制器中預(yù)先配置有所述第一 VNI關(guān)聯(lián)的路由表,則所述查詢(xún)單元332,具體用于根據(jù)所述第一 VNI和所述第二 VM的IP地址,查詢(xún)所述SDN控制器,獲得所述第二 VNI。
[0074]上述VxLAN網(wǎng)關(guān)的具體的功能,可以參照實(shí)施例一或?qū)嵤├膱?bào)文轉(zhuǎn)發(fā)方法,不再贅述。
[0075]本發(fā)明實(shí)施例中,通過(guò)接收VxLAN報(bào)文,所述VxLAN報(bào)文的載荷中包括第一 VM向第二 VM發(fā)送的通信報(bào)文,根據(jù)VxLAN報(bào)文的報(bào)文頭中的VNI以及載荷中的第二 VM的IP地址,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,并根據(jù)第二 VNI,對(duì)該通信報(bào)文進(jìn)行封裝,進(jìn)而通過(guò)第二 VNI對(duì)應(yīng)的隧道,向該下一跳設(shè)備轉(zhuǎn)發(fā)封裝后的VxLAN報(bào)文,由于VxLAN網(wǎng)關(guān)根據(jù)第二 VM的IP地址和第一 VNI,確定通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,因此,可確定唯一的一個(gè)下一跳設(shè)備,據(jù)此將VxLAN報(bào)文轉(zhuǎn)發(fā)至該下一跳設(shè)備,從而避免了VxLAN網(wǎng)關(guān)對(duì)該VxLAN報(bào)文的載荷中的通信報(bào)文進(jìn)行修改才能實(shí)現(xiàn)VxLAN報(bào)文的轉(zhuǎn)發(fā),提高了 VxLAN報(bào)文的轉(zhuǎn)發(fā)效率。
[0076]圖5為本發(fā)明又一實(shí)施例提供的一種VxLAN網(wǎng)關(guān)的結(jié)構(gòu)示意圖,如圖5所示,包括:處理器501、存儲(chǔ)器502和總線(xiàn)504。
[0077]處理器501和存儲(chǔ)器502之間通過(guò)總線(xiàn)504連接并完成相互間的通信。
[0078]處理器501可能為單核或多核中央處理單元,或者為特定集成電路,或者為被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
[0079]存儲(chǔ)器502可以為高速RAM存儲(chǔ)器,也可以為非易失性存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。
[0080]存儲(chǔ)器502用于存儲(chǔ)計(jì)算機(jī)執(zhí)行指令503。具體的,計(jì)算機(jī)執(zhí)行指令503中可以包括程序代碼。
[0081]當(dāng)所述VxLAN網(wǎng)關(guān)運(yùn)行時(shí),處理器501運(yùn)行計(jì)算機(jī)執(zhí)行指令503,可以執(zhí)行實(shí)施例一或?qū)嵤├龅膱?bào)文轉(zhuǎn)發(fā)方法的方法流程。
[0082]需要說(shuō)明的是,VxLAN網(wǎng)關(guān)還可包括通信接口 505,通過(guò)通信接口 505與其他網(wǎng)絡(luò)實(shí)體通信,比如與下一跳設(shè)備通信。
[0083]本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)可讀介質(zhì),包括計(jì)算機(jī)執(zhí)行指令,以供計(jì)算機(jī)的處理器執(zhí)行所述計(jì)算機(jī)執(zhí)行指令時(shí),所述計(jì)算機(jī)執(zhí)行實(shí)施例一或?qū)嵤├龅膱?bào)文轉(zhuǎn)發(fā)方法的方法流程。
[0084]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0085]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,包括: 虛擬可擴(kuò)展局域網(wǎng)VxLAN網(wǎng)關(guān)接收VxLAN報(bào)文,所述VxLAN報(bào)文的載荷中包括通信報(bào)文,所述VxLAN報(bào)文的報(bào)文頭中包括第一虛擬可擴(kuò)展局域網(wǎng)網(wǎng)絡(luò)標(biāo)識(shí)VNI ;其中,所述通信報(bào)文是第一虛擬機(jī)VM向第二 VM發(fā)送的報(bào)文,所述第一 VM與所述第二 VM屬于不同的子網(wǎng),所述通信報(bào)文包括所述第二 VM的IP地址;所述第一 VNI為所述第一 VM所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí); 所述VxLAN網(wǎng)關(guān)對(duì)所述VxLAN報(bào)文進(jìn)行解封裝,得到所述第一 VNI和所述通信報(bào)文;所述VxLAN網(wǎng)關(guān)根據(jù)所述第二 VM的IP地址和所述第一 VNI,確定所述通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI ; 所述VxLAX網(wǎng)關(guān)根據(jù)所述第二 VNI,對(duì)所述通信報(bào)文進(jìn)行封裝,獲得封裝后的VxLAX報(bào)文;所述封裝后的VxLAX報(bào)文的報(bào)文頭中包括所述第二 VNI,所述封裝后的VxLAX報(bào)文的載荷中包括所述通信報(bào)文; 所述VxLAX網(wǎng)關(guān)通過(guò)所述第二 VNI對(duì)應(yīng)的隧道,發(fā)送所述封裝后的VxLAX報(bào)文給所述通信報(bào)文的下一跳設(shè)備。
2.根據(jù)權(quán)利要求1所述的報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,所述VxLAN網(wǎng)關(guān)根據(jù)所述第二VM的IP地址和所述第一 VNI,確定所述通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI,包括: 所述VxLAN網(wǎng)關(guān)根據(jù)所述第一 VNI,確定所述第一 VNI關(guān)聯(lián)的路由表;所述第一 VNI關(guān)聯(lián)的路由表中,同一個(gè)IP地址對(duì)應(yīng)的下一跳設(shè)備所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)相同; 所述VxLAN網(wǎng)關(guān)根據(jù)所述第二 VM的IP地址,查詢(xún)所述第一 VNI關(guān)聯(lián)的路由表,獲得所述第二 VNI。
3.根據(jù)權(quán)利要求2所述的報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,軟件定義網(wǎng)絡(luò)SDN控制器中預(yù)先配置有所述第一 VNI關(guān)聯(lián)的路由表,則所述VxLAN網(wǎng)關(guān)根據(jù)所述第二 VM的IP地址,查詢(xún)所述第一 VNI關(guān)聯(lián)的路由表,獲得所述第二 VNI,包括: 所述VxLAN網(wǎng)關(guān)根據(jù)所述第一 VNI和所述第二 VM的IP地址,查詢(xún)所述SDN控制器,獲得所述第二 VNI。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,所述VxLAX網(wǎng)關(guān)根據(jù)所述第二 VNI,對(duì)所述通信報(bào)文進(jìn)行封裝,包括: 所述VxLAN網(wǎng)關(guān)將所述VxLAN報(bào)文的報(bào)文頭中的第一 VNI修改為所述第二 VNI。
5.一種虛擬可擴(kuò)展局域網(wǎng)VxLAN網(wǎng)關(guān),其特征在于,包括: 接收模塊,用于接收VxLAN報(bào)文,所述VxLAN報(bào)文的載荷中包括通信報(bào)文,所述VxLAN報(bào)文的報(bào)文頭中包括第一虛擬可擴(kuò)展局域網(wǎng)網(wǎng)絡(luò)標(biāo)識(shí)VNI ;其中,所述通信報(bào)文是第一虛擬機(jī)VM向第二 VM發(fā)送的報(bào)文,所述第一 VM與所述第二 VM屬于不同的子網(wǎng),所述通信報(bào)文包括所述第二 VM的IP地址;所述第一 VNI為所述第一 VM所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí); 解封裝模塊,用于對(duì)所述VxLAN報(bào)文進(jìn)行解封裝,得到所述第一 VNI和所述通信報(bào)文;處理模塊,用于根據(jù)所述第二 VM的IP地址和所述第一 VNI,確定所述通信報(bào)文的下一跳設(shè)備所在子網(wǎng)的第二 VNI ; 封裝模塊,用于根據(jù)所述第二 VNI,對(duì)所述通信報(bào)文進(jìn)行封裝,獲得封裝后的VxLAX報(bào)文;所述封裝后的VxLAX報(bào)文的報(bào)文頭中包括所述第二 VNI,所述封裝后的VxLAX報(bào)文的載荷中包括所述通信報(bào)文; 轉(zhuǎn)發(fā)模塊,用于通過(guò)所述第二 VNI對(duì)應(yīng)的隧道,發(fā)送所述封裝后的VxLAX報(bào)文給所述通信報(bào)文的下一跳設(shè)備。
6.根據(jù)權(quán)利要求5所述的VxLAN網(wǎng)關(guān),其特征在于,所述處理模塊,包括: 確定單元,用于根據(jù)所述第一 VNI,確定所述第一 VNI關(guān)聯(lián)的路由表;所述第一 VNI關(guān)聯(lián)的路由表中,同一個(gè)IP地址對(duì)應(yīng)的下一跳設(shè)備所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)相同; 查詢(xún)單元,根據(jù)所述第二 VM的IP地址,查詢(xún)所述第一 VNI關(guān)聯(lián)的路由表,獲得所述第二麗。
7.根據(jù)權(quán)利要求6所述的VxLAN網(wǎng)關(guān),其特征在于,軟件定義網(wǎng)絡(luò)SDN控制器中預(yù)先配置有所述第一 VNI關(guān)聯(lián)的路由表,則所述查詢(xún)單元,具體用于根據(jù)所述第一 VNI和所述第二VM的IP地址,查詢(xún)所述SDN控制器,獲得所述第二 VNI。
8.根據(jù)權(quán)利要求5-7任一項(xiàng)所述的VxLAN網(wǎng)關(guān),其特征在于, 所述封裝模塊,具體用于將所述VxLAN報(bào)文的報(bào)文頭中的第一 VNI修改為所述第二VNI。
9.一種虛擬可擴(kuò)展局域網(wǎng)VxLAN網(wǎng)關(guān),其特征在于,包括:處理器、存儲(chǔ)器和總線(xiàn); 所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過(guò)所述總線(xiàn)連接,當(dāng)所述VxLAN網(wǎng)關(guān)運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的所述計(jì)算機(jī)執(zhí)行指令,以使所述VxLAN網(wǎng)關(guān)執(zhí)行如權(quán)利要求1-4中任一所述的報(bào)文轉(zhuǎn)發(fā)方法。
10.一種計(jì)算機(jī)可讀介質(zhì),其特征在于,包括計(jì)算機(jī)執(zhí)行指令,以供計(jì)算機(jī)的處理器執(zhí)行所述計(jì)算機(jī)執(zhí)行指令時(shí),所述計(jì)算機(jī)執(zhí)行如權(quán)利要求1-4中任一所述的報(bào)文轉(zhuǎn)發(fā)方法。
【文檔編號(hào)】H04L12/741GK104350714SQ201480001338
【公開(kāi)日】2015年2月11日 申請(qǐng)日期:2014年5月29日 優(yōu)先權(quán)日:2014年5月29日
【發(fā)明者】陳寒冰, 宋宇, 熊志強(qiáng) 申請(qǐng)人:華為技術(shù)有限公司