一種數(shù)據(jù)發(fā)送方法及裝置的制造方法
【技術領域】
[0001 ]本申請涉及網(wǎng)絡技術領域,特別涉及一種數(shù)據(jù)發(fā)送方法及裝置。
【背景技術】
[0002]隨著網(wǎng)絡技術的迅速發(fā)展,虛擬化網(wǎng)絡技術在實際應用中得到了越來越多的應用。實際應用中,一個虛擬用戶網(wǎng)一般對應一個租戶,而一個租戶可能對應多個虛擬用戶網(wǎng)。常見的虛擬用戶網(wǎng)如VXLAN(Virtual extensible Local Area Network,虛擬可擴展局域網(wǎng)),VXLAN采用的是大二層虛擬化網(wǎng)絡技術,與VLAN相比,VXLAN引入了overlay(覆蓋)技術,能夠最大限度的滿足租戶的需求。
[0003]VXLAN引入over lay技術后,雖然能夠通過將租戶的報文疊加于運營商的網(wǎng)絡之上的方式發(fā)送數(shù)據(jù)報文,但是,正是由于租戶的報文是直接疊加于運營商的網(wǎng)絡之上的,所以,運營商無法直接從其所發(fā)送的數(shù)據(jù)中判斷出上述數(shù)據(jù)報文是屬于哪個租戶的,進而無法對租戶的流量進行監(jiān)管和統(tǒng)計。
【發(fā)明內容】
[0004]本申請實施例公開了一種數(shù)據(jù)發(fā)送方法及裝置,以使得運營商能夠確定數(shù)據(jù)報文所屬的租戶。
[0005]為達到上述目的,本申請實施例公開了一種數(shù)據(jù)發(fā)送方法,應用于網(wǎng)絡設備,所述方法包括:
[0006]確定接收到的數(shù)據(jù)報文所屬的虛擬用戶網(wǎng);
[0007]當確定所述數(shù)據(jù)報文需要通過隧道轉發(fā)時,對所述虛擬用戶網(wǎng)對應的第一標識進行計算,得到所述虛擬用戶網(wǎng)對應的第二標識,其中,所述第二標識的長度不大于互聯(lián)網(wǎng)協(xié)議IP頭中預設字段的可用長度;
[0008]對所述數(shù)據(jù)報文進行隧道封裝,其中,封裝后的數(shù)據(jù)報文的外層IP頭中的所述預設字段攜帶所述第二標識;
[0009]將所述封裝后的數(shù)據(jù)報文通過所述隧道轉發(fā)。
[0010]在本申請的一種具體實現(xiàn)方案中,所述對所述虛擬用戶網(wǎng)對應的第一標識進行計算,得到所述虛擬用戶網(wǎng)對應的第二標識,包括:
[0011]判斷所述虛擬用戶網(wǎng)對應的第一標識的長度與所述預設字段的可用長度是否滿足以下表達式:
[0012]Numh < Numf,
[0013]其中,Numh表示所述預設字段的可用比特位的位數(shù),Numf表示所述第一標識的比特位的位數(shù);
[0014]若滿足,獲得所述第一標識的比特位中低Numh位的取值,并確定所獲得的取值為所述虛擬用戶網(wǎng)對應的第二標識。
[0015]在本申請的一種具體實現(xiàn)方案中,所述對所述虛擬用戶網(wǎng)對應的第一標識進行計算,得到所述虛擬用戶網(wǎng)對應的第二標識,包括:
[0016]根據(jù)預設的哈希算法計算所述虛擬用戶網(wǎng)對應的第一標識的哈希值,其中,所述哈希值的長度不大于所述預設字段的可用長度;
[0017]將所述哈希值確定為所述虛擬用戶網(wǎng)對應的第二標識。
[0018]在本申請的一種具體實現(xiàn)方案中,所述預設字段為:IPv6頭中的流標簽FLOWLABLE字段。
[0019]在本申請的一種具體實現(xiàn)方案中,所述隧道為:VXLAN隧道或NVGRE隧道。
[0020]為達到上述目的,本申請實施例公開了一種數(shù)據(jù)發(fā)送裝置,應用于網(wǎng)絡設備,所述裝置包括:
[0021]虛擬用戶網(wǎng)確定模塊,用于確定接收到的數(shù)據(jù)報文所屬的虛擬用戶網(wǎng);
[0022]標識獲得模塊,用于當確定所述數(shù)據(jù)報文需要通過隧道轉發(fā)時,對所述虛擬用戶網(wǎng)對應的第一標識進行計算,得到所述虛擬用戶網(wǎng)對應的第二標識,其中,所述第二標識的長度不大于互聯(lián)網(wǎng)協(xié)議IP頭中預設字段的可用長度;
[0023]隧道封裝模塊,用于對所述數(shù)據(jù)報文進行隧道封裝,其中,封裝后的數(shù)據(jù)報文的外層IP頭中的所述預設字段攜帶所述第二標識;
[0024]報文轉發(fā)模塊,用于將所述封裝后的數(shù)據(jù)報文通過所述隧道轉發(fā)。
[0025]在本申請的一種具體實現(xiàn)方案中,所述標識獲得模塊,包括:
[0026]長度判斷子模塊,用于當確定所述數(shù)據(jù)報文需要通過隧道轉發(fā)時,判斷所述虛擬用戶網(wǎng)對應的第一標識的長度與所述預設字段的可用長度是否滿足以下表達式:
[0027]Numh < Numf,
[0028]其中,Numh表示所述預設字段的可用比特位的位數(shù),Numf表示所述第一標識的比特位的位數(shù);
[0029]第一標識確定子模塊,用于在所述長度判斷模塊的判斷結果為是的情況下,獲得所述第一標識的比特位中低Numh位的取值,并確定所獲得的取值為所述虛擬用戶網(wǎng)對應的第二標識。
[0030]在本申請的一種具體實現(xiàn)方案中,所述標識獲得模塊,包括:
[0031]哈希值計算子模塊,用于根據(jù)預設的哈希算法計算所述虛擬用戶網(wǎng)對應的第一標識的哈希值,其中,所述哈希值的長度不大于所述預設字段的可用長度;
[0032]第二標識確定子模塊,用于將所述哈希值確定為所述虛擬用戶網(wǎng)對應的第二標識。
[0033]在本申請的一種具體實現(xiàn)方案中,所述預設字段為:IPv6頭中的流標簽FLOWLABLE字段。
[0034]在本申請的一種具體實現(xiàn)方案中,所述隧道為:VXLAN隧道或NVGRE隧道。
[0035]由以上可見,本申請實施例提供的方案中,網(wǎng)絡設備接收到數(shù)據(jù)報文后,確定該數(shù)據(jù)報文所屬的虛擬用戶網(wǎng),并在確定該數(shù)據(jù)報文需要通過隧道轉發(fā)的情況下,對上述虛擬用戶網(wǎng)對應的第一標識進行計算,得到該虛擬用戶網(wǎng)對應的第二標識,之后對上述數(shù)據(jù)報文進行隧道封裝,將封裝后的數(shù)據(jù)報文通過上述隧道轉發(fā)。由于對上述數(shù)據(jù)報文進行隧道封裝后,封裝后的數(shù)據(jù)報文的外層IP頭中的預設字段會攜帶上述第二標識,又由于根據(jù)現(xiàn)有技術可以得知,一個虛擬用戶網(wǎng)一般是與一個租戶相對應的,所以,應用本申請實施例提供的方案發(fā)送數(shù)據(jù)時,運營商能夠根據(jù)上述第二標識確定數(shù)據(jù)報文所屬的租戶。
【附圖說明】
[0036]為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0037]圖1為本申請實施例提供的第一種數(shù)據(jù)發(fā)送方法的流程示意圖;
[0038]圖2為本申請實施例提供的第二種數(shù)據(jù)發(fā)送方法的流程示意圖;
[0039]圖3為本申請實施例提供的第三種數(shù)據(jù)發(fā)送方法的流程示意圖;
[0040]圖4為本申請實施例提供的一種應用場景的不意圖;
[0041]圖5為本申請實施例提供的第一種數(shù)據(jù)發(fā)送裝置的結構示意圖;
[0042]圖6為本申請實施例提供的第二種數(shù)據(jù)發(fā)送裝置的結構示意圖;
[0043]圖7為本申請實施例提供的第三種數(shù)據(jù)發(fā)送裝置的結構示意圖。
【具體實施方式】
[0044]下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0045]圖1為本申請實施例提供的第一種數(shù)據(jù)發(fā)送方法的流程示意圖,該方法應用于網(wǎng)絡設備。
[0046]實際應用中一個虛擬用戶網(wǎng)一般與一個租戶相對應,而一個租戶可能會對應多個虛擬機,具體的,基于虛擬用戶網(wǎng)的發(fā)送數(shù)據(jù)可以分為以下幾種情況:
[0047]第一種:同一虛擬用戶網(wǎng)內的兩個虛擬機之間發(fā)送數(shù)據(jù);
[0048]第二種:不同虛擬用戶網(wǎng)內的兩個虛擬機之間發(fā)送數(shù)據(jù);
[0049]第三種:虛擬用戶網(wǎng)內的虛擬機與互聯(lián)網(wǎng)側的用戶之間發(fā)送數(shù)據(jù)。
[0050]對于上述幾種不同的數(shù)據(jù)發(fā)送情況而言,前述網(wǎng)絡設備對應不同的執(zhí)行實體,下面首先結合本申請實施例提供的方案分情況介紹前述網(wǎng)絡設備對應的不同執(zhí)行實體:
[0051 ] 對于上述第一種情況,一個虛擬用戶網(wǎng)內的一個虛擬機VMl向該虛擬用戶網(wǎng)內的另一虛擬機VM2發(fā)送數(shù)據(jù)時,首先,VMl先把數(shù)據(jù)報文發(fā)送至該虛擬用戶網(wǎng)的隧道節(jié)點,隧道節(jié)點根據(jù)接收上述數(shù)據(jù)報文的接口信息,確定該接口關聯(lián)的虛擬用戶網(wǎng),然后隧道節(jié)點根據(jù)上述數(shù)據(jù)報文的目的MAC(Media Access Control,媒體接入控制)以及其中存儲的MAC表查找MAC轉發(fā)項等等,并在確定該數(shù)