CN102316030B - 一种实现数据中心二层互联的方法和装置 - Google Patents
一种实现数据中心二层互联的方法和装置 Download PDFInfo
- Publication number
- CN102316030B CN102316030B CN201110257124.4A CN201110257124A CN102316030B CN 102316030 B CN102316030 B CN 102316030B CN 201110257124 A CN201110257124 A CN 201110257124A CN 102316030 B CN102316030 B CN 102316030B
- Authority
- CN
- China
- Prior art keywords
- message
- ethernet
- port
- ethernet message
- multicast
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
Abstract
本发明提供了一种实现数据中心二层互联的方法和装置,该方法中,边缘设备针对每个远端站点生成一个虚拟桥接端口,并配置相应的隧道封装映射表项;在发送以太网报文到远端站点时,根据该远端站点对应的隧道封装映射表项,将以太网报文进行隧道封装后发送到核心网;在接收到核心网的IP报文时,将IP报文解封装得到原始以太网报文在站点内转发。应用本发明,不需要核心网支持组播。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种实现数据中心二层互联的方法和装置。
背景技术
数据中心,是各种业务的提供中心,是数据处理、数据存储和数据交换的中心。为了提供更好的服务,提供商通常在异地部署多个数据中心,实现负载分担和高可靠性,并实现虚拟机在数据中心之间的自由迁移。由于虚拟机迁移过程对用户透明,不能改变IP地址,所以必须在分布于异地的数据中心之间实现二层网络互联。
数据中心互联,需要满足以下基本要求:各站点互相独立,站点内的拓扑和故障互不影响;对站点间传输数据时使用的技术与站点位置、提供商的网络无特殊要求,具有传输无关性;使用多归宿提供冗余接入,并在站点间避免流量环路,保证高可靠性;站点内拓扑结构实现灵活;运营维护简单,可快速新增和减少站点。
目前,在公网只支持IP技术时,只有思科的覆盖传输虚拟化(OTV)技术能够实现数据中心互联。在各数据中心的边缘设备的连接到核心网的物理端口上配置IP地址,并关联一个或多个OTV虚拟接口,每个OTV虚拟接口可以作为二层转发表的出接口。下面结合附图对OTV技术进行说明。
参见图1,图1是现有技术应用OTV技术实现数据中心二层互联的组网示意图。其中网络10为核心网,其上运行pUMRP协议,网络12、16分别是数据中心站点,其上运行cUMRP协议,网络14是构建在网络10上的虚拟网络,其上运行oUMRP协议。在网络12中,包含边缘设备X11,交换机S11,路由器R11、R12,主机H3通过交换机S11接入,主机H12通过路由器R11接入。在网络16中,包含边缘设备X12,交换机S12、S13,路由器R14、R15,主机H1通过交换机S13接入。
参见图2,图2是图1中边缘设备X11的数据平面内部实现图。其中,E1和E2分别是连接主机H2和连接主机H3的内部接口,E3是连接核心网的外部接口,OTV虚拟接口O1:IPA关联到E3。在X11中存储MAC地址映射表(如图2中所示的MAC地址映射表),其中的H2/E1、H3/E2表项是通过MAC地址学习得到的,H1/O1:IPA表项则是从远端OTV设备通告的IGP协议报文中得到的(如图2中的线条21所示,表示将远端站点通告的IGP协议报文中携带的MAC地址写入MAC地址映射表),在图1中,远端OTV设备即为边缘设备X12。例如,当X11从E1接收H2发来的报文时,进行MAC地址学习即可得到H2/E1表项并写入MAC地址映射表(如图2中的线条22所示,表示对在内部以太网端口接收到的报文进行MAC地址学习),同时还将学习到的MAC地址映射表项通过IGP协议报文通告给远端OTV设备;同样的道理,X11也会从远端OTV设备通告的IGP协议报文中学习得到H1/O1:IPA表项。根据MAC地址映射表,X11可以将来自于H2或H3且目的地址为H1的报文进行OTV封装,并从O1:IPA关联的物理接口E3发送出去;将来自H1且目的地址为H2或H3的报文解封装后从相应的E2或E3接口发送出去。
在图1所示的组网中,如果需要支持广播,则需要预先在X11和X12上配置由核心网分配的任意源组播(ASM/Bidir)类型的IP组播组。当X11在内部接口接收到广播报文时,将广播报文进行OTV封装后发送到核心网的组播树中,由核心网组播转发到远端OTV设备X12,X12将接收到的广播报文解封装后,在其所在的数据中心网络内广播。如果需要支持组播,则需要在网络12和16上运行IGMP/MLD侦听,在X11和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中边缘设备X11的数据平面内部实现图;
图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主要用作虚拟的核心网设备,提供边缘设备连接到核心网的通道;O,主要用作虚拟的边缘设备,提供站点间互联的通道;C主要用作虚拟的私网设备,提供内部设备联结到边缘设备的通道。每部分功能相当于一台逻辑设备,由管理平面MP、控制平面CP和数据平面DP组成。
这里,管理平面不是本发明的重点,不再详述。下面分别对控制平面和数据平面进行详细说明:
边缘设备的控制平面分为P-CP,O-CP,C-CP三个部分。其中,P-CP:主要用于控制与公网交互协议报文,例如,控制与公网交互三层路由信息。O-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生成的虚拟桥接端口vEth1、针对远端站点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值均不相同;
那么,所述边缘设备确定该原始以太网报文的所有内部以太网出端口的方法为:将该原始以太网报文的所有出端口中与所述虚拟桥接端口的SourceID值不同的出端口确定为该原始以太网报文的内部以太网出端口。
这样,由于所有虚拟桥接端口的Source ID值都是相同的,从虚拟桥接端口接收到的原始以太网报文,不会再从其它的虚拟桥接端口发送出去。无论是单播报文、广播报文或组播报文,均只能在本地站点内传播。
图6所示的本发明实施例中,边缘设备从内部以太网端口接收到报文时,可以进行MAC地址学习,如果学习到的是新的MAC地址信息,则还可以将学习到的新的MAC地址信息通告给每个远端站点。因此,步骤602中,边缘设备在内部以太网端口接收到以太网报文之后,确定该以太网报文的所有出端口之前,进一步包括:进行MAC地址学习,并将该学习到的新的MAC地址信息通告给每个远端站点。这里,如果该以太网报文属于某个VLAN,则所述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设置实现该边缘设备的水平分割属性是通过端口SourceID实现的,其中,每个内部以太网端口设置有不同的源标识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发来的原始以太网报文为组播报文后,进一步用于:判断该原始以太网报文是否是组播查询报文或组播加入报文,如果是组播查询报文,则将该组播查询报文对应的虚拟桥接端口设置为该组播查询报文对应的组播组的路由器接口,并确定该组播查询报文的出端口为所有内部以太网端口;如果是组播加入报文,则将该组播加入报文对应的虚拟桥接端口加入到该组播加入报文对应的组播组的出接口列表,并确定该组播加入报文的出端口为该组播加入报文对应的组播组的路由器接口。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (19)
1.一种实现数据中心二层互联的方法,其特征在于,预先针对每个远端站点生成一个虚拟桥接端口,并在隧道封装映射表中配置该虚拟桥接端口对应的隧道封装映射表项;所述隧道封装映射表项包括:虚拟桥接端口、远端站点的边缘设备的IP地址、本地站点的边缘设备的IP地址,该方法包括:
边缘设备在内部以太网端口接收到以太网报文时,如果该以太网报文为单播报文,则根据该以太网报文的目的MAC地址在MAC地址映射表中查找对应的出端口,若未查找到,则确定该以太网报文的出端口为所有其它内部以太网端口;如果该以太网报文为广播报文,则确定该以太网报文的出端口为所有虚拟桥接端口和所有其它内部以太网端口;如果该以太网报文为组播报文,则根据该以太网报文的目的MAC查找该以太网报文对应的组播组得到所有出端口,若未查找到,则确定该以太网报文的出端口为所有其它内部以太网接口;对于该以太网报文的所有出端口中的每一个虚拟桥接端口,根据该虚拟桥接端口对应的隧道封装映射表项对该以太网报文进行隧道封装后向远端站点发送;对于该以太网报文的所有出端口中的每一个内部以太网端口,将该以太网报文从该内部以太网端口转发出去;
边缘设备从核心网接收到经隧道封装,且目的IP地址为该边缘设备的IP地址的IP报文时,将该IP报文解隧道封装得到该IP报文的源IP地址、目的IP地址以及原始的以太网报文,得到接收该原始以太网报文的虚拟桥接端口,确定该原始以太网报文的所有内部以太网出端口,将该原始以太网报文从确定的每个内部以太网出端口发送出去。
2.如权利要求1所述的实现数据中心二层互联的方法,其特征在于,在边缘设备上设置有水平分割属性;所述边缘设备将IP报文解封装得到原始以太网报文,根据所述水平分割属性,确定该原始以太网报文的出端口仅限于内部以太网出端口。
3.如权利要求2所述的实现数据中心二层互联的方法,其特征在于,所述水平分割属性是通过端口Source ID实现的,其中每个内部以太网端口设置有不同的源标识Source 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所述的实现数据中心二层互联的方法,其特征在于,确定将IP报文解隧道封装后得到的在虚拟桥接端口接收到的原始以太网报文的所有内部以太网出端口的方法为:
如果该原始以太网报文为单播报文,则根据该原始以太网报文的目的MAC地址在MAC地址映射表中查找对应的出端口,若未查找到,则确定该原始以太网报文的出端口为所有内部以太网端口和所有其它虚拟桥接端口;
如果该原始以太网报文是广播报文,则确定该原始以太网报文的出端口为所有内部以太网端口和所有其它虚拟桥接端口;
如果该原始以太网报文为组播报文,则根据该原始以太网报文的目的MAC查找该原始以太网报文对应的组播组得到所有出端口,若未查找到,则确定该原始以太网报文的出端口为所有内部以太网端口和所有其它虚拟桥接端口。
8.如权利要求6所述的实现数据中心二层互联的方法,其特征在于,针对每个远端站点生成一个虚拟桥接端口时,进一步在该虚拟桥接端口上配置VLAN;
边缘设备在内部以太网端口接收到以太网报文时,如果该以太网报文为单播报文,则根据该以太网报文的目的MAC地址和该以太网报文所属的VLAN在MAC地址映射表中查找对应的出端口,若未查找到,则确定该以太网报文的出端口为该以太网报文所属VLAN中的所有其它内部以太网端口;如果该以太网报文为广播报文,则确定该以太网报文的出端口为该以太网报文所属VLAN中的所有虚拟桥接端口和所有其它内部以太网端口;如果该以太网报文为组播报文,则根据该以太网报文的目的MAC和该以太网报文所属的VLAN查找该以太网报文对应的组播组得到所有出端口,若未查找到对应的组播组,则确定该以太网报文的出端口为该以太网报文所属VLAN中的所有其它内部以太网接口。
9.如权利要求8所述的实现数据中心二层互联的方法,其特征在于,确定将IP报文解隧道封装后得到的在虚拟桥接端口接收到的原始以太网报文的所有出端口的方法为:
如果该原始以太网报文为单播报文,则根据该原始以太网报文的目的MAC地址该原始以太网报文所属VLAN在MAC地址映射表中查找对应的出端口,若未查找到,则确定该原始以太网报文的出端口为该原始以太网报文所属VLAN中的所有内部以太网端口和所有其它虚拟桥接端口;
如果该原始以太网报文是广播报文,则确定该原始以太网报文的出端口为该原始以太网报文所属VLAN中的所有内部以太网端口和所有其它虚拟桥接端口;
如果该原始以太网报文为组播报文,则根据该原始以太网报文的目的MAC和该以太网报文所属的VLAN查找该原始以太网报文对应的组播组得到所有出端口,若未查找到,则确定该原始以太网报文的出端口为该以太网报文所属VLAN中的所有内部以太网端口和所有其它虚拟桥接端口。
10.如权利要求7或9任一权项所述的实现数据中心二层互联的方法,其特征在于,在边缘设备上运行组播侦听协议;
边缘设备确定在内部以太网接口接收到的以太网报文为组播报文后,进一步包括:判断该以太网报文是否是组播查询报文或组播加入报文,如果是组播查询报文,则将接收该组播查询报文的内部以太网端口设置为该组播查询报文对应的组播组的路由器接口,并确定该组播查询报文的出端口为所有其它内部以太网端口;如果是组播加入报文,则将接收该组播加入报文的内部以太网端口加入到该组播加入报文对应的组播组的出接口列表,并确定该组播加入报文的出端口为该组播加入报文对应的组播组的路由器接口;
边缘设备将IP报文解隧道封装得到原始以太网报文,并确定该原始以太网报文为组播报文后,进一步包括:判断该原始以太网报文是否是组播查询报文或组播加入报文,如果是组播查询报文,则将该组播查询报文对应的虚拟桥接端口设置为该组播查询报文对应的组播组的路由器接口,并确定该组播查询报文的出端口为所有内部以太网端口;如果是组播加入报文,则将该组播加入报文对应的虚拟桥接端口加入到该组播加入报文对应的组播组的出接口列表,并确定该组播加入报文的出端口为该组播加入报文对应的组播组的路由器接口。
11.一种边缘设备,应用于数据中心二层互联,该边缘设备包括:配置单元、第一报文收发单元、控制单元、封装/解封装单元、第二报文收发单元;
所述配置单元,用于预先针对每个远端站点生成一个虚拟桥接端口,并在隧道封装映射表中配置该虚拟桥接端口对应的隧道封装映射表项;所述隧道封装映射表项包括:虚拟桥接端口、远端站点的边缘设备的IP地址、本地站点的边缘设备的IP地址;
所述第一报文收发单元,用于在内部以太网端口接收以太网报文,并将该以太网报文发送到控制单元;用于在控制单元接收到第一报文收发单元发送的以太网报文,并确定该以太网报文的所有出端口后,对于该以太网报文的所有出端口中的每一个内部以太网端口,将该以太网报文从该内部以太网端口转发出去;用于在控制单元接收到封装/解封装单元发送的原始以太网报文,并确定该原始以太网报文的所有内部以太网出端口后,将该原始以太网报文从确定的每个内部以太网出端口发送出去;
所述控制单元,用于接收第一报文收发单元发来的以太网报文,如果该以太网报文为单播报文,则根据该以太网报文的目的MAC地址在MAC地址映射表中查找对应的出端口,若未查找到,则确定该以太网报文的出端口为所有其它内部以太网端口;如果该以太网报文为广播报文,则确定该以太网报文的出端口为所有虚拟桥接端口和所有其它内部以太网端口;如果该以太网报文为组播报文,则根据该以太网报文的目的MAC查找该以太网报文对应的组播组得到所有出端口,若未查找到对应的组播组,则确定该以太网报文的出端口为所有其它内部以太网接口;用于接收封装/解封装单元发来的原始以太网报文,得到接收该原始以太网报文的虚拟桥接端口,确定该原始以太网报文的所有内部以太网出端口;
所述封装/解封装单元,用于在控制单元接收到第一报文收发单元发送的以太网报文,并确定该以太网报文的所有出端口后,对于该以太网报文的所有出端口中的每一个虚拟桥接端口,根据该虚拟桥接端口对应的隧道封装映射表项,对该以太网报文进行隧道封装,并将经隧道封装后的以太网报文发送到第二报文收发单元;用于接收第二报文收发单元发来的经隧道封装,且目的IP地址为该边缘设备的IP地址的IP报文,将所述IP报文解隧道封装得到该IP报文的源IP地址、目的IP地址以及原始的以太网报文,将该原始以太网报文发送到控制单元;
所述第二报文收发单元,用于接收封装/解封装单元发来的经隧道封装的以太网报文,并将该经隧道封装的以太网报文向远端站点发送;用于从核心网接收所述IP报文,将所述IP报文发送到封装/解封装单元。
12.如权利要求11所述的边缘设备,其特征在于,所述配置单元,用于设置该边缘设备的水平分割属性;
所述控制单元在接收到封装/解封装单元发来的原始以太网报文之后,根据所述水平分割属性,确定该原始以太网报文的出端口仅限于所有内部以太网出端口。
13.如权利要求12所述的边缘设备,其特征在于,所述配置单元设置实现该边缘设备的水平分割属性是通过端口Source ID实现的,其中,每个内部以太网端口设置有不同的源标识Source ID值,所有虚拟桥接端口设置相同的SourceID值;且虚拟桥接端口的Source ID值与每个内部以太网端口的Source ID值均不相同;
所述控制单元在确定该原始以太网报文的所有内部以太网出端口时,用于:将该原始以太网报文的所有出端口中Source ID值与所述虚拟桥接端口的SourceID值不同出端口确定为该原始以太网报文的内部以太网出端口。
14.如权利要求12所述的边缘设备,其特征在于,所述的配置单元,用于存储MAC地址映射表;
所述控制单元接收到第一报文收发单元发来的以太网报文之后,确定该以太网报文的所有出端口之前,进一步用于:进行MAC地址学习,并将学习到的新的MAC地址信息携带在IGP协议报文中发送到封装/解封装单元;
所述封装/解封装单元,用于接收控制单元发来的IGP协议报文,针对每个远端站点,根据该远端站点对应的隧道封装映射表项,对该IGP协议报文进行隧道封装后发送到第二报文收发单元;
所述第二报文收发单元,用于接收到封装/解封装单元发来的经隧道封装的IGP协议报文后,将该经隧道封装的IGP协议报文发送到核心网;
所述控制单元,在得到接收该原始以太网报文的虚拟桥接端口之后,进一步用于:判断该原始以太网报文的协议类型,如果是IGP协议报文,则将该IGP协议报文中携带的远端站点学习到的MAC地址信息以及接收该原始以太网报文的虚拟桥接端口分别作为MAC地址映射表项的MAC地址信息、出端口写入MAC地址映射表。
15.如权利要求14所述的边缘设备,其特征在于,所述控制单元在得到接收该原始以太网报文的虚拟桥接端口之后,确定该原始以太网报文的所有出端口之前,进一步用于:学习该原始以太网报文的源MAC地址信息到接收该原始以太网报文的虚拟桥接端口。
16.如权利要求15所述的边缘设备,其特征在于,所述控制单元在确定封装/解封装单元发来的原始以太网报文的所有出端口时,用于:
如果该原始以太网报文为单播报文,则根据该原始以太网报文的目的MAC地址在MAC地址映射表中查找对应的出端口,若未查找到,则确定该原始以太网报文的出端口为所有内部以太网端口和所有其它虚拟桥接端口;
如果该原始以太网报文是广播报文,则确定该原始以太网报文的出端口为所有内部以太网端口和所有其它虚拟桥接端口;
如果该原始以太网报文为组播报文时,则根据该原始以太网报文的目的MAC查找该原始以太网报文对应的组播组得到所有出端口,若未查找到,则确定该原始以太网报文的出端口为所有内部以太网端口和所有其它虚拟桥接端口。
17.如权利要求15所述的边缘设备,其特征在于,所述配置单元,用于针对每个远端站点生成一个虚拟桥接端口时,进一步在该虚拟桥接端口上配置VLAN;
所述控制单元在接收到第一报文收发单元发来的以太网报文时,如果该以太网报文为单播报文,则根据该以太网报文的目的MAC地址和该以太网报文所属的VLAN在MAC地址映射表中查找对应的出端口,若未查找到,则确定该以太网报文的出端口为该以太网报文所属VLAN中的所有其它内部以太网端口;如果该以太网报文为广播报文,则确定该以太网报文的出端口为该以太网报文所属VLAN中的所有虚拟桥接端口和所有其它内部以太网端口;如果该以太网报文为组播报文,则根据该以太网报文的目的MAC和该以太网报文所属的VLAN查找该以太网报文对应的组播组得到所有出端口,若未查找到对应的组播组,则确定该以太网报文的出端口为该以太网报文所属VLAN中的所有其它内部以太网接口。
18.如权利要求17所述的边缘设备,其特征在于,所述控制单元在确定封装/解封装单元发来的原始以太网报文的所有出端口时,用于:
如果该原始以太网报文为单播报文,则根据该原始以太网报文的目的MAC地址该原始以太网报文所属VLAN在MAC地址映射表中查找对应的出端口,若未查找到,则确定该原始以太网报文的出端口为该原始以太网报文所属VLAN中的所有内部以太网端口和所有其它虚拟桥接端口;
如果该原始以太网报文是广播报文时,则确定该原始以太网报文的出端口为该原始以太网报文所属VLAN中的所有内部以太网端口和所有其它虚拟桥接端口;
如果该原始以太网报文为组播报文时,则根据该原始以太网报文的目的MAC和该原始以太网报文所属的VLAN查找该原始以太网报文对应的组播组得到所有出端口,若未查找到,则确定该原始以太网报文的出端口为该原始以太网报文所属VLAN中的所有内部以太网端口和所有其它虚拟桥接端口。
19.如权利要求16或18任一权项所述的边缘设备,其特征在于,在边缘设备上运行组播侦听协议;
所述控制单元确定第一报文收发单元发来的以太网报文为组播报文后,进一步用于:判断该以太网报文是否是组播查询报文或组播加入报文,如果是组播查询报文,则将接收该组播查询报文的内部以太网端口设置为该组播查询报文对应的组播组的路由器接口,并确定该组播查询报文的出端口为所有其它内部以太网端口;如果是组播加入报文,则将接收该组播加入报文的内部以太网端口加入到该组播加入报文对应的组播组的出接口列表,并确定该组播加入报文的出端口为该组播加入报文对应的组播组的路由器接口;
所述控制单元在确定封装/解封装单元发来的原始以太网报文为组播报文后,进一步用于:判断该原始以太网报文是否是组播查询报文或组播加入报文,如果是组播查询报文,则将该组播查询报文对应的虚拟桥接端口设置为该组播查询报文对应的组播组的路由器接口,并确定该组播查询报文的出端口为所有内部以太网端口;如果是组播加入报文,则将该组播加入报文对应的虚拟桥接端口加入到该组播加入报文对应的组播组的出接口列表,并确定该组播加入报文的出端口为该组播加入报文对应的组播组的路由器接口。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110257124.4A CN102316030B (zh) | 2011-09-01 | 2011-09-01 | 一种实现数据中心二层互联的方法和装置 |
PCT/CN2012/078869 WO2013029440A1 (en) | 2011-09-01 | 2012-07-19 | Method and apparatus for implementing layer-2 interconnection of data centers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110257124.4A CN102316030B (zh) | 2011-09-01 | 2011-09-01 | 一种实现数据中心二层互联的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102316030A CN102316030A (zh) | 2012-01-11 |
CN102316030B true CN102316030B (zh) | 2014-04-09 |
Family
ID=45428862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110257124.4A Active CN102316030B (zh) | 2011-09-01 | 2011-09-01 | 一种实现数据中心二层互联的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102316030B (zh) |
WO (1) | WO2013029440A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102316030B (zh) * | 2011-09-01 | 2014-04-09 | 杭州华三通信技术有限公司 | 一种实现数据中心二层互联的方法和装置 |
CN102594711B (zh) * | 2012-03-28 | 2014-11-26 | 杭州华三通信技术有限公司 | 一种在边缘设备上的报文转发方法和边缘设备 |
CN102710509B (zh) * | 2012-05-18 | 2015-04-15 | 杭州华三通信技术有限公司 | 一种数据中心自动配置方法及其设备 |
CN102752210B (zh) * | 2012-07-09 | 2015-10-14 | 瑞斯康达科技发展股份有限公司 | 一种局域网间传输报文的方法和系统 |
CN102946355A (zh) * | 2012-09-29 | 2013-02-27 | 华为技术有限公司 | 组播组处理方法、dci路由器及系统 |
CN104022954B (zh) * | 2013-03-01 | 2017-05-10 | 新华三技术有限公司 | 报文转发方法及装置 |
CN103607347B (zh) * | 2013-11-15 | 2017-07-28 | 华为技术有限公司 | 建立传输通道的方法及控制器 |
CN109660442B (zh) * | 2015-09-28 | 2021-04-27 | 杭州数梦工场科技有限公司 | Overlay网络中组播复制的方法及装置 |
CN107204907B (zh) * | 2016-03-16 | 2021-03-26 | 中兴通讯股份有限公司 | 云数据中心互联方法及装置 |
CN108574613B (zh) * | 2017-03-07 | 2022-05-10 | 中兴通讯股份有限公司 | Sdn数据中心的二层互通方法及装置 |
CN108494656A (zh) * | 2018-03-29 | 2018-09-04 | 盛科网络(苏州)有限公司 | 在交换芯片中灵活支持虚拟网关的方法 |
US11477048B2 (en) * | 2021-01-15 | 2022-10-18 | BlackBear (Taiwan) Industrial Networking Security Ltd. | Communication method for one-way transmission based on VLAN ID and switch device using the same |
CN115696490A (zh) * | 2021-07-23 | 2023-02-03 | 中兴通讯股份有限公司 | 局域网通信方法、装置、终端、电子设备和存储介质 |
CN113923076A (zh) * | 2021-09-06 | 2022-01-11 | 长沙市同迅计算机科技有限公司 | 一种基于sd-wan的以太网二层数据交换方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1870588A (zh) * | 2005-12-31 | 2006-11-29 | 华为技术有限公司 | 在ip骨干网上支持vpls业务的实现方法及系统 |
US20080095155A1 (en) * | 2006-10-24 | 2008-04-24 | Broadcom Corporation | Programmable communications system |
CN101272403A (zh) * | 2008-05-27 | 2008-09-24 | 华为技术有限公司 | 实现dhcp用户业务批发的方法、系统和设备 |
US20090274156A1 (en) * | 2008-04-29 | 2009-11-05 | Arris | Carrier ethernet over docsis |
CN101702665A (zh) * | 2009-11-13 | 2010-05-05 | 中兴通讯股份有限公司 | 以太网业务接入承载隧道的方法、运营商边缘设备和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102316030B (zh) * | 2011-09-01 | 2014-04-09 | 杭州华三通信技术有限公司 | 一种实现数据中心二层互联的方法和装置 |
-
2011
- 2011-09-01 CN CN201110257124.4A patent/CN102316030B/zh active Active
-
2012
- 2012-07-19 WO PCT/CN2012/078869 patent/WO2013029440A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1870588A (zh) * | 2005-12-31 | 2006-11-29 | 华为技术有限公司 | 在ip骨干网上支持vpls业务的实现方法及系统 |
US20080095155A1 (en) * | 2006-10-24 | 2008-04-24 | Broadcom Corporation | Programmable communications system |
US20090274156A1 (en) * | 2008-04-29 | 2009-11-05 | Arris | Carrier ethernet over docsis |
CN101272403A (zh) * | 2008-05-27 | 2008-09-24 | 华为技术有限公司 | 实现dhcp用户业务批发的方法、系统和设备 |
CN101702665A (zh) * | 2009-11-13 | 2010-05-05 | 中兴通讯股份有限公司 | 以太网业务接入承载隧道的方法、运营商边缘设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102316030A (zh) | 2012-01-11 |
WO2013029440A1 (en) | 2013-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102316030B (zh) | 一种实现数据中心二层互联的方法和装置 | |
CN102035729B (zh) | 一种组播数据转发方法 | |
CN104009926B (zh) | Evi网络中的组播方法及边缘设备ed | |
CN102263704B (zh) | 一种支持数据中心二层互联的拓扑构建方法和装置 | |
CN103841037B (zh) | 组播报文转发的方法及设备 | |
EP2378720B1 (en) | Extranet networking method, system and device for multicast virtual private network | |
EP3070877A1 (en) | Evpn inter-subnet multicast forwarding | |
US20150085640A1 (en) | Forwarding Multicast Data Packets | |
US8730979B2 (en) | Method and system for increasing forwarding efficiency of virtual private LAN service network | |
US9504016B2 (en) | Optimized multicast routing in a Clos-like network | |
CN103685022A (zh) | 报文转发方法及服务提供商网络边缘设备 | |
CN104579728A (zh) | 网元设备配置和管理方法、装置及网元设备 | |
CN101616014A (zh) | 一种实现跨虚拟专用局域网组播的方法 | |
CN108964940A (zh) | 消息发送方法及装置、存储介质 | |
CN101527727A (zh) | 通信设备和操作管理方法 | |
CN101631129B (zh) | 组播数据转发方法及装置 | |
WO2018014767A1 (zh) | 一种信息确定方法、装置及存储介质 | |
WO2020220459A1 (zh) | 基于VXLAN和OpenFlow的虚拟家庭网络共享方法及系统 | |
CN104579981B (zh) | 一种组播数据报文转发方法及设备 | |
CN103716169B (zh) | 点到多点的组播实现方法、网络节点和系统 | |
US20130136122A1 (en) | Using multiple igmp queriers in a layer 2 network | |
CN104285413B (zh) | 一种数据包转换装置及方法 | |
CN102724126A (zh) | 一种E-tree业务报文转发方法、装置和设备 | |
US9548887B2 (en) | Proactive creation of multicast state in an overlay transport network to achieve fast convergence on failover | |
CN102025626B (zh) | 转发组播数据报文的方法和提供商边缘设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |