一種用戶報文處理方法及裝置制造方法
【專利摘要】本發(fā)明提供一種用戶報文處理方法及裝置,應(yīng)用于EVI網(wǎng)絡(luò)中的邊緣設(shè)備ED上,該方法包括:在指定EVI實(shí)例中創(chuàng)建面向公共路由的II類EVI隧道以及至少一個面向VPN路由的EVI?VPN隧道;查詢用戶路由協(xié)議報文所屬VPN,若查詢命中對應(yīng)的VPN,則在該VPN內(nèi)進(jìn)行路由學(xué)習(xí),否則在公共域內(nèi)進(jìn)行路由學(xué)習(xí);在對用戶數(shù)據(jù)報文進(jìn)行IP轉(zhuǎn)發(fā)時,查詢該用戶數(shù)據(jù)報文所屬的VPN,若查詢命中對應(yīng)的VPN,則根據(jù)該VPN路由轉(zhuǎn)發(fā)表對用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā),否則根據(jù)公共路由轉(zhuǎn)發(fā)表對該用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā)。本發(fā)明允許用戶在自身的私有網(wǎng)絡(luò)內(nèi)進(jìn)行更為靈活的規(guī)劃,用戶可以構(gòu)建出不同的IP網(wǎng)絡(luò)來滿足自身的需求。
【專利說明】一種用戶報文處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種用戶報文處理方法及裝置。
【背景技術(shù)】
[0002]為了實(shí)現(xiàn)高可靠性和實(shí)現(xiàn)冗余部署,當(dāng)今大多數(shù)企業(yè)網(wǎng)絡(luò)及其數(shù)據(jù)中心跨越了多個位于不同地理位置的物理站點(diǎn)。企業(yè)可能在這些站點(diǎn)部署類似的業(yè)務(wù)服務(wù)。比如說同一個用戶昨日在廣東訪問微博,今天在黑龍江訪問微博,其獲得的服務(wù)體驗(yàn)是一樣的,但是實(shí)際上兩次為用戶服務(wù)的服務(wù)器卻可能分布在不同的位置。
[0003]虛擬化的技術(shù)出現(xiàn),允許數(shù)據(jù)中心中的虛擬機(jī)在不同的物理服務(wù)器上進(jìn)行遷移。然而由于虛擬機(jī)遷移過程需要對用戶透明,因此不能改變IP地址,這需要遷移必須局限在二層網(wǎng)絡(luò)內(nèi)。此時若需要將一個虛擬機(jī)從而一個物理站點(diǎn)遷移到另一個物理站點(diǎn),則需要在這兩個物理站點(diǎn)上實(shí)現(xiàn)二層互通。目前各種二層VPN技術(shù)可以將跨越公網(wǎng)(通常是運(yùn)營商網(wǎng)絡(luò))實(shí)現(xiàn)兩個物理站點(diǎn)之間的二層互通。EVI (Ethernet Virtual Interconnection)技術(shù)是一種面向數(shù)據(jù)中心不同站點(diǎn)二層互通的技術(shù),它是一種“MAC in IP”的隧道技術(shù);該技術(shù)最大的特點(diǎn)是對運(yùn)營商網(wǎng)絡(luò)以及企業(yè)用戶網(wǎng)絡(luò)都不需要做變化,僅僅需要改變邊緣設(shè)備(Edge Device)即可實(shí)現(xiàn)VLAN在不同站點(diǎn)間的擴(kuò)展功能,這些擴(kuò)充的VLAN上構(gòu)成獨(dú)立的EVI網(wǎng)絡(luò)實(shí)例,EVI實(shí)例使用Network ID來標(biāo)識,全局統(tǒng)一編號,某個設(shè)備上不同EVI網(wǎng)絡(luò)實(shí)例的VLAN內(nèi)轉(zhuǎn)發(fā)相互隔離。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種用戶報文處理裝置,應(yīng)用于以太網(wǎng)虛擬互聯(lián)EVI網(wǎng)絡(luò)中的邊緣設(shè)備ED上,該ED通過公網(wǎng)與其他ED建立EVI實(shí)例,其中該裝置包括:控制管理單元、路由學(xué)習(xí)單元以及報文轉(zhuǎn)發(fā)單元,其中:
[0005]控制管理單元,用于在指定EVI實(shí)例中創(chuàng)建面向公共路由的II類EVI隧道以及至少一個面向VPN路由的EVI VPN隧道;
[0006]路由學(xué)習(xí)單元,用于查詢用戶路由協(xié)議報文所屬VPN,若查詢命中對應(yīng)的VPN,則在該VPN內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新該VPN路由轉(zhuǎn)發(fā)表,否則在公共域內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新公共路由轉(zhuǎn)發(fā)表;
[0007]報文轉(zhuǎn)發(fā)單元,用于在對用戶數(shù)據(jù)報文進(jìn)行IP轉(zhuǎn)發(fā)時,查詢該用戶數(shù)據(jù)報文所屬的VPN,若查詢命中對應(yīng)的VPN,則根據(jù)該VPN的路由轉(zhuǎn)發(fā)表對用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā),否則根據(jù)公共路由轉(zhuǎn)發(fā)表對該用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā)。
[0008]本發(fā)明還提供一種用戶報文處理方法,應(yīng)用于EVI網(wǎng)絡(luò)中的邊緣設(shè)備ED上,該ED用于通過公網(wǎng)與其他ED建立EVI實(shí)例,該方法包括如下步驟:
[0009]步驟A、在指定EVI實(shí)例中創(chuàng)建面向公共路由的II類EVI隧道以及至少一個面向VPN路由的EVI VPN隧道;
[0010]步驟B、查詢用戶路由協(xié)議報文所屬VPN,若查詢命中對應(yīng)的VPN,則在該VPN內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新該VPN路由轉(zhuǎn)發(fā)表,否則在公共域內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新公共路由轉(zhuǎn)發(fā)表;
[0011]步驟C、在對用戶數(shù)據(jù)報文進(jìn)行IP轉(zhuǎn)發(fā)時,查詢該用戶數(shù)據(jù)報文所屬的VPN,若查詢命中對應(yīng)的VPN,則根據(jù)該VPN路由轉(zhuǎn)發(fā)表對用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā),否則根據(jù)公共路由轉(zhuǎn)發(fā)表對該用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā)。
[0012]相較于現(xiàn)有技術(shù)而言,本發(fā)明允許用戶在自身的私有網(wǎng)絡(luò)內(nèi)進(jìn)行更為靈活的規(guī)劃,用戶可以構(gòu)建出不同的IP網(wǎng)絡(luò)來滿足自身的需求。
【專利附圖】
【附圖說明】
[0013]圖1是一種典型的EVI組網(wǎng)示意圖;
[0014]圖2是本發(fā)明一種實(shí)施方式中用戶報文處理裝置的邏輯結(jié)構(gòu)及基本運(yùn)行硬件環(huán)境示意圖;
[0015]圖3是本發(fā)明一種實(shí)施方式中用戶報文處理的流程示意圖;
[0016]圖4是本發(fā)明一種實(shí)施方式中EVI組網(wǎng)示意圖;
[0017]圖5是本發(fā)明一種實(shí)施方式中用戶數(shù)據(jù)報文轉(zhuǎn)發(fā)決策過程示意圖。
【具體實(shí)施方式】
[0018]EVI網(wǎng)絡(luò)中ED設(shè)備可以將用戶網(wǎng)絡(luò)中的二層報文作為載荷封裝到一個IP報文內(nèi)部,這樣IP報文經(jīng)過IP網(wǎng)絡(luò)傳輸?shù)竭_(dá)另一個物理站點(diǎn)的時候,可以從IP報文中獲得二層報文,從而實(shí)現(xiàn)邏輯意義上的二層互通。事實(shí)上用戶在自身網(wǎng)絡(luò)中可能會規(guī)劃出很多的二層網(wǎng)絡(luò),這些二層網(wǎng)絡(luò)是依靠VLAN來進(jìn)行區(qū)分的,不同VLAN之間不能二層互通,但可以在用戶網(wǎng)絡(luò)內(nèi)實(shí)現(xiàn)三層互通。為了實(shí)現(xiàn)三層互通,EVI技術(shù)還可以支持用戶使用ED作為用戶接入設(shè)備的網(wǎng)關(guān),包括目前已有的單網(wǎng)關(guān)方式和多網(wǎng)關(guān)方式。
[0019]請參考圖1所示,當(dāng)ED作為網(wǎng)關(guān)設(shè)備時,不同物理站點(diǎn)之間的IP轉(zhuǎn)發(fā)是通過ED網(wǎng)關(guān)來實(shí)現(xiàn)的。站點(diǎn)I中的主機(jī)HostlI屬于VLAN 30范圍內(nèi)的主機(jī),主機(jī)Host21屬于VLAN40范圍的主機(jī)。當(dāng)兩個主機(jī)相互訪問時,HostlI發(fā)出的用戶報文在EDl上進(jìn)行處理時,EDl首先去掉二層封裝得到用戶IP報文,將該用戶IP報文封裝EVI隧道(比如GRE隧道)后進(jìn)入公網(wǎng),此時隧道報文可以理解為一個“IP in IP”(或者說IP over IP)在公網(wǎng)上IP交換到對端ED2設(shè)備,ED2設(shè)備彈掉EVI隧道的GRE分裝然后在IP域內(nèi)對用戶IP報文進(jìn)行IP轉(zhuǎn)發(fā),最終實(shí)現(xiàn)報文轉(zhuǎn)發(fā)給Host21。
[0020]對于一個企業(yè)用戶來說,如果站點(diǎn)I和站點(diǎn)2中都運(yùn)營不同的兩種業(yè)務(wù),比如社交服務(wù)以及在線游戲這兩種不同的業(yè)務(wù),企業(yè)則可能希望這兩種業(yè)務(wù)之間是相互隔離的,同時又希望站點(diǎn)I和站點(diǎn)2之間相同的業(yè)務(wù)能夠在同一個用戶IP網(wǎng)絡(luò)內(nèi),也就是說,用戶希望能在兩個站點(diǎn)之間構(gòu)建出兩張不同的用戶IP網(wǎng)絡(luò),分別對應(yīng)到社交服務(wù)以及在線游戲這兩種不同的業(yè)務(wù),目前的EVI技術(shù)無法支持這種合理用戶需求。
[0021]本發(fā)明提出一種EVI解決方案來支持用戶對網(wǎng)絡(luò)規(guī)劃靈活性的需求。以軟件實(shí)現(xiàn)為例,在一種優(yōu)選的實(shí)施方式,本發(fā)明提供一種可應(yīng)用于EVI網(wǎng)絡(luò)邊緣設(shè)備ED上的用戶報文處理裝置。本發(fā)明并不排除硬件或者軟硬件結(jié)合的實(shí)施方式。請參考圖2所示,所述用戶報文處理裝置作為一個邏輯意義上的裝置,其是通過ED設(shè)備的CPU將非易失性存儲其中對應(yīng)的計算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,除了 CPU、內(nèi)存以及非易失性存儲器之外,該設(shè)備通常還包括一些負(fù)責(zé)處理報文處理的硬件,比如轉(zhuǎn)發(fā)芯片等等;從硬件結(jié)構(gòu)上來講該ED設(shè)備還可能是分布式的設(shè)備,其可能包括多個接口卡以在硬件層面進(jìn)行報文處理的擴(kuò)展。
[0022]請參考圖2,所述用戶報文處理裝置包括控制管理單元、路由學(xué)習(xí)單元以及報文轉(zhuǎn)發(fā)單元,在本實(shí)施方式中各個單元是邏輯意義上的,可以理解為一個Logic或者說一段程序指令。請參考圖3,在一個基本的實(shí)施方式中,整個裝置在業(yè)務(wù)配置以及業(yè)務(wù)運(yùn)行過程中執(zhí)行如下處理步驟。
[0023]步驟101,控制管理單元在指定EVI實(shí)例中創(chuàng)建面向公共路由的II類EVI隧道以及至少一個面向VPN路由的EVI VPN隧道;
[0024]所述的指定EVI實(shí)例可以是管理員通過控制終端或配置文件等方式配置的指定EVI實(shí)例。
[0025]步驟102,路由學(xué)習(xí)單元查詢用戶路由協(xié)議報文所屬VPN,若查詢命中對應(yīng)的VPN,則在該VPN內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新該VPN路由轉(zhuǎn)發(fā)表,否則在公共域內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新公共路由轉(zhuǎn)發(fā)表;
[0026]步驟103,報文轉(zhuǎn)發(fā)單元在對用戶數(shù)據(jù)報文進(jìn)行IP轉(zhuǎn)發(fā)時,查詢該用戶數(shù)據(jù)報文所屬的VPN,若查詢命中對應(yīng)的VPN,則根據(jù)該VPN路由轉(zhuǎn)發(fā)表對用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā),否則根據(jù)公共路由轉(zhuǎn)發(fā)表對該用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā)。
[0027]請參考圖4所示的一個示例性的EVI網(wǎng)絡(luò),該網(wǎng)絡(luò)包括分別部署在用戶站點(diǎn)A、用戶站點(diǎn)B以及用戶站點(diǎn)C的三個ED—ED1、ED2以及ED3。假設(shè)ED1、ED2以及ED3都實(shí)現(xiàn)了本發(fā)明的改進(jìn),以下以兼容現(xiàn)有EVI實(shí)現(xiàn)方案為例介紹數(shù)據(jù)層面與控制層面的詳細(xì)實(shí)現(xiàn)。在進(jìn)行描述之前,為了描述的簡潔和方便,同時考慮本領(lǐng)域普通技術(shù)人員的技術(shù)常識。在本發(fā)明中,用戶報文在不同的情形下有著不同的含義,比如說,如果是二層轉(zhuǎn)發(fā),那么轉(zhuǎn)發(fā)的用戶報文是二層用戶報文,如果是IP轉(zhuǎn)發(fā),則轉(zhuǎn)發(fā)的用戶報文則是一個IP報文,兩者的區(qū)別是前者有二層報文頭封裝,而后者沒有;當(dāng)然轉(zhuǎn)發(fā)決策完成后從用戶接口發(fā)出的時候會貼上對應(yīng)的二層封裝。由于本段所說的都是網(wǎng)絡(luò)【技術(shù)領(lǐng)域】基本技術(shù)常識,以下不再特別區(qū)分用戶報文是二層報文還是不帶二層封裝的IP報文。
[0028]為了讓圖4中EDl與ED2之間建立VPN服務(wù)允許用戶構(gòu)建相互隔離的IP網(wǎng)絡(luò),需要管理員先進(jìn)行適當(dāng)?shù)呐渲貌僮?。首先,管理員需要在隧道兩端的ED上配置VPNl,其指定IP地址為1.1.1.2,該IP地址也是EVI VPN隧道接口的IP地址,將VPNl與EVI實(shí)例I關(guān)聯(lián)。管理員完成配置并保存之后,控制管理單元可以相應(yīng)通知路由學(xué)習(xí)單元將該指定IP地址的路由發(fā)布到公網(wǎng)上,路由學(xué)習(xí)單元收到該路由發(fā)布通知之后使用內(nèi)部網(wǎng)關(guān)協(xié)議IGP將
1.1.1.2地址的路由發(fā)布到公網(wǎng)中,此時公網(wǎng)中的其他ED設(shè)備,比如ED2以及ED3都會學(xué)習(xí)到EDl上VPNl的源IP地址的路由。同樣的道理,管理員需要在ED2進(jìn)行同樣的配置,創(chuàng)建VPNl,其指定IP地址為2.1.1.2,并將VPNl與EVI實(shí)例I關(guān)聯(lián),使用IGP協(xié)議將2.1.1.2地址的路由發(fā)布到公網(wǎng)中,此時IP Network中的其他ED設(shè)備,比如EDl以及ED3都會學(xué)習(xí)到ED2上VPNl的源IP地址2.1.1.2的路由。路由的發(fā)布是確保隧道報文能夠順利在公網(wǎng)上進(jìn)行路由轉(zhuǎn)發(fā),因?yàn)楣W(wǎng)上轉(zhuǎn)發(fā)的過程是依據(jù)報文外層目的IP來轉(zhuǎn)發(fā)的。
[0029]在一個VPN內(nèi),每個ED設(shè)備都需要知道對端ED設(shè)備上配置的指定IP地址與VPN之間的對應(yīng)關(guān)系,這樣才能與對端設(shè)備建立隧道連接;因此每個ED設(shè)備需要將這種對應(yīng)關(guān)系作為VPN信息擴(kuò)散給其他ED設(shè)備。如果組網(wǎng)相對來說比較簡單的話,管理員可以通過手動的方式來實(shí)現(xiàn)這一 VPN信息的擴(kuò)散。對于相對復(fù)雜的網(wǎng)絡(luò),或者說為了減少管理員的配置工作,本發(fā)明在一種優(yōu)選的實(shí)施方式中使用自動擴(kuò)散的機(jī)制。具體實(shí)現(xiàn)上,ED設(shè)備可以使用ENDP協(xié)議(EVI Neighbor Discovery Protocol, EVI鄰居發(fā)現(xiàn)協(xié)議)的通告消息將EVI實(shí)例的VPN標(biāo)識與源IP地址通告到EVI實(shí)例內(nèi)的所有鄰居ED。該通告消息攜帶的VPN信息包括EVI實(shí)例標(biāo)識、VPN標(biāo)識以及對應(yīng)的指定IP地址。對于一個ED而言,其除了需要擴(kuò)散上述VPN信息之外,其還需要保存其他ED擴(kuò)散的上述VPN信息,具體來說,當(dāng)ED接收從其他ED發(fā)過來的EVI的VPN信息,用接收到的EVI實(shí)例號、VPN標(biāo)識以及對應(yīng)的指定IP地址,在本地相同的EVI實(shí)例內(nèi)進(jìn)行VPN信息比較,若本地EVI實(shí)例中存在相同的VPN標(biāo)識且對應(yīng)的指定IP地址合法(也就是沒有發(fā)生IP地址沖突的情況)時,則可以與對端ED創(chuàng)建相應(yīng)的VPN隧道,ED會保存這些VPN信息。當(dāng)然如果本地不存在相同的EVI實(shí)例,或者相同的EVI實(shí)例中不存在相同的VPN,又或者發(fā)現(xiàn)接收的VPN源IP地址不合法,則丟棄該ENDP協(xié)議消息。比如說,EDl發(fā)布的EVI實(shí)例為50,VPN標(biāo)識為1,而ED2上沒有EVI實(shí)例50,或者說ED2的EVI實(shí)例50中沒有VPNl,則ED2會丟棄掉該ENDP報文。
[0030]值得注意的是,上述VPN的概念是在同一個EVI實(shí)例中實(shí)現(xiàn)的,因?yàn)榘凑宅F(xiàn)有的EVI技術(shù)來說,不同EVI實(shí)例之間是無法進(jìn)行隧道通信的,比如說VLAN10到VLAN100屬于EVI實(shí)例1,VLAN101到VLAN200在EVI實(shí)例2中,那么VLAN10與VLANl 10是無法通過隧道的方式實(shí)現(xiàn)互通的,更無法談及在此基礎(chǔ)上的VPN互通,因此以下描述中特指同一 EVI實(shí)例下的實(shí)現(xiàn)。
[0031]以上的配置過程,可以由管理員手動來靜態(tài)配置,當(dāng)然其中有些也可以自動發(fā)布和擴(kuò)散機(jī)制。在實(shí)際實(shí)現(xiàn)的過程中,在上述配置準(zhǔn)備好之后,ED就可以在自身與其他配置有相同VPN的ED之間創(chuàng)建EVI VPN隧道了。事實(shí)上,EVI實(shí)例中通常還會創(chuàng)建普通EVI隧道,這兩種隧道的創(chuàng)建可以融合在一起實(shí)現(xiàn)。比如說,當(dāng)一個EVI實(shí)例內(nèi)的普通EVI隧道創(chuàng)建成功時,控制管理單元還可以進(jìn)一步判斷該EVI實(shí)例內(nèi)是否有VPN隧道需要創(chuàng)建,其實(shí)也就是查看是否保存了 VPN標(biāo)識與其他ED指定IP地址的對應(yīng)關(guān)系,如果有則需要使用自身的指定IP地址作為EVI VPN隧道接口 IP地址與該其他ED建立EVI VPN隧道連接。顯然,同一個EVI實(shí)例內(nèi)可以存在多個VPN隧道,這取決于用戶的配置。在本發(fā)明中普通EVI隧道有兩種類型,在此根據(jù)其承載類型的不同做一個區(qū)分定義:1類EVI隧道是指用來承載用戶以太網(wǎng)報文的普通EVI隧道,在用戶的兩個網(wǎng)絡(luò)之間透明傳輸以太網(wǎng)報文(也就是二層報文);11類EVI隧道是指用來承載用戶IP報文的普通EVI隧道,在用戶的兩個網(wǎng)絡(luò)之間透明傳輸IP文。II類EVI隧道主要是面向公共域路由的,而EVI VPN隧道則是面向VPN路由的,這是由路由學(xué)習(xí)和路由轉(zhuǎn)發(fā)的區(qū)域來決定的。
[0032]同樣的道理,當(dāng)需要刪除EVI實(shí)例的時候,除了刪除ED設(shè)備之間的EVI隧道,還需要進(jìn)一步判斷是否存在VPN隧道,若存在則需要刪除該VPN隧道。在VPN隧道創(chuàng)建完成之后,就可以在該VPN隧道上開展VPN服務(wù),以下從數(shù)據(jù)層面和控制層面對VPN內(nèi)的服務(wù)過程進(jìn)行詳述。
[0033]請參考圖4以及圖5,對于ED數(shù)據(jù)層面的處理而言,其包括三種類型的用戶數(shù)據(jù)報文需要處理,在數(shù)據(jù)層面的描述中,用戶數(shù)據(jù)報文是指ED角度來看需要其進(jìn)行查表轉(zhuǎn)發(fā)的用戶報文。
[0034]情形一,用戶數(shù)據(jù)報文的二層轉(zhuǎn)發(fā):
[0035]假設(shè)站點(diǎn)A的主機(jī)HostlO與站點(diǎn)B的主機(jī)Host20為不同站點(diǎn)的相同VLAN (比如VLAN10)內(nèi)的主機(jī)。由于兩個主機(jī)在同一個VLAN內(nèi),因此主機(jī)HostlO訪問Host20的用戶數(shù)據(jù)報文的目的MAC地址為Host20的MAC地址,源MAC地址為HostlO的MAC地址,目的IP地址為Host20的IP地址,源IP為HostlO的源IP地址。EDl接收到站點(diǎn)A內(nèi)HostlO發(fā)送的用戶數(shù)據(jù)報文后,報文轉(zhuǎn)發(fā)單元可以先檢查用戶數(shù)據(jù)報文的目的MAC地址,來決定如何處理該用戶數(shù)據(jù)報文,由于此時用戶數(shù)據(jù)報文的目的MAC不是本ED設(shè)備的MAC地址,說明這個報文是需要在二層透傳的。此時針對該用戶數(shù)據(jù)報文的轉(zhuǎn)發(fā)處理可以按照既有的實(shí)現(xiàn)來進(jìn)行,轉(zhuǎn)發(fā)時在EVI實(shí)例內(nèi)進(jìn)行二層查表轉(zhuǎn)發(fā),也就是查詢目的MAC和VLAN這個組合在MAC地址轉(zhuǎn)發(fā)表中所對應(yīng)的出接口,查表得到出接口肯定是I類EVI隧道。接下來在該I類EVI隧道上進(jìn)行隧道封裝,隧道封裝的格式是Ethernet over IP格式的隧道報文,隧道封裝的源IP地址為該EVI隧道接口的IP地址,目的IP地址為對端ED的I類EVI隧道接口的IP地址,封裝后的隧道報文轉(zhuǎn)發(fā)到公網(wǎng)然后被ED2收到。在ED2處解開隧道封裝發(fā)現(xiàn)用戶數(shù)據(jù)報文是一個以太網(wǎng)報文,此時再查MAC地址轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)給Host20。Host20到HostlO的報文轉(zhuǎn)發(fā)流程類似,不再贅述。
[0036]情形二,公共域內(nèi)用戶數(shù)據(jù)報文的路由轉(zhuǎn)發(fā):
[0037]假設(shè)主機(jī)Hostll與Host21為不同站點(diǎn)的不同VLAN內(nèi)的主機(jī),比如分別屬于VLAN30與VLAN40,并且這兩臺主機(jī)都屬于公共域內(nèi)的兩臺主機(jī)。主機(jī)Hostll發(fā)出訪問Host21的數(shù)據(jù)報文,由于Host21與自身不在同一個局域網(wǎng),因此該報文的目的MAC地址為網(wǎng)關(guān)的MAC地址(也就是EDl的MAC),源MAC地址為Hostll的MAC地址,目的IP地址為Host21的IP地址,源IP為Hostll的源IP地址。EDl接收到該報文后,報文轉(zhuǎn)發(fā)單元發(fā)現(xiàn)該報文目的MAC地址為本ED的MAC地址,確定后續(xù)需要進(jìn)行路由轉(zhuǎn)發(fā)。在本發(fā)明中,路由轉(zhuǎn)發(fā)分為兩種,一種是VPN內(nèi)的路由轉(zhuǎn)發(fā),另一種公共域內(nèi)的路由轉(zhuǎn)發(fā)。
[0038]上述兩種路由轉(zhuǎn)發(fā)所使用的路由轉(zhuǎn)發(fā)表是不一樣的。因此在轉(zhuǎn)發(fā)之前需要先確定轉(zhuǎn)發(fā)所需要使用的路由轉(zhuǎn)發(fā)表。由于該報文是用戶方向進(jìn)入的,報文轉(zhuǎn)發(fā)單元可以根據(jù)報文的用戶接入標(biāo)識(比如以太網(wǎng)封裝中的VLAN或者報文入端口標(biāo)識)來查詢該報文所屬VPN,如果查詢沒有命中,則說明用戶不屬于任何VPN,此時該報文需要查找公共域中的路由轉(zhuǎn)發(fā)表,這個路由轉(zhuǎn)發(fā)表可以理解為ED的公共路由轉(zhuǎn)發(fā)表或者叫默認(rèn)路由轉(zhuǎn)發(fā)表。報文轉(zhuǎn)發(fā)單元在此公共路由轉(zhuǎn)發(fā)表中查詢主機(jī)Host21的目的IP地址,獲得其出接口為II類EVI隧道,對應(yīng)的隧道封裝格式為IP over IP GRE格式,隧道封裝中使用的源IP地址自然是該II類EVI隧道接口的IP地址,目的IP地址為對端ED的II類EVI隧道接口的IP地址。接下來EDl將封裝好的隧道報文轉(zhuǎn)發(fā)到公網(wǎng)進(jìn)而到達(dá)ED2。ED2接收到的隧道報文是IP overIP GRE報文,根據(jù)隧道報文的隧道接口標(biāo)識(比如隧道報文源IP地址以及目的IP地址)確定需要在公共路由轉(zhuǎn)發(fā)表中進(jìn)行查找,此時可以彈掉EVI隧道封裝露出內(nèi)部封裝的用戶數(shù)據(jù)報文,然后在公共路由轉(zhuǎn)發(fā)表中查找該用戶數(shù)據(jù)報文的目的IP地址得到出接口為連接Host21的用戶接口,將IP報文通命中的用戶接口轉(zhuǎn)發(fā)到下掛的主機(jī)Host21,主機(jī)Host21接收到報文。主機(jī)Host21發(fā)送給Hostll的報文轉(zhuǎn)發(fā)流程類似,不再贅述。
[0039]情形三,VPN內(nèi)用戶數(shù)據(jù)報文的IP轉(zhuǎn)發(fā):[0040]假設(shè)主機(jī)Hostl2與Host22為不同站點(diǎn)的不同VLAN內(nèi)的主機(jī),比如VLAN50與VLAN60,但Hostl2與Host22屬于同一 VPN(比如VPN1)內(nèi)的兩臺主機(jī)。主機(jī)Hostl2發(fā)出訪問Host22的報文,由于Host22與自身不在同一個局域網(wǎng),因此該報文目的MAC地址為EDl的MAC地址,源MAC地址為Hostl2的MAC地址,目的IP地址為Host22的IP地址,源IP為Hostl2的源IP地址。EDl接收到該報文后,報文轉(zhuǎn)發(fā)單元發(fā)現(xiàn)該報文目的MAC地址為本ED的MAC地址,確定后續(xù)需要進(jìn)行路由轉(zhuǎn)發(fā)。報文轉(zhuǎn)發(fā)單元根據(jù)該報文的用戶接入標(biāo)識查找到對應(yīng)的VPN標(biāo)識1,此時需要在VPNl的VPN路由轉(zhuǎn)發(fā)表中查詢主機(jī)Hostl2的目的IP地址,查找VPN的路由轉(zhuǎn)發(fā)表之后確定該報文的出接口為對應(yīng)的EVI VPN隧道,對應(yīng)的隧道封裝格式為IP over IP GRE格式,此時隧道封裝的源IP地址將使用該EVI VPN隧道的接口 IP地址,目的IP地址為對端ED設(shè)備的EVI VPN隧道接口 IP地址,也就是管理員初始配置的指定IP地址,然后將封裝好的隧道報文轉(zhuǎn)發(fā)到公網(wǎng)上進(jìn)而傳輸?shù)紼D2。ED2接收到的報文是IP over IP GRE報文,根據(jù)隧道報文的隧道接口標(biāo)識確定對應(yīng)的VPN為VPNl,彈掉EVI VPN隧道封裝獲得其內(nèi)封裝的用戶數(shù)據(jù)報文,在該VPNl的VPN路由轉(zhuǎn)發(fā)表中查找用戶數(shù)據(jù)報文的目的IP地址進(jìn)行轉(zhuǎn)發(fā),獲得對應(yīng)的出接口為用戶接口,從該用戶接口將用戶數(shù)據(jù)報文轉(zhuǎn)發(fā)到下掛的主機(jī)Host22。主機(jī)Host22發(fā)送給Hostl2的報文轉(zhuǎn)發(fā)流程類似,不再贅述。
[0041]以上是數(shù)據(jù)層面的各種轉(zhuǎn)發(fā)處理,但對于數(shù)據(jù)層面的路由轉(zhuǎn)發(fā)而言,路由轉(zhuǎn)發(fā)表的生成是基于路由學(xué)習(xí)的。因此,本發(fā)明在VPN內(nèi)傳遞的用戶報文不僅僅有用戶數(shù)據(jù)報文還有用戶路由協(xié)議報文。所謂用戶路由協(xié)議報文通常是在該VPN對應(yīng)的用戶IP網(wǎng)絡(luò)內(nèi)傳播的路由協(xié)議報文,EDI和ED2需要參與到該VPN內(nèi)的路由學(xué)習(xí)中來。無論是從用戶方向收到用戶路由協(xié)議報文,還是從隧道接口方向(也就是公網(wǎng)方向)收到用戶路由協(xié)議報文。路由學(xué)習(xí)單元查詢該用戶路由協(xié)議報文所屬的VPN,查詢方式與報文轉(zhuǎn)發(fā)單元的查詢方式一致。對于用戶方向收到的用戶路由協(xié)議報文,可以根據(jù)用戶報文原始以太網(wǎng)封裝中的VLAN查詢對應(yīng)的VPN,而對于公網(wǎng)方向收到的用戶路由協(xié)議報文,可以根據(jù)原始的隧道報文的源IP地址查詢對應(yīng)的VPN。若查詢命中對應(yīng)的VPN,則在該VPN內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí),并相應(yīng)更新VPN路由轉(zhuǎn)發(fā)表;當(dāng)然如果查詢沒有命中,則在公共域內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí),并相應(yīng)更新公共路由轉(zhuǎn)發(fā)表。事實(shí)上,本發(fā)明對VPN內(nèi)的路由學(xué)習(xí)機(jī)制并沒有任何改變,從某種意義上說,本發(fā)明相當(dāng)于在ED上生成為該VPN創(chuàng)建了一個邏輯意義上的“專用路由器”,該專用的路由器按照既定的路由協(xié)議進(jìn)行路由學(xué)習(xí),只不過該“專用路由器”對外的接口是與VPN的獨(dú)立EVI VPN隧道接口而已,也就是說不同VPN的路由出接口在邏輯意義上是不同的,即便物理出接口相同,但對應(yīng)的隧道報文的IP地址卻是不同的。
[0042]從以上的描述中可以發(fā)現(xiàn),現(xiàn)有的EVI技術(shù)可以在兩個站點(diǎn)的用戶網(wǎng)絡(luò)之間實(shí)現(xiàn)二層透傳,形象地來說,兩個站點(diǎn)的局域網(wǎng)之間好像使用一根網(wǎng)線相連一樣;當(dāng)然現(xiàn)有EVI也可以在將兩側(cè)不同的局域網(wǎng)通過一個中間網(wǎng)關(guān)相連;本發(fā)明在這些實(shí)現(xiàn)的基礎(chǔ)上,可以進(jìn)一步將兩個相互連接的不同局域網(wǎng)劃分為一個獨(dú)立的用戶IP網(wǎng)絡(luò)。用戶可以隨意根據(jù)業(yè)務(wù)需要來進(jìn)行IP網(wǎng)絡(luò)規(guī)劃;比如說某個企業(yè)可以將在線游戲業(yè)務(wù)部門創(chuàng)建一個用戶IP網(wǎng)絡(luò),為社交應(yīng)用業(yè)務(wù)部分創(chuàng)建另一個用戶IP網(wǎng)絡(luò),這兩個用戶IP網(wǎng)絡(luò)是相互獨(dú)立的,也就是說,在這兩個用戶IP網(wǎng)絡(luò)內(nèi),IP地址是可以重復(fù)使用的,互不影響。[0043]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種用戶報文處理裝置,應(yīng)用于以太網(wǎng)虛擬互聯(lián)EVI網(wǎng)絡(luò)中的邊緣設(shè)備ED上,該ED通過公網(wǎng)與其他ED建立EVI實(shí)例,其中該裝置包括:控制管理單元、路由學(xué)習(xí)單元以及報文轉(zhuǎn)發(fā)單元,其特征在于: 控制管理單元,用于在指定EVI實(shí)例中創(chuàng)建面向公共路由的II類EVI隧道以及至少一個面向VPN路由的EVI VPN隧道; 路由學(xué)習(xí)單元,用于查詢用戶路由協(xié)議報文所屬VPN,若查詢命中對應(yīng)的VPN,則在該VPN內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新該VPN路由轉(zhuǎn)發(fā)表,否則在公共域內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新公共路由轉(zhuǎn)發(fā)表; 報文轉(zhuǎn)發(fā)單元,用于在對用戶數(shù)據(jù)報文進(jìn)行IP轉(zhuǎn)發(fā)時,查詢該用戶數(shù)據(jù)報文所屬的VPN,若查詢命中對應(yīng)的VPN,則根據(jù)該VPN的路由轉(zhuǎn)發(fā)表對用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā),否則根據(jù)公共路由轉(zhuǎn)發(fā)表對該用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā)。
2.如權(quán)利要求1所述的裝置,其特征在于,所述控制管理單元在指定EVI實(shí)例中創(chuàng)建至少一個面向VPN路由的EVI VPN隧道的過程具體包括: 將EVI實(shí)例的上配置的VPN標(biāo)識、VPN指定IP地址以及該VPN的用戶接口標(biāo)識對應(yīng)保存在VPN信息表中,并通知路由學(xué)習(xí)單元進(jìn)行路由發(fā)布; 將VPN標(biāo)識與VPN指定IP地址對應(yīng)關(guān)系發(fā)布給其他ED設(shè)備,并在VPN信息表中保存其他ED設(shè)備發(fā)布的VPN標(biāo)識與VPN指定IP地址的對應(yīng)關(guān)系; 使用所述VPN指定IP地址作為EVI VPN隧道接口的IP地址在本ED與其他配置有相同VPN的ED之間創(chuàng)建EVI VPN隧道; 所述路由學(xué)習(xí)單元,進(jìn)一步用于根據(jù)路由發(fā)布通知向公網(wǎng)發(fā)布所述VPN指定IP地址的公網(wǎng)路由,并學(xué)習(xí)其他ED發(fā)布的VPN指定IP地址的公網(wǎng)路由。
3.如權(quán)利要求1所述的裝置,其特征在于:其中查詢該用戶數(shù)據(jù)報文所屬VPN或用戶路由協(xié)議報文所屬VPN的過程包括:若報文從用戶方向進(jìn)入,則根據(jù)該報文的用戶接口標(biāo)識查詢該報文所屬VPN ;若報文從公網(wǎng)方向進(jìn)入,則根據(jù)該報文進(jìn)入的隧道接口標(biāo)識查詢該報文所屬VPN。
4.如權(quán)利要求1所述的裝置,其特征在于:所述用戶接口標(biāo)識為報文的VLAN,所述隧道接口標(biāo)識為報文隧道封裝的源IP地址和目的IP地址。
5.如權(quán)利要求1所述的裝置,其特征在于:報文轉(zhuǎn)發(fā)單元進(jìn)一步在從用戶方向收到用戶數(shù)據(jù)報文時,判斷該報文的目的MAC地址是否為本ED的MAC地址,如果不是,則對該根據(jù)該報文的目的MAC查找對應(yīng)的I類EVI隧道接口,然后將該報文進(jìn)行隧道封裝后從該EVI隧道上發(fā)送出去,其中該隧道封裝格式為Ethernet Over IP格式;如果是,則確定該報文需要進(jìn)行路由轉(zhuǎn)發(fā); 其中查詢VPN路由轉(zhuǎn)發(fā)表對該報文進(jìn)行轉(zhuǎn)發(fā)時,對該報文進(jìn)行隧道封裝后從EVI VPN隧道上發(fā)送出去,該隧道封裝格式為IP Over IP格式且隧道封裝的源IP地址為EVI VPN隧道接口的IP地址,目的IP地址為對端ED的EVI VPN隧道的地址;查詢公共路由轉(zhuǎn)發(fā)表對該報文進(jìn)行轉(zhuǎn)發(fā)時,對該報文進(jìn)行隧道封裝后從II類EVI隧道上發(fā)送出去,該隧道封裝格式為IP Over IP格式,隧道封裝的源IP地址為該EVI隧道接口的IP地址,目的IP地址是對端ED的II類EVI公網(wǎng)隧道的IP地址。
6.一種用戶報文處理方法,應(yīng)用于EVI網(wǎng)絡(luò)中的邊緣設(shè)備ED上,該ED通過公網(wǎng)與其他ED建立EVI實(shí)例,其特征在于,該方法包括如下步驟: 步驟A、在指定EVI實(shí)例中創(chuàng)建面向公共路由的II類EVI隧道以及至少一個面向VPN路由的EVI VPN隧道; 步驟B、查詢用戶路由協(xié)議報文所屬VPN,若查詢命中對應(yīng)的VPN,則在該VPN內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新該VPN路由轉(zhuǎn)發(fā)表,否則在公共域內(nèi)根據(jù)該用戶路由協(xié)議報文進(jìn)行路由學(xué)習(xí)以更新公共路由轉(zhuǎn)發(fā)表; 步驟C、在對用戶數(shù)據(jù)報文進(jìn)行IP轉(zhuǎn)發(fā)時,查詢該用戶數(shù)據(jù)報文所屬的VPN,若查詢命中對應(yīng)的VPN,則根據(jù)該VPN路由轉(zhuǎn)發(fā)表對用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā),否則根據(jù)公共路由轉(zhuǎn)發(fā)表對該用戶數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā)。
7.如權(quán)利要求6所述的方法,其特征在于,根據(jù)管理員的配置在指定EVI實(shí)例中創(chuàng)建至少一個面向VPN路由的EVI VPN隧道的過程具體包括: 將在EVI實(shí)例的上配置的VPN標(biāo)識、VPN指定IP地址以及該VPN的用戶接口標(biāo)識對應(yīng)保存在VPN信息表中; 向公網(wǎng)發(fā)布所述VPN指定IP地址的公網(wǎng)路由,并學(xué)習(xí)其他ED發(fā)布的VPN指定IP地址的公網(wǎng)路由; 將VPN標(biāo)識與VPN指定IP地址對應(yīng)關(guān)系發(fā)布給其他ED設(shè)備,并在VPN信息表中保存其他ED設(shè)備發(fā)布的VPN標(biāo)識與VPN指定IP地址的對應(yīng)關(guān)系; 使用所述VPN指定IP地址作為EVI VPN隧道接口的IP地址在本ED與其他配置有相同VPN的ED之間創(chuàng)建EVI VPN隧道。
8.如權(quán)利要求6所述的方法,其特征在于:其中查詢該用戶數(shù)據(jù)報文所屬VPN或用戶路由協(xié)議報文所屬VPN的過程包括:若報文從用戶方向進(jìn)入,則根據(jù)該報文的用戶接口標(biāo)識查詢該報文所屬VPN;若報文從公網(wǎng)方向進(jìn)入,則根據(jù)該報文進(jìn)入的隧道接口標(biāo)識查詢該報文所屬VPN。
9.如權(quán)利要求6所述的方法,其特征在于:所述用戶接口標(biāo)識為報文的VLAN,所述隧道接口標(biāo)識為報文隧道封裝的源IP地址和目的IP地址。
10.如權(quán)利要求6所述的方法,其特征在于:其中步驟C進(jìn)一步包括: 在從用戶方向收到用戶數(shù)據(jù)報文時,判斷該報文的目的MAC地址是否為本ED的MAC地址,如果不是,則對該根據(jù)該報文的目的MAC查找對應(yīng)的I類EVI隧道接口,然后將該報文進(jìn)行隧道封裝后從該EVI隧道上發(fā)送出去,其中該隧道封裝格式為Ethernet Over IP格式;如果是,則確定該報文需要進(jìn)行路由轉(zhuǎn)發(fā); 其中查詢VPN路由轉(zhuǎn)發(fā)表對該報文進(jìn)行轉(zhuǎn)發(fā)時,對該報文進(jìn)行隧道封裝后從EVI VPN隧道上發(fā)送出去,該隧道封裝格式為IP Over IP格式且隧道封裝的源IP地址為EVI VPN隧道接口的IP地址,目的IP地址為對端ED的EVI VPN隧道的地址;查詢公共路由轉(zhuǎn)發(fā)表對該報文進(jìn)行轉(zhuǎn)發(fā)時,對該報文進(jìn)行隧道封裝后從II類EVI隧道上發(fā)送出去,該隧道封裝格式為IP Over IP格式,隧道封裝的源IP地址為該EVI隧道接口的IP地址,目的IP地址是對端ED的II類EVI公網(wǎng)隧道的IP地址。
【文檔編號】H04L12/46GK103475560SQ201310430692
【公開日】2013年12月25日 申請日期:2013年9月18日 優(yōu)先權(quán)日:2013年9月18日
【發(fā)明者】宋小恒, 鄭國良 申請人:杭州華三通信技術(shù)有限公司