專利名稱:網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,尤其涉及一種網(wǎng)絡(luò)通信中通用路由封裝(GREGeneral Router Encapsulation)協(xié)議報(bào)文的封裝轉(zhuǎn)發(fā)方法。
在現(xiàn)有技術(shù)中,VPN通常是采用GRE協(xié)議來實(shí)現(xiàn)的,GRE協(xié)議是在協(xié)議層之間采用了一種隧道(Tunnel)技術(shù),隧道是一個(gè)虛擬的點(diǎn)對點(diǎn)的連接,可以看成是僅支持點(diǎn)對點(diǎn)連接的虛擬接口,這個(gè)接口提供了一條通路使封裝的數(shù)據(jù)報(bào)文能夠在這個(gè)通路上傳輸,并且在一個(gè)隧道的兩端分別對數(shù)據(jù)報(bào)文進(jìn)行封裝及解封裝。
目前隧道技術(shù)中所應(yīng)用的GRE協(xié)議的主要功能和技術(shù)主要有以下幾個(gè)方面可以令使用多協(xié)議的本地網(wǎng)通過單一協(xié)議的骨干網(wǎng)傳輸,如圖1所示在路由器(Router)A和B之間建立隧道,并選擇GRE協(xié)議對報(bào)文進(jìn)行封裝,這樣便使得運(yùn)行以太網(wǎng)協(xié)議(IPX)的網(wǎng)絡(luò)Group1和Group2可以進(jìn)行通信,運(yùn)行互聯(lián)網(wǎng)協(xié)議(IPInternet Protocol)的網(wǎng)絡(luò)Term1和Term2之間也可以進(jìn)行通信,且兩者之間互不影響。
擴(kuò)大了IPX網(wǎng)絡(luò)的工作范圍基于IPX數(shù)據(jù)包最多可以轉(zhuǎn)發(fā)16次,即經(jīng)過16個(gè)路由器,而在隧道技術(shù)中由于IPX報(bào)文被完整的封裝起來,只在對端才解封裝,所以在隧道兩端看上去該報(bào)文相當(dāng)于只經(jīng)過一個(gè)路由器。
將一些不能連續(xù)的子網(wǎng)連接起來,如圖2所示Group1和Group2是兩個(gè)分別在北京和上海的novell子網(wǎng),運(yùn)行IPX協(xié)議,如果需要通過Internet將Group1和Group2連接起來,則可以通過建立隧道使Group1和Group2間通過廣域網(wǎng)(WAN)網(wǎng)建立起VPN,實(shí)現(xiàn)二者間的網(wǎng)間通信。
在建立起VPN后,下一步便是GRE協(xié)議報(bào)文的封裝轉(zhuǎn)發(fā)。具體過程如下網(wǎng)絡(luò)設(shè)備的接口板接收到一個(gè)GRE協(xié)議報(bào)文后,會將GRE協(xié)議報(bào)文發(fā)到主控板,由主控板根據(jù)對應(yīng)隧道接口信息對GRE協(xié)議報(bào)文進(jìn)行封裝,封裝后的報(bào)文再發(fā)送到相應(yīng)的接口板上,由接口板轉(zhuǎn)發(fā)該報(bào)文。雖然上述的轉(zhuǎn)發(fā)方式實(shí)現(xiàn)了GRE協(xié)議報(bào)文的封裝和轉(zhuǎn)發(fā),但卻存在有如下的缺點(diǎn)
1.如果主控板上報(bào)文流量比較大,則會嚴(yán)重影響報(bào)文的轉(zhuǎn)發(fā)效率,同時(shí)也會因占用許多主控板的中央處理器(CPU)資源,而影響主控板對其他報(bào)文的處理效率。
2.GRE協(xié)議報(bào)文在網(wǎng)絡(luò)設(shè)備的主控板與接口板間轉(zhuǎn)發(fā),會大大增加因通信失敗而導(dǎo)致報(bào)文丟失的機(jī)率。
本發(fā)明的目的是這樣實(shí)現(xiàn)的;網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,包括(1)網(wǎng)絡(luò)設(shè)備中的主控板將封裝報(bào)文所需要的相關(guān)信息廣播至中接口板;(2)接口板應(yīng)用上述相關(guān)信息對報(bào)文進(jìn)行封裝;(3)將封裝的報(bào)文由接口板轉(zhuǎn)發(fā)。
所述的報(bào)文為通用路由封裝(GRE)協(xié)議報(bào)文。
所述的封裝報(bào)文所需要的相關(guān)信息為所創(chuàng)建的用于轉(zhuǎn)發(fā)GRE協(xié)議報(bào)文的隧道(Tunnel)接口的相關(guān)信息。
所述步驟(2)中的接口板應(yīng)用上述相關(guān)信息對報(bào)文進(jìn)行封裝,包括(41)接口板根據(jù)所接收的通用路封裝(GRE)協(xié)議報(bào)文中的相關(guān)信息確定相應(yīng)的Tunnel接口信息;
(42)接口板根據(jù)相應(yīng)的Tunnel接口信息對接收到GRE協(xié)議報(bào)文進(jìn)行封裝。
所述的對報(bào)文進(jìn)行封裝包括對GRE協(xié)議報(bào)文在隧道源端的加封裝過程和在隧道對端的解封裝過程。
所述的在隧道源端的加封裝過程為將隧道的源地址、目的地址和隧道標(biāo)識加至報(bào)文中。
所述的在隧道對端的解封裝過程包括(71)判斷GRE協(xié)議報(bào)文的源地址、目的地址和隧道標(biāo)識是否為該隧道的源地址、目的地址和隧道標(biāo)識,如果是,執(zhí)行步驟(72),否則,執(zhí)行步驟(73);(72)將GRE協(xié)議報(bào)文的源地址、目的地址和隧道標(biāo)識去掉;(73)丟棄該GRE協(xié)議報(bào)文。
所述的步驟(41)包括(81)接口板接收GRE協(xié)議報(bào)文;(82)獲取報(bào)GRE協(xié)議報(bào)文所承載的源地址和目的地址;(83)根據(jù)該源地址和目的地址查找并確定對應(yīng)Tunnel接口信息。
由上述技術(shù)方案可以看出,本發(fā)明采用了網(wǎng)絡(luò)設(shè)備接口板接收到GRE報(bào)文直接在接口板進(jìn)行封裝、轉(zhuǎn)發(fā),而沒有發(fā)送給主控板進(jìn)行封裝轉(zhuǎn)發(fā)的報(bào)文封裝轉(zhuǎn)發(fā)方式,省去了主控板和接口板通信這一環(huán)節(jié),減少了因通信失敗而導(dǎo)致報(bào)文丟失的可能;同時(shí),大大地提高了GRE協(xié)議報(bào)文的轉(zhuǎn)發(fā)效率,并節(jié)省了主控板的CPU資源。
圖1為隧道技術(shù)的應(yīng)用環(huán)境示意圖A;圖2為隧道技術(shù)的應(yīng)用環(huán)境示意圖B;圖3為本發(fā)明的具體實(shí)施方式
流程圖。
對于實(shí)際物理接口已經(jīng)建立了通用的數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu),該通用數(shù)據(jù)結(jié)構(gòu)忽略了各個(gè)接口之間的差異,并且采用注冊函數(shù)的方式屏蔽了鏈路層之間的差異,因此對于隧道接口也采用該通用數(shù)據(jù)結(jié)構(gòu),保證對上層協(xié)議(IP,IPX)的透明性。對于隧道接口,該通用數(shù)據(jù)結(jié)構(gòu)中存儲了通過命令行設(shè)置隧道接口的所有屬性,如隧道源地址(tunnel source)、隧道對端地址(tunnel destination)、隧道標(biāo)識(tunnel key)、封裝形式等,封裝形式目前為GRE協(xié)議封裝形式。隧道接口是否有效是通過判斷隧道對端地址的路由是否可達(dá)確定的。
上述隧道接口建立后,便可以通過該隧道接口轉(zhuǎn)發(fā)GRE協(xié)議報(bào)文,本發(fā)明提供了一種針對隧道接口的GRE協(xié)議報(bào)文的封裝轉(zhuǎn)發(fā)方法,以提高GRE協(xié)議報(bào)文的轉(zhuǎn)發(fā)效率。
本發(fā)明所述的網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法的具體實(shí)施方案敘述如下,參見圖3,包括步驟1網(wǎng)絡(luò)設(shè)備中的主控板將封裝GRE協(xié)議報(bào)文所需要的相關(guān)信息廣播至接口板,即當(dāng)創(chuàng)建隧道接口時(shí)便將隧道接口的相關(guān)信息廣播至網(wǎng)絡(luò)設(shè)備的接口板;相關(guān)信息主要包括隧道的源地址、目的地址和隧道標(biāo)識等信息,接口板對接收的GRE協(xié)議報(bào)文進(jìn)行封裝時(shí)需要用到該信息;步驟2接口板接收GRE協(xié)議報(bào)文時(shí),獲取報(bào)GRE協(xié)議報(bào)文所承載的源地址和目的地址;步驟3根據(jù)所獲取的源地址和目的地址查找并確定對應(yīng)隧道接口信息,即查找該GRE協(xié)議報(bào)文是通過哪個(gè)隧道接口向外發(fā)送;確定隧道接口信息可以將報(bào)文的源地址、目的地址與各個(gè)隧道接口信息進(jìn)行匹配,以確定該GRE協(xié)議報(bào)文轉(zhuǎn)發(fā)過程中所應(yīng)用的隧道接口。
步驟4接口板根據(jù)相應(yīng)的隧道接口信息對接收到GRE協(xié)議報(bào)文進(jìn)行封裝;所述的封裝包括對GRE協(xié)議報(bào)文在隧道源端的加封裝過程和在隧道對端的解封裝過程,其中在隧道源端的加封裝過程為將隧道的源地址、目的地址和隧道標(biāo)識加至報(bào)文中;
在隧道對端的解封裝過程包括判斷GRE協(xié)議報(bào)文的源地址、目的地址和隧道標(biāo)識是否為該隧道的源地址、目的地址和隧道標(biāo)識,以確定是否為該隧道應(yīng)該接收的報(bào)文,如果是,將GRE協(xié)議報(bào)文的源地址、目的地址和隧道標(biāo)識去掉,否則,丟棄隧道對端發(fā)來的GRE協(xié)議報(bào)文,以確保隧道的安全性;步驟5將經(jīng)過接口板封裝后的GRE協(xié)議報(bào)文由接口板找到相應(yīng)的出接口中,并轉(zhuǎn)發(fā)出去。
本發(fā)明所提供的技術(shù)實(shí)施方案中,GRE協(xié)議報(bào)文的封裝、轉(zhuǎn)發(fā)工作均由接口板完成,省去了報(bào)文在主控與接口板間轉(zhuǎn)發(fā)的通信環(huán)節(jié),提高了GRE協(xié)議報(bào)文的轉(zhuǎn)發(fā)效率,并節(jié)省了主控板的CPU資源,同時(shí),也提高了GRE協(xié)議報(bào)文轉(zhuǎn)發(fā)的成功率。
權(quán)利要求
1.一種網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,其特征在于,該方法包括(1)網(wǎng)絡(luò)設(shè)備中的主控板將封裝報(bào)文所需要的相關(guān)信息廣播至接口板;(2)接口板應(yīng)用上述相關(guān)信息對報(bào)文進(jìn)行封裝;(3)將封裝的報(bào)文由接口板轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,其特征在于步驟(1)中所述的報(bào)文為通用路由封裝(GRE)協(xié)議報(bào)文。
3.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,其特征在于步驟(1)及步驟(2)中所述的相關(guān)信息為所創(chuàng)建的用于轉(zhuǎn)發(fā)GRE協(xié)議報(bào)文的隧道(Tunnel)接口的相關(guān)信息。
4.根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,其特征在于步驟(2)所述的接口板應(yīng)用上述相關(guān)信息對報(bào)文進(jìn)行封裝,包括(41)接口板根據(jù)所接收的通用路封裝(GRE)協(xié)議報(bào)文中的相關(guān)信息確定相應(yīng)的Tunnel接口信息;(42)接口板根據(jù)相應(yīng)的Tunnel接口信息對接收到GRE協(xié)議報(bào)文進(jìn)行封裝。
5.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,其特征在于所述的對報(bào)文進(jìn)行封裝的過程包括對GRE協(xié)議報(bào)文在隧道源端的加封裝過程和在隧道對端的解封裝過程。
6.根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,其特征在于所述的在隧道源端的加封裝過程為將隧道的源地址、目的地址和隧道標(biāo)識加至報(bào)文中。
7.根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,其特征在于所述的在隧道對端的解封裝過程包括(71)判斷GRE協(xié)議報(bào)文的源地址、目的地址和隧道標(biāo)識是否為該隧道的源地址、目的地址和隧道標(biāo)識;(72)如果是,則將GRE協(xié)議報(bào)文的源地址、目的地址和隧道標(biāo)識去掉;(73)如果不是,則丟棄該GRE協(xié)議報(bào)文。
8.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,其特征在于所述步驟(41)包括(81)接口板接收GRE協(xié)議報(bào)文;(82)獲取GRE協(xié)議報(bào)文所承載的源地址和目的地址;(83)根據(jù)該源地址和目的地址查找并確定對應(yīng)Tunnel接口信息。
全文摘要
本發(fā)明涉及一種網(wǎng)絡(luò)通信中報(bào)文的封裝轉(zhuǎn)發(fā)方法,該方法包括首先,網(wǎng)絡(luò)設(shè)備中的主控板將封裝GRE協(xié)議報(bào)文所需要的隧道接口信息廣播至接口板,隧道接口信息包括隧道的源地址、目的地址和隧道標(biāo)識;然后,接口板應(yīng)用上述隧道接口信息對該GRE協(xié)議報(bào)文進(jìn)行封裝;最后,接口板將封裝的報(bào)文由接口板轉(zhuǎn)發(fā)出去。本發(fā)明由于采用了網(wǎng)絡(luò)設(shè)備接口板接收到GRE協(xié)議報(bào)文后直接在接口板進(jìn)行封裝、轉(zhuǎn)發(fā),而沒有發(fā)送給主控板進(jìn)行封裝轉(zhuǎn)發(fā)的報(bào)文封裝轉(zhuǎn)發(fā)方式,省去了主控板和接口板通信這一環(huán)節(jié),減少了因通信失敗而導(dǎo)致報(bào)文丟失的可能;同時(shí),大大地提高了GRE協(xié)議報(bào)文的轉(zhuǎn)發(fā)效率,并節(jié)省了主控板的CPU資源。
文檔編號H04Q3/00GK1412988SQ0211784
公開日2003年4月23日 申請日期2002年5月22日 優(yōu)先權(quán)日2002年5月22日
發(fā)明者陰元斌 申請人:華為技術(shù)有限公司