本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸方法、裝置及系統(tǒng)。
背景技術(shù):
通用路由封裝(英文全稱:Generic Routing Encapsulation,英文簡稱:GRE)協(xié)議是一種用來將任意一種傳輸協(xié)議的數(shù)據(jù)報(bào)文封裝在另一種協(xié)議報(bào)文中的協(xié)議,根據(jù)GRE協(xié)議封裝后的數(shù)據(jù)報(bào)文在網(wǎng)絡(luò)中的傳輸路徑被稱為GRE隧道。通常情況下,GRE隧道是一個(gè)虛擬的點(diǎn)對點(diǎn)連接,在使用GRE隧道進(jìn)行報(bào)文傳輸時(shí),需要在GRE隧道入口端設(shè)備與GRE隧道出口端設(shè)備分別對數(shù)據(jù)報(bào)文進(jìn)行封裝及解封裝。其中經(jīng)過GRE隧道入口端設(shè)備封裝后的GRE報(bào)文包括凈荷報(bào)文(英文全稱:Payload packet)、GRE頭部(英文全稱:GRE header)以及傳輸協(xié)議(即網(wǎng)絡(luò)層協(xié)議)報(bào)文頭(英文全稱:Delivery header)。GRE隧道設(shè)備支持IPv4和IPv6兩種傳輸協(xié)議:當(dāng)傳輸協(xié)議為IPv4時(shí),GRE隧道稱為GRE over IPv4隧道;當(dāng)傳輸協(xié)議為IPv6時(shí),GRE隧道稱為GRE over IPv6隧道。
其中凈荷報(bào)文為需要封裝和傳輸?shù)臄?shù)據(jù)報(bào)文,凈荷報(bào)文的協(xié)議類型被稱為乘客協(xié)議(英文全稱:Passenger Protocol);GRE頭部為采用GRE協(xié)議對凈荷報(bào)文進(jìn)行封裝所添加的報(bào)文頭,包括封裝層數(shù)、版本、乘客協(xié)議類型、校驗(yàn)和信息、Key信息等內(nèi)容,添加GRE頭后的報(bào)文稱為GRE報(bào)文。對凈荷報(bào)文進(jìn)行封裝的GRE協(xié)議,稱為封裝協(xié)議(英文全稱:Encapsulation Protocol),此后還要進(jìn)行傳輸協(xié)議的封裝,即在GRE頭部上添加的傳輸協(xié)議報(bào)文頭,生成待發(fā)送的GRE報(bào)文,以便傳輸協(xié)議對凈荷報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。參見圖1為封裝后的待發(fā)送的GRE報(bào)文格式示意圖。
隨著互聯(lián)網(wǎng)技術(shù)的進(jìn)步,GRE隧道所傳輸?shù)臄?shù)據(jù)流量逐漸增大,因此在使用GRE隧道進(jìn)行數(shù)據(jù)傳輸時(shí),會在GRE隧道中設(shè)置多條鏈路,同時(shí)為了避免由于某些鏈路負(fù)擔(dān)過重而造成阻塞,通常會根據(jù)GRE報(bào)文的GRE報(bào)文頭或傳輸協(xié)議報(bào)文頭對待發(fā)送的GRE報(bào)文的傳輸路徑進(jìn)行選擇,從而將GRE隧道中的數(shù)據(jù)分流到多條鏈路上進(jìn)行傳輸。實(shí)際應(yīng)用中,GRE隧道實(shí)際上是在做一種匯聚,多條流信息進(jìn)入隧道入口端設(shè)備后,報(bào)文的源目的地址都變成相同的(即附圖1中的傳輸協(xié)議的報(bào)文頭中的源目的IP地址相同),無法進(jìn)行負(fù)載均衡。
技術(shù)實(shí)現(xiàn)要素:
本申請?zhí)峁┮环N數(shù)據(jù)傳輸方法、裝置及系統(tǒng),能夠在不對GRE報(bào)文進(jìn)行解封裝的前提下,根據(jù)凈荷報(bào)文對GRE報(bào)文進(jìn)行分流。
第一方面,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)傳輸方法,包括:獲取凈荷報(bào)文并根據(jù)凈荷報(bào)文的報(bào)文頭獲取分流信息,分流信息用于在將凈荷報(bào)文封裝為待發(fā)送的通用路由封裝GRE報(bào)文后計(jì)算待發(fā)送的GRE報(bào)文的轉(zhuǎn)發(fā)路徑;將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文,并根據(jù)分流信息計(jì)算轉(zhuǎn)發(fā)路徑后進(jìn)行報(bào)文發(fā)送。
第二方面,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)傳輸裝置,用于執(zhí)行上述第一方面中的實(shí)施例所提供的數(shù)據(jù)傳輸方法,包括:獲取模塊,用于獲取凈荷報(bào)文并根據(jù)凈荷報(bào)文的報(bào)文頭獲取分流信息,分流信息用于在將凈荷報(bào)文封裝為待發(fā)送的通用路由封裝GRE報(bào)文后計(jì)算待發(fā)送的GRE報(bào)文的轉(zhuǎn)發(fā)路徑;封裝發(fā)送模塊,用于將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文,并根據(jù)分流信息計(jì)算轉(zhuǎn)發(fā)路徑后進(jìn)行報(bào)文發(fā)送,待發(fā)送的GRE報(bào)文的GRE報(bào)文頭包括分流信息。
第三方面,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)傳輸系統(tǒng),包括上述第二方面中的實(shí)施例所提供的數(shù)據(jù)傳輸裝置和中間節(jié)點(diǎn)設(shè)備,中間節(jié)點(diǎn)設(shè)備用于接收數(shù)據(jù)傳輸裝置發(fā)送的通用路由封裝GRE報(bào)文,從GRE報(bào)文的GRE頭部中讀取分流信息,并根據(jù)分流信息轉(zhuǎn)發(fā)GRE報(bào)文。
本發(fā)明的實(shí)施例提供的一種數(shù)據(jù)傳輸方法、裝置及系統(tǒng),通過獲取凈荷報(bào)文,并在凈荷報(bào)文的報(bào)文頭中選取信息,并根據(jù)所選取的信息獲取分流信息,將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文,使發(fā)送該待發(fā)送的GRE報(bào)文的設(shè)備根據(jù)分流信息按照預(yù)設(shè)計(jì)算規(guī)則計(jì)算待發(fā)送的GRE報(bào)文在隧道中的轉(zhuǎn)發(fā)路徑,從而能夠?qū)⒊休d不同特征的凈荷報(bào)文的GRE報(bào)文在不同的路徑上進(jìn)行傳輸。因此本發(fā)明的實(shí)施例提供的數(shù)據(jù)傳輸方法能夠根據(jù)凈荷報(bào)文的特征對GRE報(bào)文進(jìn)行分流,從而實(shí)現(xiàn)了報(bào)文的負(fù)載均衡,改善了GRE隧道數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中封裝后的待發(fā)送的GRE報(bào)文示意圖;
圖2為本發(fā)明實(shí)施例所提供的一種GRE通用路由封裝隧道的示意性結(jié)構(gòu)圖;
圖3為本發(fā)明的實(shí)施例所提供的一種數(shù)據(jù)傳輸方法的示意性流程圖;
圖4為本發(fā)明的實(shí)施例所提供的一種數(shù)據(jù)傳輸裝置的示意性結(jié)構(gòu)圖;
圖5為本發(fā)明的實(shí)施例所提供的一種數(shù)據(jù)傳輸系統(tǒng)的示意性結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了便于清楚描述本發(fā)明實(shí)施例的技術(shù)方案,在本發(fā)明的實(shí)施例中,采用了“第一”、“第二”等字樣對功能和作用基本相同的相同項(xiàng)或相似項(xiàng)進(jìn)行區(qū)分,本領(lǐng)域技術(shù)人員可以理解“第一”、“第二”等字樣并不是在對數(shù)量和執(zhí)行次序進(jìn)行限定。
如附圖2所示,本發(fā)明的實(shí)施例提供了一種GRE通用路由封裝隧道201,其中GRE隧道201的一端設(shè)置有隧道入口端設(shè)備211,GRE隧道201的另一端設(shè)置有隧道出口端設(shè)備212,隧道入口端設(shè)備211與隧道出口端設(shè)備212間可以存在多條路徑,其中每條路徑中均設(shè)置有中間節(jié)點(diǎn)設(shè)備213。
如附圖3所示,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)傳輸方法,應(yīng)用于如附圖2所示的GRE隧道中的隧道入口端設(shè)備211,該數(shù)據(jù)傳輸方法包括:
301、隧道入口端設(shè)備獲取凈荷報(bào)文。
其中,凈荷報(bào)文為需要封裝和傳輸?shù)臄?shù)據(jù)報(bào)文,示例性的,凈荷報(bào)文可以為滿足網(wǎng)絡(luò)之間互連的協(xié)議(英文全稱:Internet Protocol,英文簡稱:IP)或互聯(lián)網(wǎng)數(shù)據(jù)包交換協(xié)議(英文全稱:Internet Work Packet Exchange protocol,英文簡稱:IPX)的報(bào)文。
302、隧道入口端設(shè)備根據(jù)凈荷報(bào)文獲取分流信息。
其中,分流信息用于在將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文后,計(jì)算該待發(fā)送的GRE報(bào)文在GRE隧道中的路由路徑。
具體的,隧道入口端設(shè)備可以從凈荷報(bào)文的報(bào)文頭中選取一個(gè)或多個(gè)信息,并根據(jù)該一個(gè)或多個(gè)信息獲取分流信息。具體的,分流信息可以包括分流特征值,分流特征值與凈荷報(bào)文的報(bào)文頭中的五元組信息對應(yīng)。
示例性的,隧道入口端設(shè)備可以從凈荷報(bào)文的報(bào)文頭中選取該凈荷報(bào)文的五元組信息,并根據(jù)凈荷報(bào)文的五元組信息按照預(yù)設(shè)哈希Hash算法進(jìn)行計(jì)算得到分流特征值。哈希算法規(guī)則可以為事先設(shè)置在隧道入口端設(shè)備中,也可以為隧道入口端設(shè)備從其他裝置或系統(tǒng)處獲取。
303、隧道入口端設(shè)備將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文。
隧道入口端設(shè)備對凈荷報(bào)文進(jìn)行隧道封裝后生成待發(fā)送的GRE報(bào)文,待發(fā)送的GRE報(bào)文包括凈荷報(bào)文、GRE頭部以及傳輸協(xié)議報(bào)文頭,其中凈荷報(bào)文為隧道入口端設(shè)備需要封裝和傳輸?shù)臄?shù)據(jù)報(bào)文,GRE頭部為采用GRE協(xié)議對凈荷報(bào)文進(jìn)行封裝所添加的報(bào)文頭,GRE頭部包括步驟202中獲取的分流信息。
在本步驟中,在對凈荷報(bào)文進(jìn)行GRE頭部的封裝時(shí),可以將步驟302中獲取的分流信息放入待發(fā)送的GRE報(bào)文的GRE頭部中。示例性的,將分流信息放入待發(fā)送的GRE報(bào)文的GRE頭部中的其中一個(gè)保留字段中,如Reserve 0中,其中字段Reserve 0的長度為12比特。更進(jìn)一步,也可以將分流信息放入待發(fā)送的GRE報(bào)文的GRE頭部中的兩個(gè)保留字段中,如Reserve 0與Reserve 1均設(shè)置為分流信息,其中字段Reserve 1的長度為16比特。
實(shí)際上,本發(fā)明技術(shù)人員很容易想到,在對凈荷報(bào)文進(jìn)行GRE頭部的封裝時(shí),將步驟302中獲取的分流信息放入待發(fā)送的GRE報(bào)文的GRE頭部中僅僅是一個(gè)優(yōu)選實(shí)施例,并不是解決本發(fā)明技術(shù)問題的一個(gè)必要技術(shù)特征,對于隧道入口端設(shè)備來說,只要計(jì)算得到了分流信息,就可以作為報(bào)文分流的計(jì)算依據(jù)。
304、隧道入口端設(shè)備根據(jù)分流信息計(jì)算轉(zhuǎn)發(fā)路徑后發(fā)送待發(fā)送的GRE報(bào)文。
隧道入口端設(shè)備根據(jù)分流信息發(fā)送待發(fā)送的GRE報(bào)文,可以為隧道入口端設(shè)備根據(jù)分流信息,采用預(yù)設(shè)計(jì)算規(guī)則計(jì)算待發(fā)送的GRE報(bào)文的轉(zhuǎn)發(fā)路徑,并按照計(jì)算出的該轉(zhuǎn)發(fā)路徑向隧道出口端設(shè)備發(fā)送待發(fā)送的GRE報(bào)文。
優(yōu)選的,隧道入口端設(shè)備還可以根據(jù)分流信息與待發(fā)送的GRE報(bào)文的報(bào)文頭中攜帶的其他信息按照預(yù)設(shè)計(jì)算規(guī)則計(jì)算生成路徑選取參數(shù),當(dāng)路徑選取參數(shù)相同時(shí),隧道入口端設(shè)備將路徑選取參數(shù)不相同的待發(fā)送的GRE報(bào)文分流至不同轉(zhuǎn)發(fā)路徑上進(jìn)行傳輸。示例性的,待發(fā)送的GRE報(bào)文的報(bào)文頭中攜帶的其他信息可以為待發(fā)送的GRE報(bào)文的源IP地址與待發(fā)送的GRE報(bào)文的目的IP地址。
優(yōu)選的,當(dāng)在步驟303中,隧道入口端設(shè)備將分流特征值封裝到GRE頭部的保留字段中,隧道入口端設(shè)備依據(jù)待發(fā)送的GRE報(bào)文的源IP地址、待發(fā)送的GRE報(bào)文的目的IP地址、待發(fā)送的GRE報(bào)文的GRE頭部中的協(xié)議類型和GRE頭部中的以及分流特征值,按照預(yù)設(shè)計(jì)算規(guī)則確定轉(zhuǎn)發(fā)路徑,并根據(jù)確定的轉(zhuǎn)發(fā)路徑發(fā)送待發(fā)送的GRE報(bào)文。
需要提醒說明的是,當(dāng)在步驟303中,沒有將步驟302中獲取的分流信息封裝到GRE頭部的保留字段中時(shí),隧道入口端設(shè)備依據(jù)待發(fā)送的GRE報(bào)文的源IP地址、待發(fā)送的GRE報(bào)文的目的IP地址、待發(fā)送的GRE報(bào)文的GRE頭部中的協(xié)議類型以及分流特征值,按照預(yù)設(shè)計(jì)算規(guī)則確定轉(zhuǎn)發(fā)路徑,并根據(jù)確定的轉(zhuǎn)發(fā)路徑發(fā)送待發(fā)送的GRE報(bào)文。
特別需要說明的是,具體采用何種預(yù)設(shè)計(jì)算規(guī)則計(jì)算轉(zhuǎn)發(fā)路徑,根據(jù)轉(zhuǎn)發(fā)路徑有幾條來確定,例如采用Hash算法,屬于本領(lǐng)域技術(shù)熟知的技術(shù),此處不再贅述。
本發(fā)明的實(shí)施例提供的一種數(shù)據(jù)傳輸方法,在獲取到需要通過GRE隧道轉(zhuǎn)發(fā)的凈荷報(bào)文后,在凈荷報(bào)文的報(bào)文頭中選取信息,并根據(jù)所選取的信息按照預(yù)設(shè)計(jì)算規(guī)則獲取分流信息,將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文,使發(fā)送該待發(fā)送的GRE報(bào)文的設(shè)備根據(jù)分流信息并按照預(yù)設(shè)計(jì)算規(guī)則確定待發(fā)送的GRE報(bào)文在隧道中的轉(zhuǎn)發(fā)路徑,從而能夠?qū)⒊休d不同特征的凈荷報(bào)文的待發(fā)送GRE報(bào)文在不同的轉(zhuǎn)發(fā)路徑上進(jìn)行傳輸。因此本發(fā)明的實(shí)施例提供的數(shù)據(jù)傳輸方法能夠根據(jù)凈荷報(bào)文的特征對GRE報(bào)文進(jìn)行分流,從而實(shí)現(xiàn)了報(bào)文的負(fù)載均衡,改善了GRE隧道數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
如附圖4所示,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)傳輸裝置401,用于執(zhí)行上述實(shí)施例中提供的數(shù)據(jù)傳輸方法,該數(shù)據(jù)傳輸裝置位于如附圖2所示的隧道入口端設(shè)備211,該數(shù)據(jù)傳輸裝置包括:
獲取模塊411,用于獲取凈荷報(bào)文并根據(jù)凈荷報(bào)文的報(bào)文頭獲取分流信息,分流信息用于計(jì)算將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文后該待發(fā)送的GRE報(bào)文的轉(zhuǎn)發(fā)路徑。
其中,凈荷報(bào)文為需要封裝和傳輸?shù)臄?shù)據(jù)報(bào)文,示例性的,凈荷報(bào)文可以為滿足網(wǎng)絡(luò)之間互連的協(xié)議(英文全稱:Internet Protocol,英文簡稱:IP)或互聯(lián)網(wǎng)數(shù)據(jù)包交換協(xié)議(英文全稱:Internet Work Packet Exchange protocol,英文簡稱:IPX)的報(bào)文。
其中,分流信息用于計(jì)算將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文后待發(fā)送的GRE報(bào)文的轉(zhuǎn)發(fā)路徑。
具體的,隧道入口端設(shè)備可以按照預(yù)設(shè)計(jì)算規(guī)則從凈荷報(bào)文的報(bào)文頭中選取一個(gè)或多個(gè)信息,并根據(jù)該一個(gè)或多個(gè)信息獲取分流信息。根據(jù)凈荷報(bào)文的報(bào)文頭中選取的一個(gè)或多個(gè)信息,作為將不同凈荷報(bào)文發(fā)送到不同轉(zhuǎn)發(fā)路徑的依據(jù)。
具體的,分流信息可以包括分流特征值,分流特征值與凈荷報(bào)文的五元組信息對應(yīng)。
示例性的,隧道入口端設(shè)備可以從凈荷報(bào)文的報(bào)文頭中選取該凈荷報(bào)文的五元組信息,并根據(jù)凈荷報(bào)文的五元組信息按照哈希Hash運(yùn)算產(chǎn)分流特征值。哈希算法規(guī)則可以為預(yù)先設(shè)置在該數(shù)據(jù)傳輸裝置中,也可以為該數(shù)據(jù)傳輸裝置從其他裝置或系統(tǒng)處獲取。
封裝發(fā)送模塊412,用于將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文,并根據(jù)分流信息計(jì)算轉(zhuǎn)發(fā)路徑后發(fā)送待發(fā)送的GRE報(bào)文。
封裝發(fā)送模塊412對凈荷報(bào)文進(jìn)行隧道封裝后生成的待發(fā)送的GRE報(bào)文,待發(fā)送的GRE報(bào)文包括凈荷數(shù)據(jù)、GRE頭部以及傳輸協(xié)議報(bào)文頭,其中凈荷報(bào)文為隧道入口端設(shè)備需要封裝和傳輸?shù)臄?shù)據(jù)報(bào)文,GRE頭部為采用GRE協(xié)議對凈荷報(bào)文進(jìn)行封裝所添加的報(bào)文頭。
優(yōu)選的,封裝發(fā)送模塊412在對凈荷報(bào)文進(jìn)行GRE頭部的封裝時(shí),可以將獲取模塊411獲取的分流信息放入待發(fā)送的GRE報(bào)文的GRE頭部中。示例性的,將分流信息放入待發(fā)送的GRE報(bào)文的GRE頭部中的其中一個(gè)保留字段中,如Reserve 0中,其中字段Reserve 0的長度為12比特。更進(jìn)一步,也可以將分流信息放入待發(fā)送的GRE報(bào)文的GRE頭部中的兩個(gè)保留字段中,如Reserve 0與Reserve 1均設(shè)置為分流信息,其中字段Reserve 1的長度為16比特。
封裝發(fā)送模塊412根據(jù)分流信息發(fā)送待發(fā)送的GRE報(bào)文,可以為封裝發(fā)送模塊412根據(jù)分流信息按照預(yù)設(shè)計(jì)算規(guī)則計(jì)算待發(fā)送的GRE報(bào)文的轉(zhuǎn)發(fā)路徑,并按照計(jì)算出的該轉(zhuǎn)發(fā)路徑向隧道出口端設(shè)備發(fā)送待發(fā)送的GRE報(bào)文。此時(shí)的分流信息可以是放入GRE頭部中,也可以是獲取模塊411直接獲取到的。
優(yōu)選的,封裝發(fā)送模塊412還可以根據(jù)分流信息與待發(fā)送的GRE報(bào)文的報(bào)文頭中攜帶的其他信息按照預(yù)設(shè)計(jì)算規(guī)則計(jì)算生成路徑選取參數(shù),當(dāng)選取參數(shù)相同時(shí),選取將路徑選取參數(shù)不相同的待發(fā)送的GRE報(bào)文分流至不同轉(zhuǎn)發(fā)路徑上進(jìn)行傳輸。示例性的,待發(fā)送的GRE報(bào)文的報(bào)文頭中攜帶的其他信息可以為待發(fā)送的GRE報(bào)文的源IP地址與待發(fā)送的GRE報(bào)文的目的IP地址。
優(yōu)選的,當(dāng)封裝發(fā)送模塊412將分流特征值封裝到GRE頭部的保留字段中,封裝發(fā)送模塊412依據(jù)待發(fā)送的GRE報(bào)文的源IP地址、待發(fā)送的GRE報(bào)文的目的IP地址、待發(fā)送的GRE報(bào)文的GRE頭部中的協(xié)議類型和GRE頭部中的分流特征值,按照預(yù)設(shè)計(jì)算規(guī)則確定轉(zhuǎn)發(fā)路徑,并根據(jù)確定的轉(zhuǎn)發(fā)路徑發(fā)送待發(fā)送的GRE報(bào)文。同理,此時(shí)的分流信息可以是放入GRE頭部中,也可以是獲取模塊411直接獲取到的。
需要提醒說明的是,當(dāng)封裝發(fā)送模塊412沒有將分流特征值封裝到GRE頭部的保留字段中時(shí),封裝發(fā)送模塊412依據(jù)待發(fā)送的GRE報(bào)文的源IP地址、待發(fā)送的GRE報(bào)文的目的IP地址、待發(fā)送的GRE報(bào)文的GRE頭部中的協(xié)議類型以及分流特征值,按照預(yù)設(shè)計(jì)算規(guī)則確定轉(zhuǎn)發(fā)路徑,并根據(jù)確定的轉(zhuǎn)發(fā)路徑發(fā)送待發(fā)送的GRE報(bào)文。
特別需要說明的是,具體采用何種預(yù)設(shè)計(jì)算規(guī)則計(jì)算轉(zhuǎn)發(fā)路徑,根據(jù)轉(zhuǎn)發(fā)路徑有幾條來確定,例如采用Hash算法,屬于本領(lǐng)域技術(shù)熟知的技術(shù),此處不再贅述。
本發(fā)明的實(shí)施例提供的一種數(shù)據(jù)傳輸裝置,獲取凈荷報(bào)文后,在獲取到需要通過GRE隧道轉(zhuǎn)發(fā)的凈荷報(bào)文后,按照預(yù)設(shè)計(jì)算規(guī)則在凈荷報(bào)文的報(bào)文頭中選取信息,并根據(jù)所選取的信息獲取分流信息,將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文,使發(fā)送該待發(fā)送的GRE報(bào)文的設(shè)備根據(jù)分流信息確定待發(fā)送的GRE報(bào)文在隧道中的轉(zhuǎn)發(fā)路徑,從而能夠?qū)⒊休d不同特征的凈荷報(bào)文的待發(fā)送GRE報(bào)文在不同的轉(zhuǎn)發(fā)路徑上進(jìn)行傳輸。因此本發(fā)明的實(shí)施例提供的數(shù)據(jù)傳輸裝置能夠根據(jù)凈荷報(bào)文的特征對GRE報(bào)文進(jìn)行分流,從而實(shí)現(xiàn)了報(bào)文的負(fù)載均衡,改善了GRE隧道數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
如附圖5所示,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)傳輸系統(tǒng)501,包括隧道入口端設(shè)備511與隧道出口端設(shè)備512,其中隧道入口端設(shè)備511包括上述實(shí)施例中提供的數(shù)據(jù)傳輸裝置。數(shù)據(jù)傳輸系統(tǒng)501還包括中間節(jié)點(diǎn)設(shè)備513,中間節(jié)點(diǎn)設(shè)備513設(shè)置于隧道入口端設(shè)備511與隧道出口端設(shè)備512間網(wǎng)絡(luò)中。
中間節(jié)點(diǎn)設(shè)備513,用于接收隧道入口端設(shè)備511發(fā)送的GRE報(bào)文,從GRE報(bào)文的GRE頭部中讀取分流信息,并根據(jù)分流信息轉(zhuǎn)發(fā)GRE報(bào)文。
具體的,中間節(jié)點(diǎn)設(shè)備513根據(jù)GRE報(bào)文的GRE頭部獲取分流信息,即根據(jù)收到的GRE報(bào)文讀取該GRE報(bào)文的GRE頭部,并獲取GRE頭部中所攜帶的分流特征值。
中間節(jié)點(diǎn)設(shè)備513根據(jù)分流特征值,按照預(yù)設(shè)規(guī)則計(jì)算生成路徑選取參數(shù),對GRE報(bào)文進(jìn)行分流。
進(jìn)一步的,中間節(jié)點(diǎn)設(shè)備513還可以根據(jù)GRE報(bào)文的報(bào)文頭中攜帶的其他信息、并根據(jù)分流特征值按照預(yù)設(shè)計(jì)算規(guī)則計(jì)算生成路徑選取參數(shù),當(dāng)路徑選取參數(shù)不相同時(shí),隧道入口端設(shè)備將路徑選取參數(shù)不相同的GRE報(bào)文分流至不同路徑上進(jìn)行傳輸。示例性的,GRE報(bào)文的報(bào)文頭中攜帶的其他信息可以為GRE報(bào)文的源IP地址與GRE報(bào)文的目的IP地址。
特別需要說明的是,具體采用何種預(yù)設(shè)規(guī)則計(jì)算轉(zhuǎn)發(fā)路徑,根據(jù)轉(zhuǎn)發(fā)路徑有幾條來確定,例如采用Hash算法,屬于本領(lǐng)域技術(shù)熟知的技術(shù),此處不再贅述。
本發(fā)明的實(shí)施例提供的一種數(shù)據(jù)傳輸系統(tǒng),通過獲取凈荷報(bào)文,并按照預(yù)設(shè)計(jì)算規(guī)則在凈荷報(bào)文的報(bào)文頭中選取信息,根據(jù)所選取的信息獲取分流信息,將凈荷報(bào)文封裝為待發(fā)送的GRE報(bào)文,使發(fā)送該待發(fā)送的GRE報(bào)文的GRE隧道入口端設(shè)備根據(jù)分流信息確定待發(fā)送的GRE報(bào)文在隧道中的轉(zhuǎn)發(fā)路徑,從而能夠使攜帶不同凈荷報(bào)文的GRE報(bào)文在不同的路徑上進(jìn)行傳輸。同時(shí)在系統(tǒng)中,當(dāng)GRE隧道入口端設(shè)備發(fā)送的GRE報(bào)文被轉(zhuǎn)發(fā)到中間節(jié)點(diǎn)設(shè)備后,中間節(jié)點(diǎn)設(shè)備也可以在不對GRE報(bào)文進(jìn)行解封裝的前提下,根據(jù)GRE頭部中的分流信息對GRE報(bào)文進(jìn)行分流,從而實(shí)現(xiàn)設(shè)備的負(fù)載均衡,改善了GRE隧道數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以用硬件實(shí)現(xiàn),或固件實(shí)現(xiàn),或它們的組合方式來實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時(shí),可以將上述功能存儲在計(jì)算機(jī)可讀介質(zhì)中或作為計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令或代碼進(jìn)行傳輸。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì),其中通信介質(zhì)包括便于從一個(gè)地方向另一個(gè)地方傳送計(jì)算機(jī)程序的任何介質(zhì)。存儲介質(zhì)可以是計(jì)算機(jī)能夠存取的任何可用介質(zhì)。以此為例但不限于:計(jì)算機(jī)可讀介質(zhì)可以包括隨機(jī)存儲器(英文全稱:Random Access Memory,英文簡稱:RAM)、只讀存儲器(英文全稱:Read Only Memory,英文簡稱:ROM)、電可擦可編程只讀存儲器(英文全稱:Electrically Erasable Programmable Read Only Memory,英文簡稱:EEPROM)、只讀光盤(英文全稱:Compact Disc Read Only Memory,英文簡稱:CD-ROM)或其他光盤存儲、磁盤存儲介質(zhì)或者其他磁存儲設(shè)備、或者能夠用于攜帶或存儲具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)存取的任何其他介質(zhì)。此外。任何連接可以適當(dāng)?shù)某蔀橛?jì)算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖光纜、雙絞線、數(shù)字用戶專線(英文全稱:Digital Subscriber Line,英文簡稱:DSL)或者諸如紅外線、無線電和微波之類的無線技術(shù)從網(wǎng)站、服務(wù)器或者其他遠(yuǎn)程源傳輸?shù)?,那么同軸電纜、光纖光纜、雙絞線、DSL或者諸如紅外線、無線和微波之類的無線技術(shù)包括在計(jì)算機(jī)可讀介質(zhì)的定義中。
通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,當(dāng)以軟件方式實(shí)現(xiàn)本發(fā)明時(shí),可以將用于執(zhí)行上述方法的指令或代碼存儲在計(jì)算機(jī)可讀介質(zhì)中或通過計(jì)算機(jī)可讀介質(zhì)進(jìn)行傳輸。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì),其中通信介質(zhì)包括便于從一個(gè)地方向另一個(gè)地方傳送計(jì)算機(jī)程序的任何介質(zhì)。存儲介質(zhì)可以是計(jì)算機(jī)能夠存取的任何可用介質(zhì)。以此為例但不限于:計(jì)算機(jī)可讀介質(zhì)可以包括RAM、ROM、電可擦可編程只讀存儲器(全稱:electrically erasable programmable read-only memory,簡稱:EEPROM)、光盤、磁盤或者其他磁存儲設(shè)備、或者能夠用于攜帶或存儲具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)存取的任何其他介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。