專利名稱:一種報文處理控制方法及裝置的制作方法
技術領域:
本發明涉及網絡通信領域,尤其涉及一種遠程分支設備的報文處理控制方法及裝置。
背景技術:
在早期局域網技術中,局域網絡的劃分是物理層面的劃分。隨著交換機技術的進步及相關標準的開發,隨后出現了虛擬局域網技術(Virtual Local Area Network, VLAN)。VLAN技術的使用允許從邏輯上將一個區域的網絡劃分為多個局域網絡。每個VLAN可以被理解為一個二層網絡,或者理解為一個二層廣播域。同一個VLAN內的主機之間可以通過二層互相通信,而不同VLAN中的主機之間在二層上是相互隔離的,如果兩個VLAN中的主機希望互相訪問則需要通過三層轉發才能實現。在城域網中經常需要使用VLAN在二層上隔離不同的用戶,然而由于需要使用城域網傳輸數據的用戶數量巨大,于是引發了 VLAN資源日益緊缺的問題。IEEE802.1Q在報文中定義的VLANID域只有12個比特,理論上最多可以表示4094個VLAN。然而4094個VLAN遠遠不能滿足需求,QinQ正是在這種情況下產生。QinQ是802.1Q in802.1Q的簡稱,它是基于IEEE802.1Q技術的一種二層隧道協議,通過在用戶報文中額外封裝上一個外層VLAN Tag,使其攜帶兩層VLAN Tag穿越運營商的骨干網絡(又稱公網),從而為用戶提供了一種比較簡單的二層VPN隧道技術,也使運營商能夠利用一個外層VLAN來為內部規劃有多個VLAN的用戶網絡提供服務成為了可能。
發明內容
有鑒于此,本發明提供一種報文處理控制裝置及對應的方法,應用于網絡設備上,其中該網絡設備包括面向用戶主機的下行端口以及面向internet的上行端口,其中在該裝置運行時,所述下行端口的VLAN過濾功能處于關閉狀態,該裝置包括:ARP處理單元,用于通過下行端口接收來自用戶主機的ARP報文,對該ARP報文進行ARP學習,在ARP表項中保存該報文攜帶的用戶VLAN標識。路由處理單兀,用于在添加用戶主機的下一跳表項時,將用戶主機對應的ARP表項中保存的用戶VLAN標識添加到對應的下一跳表項中。本發明還同時提供一種報文處理控制方法,應用于網絡設備上,其中該網絡設備包括面向用戶主機的下行端口以及上行端口,其中該控制方法運行時所述下行端口的VLAN過濾功能被設置為關閉狀態,其中該方法包括以下步驟:步驟A、通過下行端口接收來自用戶主機的ARP報文,對該ARP報文進行ARP學習,在ARP表項中保存該報文攜帶的用戶VLAN標識。步驟B、在添加用戶主機的下一跳表項時,將用戶主機對應的ARP表項中保存的用戶VLAN標識添加到對應的下一跳表項中。與現有的技術相比,本發明提供了一種非常簡潔的QinQ終結處理機制,實現成本低,可靠性高,而且無需用戶部署具有QinQ功能的匯聚交換機,同時允許每個用戶網絡隨意規劃自身的C-VLAN,最大限度地復用了 VLAN資源。
圖1是一種典型的QinQ組網示意圖。圖2是本發明一種實施方式中報文處理控制裝置的邏輯結構圖。圖3是本發明一種網絡設備典型的硬件架構圖。圖4是本發明一種實施方式的組網示意圖。圖5是本發明一種實施方式中上行報文處理流程圖。圖6是本發明一種實施方式中ARP過程處理流程圖。圖7是本發明一種實施方式中下行報文處理流程圖。圖8是本發明另一種實施方式中多用戶網絡的組網示意圖。
具體實施例方式請參考圖1,從QinQ角度來看,在用戶網絡中,其規劃的VLAN通常被稱為C-VLAN(C-VLAN);而運營商為用戶網絡分配的公網VLAN稱為為S-VLAN (S-VLAN)0當用戶網絡中的主機發送的報文到達用戶的接入交換機時,該報文在轉發處理過程中會被封裝上對應C-VLAN Tag。攜帶C-VLAN Tag的報文進入運營商網絡,到達使能QinQ的匯聚交換機B時,該報文就會被封裝上S-VLAN對應的VLAN Tag。被重新封裝的報文在運營商網絡中將基于S-VLAN進行轉發;但是如果該報文要發往外部Internet,則需要在出口網關(核心交換機C)上對該報文進行VLAN終結處理,此時核心交換機C需要去掉報文的兩層VLAN Tag,然后按照正常的三層轉發對報文進行處理,最終通過上行口將報文發送到Internet上。在另一個方向上,從Internet外網返回的報文需要在核心交換機C上封裝上S-VLAN和C-VLAN的VLAN Tag (標簽或標識)。報文然后會到達匯聚交換機B,匯聚交換機B剝離S-VLAN Tag。當報文進入接入交換機A時,其內只剩下C-VLAN Tag 了。最后在接入交換機在C-VLAN內轉發報文使得報文到達用戶主機,通常由于用戶接入端口是一個Untag端口,因此報文轉發給用戶主機之前,C-VLAN Tag也會被剝離掉。QinQ技術可以允許整個網絡理論上最多提供4094X4094個VLAN,從而滿足了城域網對VLAN數量的使用需求。總的來說,QinQ具備以下優點:I)可緩解公網VLAN資源日益緊缺的問題;2)用戶可以隨意規劃自己的C-VLAN,且不會與S-VLAN發生沖突;3)為小型城域網和大型企業網提供了簡單靈活的二層VPN解決方案;4)運營商升級網絡時,用戶網絡不必更改原有配置,使用戶網絡具有了較強的獨立性。如前所述,從Internet外網返回的流量需要在核心交換機C上封裝上S-VLAN和C-VLAN的VLAN Tag。報文在三層轉發模塊(比如ASIC芯片)上進行三層轉發時,芯片先查找轉發表,查找到下一跳表項(路由表項)后,進行報文頭的封裝。然而傳統三層轉發過程中,其下一跳表項中只能封裝一層VLAN Tag。為了達到封裝兩層VLAN Tag的目的,通常使用隧道技術進行輔助。其實現方式是:在下一跳表項封裝C-VLAN Tag,而在隧道表項中再封裝S-VLAN Tag。這種實現方案要求在下一跳表項中必須指定二次封裝需要使用的隧道表項。因此整個報文的處理過程必須要查詢兩個表項才能完成內層C-VLAN Tag和外層S-VLANTag的封裝。對于核心交換機來說,這種三層轉發處理比正常的三層轉發處理多了隧道表項的查詢過程,如果城域網中存在大量用戶時,核心交換機的控制層面會下發大量的隧道表項,一方面對于處理速度會有一定的影響,關鍵大量表項的存在對核心交換機的硬件規格提出了更高的要求,支持更多表項的芯片的成本往往十分高昂。本發明提出一種新的處理機制來避免硬件表項規格上升的問題。請參考圖2,以計算機軟件實現為例,在一種優選的實施方式中,本發明提供一種報文處理控制裝置,應用在三層網絡設備(后續以三層交換機為例進行說明)上,運行在三層交換機的控制層面,該裝置包括ARP處理單元以及路由處理單元。請參考圖3,本發明對三層交換機的硬件架構并無特別要求,其可以采用分布式硬件系統架構,也可以采用集中式硬件架構。在一種經過簡化抽象的硬件架構模型中,該三層交換機包括CPU、內存、非易失性存儲器以及各種其他業務硬件,而上述報文處理控制裝置可通過CPU運行內存中相應的軟件代碼實現。請參考圖4,在本發明一種典型的組網環境中,所述三層交換機作為核心交換機加以使用,作為多個用戶訪問Internet的網關出口。與現有組網方案不同的是:在該組網方案中,具有QinQ功能的匯聚交換機將不是必須存在的網絡設備。由于本發明允許組網方案接入交換機直連核心交換機,用戶可以因不再部署具有QinQ功能的匯聚交換機而實現組網成本的降低。值得注意的是:接入交換機與核心交換機的直連并非狹義的網線或光纖直接相連。兩個交換機之間完全可以存在其他二層交換機等設備,甚至二層的隧道網絡。請同時參考圖5、圖6以及圖7,在這樣的組網架構下,所述報文處理控制裝置執行如下步驟。步驟101,當用戶針對報文處理控制裝置發出使能控制指示時,配置處理單元關閉核心交換機的下行端口的VLAN過濾功能;當用戶針對報文處理控制裝置發出去使能控制指示時,配置處理單元開啟核心交換機的下行端口的VLAN過濾功能;在報文處理控制裝置投入運行之前,核心交換機內部需要做進行相關的設備配置處理,主要是關閉面向用戶主機的下行端口的VLAN過濾功能,在優選的方式中,該過程是由控制層面處理實現。當然這一過程也可以由管理員手工實現,管理員可以通過網管通道或者其他管理通道來關閉核心交換機下行端口(也就是靠近用戶側的端口)上的VLAN過濾功能。請參考圖4,通常情況下,核心交換機只會在下行端口上允許S-VLAN通過(SPTrunkS-VLAN),也就是允許指定的一個或多個S-VLAN的報文流量進入端口,比如圖4中端口 G2/3僅僅Trunk 了 S-VLAN100。因此正常情況下,如果一個報文不屬于S-VLAN100,其會在端口被過濾掉,而無法進一步處理。一個交換機端口的VLAN過濾功能一旦被關閉,那么這個端口對進入的報文將不會受到VLAN過濾的限制,此時交換機無法在該端口上基于VLAN實現用戶二層隔離,會引發較大的安全隱患,因此在正常情況下,該功能并不會被管理關閉。然而本發明則是考慮到特定應用場景的需要,允許該下行端口過濾功能被關閉,同時在該應用場景下實質上并不影響二層的相互隔離。在完成上述基本配置之后,所述報文處理控制裝置就可以運行來實現簡潔可靠的QinQ終結機制。步驟102,ARP處理單元通過下行端口接收來自用戶主機的ARP報文,對該ARP報文進行ARP學習,在ARP表項中保存該報文攜帶的C-VLAN Tag。步驟103,路由處理單元在添加用戶主機的下一跳表項時,將對應的ARP表項中保存的C-VLAN添加到對應的下一跳表項中。用戶主機在業務通信過程中會發送ARP報文來輔助業務通信,比如針對網關IP地址的ARP請求報文或者應答網關ARP請求的ARP應答報文。ARP報文經過接入交換機會被封裝上與用戶主機對應的C-VLAN。如前所述,由于核心交換機下行端口的VLAN過濾功能被關閉,因此該ARP報文到達核心交換機后并不會被丟棄。由于ARP報文是協議報文,因此會自然被上送到控制層面的ARP處理單元進行處理。在本發明中,ARP處理單元會對ARP報文進行學習,形成如表I所示的示例性ARP表。與現有技術不同的是,ARP處理單元在ARP表項中對應保存了與用戶主機對應的C-VLAN Tag,這為后續的路由相關表項生成以及三層轉發提供了基礎依據。
權利要求
1.一種報文處理控制裝置,應用于網絡設備上,其中該網絡設備包括面向用戶主機的下行端口以及面向internet的上行端口,其中在該裝置運行時,所述下行端口的VLAN過濾功能處于關閉狀態,其特征在于,該裝置包括: ARP處理單元,用于通過下行端口接收來自用戶主機的ARP報文,對該ARP報文進行ARP學習,在ARP表項中保存該報文攜帶的用戶VLAN標識。
路由處理單兀,用于在添加用戶主機的下一跳表項時,將用戶主機對應的ARP表項中保存的用戶VLAN標識添加到對應的下一跳表項中。
2.如權利要求1所述的裝置,其特征在于,還包括配置處理單元,該配置處理單元用于在用戶使能報文處理控制裝置時關閉該網絡設備的下行端口的VLAN過濾功能。
3.如權利要求1所述的裝置,其特征在于,該配置處理單元進一步用于在用戶去使能報文處理控制裝置時開啟該網絡設備的下行端口的VLAN過濾功能。
4.如權利要求1所述的裝置,其特征在于,所述下一跳表項至少還包括與用戶VLAN標識對應的用戶主機IP地址以及用戶主機MAC地址。
5.如權利要求1所述的裝置,其特征在于,所述網絡設備為三層交換機,包括若干下行端口,其中每個下行端口歸屬于不同的運營商分配給用戶的公網VLAN,所述ARP表項歸屬于對應的運營商分配給用戶的公網VLAN。
6.一種報文處理控制方法,應用于網絡設備上,其中該網絡設備包括面向用戶主機的下行端口以及上行端口,其中該控制方法運行時所述下行端口的VLAN過濾功能被設置為關閉狀態,其特征在于,該方法包括以下步驟: 步驟A、通過下行端口接收來自用戶主機的ARP報文,對該ARP報文進行ARP學習,在ARP表項中保存該報文攜帶的用戶VLAN標識。
步驟B、在添加用戶主機的下一跳表項時,將用戶主機對應的ARP表項中保存的用戶VLAN標識添加到對應的下一跳表項中。
7.如權利要求6所述的方法,其特征在于,還包括: 步驟C、根據用戶的使能控制指示,關閉該網絡設備的下行端口的VLAN過濾功能。
8.如權利要求6所述的方法,其特征在于,還包括: 步驟D、根據用戶的去使能控制指示,關閉該網絡設備的下行端口的VLAN過濾功能。
9.如權利要求6所述的方法,其特征在于,所述下一跳表項至少還包括與用戶VLAN標識對應的用戶主機IP地址以及用戶主機MAC地址。
10.如權利要求6所述的方法,其特征在于,所述網絡設備為三層交換機,包括若干下行端口,其中每個下行端口歸屬于不同的運營商分配給用戶的公網VLAN,所述ARP表項歸屬于對應的運營商分配給用戶的公網VLAN。
全文摘要
本發明提供一種報文處理控制方法及對應的裝置,應用于網絡設備上,其中該網絡設備包括面向用戶主機的下行端口以及上行端口,其中所述下行端口的VLAN過濾功能被設置為關閉狀態,該方法包括以下步驟A、通過下行端口接收來自用戶主機的ARP報文,對該ARP報文進行ARP學習,在ARP表項中保存該報文攜帶的用戶VLAN標識。B、在添加用戶主機的下一跳表項時,將用戶主機對應的ARP表項中保存的用戶VLAN標識添加到對應的下一跳表項中。本發明提供了一種非常簡潔的QinQ終結處理機制,實現成本低,可靠性高,無需用戶部署具有QinQ功能的匯聚交換機,同時允許用戶網絡隨意規劃自身的C-VLAN,最大限度地復用了VLAN資源。
文檔編號H04L12/46GK103107934SQ20131003321
公開日2013年5月15日 申請日期2013年1月25日 優先權日2013年1月25日
發明者李彬榮, 劉如冰, 王 鋒, 席永青 申請人:杭州華三通信技術有限公司