一種報(bào)文發(fā)送、接收方法及設(shè)備的制造方法
【專(zhuān)利摘要】一種報(bào)文發(fā)送、接收方法及設(shè)備,用于解決數(shù)據(jù)中心網(wǎng)絡(luò)中在發(fā)送報(bào)文時(shí)較為浪費(fèi)帶寬的技術(shù)問(wèn)題。該報(bào)文發(fā)送方法包括:通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備獲取待發(fā)送的第一報(bào)文;所述第一設(shè)備為所述第一報(bào)文添加VLAN頭,得到具有雙層VLAN頭的第二報(bào)文,且所述第一設(shè)備在所述第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息;其中,所述外層VLAN頭攜帶的標(biāo)識(shí)信息和所述第二報(bào)文的內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示預(yù)先配置的VLAN標(biāo)識(shí);所述第一設(shè)備將所述第二報(bào)文發(fā)送給所述數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備。
【專(zhuān)利說(shuō)明】
一種報(bào)文發(fā)送、接收方法及設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種報(bào)文發(fā)送、接收方法及設(shè)備。
【背景技術(shù)】
[0002]數(shù)據(jù)中心網(wǎng)絡(luò)(data center network,DCN)是一種在數(shù)據(jù)中心內(nèi)部通過(guò)高速鏈路和交換機(jī)連接大量服務(wù)器的網(wǎng)絡(luò)。DCN主要采用層次結(jié)構(gòu)實(shí)現(xiàn),以客戶機(jī)/服務(wù)器模式為主。
[0003]在DCN中,一般會(huì)米用虛擬擴(kuò)展局域網(wǎng)(Virtual Extensible local areanetwork,VXLAN)技術(shù)來(lái)解決數(shù)據(jù)中心內(nèi)部的多租戶間通信和隔離時(shí)虛擬局域網(wǎng)(virtuallocal area network,VLAN)不夠的問(wèn)題。VXLAN是一種覆蓋(overlay)的網(wǎng)絡(luò)技術(shù),可用于改善大型云計(jì)算部署的擴(kuò)展性問(wèn)題。VXLAN技術(shù)使用類(lèi)似VLAN的封裝技術(shù),在開(kāi)放式系統(tǒng)互聯(lián)(Open Systems Interconnect 1n,OSI) 4層的用戶數(shù)據(jù)報(bào)協(xié)議(User DatagramProtocol,UDP)報(bào)文內(nèi)用特定的目的UDP端口號(hào)封裝基于媒體訪問(wèn)控制(media accesscontrol,MAC)的二層以太網(wǎng)幀。
[0004]VXLAN引入了類(lèi)似VLAN標(biāo)識(shí)(i dent i f i er,ID)的用戶標(biāo)識(shí),稱為VXLAN網(wǎng)絡(luò)標(biāo)識(shí)(VXLAN Network ID,VNI),由24比特組成,在封裝報(bào)文時(shí)要將VNI封裝在每個(gè)報(bào)文中,這樣單是VNI就需要占用大量的帶寬,這在一定程度上造成了帶寬的浪費(fèi),特別是對(duì)于DCN這種可能需要頻繁通信的網(wǎng)絡(luò)來(lái)說(shuō),若帶寬占用過(guò)多則很可能會(huì)導(dǎo)致?lián)砣?br>
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種報(bào)文發(fā)送、接收方法及設(shè)備,用于解決數(shù)據(jù)中心網(wǎng)絡(luò)中在發(fā)送報(bào)文時(shí)較為浪費(fèi)帶寬的技術(shù)問(wèn)題。
[0006]第一方面,提供一種報(bào)文發(fā)送方法,該方法可以包括:通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備獲取待發(fā)送的第一報(bào)文,第一設(shè)備為第一報(bào)文添加VLAN頭,得到具有雙層VLAN頭的第二報(bào)文,且第一設(shè)備在第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息,第一設(shè)備將第二報(bào)文發(fā)送給數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備。其中,外層VLAN頭攜帶的標(biāo)識(shí)信息和第二報(bào)文的內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示預(yù)先配置的VLAN標(biāo)識(shí)。
[0007]本發(fā)明實(shí)施例中,可以不采用VXLAN的封裝方式,而采用雙層VLAN的封裝方式,雙層VLAN—共占用24bit,通過(guò)雙層VLAN來(lái)構(gòu)成VLAN標(biāo)識(shí),也擴(kuò)展了 VLAN標(biāo)識(shí)的范圍,解決了VLAN不夠用的問(wèn)題。且為報(bào)文添加一層額外的外層VLAN頭,只需添加12位,相對(duì)于VXLAN中的封裝方式來(lái)說(shuō)大大節(jié)省了帶寬,對(duì)于DCN這種可能需要頻繁通信的網(wǎng)絡(luò)來(lái)說(shuō),節(jié)省了帶寬,也就在一定程度上減小了出現(xiàn)擁塞的可能性,提高了網(wǎng)絡(luò)通信的質(zhì)量。
[0008]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,在第一設(shè)備為所述第一報(bào)文添加VLAN頭之后,若內(nèi)層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則第一設(shè)備可以將優(yōu)先級(jí)信息復(fù)制到外層VLAN頭中。
[0009]攜帶雙層VLAN的報(bào)文在網(wǎng)絡(luò)中傳輸時(shí),對(duì)于沿途的節(jié)點(diǎn)來(lái)說(shuō),報(bào)文的外層VLAN頭是可見(jiàn)的,將報(bào)文的優(yōu)先級(jí)信息攜帶在外層VLAN頭中,可以讓沿途節(jié)點(diǎn)獲知該報(bào)文的優(yōu)先級(jí)信息,從而可以按照該報(bào)文的優(yōu)先級(jí)信息來(lái)傳輸該報(bào)文,使得優(yōu)先級(jí)信息發(fā)揮應(yīng)有的作用。
[0010]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,該方法還可以包括:若內(nèi)層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則第一設(shè)備可以根據(jù)VLAN標(biāo)識(shí),重新將內(nèi)層VLAN攜帶的標(biāo)識(shí)信息設(shè)置為第二標(biāo)識(shí)信息。
[0011]—般來(lái)說(shuō),如果需要為報(bào)文設(shè)置優(yōu)先級(jí)信息,那么該報(bào)文的內(nèi)層VLAN頭中用于指示VLAN標(biāo)識(shí)的部分可能被設(shè)置為VLAN O,而要發(fā)送報(bào)文,需要報(bào)文的內(nèi)層VLAN頭和外層VLAN頭共同指示VLAN標(biāo)識(shí),因此可以重新設(shè)置報(bào)文的內(nèi)層VLAN頭,使得報(bào)文的內(nèi)層VLAN頭和外層VLAN頭共同指示VLAN標(biāo)識(shí)。
[0012]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,若第一設(shè)備為服務(wù)器,則,在通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心內(nèi)的第一設(shè)備獲取待發(fā)送的第一報(bào)文之前,還可以調(diào)用第一設(shè)備的網(wǎng)卡的驅(qū)動(dòng)所支持的配置函數(shù)配置第一設(shè)備的VLAN設(shè)置信息,使得第一設(shè)備能夠支持?jǐn)y帶雙層VLAN頭的報(bào)文。
[0013]—般來(lái)說(shuō),修改協(xié)議棧的代碼比較麻煩,也比較難以實(shí)現(xiàn)。因此本發(fā)明實(shí)施例中,在配置服務(wù)器的VLAN設(shè)置信息時(shí),可以無(wú)需通過(guò)協(xié)議棧進(jìn)行配置,而可以直接調(diào)用服務(wù)器的網(wǎng)卡的驅(qū)動(dòng)提供的配置函數(shù)進(jìn)行配置即可。這樣,在無(wú)需修改協(xié)議棧代碼的前提下就可以完成對(duì)服務(wù)器的VLAN的設(shè)置信息的配置,較為容易推廣應(yīng)用。
[0014]結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,第一設(shè)備可以根據(jù)預(yù)先配置的第一設(shè)備的VLAN標(biāo)識(shí)在內(nèi)層VLAN頭中攜帶第二標(biāo)識(shí)信息,那么,第一設(shè)備在第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息,可以通過(guò)以下方式實(shí)現(xiàn):第一設(shè)備根據(jù)預(yù)先配置的第一設(shè)備的VLAN標(biāo)識(shí)在外層VLAN頭中攜帶第一標(biāo)識(shí)信息。其中,第一標(biāo)識(shí)信息和第二標(biāo)識(shí)信息可以用于聯(lián)合指示第一設(shè)備的VLAN標(biāo)識(shí)。
[0015]S卩,第一設(shè)備可以為報(bào)文添加雙層VLAN頭,這樣添加雙層VLAN頭的工作都由第一設(shè)備來(lái)完成,無(wú)需由不同的設(shè)備完成,使得添加雙層VLAN頭的工作更有效率。
[0016]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,若第一設(shè)備為交換機(jī),則,在通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心內(nèi)的第一設(shè)備獲取待發(fā)送的第一報(bào)文之前,還可以配置第一設(shè)備,使得第一設(shè)備能夠?yàn)閳?bào)文封裝雙層VLAN頭,且使得第一設(shè)備提供的與轉(zhuǎn)發(fā)報(bào)文相關(guān)的表項(xiàng)能夠支持雙層VLAN 頭。
[0017]如果第一設(shè)備是交換機(jī),那么一般來(lái)說(shuō)現(xiàn)有的交換機(jī)可能支持的都是12位的VLAN標(biāo)識(shí),因此要先對(duì)交換機(jī)進(jìn)行配置,使得交換機(jī)可以支持24位的VLAN標(biāo)識(shí),從而完成正常的報(bào)文轉(zhuǎn)發(fā)及封裝等工作。
[0018]結(jié)合第一方面的第五種可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,第一設(shè)備在第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息,可以通過(guò)不同的方式實(shí)現(xiàn),例如舉例介紹幾種方式:
[0019]第一種方式:第一設(shè)備根據(jù)預(yù)先配置的發(fā)送第一報(bào)文的設(shè)備的VLAN標(biāo)識(shí)在外層VLAN頭中攜帶第一標(biāo)識(shí)信息;其中,第一標(biāo)識(shí)信息和內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示發(fā)送第一報(bào)文的設(shè)備的VLAN標(biāo)識(shí);
[0020]第二種方式:第一設(shè)備根據(jù)為第一設(shè)備接收第一報(bào)文的端口預(yù)先配置的VLAN標(biāo)識(shí)在外層VLAN頭中攜帶第一標(biāo)識(shí)信息;其中,第一標(biāo)識(shí)信息和內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示為第一設(shè)備接收第一報(bào)文的端口預(yù)先配置的VLAN標(biāo)識(shí);或
[0021]第三種方式:第一設(shè)備根據(jù)為第一報(bào)文所屬的通信協(xié)議預(yù)先配置的VLAN標(biāo)識(shí)在外層VLAN頭中攜帶第一標(biāo)識(shí)信息;其中,第一標(biāo)識(shí)信息和內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示為第一報(bào)文所屬的通信協(xié)議預(yù)先配置的VLAN標(biāo)識(shí)。
[0022]若采用第一種方式來(lái)確定第一標(biāo)識(shí)信息,那么每個(gè)VLAN標(biāo)識(shí)都是針對(duì)VM的,粒度較細(xì),不容易出錯(cuò)。若采用第二種方式或第三種方式來(lái)確定第一標(biāo)識(shí)信息,則第一設(shè)備需要預(yù)先知曉的VLAN標(biāo)識(shí)較少,節(jié)省了第一設(shè)備的存儲(chǔ)空間,且在確定報(bào)文的VLAN標(biāo)識(shí)時(shí),因?yàn)轭A(yù)先知曉的VLAN標(biāo)識(shí)較少,則查詢VLAN標(biāo)識(shí)所需的時(shí)間也較短,提高了對(duì)報(bào)文的封裝效率。
[0023]結(jié)合第一方面的第六種可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,第一設(shè)備將第二報(bào)文發(fā)送給數(shù)據(jù)中心內(nèi)的第二設(shè)備,可以通過(guò)以下方式實(shí)現(xiàn):第一設(shè)備根據(jù)VLAN標(biāo)識(shí)查詢轉(zhuǎn)發(fā)表項(xiàng),若查詢到記錄了VLAN標(biāo)識(shí)的轉(zhuǎn)發(fā)表項(xiàng),則第一設(shè)備根據(jù)轉(zhuǎn)發(fā)表項(xiàng)記錄的目的地址轉(zhuǎn)發(fā)第二報(bào)文。
[0024]因?yàn)橐呀?jīng)預(yù)先對(duì)交換機(jī)進(jìn)行了配置,交換機(jī)可以支持24位的VLAN標(biāo)識(shí),交換機(jī)存儲(chǔ)的轉(zhuǎn)發(fā)表項(xiàng)也支持24位的VLAN標(biāo)識(shí),因此通過(guò)正常的查找轉(zhuǎn)發(fā)表項(xiàng)即可完成對(duì)報(bào)文的轉(zhuǎn)發(fā)工作。
[0025]第二方面,提供一種報(bào)文接收方法,該方法可以包括:通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備接收數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備發(fā)送的第二報(bào)文,其中第二報(bào)文具有雙層VLAN頭,第二設(shè)備可以拆除第二報(bào)文的外層VLAN頭。
[0026]本發(fā)明實(shí)施例中,在數(shù)據(jù)中心網(wǎng)絡(luò)中可以不采用VXLAN的封裝方式,而采用雙層VLAN的封裝方式,雙層VLAN—共占用24bit,通過(guò)雙層VLAN來(lái)構(gòu)成VLAN標(biāo)識(shí),也擴(kuò)展了 VLAN標(biāo)識(shí)的范圍,解決了 VLAN不夠用的問(wèn)題。且為報(bào)文添加一層額外的外層VLAN頭,只需添加12位,相對(duì)于VXLAN中的封裝方式來(lái)說(shuō)大大節(jié)省了帶寬,對(duì)于DCN這種可能需要頻繁通信的網(wǎng)絡(luò)來(lái)說(shuō),節(jié)省了帶寬,也就在一定程度上減小了出現(xiàn)擁塞的可能性,提高了網(wǎng)絡(luò)通信的質(zhì)量。
[0027]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,在第二設(shè)備拆除第二報(bào)文的外層VLAN頭之前,若第二報(bào)文的外層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則第二設(shè)備將優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的內(nèi)層VLAN頭中。
[0028]因?yàn)榈诙?bào)文的優(yōu)先級(jí)信息如果攜帶在外層VLAN頭中,則第二報(bào)文的內(nèi)層VLAN頭中可能未攜帶該優(yōu)先級(jí)信息,而在解析報(bào)文時(shí)需要該優(yōu)先級(jí)信息,因此可以將優(yōu)先級(jí)信息復(fù)制到內(nèi)層VLAN頭之后再拆除外層VLAN頭,這樣即使拆除了外層VLAN頭也可以保留有用的信息,便于對(duì)報(bào)文進(jìn)行正確的解析。
[0029]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,在第二設(shè)備拆除第二報(bào)文的外層VLAN頭之后,若第二報(bào)文的外層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則第二設(shè)備將第二報(bào)文的內(nèi)層VLAN頭攜帶的用于指示VLAN標(biāo)識(shí)的信息重新設(shè)置為預(yù)設(shè)信息,預(yù)設(shè)信息用于指示第二報(bào)文為具有優(yōu)先級(jí)信息的報(bào)文。
[0030]—般來(lái)說(shuō),在封裝報(bào)文時(shí),如果需要為報(bào)文設(shè)置優(yōu)先級(jí)信息,那么該報(bào)文的內(nèi)層VLAN頭中用于指示VLAN標(biāo)識(shí)的部分可能被設(shè)置為VLAN O,而收到報(bào)文后,報(bào)文的內(nèi)層VLAN頭和外層VLAN頭是共同指示VLAN標(biāo)識(shí),因此,為了讓解析第二報(bào)文的設(shè)備可以正確的認(rèn)識(shí)并解析第二報(bào)文,可以將第二報(bào)文的內(nèi)層VLAN頭中用于指示VLAN標(biāo)識(shí)的部分重新設(shè)置為具有優(yōu)先級(jí)信息的報(bào)文應(yīng)該具有的預(yù)設(shè)信息。
[0031 ]第三方面,提供第一種通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文發(fā)送設(shè)備,該設(shè)備可以包括存儲(chǔ)器、處理器和發(fā)送器。其中,存儲(chǔ)器可以用于存儲(chǔ)指令,處理器可以用于執(zhí)行存儲(chǔ)器存儲(chǔ)的指令,獲取待發(fā)送的第一報(bào)文,為第一報(bào)文添加VLAN頭,得到具有雙層VLAN頭的第二報(bào)文,且第一設(shè)備在第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息,發(fā)送器可以用于將第二報(bào)文發(fā)送給數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備。其中,外層VLAN頭攜帶的標(biāo)識(shí)信息和第二報(bào)文的內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息可以用于聯(lián)合指示預(yù)先配置的VLAN標(biāo)識(shí)。
[0032]結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,處理器還可以用于:在為第一報(bào)文添加VLAN頭之后,若內(nèi)層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則將優(yōu)先級(jí)信息復(fù)制到外層VLAN頭中。
[0033]結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,處理器還可以用于若內(nèi)層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則根據(jù)VLAN標(biāo)識(shí),重新將內(nèi)層VLAN攜帶的標(biāo)識(shí)信息設(shè)置為第二標(biāo)識(shí)信息。
[0034]結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,處理器還可以用于:在獲取待發(fā)送的第一報(bào)文之前,調(diào)用該設(shè)備的網(wǎng)卡的驅(qū)動(dòng)所支持的配置函數(shù)配置該設(shè)備的VLAN設(shè)置信息,使得該設(shè)備能夠支持?jǐn)y帶雙層VLAN頭的報(bào)文。
[0035]結(jié)合第三方面的第三種可能的實(shí)現(xiàn)方式,在第三方面的第四種可能的實(shí)現(xiàn)方式中,處理器還可以用于:根據(jù)預(yù)先配置的該設(shè)備的VLAN標(biāo)識(shí)在內(nèi)層VLAN頭中攜帶第二標(biāo)識(shí)信息,根據(jù)預(yù)先配置的該設(shè)備的VLAN標(biāo)識(shí)在外層VLAN頭中攜帶第一標(biāo)識(shí)信息。其中,第一標(biāo)識(shí)信息和第二標(biāo)識(shí)信息用于聯(lián)合指示該設(shè)備的VLAN標(biāo)識(shí)。
[0036]第四方面,提供第二種通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文發(fā)送設(shè)備,該設(shè)備可以包括VLAN模塊和轉(zhuǎn)發(fā)模塊。其中,VLAN模塊可以用于獲取待發(fā)送的第一報(bào)文,為第一報(bào)文添加VLAN頭,得到具有雙層VLAN頭的第二報(bào)文,且第一設(shè)備在第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息,轉(zhuǎn)發(fā)模塊可以用于將第二報(bào)文發(fā)送給數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備。其中,外層VLAN頭攜帶的標(biāo)識(shí)信息和第二報(bào)文的內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示預(yù)先配置的VLAN標(biāo)識(shí)。
[0037]結(jié)合第四方面,在第四方面的第一種可能的實(shí)現(xiàn)方式中,VLAN模塊還可以用于:在為第一報(bào)文添加VLAN頭之后,若內(nèi)層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則將優(yōu)先級(jí)信息復(fù)制到外層VLAN頭中。
[0038]結(jié)合第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第二種可能的實(shí)現(xiàn)方式中,VLAN模塊還可以用于:若內(nèi)層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則根據(jù)VLAN標(biāo)識(shí),重新將內(nèi)層VLAN攜帶的標(biāo)識(shí)信息設(shè)置為第二標(biāo)識(shí)信息。
[0039]結(jié)合第四方面或第四方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第四方面的第三種可能的實(shí)現(xiàn)方式中,該設(shè)備還可以包括處理模塊,用于:在VLAN模塊獲取待發(fā)送的第一報(bào)文之前,配置該設(shè)備,使得該設(shè)備能夠?yàn)閳?bào)文封裝雙層VLAN頭,且使得該設(shè)備提供的與轉(zhuǎn)發(fā)報(bào)文相關(guān)的表項(xiàng)能夠支持雙層VLAN頭。
[0040]結(jié)合第四方面的第三種可能的實(shí)現(xiàn)方式,在第四方面的第四種可能的實(shí)現(xiàn)方式中,VLAN模塊可以用于:根據(jù)預(yù)先配置的發(fā)送第一報(bào)文的設(shè)備的VLAN標(biāo)識(shí)在外層VLAN頭中攜帶第一標(biāo)識(shí)信息,其中,第一標(biāo)識(shí)信息和內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示發(fā)送第一報(bào)文的設(shè)備的VLAN標(biāo)識(shí);或,根據(jù)為第一設(shè)備接收第一報(bào)文的端口預(yù)先配置的VLAN標(biāo)識(shí)在外層VLAN頭中攜帶第一標(biāo)識(shí)信息,其中,第一標(biāo)識(shí)信息和內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示為該設(shè)備接收第一報(bào)文的端口預(yù)先配置的VLAN標(biāo)識(shí);或,根據(jù)為第一報(bào)文所屬的通信協(xié)議預(yù)先配置的VLAN標(biāo)識(shí)在外層VLAN頭中攜帶第一標(biāo)識(shí)信息,其中,第一標(biāo)識(shí)信息和內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示為第一報(bào)文所屬的通信協(xié)議預(yù)先配置的VLAN標(biāo)識(shí)。
[0041]結(jié)合第四方面的第四種可能的實(shí)現(xiàn)方式,在第四方面的第五種可能的實(shí)現(xiàn)方式中,轉(zhuǎn)發(fā)模塊可以用于:根據(jù)VLAN標(biāo)識(shí)查詢轉(zhuǎn)發(fā)表項(xiàng),若查詢到記錄了VLAN標(biāo)識(shí)的轉(zhuǎn)發(fā)表項(xiàng),則根據(jù)轉(zhuǎn)發(fā)表項(xiàng)記錄的目的地址轉(zhuǎn)發(fā)第二報(bào)文。
[0042]第五方面,提供第一種通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文接收設(shè)備,該設(shè)備可以包括存儲(chǔ)器、接收器和處理器。其中,存儲(chǔ)器可以用于存儲(chǔ)指令,接收器可以用于接收數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備發(fā)送的第二報(bào)文,第二報(bào)文可以具有雙層VLAN頭,處理器可以用于執(zhí)行存儲(chǔ)器存儲(chǔ)的指令,拆除第二報(bào)文的外層VLAN頭。
[0043]結(jié)合第五方面,在第五方面的第一種可能的實(shí)現(xiàn)方式中,處理器還可以用于:在拆除第二報(bào)文的外層VLAN頭之前,若第二報(bào)文的外層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則將優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的內(nèi)層VLAN頭中。
[0044]結(jié)合第五方面的第一種可能的實(shí)現(xiàn)方式,在第五方面的第二種可能的實(shí)現(xiàn)方式中,處理器還可以用于:在拆除第二報(bào)文的外層VLAN頭之后,若第二報(bào)文的外層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則將第二報(bào)文的內(nèi)層VLAN頭攜帶的用于指示VLAN標(biāo)識(shí)的信息重新設(shè)置為預(yù)設(shè)信息。預(yù)設(shè)信息用于指示第二報(bào)文為具有優(yōu)先級(jí)信息的報(bào)文。
[0045]第六方面,提供第二種通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文接收設(shè)備,該設(shè)備可以包括轉(zhuǎn)發(fā)模塊和VLAN模塊。其中,轉(zhuǎn)發(fā)模塊可以用于接收數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備發(fā)送的第二報(bào)文,第二報(bào)文具有雙層VLAN頭,VLAN模塊可以用于拆除第二報(bào)文的外層VLAN 頭。
[0046]結(jié)合第六方面,在第六方面的第一種可能的實(shí)現(xiàn)方式中,VLAN模塊還可以用于:在拆除第二報(bào)文的外層VLAN頭之前,若第二報(bào)文的外層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則將優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的內(nèi)層VLAN頭中。
[0047]結(jié)合第六方面的第一種可能的實(shí)現(xiàn)方式,在第六方面的第二種可能的實(shí)現(xiàn)方式中,VLAN模塊還可以用于:在拆除第二報(bào)文的外層VLAN頭之后,若第二報(bào)文的外層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則將第二報(bào)文的內(nèi)層VLAN頭攜帶的用于指示VLAN標(biāo)識(shí)的信息重新設(shè)置為預(yù)設(shè)信息。預(yù)設(shè)信息用于指示第二報(bào)文為具有優(yōu)先級(jí)信息的報(bào)文。
[0048]第七方面,提供第三種通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文發(fā)送設(shè)備,該設(shè)備可以包括用于執(zhí)行第一方面的方法的模塊。
[0049]第八方面,提供第三種通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文接收設(shè)備,該設(shè)備可以包括用于執(zhí)行第二方面的方法的模塊。
【附圖說(shuō)明】
[0050]為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面所介紹的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0051 ]圖1A為具有單層VLAN的報(bào)文的格式;
[0052]圖1B為本發(fā)明實(shí)施例提供的雙層VLAN報(bào)文的格式;
[0053]圖2為數(shù)據(jù)中心網(wǎng)絡(luò)的一種可能的架構(gòu)圖;
[0054]圖3為在服務(wù)器中運(yùn)行虛擬機(jī)后服務(wù)器內(nèi)部的軟件架構(gòu)圖;
[0055]圖4為本發(fā)明實(shí)施例提供的報(bào)文發(fā)送方法的一種流程圖;
[0056]圖5為本發(fā)明實(shí)施例提供的報(bào)文接收方法的一種流程圖;
[0057]圖6為本發(fā)明實(shí)施例提供的VM發(fā)送報(bào)文的一種可能的方法的流程圖;
[0058]圖7為本發(fā)明實(shí)施例提供的由交換機(jī)封裝報(bào)文并轉(zhuǎn)發(fā)報(bào)文的一種可能的方法的流程圖;
[0059]圖8為本發(fā)明實(shí)施例提供的虛擬機(jī)接收?qǐng)?bào)文后的一種可能的處理方法的流程圖;
[0060]圖9為本發(fā)明實(shí)施例提供的交換機(jī)接收?qǐng)?bào)文后的一種可能的處理方法的流程圖;
[0061]圖10為本發(fā)明實(shí)施例提供的第一種報(bào)文發(fā)送設(shè)備的一種可能的結(jié)構(gòu)示意圖;
[0062]圖1lA和圖1lB為本發(fā)明實(shí)施例提供的第二種報(bào)文發(fā)送設(shè)備的兩種可能的結(jié)構(gòu)示意圖;
[0063]圖12為本發(fā)明實(shí)施例提供的第一種報(bào)文接收設(shè)備的一種可能的結(jié)構(gòu)示意圖;
[0064]圖13為本發(fā)明實(shí)施例提供的第二種報(bào)文接收設(shè)備的一種可能的結(jié)構(gòu)示意圖;
[0065]圖14為本發(fā)明實(shí)施例提供的第三種報(bào)文發(fā)送設(shè)備的一種可能的結(jié)構(gòu)框圖;
[0066]圖15為本發(fā)明實(shí)施例提供的第三種報(bào)文接收設(shè)備的一種可能的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0067]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述。
[0068]以下,對(duì)本發(fā)明中的部分用語(yǔ)進(jìn)行解釋說(shuō)明。
[0069]I)第一設(shè)備,例如可以是交換機(jī)(switch)或路由器(router)等物理設(shè)備,或者可以是服務(wù)器等物理設(shè)備,或者也可以是運(yùn)行在服務(wù)器中的虛擬機(jī)等虛擬設(shè)備,虛擬機(jī)又可能包括虛擬終端、虛擬服務(wù)器等不同類(lèi)型的虛擬機(jī)。
[0070]第二設(shè)備,例如可以是交換機(jī)或路由器等物理設(shè)備,或者可以是服務(wù)器等物理設(shè)備,或者也可以是運(yùn)行在服務(wù)器中的虛擬機(jī)等虛擬設(shè)備,虛擬機(jī)又可能包括虛擬終端、虛擬服務(wù)器等不同類(lèi)型的虛擬機(jī)。
[0071]第三設(shè)備,例如可以是交換機(jī)或路由器等物理設(shè)備,或者可以是服務(wù)器等物理設(shè)備,或者也可以是運(yùn)行在服務(wù)器中的虛擬機(jī)等虛擬設(shè)備,虛擬機(jī)又可能包括虛擬終端、虛擬服務(wù)器等不同類(lèi)型的虛擬機(jī)。
[0072]2)外層VLAN頭,是本發(fā)明實(shí)施例為報(bào)文所額外添加的一層VLAN頭,其格式與報(bào)文本身所攜帶的VLAN頭的格式一樣,都占用12位(bit)。內(nèi)層VLAN頭,為報(bào)文在VLAN中通信所攜帶的VLAN頭。
[0073]內(nèi)層VLAN頭,是報(bào)文的單層VLAN頭。
[0074]例如請(qǐng)參見(jiàn)圖1A和圖1B,圖1A為VLAN中的報(bào)文原有的格式,圖1B為本發(fā)明實(shí)施例中為報(bào)文添加外層VLAN頭后的格式。其中,圖1A和圖1B中的目的地址(Destinat1nAddress,DA)字段用于承載報(bào)文要發(fā)送到的設(shè)備的地址,即報(bào)文的目的地址,源地址(Source Address,SA)字段用于發(fā)送該報(bào)文的設(shè)備的地址,標(biāo)簽協(xié)議識(shí)別符(Tag ProtocolIdentif ier,TPID)字段為一組16位元的域,其數(shù)值一般被設(shè)定在0x8100,以用來(lái)分辨該幀為IEEE 802.1Q類(lèi)型的幀,優(yōu)先權(quán)代碼點(diǎn)(Pr1rity Code Point,PCP)字段為以一組3位元的域,作為該幀的優(yōu)先級(jí),標(biāo)準(zhǔn)格式指示(Canonical Format Indicator,CFI)字段為I位元的域,若CFI承載的值為I,則該報(bào)文的MAC地址為非標(biāo)準(zhǔn)格式,若CFI承載的值為O,則該報(bào)文的MAC地址為標(biāo)準(zhǔn)格式,Type字段用于指示該報(bào)文所屬的消息類(lèi)型,數(shù)據(jù)(DATA)字段用于承載報(bào)文的內(nèi)容,即消息體,幀校驗(yàn)序列(Frame Check Sequence,F(xiàn)CS)字段為校驗(yàn)字段,用于保存CRC校驗(yàn)值。圖1B相對(duì)于圖1A來(lái)說(shuō),新增了TPID、PCP、CFI和SVLAN等幾個(gè)字段,其中,月艮務(wù)提供商虛擬局域網(wǎng)(Service provider VLAN,SVLAN)字段占據(jù)12位,用戶虛擬局域網(wǎng)(Customer VLAN,CVLAN)字段也占據(jù)12位,SVLAN字段和CVLAN字段用于共同承載VLAN ID,例如,可以將VLAN ID的高12位承載在SVLAN中,及將VLAN ID的低12位承載在CVLAN中。
[0075]3)“多個(gè)”是指兩個(gè)或兩個(gè)以上。
[0076]請(qǐng)參見(jiàn)圖2,為一種可能的DCN的架構(gòu)圖。圖2中的設(shè)備I和設(shè)備2比如可以是核心交換機(jī),核心交換機(jī)之間例如可以通過(guò)內(nèi)部邊界網(wǎng)關(guān)協(xié)議(Internal Border GatewayProtocol,IBGP)進(jìn)行通信,核心交換機(jī)例如可以通過(guò)外部邊界網(wǎng)關(guān)協(xié)議(External BorderGateway Protocol,EBGP)與互聯(lián)網(wǎng)(Internet)進(jìn)行通信。
[0077]核心交換機(jī)可以分別與匯聚交換機(jī)連接,匯聚交換機(jī)又分別可以與接入層設(shè)備連接,接入層設(shè)備例如可以包括普通交換機(jī),普通交換機(jī)可以分別連接一些終端設(shè)備,例如終端設(shè)備可以包括用戶邊緣(Customer Edge,CE)設(shè)備等,例如普通交換機(jī)可以通過(guò)電纜與CE連接,比如為10G的電纜。這樣,在DCN內(nèi)部,核心交換機(jī)就可以與終端設(shè)備進(jìn)行通信,且底層終端設(shè)備也可以通過(guò)數(shù)據(jù)中心實(shí)現(xiàn)與互聯(lián)網(wǎng)的通信。另外,為了下文敘述簡(jiǎn)便,將數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)部的終端設(shè)備統(tǒng)一稱為服務(wù)器(Server),將數(shù)據(jù)中心網(wǎng)絡(luò)外部的終端設(shè)備統(tǒng)一稱為客戶端(Client)。
[0078]圖2中所示的各種設(shè)備的位置、設(shè)備的數(shù)量、通信協(xié)議、以及設(shè)備的名稱等均只是舉例,不是對(duì)本發(fā)明實(shí)施例的限制,只要是數(shù)據(jù)中心網(wǎng)絡(luò)則均在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。
[0079]現(xiàn)在,為了滿足云計(jì)算的需求,在數(shù)據(jù)中心網(wǎng)絡(luò)中有很多物理設(shè)備進(jìn)行了虛擬化,例如在很多服務(wù)器上可以安裝并運(yùn)行多個(gè)虛擬機(jī)(Virtual Machine,VM),請(qǐng)參見(jiàn)圖3,為在服務(wù)器中安裝VM后的軟件架構(gòu)示意圖,圖3以X86架構(gòu)(Architecture)的服務(wù)器為例。圖3中假設(shè)在服務(wù)器中安裝了VMl和VM2,VM1中運(yùn)行了操作系統(tǒng)(Operating System,0S) I,VM2中運(yùn)行了操作系統(tǒng)2,VM1中安裝了應(yīng)用I,VM2中安裝了應(yīng)用2。另外圖3中還示出了服務(wù)器中安裝的管理程序(Hypervisor),或者也可以將其稱為虛擬機(jī)監(jiān)視器(Virtual MachineMonitor,VMM),它是用于管理VM的軟件平臺(tái)。在主機(jī)虛擬化中,Hypervisor可以是跑在服務(wù)器的操作系統(tǒng)上的應(yīng)用,其中,服務(wù)器的操作系統(tǒng)在圖3中表示為操作系統(tǒng)3。
[0080]目前在數(shù)據(jù)中心網(wǎng)絡(luò)中,VM被劃分為多個(gè)用戶組,每個(gè)用戶組可以用一個(gè)VLAN ID進(jìn)行標(biāo)記,以區(qū)分不同的用戶組。但是已有的VLAN ID只有12位,最多支持4K個(gè)分區(qū),遠(yuǎn)遠(yuǎn)滿足不了現(xiàn)在的數(shù)據(jù)中心網(wǎng)絡(luò)對(duì)于區(qū)分用戶組的需求。那么本發(fā)明實(shí)施例中,可以采用雙層VLAN來(lái)表示VLAN ID,這樣數(shù)據(jù)中心網(wǎng)絡(luò)所支持的VLAN ID的個(gè)數(shù)就可以達(dá)到4095*4095個(gè),大大擴(kuò)展了VLAN ID的取值范圍,便于標(biāo)識(shí)更多的用戶組,也更利于數(shù)據(jù)中心網(wǎng)絡(luò)向云計(jì)算方向發(fā)展。另外,如果基于VXLAN進(jìn)行封裝,那么需要浪費(fèi)較多的帶寬,而且封裝所需要的時(shí)間也比較長(zhǎng),導(dǎo)致時(shí)延性能較差,采用本發(fā)明實(shí)施例所提供的方法,能夠節(jié)省帶寬,并且在現(xiàn)有的報(bào)文格式的基礎(chǔ)上只需添加一層VLAN即可,封裝報(bào)文無(wú)需耗費(fèi)較多時(shí)間,減小了報(bào)文傳輸?shù)臅r(shí)延。
[0081 ]下面結(jié)合說(shuō)明書(shū)附圖描述本發(fā)明實(shí)施例。
[0082]請(qǐng)參見(jiàn)圖4,提供一種報(bào)文發(fā)送方法,該方法可以由第一設(shè)備執(zhí)行,第一設(shè)備例如可以是數(shù)據(jù)中心網(wǎng)絡(luò)中的服務(wù)器,例如可以是物理服務(wù)器或物理服務(wù)器中的虛擬機(jī),或者可以是數(shù)據(jù)中心網(wǎng)絡(luò)中的交換機(jī)或路由器。該方法的流程描述如下。
[0083]步驟401:通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備獲取待發(fā)送的第一報(bào)文;
[0084]步驟402:第一設(shè)備為第一報(bào)文添加VLAN頭,得到具有雙層VLAN頭的第二報(bào)文,且第一設(shè)備在第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息;其中,外層VLAN頭攜帶的標(biāo)識(shí)信息和內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示預(yù)先配置的VLAN標(biāo)識(shí);
[0085]步驟403:第一設(shè)備將第二報(bào)文發(fā)送給數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備。
[0086]請(qǐng)參見(jiàn)圖5,提供一種報(bào)文接收方法,該方法可以由第二設(shè)備執(zhí)行,第二設(shè)備例如可以是數(shù)據(jù)中心網(wǎng)絡(luò)中的服務(wù)器,例如可以是物理服務(wù)器或物理服務(wù)器中的虛擬機(jī),或者可以是數(shù)據(jù)中心網(wǎng)絡(luò)中的交換機(jī)或路由器。該方法的流程描述如下。
[0087]步驟501:通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備接收數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備發(fā)送的第二報(bào)文;第二報(bào)文具有雙層VLAN頭;
[0088]步驟502:第二設(shè)備拆除第二報(bào)文的外層VLAN頭。
[0089]圖4和圖5為相應(yīng)的方法,下面通過(guò)幾個(gè)例子一起來(lái)進(jìn)行介紹。鑒于第一設(shè)備可能是服務(wù)器,或者也可能是交換機(jī)或路由器,因此在下面的例子中將分別介紹。
[0090]例I
[0091]第一設(shè)備是服務(wù)器的情況,且例I以第一設(shè)備是服務(wù)器中的VM為例。因?yàn)楝F(xiàn)在的VM支持的都是普通的VLAN頭,因此例I首先介紹如何重新設(shè)置VM,以使得VM能夠支持雙層VLAN頭。
[0092]先確定是否要在該VM上配置優(yōu)先級(jí)信息,如果該VM上不需要配置優(yōu)先級(jí),那么可以直接越過(guò)協(xié)議棧,調(diào)用VM的虛擬網(wǎng)卡的驅(qū)動(dòng)(如果第一設(shè)備是服務(wù)器,則可以調(diào)用服務(wù)器的物理網(wǎng)卡的驅(qū)動(dòng))提供的函數(shù)來(lái)配置VM,即為VM配置新的VLAN設(shè)置信息,使得VM在新的VLAN設(shè)置信息下可以采用雙層VLAN的格式來(lái)封裝報(bào)文。其中,在數(shù)據(jù)中心網(wǎng)絡(luò)中,一般為一個(gè)VM配置一個(gè)VLAN ID,本發(fā)明實(shí)施例中的VLAN ID包括24位,即為該VM配置的VLAN ID采用24位進(jìn)行標(biāo)識(shí),為該VM配置VLAN ID,可以也由驅(qū)動(dòng)提供的函數(shù)配置,或者也可以通過(guò)其他方式配置。例如通過(guò)驅(qū)動(dòng)提供的函數(shù),還可以指示VM在封裝報(bào)文時(shí)將VLAN ID的高12位封裝在SVLAN中,將VLAN ID的低12位封裝在CVLAN中。
[0093]如果在該VM上不需要配置優(yōu)先級(jí)信息,則可以越過(guò)協(xié)議棧,直接調(diào)用虛擬網(wǎng)卡的驅(qū)動(dòng)提供的函數(shù)來(lái)配置VLAN,即為VM配置新的VLAN設(shè)置信息,使得VM可以采用雙層VLAN的格式來(lái)封裝報(bào)文,同樣的,通過(guò)驅(qū)動(dòng)提供的函數(shù),也可以指示VM在封裝報(bào)文時(shí)將VLAN ID的高12位封裝在SVLAN中,將VLAN ID的低12位封裝在CVLAN中。
[0094]而如果該VM上需要配置優(yōu)先級(jí)信息,則可以調(diào)用運(yùn)行在VM的操作系統(tǒng)上的協(xié)議棧來(lái)配置攜帶優(yōu)先級(jí)的報(bào)文的CVLAN攜帶的VLAN ID部分的取值,即通過(guò)協(xié)議棧來(lái)設(shè)置攜帶優(yōu)先級(jí)的報(bào)文的CVLAN攜帶的VLAN ID應(yīng)該是多少。例如,可以調(diào)用協(xié)議棧提供的VLAN配置(Vconfig)命令來(lái)配置,比如可以配置攜帶優(yōu)先級(jí)信息的報(bào)文的CVLAN攜帶的VLAN ID為VLAN O。一般VM在封裝報(bào)文時(shí),報(bào)文要先經(jīng)過(guò)協(xié)議棧,那么如果需要為報(bào)文配置優(yōu)先級(jí)信息,則協(xié)議棧可以為報(bào)文添加單層VLAN,即添加CVLAN,將該報(bào)文的CVLAN攜帶的VLAN ID設(shè)置為VLAN 0,并在該CVLAN上配置優(yōu)先級(jí)信息??蛇x的,VM還可以調(diào)用協(xié)議棧提供的Vconfig命令配置所需要的優(yōu)先級(jí)信息,這樣,報(bào)文在經(jīng)過(guò)協(xié)議棧時(shí),協(xié)議棧就可以為報(bào)文添加相應(yīng)的優(yōu)先級(jí)信息。在配置完協(xié)議棧后,可以越過(guò)協(xié)議棧,調(diào)用VM的虛擬網(wǎng)卡的驅(qū)動(dòng)提供的函數(shù)來(lái)配置VLAN,即為VM配置新的VLAN設(shè)置信息,使得VM可以采用雙層VLAN的格式來(lái)封裝報(bào)文,同樣的,通過(guò)驅(qū)動(dòng)提供的函數(shù),也可以指示VM在封裝報(bào)文時(shí)將VLAN ID的高12位封裝在SVLAN中,將VLAN ID的低12位封裝在CVLAN中。
[0095]可選的,VM可配置優(yōu)先級(jí)信息也可以不配置優(yōu)先級(jí)信息,如果配置了優(yōu)先級(jí)信息,那么VM在發(fā)送報(bào)文時(shí),可以選擇為發(fā)送的全部報(bào)文或者部分報(bào)文添加優(yōu)先級(jí)信息??蛇x的,一個(gè)VM也可以配置多個(gè)不同的優(yōu)先級(jí)信息,那么VM如果要為一個(gè)報(bào)文添加優(yōu)先級(jí)信息,可以從多個(gè)優(yōu)先級(jí)信息中選擇一個(gè)優(yōu)先級(jí)信息來(lái)添加,那么一個(gè)VM為不同的報(bào)文添加的優(yōu)先級(jí)信息也可以是不同的,這樣可以便于區(qū)分不同的報(bào)文的優(yōu)先級(jí),使得不同優(yōu)先級(jí)的報(bào)文在網(wǎng)絡(luò)中能夠得到更好的傳輸。
[0096]可選的,如果第一設(shè)備是服務(wù)器,那么第二設(shè)備可能是交換機(jī)或路由器。因?yàn)楝F(xiàn)在的交換機(jī)或路由器雖然可能也支持雙層VLAN頭,但可能無(wú)法支持24位的VLAN ID,因此例I也介紹一下如何重新設(shè)置交換機(jī)或路由器,以使得交換機(jī)或路由器能夠支持24位的VLANID0
[0097]可選的,可以通過(guò)配置使得交換機(jī)或路由器提供的與轉(zhuǎn)發(fā)報(bào)文相關(guān)的表項(xiàng)都能夠支持24位的VLAN ID。例如,可以將交換機(jī)或路由器提供的與轉(zhuǎn)發(fā)VLAN報(bào)文相關(guān)的表項(xiàng)中VLAN的有效字段均擴(kuò)展為24位,這樣就可以使得與轉(zhuǎn)發(fā)報(bào)文相關(guān)的表項(xiàng)都能夠支持24位的VLAN ID,這樣,交換機(jī)或路由器接收第二報(bào)文后才能識(shí)別第二報(bào)文,從而實(shí)現(xiàn)對(duì)第二報(bào)文的正確轉(zhuǎn)發(fā)。
[0098]可選的,還可以對(duì)交換機(jī)或路由器解析VLAN報(bào)文的流程進(jìn)行配置,使得交換機(jī)或路由器對(duì)VLAN報(bào)文解析流程能夠支持對(duì)雙層VLAN的解析,例如,交換機(jī)或路由器不僅可以解析報(bào)文的外層VLAN頭,還可以解析報(bào)文的內(nèi)層VLAN頭。
[0099]例2
[0100]例I介紹了在第一設(shè)備是VM的情況下如何先配置VM,那么例2就接著介紹在第一設(shè)備是VM的情況下,在對(duì)VM按照例I的方法配置成功后,VM如何發(fā)送報(bào)文??蛇x的,VM發(fā)送報(bào)文,可以是VM中運(yùn)行的應(yīng)用發(fā)送報(bào)文。請(qǐng)參見(jiàn)圖6,介紹VM中運(yùn)行的應(yīng)用發(fā)送報(bào)文的一種可能的方法。
[0101]1、VM調(diào)用VM的操作系統(tǒng)中運(yùn)行的協(xié)議棧的接口來(lái)發(fā)送數(shù)據(jù)。例如可以將該數(shù)據(jù)稱為第一報(bào)文。
[0102]2、第一報(bào)文經(jīng)過(guò)協(xié)議棧時(shí),確定無(wú)需為該第一報(bào)文攜帶優(yōu)先級(jí)信息。
[0103]其中,如果VM確定第一報(bào)文需要攜帶優(yōu)先級(jí)信息,那么VM可以通過(guò)協(xié)議棧為該第一報(bào)文打上單層VLAN頭,將該單層VLAN頭攜帶的VLAN ID的部分設(shè)置為VLAN O,即將該單層VLAN頭中用于指示該VM的VLAN ID的位均設(shè)置為O,并在該單層VLAN頭中攜帶為第一報(bào)文選擇的優(yōu)先級(jí)信息。而如果VM確定第一報(bào)文不需要攜帶優(yōu)先級(jí)信息,那么協(xié)議棧有兩種可能的做法,一種是照樣為該第一報(bào)文打上單層VLAN頭,在該單層VLAN頭中可以無(wú)需不攜帶優(yōu)先級(jí)信息,并且可以按照該VM的VLAN ID設(shè)置該單層VLAN頭攜帶的VLAN ID部分的取值,例如可以將該VM的VLAN ID的低12位承載在第一報(bào)文的CVLAN中。另一種做法是,協(xié)議棧不為第一報(bào)文打上單層VLAN頭,可以直接執(zhí)行步驟3,即將第一報(bào)文傳輸給虛擬網(wǎng)卡的驅(qū)動(dòng),由虛擬網(wǎng)卡的驅(qū)動(dòng)為第一報(bào)文添加VLAN頭,例如虛擬網(wǎng)卡的驅(qū)動(dòng)可能為第一報(bào)文添加單層VLAN頭,也可能添加雙層VLAN頭。
[0104]3、將第一報(bào)文傳給VM的虛擬網(wǎng)卡的驅(qū)動(dòng)。
[0105]4、虛擬網(wǎng)卡的驅(qū)動(dòng)根據(jù)配置的VLAN給協(xié)議棧傳下來(lái)的第一報(bào)文打上VLAN頭,得到具有雙層VLAN頭的第二報(bào)文。
[0106]可選的,如果協(xié)議棧為第一報(bào)文打上了單層VLAN頭,那么這里的虛擬網(wǎng)卡的驅(qū)動(dòng)為第一報(bào)文打上VLAN頭,就可以是指為第一報(bào)文打上外層VLAN頭,如果協(xié)議棧沒(méi)有為第一報(bào)文打上單層VLAN頭,那么這里的虛擬網(wǎng)卡的驅(qū)動(dòng)為第一報(bào)文打上VLAN頭,就可以是指為第一報(bào)文打上內(nèi)層VLAN頭和外層VLAN頭。
[0107]其中,虛擬網(wǎng)卡的驅(qū)動(dòng)可以將VLAN ID的高12位添加到第二報(bào)文的SVLAN中,例如將VLAN ID的高12位構(gòu)成的信息稱為第一標(biāo)識(shí)信息,那么虛擬網(wǎng)卡的驅(qū)動(dòng)就是可以在第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息。或者,如果虛擬網(wǎng)卡的驅(qū)動(dòng)還要為第一報(bào)文打上內(nèi)層VLAN頭,那么虛擬網(wǎng)卡的驅(qū)動(dòng)可以將VLAN ID的低12位添加到第二報(bào)文的CVLAN中,例如將VLAN ID的低12位構(gòu)成的信息稱為第二標(biāo)識(shí)信息,那么虛擬網(wǎng)卡的驅(qū)動(dòng)就是可以在第二報(bào)文的內(nèi)層VLAN頭中攜帶第二標(biāo)識(shí)信息。
[0108]5、虛擬網(wǎng)卡的驅(qū)動(dòng)根據(jù)第二報(bào)文的內(nèi)層VLAN頭確定第二報(bào)文是否是優(yōu)先級(jí)報(bào)文,即判斷第二報(bào)文的內(nèi)層VLAN頭是否攜帶了優(yōu)先級(jí)信息。如果第二報(bào)文的內(nèi)層VLAN頭攜帶了優(yōu)先級(jí)信息,則執(zhí)行步驟6和7,否則執(zhí)行步驟8。
[0109]可選的,如果第二報(bào)文攜帶了優(yōu)先級(jí)信息,那么第二報(bào)文的內(nèi)層VLAN頭就是協(xié)議棧添加的,如果第二報(bào)文未攜帶優(yōu)先級(jí)信息,那么第二報(bào)文的內(nèi)層VLAN頭可能是協(xié)議棧添加的,也可能是虛擬網(wǎng)卡的驅(qū)動(dòng)添加的。優(yōu)選的,如果第二報(bào)文未攜帶優(yōu)先級(jí)信息,那么第二報(bào)文的內(nèi)層VLAN頭可以是虛擬網(wǎng)卡的驅(qū)動(dòng)添加的。
[0110]6、若第二報(bào)文的內(nèi)層VLAN頭攜帶了優(yōu)先級(jí)信息,則虛擬網(wǎng)卡的驅(qū)動(dòng)將第二報(bào)文的內(nèi)層VLAN頭中攜帶的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的外層VLAN頭中,例如可以將第二報(bào)文的CVLAN中攜帶的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的SVLAN中。
[0111]因?yàn)榈诙?bào)文在傳輸?shù)倪^(guò)程中,SVLAN對(duì)于途經(jīng)的節(jié)點(diǎn)來(lái)說(shuō)是可見(jiàn)的,將優(yōu)先級(jí)信息攜帶在SVLAN里,可以使得沿途的節(jié)點(diǎn)更好地傳輸?shù)诙?bào)文,例如可以按照第二報(bào)文的優(yōu)先級(jí)信息優(yōu)先傳輸?shù)诙?bào)文等。
[0112]可選的,如果將第二報(bào)文的CVLAN中攜帶的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的SVLAN中,那么虛擬網(wǎng)卡的驅(qū)動(dòng)還可以刪除第二報(bào)文的CVLAN中攜帶的優(yōu)先級(jí)信息,這樣可以盡量避免同樣的信息在一個(gè)報(bào)文中重復(fù)攜帶。
[0113]7、若第二報(bào)文的內(nèi)層VLAN頭攜帶了優(yōu)先級(jí)信息,則虛擬網(wǎng)卡的驅(qū)動(dòng)還可以根據(jù)配置的VLAN以及VLAN ID給第二報(bào)文重新配置CVLAN攜帶的VLAN ID部分的取值。其中CVLAN中用于指示VLAN ID的位構(gòu)成的信息就可以是CVLAN攜帶的標(biāo)識(shí)信息,那么例如可以將CVLAN攜帶的標(biāo)識(shí)信息設(shè)置為第二標(biāo)識(shí)信息。執(zhí)行步驟8。
[0114]因?yàn)?,如果第一?bào)文攜帶了優(yōu)先級(jí)信息,那么協(xié)議??赡軐⒌谝粓?bào)文的CVLAN攜帶的VLAN ID設(shè)置為VLAN O,而第二報(bào)文要進(jìn)行傳輸,需要SVLAN攜帶的標(biāo)識(shí)信息和CVLAN攜帶的標(biāo)識(shí)信息共同指示VLAN ID,因此虛擬網(wǎng)卡的驅(qū)動(dòng)可以重新設(shè)置第二報(bào)文的CVLAN攜帶的VLAN ID部分的值,即重新設(shè)置CVLAN攜帶的標(biāo)識(shí)信息,例如將CVLAN攜帶的標(biāo)識(shí)信息設(shè)置為第二標(biāo)識(shí)信息,例如可以將該VM的VLAN ID的低12位放入CVLAN,這里,將VLAN ID的低12位構(gòu)成的信息稱為第二標(biāo)識(shí)信息。
[0115]8、虛擬網(wǎng)卡的驅(qū)動(dòng)將第二報(bào)文發(fā)給VM的虛擬網(wǎng)卡。
[0116]9、VM的虛擬網(wǎng)卡發(fā)送第二報(bào)文。例如,VM的虛擬網(wǎng)卡可以通過(guò)該VM所在的服務(wù)器的物理網(wǎng)卡發(fā)送第二報(bào)文。
[0117]另外,在例2中,因?yàn)榉庋b報(bào)文的工作已由VM完成,那么如果接收第二報(bào)文的第二設(shè)備是按照例I中介紹的配置方式配置后的交換機(jī)或路由器,則交換機(jī)或路由器按照正常的方式轉(zhuǎn)發(fā)第二報(bào)文即可。
[0118]例3
[0119]例I和例2都是以第一設(shè)備是VM為例,即為報(bào)文封裝雙層VLAN頭的工作均由VM完成,則例3以第一設(shè)備是交換機(jī)或路由器為例介紹預(yù)先配置交換機(jī)或路由器、及交換機(jī)或路由器封裝報(bào)文的過(guò)程,在例3中,為報(bào)文封裝雙層VLAN頭的工作可以由交換機(jī)或路由器完成。
[0120]可選的,交換機(jī)或路由器封裝的報(bào)文,可能是VM發(fā)送過(guò)來(lái)需要進(jìn)行轉(zhuǎn)發(fā)的報(bào)文,或者也可能是交換機(jī)或路由器自己生成報(bào)文,例如交換機(jī)或路由器中也可以運(yùn)行一些可能的應(yīng)用,這些應(yīng)用也可能會(huì)生成報(bào)文,從而交換機(jī)或路由器也可能需要發(fā)送這些報(bào)文。
[0121 ] 可選的,一般來(lái)說(shuō),如果由VM來(lái)為報(bào)文添加外層VLAN,那么也可以由VM來(lái)解析外層VLAN,如果由交換機(jī)或路由器來(lái)為報(bào)文添加外層VLAN,那么可以繼續(xù)由交換機(jī)或路由器來(lái)解析外層VLAN,或者,或者也可以由用于控制該交換機(jī)或路由器的控制器(Controller)來(lái)解析外層VLAN。
[0122]例如可以事先為交換機(jī)或路由器配置新的報(bào)文封裝的格式,使得交換機(jī)或路由器可以采用雙層VLAN的格式來(lái)封裝接收的報(bào)文。
[0123]可選的,交換機(jī)或路由器在為報(bào)文添加外層VLAN頭時(shí),可以有不同依據(jù),例如可以基于VM來(lái)添加,或者可以基于端口來(lái)添加,或者可以基于通信協(xié)議來(lái)添加,那么對(duì)交換機(jī)或路由器就可以有不同的配置方式。下面舉例介紹。
[0124]第一種方式:交換機(jī)或路由器基于VM為報(bào)文封裝雙層VLAN頭。在這種情況下,交換機(jī)或路由器是接收VM發(fā)送的報(bào)文,則為報(bào)文封裝雙層VLAN頭,可以是為報(bào)文添加外層VLAN頭,以及,若報(bào)文的內(nèi)層VLAN頭未設(shè)置,還可以設(shè)置報(bào)文的內(nèi)層VLAN頭,或者,為報(bào)文封裝雙層VLAN頭,也可以是為報(bào)文添加內(nèi)層VLAN頭和外層VLAN頭。
[0125]由于一個(gè)交換機(jī)或路由器可以連接多個(gè)服務(wù)器,也就可以連接多個(gè)VM,而報(bào)文攜帶的VLAN ID可以是發(fā)送報(bào)文的VM的VLAN ID。可選的,交換機(jī)或路由器接收第一報(bào)文后,如果VM已經(jīng)為第一報(bào)文打上了單層VLAN,且第一報(bào)文的單層VLAN中攜帶的VLAN ID部分已經(jīng)填入了該VM的VLAN ID的低12位,即該第一報(bào)文是交換機(jī)或路由器接收的VM發(fā)送的報(bào)文,VM已經(jīng)完成了對(duì)該報(bào)文的CVLAN的設(shè)置,那么交換機(jī)或路由器可以為第一報(bào)文添加外層VLAN頭,得到第二報(bào)文,并在第二報(bào)文的SVLAN中填入發(fā)送第一報(bào)文的VM的VLAN ID的高12位,SP令該第二報(bào)文的外層VLAN頭攜帶第一標(biāo)識(shí)信息,使得第二報(bào)文的SVLAN攜帶的第一標(biāo)識(shí)信息和CVLAN攜帶的標(biāo)識(shí)信息可以共同指示發(fā)送該第一報(bào)文的VM的VLAN ID,可選的,交換機(jī)或路由器可以根據(jù)該第一報(bào)文的源地址確定發(fā)送報(bào)文的VM?;蛘?,交換機(jī)或路由器接收第一報(bào)文后,如果第一報(bào)文已攜帶單層VLAN,但該單層VLAN攜帶的VLAN ID部分為空,或者為VLAN 0,即該第一報(bào)文可以是交換機(jī)或路由器接收的VM發(fā)送的報(bào)文,而VM未對(duì)該第一報(bào)文的CVLAN進(jìn)行設(shè)置,或者將該第一報(bào)文的VLAN ID設(shè)置為VLAN O,則交換機(jī)或路由器可以為第一報(bào)文添加外層VLAN頭,得到第二報(bào)文,并在第二報(bào)文的SVLAN和CVLAN中填入發(fā)送第一報(bào)文的VM的VLAN ID,其中在SVLAN中填入VLAN ID的高12位,在CVLAN中填入VLAN ID的低12位,使得第二報(bào)文的SVLAN和CVLAN可以共同指示發(fā)送該第一報(bào)文的VM的VLAN ID,可選的,交換機(jī)或路由器可以根據(jù)該第一報(bào)文的源地址確定發(fā)送第一報(bào)文的VM?;蛘?,交換機(jī)或路由器接收第一報(bào)文后,如果第一報(bào)文未攜帶單層VLAN,則交換機(jī)或路由器可以為第一報(bào)文添加內(nèi)層VLAN頭和外層VLAN頭,得到第二報(bào)文,并在第二報(bào)文的SVLAN和CVLAN中填入發(fā)送第一報(bào)文的VM的VLAN ID,其中在SVLAN中填入VLAN ID的高12位,在CVLAN中填入VLAN ID的低12位,使得第二報(bào)文的SVLAN和CVLAN可以共同指示發(fā)送該第一報(bào)文的VM的VLAN ID,可選的,交換機(jī)或路由器可以根據(jù)該第一報(bào)文的源地址確定發(fā)送第一報(bào)文的VM。
[0126]可選的,在配置交換機(jī)或路由器時(shí),可以事先為交換機(jī)或路由器配置多個(gè)VM的VLAN ID,例如可以在交換機(jī)或路由器中維護(hù)數(shù)據(jù)表,該數(shù)據(jù)表包括至少一個(gè)表項(xiàng),其中每個(gè)表項(xiàng)可以記錄一個(gè)VM的VLAN ID,這樣交換機(jī)或路由器才能夠正確封裝報(bào)文。
[0127]可選的,在配置交換機(jī)或路由器時(shí),可以指示交換機(jī)或路由器在封裝報(bào)文時(shí)將VLAN ID的高12位封裝在SVLAN中,或者可以指示交換機(jī)或路由器在封裝報(bào)文時(shí)將VLAN ID的高12位封裝在SVLAN中,及將VLAN ID的低12位封裝在CVLAN中。這樣,通過(guò)配置,交換機(jī)或路由器不僅知道各VM的VLAN ID,也知道應(yīng)該如何封裝報(bào)文。
[0128]第二種方式:交換機(jī)或路由器基于端口為報(bào)文封裝雙層VLAN頭。在這種情況下,交換機(jī)或路由器是接收VM發(fā)送的報(bào)文,則為報(bào)文封裝雙層VLAN頭,可以是為報(bào)文添加外層VLAN頭,以及,若報(bào)文的內(nèi)層VLAN頭未設(shè)置,還可以設(shè)置報(bào)文的內(nèi)層VLAN頭,或者為報(bào)文封裝雙層VLAN頭可以是為報(bào)文添加內(nèi)層VLAN頭和外層VLAN頭。
[0129]—個(gè)交換機(jī)或路由器可以包括多個(gè)端口,那么可以預(yù)先為交換機(jī)或路由器的每個(gè)端口配置一個(gè)VLAN ID,例如為端口 I配置的VLAN ID為VLAN IDl,為端口 2配置的VLAN ID為VLAN ID2,等等,那么,交換機(jī)或路由器是通過(guò)哪個(gè)端口接收的報(bào)文,就可以為該報(bào)文封裝為該端口配置的VLAN ID。這樣,因?yàn)榻粨Q機(jī)或路由器的端口的數(shù)量相比VM的數(shù)量來(lái)說(shuō)可能較小,交換機(jī)或路由器中需要預(yù)先配置的VLAN ID的數(shù)量大大減少,節(jié)省存儲(chǔ)空間。
[0130]在這種情況下,可以為與該交換機(jī)或路由器通信的VM配置其所對(duì)應(yīng)的端口的VLANID,例如可以配置VLAN ID的低12位,那么VM在向交換機(jī)或路由器發(fā)送待轉(zhuǎn)發(fā)的報(bào)文時(shí),可以在報(bào)文的單層VLAN頭中填入VLAN ID的低12位,交換機(jī)或路由器接收該報(bào)文后,只需為報(bào)文添加外層VLAN頭,并根據(jù)為接收該報(bào)文的端口配置的VLAN ID向外層VLAN頭中填入該VLAN ID的高12位即可,即令該報(bào)文的外層VLAN頭攜帶第一標(biāo)識(shí)信息,交換機(jī)或路由器需要做的工作較少,負(fù)擔(dān)較輕,這樣,該報(bào)文的外層VLAN攜帶的第一標(biāo)識(shí)信息和內(nèi)層VLAN攜帶的標(biāo)識(shí)信息可以用于聯(lián)合指示為接收該報(bào)文的端口預(yù)先配置的VLAN ID?;蛘?,在這種情況下,也可以不為與該交換機(jī)或路由器通信的VM配置其所對(duì)應(yīng)的端口的VLAN ID,那么VM在向交換機(jī)或路由器發(fā)送需要轉(zhuǎn)發(fā)的報(bào)文時(shí),可以在報(bào)文的單層VLAN頭中填入相應(yīng)的信息,例如填入VM的VLAN ID,或者如果VM的VLAN ID也是雙層VLAN所指示的24位的VLAN ID,則VM可以在報(bào)文的內(nèi)層VLAN頭中填入VM的VLAN ID的低12位,交換機(jī)或路由器接收該報(bào)文后,因?yàn)樵搱?bào)文的內(nèi)層VLAN頭中填入的很可能不是預(yù)先為接收該報(bào)文的端口配置的VLAN ID的相應(yīng)位的取值,因此交換機(jī)或路由器可以修改該報(bào)文的內(nèi)層VLAN頭中用于指示VLAN ID的位的取值,即可以在該報(bào)文的內(nèi)層VLAN頭中填入預(yù)先為接收該報(bào)文的端口配置的VLAN ID的低12位,且交換機(jī)或路由器可以為該報(bào)文添加外層VLAN頭,并根據(jù)為接收該報(bào)文的端口配置的VLAN ID向外層VLAN頭中填入該VLAN ID的高12位。或者,在這種情況下,也可以不為與該交換機(jī)或路由器通信的VM配置其所對(duì)應(yīng)的端口的VLAN ID,那么VM在向交換機(jī)或路由器發(fā)送需要轉(zhuǎn)發(fā)的報(bào)文時(shí),可以不在報(bào)文的單層VLAN頭中填入用于指示VLAN ID的信息,即報(bào)文的內(nèi)層VLAN頭中用于指示報(bào)文的VLAN ID的位的取值可以均為0,交換機(jī)或路由器接收該報(bào)文后,可以在該報(bào)文的內(nèi)層VLAN頭中填入預(yù)先為接收該報(bào)文的端口配置的VLAN ID的低12位,且交換機(jī)或路由器可以為該報(bào)文添加外層VLAN頭,并根據(jù)為接收該報(bào)文的端口配置的VLAN ID向外層VLAN頭中填入該VLAN ID的高12位?;蛘?,在這種情況下,VM在向交換機(jī)或路由器發(fā)送需要轉(zhuǎn)發(fā)的報(bào)文時(shí),可以不為報(bào)文添加單層VLAN頭,交換機(jī)或路由器接收該報(bào)文后,可以為該報(bào)文添加內(nèi)層VLAN頭和外層VLAN頭,根據(jù)為接收該報(bào)文的端口配置的VLANID,向外層VLAN頭中填入該VLAN ID的高12位,及向內(nèi)層VLAN頭中填入該VLAN ID的低12位。
[0131]可選的,在配置交換機(jī)或路由器時(shí),可以指示交換機(jī)或路由器在封裝報(bào)文時(shí)將VLAN ID的高12位封裝在SVLAN中,或者可以指示交換機(jī)或路由器在封裝報(bào)文時(shí)將VLAN ID的高12位封裝在SVLAN中,及將VLAN ID的低12位封裝在CVLAN中。這樣,通過(guò)配置,交換機(jī)或路由器不僅知道各端口的VLAN ID,也知道應(yīng)該如何封裝報(bào)文。
[0132]第三種方式:交換機(jī)或路由器基于通信協(xié)議為報(bào)文封裝雙層VLAN頭。在這種情況下,交換機(jī)或路由器可以接收VM發(fā)送的報(bào)文,則為報(bào)文封裝雙層VLAN頭,可以是為報(bào)文添加外層VLAN頭,以及,若報(bào)文的內(nèi)層VLAN頭未設(shè)置,還可以設(shè)置報(bào)文的內(nèi)層VLAN頭,或者為報(bào)文封裝雙層VLAN頭,可以是為報(bào)文添加內(nèi)層VLAN頭和外層VLAN頭,或者在這種情況下,交換機(jī)或路由器可以自己生成報(bào)文,例如交換機(jī)或路由器中可以安裝一些應(yīng)用,這些應(yīng)用可能會(huì)生成報(bào)文,則交換機(jī)或路由器可能需要發(fā)送這些報(bào)文,那么,為報(bào)文封裝雙層VLAN頭,可以是為報(bào)文添加內(nèi)層VLAN頭和外層VLAN頭。
[0133]數(shù)據(jù)中心網(wǎng)絡(luò)可以支持多種不同的通信協(xié)議,那么可以預(yù)先為交換機(jī)或路由器支持的每種通信協(xié)議配置一個(gè)VLAN ID,例如為通信協(xié)議I配置的VLAN ID為VLAN IDl,為通信協(xié)議2配置的VLAN ID為VLAN ID2,等等,那么,交換機(jī)或路由器待封裝的是哪個(gè)通信協(xié)議下的報(bào)文,就可以為該報(bào)文封裝為該通信協(xié)議配置的VLAN ID。這樣,因?yàn)橥ㄐ艆f(xié)議的數(shù)量相比VM的數(shù)量來(lái)說(shuō)可能較小,則交換機(jī)或路由器中需要預(yù)先配置的VLAN ID的數(shù)量大大減少,節(jié)省存儲(chǔ)空間。
[0134]下面分別介紹交換機(jī)或路由器封裝VM發(fā)送的報(bào)文、及交換機(jī)或路由器封裝自己生成的報(bào)文兩種情況。
[0135]若交換機(jī)或路由器封裝VM發(fā)送的報(bào)文,則可以為與該交換機(jī)或路由器通信的VM配置為各個(gè)通信協(xié)議配置的VLAN ID,例如可以配置為各個(gè)通信協(xié)議配置的VLAN ID的低12位,那么VM在向交換機(jī)或路由器發(fā)送待轉(zhuǎn)發(fā)的報(bào)文時(shí),可以在報(bào)文的單層VLAN頭中填入相應(yīng)通信協(xié)議的VLAN ID的低12位,交換機(jī)或路由器接收該報(bào)文后,只需為報(bào)文添加外層VLAN頭,并根據(jù)為該報(bào)文所屬的通信協(xié)議配置的VLAN ID向外層VLAN頭中填入該VLAN ID的高12位即可,交換機(jī)或路由器需要做的工作較少,負(fù)擔(dān)較輕?;蛘?,若交換機(jī)或路由器封裝VM發(fā)送的報(bào)文,也可以不為與該交換機(jī)或路由器通信的VM配置為各個(gè)通信協(xié)議配置的VLAN ID,那么VM在向交換機(jī)或路由器發(fā)送需要轉(zhuǎn)發(fā)的報(bào)文時(shí),可以在報(bào)文的單層VLAN頭中填入相應(yīng)的信息,例如填入VM的VLAN ID,或者如果VM的VLAN ID也是雙層VLAN所指示的24位的VLANID,則VM可以在報(bào)文的內(nèi)層VLAN頭中填入VM的VLAN ID的低12位,交換機(jī)或路由器接收該報(bào)文后,因?yàn)樵搱?bào)文的內(nèi)層VLAN頭中填入的很可能不是預(yù)先為該報(bào)文所屬的通信協(xié)議配置的VLAN ID的相應(yīng)位的取值,因此交換機(jī)或路由器可以修改該報(bào)文的內(nèi)層VLAN頭中用于指示VLAN ID的位的取值,即可以在該報(bào)文的內(nèi)層VLAN頭中填入預(yù)先為該報(bào)文所屬的通信協(xié)議配置的VLAN ID的低12位,且交換機(jī)或路由器可以為該報(bào)文添加外層VLAN頭,并根據(jù)為該報(bào)文所屬的通信協(xié)議配置的VLAN ID向外層VLAN頭中填入該VLAN ID的高12位。或者,若交換機(jī)或路由器封裝VM發(fā)送的報(bào)文,也可以不為與該交換機(jī)或路由器通信的VM配置為各個(gè)通信協(xié)議配置的VLAN ID,那么VM在向交換機(jī)或路由器發(fā)送需要轉(zhuǎn)發(fā)的報(bào)文時(shí),可以不在報(bào)文的單層VLAN頭中填入用于指示VLAN ID的信息,即報(bào)文的內(nèi)層VLAN頭中用于指示報(bào)文的VLANID的位的取值可以均為0,交換機(jī)或路由器接收該報(bào)文后,可以在該報(bào)文的內(nèi)層VLAN頭中填入預(yù)先為該報(bào)文所屬的通信協(xié)議配置的VLAN ID的低12位,且交換機(jī)或路由器可以為該報(bào)文添加外層VLAN頭,并根據(jù)為該報(bào)文所屬的通信協(xié)議配置的VLAN ID向外層VLAN頭中填入該VLAN ID的高12位。或者,若交換機(jī)或路由器封裝VM發(fā)送的報(bào)文,VM在向交換機(jī)或路由器發(fā)送需要轉(zhuǎn)發(fā)的報(bào)文時(shí),可以不為報(bào)文添加單層VLAN頭,交換機(jī)或路由器接收該報(bào)文后,可以為該報(bào)文添加內(nèi)層VLAN頭和外層VLAN頭,并根據(jù)為該報(bào)文所屬的通信協(xié)議配置的VLANID,向外層VLAN頭中填入該VLAN ID的高12位,及向內(nèi)層VLAN頭中填入該VLAN ID的低12位。
[0136]若交換機(jī)或路由器封裝自己生成的報(bào)文,則交換機(jī)或路由器可以為該報(bào)文添加內(nèi)層VLAN頭和外層VLAN頭,且交換機(jī)或路由器要在報(bào)文的SVLAN和CVLAN中填入為該報(bào)文所屬的通信協(xié)議預(yù)先配置的VLAN ID,使得報(bào)文的SVLAN和CVLAN可以共同指示該VLAN ID。
[0137]可選的,在配置交換機(jī)或路由器時(shí),可以指示交換機(jī)或路由器在封裝報(bào)文時(shí)將VLAN ID的高12位封裝在SVLAN中,或者可以指示交換機(jī)或路由器在封裝報(bào)文時(shí)將VLAN ID的高12位封裝在SVLAN中,及將VLAN ID的低12位封裝在CVLAN中。這樣,通過(guò)配置,交換機(jī)或路由器不僅知道各通信協(xié)議的VLAN ID,也知道應(yīng)該如何封裝報(bào)文。
[0138]可選的,除了以上三種方式之外,如果一個(gè)報(bào)文是交換機(jī)或路由器自己生成的報(bào)文,則交換機(jī)或路由器可以為該報(bào)文添加內(nèi)層VLAN頭和外層VLAN頭,且交換機(jī)或路由器也可以在報(bào)文的SVLAN和CVLAN中分別填入該交換機(jī)或路由器的VLAN ID的高12位和低12位,使得報(bào)文的SVLAN攜帶的標(biāo)識(shí)信息和CVLAN攜帶的標(biāo)識(shí)信息可以共同指示該交換機(jī)或路由器的VLAN ID。
[0139]可選的,交換機(jī)或路由器要對(duì)封裝了雙層VLAN頭的報(bào)文進(jìn)行轉(zhuǎn)發(fā),因此,可以通過(guò)配置使得交換機(jī)或路由器提供的與轉(zhuǎn)發(fā)VLAN報(bào)文相關(guān)的表項(xiàng)都能夠支持24位的VLAN ID。例如,可以將交換機(jī)或路由器提供的與轉(zhuǎn)發(fā)報(bào)文相關(guān)的表項(xiàng)中VLAN的有效字段均擴(kuò)展為24位,這樣就可以使得與轉(zhuǎn)發(fā)報(bào)文相關(guān)的表項(xiàng)都能夠支持24位的VLAN ID,這樣,交換機(jī)或路由器在得到第二報(bào)文后,可以實(shí)現(xiàn)對(duì)第二報(bào)文的正確轉(zhuǎn)發(fā)。
[0140]可選的,交換機(jī)或路由器所提供的與轉(zhuǎn)發(fā)VLAN報(bào)文相關(guān)的表項(xiàng)可以有多種,例如可以包括端口的VLAN配置表、二層轉(zhuǎn)發(fā)表、及訪問(wèn)控制列表(Access Control List,ACL)配置表中的至少一種,還可以包括其他可能的表。
[0141]可選的,還可以對(duì)交換機(jī)或路由器解析VLAN報(bào)文的流程進(jìn)行配置,使得交換機(jī)或路由器對(duì)VLAN報(bào)文解析流程能夠支持對(duì)雙層VLAN的解析。
[0142]例4
[0143]例3介紹了由交換機(jī)或路由器封裝報(bào)文時(shí)如何預(yù)先配置交換機(jī)或路由器、及交換機(jī)或路由器如何封裝報(bào)文的過(guò)程,那么例4就介紹由交換機(jī)或路由器封裝報(bào)文并發(fā)送報(bào)文的過(guò)程,例4以交換機(jī)為例。且例4中交換機(jī)或路由器封裝的是VM發(fā)送的報(bào)文,例4中的封裝方式只是例3中介紹的一種可能的方式,只是為了使得發(fā)送報(bào)文的過(guò)程更為完整,所以任選一種封裝方式來(lái)舉例。請(qǐng)參見(jiàn)圖7。
[0144]1、VMl將第一報(bào)文發(fā)送給交換機(jī),則交換機(jī)接收第一報(bào)文。
[0145]其中,第一報(bào)文攜帶了優(yōu)先級(jí)信息,因此VMl為第一報(bào)文打上了單層VLAN頭。第一報(bào)文要發(fā)送給數(shù)據(jù)中心網(wǎng)絡(luò)中的第二設(shè)備,例如第二設(shè)備是VM2。
[0146]可選的,若第一報(bào)文未攜帶優(yōu)先級(jí)信息,則VMl也可以不為第一報(bào)文打上單層VLAN頭。
[0147]2、交換機(jī)根據(jù)VLAN配置規(guī)則(即預(yù)先配置的VLAN設(shè)置信息)為第一報(bào)文打上外層VLAN頭,得到第二報(bào)文。
[0148]例4以交換機(jī)基于VM封裝報(bào)文為例。因第一報(bào)文攜帶優(yōu)先級(jí)信息,因此第一報(bào)文的單層VLAN頭攜帶的VLAN ID可能被VM配置為VLAN 0,則,例如交換機(jī)可以確定預(yù)先配置的發(fā)送第一報(bào)文的VMl的VLAN ID,則交換機(jī)可以將VMl的VLAN ID的高12位添加到第二報(bào)文的SVLAN中,及將VMl的VLAN ID的低12位添加到第二報(bào)文的CVLAN中,即在SVLAN中攜帶第一標(biāo)識(shí)信息,和在重新配置CVLAN,在CVLAN中攜帶第二標(biāo)識(shí)信息。
[0149]可選的,交換機(jī)還可以根據(jù)第二報(bào)文的內(nèi)層VLAN頭(即第一報(bào)文的單層VLAN頭)確定第二報(bào)文是否是優(yōu)先級(jí)報(bào)文,即判斷第二報(bào)文的內(nèi)層VLAN頭是否攜帶了優(yōu)先級(jí)信息。如果第二報(bào)文的內(nèi)層VLAN頭攜帶了優(yōu)先級(jí)信息,則執(zhí)行步驟3,否則執(zhí)行步驟4。
[0150]3、若第二報(bào)文的內(nèi)層VLAN頭攜帶了優(yōu)先級(jí)信息,則交換機(jī)將第二報(bào)文的內(nèi)層VLAN頭中攜帶的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的外層VLAN頭中,例如可以將第二報(bào)文的CVLAN中攜帶的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的SVLAN中。
[0151]因?yàn)榈诙?bào)文在傳輸?shù)倪^(guò)程中,SVLAN對(duì)于途經(jīng)的節(jié)點(diǎn)來(lái)說(shuō)是可見(jiàn)的,將優(yōu)先級(jí)信息攜帶在SVLAN里,可以使得沿途的節(jié)點(diǎn)更好地傳輸?shù)诙?bào)文,例如可以按照第二報(bào)文的優(yōu)先級(jí)信息優(yōu)先傳輸?shù)诙?bào)文等。
[0152]可選的,如果將第二報(bào)文的CVLAN中攜帶的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的SVLAN中,那么交換機(jī)還可以刪除第二報(bào)文的CVLAN中攜帶的優(yōu)先級(jí)信息,這樣可以盡量避免同樣的信息在一個(gè)報(bào)文中重復(fù)攜帶。
[0153]4、交換機(jī)檢查是否開(kāi)啟了入(ingress)過(guò)濾。如果開(kāi)啟,則執(zhí)行步驟5,如果未開(kāi)啟,則執(zhí)行步驟7。
[0?54] 5、如果開(kāi)啟了 ingress過(guò)濾,則交換機(jī)判斷第二報(bào)文的擴(kuò)展VLAN是否已經(jīng)設(shè)置到端口表中,即判斷交換機(jī)的端口表是否支持24位的VLAN ID。如果交換機(jī)的端口表不支持24位的VLAN ID,則執(zhí)行步驟6,如果交換機(jī)的端口表支持24位的VLAN ID,則執(zhí)行步驟7。
[0155]6、如果交換機(jī)的端口表不支持24位的VLAN ID,則丟棄第二報(bào)文。流程結(jié)束。
[0156]7、如果交換機(jī)的端口表支持24位的VLAN ID,交換機(jī)以第二報(bào)文的源MAC(SMAC) +第二報(bào)文的VLAN ID查找二層轉(zhuǎn)發(fā)表。若未找到二層轉(zhuǎn)發(fā)表,則執(zhí)行步驟8,如果找到,則執(zhí)行步驟9。
[0157]8、如果根據(jù)SMAC+第二報(bào)文的VLAN ID未找到二層轉(zhuǎn)發(fā)表,則交換機(jī)在二層轉(zhuǎn)發(fā)表中添加一條新的記錄,并將第二報(bào)文的SMAC、第二報(bào)文攜帶的VLAN ID和第二報(bào)文的入端口信息添加到該新的記錄中。執(zhí)行步驟9。
[0158]9、交換機(jī)繼續(xù)以目的MAC(DMAC)+第二報(bào)文的VLAN ID查找二層轉(zhuǎn)發(fā)表。如果未找到,則執(zhí)行步驟10,如果找到,則執(zhí)行步驟11。
[0159]10、如果根據(jù)DMAC+第二報(bào)文的VLAN ID未找到二層轉(zhuǎn)發(fā)表,則可以將第二報(bào)文在該交換機(jī)所有配置了與第二報(bào)文的VLAN ID相同VLAN ID的VLAN的端口上洪泛。
[0160]11、如果根據(jù)DMAC+第二報(bào)文的VLAN ID找到了二層轉(zhuǎn)發(fā)表,則按照查到的二層轉(zhuǎn)發(fā)表中的記錄進(jìn)行轉(zhuǎn)發(fā)。
[0161]可選的,第一設(shè)備可以是VM,或者也可以是交換機(jī)或路由器,那么同樣的,第二設(shè)備也可能是VM,或者也可能是交換機(jī)或路由器,S卩,若VM為報(bào)文添加外層VLAN頭,則拆除報(bào)文的外層VLAN頭的工作可以由VM完成,若交換機(jī)或路由器為報(bào)文添加外層VLAN頭,則拆除報(bào)文的外層VLAN頭的工作可以由交換機(jī)或路由器完成,或者也可以由用于控制該交換機(jī)或路由器的控制器完成。下面分別介紹。
[0162]例5
[0163]在例5中介紹由VM拆除報(bào)文的外層VLAN頭的情況。在例5中,為報(bào)文添加外層VLAN頭的可能是其他的VM。請(qǐng)參見(jiàn)圖8。
[0164]1、VM的虛擬網(wǎng)卡接收第二報(bào)文。
[0165]其中,第二報(bào)文攜帶雙層VLAN頭,為第二報(bào)文添加外層VLAN頭的可以是其他的VM,第二報(bào)文可能是另一個(gè)VM直接發(fā)過(guò)來(lái)的,或者也可能是通過(guò)交換機(jī)或路由器轉(zhuǎn)發(fā)的。
[0166]2、虛擬網(wǎng)卡將第二報(bào)文傳給虛擬網(wǎng)卡的驅(qū)動(dòng)。
[0167]3、虛擬網(wǎng)卡的驅(qū)動(dòng)首先可以判斷第二報(bào)文的SVLAN字段中是否攜帶了優(yōu)先級(jí)信息。如果攜帶了優(yōu)先級(jí)信息,則執(zhí)行步驟4,否則執(zhí)行步驟5。
[0168]4、如果第二報(bào)文攜帶了優(yōu)先級(jí)信息,則虛擬網(wǎng)卡的驅(qū)動(dòng)將第二報(bào)文的SVLAN中攜帶的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的CVLAN中用于指示優(yōu)先級(jí)信息的位置。
[0169]可選的,如果在封裝第二報(bào)文時(shí),在將第二報(bào)文攜帶在CVLAN中的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的SVLAN之后并未刪除第二報(bào)文的CVLAN中的優(yōu)先級(jí)信息,那么也可以不執(zhí)行步驟4。
[0170]5、虛擬網(wǎng)卡的驅(qū)動(dòng)去掉第二報(bào)文的外層VLAN頭。
[0171]可選的,協(xié)議棧確認(rèn)攜帶優(yōu)先級(jí)信息的報(bào)文時(shí)可能需要報(bào)文的CVLAN攜帶的VLANID部分設(shè)置為預(yù)設(shè)取值,及將報(bào)文的CVLAN攜帶的用于指示發(fā)送該報(bào)文的設(shè)備的VLAN ID的標(biāo)識(shí)的信息設(shè)置為預(yù)設(shè)信息,例如設(shè)置為VLAN O,因此,如果第二報(bào)文攜帶了優(yōu)先級(jí)信息,那么虛擬網(wǎng)卡的驅(qū)動(dòng)可以將第一報(bào)文的CVLAN攜帶的VLAN ID設(shè)置為VLAN O。
[0172]6、虛擬網(wǎng)卡的驅(qū)動(dòng)將去掉外層VLAN頭后的第二報(bào)文上送給VM的協(xié)議棧進(jìn)行處理。
[0173]例如協(xié)議??梢詫?duì)去掉外層VLAN頭后的第二報(bào)文進(jìn)行解析,從而獲取第二報(bào)文所攜帶的內(nèi)容,以將第二報(bào)文的內(nèi)容傳給VM中等待接收第二報(bào)文的應(yīng)用等。
[0174]可選的,虛擬網(wǎng)卡的驅(qū)動(dòng)也可以一并拆除第二報(bào)文的內(nèi)層VLAN頭,之后再將拆除內(nèi)層VLAN頭和外層VLAN頭后的第二報(bào)文上送給協(xié)議棧進(jìn)行處理。這里可以將去掉外層VLAN頭后的第二報(bào)文稱為第一報(bào)文,或者也可以將去掉內(nèi)層VLAN頭和外層VLAN頭后的第二報(bào)文稱為第一報(bào)文。
[0175]例6
[0176]在例6中介紹由交換機(jī)或路由器拆除報(bào)文的外層VLAN頭的情況,且以交換機(jī)為例。在例6中,為報(bào)文添加外層VLAN頭的可能是其他的交換機(jī)或路由器。請(qǐng)參見(jiàn)圖9。
[0177]1、交換機(jī)接收第二報(bào)文。
[0178]其中,第二報(bào)文攜帶雙層VLAN頭,為第二報(bào)文添加外層VLAN頭的可能是其他的交換機(jī)或路由器,第二報(bào)文可能是另一個(gè)VM發(fā)過(guò)來(lái)的,或者也可能是通過(guò)另外的交換機(jī)或路由器轉(zhuǎn)發(fā)的。
[0179]2、交換機(jī)首先可以判斷第二報(bào)文的SVLAN字段中是否攜帶了優(yōu)先級(jí)信息。如果攜帶了優(yōu)先級(jí)信息,則執(zhí)行步驟3,否則執(zhí)行步驟4。
[0180]3、如果第二報(bào)文攜帶了優(yōu)先級(jí)信息,則交換機(jī)將第二報(bào)文的SVLAN中攜帶的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的CVLAN中用于指示優(yōu)先級(jí)信息的位置。
[0181 ]可選的,如果在封裝第二報(bào)文時(shí),在將第二報(bào)文攜帶在CVLAN中的優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的SVLAN之后并未刪除第二報(bào)文的CVLAN中的優(yōu)先級(jí)信息,那么也可以不執(zhí)行步驟3。
[0182]4、交換機(jī)去掉第二報(bào)文的外層VLAN頭。
[0183]5、交換機(jī)轉(zhuǎn)發(fā)去掉外層VLAN頭后的第二報(bào)文。
[0184]例如交換機(jī)可以根據(jù)第二報(bào)文攜帶的目的地址,通過(guò)查找轉(zhuǎn)發(fā)表的方式轉(zhuǎn)發(fā)第二報(bào)文,關(guān)于交換機(jī)如何轉(zhuǎn)發(fā)攜帶單層VLAN的報(bào)文,可以參考現(xiàn)有技術(shù),此處不多贅述。
[0185]可選的,交換機(jī)也可以一并拆除第二報(bào)文的內(nèi)層VLAN頭,之后再將拆除內(nèi)層VLAN頭和外層VLAN頭后的第二報(bào)文進(jìn)行轉(zhuǎn)發(fā)。這里可以將去掉外層VLAN頭后的第二報(bào)文稱為第一報(bào)文,或者也可以將去掉內(nèi)層VLAN頭和外層VLAN頭后的第二報(bào)文稱為第一報(bào)文。
[0186]—般來(lái)說(shuō),修改協(xié)議棧的代碼比較麻煩,也比較難以實(shí)現(xiàn)。因此本發(fā)明實(shí)施例中,在配置VM時(shí),可以無(wú)需通過(guò)協(xié)議棧進(jìn)行配置,而可以直接調(diào)用VM的虛擬網(wǎng)卡的驅(qū)動(dòng)提供的配置函數(shù)配置即可。這樣,在無(wú)需修改協(xié)議棧代碼的前提下就可以完成對(duì)VM的配置,較為容易推廣應(yīng)用。
[0187]本發(fā)明實(shí)施例中,可以在VM上預(yù)先設(shè)置優(yōu)先級(jí)信息,VM在發(fā)送報(bào)文時(shí)可以為報(bào)文選擇優(yōu)先級(jí)信息,使得不同的報(bào)文都能有合適的發(fā)送方式。
[0188]本發(fā)明實(shí)施例中,為報(bào)文封裝外層VLAN頭的工作可以由VM實(shí)現(xiàn),或者也可以由交換機(jī)或路由器等設(shè)備實(shí)現(xiàn),方式較為靈活。
[0189]請(qǐng)參見(jiàn)圖10,提供第一種報(bào)文發(fā)送設(shè)備,該報(bào)文發(fā)送設(shè)備可以位于通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)中,該報(bào)文發(fā)送設(shè)備可以包括存儲(chǔ)器1001、處理器1002和發(fā)送器1003。
[0190]其中,處理器I 00 2具體可以是中央處理器(CPU)或特定應(yīng)用集成電路(Applicat1n Specific Integrated Circuit,ASIC),可以是一個(gè)或多個(gè)用于控制程序執(zhí)行的集成電路,可以是使用現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array,F(xiàn)PGA)開(kāi)發(fā)的硬件電路。
[0191]存儲(chǔ)器1001的數(shù)量可以是一個(gè)或多個(gè)。存儲(chǔ)器1001可以包括只讀存儲(chǔ)器(ReadOnly Memory,ROM)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)和磁盤(pán)存儲(chǔ)器。
[0192]發(fā)送器1003可以用于與外部設(shè)備進(jìn)行網(wǎng)絡(luò)通信。
[0193]這些存儲(chǔ)器1001和發(fā)送器1003可以通過(guò)總線1000與處理器1002相連接(圖10以此為例),或者也可以通過(guò)專(zhuān)門(mén)的連接線分別與處理器1002連接。
[0194]通過(guò)對(duì)處理器1002進(jìn)行設(shè)計(jì)編程,將前述所示的方法所對(duì)應(yīng)的代碼固化到芯片內(nèi),從而使芯片在運(yùn)行時(shí)能夠執(zhí)行前述圖4或圖6所示的方法。如何對(duì)處理器1002進(jìn)行設(shè)計(jì)編程為本領(lǐng)域技術(shù)人員所公知的技術(shù),這里不再贅述。
[0195]該實(shí)施例中的報(bào)文發(fā)送設(shè)備與上述各實(shí)施例中所述的第一設(shè)備可以是同一設(shè)備,例如,該實(shí)施例中的報(bào)文發(fā)送設(shè)備可以是如前所述的作為第一設(shè)備的物理服務(wù)器,或作為第一設(shè)備的物理服務(wù)器中運(yùn)行的VM。因此,對(duì)該實(shí)施例中的報(bào)文發(fā)送設(shè)備各個(gè)功能模塊所執(zhí)行的步驟等不多贅述,可參考如前的實(shí)施例中的描述。
[0196]請(qǐng)參見(jiàn)圖1IA,提供第二種報(bào)文發(fā)送設(shè)備,該報(bào)文發(fā)送設(shè)備可以位于通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)中,該報(bào)文發(fā)送設(shè)備可以包括VLAN模塊1101和轉(zhuǎn)發(fā)模塊1102。
[0197]例如,VLAN模塊1101和轉(zhuǎn)發(fā)模塊1102可以通過(guò)軟件方式實(shí)現(xiàn),或者也可以通過(guò)硬件方式實(shí)現(xiàn),例如VLAN模塊1101和轉(zhuǎn)發(fā)模塊1102可以均為獨(dú)立的硬件模塊,或者,VLAN模塊1101和轉(zhuǎn)發(fā)模塊1102可以是一個(gè)硬件模塊包括的兩個(gè)硬件功能模塊或軟件功能模塊,例如可以是該硬件模塊能夠完成的兩種功能,例如該硬件模塊可以是一種轉(zhuǎn)發(fā)芯片。
[0198]可選的,請(qǐng)參見(jiàn)圖1IB,該報(bào)文發(fā)送設(shè)備還可以包括處理模塊1103,處理模塊1103也同樣可以通過(guò)硬件方式實(shí)現(xiàn)或者通過(guò)軟件方式實(shí)現(xiàn)。例如,如果VLAN模塊1101和轉(zhuǎn)發(fā)模塊1102均為獨(dú)立的硬件模塊,則處理模塊1103例如可以是處理器,可以分別與VLAN模塊1101和轉(zhuǎn)發(fā)模塊1102連接,例如可以通過(guò)總線連接,或者也可以通過(guò)分別的連接線連接,圖1lB以通過(guò)分別的連接線連接為例,如果VLAN模塊1101和轉(zhuǎn)發(fā)模塊1102為轉(zhuǎn)發(fā)芯片所能夠完成的兩種功能,即為轉(zhuǎn)發(fā)芯片內(nèi)部的兩個(gè)功能模塊,則處理模塊1103可以與該轉(zhuǎn)發(fā)芯片連接。
[0199]其中,處理模塊1103可以完成對(duì)VLAN模塊1101和轉(zhuǎn)發(fā)模塊110 2的相關(guān)配置,VLAN模塊1101可以完成對(duì)報(bào)文的封裝及解析等功能,轉(zhuǎn)發(fā)模塊1102可以收發(fā)報(bào)文,若處理模塊1103為處理器,則通過(guò)對(duì)處理模塊1103和VLAN模塊1101進(jìn)行設(shè)計(jì)編程,將前述所示的方法所對(duì)應(yīng)的代碼固化到芯片內(nèi),從而使芯片在運(yùn)行時(shí)能夠執(zhí)行前述圖4或圖7所示的方法。如何對(duì)處理模塊1103和VLAN模塊1101進(jìn)行設(shè)計(jì)編程為本領(lǐng)域技術(shù)人員所公知的技術(shù),這里不再贅述。
[0200]該實(shí)施例中的報(bào)文發(fā)送設(shè)備與上述各實(shí)施例中所述的第一設(shè)備可以是同一設(shè)備,例如,該實(shí)施例中的報(bào)文發(fā)送設(shè)備可以是如前所述的作為第一設(shè)備的交換機(jī)或路由器,例如轉(zhuǎn)發(fā)模塊1102在交換機(jī)中可以稱為層2(L2)處理模塊,即用于完成二層轉(zhuǎn)發(fā)功能。因此,對(duì)該實(shí)施例中的報(bào)文發(fā)送設(shè)備各個(gè)功能模塊所執(zhí)行的步驟等不多贅述,可參考如前的實(shí)施例中的描述。
[0201]請(qǐng)參見(jiàn)圖12,提供第一種報(bào)文接收設(shè)備,該報(bào)文接收設(shè)備可以位于通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)中,該報(bào)文接收設(shè)備可以包括存儲(chǔ)器1201、處理器1202和接收器1203。
[0202]其中,處理器1202具體可以是CPU或ASIC,可以是一個(gè)或多個(gè)用于控制程序執(zhí)行的集成電路,可以是使用FPGA開(kāi)發(fā)的硬件電路。
[0203]存儲(chǔ)器1201的數(shù)量可以是一個(gè)或多個(gè)。存儲(chǔ)器1201可以包括R0M、RAM和磁盤(pán)存儲(chǔ)器。
[0204]接收器1203可以用于與外部設(shè)備進(jìn)行網(wǎng)絡(luò)通信。
[0205]這些存儲(chǔ)器1201和接收器1203可以通過(guò)總線1200與處理器1202相連接(圖10以此為例),或者也可以通過(guò)專(zhuān)門(mén)的連接線分別與處理器1202連接。
[0206]通過(guò)對(duì)處理器1202進(jìn)行設(shè)計(jì)編程,將前述所示的方法所對(duì)應(yīng)的代碼固化到芯片內(nèi),從而使芯片在運(yùn)行時(shí)能夠執(zhí)行前述圖5或圖8所示的方法。如何對(duì)處理器1202進(jìn)行設(shè)計(jì)編程為本領(lǐng)域技術(shù)人員所公知的技術(shù),這里不再贅述。
[0207]該實(shí)施例中的報(bào)文接收設(shè)備與上述各實(shí)施例中所述的第二設(shè)備可以是同一設(shè)備,例如,該實(shí)施例中的報(bào)文接收設(shè)備可以是如前所述的作為第二設(shè)備的物理服務(wù)器,或作為第一設(shè)備的物理服務(wù)器中運(yùn)行的VM。因此,對(duì)該實(shí)施例中的報(bào)文接收設(shè)備各個(gè)功能模塊所執(zhí)行的步驟等不多贅述,可參考如前的實(shí)施例中的描述。
[0208]可選的,圖12所示的報(bào)文接收設(shè)備與圖10所示的報(bào)文發(fā)送設(shè)備可以是同一設(shè)備,或者也可以是不同的設(shè)備。
[0209]請(qǐng)參見(jiàn)圖13,提供第二種報(bào)文接收設(shè)備,該報(bào)文接收設(shè)備可以位于通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)中,該報(bào)文接收設(shè)備可以包括VLAN模塊1301和轉(zhuǎn)發(fā)模塊1302。
[0210]例如,VLAN模塊1301和轉(zhuǎn)發(fā)模塊1302可以通過(guò)軟件方式實(shí)現(xiàn),或者也可以通過(guò)硬件方式實(shí)現(xiàn),例如VLAN模塊1301和轉(zhuǎn)發(fā)模塊1302可以均為獨(dú)立的硬件模塊,或者,VLAN模塊1301和轉(zhuǎn)發(fā)模塊1302可以是一個(gè)硬件模塊包括的兩個(gè)硬件功能模塊或兩個(gè)軟件功能模塊,例如可以是該硬件模塊能夠完成的兩種功能,例如該硬件模塊可以是一種轉(zhuǎn)發(fā)芯片。
[0211]其中,VLAN模塊1301可以完成對(duì)報(bào)文的封裝及解析等功能,轉(zhuǎn)發(fā)模塊1302可以收發(fā)報(bào)文,通過(guò)對(duì)VLAN模塊1101進(jìn)行設(shè)計(jì)編程,將前述所示的方法所對(duì)應(yīng)的代碼固化到芯片內(nèi),從而使芯片在運(yùn)行時(shí)能夠執(zhí)行前述圖5或圖9所示的方法。如何對(duì)VLAN模塊1301進(jìn)行設(shè)計(jì)編程為本領(lǐng)域技術(shù)人員所公知的技術(shù),這里不再贅述。
[0212]該實(shí)施例中的報(bào)文接收設(shè)備與上述各實(shí)施例中所述的第二設(shè)備可以是同一設(shè)備,例如,該實(shí)施例中的報(bào)文接收設(shè)備可以是如前所述的作為第二設(shè)備的交換機(jī)或路由器,例如轉(zhuǎn)發(fā)模塊1302在交換機(jī)中可以稱為層2處理模塊,即用于完成二層轉(zhuǎn)發(fā)功能。因此,對(duì)該實(shí)施例中的報(bào)文接收設(shè)備各個(gè)功能模塊所執(zhí)行的步驟等不多贅述,可參考如前的實(shí)施例中的描述。
[0213]可選的,圖13所示的報(bào)文接收設(shè)備與圖1lA或圖1lB所示的報(bào)文發(fā)送設(shè)備可以是同一設(shè)備,或者也可以是不同的設(shè)備。
[0214]請(qǐng)參見(jiàn)圖14,基于同一發(fā)明構(gòu)思,提供第三種報(bào)文發(fā)送設(shè)備,該報(bào)文發(fā)送設(shè)備可以位于通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)中,該報(bào)文發(fā)送設(shè)備可以包括獲取模塊1401、添加模塊1402和發(fā)送模塊1403??蛇x的,該報(bào)文發(fā)送設(shè)備還可以包括配置模塊1404,在圖14中一并示出。其中,例如配置模塊1404可以用于在獲取模塊1401獲取第一報(bào)文之前配置該報(bào)文發(fā)送設(shè)備。
[0215]在實(shí)際應(yīng)用中,獲取模塊1401、添加模塊1402和配置模塊1404對(duì)應(yīng)的實(shí)體設(shè)備可以是圖10中的處理器1002,發(fā)送模塊1403對(duì)應(yīng)的實(shí)體設(shè)備可以是圖10中的發(fā)送器1003。
[0216]該報(bào)文發(fā)送設(shè)備可以用于執(zhí)行上述圖4或圖6所述的方法,例如可以是如前所述的第一設(shè)備,例如,該實(shí)施例中的報(bào)文發(fā)送設(shè)備可以是如前所述的作為第一設(shè)備的物理服務(wù)器,或作為第一設(shè)備的物理服務(wù)器中運(yùn)行的VM。因此,對(duì)于該報(bào)文發(fā)送設(shè)備中的各單元所實(shí)現(xiàn)的功能等,可參考如前方法部分的描述,不多贅述。
[0217]請(qǐng)參見(jiàn)圖15,基于同一發(fā)明構(gòu)思,提供第三種報(bào)文接收設(shè)備,該報(bào)文接收設(shè)備可以位于通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)中,該報(bào)文接收設(shè)備可以包括接收模塊1501和拆除模塊1502。可選的,該報(bào)文接收設(shè)備還可以包括復(fù)制模塊1503和設(shè)置模塊1504,在圖15中一并示出。其中,例如復(fù)制模塊1503可以用于在拆除模塊1502拆除第二報(bào)文的外層VLAN頭之前,若第二報(bào)文的外層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則將所述優(yōu)先級(jí)信息復(fù)制到第二報(bào)文的內(nèi)層VLAN頭中,例如設(shè)置模塊1504可以用于在拆除模塊1502拆除第二報(bào)文的外層VLAN頭之后,若第二報(bào)文的外層VLAN頭攜帶了第二報(bào)文的優(yōu)先級(jí)信息,則將第二報(bào)文的內(nèi)層VLAN頭攜帶的用于指示VLAN標(biāo)識(shí)的信息重新設(shè)置為預(yù)設(shè)信息。
[0218]在實(shí)際應(yīng)用中,接收模塊1501對(duì)應(yīng)的實(shí)體設(shè)備可以是圖12中的接收器1203,拆除模塊1502、復(fù)制模塊1503和設(shè)置模塊1504對(duì)應(yīng)的實(shí)體設(shè)備可以是圖12中的處理器1202。
[0219]該報(bào)文接收設(shè)備可以用于執(zhí)行上述圖5或圖8所述的方法,例如可以是如前所述的第二設(shè)備,例如,該實(shí)施例中的報(bào)文接收設(shè)備可以是如前所述的作為第二設(shè)備的物理服務(wù)器,或作為第二設(shè)備的物理服務(wù)器中運(yùn)行的VM。因此,對(duì)于該報(bào)文接收設(shè)備中的各單元所實(shí)現(xiàn)的功能等,可參考如前方法部分的描述,不多贅述。
[0220]本發(fā)明實(shí)施例中,可以不采用VXLAN的封裝方式,而采用雙層VLAN的封裝方式,雙層VLAN—共占用24bit,通過(guò)雙層VLAN來(lái)構(gòu)成VLAN ID,也擴(kuò)展了VLAN ID的范圍,解決了VLAN不夠用的問(wèn)題。且為報(bào)文添加一層額外的外層VLAN頭,只需添加12位,相對(duì)于VXLAN中的封裝方式來(lái)說(shuō)大大節(jié)省了帶寬,對(duì)于DCN這種可能需要頻繁通信的網(wǎng)絡(luò)來(lái)說(shuō),節(jié)省了帶寬,也就在一定程度上減小了出現(xiàn)擁塞的可能性,提高了網(wǎng)絡(luò)通信的質(zhì)量。
[0221]在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的設(shè)備和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0222]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0223]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0224]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:通用串行總線閃存驅(qū)動(dòng)器(Universal Serial Bus flash drive)、移動(dòng)硬盤(pán)、R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0225]以上所述,以上實(shí)施例僅用以對(duì)本發(fā)明的技術(shù)方案進(jìn)行了詳細(xì)介紹,但以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明實(shí)施例的方法,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限制。本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明實(shí)施例揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種報(bào)文發(fā)送方法,其特征在于,包括: 通過(guò)虛擬局域網(wǎng)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備獲取待發(fā)送的第一報(bào)文; 所述第一設(shè)備為所述第一報(bào)文添加VLAN頭,得到具有雙層VLAN頭的第二報(bào)文,且所述第一設(shè)備在所述第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息;其中,所述外層VLAN頭攜帶的標(biāo)識(shí)信息和所述第二報(bào)文的內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示預(yù)先配置的VLAN標(biāo)識(shí); 所述第一設(shè)備將所述第二報(bào)文發(fā)送給所述數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備。2.如權(quán)利要求1所述的方法,其特征在于,在所述第一設(shè)備為所述第一報(bào)文添加VLAN頭之后,還包括: 若所述內(nèi)層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則所述第一設(shè)備將所述優(yōu)先級(jí)信息復(fù)制到所述外層VLAN頭中。3.如權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 若所述內(nèi)層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則所述第一設(shè)備根據(jù)所述VLAN標(biāo)識(shí),重新將所述內(nèi)層VLAN攜帶的標(biāo)識(shí)信息設(shè)置為第二標(biāo)識(shí)信息。4.如權(quán)利要求1-3任一所述的方法,其特征在于,若所述第一設(shè)備為服務(wù)器,則,在通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心內(nèi)的第一設(shè)備獲取待發(fā)送的第一報(bào)文之前,還包括: 調(diào)用所述第一設(shè)備的網(wǎng)卡的驅(qū)動(dòng)所支持的配置函數(shù)配置所述第一設(shè)備的VLAN設(shè)置信息,使得所述第一設(shè)備能夠支持?jǐn)y帶雙層VLAN頭的報(bào)文。5.如權(quán)利要求4所述的方法,其特征在于, 所述方法還包括: 所述第一設(shè)備根據(jù)預(yù)先配置的所述第一設(shè)備的VLAN標(biāo)識(shí)在所述內(nèi)層VLAN頭中攜帶第二標(biāo)識(shí)信息; 所述第一設(shè)備在所述第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息,包括: 所述第一設(shè)備根據(jù)預(yù)先配置的所述第一設(shè)備的VLAN標(biāo)識(shí)在所述外層VLAN頭中攜帶第一標(biāo)識(shí)信息; 其中,所述第一標(biāo)識(shí)信息和所述第二標(biāo)識(shí)信息用于聯(lián)合指示所述第一設(shè)備的VLAN標(biāo)識(shí)。6.如權(quán)利要求1-3任一所述的方法,其特征在于,若所述第一設(shè)備為交換機(jī),則,在通過(guò)VLAN進(jìn)行通信的數(shù)據(jù)中心內(nèi)的第一設(shè)備獲取待發(fā)送的第一報(bào)文之前,還包括: 配置所述第一設(shè)備,使得所述第一設(shè)備能夠?yàn)閳?bào)文封裝雙層VLAN頭,且使得所述第一設(shè)備提供的與轉(zhuǎn)發(fā)報(bào)文相關(guān)的表項(xiàng)能夠支持雙層VLAN頭。7.如權(quán)利要求6所述的方法,其特征在于,所述第一設(shè)備在所述第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息,包括: 所述第一設(shè)備根據(jù)預(yù)先配置的發(fā)送所述第一報(bào)文的設(shè)備的VLAN標(biāo)識(shí)在所述外層VLAN頭中攜帶所述第一標(biāo)識(shí)信息;其中,所述第一標(biāo)識(shí)信息和所述內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示發(fā)送所述第一報(bào)文的設(shè)備的VLAN標(biāo)識(shí);或 所述第一設(shè)備根據(jù)為所述第一設(shè)備接收所述第一報(bào)文的端口預(yù)先配置的VLAN標(biāo)識(shí)在所述外層VLAN頭中攜帶所述第一標(biāo)識(shí)信息;其中,所述第一標(biāo)識(shí)信息和所述內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示為所述第一設(shè)備接收所述第一報(bào)文的端口預(yù)先配置的VLAN標(biāo)識(shí);或 所述第一設(shè)備根據(jù)為所述第一報(bào)文所屬的通信協(xié)議預(yù)先配置的VLAN標(biāo)識(shí)在所述外層VLAN頭中攜帶所述第一標(biāo)識(shí)信息;其中,所述第一標(biāo)識(shí)信息和所述內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示為所述第一報(bào)文所屬的通信協(xié)議預(yù)先配置的VLAN標(biāo)識(shí)。8.如權(quán)利要求7所述的方法,其特征在于,所述第一設(shè)備將所述第二報(bào)文發(fā)送給所述數(shù)據(jù)中心內(nèi)的第二設(shè)備,包括: 所述第一設(shè)備根據(jù)所述VLAN標(biāo)識(shí)查詢轉(zhuǎn)發(fā)表項(xiàng); 若查詢到記錄了所述VLAN標(biāo)識(shí)的轉(zhuǎn)發(fā)表項(xiàng),則所述第一設(shè)備根據(jù)所述轉(zhuǎn)發(fā)表項(xiàng)記錄的目的地址轉(zhuǎn)發(fā)所述第二報(bào)文。9.一種報(bào)文接收方法,其特征在于,包括: 通過(guò)虛擬局域網(wǎng)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備接收所述數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備發(fā)送的第二報(bào)文;所述第二報(bào)文具有雙層VLAN頭; 所述第二設(shè)備拆除所述第二報(bào)文的外層VLAN頭。10.如權(quán)利要求9所述的方法,其特征在于,在所述第二設(shè)備拆除所述第二報(bào)文的外層VLAN頭之前,還包括: 若所述第二報(bào)文的外層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則所述第二設(shè)備將所述優(yōu)先級(jí)信息復(fù)制到所述第二報(bào)文的內(nèi)層VLAN頭中。11.如權(quán)利要求10所述的方法,其特征在于,在所述第二設(shè)備拆除所述第二報(bào)文的外層VLAN頭之后,還包括: 若所述第二報(bào)文的外層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則所述第二設(shè)備將所述第二報(bào)文的內(nèi)層VLAN頭攜帶的用于指示VLAN標(biāo)識(shí)的信息重新設(shè)置為預(yù)設(shè)信息;所述預(yù)設(shè)信息用于指示所述第二報(bào)文為具有優(yōu)先級(jí)信息的報(bào)文。12.—種通過(guò)虛擬局域網(wǎng)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文發(fā)送設(shè)備,其特征在于,包括: 存儲(chǔ)器,用于存儲(chǔ)指令; 處理器,用于執(zhí)行所述指令:獲取待發(fā)送的第一報(bào)文;為所述第一報(bào)文添加VLAN頭,得到具有雙層VLAN頭的第二報(bào)文,且所述第一設(shè)備在所述第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息;其中,所述外層VLAN頭攜帶的標(biāo)識(shí)信息和所述第二報(bào)文的內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示預(yù)先配置的VLAN標(biāo)識(shí); 發(fā)送器,用于將所述第二報(bào)文發(fā)送給所述數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備。13.如權(quán)利要求12所述的設(shè)備,其特征在于,所述處理器還用于: 在為所述第一報(bào)文添加VLAN頭之后,若所述內(nèi)層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則將所述優(yōu)先級(jí)信息復(fù)制到所述外層VLAN頭中。14.如權(quán)利要求13所述的設(shè)備,其特征在于,所述處理器還用于: 若所述內(nèi)層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則根據(jù)所述VLAN標(biāo)識(shí),重新將所述內(nèi)層VLAN攜帶的標(biāo)識(shí)信息設(shè)置為第二標(biāo)識(shí)信息。15.如權(quán)利要求12-14任一所述的設(shè)備,其特征在于,所述處理器還用于: 在獲取待發(fā)送的第一報(bào)文之前,調(diào)用所述設(shè)備的網(wǎng)卡的驅(qū)動(dòng)所支持的配置函數(shù)配置所述設(shè)備的VLAN設(shè)置信息,使得所述設(shè)備能夠支持?jǐn)y帶雙層VLAN頭的報(bào)文。16.如權(quán)利要求15所述的設(shè)備,其特征在于,所述處理器還用于: 根據(jù)預(yù)先配置的所述設(shè)備的VLAN標(biāo)識(shí)在所述內(nèi)層VLAN頭中攜帶第二標(biāo)識(shí)信息; 根據(jù)預(yù)先配置的所述設(shè)備的VLAN標(biāo)識(shí)在所述外層VLAN頭中攜帶第一標(biāo)識(shí)信息; 其中,所述第一標(biāo)識(shí)信息和所述第二標(biāo)識(shí)信息用于聯(lián)合指示所述設(shè)備的VLAN標(biāo)識(shí)。17.—種通過(guò)虛擬局域網(wǎng)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文發(fā)送設(shè)備,其特征在于,包括: VLAN模塊,用于獲取待發(fā)送的第一報(bào)文;為所述第一報(bào)文添加VLAN頭,得到具有雙層VLAN頭的第二報(bào)文,且所述第一設(shè)備在所述第二報(bào)文的外層VLAN頭中攜帶第一標(biāo)識(shí)信息;其中,所述外層VLAN頭攜帶的標(biāo)識(shí)信息和所述第二報(bào)文的內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示預(yù)先配置的VLAN標(biāo)識(shí); 轉(zhuǎn)發(fā)模塊,用于將所述第二報(bào)文發(fā)送給所述數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第二設(shè)備。18.如權(quán)利要求17所述的設(shè)備,其特征在于,所述VLAN模塊還用于: 在為所述第一報(bào)文添加VLAN頭之后,若所述內(nèi)層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則將所述優(yōu)先級(jí)信息復(fù)制到所述外層VLAN頭中。19.如權(quán)利要求18所述的設(shè)備,其特征在于,所述VLAN模塊還用于: 若所述內(nèi)層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則根據(jù)所述VLAN標(biāo)識(shí),重新將所述內(nèi)層VLAN攜帶的標(biāo)識(shí)信息設(shè)置為第二標(biāo)識(shí)信息。20.如權(quán)利要求17-19任一所述的設(shè)備,其特征在于,所述設(shè)備還包括處理模塊,用于: 在所述VLAN模塊獲取待發(fā)送的第一報(bào)文之前,配置所述設(shè)備,使得所述設(shè)備能夠?yàn)閳?bào)文封裝雙層VLAN頭,且使得所述設(shè)備提供的與轉(zhuǎn)發(fā)報(bào)文相關(guān)的表項(xiàng)能夠支持雙層VLAN頭。21.如權(quán)利要求20所述的設(shè)備,其特征在于,所述VLAN模塊用于: 根據(jù)預(yù)先配置的發(fā)送所述第一報(bào)文的設(shè)備的VLAN標(biāo)識(shí)在所述外層VLAN頭中攜帶所述第一標(biāo)識(shí)信息;其中,所述第一標(biāo)識(shí)信息和所述內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示發(fā)送所述第一報(bào)文的設(shè)備的VLAN標(biāo)識(shí);或 根據(jù)為所述第一設(shè)備接收所述第一報(bào)文的端口預(yù)先配置的VLAN標(biāo)識(shí)在所述外層VLAN頭中攜帶所述第一標(biāo)識(shí)信息;其中,所述第一標(biāo)識(shí)信息和所述內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示為所述設(shè)備接收所述第一報(bào)文的端口預(yù)先配置的VLAN標(biāo)識(shí);或 根據(jù)為所述第一報(bào)文所屬的通信協(xié)議預(yù)先配置的VLAN標(biāo)識(shí)在所述外層VLAN頭中攜帶所述第一標(biāo)識(shí)信息;其中,所述第一標(biāo)識(shí)信息和所述內(nèi)層VLAN頭攜帶的標(biāo)識(shí)信息用于聯(lián)合指示為所述第一報(bào)文所屬的通信協(xié)議預(yù)先配置的VLAN標(biāo)識(shí)。22.如權(quán)利要求21所述的設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)模塊用于: 根據(jù)所述VLAN標(biāo)識(shí)查詢轉(zhuǎn)發(fā)表項(xiàng); 若查詢到記錄了所述VLAN標(biāo)識(shí)的轉(zhuǎn)發(fā)表項(xiàng),則根據(jù)所述轉(zhuǎn)發(fā)表項(xiàng)記錄的目的地址轉(zhuǎn)發(fā)所述第二報(bào)文。23.—種通過(guò)虛擬局域網(wǎng)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文接收設(shè)備,其特征在于,包括: 存儲(chǔ)器,用于存儲(chǔ)指令; 接收器,用于接收所述數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備發(fā)送的第二報(bào)文;所述第二報(bào)文具有雙層VLAN頭; 處理器,用于執(zhí)行所述指令,拆除所述第二報(bào)文的外層VLAN頭。24.如權(quán)利要求23所述的設(shè)備,其特征在于,所述處理器還用于: 在拆除所述第二報(bào)文的外層VLAN頭之前,若所述第二報(bào)文的外層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則將所述優(yōu)先級(jí)信息復(fù)制到所述第二報(bào)文的內(nèi)層VLAN頭中。25.如權(quán)利要求24所述的設(shè)備,其特征在于,所述處理器還用于: 在拆除所述第二報(bào)文的外層VLAN頭之后,若所述第二報(bào)文的外層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則將所述第二報(bào)文的內(nèi)層VLAN頭攜帶的用于指示所述VLAN標(biāo)識(shí)的信息重新設(shè)置為預(yù)設(shè)信息;所述預(yù)設(shè)信息用于指示所述第二報(bào)文為具有優(yōu)先級(jí)信息的報(bào)文。26.—種通過(guò)虛擬局域網(wǎng)VLAN進(jìn)行通信的數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的報(bào)文接收設(shè)備,其特征在于,包括: 轉(zhuǎn)發(fā)模塊,用于接收所述數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第一設(shè)備發(fā)送的第二報(bào)文;所述第二報(bào)文具有雙層VLAN頭; VLAN模塊,用于拆除所述第二報(bào)文的外層VLAN頭。27.如權(quán)利要求26所述的設(shè)備,其特征在于,所述VLAN模塊還用于: 在拆除所述第二報(bào)文的外層VLAN頭之前,若所述第二報(bào)文的外層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則將所述優(yōu)先級(jí)信息復(fù)制到所述第二報(bào)文的內(nèi)層VLAN頭中。28.如權(quán)利要求27所述的設(shè)備,其特征在于,所述VLAN模塊還用于: 在拆除所述第二報(bào)文的外層VLAN頭之后,若所述第二報(bào)文的外層VLAN頭攜帶了所述第二報(bào)文的優(yōu)先級(jí)信息,則將所述第二報(bào)文的內(nèi)層VLAN頭攜帶的用于指示所述VLAN標(biāo)識(shí)的信息重新設(shè)置為預(yù)設(shè)信息;所述預(yù)設(shè)信息用于指示所述第二報(bào)文為具有優(yōu)先級(jí)信息的報(bào)文。
【文檔編號(hào)】H04L12/721GK105915427SQ201610200333
【公開(kāi)日】2016年8月31日
【申請(qǐng)日】2016年3月31日
【發(fā)明人】陳仙萍, 彭勝勇, 單會(huì)豐
【申請(qǐng)人】華為技術(shù)有限公司