專利名稱:一種運營商以太網與客戶網絡之間的數據傳輸方法和系統的制作方法
技術領域:
本發明涉及網絡通信領域,特別涉及一種運營商以太網與客戶網絡傳輸數據的方法和系統。
背景技術:
以太網技術因其具有低成本、標準成熟,技術靈活等優點不僅在企業局域網環境中得到了大量應用,而且越來越多地被電信運營商作為一種新的接入業務提供給客戶。但是,傳統的以太網是通過MAC地址的學習進行數據的轉發和交換的,由于MAC地址不具有像IP地址那樣的層次結構,當不同的客戶網絡通過運營商以太網傳輸數據時,按照現有的以太網的數據轉發的方式,運營商以太網網絡必須存儲和處理客戶網絡內部的MAC地址,才能進行數據的傳輸和轉發。實際上,運營商網絡會為數量眾多的客戶網絡提供服務,大量的客戶MAC地址需要在運營商網絡內部存儲和處理,這會給運營商網絡帶來沉重的負擔。因此,要建立一個能為客戶橋網絡提供可靠傳送服務的運營商網絡。MAC地址的可擴展性(Scalability)是運營商網絡要實現的一個重要目標。
現有技術的技術方案為了使服務提供者網絡能夠避免儲存和處理過多的MAC地址,從而提高服務提供者網絡的性能,現有技術采用了MAC in MAC機制,它的技術方案是當用戶數據包到達服務提供者網絡的邊沿設備(PB-Provider Bridge),服務提供者再對數據包封裝一個外部的MAC頭,外部的MAC頭的源地址為源服務提供者MAC地址、目的地址為目的服務提供者MAC地址。為了封裝外部MAC頭,服務提供者網絡的邊沿設備需要根據接收到的數據包的MAC頭的源地址進行地址學習得到用戶目的MAC地址和目的服務提供者MAC地址之間的映射,這里的服務提供者地址指的是服務提供者網絡拓撲元素本身的地址。該技術能使服務提供者網絡的核心網橋屏蔽客戶MAC地址。
現有技術的缺點該技術不能使服務提供者網絡的邊沿設備屏蔽客戶網絡的內部客戶MAC地址。如圖1所示,當一個服務提供者為多個客戶網絡提供多點到多點服務時,服務提供者網絡的邊沿設備仍會存儲和處理大量的客戶MAC地址。此外,該技術沒有對來自客戶網絡數據包中的客戶網絡MAC地址進行有效的安全檢查,這樣當服務提供者網絡作為一個運營商以太網時,缺少這種安全性檢查機制將不能有效控制大量的客戶MAC地址對運營商以太網進行攻擊及運營商網絡的邊沿設備存儲和處理大量的客戶MAC地址而給其帶來沉重負荷。
發明內容
本發明提供了一種運營商以太網和客戶網絡之間數據傳輸的方法和系統,用于解決上述現有技術存在的運營商以太網不能屏蔽客戶網絡內部MAC地址的問題。
本發明的技術方案如下一種運營商以太網與客戶網絡之間傳輸數據的方法,包括運營商以太網為客戶網絡配置服務接入MAC地址,所述服務接入MAC地址是所述運營商以太網邊沿設備上的服務接入端口的地址;數據包在從一個客戶網絡發送到運營商以太網內部前,所述數據包被封裝了外部MAC頭,所述外部MAC頭的源地址為源服務接入MAC地址,目的地址為目的服務接入MAC地址;所述數據包經過所述運營商以太網后,發送到另一個客戶網絡。
所述服務接入端口直接和客戶網絡邊沿設備相連。
所述服務接入MAC地址的地址空間和編址方式獨立于客戶MAC地址的地址空間和編址方式,允許為同一個服務接入端口分配多個服務接入MAC地址。
一個客戶網絡的邊沿設備對所述數據包封裝所述外部MAC頭,當已封裝了所述外部MAC頭的數據包通過運營商以太網發送到所述另一個客戶網絡時,所述另一個客戶網絡的邊沿設備解封裝所述數據包的外部MAC頭。
和一個客戶網絡連接的運營商以太網邊沿設備對所述數據包封裝所述外部MAC頭,當已封裝了所述外部MAC頭的數據包通過運營商以太網發送到所述另一個客戶網絡時,由另一個客戶網絡邊沿設備對所述數據包解封裝所述外部MAC頭;或者,一個客戶網絡的邊沿設備對所述數據包封裝所述外部MAC頭,當已封裝了所述外部MAC頭的數據包通過運營商以太網發送到所述另一個客戶網絡時,和所述另一個客戶網絡連接的運營商以太網邊沿設備對所述數據包解封裝所述外部MAC頭。
所述客戶網絡邊沿設備對數據包的處理步驟為A1、若接收到的數據包來自于“MAC in MAC模式發送端口”,根據外部MAC頭的源地址和內部MAC頭的源地址進行地址學習;然后解封裝所述數據包的外部MAC頭,按照現有的以太網數據轉發方式轉發所述數據包;B1、若接收的數據包不是來自“MAC in MAC模式發送端口”,根據數據包的源客戶MAC地址進行地址學習,然后根據數據包的目的客戶MAC地址確定發送端口,從所述確定的發送端口發送數據包。
所述“MAC in MAC模式發送端口”是位于客戶網絡邊沿設備上的并且和服務接入端口相連,所述客戶網絡邊沿設備對所述數據包封裝或解封裝外部MAC頭。
所述步驟A1中所述的根據外部MAC頭的源地址和內部MAC頭的源地址進行地址學習包括如下步驟A11、根據數據包的外部MAC頭的源服務接入MAC地址和內部MAC頭的源客戶MAC地址、接收數據包的端口學習到目的服務接入MAC地址、目的客戶MAC地址、發送端口之間的映射關聯;A12、建立目的服務接入MAC地址、目的客戶MAC地址、發送端口的映射表。
還可以根據目的服務接入MAC地址、目的客戶MAC地址、發送端口之間的映射關聯獲得兩個表項(1)數據轉發表項目的客戶MAC地址、發送端口;(2)映射表項目的服務接入MAC地址、目的客戶MAC地址,將這兩個表項分別放入數據轉發表和映射表。
所述步驟B1進一步包括若所述確定的發送端口不是“MAC in MAC模式發送端口”,則將數據包從確定的發送端口發送;若所述確定的發送端口是“MAC in MAC模式發送端口”,則客戶網絡的邊沿設備對所述數據包封裝一個外部MAC頭,所述的外部MAC頭的源地址為源服務接入MAC地址,目的地址為目的服務接入MAC地址;然后從所述“MACin MAC模式發送端口”發送數據包。
運營商以太網邊沿設備對數據包的處理步驟為A2、若數據包來自服務接入端口且該端口是MAC in MAC模式接收端口,則對數據包封裝一個外部MAC頭,外部MAC頭的源地址為源服務接入MAC地址,目的地址為目的服務接入MAC地址,然后轉發已封裝了外部MAC頭的數據包;B2、若數據包不是來自服務接入端口,則根據數據包包含的源MAC地址進行地址學習,并根據數據包包含的目的MAC地址確定發送端口并進行轉發。
所述“MAC in MAC模式發送端口”是位于運營商以太網邊沿設備上的服務接入端口,所述運營商以太網的邊沿設備對所述數據包封裝或解封裝外部MAC頭。
所述步驟B2進一步包括若確定的發送端口是服務接入端口且該服務接入端口是MAC in MAC模式接收端口,則根據數據包外部MAC頭的源服務接入MAC地址、數據包內部MAC頭的源客戶MAC地址學習到一個目的客戶MAC地址和目的服務接入MAC地址之間的映射,然后解封裝所述數據包的外部MAC頭,從所述服務接入端口發送出去;若確定的發送端口是服務接入端口且該端口不是MAC in MAC模式接收端口,則將數據包通過確定的服務接入端口發送出去;若確定的發送端口不是服務接入端口,則按照現有的以太網數據轉發的方式轉發所述數據包。
在所述步驟A2之前還包括若數據包來自服務接入端口,并且所述服務接入端口不是MAC in MAC模式接收端口,則判斷所述數據包外部MAC頭的源地址是否是本地服務接入端口的地址,若是則進行轉發,否則丟棄數據包。
所述目的服務接入MAC地址是由所述映射表來確定;如果根據所述映射表無法確定目的服務接入MAC地址,則將目的服務接入MAC地址填寫為廣播地址或組播地址。
所述目的服務接入MAC地址可以由運營商以太網人工配置。
所述運營商以太網邊沿設備對來自所述服務接入端口的數據包關閉根據源客戶MAC地址進行地址學習的過程;并根據服務接入端口和服務接入MAC地址建立一個轉發項,該轉發項包括服務接入MAC地址、服務接入端口標識。
一種以太網數據傳輸系統,包括至少兩個客戶網絡和一個運營商以太網;所述客戶網絡通過其邊沿設備和服務接入端口連接來接入運營商以太網,所述服務接入端口位于運營商以太網邊沿設備上;包括至少一個客戶網絡邊沿設備包含外部MAC頭處理裝置,所述外部MAC頭處理裝置用于對數據包進行外部MAC頭的封裝或解封裝處理;所述外部MAC頭的地址為服務接入MAC地址,所述服務接入MAC地址是服務接入端口的地址。
所述運營商以太網的邊沿設備包含所述外部MAC頭處理裝置,所述運營商以太網邊沿設備直接和所述客戶網絡相連。
所述外部MAC頭處理裝置包括封裝模塊用于對發送到另一個客戶網絡的數據包封裝外部MAC頭,所述封裝模塊是通過查詢映射表存儲模塊得到目的服務接入MAC地址,然后對數據包封裝外部MAC頭;解封裝模塊用于對接收到的已封裝外部MAC頭的數據包解封裝外部MAC頭;轉發模塊用于轉發已封裝或者解封裝了外部MAC頭的數據包。
所述外部MAC頭處理裝置還包括映射表存儲模塊,用于存儲映射表;所述映射表是根據數據包的外部MAC頭的源服務接入MAC地址和內部MAC頭的源客戶MAC地址、數據包接收端口得到目的服務接入MAC地址和目的客戶MAC地址、發送端口之間的映射關聯。
所述運營商以太網邊沿設備包括一個轉發表存儲裝置,用于存儲轉發表,所述轉發表包括服務接入MAC地址、服務接入端口標識。
本發明的有益效果在于由于本發明的技術方案支持完全由客戶網絡的邊沿設備完成對數據包封裝或解封裝外部MAC頭的處理,因此整個運營商網絡能夠完全屏蔽客戶網絡內部的MAC地址。
由于本發明的技術方案中客戶網絡的邊沿設備對數據包封裝的外部MAC頭包含的是運營商可管理和事先已知的、數量有限的服務接入MAC地址,因此相對現有技術來說,此技術方案能夠使運營商以太網成為一個可管理的網絡并且能夠對收到的數據包進行有效的安全檢查。
在某些客戶網絡的邊沿設備沒有能力進行外部MAC頭封裝的情況下,由和其連接的運營商以太網邊沿設備進行外部MAC頭封裝,而具有外部MAC頭封裝或解封裝能力的客戶網絡仍在其邊沿設備完成服務接入MAC地址的外部MAC頭的封裝,從而保證整個運營商以太網的核心網仍然能夠屏蔽客戶網絡地址,并且盡量減少運營商以太網邊沿設備的客戶MAC地址存儲和處理量。
另外需要說明的是,在客戶網絡的邊沿設備進行服務接入MAC地址的封裝,從地址學習量來說并沒有給客戶網絡增加過大的負擔,因為客戶網絡本來就是要從事客戶網絡地址學習的,它增加的僅僅是有限的服務接入MAC地址的記錄。
圖1為現有技術中MAC in MAC封裝的網絡系統示意圖;圖2為本發明客戶網絡邊沿設備對稱MAC in MAC封裝的網絡系統示意圖;圖3為本發明客戶網絡邊沿設備非對稱MAC in MAC封裝的網絡系統示意圖;圖4為本發明客戶網絡邊沿設備對數據包收發處理的流程圖;圖5為本發明運營商以太網邊沿設備對數據包收發處理的流程圖;圖6為本發明的外部MAC頭處理裝置的結構示意圖。
具體實施例方式
本發明的核心為在一個運營商以太網與客戶網絡相連的網絡系統中,客戶網絡通過運營商以太網絡的邊沿設備上的服務接入端口接入運營商以太網,運營商以太網為客戶網絡分配一個能唯一標識該服務接入端口的MAC地址,這里稱其為服務接入MAC地址。運營商為支持不同的客戶服務,允許為同一個服務接入端口分配多個服務接入MAC地址,這些MAC地址將在對數據包封裝外部MAC頭時使用。
上述服務接入MAC地址的編址方式和地址空間可獨立于客戶MAC地址的地址空間和編址方式。這些服務接入MAC地址是可以被運營商以太網控制和管理的,而且其數量相對于客戶網絡內部的MAC地址來說,其數量是有限的。
本發明的技術方案中,對從一個客戶網絡經過運營商以太網發送到另一個客戶網絡的數據包,可以完全由客戶網絡的邊沿設備完成封裝或解封裝外部的MAC頭的處理。這種情況下,運營商以太網不需要存儲和處理客戶網絡內部大量MAC地址,因此,運營商以太網能夠完全屏蔽大量的客戶網絡內部MAC地址。或者,由和一個客戶網絡邊沿設備相連的運營商以太網的邊沿設備對數據包進行封裝或解封裝處理,另一個客戶網絡的邊沿設備仍然可以對數據包進行封裝或解封裝外部MAC處理;這種情況下,可以兼容現有的在運營商以太網的邊沿設備對數據包封裝外部MAC頭的處理方式,而且整個運營商以太網的核心網仍然能夠屏蔽客戶網絡地址。
“MAC in MAC模式發送端口”指的是對于一個端口,當數據包需要從該端口發送之前,需要先封裝一個外部MAC頭然后再從該端口發送出去,則該端口被稱為MAC in MAC模式發送端口。在本發明的技術方案中,當客戶網絡邊沿設備對數據包進行外部MAC頭的封裝或解封裝處理時,位于客戶網絡邊沿設備上并且和服務接入端口相連的端口為“MAC in MAC模式發送端口”。
MAC in MAC模式接收端口”指的是對于一端口,從該端口接收到的數據包需再封裝一個外部MAC頭才繼續進行轉發,則該端口被稱為MAC in MAC模式接收端口。在本發明的技術方案中,當運營商以太網的邊沿設備對數據包進行外部MAC頭的封裝或解封裝處理時,位于運營商以太網的邊沿設備上的服務接入端口同時也是“MAC in MAC模式發送端口”。
本發明的技術方案中的“服務接入端口”指的是若一運營商以太網邊沿設備的一個端口和客戶網絡直接相連,則該端口被稱為服務接入端口;本發明的技術方案中的“服務接入MAC地址”指的是服務接入端口的MAC地址;所述服務接入MAC地址能唯一標識所述服務接入端口;若運營商以太網邊沿設備和客戶網絡邊沿設備之間的物理鏈路是點到點鏈路,也可以將此鏈路的地址作為服務接入MAC地址,顯然此時該服務接入MAC地址也能唯一標識服務接入端口。
本發明的技術方案中的“客戶網絡”指的是運營商以太網為其提供傳送服務,和運營商以太網直接相連接的邊沿設備是以太網網橋,或者邊沿設備采用以太網接口同運營商以太網連接。
本發明的技術方案中的“運營商以太網”指的是為客戶網絡提供以太網數據傳送的由多個網橋互連組成的網絡。一個運營商以太網可以是一個服務提供者橋接網絡或一個服務提供者骨干橋接網絡,或者它由若干服務提供者橋接網絡和若干服務提供者骨干橋接網絡組成。
對稱MAC in MAC封裝是指通過運營商以太網進行互聯的兩個客戶網絡的邊沿設備能夠對數據包封裝外部MAC頭,所述外部MAC頭的地址是服務接入MAC地址。
下面結合附圖對本發明做進一步的詳細說明。
圖2所示為客戶網絡邊沿設備對稱MAC in MAC封裝的網絡系統示意圖。
如圖2所示客戶網絡CN1(Customer Network)和客戶網絡CN2都與運營商以太網CEN(Carrier Ethernet Network)相連;CB1、CB2分別為CN1和CN2的邊沿設備并且可以對發送到CEN的數據包封裝或解封裝外部MAC頭(外部MAC頭的源地址和目的地址分別為源服務接入MAC地址和目的服務接入MAC地址);PB1、PB2都是CEN的邊沿設備,CN1通過CB1上的端口B和服務接入端口A相連來接入CEN,CN2通過CB2上的端口D和服務接入端口Z相連來接入運營商以太網CEN。
在圖2所示的對稱MAC in MAC封裝的網絡模型中,數據包在從端口B、D發送前,必須封裝外部MAC頭才能發送出去,因此,端口B、D均為MAC inMAC模式發送端口,運營商網絡CEN向客戶網絡CN1的邊沿設備CB1配置并提供與其連接的服務接入端口A的地址,向客戶網絡CN2的邊沿設備CB2配置并提供與其連接的服務接入端口Z的地址,這些地址將在CB1、CB2對數據包封裝外部MAC頭時使用。
在圖2所示的網絡系統中,當數據包需從客戶網絡CN1經過運營商以太網CEN發送到客戶網絡CN2時,客戶網絡邊沿設備CB1、CB2及運營商以太網邊沿設備PB1、PB2對該數據流的主要處理過程如下1、客戶網絡邊沿設備CB1對數據包進行外部MAC頭的封裝,所述外部MAC頭的源地址為源服務接入MAC地址(和CB1相連的服務接入端口A的地址),目的地址為目的服務接入MAC地址(和CB2相連的服務接入端口Z的地址)。其中,目的服務接入MAC地址是通過查詢目的服務接入MAC地址、目的客戶MAC地址、發送端口之間的映射表來確定的;所述映射表是CB1對接收到的封裝了外部MAC的數據包進行解封裝處理時根據數據包外部MAC頭的源服務接入MAC地址和內部MAC頭的源客戶MAC地址建立的;如果根據映射表無法確定目的服務接入MAC地址,則將其填寫為廣播地址或組播地址;2、運營商以太網的邊沿設備PB1收到已封裝外部MAC頭的數據包后,對其進行安全檢查——如果數據包的外部MAC頭的源地址不是服務接入端口A的地址,則拋棄該數據包,否則繼續轉發;在此情況下,還可進一步進行優化處理對服務接入端口A,運營商以太網邊沿設備對來自所述服務接入端口A的數據包關閉根據源客戶MAC地址進行地址學習的過程,并且負責建立一個轉發表項服務接入MAC地址、服務接入端口標識,所述轉發表用于運營商網絡的邊沿設備轉發收到的數據包時,根據外部MAC頭的目的服務接入MAC地址確定發送端口;3、運營商以太網內部的設備進行地址學習——即根據數據包外部MAC頭的目的地址確定發送端口,然后通過確定的發送端口轉發數據包;4、運營商網絡邊沿設備PB2收到封裝了外部MAC頭的數據包后,根據外部MAC頭目的服務接入MAC地址確定服務接入端口Z,將數據包通過確定的服務接入端口Z發送出去。
5、客戶網絡的邊沿設備CB2收到已封裝了外部MAC頭的數據包后,根據數據包外部MAC頭的源服務接入MAC地址、內部頭的源客戶MAC地址和接收數據包的端口學習到目的服務接入MAC地址、目的客戶MAC地址、發送端口的映射關聯,然后解封裝數據包的外部MAC頭,通過確定的發送端口發送。
圖3所示為客戶橋網絡邊沿設備非對稱MAC in MAC封裝的網絡系統示意圖。
非對稱MAC in MAC封裝是指通過運營商以太網進行互聯的兩個客戶網絡,一個客戶網絡的同運營商以太網連接的邊沿設備具有服務接入MAC地址的封裝能力,另一個客戶網絡的同運營商以太網連接的邊沿設備不具有服務接入MAC地址的封裝能力。
如圖3所示CN1上的CB1不具有對發送到CEN的數據包封裝服務接入MAC地址的能力,而CN2上的CB2具有對發送到CEN的數據包封裝服務接入MAC地址的能力,此時需要和客戶網絡CN1連接的運營商邊沿設備PB1對數據包進行服務接入MAC地址的封裝。
這種情況下,端口D為MAC in MAC模式發送端口,即當CN2通過CEN發送數據包到CN1時,數據包必須由CB2完成服務接入MAC地址的封裝后,由MAC in MAC模式發送端口D發送;當CN1通過CEN發送數據包到CN2時,服務接入端口A收到的數據包必須由PB1完成服務接入MAC地址的封裝后再進行轉發,此時服務接入端口A同時也是MAC in MAC模式接收端口。
在如圖3所示的網絡系統中,當數據包從客戶網絡CN1經過運營商網絡CEN發送到客戶橋網絡CN2時,客戶邊沿設備CB1、CB2及運營商以太網邊沿設備PB1、PB2對該數據包的主要處理流程如下1、客戶網絡邊沿設備CB1對數據包按照傳統的以太網的數據轉發方式進行處理,即根據數據包的源地址進行地址學習,然后根據數據包的目的地址確定發送端口,然后從確定的發送端口發送數據包;2、運營商以太網的邊沿設備PB1收到來自于服務接入端口A的數據后,給數據包封裝一個外部MAC頭,然后轉發數據包。該外部MAC頭的源地址為服務接入端口A的地址,目的地址為目的服務接入MAC地址,即服務接入端口Z的地址。在此情況下,還可進一步進行優化處理對相應MAC inMAC模式接收端口(即服務接入端口A),運營商以太網邊沿設備對該服務接入端口采取禁止學習的方式,并且負責建立一個轉發表項服務接入MAC地址、服務接入端口標識,所述轉發表用于運營商網絡的邊沿設備轉發收到的數據包;3、運營商網絡內部的設備進行地址學習——即根據數據包外部MAC頭的目的服務接入MAC地址確定發送端口,然后通過確定的發送端口轉發數據包;4、運營商以太網的邊沿設備PB2收到封裝了外部MAC頭的數據包后,根據外部MAC頭的目的服務接入MAC地址確定發送端口,將數據包從發送端口發送出去;5、客戶網絡的邊沿設備CB2收到已封裝了外部MAC頭的數據包后,根據數據包外部MAC頭的源服務接入MAC地址、內部頭的源客戶MAC地址和接收數據包的端口進行地址學習,建立目的服務接入MAC地址、目的客戶MAC地址、發送端口的映射關聯,然后去掉數據包的外部MAC頭,通過發送端口發送。
實際上,客戶網絡的邊沿設備除了收到發送到另一個客戶網絡的數據包和通過運營商以太網發送給本客戶網絡的數據包之外,還會收到需要在本客戶網絡內部發送的數據包,同樣,運營商以太網的邊沿設備也會收到發送給內部其它設備的數據包,這些數據包的轉發都不需要進行服務接入MAC地址的封裝。因此,在上述兩種網絡系統,客戶橋網絡的邊沿設備對所有收到的數據包都需實施如圖4所示的如下處理流程1、當客戶網絡邊沿設備收到數據包后,若數據包來自于“MAC in MAC模式發送端口”,則根據數據包的外部MAC頭的和內部MAC頭的源地址進行地址學習,然后去掉數據包的外部MAC頭,根據數據包內部MAC頭的目的客戶MAC地址和轉發數據表確定發送端口,然后從確認的發送端口轉發數據包;上述地址學習的具體過程為根據數據包的外部MAC頭的源服務接入MAC地址、內部MAC頭的源客戶MAC地址和接收數據包的端口地址,學習到一個映射關聯目的服務接入MAC地址、目的客戶MAC地址、發送端口,從而建立如表1所示的目的服務接入MAC地址、目的客戶MAC地址、發送端口之間的映射表,該映射表用于對數據包封裝外部MAC頭時,根據數據包的目的客戶MAC地址確定外部MAC頭的目的服務接入MAC地址,還用于客戶網絡的邊沿設備轉發已封裝了外部MAC頭的數據包。
表1為了兼容目前的地址轉發表結構,也可通過外部頭源服務接入MAC地址和內部頭的源客戶MAC地址、接收數據包的端口地址的學習獲得兩個表項(1)數據轉發表項目的客戶MAC地址、發送端口;(2)映射表項目的服務接入MAC地址、目的客戶MAC地址。這兩個表項分別放入“轉發數據表”和“映射表”中。同傳統以太網地址學習技術,對該轉發數據表和映射表要采取相應的老化機制。
2、若接收的的數據包不是來自“MAC in MAC模式發送端口”,則根據數據包的源客戶MAC地址進行地址學習,并根據數據包的目的客戶MAC地址和轉發數據表確定發送端口;若確定的發送端口不是“MAC in MAC模式發送端口”,則按照傳統的以太網數據轉發方式進行轉發;如果確定的發送端口是“MAC in MAC模式發送端口”,則客戶網絡的邊沿設備對此數據包封裝一個外部MAC頭,該外部MAC頭的源地址和目的地址是運營商為其分配的服務接入MAC地址。具體的說,外部MAC頭的源地址為源服務接入MAC地址(P-S MAC),目的地址為目的服務接入MAC地址(P-DMAC)。源服務接入MAC地址是已經配置的在本地接入到運營商網絡的服務接入MAC地址,該值已由運營商網絡分配給本地,它和本地發送端口關聯;P-D MAC是在遠端客戶網絡接入到運營商網絡的服務接入MAC地址,它可由數據包包含的目的客戶MAC地址和建立的“目的客戶MAC地址和目的服務接入MAC地址的關聯映射表”來確定。若根據映射表無法確定P-D MAC,則將P-D MAC填寫為一個廣播地址或組播地址;“目的客戶MAC地址和目的服務接入MAC的關聯映射表”中和目的客戶MAC地址相關的單個項目,一般是經過映射學習獲得的,也可以由人工配置。當運營商以太網對客戶橋網絡提供的是點對點連接方式,此時P-D MAC和它的相應的P-S MAC存在固定的映射關系,因此不需要地址學習的過程,可由運營商以太網人工配置。
對應于運營商以太網的邊沿設備,則需要實施如圖5所示的數據包處理過程1、若數據包來自服務接入端口且該端口不是MAC in MAC模式接收端口,則判斷用戶數據包外部MAC頭的源地址是否是本地服務接入端口的地址,若是則根據轉發表進行轉發,否則丟棄此數據包,該過程可看作服務接入MAC地址安全檢查;2、若數據包來自服務接入端口且該端口是MAC in MAC模式接收端口,則對數據包封裝一個外部MAC頭,外部MAC頭的源地址為源服務接入MAC地址、目的地址為目的服務接入MAC地址,然后轉發數據包。
3、若數據包不是來自服務接入端口,則根據數據包包含的源MAC地址進行地址學習,并根據數據包包含的目的MAC地址確定發送端口;若確定的發送端口是服務接入端口且該服務接入端口是MAC in MAC模式接收端口,則根據數據包的外部MAC頭的源服務接入MAC地址、內部MAC頭的源客戶MAC地址和接收數據包的端口地址,學習到一個映射關聯目的服務接入MAC地址、目的客戶MAC地址、發送端口,從而建立如表1所示的目的服務接入MAC地址、目的客戶MAC地址、發送端口的映射表,該映射表用于對數據包封裝外部MAC頭時,根據數據包的目的客戶MAC地址確定外部MAC頭的目的服務接入MAC地址,還用于轉發已封裝了外部MAC頭的數據包。
若確定的發送端口是服務接入端口且該端口不是MAC in MAC模式接收端口,則將數據包通過發送端口發送出去;若確定的發送端口不是服務接入端口,則按照現有的以太網數據轉發方式進行轉發處理。
本發明還提供一種以太網數據傳輸系統,包括至少兩個客戶網絡和一個運營商以太網;所述客戶網絡通過其邊沿設備和服務接入端口連接來接入運營商以太網,所述服務接入端口位于運營商以太網邊沿設備;所述系統還包括至少一個客戶網絡邊沿設備包括外部MAC頭處理裝置,所述外部MAC頭處理裝置用于對數據包進行外部MAC頭的封裝及解封裝處理;可選地,所述運營商以太網的邊沿設備包含所述外部MAC頭處理裝置,所述運營商以太網邊沿設備直接和所述客戶網絡相連。
外部MAC頭處理裝置的結構如圖6所示,包括封裝模塊用于對發送到另一個客戶網絡的數據包封裝外部MAC頭,所述封裝模塊通過查詢映射表存儲模塊中存儲的目的服務接入MAC地址、目的客戶MAC地址、發送端口之間的映射關聯后,得到目的服務接入MAC地址后并對數據包封裝外部MAC頭;解封裝模塊用于對接收到的已封裝外部MAC頭的數據包進行解封裝外部MAC頭;轉發模塊用于轉發已封裝或解封裝了外部MAC頭的數據包。
外部MAC頭處理裝置還包括映射表存儲模塊,用于存儲映射表,所述映射表是根據數據包的外部MAC頭的源服務接入MAC地址和內部MAC頭的源客戶MAC地址、數據包接收端口得到目的服務接入MAC地址、目的客戶MAC地址、發送端口的映射關聯。
在本發明提供的系統中,運營商以太網邊沿設備包括轉發表存儲裝置,用于存儲轉發表,所述轉發表包括服務接入MAC地址、服務接入端口標識,所述轉發表用于運營商以太網的邊沿設備轉發收到的數據包。
當一個客戶網絡通過運營商以太網發送數據包到另一個客戶網絡時,客戶網絡的邊沿設備對數據包進行外部MAC頭的封裝處理,所述外部MAC頭的封裝處理由位于客戶網絡邊沿設備上的外部MAC頭處理裝置中的封裝模塊完成;被封裝了外部MAC頭的數據包經過運營商以太網發送到另一個客戶網絡時,由另一個客戶網絡邊沿設備上的外部MAC頭處理裝置中的解封裝模塊對數據包進行外部MAC頭的解封裝操作;如果,另一個客戶網絡的邊沿設備沒有外部MAC頭處理裝置,則由與另一個客戶網絡設備相連的運營商以太網邊沿設備上的外部MAC頭處理裝置中的解封裝裝置進行外部MAC頭的解封裝操作,然后將解封裝后的數據包后發送到另一個客戶網絡內部。
如果發送數據包的客戶網絡的邊沿設備上沒有外部MAC頭處理裝置,則由和其相連的運營商以太網邊沿設備上的外部MAC頭處理裝置對數據包封裝外部MAC頭;被封裝了外部MAC頭的數據包經過運營商以太網發送到另一個客戶網絡時,由另一個客戶網絡邊沿設備上的外部MAC頭處理裝置中的解封裝裝置對數據包進行外部MAC頭的解封裝操作。
在上述過程中,所封裝的外部MAC頭的源地址為源服務接入MAC地址,目的地址為目的服務接入MAC地址。
以上所述,僅為本發明較佳的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉該技術的人在本發明所揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。
權利要求
1.一種運營商以太網與客戶網絡之間傳輸數據的方法,其特征在于運營商以太網為客戶網絡配置服務接入MAC地址,所述服務接入MAC地址是所述運營商以太網邊沿設備上的服務接入端口的地址;數據包在從一個客戶網絡發送到運營商以太網內部前,所述數據包被封裝了外部MAC頭,所述外部MAC頭的源地址為源服務接入MAC地址,目的地址為目的服務接入MAC地址;所述數據包經過所述運營商以太網后,發送到另一個客戶網絡。
2.如權利要求1所述的方法,其特征在于,所述服務接入端口直接和客戶網絡邊沿設備相連。
3.如權利要求1所述的方法,其特征在于,所述服務接入MAC地址的地址空間和編址方式獨立于客戶MAC地址的地址空間和編址方式,允許為同一個服務接入端口分配多個服務接入MAC地址。
4.如權利要求1所述的方法,其特征在于,一個客戶網絡的邊沿設備對所述數據包封裝所述外部MAC頭,當已封裝了所述外部MAC頭的數據包通過運營商以太網發送到所述另一個客戶網絡時,所述另一個客戶網絡的邊沿設備解封裝所述數據包的外部MAC頭。
5.如權利要求1所述的方法,其特征在于,和一個客戶網絡連接的運營商以太網邊沿設備對所述數據包封裝所述外部MAC頭,當已封裝了所述外部MAC頭的數據包通過運營商以太網發送到所述另一個客戶網絡時,由另一個客戶網絡邊沿設備對所述數據包解封裝所述外部MAC頭;或者,一個客戶網絡的邊沿設備對所述數據包封裝所述外部MAC頭,當已封裝了所述外部MAC頭的數據包通過運營商以太網發送到所述另一個客戶網絡時,和所述另一個客戶網絡連接的運營商以太網邊沿設備對所述數據包解封裝所述外部MAC頭。
6.如權利要求4或5中所述的方法,其特征在于,所述客戶網絡邊沿設備對數據包的處理步驟為A1、若接收到的數據包來自于“MAC in MAC模式發送端口”,根據外部MAC頭的源地址和內部MAC頭的源地址進行地址學習;然后解封裝所述數據包的外部MAC頭,按照現有的以太網數據轉發方式轉發所述數據包;B1、若接收的數據包不是來自“MAC in MAC模式發送端口”,根據數據包的源客戶MAC地址進行地址學習,然后根據數據包的目的客戶MAC地址確定發送端口,從所述確定的發送端口發送數據包。
7.如權利要求6所述的方法,其特征在于,所述“MAC in MAC模式發送端口”是位于客戶網絡邊沿設備上并且和服務接入端口相連的端口,所述客戶網絡邊沿設備對所述數據包封裝或解封裝外部MAC頭。
8.如權利要求6所述的方法,其特征在于,所述步驟A1中所述的根據外部MAC頭的源地址和內部MAC頭的源地址進行地址學習包括如下步驟A11、根據數據包的外部MAC頭的源服務接入MAC地址和內部MAC頭的源客戶MAC地址、接收數據包的端口學習到目的服務接入MAC地址、目的客戶MAC地址、發送端口之間的映射關聯;A12、建立目的服務接入MAC地址、目的客戶MAC地址、發送端口的映射表。
9.如權利要求8所述的方法,其特征在于,還可以根據目的服務接入MAC地址、目的客戶MAC地址、發送端口之間的映射關聯獲得兩個表項(1)數據轉發表項目的客戶MAC地址、發送端口;(2)映射表項目的服務接入MAC地址、目的客戶MAC地址,將這兩個表項分別放入數據轉發表和映射表。
10.如權利要求6所述的方法,其特征在于,所述步驟B1進一步包括若所述確定的發送端口不是“MAC in MAC模式發送端口”,則將數據包從確定的發送端口發送;若所述確定的發送端口是“MAC in MAC模式發送端口”,則客戶網絡的邊沿設備對所述數據包封裝一個外部MAC頭,所述的外部MAC頭的源地址為源服務接入MAC地址,目的地址為目的服務接入MAC地址;然后從所述“MACin MAC模式發送端口”發送數據包。
11.如權利要求4或5所述的方法,其特征在于,所述運營商以太網邊沿設備對數據包的處理步驟為A2、若數據包來自服務接入端口且該端口是MAC in MAC模式接收端口,則對數據包封裝一個外部MAC頭,外部MAC頭的源地址為源服務接入MAC地址,目的地址為目的服務接入MAC地址,然后轉發已封裝了外部MAC頭的數據包;B2、若數據包不是來自服務接入端口,則根據數據包包含的源MAC地址進行地址學習,并根據數據包包含的目的MAC地址確定發送端口并進行轉發。
12.如權利要求11所述的方法,其特征在于,所述“MAC in MAC模式發送端口”是位于運營商以太網邊沿設備上的服務接入端口,所述運營商以太網的邊沿設備對所述數據包封裝或解封裝外部MAC頭。
13.如權利要求11所述的方法,其特征在于,所述步驟B2進一步包括若確定的發送端口是服務接入端口且該服務接入端口是MAC in MAC模式接收端口,則根據數據包外部MAC頭的源服務接入MAC地址、數據包內部MAC頭的源客戶MAC地址學習到一個目的客戶MAC地址和目的服務接入MAC地址之間的映射,然后解封裝所述數據包的外部MAC頭,從所述服務接入端口發送出去;若確定的發送端口是服務接入端口且該端口不是MAC in MAC模式接收端口,則將數據包通過確定的服務接入端口發送出去;若確定的發送端口不是服務接入端口,則按照現有的以太網數據轉發的方式轉發所述數據包。
14.如權利要求11所述的方法,其特征在于,在所述步驟A2之前還包括若數據包來自服務接入端口,并且所述服務接入端口不是MAC in MAC模式接收端口,則判斷所述數據包外部MAC頭的源地址是否是本地服務接入端口的地址,若是則進行轉發,否則丟棄數據包。
15.如權利要求1、4、5所述的方法,其特征在于,所述目的服務接入MAC地址是由所述映射表來確定;如果根據所述映射表無法確定目的服務接入MAC地址,則將目的服務接入MAC地址填寫為廣播地址或組播地址。
16.如權利要求1、4、5所述的方法,其特征在于,所述目的服務接入MAC地址可以由運營商以太網人工配置。
17.如權利要求4或5所述的方法,其特征在于,所述運營商以太網邊沿設備對來自所述服務接入端口的數據包關閉根據源客戶MAC地址進行地址學習的過程;并根據服務接入端口和服務接入MAC地址建立一個轉發項,該轉發項包括服務接入MAC地址、服務接入端口標識。
18.一種以太網數據傳輸系統,包括至少兩個客戶網絡和一個運營商以太網;所述客戶網絡通過其邊沿設備和服務接入端口連接來接入運營商以太網,所述服務接入端口位于運營商以太網邊沿設備上;其特征在于至少一個客戶網絡邊沿設備包含外部MAC頭處理裝置,所述外部MAC頭處理裝置用于對數據包進行外部MAC頭的封裝或解封裝處理;所述外部MAC頭的地址為服務接入MAC地址,所述服務接入MAC地址是服務接入端口的地址。
19.如權利要求18所述的系統,其特征在于,所述運營商以太網的邊沿設備包含所述外部MAC頭處理裝置,所述運營商以太網邊沿設備直接和所述客戶網絡相連。
20.如權利要求18或19所述的系統,其特征在于,所述外部MAC頭處理裝置包括封裝模塊用于對發送到另一個客戶網絡的數據包封裝外部MAC頭,所述封裝模塊是通過查詢映射表存儲模塊得到目的服務接入MAC地址,然后對數據包封裝外部MAC頭;解封裝模塊用于對接收到的已封裝外部MAC頭的數據包解封裝外部MAC頭;轉發模塊用于轉發已封裝或者解封裝了外部MAC頭的數據包。
21.如權利要求20所述的系統,其特征在于,所述外部MAC頭處理裝置還包括映射表存儲模塊,用于存儲映射表;所述映射表是根據數據包的外部MAC頭的源服務接入MAC地址和內部MAC頭的源客戶MAC地址、數據包接收端口得到目的服務接入MAC地址和目的客戶MAC地址、發送端口之間的映射關聯。
22.如權利要求18、19所述的系統,其特征在于,所述運營商以太網邊沿設備包括一個轉發表存儲裝置,用于存儲轉發表,所述轉發表包括服務接入MAC地址、服務接入端口標識。
全文摘要
本發明公開了一種運營商以太網與客戶網絡之間傳輸數據的方法和系統,用于解決現有技術中的運營商以太網不能屏蔽客戶網絡內部MAC地址問題。包括運營商以太網為客戶網絡配置服務接入MAC地址,所述服務接入MAC地址是所述運營商以太網邊沿設備上的服務接入端口的地址;數據包在從一個客戶網絡發送到運營商以太網內部前,所述數據包被封裝了外部MAC頭,所述外部MAC頭的源地址為源服務接入MAC地址,目的地址為目的服務接入MAC地址;所述數據包經過所述運營商以太網后,發送到另一個客戶網絡。本發明實現了運營商以太網屏蔽客戶網絡內部的MAC地址,同時使運營商以太網成為一個可管理的網絡。
文檔編號H04L12/56GK1946053SQ20061003299
公開日2007年4月11日 申請日期2006年1月14日 優先權日2006年1月14日
發明者鄒世敏 申請人:華為技術有限公司