專(zhuān)利名稱(chēng):二層報(bào)文傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及與虛擬專(zhuān)用網(wǎng)(Virtual PrivateNetworking,簡(jiǎn)稱(chēng)“VPN”)技術(shù)相關(guān)的二層報(bào)文傳輸技術(shù)。
背景技術(shù):
隨著信息時(shí)代的到來(lái),各個(gè)企業(yè)越來(lái)越重視各種信息的處理。希望可以提供給客戶(hù)最快捷方便的信息服務(wù),通過(guò)各種方式了解客戶(hù)的需要。同時(shí)隨著企業(yè)和公司的不斷發(fā)展壯大,員工出差日趨頻繁,駐外機(jī)構(gòu)及客戶(hù)群分布日益分散,各個(gè)企業(yè)之間的合作關(guān)系也越來(lái)越多,信息交換日益頻繁,越來(lái)越多的現(xiàn)代企業(yè)迫切需要利用公共因特網(wǎng)(Internet)資源來(lái)進(jìn)行促銷(xiāo)、銷(xiāo)售、售后服務(wù)、培訓(xùn)、合作及其它咨詢(xún)活動(dòng)。而如何利用Internet進(jìn)行有效的信息管理,是企業(yè)發(fā)展中不可避免的一個(gè)關(guān)鍵問(wèn)題。
VPN便是近年來(lái)隨著Internet的廣泛應(yīng)用而迅速發(fā)展起來(lái)的一種新技術(shù),它通過(guò)在公用網(wǎng)絡(luò)上構(gòu)建私有專(zhuān)用網(wǎng)絡(luò),在遠(yuǎn)端用戶(hù)、駐外機(jī)構(gòu)、合作伙伴、供應(yīng)商與公司總部之間建立可靠的安全連接,靈活滿(mǎn)足企業(yè)的各種信息管理要求。但是VPN在應(yīng)用時(shí),會(huì)遇到由于企業(yè)的分支機(jī)構(gòu)相互間的網(wǎng)絡(luò)基礎(chǔ)設(shè)施互不兼容的問(wèn)題,通用路由封裝(Generic Routing Encapsulation,簡(jiǎn)稱(chēng)“GRE”)協(xié)議的應(yīng)用優(yōu)勢(shì)由此產(chǎn)生。
GRE協(xié)議是對(duì)類(lèi)似于網(wǎng)間互聯(lián)協(xié)議(Internet Protocol,簡(jiǎn)稱(chēng)“IP”)或者因特網(wǎng)絡(luò)分組交換(Internetwork Packet Exchange,簡(jiǎn)稱(chēng)“IPX”)的網(wǎng)絡(luò)層協(xié)議的數(shù)據(jù)報(bào)進(jìn)行封裝,使得這些被封裝數(shù)據(jù)報(bào)能夠在另一個(gè)網(wǎng)絡(luò)層協(xié)議中傳輸,這里的另一個(gè)網(wǎng)絡(luò)層協(xié)議通常指Internet廣域網(wǎng)中經(jīng)常采用的IP協(xié)議。GRE是VPN的第三層隧道協(xié)議,在協(xié)議層之間采用了一種被稱(chēng)之為隧道(Tunnel)的技術(shù)。Tunnel是一個(gè)虛擬的點(diǎn)對(duì)點(diǎn)的連接,可以看成僅支持點(diǎn)對(duì)點(diǎn)連接的虛擬接口,這個(gè)接口提供了一條通路使封裝的數(shù)據(jù)報(bào)能夠在這個(gè)通路上傳輸,并且在一個(gè)Tunnel的兩端分別對(duì)數(shù)據(jù)報(bào)進(jìn)行封裝及解封裝。下面結(jié)合圖1說(shuō)明IPX網(wǎng)絡(luò)如何通過(guò)GRE隧道互連。
圖1是中虛線(xiàn)框就表示已經(jīng)建立好的一個(gè)虛擬私有網(wǎng)1,它的兩端是內(nèi)部網(wǎng)10和內(nèi)部網(wǎng)14,這兩個(gè)內(nèi)部網(wǎng)的網(wǎng)絡(luò)層協(xié)議采用的是IPX,內(nèi)部網(wǎng)10通過(guò)路由器11與因特網(wǎng)12相連,類(lèi)似地,內(nèi)部網(wǎng)14通過(guò)路由器13與因特網(wǎng)12相連。由于因特網(wǎng)12網(wǎng)絡(luò)層協(xié)議采用的是IP協(xié)議,所以虛擬私有網(wǎng)1要能夠建立成功,必須在路由器11和路由器13之間采用GRE協(xié)議建立一個(gè)隧道15,內(nèi)部網(wǎng)10和內(nèi)部網(wǎng)14的IPX數(shù)據(jù)包通過(guò)它才可以交互。一個(gè)IPX報(bào)文要想在隧道15中傳輸,必須要經(jīng)過(guò)加封裝與解封裝兩個(gè)過(guò)程,二者一般由路由器來(lái)完成。
下面以IPX報(bào)文從內(nèi)部網(wǎng)10傳送到內(nèi)部網(wǎng)14為例說(shuō)明加封裝和解封裝的過(guò)程。在路由器11連接內(nèi)部網(wǎng)10的接口收到IPX數(shù)據(jù)報(bào)后首先交由IPX協(xié)議處理,IPX協(xié)議檢查IPX報(bào)頭中的目的地址域來(lái)確定如何路由此包。若報(bào)文的目的地址被發(fā)現(xiàn)要路由經(jīng)過(guò)網(wǎng)號(hào)為1f的網(wǎng)絡(luò),這里1f即為T(mén)unnel的虛擬網(wǎng)號(hào),則將此報(bào)文發(fā)給網(wǎng)號(hào)為1f的Tunnel端口。Tunnel口收到此包后進(jìn)行GRE封裝,封裝完成后交給IP模塊處理,封裝IP報(bào)文頭,封裝的IP報(bào)頭的目的地址為路由器13的網(wǎng)絡(luò)地址,然后根據(jù)路由表經(jīng)路由器11另一側(cè)接口轉(zhuǎn)發(fā)此封裝后的報(bào)文。封裝好的Tunnel報(bào)文如圖2所示。
Tunnel報(bào)文中,路由器收到一個(gè)需要封裝和路由的數(shù)據(jù)報(bào),稱(chēng)之為凈荷(Payload)22,這個(gè)凈荷22首先被加上GRE封裝協(xié)議報(bào)頭21,構(gòu)成為GRE報(bào)文;再被加上傳輸協(xié)議報(bào)頭20,三者就構(gòu)成了可以在新網(wǎng)絡(luò)協(xié)議層上傳送的Tunnel報(bào)文。完全可由傳輸協(xié)議報(bào)頭20代表的新網(wǎng)絡(luò)協(xié)議層負(fù)責(zé)此報(bào)文的向前傳輸(Forwarded),通常此負(fù)責(zé)向前傳輸?shù)男戮W(wǎng)絡(luò)層協(xié)議被稱(chēng)為傳輸協(xié)議(Delivery Protocol/Transport Protocol)。
結(jié)合圖1,具體的說(shuō),如果是IPX報(bào)文需要通過(guò)GRE封裝成IP報(bào)文,則格式如圖3所示。對(duì)應(yīng)于圖2中傳輸協(xié)議報(bào)頭20部分的是傳輸協(xié)議80,其中裝載的是IP報(bào)頭;運(yùn)載協(xié)議或封裝協(xié)議81中裝載的是GRE標(biāo)志,對(duì)應(yīng)圖2中GRE封裝協(xié)議頭21部分;最后的乘客協(xié)議82部分運(yùn)載的是IPX數(shù)據(jù)包,相當(dāng)于圖2中的凈荷22。
當(dāng)封裝好的Tunnel報(bào)文經(jīng)過(guò)因特網(wǎng)12到達(dá)目的路由器13時(shí),需要進(jìn)行解封裝的過(guò)程,此過(guò)程和加封裝的過(guò)程相反。路由器13從Tunnel接口收到的IP報(bào)文,通過(guò)檢查目的地址,當(dāng)發(fā)現(xiàn)目的地就是此路由器時(shí),系統(tǒng)剝掉此報(bào)文的IP報(bào)頭,交給GRE協(xié)議模塊處理,具體的說(shuō)要進(jìn)行檢驗(yàn)密鑰、檢查校驗(yàn)和及報(bào)文的序列號(hào)等處理;GRE協(xié)議模塊完成相應(yīng)的處理后,剝掉GRE報(bào)頭,再交由IPX協(xié)議模塊處理,IPX協(xié)議模塊象對(duì)待一般數(shù)據(jù)報(bào)一樣對(duì)此數(shù)據(jù)報(bào)進(jìn)行處理。最后經(jīng)路由器13與內(nèi)部網(wǎng)14相連的接口轉(zhuǎn)發(fā)進(jìn)去。
由以上的描述可以看出,從內(nèi)部網(wǎng)10發(fā)出的IPX數(shù)據(jù)報(bào)傳到內(nèi)部網(wǎng)14時(shí),絲毫沒(méi)有受到中間轉(zhuǎn)換網(wǎng)絡(luò)層協(xié)議的影響,通過(guò)隧道15連接起來(lái)的兩個(gè)內(nèi)部網(wǎng)就象一個(gè)私有專(zhuān)用內(nèi)部網(wǎng)絡(luò),這就是GRE實(shí)現(xiàn)VPN業(yè)務(wù)的一種形式。需要說(shuō)明的是,GRE的隧道不但可以攜帶第三層的IPX協(xié)議,還可以攜帶IP協(xié)議,使采用私有IP地址的內(nèi)部網(wǎng)絡(luò)之間也可以通過(guò)公網(wǎng)相連形成一個(gè)大的私有專(zhuān)用網(wǎng)絡(luò)。
目前,一種實(shí)現(xiàn)方式是直接采用GRE的技術(shù)方案,封裝第三層即網(wǎng)絡(luò)協(xié)議層的IP或者IPX報(bào)文,格式如圖3所示,VPN在第三層上實(shí)現(xiàn)。
另一種實(shí)現(xiàn)方式是,如果必須在第二層即數(shù)據(jù)鏈路層上實(shí)現(xiàn)VPN,那么必須采用層2管道協(xié)議(Layer 2 Tunneling Protocol,簡(jiǎn)稱(chēng)“L2TP”)或者多協(xié)議標(biāo)簽交換(Multiprotocol Label Switching,簡(jiǎn)稱(chēng)“MPLS”)技術(shù)。
具體的說(shuō),L2TP是一個(gè)國(guó)際標(biāo)準(zhǔn)隧道協(xié)議,它提供了對(duì)點(diǎn)到點(diǎn)協(xié)議(POINT TO POINT PROTOCOL,簡(jiǎn)稱(chēng)“PPP”)鏈路層數(shù)據(jù)包的通道(Tunnel)傳輸支持,將控制包和數(shù)據(jù)包合二為一并運(yùn)行在用戶(hù)數(shù)據(jù)報(bào)協(xié)議(UserDatagram Protocol,簡(jiǎn)稱(chēng)“UDP”)上,速度很快,允許二層鏈路端點(diǎn)和PPP會(huì)話(huà)點(diǎn)駐留在不同設(shè)備上并且采用包交換網(wǎng)絡(luò)技術(shù)進(jìn)行信息交互,從而擴(kuò)展了PPP模型,可支持其通過(guò)公網(wǎng)透?jìng)鳌?br>
基于MPLS提供二層VPN服務(wù)主要組成部分包括邊緣標(biāo)記交換路由器、標(biāo)簽分發(fā)協(xié)議(Label Distribution Protocol,簡(jiǎn)稱(chēng)“LDP”)和MPLS標(biāo)記交換隧道(LSPTunnel)。邊緣標(biāo)記交換路由器擁有并維護(hù)與其直接相連的二層透?jìng)鞯逆溌沸畔?,?fù)責(zé)將VPN客戶(hù)的普通數(shù)據(jù)包打上標(biāo)記和去除標(biāo)記,通過(guò)LDP建立的LSPTunnel連接VPN兩端的邊緣標(biāo)記交換路由器,透?jìng)骺蛻?hù)的數(shù)據(jù)包。
在實(shí)際應(yīng)用中,上述兩個(gè)方案存在以下問(wèn)題現(xiàn)有技術(shù)方案一中,客戶(hù)網(wǎng)絡(luò)設(shè)計(jì)復(fù)雜,成本高,維護(hù)難度大。具體的說(shuō),此方案只能提供第三層的VPN,而不能提供第二層的VPN。對(duì)于提供VPN業(yè)務(wù)的因特網(wǎng)服務(wù)提供商(Internet Service Provider,簡(jiǎn)稱(chēng)“ISP”)來(lái)說(shuō)參與客戶(hù)的三層運(yùn)做會(huì)增加了VPN的維護(hù)復(fù)雜程度、延長(zhǎng)了故障恢復(fù)的時(shí)間;而對(duì)于客戶(hù)來(lái)說(shuō),建立三層VPN也增加了組網(wǎng)的復(fù)雜性和成本。
現(xiàn)有技術(shù)方案二中,VPN服務(wù)的實(shí)現(xiàn)對(duì)ISP的網(wǎng)絡(luò)要求高。具體的說(shuō),L2TP只能對(duì)PPP協(xié)議進(jìn)行VPN服務(wù)。而MPLS VPN要求ISP網(wǎng)絡(luò)設(shè)備必須支持MPLS、開(kāi)通MPLS、而且要覆蓋提供VPN的地區(qū),同時(shí)滿(mǎn)足這三點(diǎn)比較困難。
造成這種情況的主要原因在于,對(duì)于現(xiàn)有技術(shù)方案一,由背景介紹可知,直接采用GRE協(xié)議只能封裝第三層的報(bào)文,傳輸?shù)谌龑拥膱?bào)文,不能傳輸?shù)诙拥膱?bào)文,這是由GRE的封裝結(jié)構(gòu)最初制定協(xié)議的目的所決定的。
對(duì)于現(xiàn)有技術(shù)方案一,L2TP也因?yàn)橹皇窃赑PP模型上進(jìn)行的擴(kuò)展,所以只支持PPP協(xié)議建立的VPN,對(duì)于目前大量采用IPX協(xié)議或者IP協(xié)議以及其他內(nèi)部網(wǎng)協(xié)議建立VPN將無(wú)能為力。而MPLS VPN雖然比較靈活,既可以建立二層VPN,也可以是三層VPN,并同時(shí)支持較多的內(nèi)部網(wǎng)協(xié)議,但是受制于MPLS網(wǎng)絡(luò)的硬件條件,必須在MPLS網(wǎng)絡(luò)設(shè)備完善的情況下才能運(yùn)行。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種二層報(bào)文傳輸方法,使得客戶(hù)網(wǎng)絡(luò)設(shè)計(jì)更加簡(jiǎn)單、成本和維護(hù)難度降低,并且對(duì)網(wǎng)絡(luò)設(shè)備的要求也相對(duì)降低。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種二層報(bào)文傳輸方法,包含以下步驟A第一網(wǎng)絡(luò)設(shè)備對(duì)需要傳輸?shù)降诙W(wǎng)絡(luò)設(shè)備的二層報(bào)文進(jìn)行GRE封裝;B對(duì)所述GRE封裝后的報(bào)文進(jìn)行IP封裝,并轉(zhuǎn)發(fā)給所述第二網(wǎng)絡(luò)設(shè)備;C所述第二網(wǎng)絡(luò)設(shè)備對(duì)收到的所述報(bào)文進(jìn)行IP解封裝;D對(duì)所述IP解封裝后的報(bào)文進(jìn)行GRE解封裝,獲取所述二層報(bào)文。
其中,所述第一和第二網(wǎng)絡(luò)設(shè)備是VPN中的路由器,并且,所述方法還包含以下步驟E所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述二層報(bào)文的目的地址,判斷該二層報(bào)文是否需要傳輸?shù)絍PN的其他站點(diǎn),如果是,則執(zhí)行所述步驟A。
所述二層報(bào)文是以太網(wǎng)報(bào)文。
所述步驟B還包含以下子步驟B1在進(jìn)行所述IP封裝時(shí),指定報(bào)文轉(zhuǎn)發(fā)優(yōu)先級(jí)。
所述步驟A中的GRE封裝在所述第一網(wǎng)絡(luò)設(shè)備的GRE協(xié)議模塊實(shí)現(xiàn);所述步驟D中的GRE解封裝在所述第二網(wǎng)絡(luò)設(shè)備的GRE協(xié)議模塊實(shí)現(xiàn)。
所述步驟D中的GRE解封裝還包含以下子步驟D1校驗(yàn)密鑰、檢查校驗(yàn)和以及報(bào)文的序列號(hào)。
通過(guò)比較可以發(fā)現(xiàn),本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)的區(qū)別在于,通過(guò)擴(kuò)展GRE協(xié)議,使得網(wǎng)絡(luò)設(shè)備可對(duì)二層報(bào)文進(jìn)行GRE封裝,生成GRE分組,再對(duì)GRE分組進(jìn)行IP封裝,并設(shè)定轉(zhuǎn)發(fā)優(yōu)先級(jí),生成可以在IP層上傳輸?shù)腎P報(bào)文,后由隧道傳輸,并在IP報(bào)文經(jīng)隧道到達(dá)目的路由器后,先剝?nèi)?bào)文的IP報(bào)文頭,再進(jìn)行GRE解封裝操作,得到初始二層報(bào)文,再由路由器的相應(yīng)端口發(fā)送出去。
這種技術(shù)方案上的區(qū)別,帶來(lái)了較為明顯的有益效果,即網(wǎng)絡(luò)設(shè)計(jì)簡(jiǎn)單了,維護(hù)更加方便,成本得到有效控制。另外,也不在需要同時(shí)滿(mǎn)足ISP網(wǎng)絡(luò)設(shè)備支持MPLS、開(kāi)通MPLS、而且要覆蓋提供VPN的地區(qū)這些對(duì)網(wǎng)絡(luò)設(shè)備的復(fù)雜的要求。
圖1是現(xiàn)有技術(shù)中IPX網(wǎng)絡(luò)通過(guò)GRE隧道互連示意圖;圖2是現(xiàn)有技術(shù)中封裝好的Tunnel報(bào)文一般格式示意圖;圖3是現(xiàn)有技術(shù)中Tunnel中傳輸IPX報(bào)文時(shí)的封裝格式示意圖;圖4是擴(kuò)展到二層的GRE協(xié)議對(duì)二層報(bào)文的封裝過(guò)程;圖5是擴(kuò)展到二層的GRE協(xié)議對(duì)二層報(bào)文的解封裝過(guò)程;圖6是一個(gè)虛擬私有網(wǎng)使用擴(kuò)展到二層GRE協(xié)議傳輸以太網(wǎng)二層報(bào)文的示意圖;
圖7是一個(gè)以太網(wǎng)的二層報(bào)文經(jīng)過(guò)GRE封裝和IP封裝后的形成的IP報(bào)文。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
總的來(lái)說(shuō),本發(fā)明的原理在于,對(duì)GRE協(xié)議進(jìn)行擴(kuò)展,使其支持對(duì)二層報(bào)文的封裝。也就是說(shuō),網(wǎng)絡(luò)設(shè)備,即路由器,可以用擴(kuò)展后的GRE協(xié)議,對(duì)需要經(jīng)隧道傳輸?shù)狡渌军c(diǎn)的二層報(bào)文進(jìn)行GRE封裝,生成GRE分組,再對(duì)GRE分組進(jìn)行IP封裝,并設(shè)定轉(zhuǎn)發(fā)優(yōu)先級(jí),生成可以在IP層上傳輸?shù)腎P報(bào)文,后由隧道傳輸;IP報(bào)文經(jīng)隧道后到達(dá)目的路由器,先剝?nèi)?bào)文的IP報(bào)文頭,再進(jìn)行GRE解封裝操作,得到初始二層報(bào)文,再由路由器的相應(yīng)端口發(fā)送出去。由此,可以進(jìn)行多種網(wǎng)絡(luò)協(xié)議的二層報(bào)文傳輸,實(shí)現(xiàn)諸如二層VPN的技術(shù),并可以簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu),降低組網(wǎng)成本和維護(hù)成本。
根據(jù)本發(fā)明的原理,需要對(duì)原來(lái)只用于第三層網(wǎng)絡(luò)的GRE協(xié)議進(jìn)行擴(kuò)展,以實(shí)現(xiàn)對(duì)二層報(bào)文的傳輸處理。熟悉本領(lǐng)域的人都應(yīng)該知道,二層報(bào)文包括以太網(wǎng)報(bào)文,虛擬局域網(wǎng)報(bào)文,即美國(guó)電氣電子工程師學(xué)會(huì)(Institute ofElectrical and Electronics Engineers,簡(jiǎn)稱(chēng)″IEEE″)802.1Q協(xié)議報(bào)文,蘋(píng)果公司開(kāi)發(fā)的AppleTalk協(xié)議二層報(bào)文以及其他網(wǎng)絡(luò)協(xié)議的二層報(bào)文等。具體來(lái)說(shuō),GRE對(duì)二層報(bào)文的傳輸處理包括封裝和解封裝兩部分,流程分別如圖4和圖5所示。
參照?qǐng)D4,GRE封裝過(guò)程包括如下步驟首先在步驟100中,網(wǎng)絡(luò)設(shè)備從其相應(yīng)的端口中接收二層報(bào)文。需要說(shuō)明的是,在本實(shí)施例中,這里的網(wǎng)絡(luò)設(shè)備是指源路由器。
接著在步驟101中,源路由器根據(jù)接收到的二層報(bào)文的目的地址判斷該報(bào)文是否需要進(jìn)行隧道轉(zhuǎn)發(fā),如果在源路由器的路由表中目的地址所在的網(wǎng)段對(duì)應(yīng)的下一跳地址是需要經(jīng)過(guò)隧道傳輸才能到達(dá),則判定為″是″,并執(zhí)行步驟102,否則執(zhí)行步驟105;在步驟105,源路由器只需按照二層報(bào)文的目的地址向本網(wǎng)段或者路由表中下一跳不需要經(jīng)過(guò)隧道的路由器發(fā)送,此后返回步驟100。
在步驟102,由源路由器的隧道端口對(duì)此報(bào)文進(jìn)行GRE封裝,在二層報(bào)文上加上GRE報(bào)文頭,形成一個(gè)GRE分組。熟悉本領(lǐng)域的技術(shù)人員知道,GRE報(bào)文頭主要包括協(xié)議類(lèi)型,即乘客協(xié)議類(lèi)型,校驗(yàn)和字段,密鑰字段,序列號(hào)字段,偏移量字段和路由字段。
在步驟102的GRE封裝后,進(jìn)入步驟103,由IP處理模塊對(duì)GRE分組進(jìn)行IP封裝,即在GRE分組上加上IP報(bào)文頭,指定報(bào)文的轉(zhuǎn)發(fā)優(yōu)先級(jí)。可見(jiàn),此步驟生成IP報(bào)文。
最后,在步驟104中,由源路由器將封裝完的IP報(bào)文從相應(yīng)的端口發(fā)送到隧道中傳輸。
上面對(duì)本發(fā)明中的GRE封裝過(guò)程進(jìn)行了描述,接下來(lái)進(jìn)一步說(shuō)明GRE解封裝過(guò)程。
如圖5所示,首先在步驟200中,IP報(bào)文通過(guò)隧道到達(dá)一個(gè)路由器,值得注意的是,這個(gè)路由器可能是一個(gè)中間路由器,不一定是最終的目的路由器,路由器根據(jù)IP報(bào)文頭中的協(xié)議類(lèi)型字段值確定此IP報(bào)文的數(shù)據(jù)部分為一個(gè)GRE分組,需要說(shuō)明的是,以IP協(xié)議作為傳輸協(xié)議對(duì)GRE協(xié)議分組進(jìn)行IP封裝時(shí),IP報(bào)文頭的協(xié)議類(lèi)型字段值為47。
接著在步驟201中,路由器檢查IP報(bào)文中的目的IP地址是否與路由器本身的IP地址一致,如果是,則說(shuō)明此路由器即為目的路由器,執(zhí)行步驟202,否則,說(shuō)明此路由器不是目的路由器,轉(zhuǎn)向步驟205。
在步驟205,路由器根據(jù)IP報(bào)文目的地址和路由表選擇路由,將報(bào)文發(fā)送到下一跳路由器中。
在步驟202中,由目的路由器的IP處理模塊對(duì)此IP報(bào)文進(jìn)行IP解封裝,去掉IP報(bào)文頭。
接著,在步驟203中,目的路由器對(duì)IP解封裝的報(bào)文進(jìn)行GRE解封裝,GRE解封裝過(guò)程在路由器的隧道端口進(jìn)行,包括密鑰字段,校驗(yàn)和字段及序列號(hào)字段的相應(yīng)檢查和處理,移去GRE報(bào)文頭,封裝到GRE分組中的二層報(bào)文被還原。
最后進(jìn)入步驟204,根據(jù)二層報(bào)文的目的地址由路由器轉(zhuǎn)發(fā)給客戶(hù)網(wǎng)絡(luò)。
上面對(duì)根據(jù)本發(fā)明的二層報(bào)文傳輸方法的過(guò)程進(jìn)行了說(shuō)明。為了更詳細(xì)地說(shuō)明擴(kuò)展到二層GRE協(xié)議的應(yīng)用,下面以一個(gè)通過(guò)因特網(wǎng)連接的兩個(gè)以太網(wǎng)而形成的虛擬私有網(wǎng)(Virtual Private Network,簡(jiǎn)稱(chēng)″VPN″)為例,介紹擴(kuò)展的GRE協(xié)議對(duì)以太網(wǎng)二層報(bào)文的封裝和解封裝處理。
如圖6所示,VPN3由分布在兩處的以太網(wǎng)30,34、路由器31,32,以及分別通過(guò)路由器31和32,與以太網(wǎng)30,34連接的因特網(wǎng)組成。路由器31,32間的虛線(xiàn)表示VPN的隧道35連接。為說(shuō)明方便,假設(shè)以太網(wǎng)30,34使用網(wǎng)絡(luò)地址為192.168.1.0和192.168.2.0,熟悉本領(lǐng)域的人都知道,這兩個(gè)地址是指私有網(wǎng)絡(luò)IP地址,使用VPN技術(shù)可以使這兩個(gè)以太網(wǎng)成為同一個(gè)網(wǎng)絡(luò),如同專(zhuān)用網(wǎng)一樣。而路由器31,33需要連接因特網(wǎng),所以其連接因特網(wǎng)的端口必須使用全球有效的IP地址,不妨設(shè)路由器31,33的有效IP地址分別為128.10.1.1和128.10.2.1。
在本實(shí)施例中,GRE協(xié)議對(duì)二層報(bào)文的處理實(shí)際上就是用擴(kuò)展的GRE協(xié)議對(duì)以太網(wǎng)報(bào)文進(jìn)行封裝,使其可以在另一個(gè)網(wǎng)絡(luò)協(xié)議層——IP層中傳輸,傳輸?shù)侥康牡睾笤賹?duì)其解封裝。下面結(jié)合圖6介紹GRE封裝和解封裝的過(guò)程。
1.封裝過(guò)程首先路由器31從連接以太網(wǎng)30的端口接收來(lái)自以太網(wǎng)30的二層報(bào)文300,并檢查報(bào)文的目的地址以決定是否需要進(jìn)行隧道轉(zhuǎn)發(fā),假設(shè)二層報(bào)文300的目的地址是192.168.1.X,需要指出的是,X表示目的地址的最后一個(gè)8位字段值,根據(jù)IP地址的規(guī)定,宿主機(jī)的IP地址各個(gè)位不能都為0或者都為1,所以X的范圍是1到254間的整數(shù)值,說(shuō)明報(bào)文目的地址在以太網(wǎng)30內(nèi),通過(guò)查找路由表可知只需直達(dá)發(fā)送;如果二層報(bào)文300的目的地址是192.168.2.Y,與X一樣,Y的取值范圍是1到254的整數(shù)值,說(shuō)明報(bào)文目的地址在以太網(wǎng)34內(nèi),通過(guò)查找路由表,報(bào)文需要通過(guò)隧道轉(zhuǎn)發(fā)。
對(duì)于需要隧道發(fā)送的報(bào)文,路由器31將報(bào)文發(fā)給路由器的隧道端口,由擴(kuò)展GRE協(xié)議模塊對(duì)二層報(bào)文300進(jìn)行GRE封裝,即在原來(lái)報(bào)文基礎(chǔ)上加上GRE報(bào)文頭,形成GRE分組。
接著,GRE分組由路由器的IP模塊進(jìn)行IP封裝,生成IP報(bào)文301,IP報(bào)文頭的IP地址應(yīng)為128.10.2.1,并需要指定IP報(bào)文轉(zhuǎn)發(fā)的優(yōu)先級(jí),后通過(guò)隧道發(fā)送IP報(bào)文301,生成的IP報(bào)文301的幀格形式如圖7所示,可見(jiàn),IP報(bào)文由IP報(bào)文頭40,GRE報(bào)文頭41和以太網(wǎng)凈荷42組成。
2.解封裝過(guò)程路由器33從連接以太網(wǎng)32的隧道端口中接收IP報(bào)文301,通過(guò)IP報(bào)文頭的協(xié)議類(lèi)型字段值判斷此并檢查報(bào)文的數(shù)據(jù)部分為GRE分組,并檢查IP報(bào)文頭的目的IP地址,如果報(bào)文的目的IP地址不是128.10.2.1,則此路由器33不是此報(bào)文的目的地,故將其轉(zhuǎn)發(fā)給下一跳路由器,如果IP報(bào)文的目的IP地址是128.10.2.1,則此路由器是此報(bào)文的目的地,需要對(duì)其進(jìn)行解封裝處理。
對(duì)于需要解封裝處理的IP報(bào)文,則由路由器33系統(tǒng)的IP處理模塊剝?nèi)テ銲P報(bào)文頭,得到GRE分組,后將GRE分組交由GRE協(xié)議模塊處理。
GRE協(xié)議模塊對(duì)GRE分組進(jìn)行檢驗(yàn)密鑰、檢查校驗(yàn)和以及報(bào)文的序列號(hào)等,去掉GRE報(bào)文頭,得到以太網(wǎng)的二層報(bào)文302,再由路由器33根據(jù)二層報(bào)文302的目的地址,通過(guò)連接以太網(wǎng)34的端口發(fā)送出去。
雖然通過(guò)參照本發(fā)明的某些優(yōu)選實(shí)施例,已經(jīng)對(duì)本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對(duì)其作各種各樣的改變,而不偏離所附權(quán)利要求書(shū)所限定的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種二層報(bào)文傳輸方法,其特征在于,包含以下步驟A第一網(wǎng)絡(luò)設(shè)備對(duì)需要傳輸?shù)降诙W(wǎng)絡(luò)設(shè)備的二層報(bào)文進(jìn)行通用路由封裝;B對(duì)所述通用路由封裝后的報(bào)文進(jìn)行IP封裝,并轉(zhuǎn)發(fā)給所述第二網(wǎng)絡(luò)設(shè)備;C所述第二網(wǎng)絡(luò)設(shè)備對(duì)收到的所述報(bào)文進(jìn)行IP解封裝;D對(duì)所述IP解封裝后的報(bào)文進(jìn)行通用路由封裝解封裝,獲取所述二層報(bào)文。
2.根據(jù)權(quán)利要求1所述的二層報(bào)文傳輸方法,其特征在于,所述第一和第二網(wǎng)絡(luò)設(shè)備是虛擬專(zhuān)用網(wǎng)中的路由器,并且,所述方法還包含以下步驟E所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述二層報(bào)文的目的地址,判斷該二層報(bào)文是否需要傳輸?shù)教摂M專(zhuān)用網(wǎng)的其他站點(diǎn),如果是,則執(zhí)行所述步驟A。
3.根據(jù)權(quán)利要求2所述的二層報(bào)文傳輸方法,其特征在于,所述二層報(bào)文是以太網(wǎng)報(bào)文。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的二層報(bào)文傳輸方法,其特征在于,所述步驟B還包含以下子步驟B1在進(jìn)行所述IP封裝時(shí),指定報(bào)文轉(zhuǎn)發(fā)優(yōu)先級(jí)。
5.根據(jù)權(quán)利要求4所述的二層報(bào)文傳輸方法,其特征在于,所述步驟A中的通用路由封裝在所述第一網(wǎng)絡(luò)設(shè)備的通用路由封裝協(xié)議模塊實(shí)現(xiàn);所述步驟D中的通用路由封裝解封裝在所述第二網(wǎng)絡(luò)設(shè)備的通用路由封裝協(xié)議模塊實(shí)現(xiàn)。
6.根據(jù)權(quán)利要求5所述的二層報(bào)文傳輸方法,其特征在于,所述步驟D中的通用路由封裝解封裝還包含以下子步驟D1校驗(yàn)密鑰、檢查校驗(yàn)和以及報(bào)文的序列號(hào)。
全文摘要
本發(fā)明涉及通信領(lǐng)域,公開(kāi)了一種二層報(bào)文傳輸方法,本方法通過(guò)對(duì)GRE協(xié)議進(jìn)行擴(kuò)展,對(duì)二層協(xié)議進(jìn)行封裝,從而提供二層報(bào)文業(yè)務(wù)。本發(fā)明的特點(diǎn)在于,擴(kuò)展GRE協(xié)議,使得網(wǎng)絡(luò)設(shè)備可對(duì)二層報(bào)文進(jìn)行GRE封裝,生成GRE分組,再對(duì)GRE分組進(jìn)行IP封裝,并設(shè)定轉(zhuǎn)發(fā)優(yōu)先級(jí),生成可以在IP層上傳輸?shù)腎P報(bào)文,后由隧道傳輸,并在IP報(bào)文經(jīng)隧道到達(dá)目的路由器后,先剝?nèi)?bào)文的IP報(bào)文頭,再進(jìn)行GRE解封裝操作,得到初始二層報(bào)文,再由路由器的相應(yīng)端口發(fā)送出去。
文檔編號(hào)H04L12/56GK1770766SQ20041009278
公開(kāi)日2006年5月10日 申請(qǐng)日期2004年11月2日 優(yōu)先權(quán)日2004年11月2日
發(fā)明者蘭保青 申請(qǐng)人:華為技術(shù)有限公司