專利名稱:一種實現數據中心二層互聯的方法和裝置的制作方法
技術領域:
本發明涉及網絡通信技術領域,特別涉及一種實現數據中心二層互聯的方法和裝置。
背景技術:
數據中心,是各種業務的提供中心,是數據處理、數據存儲和數據交換的中心。為了提供更好的服務,提供商通常在異地部署多個數據中心,實現負載分擔和高可靠性,并實現虛擬機在數據中心之間的自由遷移。由于虛擬機遷移過程對用戶透明,不能改變IP地址,所以必須在分布于異地的數據中心之間實現二層網絡互聯。數據中心互聯,需要滿足以下基本要求各站點互相獨立,站點內的拓撲和故障互不影響;對站點間傳輸數據時使用的技術與站點位置、提供商的網絡無特殊要求,具有傳輸無關性;使用多歸宿提供冗余接入,并在站點間避免流量環路,保證高可靠性;站點內拓撲結構實現靈活;運營維護簡單,可快速新增和減少站點。目前,在公網只支持IP技術時,只有思科的覆蓋傳輸虛擬化(OTV)技術能夠實現數據中心互聯。在各數據中心的邊緣設備的連接到核心網的物理端口上配置IP地址,并關聯一個或多個OTV虛擬接口,每個OTV虛擬接口可以作為二層轉發表的出接口。下面結合附圖對OTV技術進行說明。參見圖1,圖1是現有技術應用OTV技術實現數據中心二層互聯的組網示意圖。 其中網絡10為核心網,其上運行PUMRP協議,網絡12、16分別是數據中心站點,其上運行 cUMRP協議,網絡14是構建在網絡10上的虛擬網絡,其上運行oUMRP協議。在網絡12中, 包含邊緣設備XII,交換機S11,路由器R11、R12,主機H3通過交換機Sll接入,主機H12通過路由器Rll接入。在網絡16中,包含邊緣設備X12,交換機S12、S13,路由器R14、R15,主機Hl通過交換機S13接入。參見圖2,圖2是圖1中邊緣設備Xll的數據平面內部實現圖。其中,El和E2分別是連接主機H2和連接主機H3的內部接口,E3是連接核心網的外部接口,OTV虛擬接口 01 IPA關聯到E3。在Xll中存儲MAC地址映射表(如圖2中所示的MAC地址映射表),其中的H2/E1、H3/E2表項是通過MAC地址學習得到的,Hl/01 IPA表項則是從遠端OTV設備通告的IGP協議報文中得到的(如圖2中的線條21所示,表示將遠端站點通告的IGP協議報文中攜帶的MAC地址寫入MAC地址映射表),在圖1中,遠端OTV設備即為邊緣設備X12。例如,當Xl 1從El接收H2發來的報文時,進行MAC地址學習即可得到H2/E1表項并寫入MAC 地址映射表(如圖2中的線條22所示,表示對在內部以太網端口接收到的報文進行MAC地址學習),同時還將學習到的MAC地址映射表項通過IGP協議報文通告給遠端OTV設備;同樣的道理,Xll也會從遠端OTV設備通告的IGP協議報文中學習得到Hl/01: IPA表項。根據MAC地址映射表,Xll可以將來自于H2或H3且目的地址為Hl的報文進行OTV封裝,并從01 IPA關聯的物理接口 E3發送出去;將來自Hl且目的地址為H2或H3的報文解封裝后從相應的E2或E3接口發送出去。
在圖1所示的組網中,如果需要支持廣播,則需要預先在Xll和X12上配置由核心網分配的任意源組播(ASM/Bidir)類型的IP組播組。當Xll在內部接口接收到廣播報文時,將廣播報文進行OTV封裝后發送到核心網的組播樹中,由核心網組播轉發到遠端OTV設備X12,X12將接收到的廣播報文解封裝后,在其所在的數據中心網絡內廣播。如果需要支持組播,則需要在網絡12和16上運行IGMP/MLD偵聽,在Xll和X12上記錄組播信息到組播轉發表,在核心網中構建組播組的特定源組播(SSM)樹,并根據該組播樹組播轉發數據中心之間的組播報文。可見,如果在應用OTV技術實現數據中心二層互聯的組網中,核心網必須支持組播,否則,將無法實現廣播轉發和組播轉發需求,進而也無法實現數據中心二層互聯。
發明內容
有鑒于此,本發明的目的在于提供一種實現數據中心二層互聯的方法,該方法不需要核心網支持組播。為了達到上述目的,本發明提供了一種實現數據中心二層互聯的方法,預先針對每個遠端站點生成一個虛擬橋接端口,并在隧道封裝映射表中配置該虛擬橋接端口對應的隧道封裝映射表項;所述隧道封裝映射表項包括虛擬橋接端口、遠端站點的邊緣設備的 IP地址、本地站點的邊緣設備的IP地址,該方法包括邊緣設備在內部以太網端口接收到以太網報文時,確定該以太網報文的所有出端口,對于該以太網報文的所有出端口中的每一個虛擬橋接端口,根據該虛擬橋接端口對應的隧道封裝映射表項對該以太網報文進行隧道封裝后向遠端站點發送;對于該以太網報文的所有出端口中的每一個內部以太網端口,將該以太網報文從該內部以太網端口轉發出去;邊緣設備從核心網接收到經隧道封裝,且目的IP地址為該邊緣設備的IP地址的 IP報文時,將該IP報文解隧道封裝得到該IP報文的源IP地址、目的IP地址以及原始的以太網報文,得到接收該原始以太網報文的虛擬橋接端口,確定該原始以太網報文的所有內部以太網出端口,將該原始以太網報文從確定的每個內部以太網出端口發送出去。本發明還提供了一種實現數據中心二層互聯的裝置,該裝置為數據中心的邊緣設備,該裝置包括配置單元、第一報文收發單元、封裝/解封裝單元、控制單元、第二報文收發單元;所述配置單元,用于預先針對每個遠端站點生成一個虛擬橋接端口,并在隧道封裝映射表中配置該虛擬橋接端口對應的隧道封裝映射表項;所述隧道封裝映射表項包括 虛擬橋接端口、遠端站點的邊緣設備的IP地址、本地站點的邊緣設備的IP地址;所述第一報文收發單元,用于在內部以太網端口接收以太網報文,并將該以太網報文發送到控制單元;用于在控制單元接收到第一報文收發單元發送的以太網報文,并確定該以太網報文的所有出端口后,對于該以太網報文的所有出端口中的每一個內部以太網端口,將該以太網報文從該內部以太網端口轉發出去;用于在控制單元接收到封裝/解封裝單元發送的原始以太網報文,并確定該原始以太網報文的所有內部以太網出端口后,將該原始以太網報文從確定的每個內部以太網出端口發送出去;所述控制單元,用于接收第一報文收發單元發來的以太網報文,確定該以太網報文的所有出端口 ;用于接收封裝/解封裝單元發來的原始以太網報文,得到接收該原始以太網報文的虛擬橋接端口,確定該原始以太網報文的所有內部以太網出端口 ;所述封裝/解封裝單元,用于在控制單元接收到第一報文收發單元發送的以太網報文,并確定該以太網報文的所有出端口后,對于該以太網報文的所有出端口中的每一個虛擬橋接端口,根據該虛擬橋接端口對應的隧道封裝映射表項,對該以太網報文進行隧道封裝,并將經隧道封裝后的以太網報文發送到第二報文收發單元;用于接收第二報文收發單元發來的經隧道封裝,且目的IP地址為該邊緣設備的IP地址的IP報文,將所述IP報文解隧道封裝得到該IP報文的源IP地址、目的IP地址以及原始的以太網報文,將該原始以太網報文發送到控制單元;所述第二報文收發單元,用于接收封裝/解封裝單元發來的經隧道封裝的以太網報文,并將該經隧道封裝的以太網報文向遠端站點發送;用于從核心網接收所述IP報文, 將所述IP報文發送到封裝/解封裝單元。由上面的技術方案可知,本發明通過在本地邊緣設備上針對每個遠端站點生成一個虛擬橋接端口,通過該虛擬橋接端口建立與該遠端站點的隧道;在發送以太網報文到遠端站點時,根據該遠端站點對應的隧道封裝映射表項將該以太網報文進行隧道封裝后向該遠端站點發送;在接收到來自核心網的,經過隧道封裝的IP報文時,將該IP報文解隧道封裝得到原始的以太網報文,將該原始以太網報文從內部以太網端口轉發。本發明中,站點之間通過隧道進行報文傳輸,不需要核心網支持組播。
圖1是現有技術應用OTV技術實現數據中心二層互聯的組網示意圖;圖2是圖1中邊緣設備Xll的數據平面內部實現圖;圖3是數據中心站點二層互聯的組網示意圖;圖4是本發明實施例邊緣設備功能結構示意圖;圖5是本發明數據中心站點二層互聯的組網示意圖;圖6是本發明實施例實現數據中心二層互聯的方法流程圖;圖7是本發明實施例邊緣設備的結構示意圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,下面結合附圖并舉實施例, 對本發明的技術方案進行詳細說明。數據中心站點的二層互聯,主要是通過各數據中心站點的邊緣設備實現。參見圖 3,圖3是數據中心站點二層互聯的組網示意圖,只畫出了各站點的邊緣設備,站點內部拓撲不是本發明的重點,因此未在圖中畫出。圖3中,站點A、B、C、D、E分別通過各自的邊緣設備1、2、3、4、5接入核心網。這里,需要說明的是,本申請文件中所述的站點,也即是數據中心站點。本發明的一個實施方案中,本地站點的邊緣設備針對每個遠端站點生成虛擬橋接端口。以圖3為例,站點A的邊緣設備1分別針對遠端站點B、C、D、E生成四個虛擬橋接端口 ;站點B的邊緣設備2分別針對遠端站點A、C、D、E生成四個虛擬橋接端口,依次類推。任意兩個站點之間通過針對端站點生成的虛擬橋接端口建立點到點的隧道,在隧道進行報文傳輸,實現數據中心站點間的二層互聯。參見圖4,圖4是本發明實施例邊緣設備功能結構示意圖,將邊緣設備的功能分為 3個部分,分別為P(Provider)、O(Over)、C(Customer)。其中,P主要用作虛擬的核心網設備,提供邊緣設備連接到核心網的通道;0,主要用作虛擬的邊緣設備,提供站點間互聯的通道;C主要用作虛擬的私網設備,提供內部設備聯結到邊緣設備的通道。每部分功能相當于一臺邏輯設備,由管理平面MP、控制平面CP和數據平面DP組成。這里,管理平面不是本發明的重點,不再詳述。下面分別對控制平面和數據平面進行詳細說明邊緣設備的控制平面分為P-CP,O-CP,C-CP三個部分。其中,P_CP 主要用于控制與公網交互協議報文,例如,控制與公網交互三層路由信息。0-CP,主要用于控制與指定的遠端站點建立點對點隧道,進行MAC地址信息交互,感知遠端站點的隧道是否可達。C-CP, 主要用于控制站點間二層協議交互信息,例如IGMP Snooping ;用于將單播MAC地址信息發布給O-CP,再由O-CP傳播給其它站點。邊緣設備的數據平面分為P-DP,O-DP, C-DP三個部分。其中,C-DP主要用于對從站點內部接收到的報文進行二層轉發處理;用于對從O-DP進入的報文進行二層轉發處理; 用于觸發MAC地址學習,并將學習到的MAC地址信息送入O-DP。O-DP主要用于對報文進行隧道封裝和解隧道封裝;用于針對從C-DP進入的MAC地址信息,觸發與遠端站點的MAC地址信息交互。P-DP主要用于與公網之間的三層協議交互。參見圖5,圖5是本發明數據中心站點二層互聯的組網示意圖,包括站點A、B、C,其中,站點A、B、C接入核心網的IP地址分別為ipA、ipB、ipC。圖中還給出了站點C中邊緣設備3的內部結構圖,邊緣設備3主要包含處理器、連接站點內主機H3的內部以太網端口 E1、 連接站點內主機H4的內部以太網端口 E2、針對遠端站點A生成的虛擬橋接端口 vEthl、針對遠端站點B生成的虛擬橋接端口 vEth2。其中,處理器,主要用于對從內部以太網端口接收到的以太網報文和從核心網的接收到的報文進行處理。按照處理器對報文的處理功能, 又分為兩部分功能模塊隧道封裝/解封裝功能模塊、二層交換處理功能模塊。為了實現在站點之間通過隧道進行報文傳輸,邊緣設備需要維護一個隧道封裝映射表(如圖5中所示的隧道封裝映射表),在隧道封裝映射表中為針對每個遠端站點生成的虛擬橋接端口配置對應的隧道封裝映射表項。其中,每個隧道封裝映射表項包含針對遠端站點生成的虛擬橋接端口、遠端站點的邊緣設備的IP地址,本地站點的邊緣設備的IP地址。邊緣設備在向遠端站點發送報文時,先根據該遠端站點對應的隧道封裝映射表項,對報文進行隧道封裝,再根據路由表將封裝后的報文發送到核心網;邊緣設備接收到來自核心網的經過隧道封裝,且目的IP地址為本機IP地址的IP報文時,先將報文解隧道封裝得到該IP報文的源IP地址、目的IP地址以及原始的以太網報文,得到接收該原始以太網報文的虛擬橋接端口 ;最后確定該原始以太網報文的內部以太網出端口,并從確定的每個內部以太網出端口轉發。這里,根據IP報文的源IP地址和目的IP地址查找隧道封裝映射表, 確定接收該原始以太網報文的虛擬橋接端口。此外,為了實現報文的二層轉發,邊緣設備還需要維護一個MAC地址映射表(如圖 5中所示的MAC地址映射表),該MAC地址映射表與現有技術的MAC地址映射表相同,可以通過對接收到的以太網報文進行MAC地址學習得到。不同之處在于本發明中的MAC地址映射表中,還包含虛擬橋接端口對應的MAC地址映射表項,也即包含以虛擬橋接端口為出端口的MAC地址映射表項。獲得虛擬橋接端口對應的MAC地址映射表項的方法有兩種。一種是按照現有技術的方法,對在虛擬橋接端口接收到的以太網報文進行MAC地址學習。另外一種是,邊緣設備將學習到的站點內部的新的MAC地址信息通過隧道通過給每個遠端站點;邊緣設備在接收到遠端站點通告的新的MAC地址信息時,將遠端站點通告的新的MAC地址信息寫入MAC地址映射表。上面是對本發明的一個實施方案的簡單介紹,下面對該實施方案的具體實現過程進行詳細說明。參加圖6,圖6是本發明實施例實現數據中心二層互聯的方法流程圖,包括以下步驟步驟601、預先針對每個遠端站點生成虛擬橋接端口,并在隧道封裝映射表中配置該虛擬橋接端口對應的隧道封裝映射表項。這里,虛擬橋接端口是針對每個遠端站點生成的虛擬以太網端口,沒有物理實體, 但具有與物理以太網端口相同的功能。任意兩個站點之間通過各自邊緣設備上生成的針對對端站點的虛擬橋接端口建立點對點的隧道,實現數據中心站點之間的二層互聯。 虛擬橋接端口是本地站點的邊緣設備針對每個遠端站點生成的,本地站點的公網 IP地址、遠端站點的公網IP地址、以及本地站點針對該遠端站點生成的虛擬橋接端口之間具有相互對應關系。實際上,由于各站點是通過邊緣設備接入核心網的,邊緣設備接入核心網的IP地址就是該邊緣設備所在站點的公網IP地址,也即該邊緣設備的IP地址。本發明實施例中,在隧道封裝映射表中存儲該對應關系,每個對應關系稱為一個隧道封裝映射表項,包括虛擬橋接端口、遠端站點的邊緣設備的IP地址、本地站點的邊緣設備的IP地址。隧道封裝映射表項用于邊緣設備與遠端站點之間進行通信時報文的隧道封裝和解隧道封裝。步驟602、邊緣設備在內部以太網端口接收到以太網報文時,確定該以太網報文的所有出端口,對于該以太網報文的所有出端口中的每一個虛擬橋接端口,根據該虛擬橋接端口對應的隧道封裝映射表項對該以太網報文進行隧道封裝后向遠端站點發送;對于該以太網報文的所有出端口中的每一個內部以太網端口,將該以太網報文從該內部以太網端口發送出去。本步驟中,當邊緣設備在內部以太網端口接收到以太網報文時,需要根據該以太網報文的目的MAC確定對應的出端口,并根據對應的出端口進行報文發送。當出端口為虛擬橋接端口時,說明該報文的目的地址為該虛擬橋接端口對應的遠端站點,因此需要根據該虛擬橋接端口對應的隧道封裝映射表項對該以太網報文進行隧道封裝后發送出去;當出端口是內部以太網端口時,則只需按照現有技術的方法將報文從相應的內部以太網端口直接發送出去即可。這里,所述根據該虛擬橋接端口對應的隧道封裝映射表項對該以太網報文進行隧道封裝的方法為將該虛擬橋接端口對應的隧道封裝映射表項中的本地站點的邊緣設備的 IP地址、遠端站點的邊緣設備的IP地址分別作為源IP地址、目的IP地址對該以太網報文進行封裝。步驟603、邊緣設備從核心網接收到經隧道封裝,且目的IP地址為該邊緣設備的IP地址的IP報文時,將該IP報文解隧道封裝得到該IP報文的源IP地址、目的IP地址以及原始的以太網報文,根據該IP報文的源IP地址和目的IP地址查找隧道封裝映射表,得到接收該原始以太網報文的虛擬橋接端口,確定該原始以太網報文的所有內部以太網出端口,將該原始以太網報文從確定的每個內部以太網端口發送出去。本步驟中,邊緣設備從核心網接收到經過隧道封裝,且目的IP地址為該邊緣設備的IP地址的IP報文時,說明該IP報文是遠端站點通過與本地站點之間建立的點對點的隧道發來的報文,需要將IP報文解隧道封裝得到原始以太網報文,再根據該原始以太網報文的目的MAC確定報文的出端口。這里,所述根據該IP報文的源IP地址和目的IP地址查找隧道封裝映射表,確定對應的虛擬橋接端口的方法為將該IP報文的源IP地址、目的IP地址分別與隧道封裝映射表中每個隧道封裝映射表項中的遠端站點的邊緣設備的IP地址、本地站點的邊緣設備的IP地址進行比較,如果相同,則確定對應的虛擬橋接端口為該隧道封裝映射表項中的虛擬橋接端口。圖6所示的本發明實施例中,邊緣設備從核心網接收到經過隧道封裝,且目的IP 地址為該邊緣設備的IP地址的IP報文時,其中封裝的原始以太網報文是針對本地站點發送的,不允許再重新發回到核心網中,可以在邊緣設備上設置水平分割屬性;邊緣設備將 IP報文解封裝得到原始以太網報文,根據所述水平分割屬性,確定該原始以太網報文的出端口僅限于內部以太網出端口。通過設置的水平分割屬性,使得該原始以太網報文不會被發送回核心網。上述的水平分割屬性,可以通過端口的源標識(Source ID)實現。現有技術中, 每個端口都分配有一個源標識(Source ID),在該端口接收到以太網報文時,為該以太網報文設置相同的Source ID值;在轉發該以太網報文時,先比較該以太網報文的出端口的 Source ID值是否與該以太網報文的Source ID值相同,如果相同,則不允許從該出端口。 這樣可以避免將該以太網報文從接收該以太網報文的端口發送,達到環路避免的目的。本實施例中,為了實現將來自其它站點的原始以太網報文僅在本站點內部傳播的目的,通過端口的源標識(Source ID)實現的水平分割屬性具體可以為為每個內部以太網端口設置不同的Source ID值;將所有虛擬橋接端口的Source ID值設置為相同的值;且虛擬橋接端口的Source ID值與每個內部以太網端口的Source ID值均不相同;那么,所述邊緣設備確定該原始以太網報文的所有內部以太網出端口的方法為 將該原始以太網報文的所有出端口中與所述虛擬橋接端口的Source ID值不同的出端口確定為該原始以太網報文的內部以太網出端口。這樣,由于所有虛擬橋接端口的Source ID值都是相同的,從虛擬橋接端口接收到的原始以太網報文,不會再從其它的虛擬橋接端口發送出去。無論是單播報文、廣播報文或組播報文,均只能在本地站點內傳播。圖6所示的本發明實施例中,邊緣設備從內部以太網端口接收到報文時,可以進行MAC地址學習,如果學習到的是新的MAC地址信息,則還可以將學習到的新的MAC地址信息通告給每個遠端站點。因此,步驟602中,邊緣設備在內部以太網端口接收到以太網報文之后,確定該以太網報文的所有出端口之前,進一步包括進行MAC地址學習,并將該學習到的新的MAC地址信息通告給每個遠端站點。這里,如果該以太網報文屬于某個VLANJIJK述MAC地址信息除了包括MAC地址外,還包括該以太網報文所屬的VLAN,此與現有技術相同。這里,判斷學習到的源MAC地址是否是新的MAC地址的方法為在MAC地址映射表查找該源MAC地址對應的MAC地址映射表項,如果查找到對應的MAC地址映射表項,則該源 MAC地址不是新的MAC地址,否則,該源MAC地址是新的MAC地址。邊緣設備可以通過與每個遠端站點間建立的點對點的隧道,將學習到的新的MAC 地址通告給每個遠端站點。因此,所述將該學習到的新的MAC地址通告給每個遠端站點的方法為將該學習到的新的MAC地址信息攜帶在IGP協議報文中,根據該遠端站點對應的隧道封裝映射表項,對該IGP協議報文進行隧道封裝后發送到核心網;另一方面,邊緣設備也會接收到遠端站點通過隧道通告的新的MAC地址信息。因此,所述得到接收該原始以太網報文的虛擬橋接端口之后,進一步包括判斷該原始以太網報文的協議類型,如果是IGP協議報文,則將該IGP協議報文中攜帶的MAC地址信息以及接收該原始以太網報文的虛擬橋接端口分別作為MAC地址映射表項的MAC地址信息、出端口寫入MAC地址映射表。另外,邊緣設備從核心網接收到的經隧道封裝,且目的IP地址為本機IP地址的IP 報文后,也可以按照與在內部以太網端口上接收到報文時相同的MAC地址學習方法,學習該IP報文中封裝的原始以太網報文的源MAC地址。因此,在步驟603中,所述得到接收該原始以太網報文的虛擬橋接端口之后,確定該原始以太網報文的所有內部以太網出端口之前,進一步包括學習該原始以太網報文的源MAC地址到接收該原始以太網報文的虛擬橋接端口。現有技術中,當交換機在物理以太網端口接收到報文時,如果接收到的報文為單播報文,則可以查找MAC地址映射表確定報文的出端口 ;如果接收到的報文是廣播報文,則將該報文在路由設備的所有其它物理端口上泛洪,也即交換機上所有其它物理端口均是該報文的出端口 ;如果接收到的報文是組播報文,則根據該報文所屬組播組的出接口列表進行報文轉發。本發明中,虛擬橋接端口和實際的物理以太網端口具有相同的功能,也同樣可以參與單播報文、廣播報文、組播報文的轉發,例如,當邊緣設備接收到廣播報文,需要在所有端口泛洪時,所述所有端口中應當包含虛擬橋接端口。因此,步驟602中所述確定該在內部以太網端口接收到的以太網報文的所有出端口的方法為如果該以太網報文為單播報文,則根據該以太網報文的目的MAC地址在MAC地址映射表中查找對應的出端口,若未查找到,則確定該以太網報文的出端口為所有其它內部以太網端口 ;這里,當在MAC地址映射表中查找不到該以太網報文對應的出端口時,為了減少流量,只將該以太網報文在站點內部泛洪,不泛洪到虛擬橋接端口,因此,該以太網報文的出端口為除接收該以太網報文的內部以太網端口外的所有其它內部以太網端口。如果該以太網報文為廣播報文,則確定該報文的出端口為所有虛擬橋接端口和所有其它內部以太網端口 ;這里,當在內部以太網端口接收到的以太網報文為廣播報文時,按照現有技術的方法,需要將該以太網報文在所有端口上泛洪,因此,該以太網報文的出端口包括所有虛擬橋接端口、以及除接收該以太網報文的內部以太網端口外的其它內部以太網端□。
如果該以太網報文為組播報文,則根據該以太網報文的目的MAC查找該以太網報文對應的組播組得到所有出端口,若未查找到,則確定該以太網報文的出端口為所有其它內部以太網接口。這里,當在內部以太網端口接收到的以太網報文為組播報文時,按照現有技術的方法,需要將該以太網報文在其對應的組播組的各成員端口復制發送,因此,該以太網報文的出端口為該以太網報文對應的組播組的成員端口,也即該以太網報文對應的組播組的出接口列表中的所有出端口。步驟603中,確定將IP報文解隧道封裝得到的在虛擬橋接端口接收到的原始以太網報文的所有出端口的方法為如果該原始以太網報文為單播報文,則根據該原始以太網報文的目的MAC地址在 MAC地址映射表中查找對應的出端口,若未查找到,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口 ;這里,當在MAC地址映射表中未查找到該原始以太網報文的MAC地址映射表項時,和現有技術相同,應當將該原始以太網報文在所有端口泛洪,因此,該原始以太網報文的出端口為所有內部以太網端口和除接收該以太網報文的虛擬橋接端口外的所有其它虛擬橋接端口。另外,由于該原始以太網報文是遠端站點針對本地站點發送的,即使該原始以太網報文對應的所有出端口中包含虛擬橋接端口,也不允許重新發送回核心網。因此,在對該原始以太網報文進行轉發時,根據在該邊緣設備上設置的水平分割屬性,只將該原始以太網報文從所有出端口中的內部以太網出端口發送出去。如果該原始以太網報文是廣播報文,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口 ;這里,當該原始以太網報文為廣播報文時,按照現有技術的方法,應當將該原始以太網報文在所有端口泛洪,因此,該原始以太網報文的出端口為所有內部以太網端口和除接收該以太網報文的虛擬橋接端口外的所有其它虛擬橋接端口。另外,由于該原始以太網報文是遠端站點針對本地站點發送的,即使出端口中包含虛擬橋接端口,也不允許重新發送回核心網。因此,在對該原始以太網報文進行轉發時,根據在該邊緣設備上設置的水平分割屬性,只將該以太網報文從所有出端口中的內部以太網出端口發送出去。如果該原始以太網報文為組播報文,則根據該原始以太網報文的目的MAC查找該原始以太網報文對應的組播組得到所有出端口,若未查找到,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口。這里,當該原始以太網報文為組播報文時,按照現有技術的方法,需要將該以太網報文在其對應的組播組的各成員端口復制發送,因此,該以太網報文的出端口為該以太網報文對應的組播組的當前已經獲取得到的成員端口,存儲在組播組的出接口列表中。另外,由于該原始以太網報文是遠端站點針對本地站點發送的,即使出端口中包含虛擬橋接端口,也不允許重新發送回核心網。因此,在對該原始以太網報文進行轉發時,根據在該邊緣設備上設置的水平分割屬性,只將該以太網報文從所有出端口中的內部以太網出端口發送出去。前面所述內容是對基于邊緣設備不支持VLAN的情況下確定報文的出端口的方法進行說明,然而,目前的多數設備都支持VLAN,因此,下面對邊緣設備支持VLAN的情況下的確定報文的出端口的方法進行說明。圖6所示本發明實施例中,在針對每個遠端站點生成一個虛擬橋接端口時,還可以進一步在該虛擬橋接端口上配置VLAN。在邊緣設備的虛擬橋接端口上配置VLAN,在數據中心之間進行報文傳輸時,只將該報文在其所屬的VLAN中進行轉發。在虛擬橋接端口配置 VLAN的情況下,可以控制報文的傳播范圍,在一定程度上縮小廣播域。步驟602中,所述確定該在內部以太網端口接收到的以太網報文的所有出端口的方法為如果該以太網報文為單播報文,則根據該以太網報文的目的MAC地址和該以太網報文所屬的VLAN在MAC地址映射表中查找對應的出端口,若未查找到,則確定該以太網報文的出端口為該以太網報文所屬VLAN中的所有其它內部以太網端口 ;如果該以太網報文為廣播報文,則確定該以太網報文的出端口為該以太網報文所屬VLAN中的所有虛擬橋接端口和所有其它內部以太網端口 ;如果該以太網報文為組播報文,則根據該以太網報文的目的MAC和該以太網報文所屬的VLAN查找該以太網報文對應的組播組得到所有出端口,若未查找到對應的組播組, 則確定該以太網報文的出端口為所有其它內部以太網接口。步驟603中,確定將IP報文解隧道封裝后得到的在虛擬橋接端口接收到的原始以太網報文的所有出端口的方法為如果該原始以太網報文為單播報文,則根據該原始以太網報文的目的MAC地址和該原始以太網報文所屬VLAN在MAC地址映射表中查找對應的出端口,若未查找到,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口;如果該原始以太網報文是廣播報文,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口 ;如果該原始以太網報文為組播報文,則根據該原始以太網報文的目的MAC地址和該原始以太網報文所屬VLAN查找該原始以太網報文對應的組播組得到所有出端口,若未查找到,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端在實際應用中,組播組路由器會定期發送組播查詢報文,例如,IGMP查詢報文,當交換機接收到該組播查詢報文時,將接收該組播查詢報文的端口設置為該組播查詢報文對應的組播組的路由器端口,并將該組播查詢報文從交換機的所有端口轉發出去。當主機需要加入一個組播組時,會發送組播加入報文,例如IGMP加入報文,運行組播偵聽協議的交換機接收到該組播加入報文時,根據該組播加入報文的目的MAC確定對應的組播組,并將接收該組播加入報文的端口作為該組播組的成員端口,加入到該組播組的出接口列表中, 然后將該組播加入報文從該組播組的路由器接口轉發出去。當交換機接收到組播數據報文時,則先根據該組播數據報文的目的MAC確定對應的組播組,再將組播數據報文在該對應的組播組的出接口列表中的所有出接口上復制發送。圖6所示本發明實施例中,可以在邊緣設備上運行組播偵聽協議,用以獲取每個組播組的成員端口信息。這里,所述組播偵聽協議可以是IGMP協議、PIM協議、或MLD協議。這樣,邊緣設備確定在內部以太網接口接收到的以太網報文為組播報文后,進一步包括判斷該以太網報文是否是組播查詢報文或組播加入報文,如果是組播查詢報文,則將接收該組播查詢報文的內部以太網端口設置為該組播查詢報文對應的組播組的路由器接口,并確定該組播查詢報文的出端口為所有其它內部以太網端口 ;如果是組播加入報文, 則將接收該組播加入報文的內部以太網端口加入到該組播加入報文對應的組播組的出接口列表,并確定該組播加入報文的出端口為該組播加入報文對應的組播組的路由器接口 ;
邊緣設備將從核心網接收到IP報文解隧道封裝得到原始以太網報文,并確定該原始以太網報文為組播報文后,進一步包括判斷該原始以太網報文是否是組播查詢報文或組播加入報文,如果是組播查詢報文,則將該組播查詢報文對應的虛擬橋接端口設置為該組播查詢報文對應的組播組的路由器接口,并確定該組播查詢報文的出端口為所有內部以太網端口 ;如果是組播加入報文,則將該組播加入報文對應的虛擬橋接端口加入到該組播加入報文對應的組播組的出接口列表,并確定該組播加入報文的出端口為該組播加入報文對應的組播組的路由器接口。 以上是對本發明實施例的實現方法進行說明,本發明還提供了一種邊緣設備,能夠實現數據中心二層互聯,且不需要核心網支持組播。參見圖7,圖7是本發明實施例邊緣設備的結構示意圖。該邊緣設備包括配置單元701、第一報文收發單元702、控制單元703、封裝/解封裝單元704、第二報文收發單元 705 ;其中,配置單元701,用于預先針對每個遠端站點生成一個虛擬橋接端口,并在隧道封裝映射表中配置該虛擬橋接端口對應的隧道封裝映射表項;所述隧道封裝映射表項包括虛擬橋接端口、遠端站點的邊緣設備的IP地址、本地站點的邊緣設備的IP地址;第一報文收發單元702,用于在內部以太網端口接收以太網報文,并將該以太網報文發送到控制單元703 ;用于在控制單元703接收到第一報文收發單元702發送的以太網報文,并確定該以太網報文的所有出端口后,對于該以太網報文的所有出端口中的每一個內部以太網端口,將該以太網報文從該內部以太網端口轉發出去;用于在控制單元703接收到封裝/解封裝單元704發送的原始以太網報文,并確定該原始以太網報文的所有內部以太網出端口后,將該原始以太網報文從確定的每個內部以太網出端口發送出去;控制單元703,用于接收第一報文收發單元702發來的以太網報文,確定該以太網報文的所有出端口 ;用于接收封裝/解封裝單元704發來的原始以太網報文,得到接收該原始以太網報文的虛擬橋接端口,確定該原始以太網報文的所有內部以太網出端口 ;封裝/解封裝單元704,用于在控制單元703接收到第一報文收發單元702發送的以太網報文,并確定該以太網報文的所有出端口后,對于該以太網報文的所有出端口中的每一個虛擬橋接端口,根據該虛擬橋接端口對應的隧道封裝映射表項,對該以太網報文進行隧道封裝,并將經隧道封裝后的以太網報文發送到第二報文收發單元705;用于接收第二報文收發單元705發來的經隧道封裝,且目的IP地址為該邊緣設備的IP地址的IP報文,將所述IP報文解隧道封裝得到該IP報文的源IP地址、目的IP地址以及原始的以太網報文,將該原始以太網報文發送到控制單元703 ;第二報文收發單元705,用于接收封裝/解封裝單元704發來的經隧道封裝的以太網報文,并將該經隧道封裝的以太網報文向遠端站點發送;用于從核心網接收所述IP報文,將所述IP報文發送到封裝/解封裝單元704。較佳地,所述配置單元701,用于設置該邊緣設備的水平分割屬性;所述控制單元703在接收到封裝/解封裝單元704發來的原始以太網報文之后,根據所述水平分割屬性,確定該原始以太網報文的出端口僅限于所有內部以太網出端口。所述配置單元701設置實現該邊緣設備的水平分割屬性是通過端口 Source ID實現的,其中,每個內部以太網端口設置有不同的源標識Source ID值,所有虛擬橋接端口設置相同的Source ID值;且虛擬橋接端口的Source ID值與每個內部以太網端口的Source ID值均不相同;所述控制單元703在確定該原始以太網報文的所有內部以太網出端口時,用于 將該原始以太網報文的所有出端口中Source ID值與所述虛擬橋接端口的Source ID值不同出端口確定為該原始以太網報文的內部以太網出端口。所述的配置單元701,用于存儲MAC地址映射表;所述控制單元703接收到第一報文收發單元702發來的以太網報文之后,確定該以太網報文的所有出端口之前,進一步用于進行MAC地址學習,并將學習到的新的MAC地址信息攜帶在IGP協議報文中發送到封裝/解封裝單元704 ;所述封裝/解封裝單元704,用于接收控制單元703發來的IGP協議報文,針對每個遠端站點,根據該遠端站點對應的隧道封裝映射表項,對該IGP協議報文進行隧道封裝后發送到第二報文收發單元705 ;所述第二報文收發單元705,用于接收到封裝/解封裝單元704發來的經隧道封裝的IGP協議報文后,將該經隧道封裝的IGP協議報文發送到核心網;所述控制單元703,在得到接收該原始以太網報文的虛擬橋接端口之后,進一步用于判斷該原始以太網報文的協議類型,如果是IGP協議報文,則將該IGP協議報文中攜帶的遠端站點學習到的MAC地址信息以及接收該原始以太網報文的虛擬橋接端口分別作為 MAC地址映射表項的MAC地址信息、出端口寫入MAC地址映射表。所述控制單元703在得到接收該原始以太網報文的虛擬橋接端口之后,確定該原始以太網報文的所有出端口之前,進一步用于學習該原始以太網報文的源MAC地址信息到接收該原始以太網報文的虛擬橋接端口。所述控制單元703在確定第一報文收發單元702發來的以太網報文的所有出端口時,用于如果該以太網報文為單播報文,則根據該以太網報文的目的MAC地址在MAC地址映射表中查找對應的出端口,若未查找到,則確定該以太網報文的出端口為所有其它內部以太網端口;如果該以太網報文為廣播報文,則確定該以太網報文的出端口為所有虛擬橋接端口和所有其它內部以太網端口;如果該以太網報文為組播報文,則根據該以太網報文的目的MAC查找該以太網報文對應的組播組得到所有出端口,若未查找到對應的組播組,則確定該以太網報文的出端口為所有其它內部以太網接口。所述控制單元703在確定封裝/解封裝單元704發來的原始以太網報文的所有出端口時,用于如果該原始以太網報文為單播報文,則根據該原始以太網報文的目的MAC地址在 MAC地址映射表中查找對應的出端口,若未查找到,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口;
如果該原始以太網報文是廣播報文,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口;如果該原始以太網報文為組播報文時,則根據該原始以太網報文的目的MAC查找該原始以太網報文對應的組播組得到所有出端口,若未查找到,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口。所述配置單元701,用于針對每個遠端站點生成一個虛擬橋接端口時,進一步在該虛擬橋接端口上配置VLAN ;所述控制單元703在確定第一報文收發單元702發來的以太網報文的出端口時, 用于如果該以太網報文為單播報文,則根據該以太網報文的目的MAC地址和該以太網報文所屬的VLAN在MAC地址映射表中查找對應的出端口,若未查找到,則確定該以太網報文的出端口為該以太網報文所屬VLAN中的所有其它內部以太網端口 ;如果該以太網報文為廣播報文,則確定該以太網報文的出端口為該以太網報文所屬VLAN中的所有虛擬橋接端口和所有其它內部以太網端口 ;如果該以太網報文為組播報文,則根據該以太網報文的目的MAC和該以太網報文所屬的VLAN查找該以太網報文對應的組播組得到所有出端口,若未查找到對應的組播組, 則確定該以太網報文的出端口為該以太網報文所屬VLAN中的所有其它內部以太網接口。所述控制單元703在確定封裝/解封裝單元704發來的原始以太網報文的所有出端口時,用于如果該原始以太網報文為單播報文,則根據該原始以太網報文的目的MAC地址該原始以太網報文所屬VLAN在MAC地址映射表中查找對應的出端口,若未查找到,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口;如果該原始以太網報文是廣播報文時,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口 ;如果該原始以太網報文為組播報文時,則根據該原始以太網報文的目的MAC和該原始以太網報文所屬的VLAN查找該原始以太網報文對應的組播組得到所有出端口,若未查找到,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口。在邊緣設備上運行組播偵聽協議;所述控制單元703確定第一報文收發單元702發來的以太網報文為組播報文后, 進一步用于判斷該以太網報文是否是組播查詢報文或組播加入報文,如果是組播查詢報文,則將接收該組播查詢報文的內部以太網端口設置為該組播查詢報文對應的組播組的路由器接口,并確定該組播查詢報文的出端口為所有其它內部以太網端口 ;如果是組播加入報文,則將接收該組播加入報文的內部以太網端口加入到該組播加入報文對應的組播組的出接口列表,并確定該組播加入報文的出端口為該組播加入報文對應的組播組的路由器接 Π ;所述控制單元703在確定封裝/解封裝單元704發來的原始以太網報文為組播報文后,進一步用于判斷該原始以太網報文是否是組播查詢報文或組播加入報文,如果是組播查詢報文,則將該組播查詢報文對應的虛擬橋接端口設置為該組播查詢報文對應的組播組的路由器接口,并確定該組播查詢報文的出端口為所有內部以太網端口 ;如果是組播加入報文,則將該組播加入報文對應的虛擬橋接端口加入到該組播加入報文對應的組播組的出接口列表,并確定該組播加入報文的出端口為該組播加入報文對應的組播組的路由器接 以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
權利要求
1.一種實現數據中心二層互聯的方法,其特征在于,預先針對每個遠端站點生成一個虛擬橋接端口,并在隧道封裝映射表中配置該虛擬橋接端口對應的隧道封裝映射表項;所述隧道封裝映射表項包括虛擬橋接端口、遠端站點的邊緣設備的IP地址、本地站點的邊緣設備的IP地址,該方法包括邊緣設備在內部以太網端口接收到以太網報文時,確定該以太網報文的所有出端口, 對于該以太網報文的所有出端口中的每一個虛擬橋接端口,根據該虛擬橋接端口對應的隧道封裝映射表項對該以太網報文進行隧道封裝后向遠端站點發送;對于該以太網報文的所有出端口中的每一個內部以太網端口,將該以太網報文從該內部以太網端口轉發出去;邊緣設備從核心網接收到經隧道封裝,且目的IP地址為該邊緣設備的IP地址的IP報文時,將該IP報文解隧道封裝得到該IP報文的源IP地址、目的IP地址以及原始的以太網報文,得到接收該原始以太網報文的虛擬橋接端口,確定該原始以太網報文的所有內部以太網出端口,將該原始以太網報文從確定的每個內部以太網出端口發送出去。
2.如權利要求1所述的實現數據中心二層互聯的方法,其特征在于,在邊緣設備上設置有水平分割屬性;所述邊緣設備將IP報文解封裝得到原始以太網報文,根據所述水平分割屬性,確定該原始以太網報文的出端口僅限于內部以太網出端口。
3.如權利要求2所述的實現數據中心二層互聯的方法,其特征在于,所述水平分割屬性是通過端口 kurce ID實現的,其中每個內部以太網端口設置有不同的源標識kurce ID 值,所有虛擬橋接端口設置相同的Source ID值;且虛擬橋接端口的Source ID值與每個內部以太網端口的Source ID值均不相同;所述確定該原始以太網報文的所有內部以太網出端口的方法為將該原始以太網報文的所有出端口中Source ID值與所述虛擬橋接端口的Source ID值不同出端口確定為該原始以太網報文的內部以太網出端口。
4.如權利要求2所述的實現數據中心二層互聯的方法,其特征在于,所述邊緣設備在內部以太網端口接收到以太網報文之后,確定該以太網報文的所有出端口之前,進一步包括進行MAC地址學習,并將學習到的新的MAC地址信息通告給每個遠端站點的邊緣設備。
5.如權利要求4所述的實現數據中心二層互聯的方法,其特征在于,所述將學習到的新的MAC地址信息通告給每個遠端站點的邊緣設備的方法為將學習到的新的MAC地址信息攜帶在IGP協議報文中,根據該遠端站點對應的隧道封裝映射表項,將該IGP協議報文進行隧道封裝后發送到核心網;所述得到接收該原始以太網報文的虛擬橋接端口之后,進一步包括判斷該原始以太網報文的協議類型,如果是IGP協議報文,則將該IGP協議報文中攜帶的遠端站點學習到的MAC地址信息以及接收該原始以太網報文的虛擬橋接端口分別作為MAC地址映射表項的 MAC地址信息、出端口寫入MAC地址映射表。
6.如權利要求5所述的實現數據中心二層互聯的方法,其特征在于,所述得到接收該原始以太網報文的虛擬橋接端口之后,確定該原始以太網報文的所有內部以太網出端口之前,進一步包括學習該原始以太網報文的源MAC地址信息到接收該原始以太網報文的虛擬橋接端口。
7.如權利要求6所述的實現數據中心二層互聯的方法,其特征在于,確定在內部以太網端口接收到的以太網報文的所有出端口的方法為如果該以太網報文為單播報文,則根據該以太網報文的目的MAC地址在MAC地址映射表中查找對應的出端口,若未查找到,則確定該以太網報文的出端口為所有其它內部以太網端口 ;如果該以太網報文為廣播報文,則確定該以太網報文的出端口為所有虛擬橋接端口和所有其它內部以太網端口;如果該以太網報文為組播報文,則根據該以太網報文的目的MAC查找該以太網報文對應的組播組得到所有出端口,若未查找到,則確定該以太網報文的出端口為所有其它內部以太網接口。
8.如權利要求7所述的實現數據中心二層互聯的方法,其特征在于,確定將IP報文解隧道封裝后得到的在虛擬橋接端口接收到的原始以太網報文的所有內部以太網出端口的方法為如果該原始以太網報文為單播報文,則根據該原始以太網報文的目的MAC地址在MAC 地址映射表中查找對應的出端口,若未查找到,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口;如果該原始以太網報文是廣播報文,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口;如果該原始以太網報文為組播報文,則根據該原始以太網報文的目的MAC查找該原始以太網報文對應的組播組得到所有出端口,若未查找到,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口。
9.如權利要求6所述的實現數據中心二層互聯的方法,其特征在于,針對每個遠端站點生成一個虛擬橋接端口時,進一步在該虛擬橋接端口上配置VLAN ;確定該在內部以太網端口接收到的以太網報文的所有出端口的方法為 如果該以太網報文為單播報文,則根據該以太網報文的目的MAC地址和該以太網報文所屬的VLAN在MAC地址映射表中查找對應的出端口,若未查找到,則確定該以太網報文的出端口為該以太網報文所屬VLAN中的所有其它內部以太網端口 ;如果該以太網報文為廣播報文,則確定該以太網報文的出端口為該以太網報文所屬 VLAN中的所有虛擬橋接端口和所有其它內部以太網端口 ;如果該以太網報文為組播報文,則根據該以太網報文的目的MAC和該以太網報文所屬的VLAN查找該以太網報文對應的組播組得到所有出端口,若未查找到對應的組播組,則確定該以太網報文的出端口為該以太網報文所屬VLAN中的所有其它內部以太網接口。
10.如權利要求9所述的實現數據中心二層互聯的方法,其特征在于,確定將IP報文解隧道封裝后得到的在虛擬橋接端口接收到的原始以太網報文的所有出端口的方法為如果該原始以太網報文為單播報文,則根據該原始以太網報文的目的MAC地址該原始以太網報文所屬VLAN在MAC地址映射表中查找對應的出端口,若未查找到,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口;如果該原始以太網報文是廣播報文,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口 ;如果該原始以太網報文為組播報文,則根據該原始以太網報文的目的MAC和該以太網報文所屬的VLAN查找該原始以太網報文對應的組播組得到所有出端口,若未查找到,則確定該原始以太網報文的出端口為該以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口。
11.如權利要求8或10任一權項所述的實現數據中心二層互聯的方法,其特征在于,在邊緣設備上運行組播偵聽協議;邊緣設備確定在內部以太網接口接收到的以太網報文為組播報文后,進一步包括判斷該以太網報文是否是組播查詢報文或組播加入報文,如果是組播查詢報文,則將接收該組播查詢報文的內部以太網端口設置為該組播查詢報文對應的組播組的路由器接口,并確定該組播查詢報文的出端口為所有其它內部以太網端口 ;如果是組播加入報文,則將接收該組播加入報文的內部以太網端口加入到該組播加入報文對應的組播組的出接口列表,并確定該組播加入報文的出端口為該組播加入報文對應的組播組的路由器接口;邊緣設備將IP報文解隧道封裝得到原始以太網報文,并確定該原始以太網報文為組播報文后,進一步包括判斷該原始以太網報文是否是組播查詢報文或組播加入報文,如果是組播查詢報文,則將該組播查詢報文對應的虛擬橋接端口設置為該組播查詢報文對應的組播組的路由器接口,并確定該組播查詢報文的出端口為所有內部以太網端口 ;如果是組播加入報文,則將該組播加入報文對應的虛擬橋接端口加入到該組播加入報文對應的組播組的出接口列表,并確定該組播加入報文的出端口為該組播加入報文對應的組播組的路由器接口。
12.一種邊緣設備,應用于數據中心二層互聯,該邊緣設備包括配置單元、第一報文收發單元、控制單元、封裝/解封裝單元、第二報文收發單元;所述配置單元,用于預先針對每個遠端站點生成一個虛擬橋接端口,并在隧道封裝映射表中配置該虛擬橋接端口對應的隧道封裝映射表項;所述隧道封裝映射表項包括虛擬橋接端口、遠端站點的邊緣設備的IP地址、本地站點的邊緣設備的IP地址;所述第一報文收發單元,用于在內部以太網端口接收以太網報文,并將該以太網報文發送到控制單元;用于在控制單元接收到第一報文收發單元發送的以太網報文,并確定該以太網報文的所有出端口后,對于該以太網報文的所有出端口中的每一個內部以太網端口,將該以太網報文從該內部以太網端口轉發出去;用于在控制單元接收到封裝/解封裝單元發送的原始以太網報文,并確定該原始以太網報文的所有內部以太網出端口后,將該原始以太網報文從確定的每個內部以太網出端口發送出去;所述控制單元,用于接收第一報文收發單元發來的以太網報文,確定該以太網報文的所有出端口 ;用于接收封裝/解封裝單元發來的原始以太網報文,得到接收該原始以太網報文的虛擬橋接端口,確定該原始以太網報文的所有內部以太網出端口 ;所述封裝/解封裝單元,用于在控制單元接收到第一報文收發單元發送的以太網報文,并確定該以太網報文的所有出端口后,對于該以太網報文的所有出端口中的每一個虛擬橋接端口,根據該虛擬橋接端口對應的隧道封裝映射表項,對該以太網報文進行隧道封裝,并將經隧道封裝后的以太網報文發送到第二報文收發單元;用于接收第二報文收發單元發來的經隧道封裝,且目的IP地址為該邊緣設備的IP地址的IP報文,將所述IP報文解隧道封裝得到該IP報文的源IP地址、目的IP地址以及原始的以太網報文,將該原始以太網報文發送到控制單元;所述第二報文收發單元,用于接收封裝/解封裝單元發來的經隧道封裝的以太網報文,并將該經隧道封裝的以太網報文向遠端站點發送;用于從核心網接收所述IP報文,將所述IP報文發送到封裝/解封裝單元。
13.如權利要求12所述的邊緣設備,其特征在于,所述配置單元,用于設置該邊緣設備的水平分割屬性;所述控制單元在接收到封裝/解封裝單元發來的原始以太網報文之后,根據所述水平分割屬性,確定該原始以太網報文的出端口僅限于所有內部以太網出端口。
14.如權利要求13所述的邊緣設備,其特征在于,所述配置單元設置實現該邊緣設備的水平分割屬性是通過端口 Source ID實現的,其中,每個內部以太網端口設置有不同的源標識Source ID值,所有虛擬橋接端口設置相同的SourceID值;且虛擬橋接端口的Source ID值與每個內部以太網端口的Source ID值均不相同;所述控制單元在確定該原始以太網報文的所有內部以太網出端口時,用于將該原始以太網報文的所有出端口中Source ID值與所述虛擬橋接端口的SourceID值不同出端口確定為該原始以太網報文的內部以太網出端口。
15.如權利要求13所述的邊緣設備,其特征在于,所述的配置單元,用于存儲MAC地址映射表;所述控制單元接收到第一報文收發單元發來的以太網報文之后,確定該以太網報文的所有出端口之前,進一步用于進行MAC地址學習,并將學習到的新的MAC地址信息攜帶在 IGP協議報文中發送到封裝/解封裝單元;所述封裝/解封裝單元,用于接收控制單元發來的IGP協議報文,針對每個遠端站點, 根據該遠端站點對應的隧道封裝映射表項,對該IGP協議報文進行隧道封裝后發送到第二報文收發單元;所述第二報文收發單元,用于接收到封裝/解封裝單元發來的經隧道封裝的IGP協議報文后,將該經隧道封裝的IGP協議報文發送到核心網;所述控制單元,在得到接收該原始以太網報文的虛擬橋接端口之后,進一步用于判斷該原始以太網報文的協議類型,如果是IGP協議報文,則將該IGP協議報文中攜帶的遠端站點學習到的MAC地址信息以及接收該原始以太網報文的虛擬橋接端口分別作為MAC地址映射表項的MAC地址信息、出端口寫入MAC地址映射表。
16.如權利要求15所述的邊緣設備,其特征在于,所述控制單元在得到接收該原始以太網報文的虛擬橋接端口之后,確定該原始以太網報文的所有出端口之前,進一步用于學習該原始以太網報文的源MAC地址信息到接收該原始以太網報文的虛擬橋接端口。
17.如權利要求16所述的邊緣設備,其特征在于,所述控制單元在確定第一報文收發單元發來的以太網報文的所有出端口時,用于如果該以太網報文為單播報文,則根據該以太網報文的目的MAC地址在MAC地址映射表中查找對應的出端口,若未查找到,則確定該以太網報文的出端口為所有其它內部以太網端口 ;如果該以太網報文為廣播報文,則確定該以太網報文的出端口為所有虛擬橋接端口和所有其它內部以太網端口;如果該以太網報文為組播報文,則根據該以太網報文的目的MAC查找該以太網報文對應的組播組得到所有出端口,若未查找到對應的組播組,則確定該以太網報文的出端口為所有其它內部以太網接口。
18.如權利要求17所述的邊緣設備,其特征在于,所述控制單元在確定封裝/解封裝單元發來的原始以太網報文的所有出端口時,用于如果該原始以太網報文為單播報文,則根據該原始以太網報文的目的MAC地址在MAC 地址映射表中查找對應的出端口,若未查找到,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口;如果該原始以太網報文是廣播報文,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口;如果該原始以太網報文為組播報文時,則根據該原始以太網報文的目的MAC查找該原始以太網報文對應的組播組得到所有出端口,若未查找到,則確定該原始以太網報文的出端口為所有內部以太網端口和所有其它虛擬橋接端口。
19.如權利要求16所述的邊緣設備,其特征在于,所述配置單元,用于針對每個遠端站點生成一個虛擬橋接端口時,進一步在該虛擬橋接端口上配置VLAN ;所述控制單元在確定第一報文收發單元發來的以太網報文的出端口時,用于如果該以太網報文為單播報文,則根據該以太網報文的目的MAC地址和該以太網報文所屬的VLAN在MAC地址映射表中查找對應的出端口,若未查找到,則確定該以太網報文的出端口為該以太網報文所屬VLAN中的所有其它內部以太網端口 ;如果該以太網報文為廣播報文,則確定該以太網報文的出端口為該以太網報文所屬 VLAN中的所有虛擬橋接端口和所有其它內部以太網端口 ;如果該以太網報文為組播報文,則根據該以太網報文的目的MAC和該以太網報文所屬的VLAN查找該以太網報文對應的組播組得到所有出端口,若未查找到對應的組播組,則確定該以太網報文的出端口為該以太網報文所屬VLAN中的所有其它內部以太網接口。
20.如權利要求19所述的邊緣設備,其特征在于,所述控制單元在確定封裝/解封裝單元發來的原始以太網報文的所有出端口時,用于如果該原始以太網報文為單播報文,則根據該原始以太網報文的目的MAC地址該原始以太網報文所屬VLAN在MAC地址映射表中查找對應的出端口,若未查找到,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口;如果該原始以太網報文是廣播報文時,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口 ;如果該原始以太網報文為組播報文時,則根據該原始以太網報文的目的MAC和該原始以太網報文所屬的VLAN查找該原始以太網報文對應的組播組得到所有出端口,若未查找到,則確定該原始以太網報文的出端口為該原始以太網報文所屬VLAN中的所有內部以太網端口和所有其它虛擬橋接端口。
21.如權利要求18或20任一權項所述的邊緣設備,其特征在于,在邊緣設備上運行組播偵聽協議;所述控制單元確定第一報文收發單元發來的以太網報文為組播報文后,進一步用于 判斷該以太網報文是否是組播查詢報文或組播加入報文,如果是組播查詢報文,則將接收該組播查詢報文的內部以太網端口設置為該組播查詢報文對應的組播組的路由器接口,并確定該組播查詢報文的出端口為所有其它內部以太網端口 ;如果是組播加入報文,則將接收該組播加入報文的內部以太網端口加入到該組播加入報文對應的組播組的出接口列表, 并確定該組播加入報文的出端口為該組播加入報文對應的組播組的路由器接口;所述控制單元在確定封裝/解封裝單元發來的原始以太網報文為組播報文后,進一步用于判斷該原始以太網報文是否是組播查詢報文或組播加入報文,如果是組播查詢報文, 則將該組播查詢報文對應的虛擬橋接端口設置為該組播查詢報文對應的組播組的路由器接口,并確定該組播查詢報文的出端口為所有內部以太網端口 ;如果是組播加入報文,則將該組播加入報文對應的虛擬橋接端口加入到該組播加入報文對應的組播組的出接口列表, 并確定該組播加入報文的出端口為該組播加入報文對應的組播組的路由器接口。
全文摘要
本發明提供了一種實現數據中心二層互聯的方法和裝置,該方法中,邊緣設備針對每個遠端站點生成一個虛擬橋接端口,并配置相應的隧道封裝映射表項;在發送以太網報文到遠端站點時,根據該遠端站點對應的隧道封裝映射表項,將以太網報文進行隧道封裝后發送到核心網;在接收到核心網的IP報文時,將IP報文解封裝得到原始以太網報文在站點內轉發。應用本發明,不需要核心網支持組播。
文檔編號H04L12/56GK102316030SQ20111025712
公開日2012年1月11日 申請日期2011年9月1日 優先權日2011年9月1日
發明者周萬 申請人:杭州華三通信技術有限公司