CN103763192B - 报文转发方法和装置 - Google Patents
报文转发方法和装置 Download PDFInfo
- Publication number
- CN103763192B CN103763192B CN201410042723.8A CN201410042723A CN103763192B CN 103763192 B CN103763192 B CN 103763192B CN 201410042723 A CN201410042723 A CN 201410042723A CN 103763192 B CN103763192 B CN 103763192B
- Authority
- CN
- China
- Prior art keywords
- multicast
- mac
- unicast
- message
- beb equipment
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种报文转发方法和装置,技术方案为:学习SPBM网络中每个BEB设备的用户网络路由以及骨干网络路由,生成IP转发表;配置用于三层单播转发的I‑SID并进行PW信息的发布和接收,根据接收到的PW信息生成IP单播PW表项;接收到来自用户网络侧的需要三层转发的单播报文时,根据IP转发表确定单播报文的下一跳IP地址,根据该下一跳IP地址对应的IP单播PW表项对单播报文进行封装和转发。本发明可以实现报文的三层转发。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种应用于MAC-in-MAC模式的最短路径桥接(Shortest Path Bridge,SPB)网络中的报文转发方法和装置。
背景技术
SPB是IEEE802.1aq定义的以太网标准之一,是多生成树协议(MSTP)的进一步延伸,旨在构建大型扁平的无阻塞二层网络,使用基于中间系统到中间系统的最短路径桥接(SPB-ISIS)来共享网络中的链路状态,网络各个节点并行计算与其它各节点之间的最短路径,能够避免使用生成树协议(STP)带来的不稳定性和部分链路利用效率低下的不足。
IEEE802.1aq定义了两种SPB模式:虚拟局域网(VLAN)嵌套模式(VLAN模式的SPB简称SPBV)和MAC嵌套(MAC-in-MAC)模式(MAC-in-MAC模式的SPB简称SPBM)。
参见图1,图1是现有技术SPBM组网示意图,用户网络通过骨干网边缘网桥(Backbone Edge Bridge,BEB)连接到骨干网络,在骨干网络中BEB(包括BEB-A、BEB-B、BEB-C)之间通过骨干网骨干网络桥(Backbone Core Bridge,BCB)相连。其中,BEB负责将来自用户网络的报文进行MAC-in-MAC封装,并转发到骨干网络中;或者将来自骨干网络的MAC-in-MAC报文进行解封装,并转发到用户网络中。BCB负责按照骨干网介质访问控制(BackboneMAC,B-MAC)和骨干网VLAN(B-VLAN)转发MAC-in-MAC报文。
SPBM支持多实例,每个SPBM实例代表了一类业务或用户,具有惟一的编号:骨干网服务实例编号(Backbone Service Instance Identifier,I-SID),并承载在一个B-VLAN中。
BEB设备从用户侧端口收到报文后,根据端口+VLAN映射到相应的SPBM实例中进行查表转发,如果出接口为SPBM隧道口,则根据服务实例与B-VLAN的映射关系,得到B-Tag,进行MAC-in-MAC隧道封装。经过隧道封装的报文进入SPT区内之后,在BCB设备上根据报文头的B-MAC、B-VLAN进行转发。在B-VLAN内不动态学习MAC,丢弃全F的广播、未知地址单播、未知地址组播的报文,且在报文Ingress时根据B-SMAC和B-VLAN进行RPF检查,防止环路;B-VLAN内的转发表项包括单播和组播表项都由SPB-ISIS下刷。骨干链路上只需要允许B-VLAN的流量通过。
现有技术中,SPBM网络仅支持二层报文转发,不支持三层报文转发。
发明内容
有鉴于此,本发明的目的在于提供一种SPBM网络中的报文转发方法和装置,能够支持报文的三层转发。
为实现上述目的,本发明提供的技术方案为:
一种报文转发方法,应用于MAC嵌套模式的最短路径桥接SPBM网络中的BEB设备,包括:
学习每个BEB设备的用户网络侧的路由信息、以及本BEB设备到其他BEB设备之间的路由信息,并根据学习到的路由信息生成IP转发表;
向其他BEB设备发布本BEB设备的PW信息,接收其他BEB设备发布的PW信息,并据此生成去往其他BEB设备的IP单播PW表项,所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN;
在接收来自用户网络侧的需要进行三层单播转发的单播报文时,根据IP转发表确定单播报文对应的下一跳IP地址,进而根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发。
另一种报文转发方法,应用于MAC嵌套模式的最短路径桥接SPBM网络中的BCB设备,包括:
接收BEB设备发布的PW信息,以所述BEB设备为根节点,通过SPF算法计算得到所述PW信息对应IP单播VLAN的MAC转发表项;所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN;
在接收到MAC-in-MAC报文时,根据MAC-in-MAC报文所属B-VLAN的MAC转发表项转发MAC-in-MAC报文。
一种报文转发装置,应用于MAC嵌套模式的最短路径桥接SPBM网络中的BEB设备,包括:路由学习单元、单播处理单元、报文转发单元;
所述路由学习单元,用于学习每个BEB设备的用户网络侧的路由信息、以及本BEB设备到其他BEB设备之间的路由信息,并根据学习到的路由信息生成IP转发表;
所述单播处理单元,用于向其他BEB设备发布本BEB设备的PW信息,接收其他BEB设备发布的PW信息,并据此生成去往其他BEB设备的IP单播PW表项,所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN;
所述报文转发单元,用于在接收来自用户网络侧的需要进行三层单播转发的单播报文时,根据IP转发表确定单播报文对应的下一跳IP地址,进而根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发。
另一种报文转发装置,应用于MAC嵌套模式的最短路径桥接SPBM网络中的BCB设备,其特征在于,该装置包括:单播处理单元、报文转发单元;
所述单播处理单元,用于接收BEB设备发布的PW信息,以所述BEB设备为根节点,通过SPF算法计算得到所述PW信息对应IP单播VLAN的MAC转发表项;所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN;
所述报文转发单元,用于在接收到MAC-in-MAC报文时,根据MAC-in-MAC报文所属B-VLAN的MAC转发表项转发报文。
综上所述,本发明中,通过学习SPBM网络中每个BEB设备的用户网络路由以及骨干网络路由,生成IP转发表;配置用于三层单播转发的I-SID并进行PW信息的发布和接收,根据接收到的PW信息生成IP单播PW表项;接收到来自用户网络侧的需要三层转发的单播报文时,根据IP转发表确定单播报文的下一跳IP地址,根据该下一跳IP地址对应的IP单播PW表项对单播报文进行封装和转发,从而实现报文的三层转发。
附图说明
图1是现有技术SPBM组网示意图;
图2是本发明实施例PW TLV的格式示意图;
图3是本发明实施例报文格式转换示意图;
图4是本发明实施例Group TLV的格式示意图;
图5是本发明实施例Group Member TLV的格式示意图;
图6是本发明实施例一报文转发方法的流程示意图;
图7是本发明实施例二报文转发方法的流程示意图;
图8是本发明实施例一报文转发装置的结构示意图;
图9是本发明实施例二报文转发装置的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中,为了实现报文在SPBM网络中的三层转发,预先配置用于三层转发的I-SID,其中包括用于三层单播转发的I-SID和用于三层组播转发的I-SID,用于三层单播转发的I-SID与用于三层组播转发的I-SID可以不同,也可以相同。为了便于描述,以下将用于三层单播转发的I-SID称为IP单播I-SID,将用于三层组播转发的I-SID称为IP组播I-SID。
下面结合图1,对本发明实施例三层单播转发及三层组播转发的实现原理进行说明。
三层单播转发的实现原理:
一、IP转发表生成过程:
为实现报文的三层单播转发,本BEB要学习SPBM网络中每个BEB设备的用户网络侧的路由信息、以及第一BEB设备到其他BEB设备之间的路由信息,并根据学习到的路由信息生成IP转发表。
本发明实施例中,在BEB设备中创建SPBM隧道口和用于用户网络侧接入的VLAN虚接口,以进行路由学习。SPBM隧道口分配有IP地址,该IP地址用于三层转发。例如在图1所示SPBM网络中,BEB-A的SPBM隧道口IP地址为192.168.1.1/16;BEB-B的SPBM隧道口IP地址为192.168.2.1/16;BEB-C的SPBM隧道口IP地址为192.168.2.2/16。VLAN虚接口上配置有IP地址,该IP地址作为本VLAN内用户网络侧设备的网关地址,对需要跨网段的报文进行基于IP地址的三层转发。
创建SPBM隧道口和用于用户网络侧接入的VLAN虚接口后,利用SPBM隧道口和VLAN虚接口进行路由学习,具体包括:在SPBM隧道口和VLAN虚接口使能预先设定的路由协议,如OSPF等协议;通过VLAN虚接口,学习第一BEB设备的用户网络侧的路由信息;同时,通过所述SPBM隧道口,将第一BEB设备及第一BEB设备的用户网络侧的路由信息发布给其他BEB设备,并学习其他BEB设备及该其他BEB设备的用户网络侧的路由信息。其中,第一BEB设备学习到的学习其他BEB设备及该其他BEB设备的用户网络侧的路由信息不需要发布到第一BEB设备的用户网络侧。
以图1为例,假设BEB-A连接的用户网络中,存在IP地址为1.1.1.1/24的设备,BEB-A的SPBM隧道口的IP地址为192.168.1.1;BEB-B连接的用户网络中,存在IP地址为2.2.2.3/24的设备和IP地址为20.2.2.3/24的设备,BEB-B的SPBM隧道口的IP地址为192.168.2.1;BEB-C连接的用户网络中,存在IP地址为3.3.3.4/24的设备,BEB-C的SPBM隧道口的IP地址为192.168.2.2。
则BEB-A计算得到的IP转发表如表一所示:
目的IP地址 | 下一跳IP地址 |
2.2.2.3/24 | 192.168.2.1 |
20.2.2.3/24 | 192.168.2.1 |
3.3.3.4/24 | 192.168.2.2 |
…… | …… |
表一
二、IP单播PW表项生成过程:
在第一BEB设备(为区分方便,将该BEB设备称之为第一BEB设备)中配置IP单播I-SID,配置的每个IP单播I-SID映射到一个IP单播VLAN。例如在图1所示SPBM网络中,BEB-A、BEB-B、BEB-C均配置一个IP单播I-SID:I-SID65535,I-SID65535映射到一IP单播VLAN(假设为4000)。
可以在BEB设备中配置一个IP单播I-SID,也可以配置多个IP单播I-SID,配置多个IP单播I-SID的情况下,对每个IP单播I-SID执行相同的操作,因此,以下仅对配置一个IP单播I-SID的情况进行说明。
在第一BEB设备中配置IP单播I-SID后,生成相应的PW信息并向SPBM网络的其他BEB设备发布,其中的PW信息包括:第一BEB设备的B-MAC、预先配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN。
BEB设备可以利用ISIS LSP报文进行PW信息发布,具体实现中,可以在ISIS LSP报文中增加PW TLV,PW TLV的格式如图2所示,包括Type、Length、Value字段。其中Value字段又包括多个字段,每个字段的含义如下:sub-type字段:指明SPBM隧道口IP地址类型,例如:为1时表示IPv4,为2时表示IPv6;Length字段:剩余字段的长度;MAC Address字段:表示BEB设备的B-MAC地址;I-SID字段:代表一个IP单播I-SID;B-VLAN字段:IP单播I-SID映射的IP单播VLAN:IP Address字段为BEB设备的用于三层转发的IP地址(SPBM隧道口IP地址)。
第一BEB设备在接收到其他BEB设备发布的PW信息后,生成去往其他BEB设备的IP单播PW表项,该IP单播PW表项对应于其他BEB设备自身配置的用于三层转发的IP地址,该IP单播PW表项具体可以包括第一BEB设备的BMAC、该其他BEB设备的BMAC、单播ISID和单播BVLAN和出接口信息(该出接口信息为该其他BEB设备在IP单播I-SID中对应的出接口)。
SPBM网络中的BCB设备和其他BEB设备均会接收到第一BEB设备发布的PW信息,进行相应处理。其中,
BCB设备接收到第一BEB设备发布的PW信息后,会以第一BEB设备为根节点,通过SPF算法计算得到对应IP单播VLAN的MAC转发表项。此后,当BCB设备接收到属于该IP单播VLAN的MAC-in-MAC报文时,根据该IP单播VLAN的MAC转发表项转发MAC-in-MAC报文。
其他BEB设备接收到该PW信息后,据此PW信息生成去往第一BEB设备的IP单播PW表项,该IP单播PW表项对应于第一BEB设备上配置的用于三层转发的IP地址,具体包括:源B-MAC,目的B-MAC、IP单播I-SID、IP单播I-SID映射的B-VLAN、出接口等信息,其中,源B-MAC为该其他BEB设备的B-MAC;目的B-MAC为第一BEB设备的B-MAC;物理出接口为该其他BEB设备中,第一BEB设备在IP单播I-SID内对应的出接口。此后,当该其他BEB设备接收到在接收来自用户网络侧的需要进行三层单播转发的单播报文时,如果根据IP转发表确定单播报文对应的下一跳IP地址为第一BEB设备的用于三层单播转发的IP地址时,则可以根据该IP单播PW表项,对单播报文进行MAC-in-MAC封装后转发。
以下以图1为例进行说明:
假设BEB-A、BEB-B、BEB-C的B-MAC分别为:B-MAC-A、B-MAC-B、B-MAC-C。
BEB-A配置IP单播I-SID:65535之后,向外发布PW信息,该PW信息包括B-MAC-A、192.168.1.1/16、I-SID65535、B-VLAN4000。BEB-C配置IP单播I-SID:65535之后,向外发布PW信息,该PW信息包括B-MAC-B、192.168.2.1/16、I-SID65535、B-VLAN4000。BEB-A配置IP单播I-SID:65535之后,向外发布PW信息,该PW信息包括B-MAC-C、192.168.2.2/16、I-SID65535、B-VLAN4000。
BEB-A接收到BEB-B发布的PW信息后,生成去往BEB-B的IP单播PW表项,该IP单播PW表项包括B-MAC-A(源B-MAC)、B-MAC-B(目的B-MAC)、I-SID65535、B-VLAN4000、BEB-B在I-SID65535内对应的出接口。此后,当BEB-A在用户网络侧接收到需要三层转发的单播报文时,如果根据IP转发表确定单播报文的下一跳为192.168.2.1,则将根据该IP单播PW表项对单播报文进行MAC-in-MAC封装后转发。
BEB-A接收到BEB-C发布的PW信息后,生成去往BEB-C的IP单播PW表项,该IP单播PW表项包括B-MAC-A、B-MAC-C、I-SID65535、B-VLAN4000、BEB-C在I-SID65535内对应的出接口。此后,当BEB-A在用户网络侧接收到需要三层转发的单播报文时,如果根据IP转发表确定单播报文的下一跳为192.168.2.2,则将根据该IP单播PW表项对单播报文进行MAC-in-MAC封装后转发。
基于与上述相同的原理,BEB-B接收到BEB-A和BEB-C发布的PW信息后,分别生成去往BEB-A的IP单播PW表项、去往BEB-C的IP单播PW表项。同样,BEB-C接收到BEB-A和BEB-B发布的PW信息后,分别生成去往BEB-A的IP单播PW表项、去往BEB-B的IP单播PW表项。
三、邻接表项生成过程:
在实际应用中,第一BEB设备接收到其他BEB设备发布的PW信息,并得到第一BEB设备去往其他BEB设备的IP单播PW表项后,还要生成一邻接表项,该邻接表项的IP地址为该其他BEB设备的用于三层转发的IP地址,出接口信息为第一BEB设备去往其他BEB设备的IP单播PW表项。当接收到来自用户网络侧的需要进行三层转发的单播报文时,先根据IP转发表确定单播报文的下一跳IP地址,然后再通过查找与所述下一跳IP地址相匹配的邻接表项,根据匹配上的邻居表项的出接口信息,确定所述下一跳IP地址对应的IP单播PW表项,从而根据该IP单播PW表项对单播报文进行MAC-in-MAC封装后转发。
以图1为例,对邻接表项的生成进行说明。
BEB-A生成了去往BEB-B的IP单播PW表项后,进一步生成一个以BEB-B的用于三层转发的IP地址(192.128.2.1)为下一跳IP地址,以去往BEB-B的IP单播PW表项为出接口信息的邻接表项。BEB-A生成了去往BEB-C的IP单播PW表项后,进一步生成一以BEB-C的用于三层转发的IP地址(192.128.2.2)为下一跳IP地址,以去往BEB-C的IP单播PW表项为出接口信息的邻接表项。
最终BEB-A将生成如表二所示的邻接表:
下一跳IP地址 | PW信息(出接口信息) |
192.168.2.1 | 去往BEB-B的IP单播PW表项 |
192.168.2.2 | 去往BEB-C的IP单播PW表项 |
表二
四、三层单播报文转发
基于上述生成的IP转发表、IP单播PW表项、邻接表项,可实现对单播报文的三层转发。
当BEB设备接收到来自用户网络侧的单播报文时,先判断单播报文是否需要进行三层转发,如果不需要进行三层单播转发,则仍按现有技术的方法进行二层转发即可,如果需要进行三层转发,则需要依据自身生成的IP转发表确定单播报文的下一跳IP地址,用该下一跳IP地址匹配邻接表项,找到该下一跳IP地址对应的IP单播PW表项,然后根据该IP单播PW表项对单播报文进行MAC-in-MAC封装后转发。其中,判断用户报文是否需要三层转发的方法与现有技术相同,也即:通过判断用户报文的目的MAC地址是否是用户报文接收接口的MAC地址,是则需要进行三层单播转发,否则不需要进行三层单播转发。
其中,根据单播报文的下一跳IP地址对应的IP单播PW表项,对单播报文进行MAC-in-MAC封装的过程中涉及到报文格式转换,具体可参见图3所示的报文格式转换示意图:
单播报文从用户网络侧进入BEB设备时,携带以太网帧头和有效载荷(payload,有效载荷中包括IP帧头)。以太网帧头中包括用户网络源MAC地址(C-SA)、用户网络目的MAC地址(C-DA)、用户VLAN标签(C-Tag)、ethType等信息。
当确定单播报文需要进行三层转发后,根据单播报文的下一跳IP地址对应的IP单播PW表项封装单播报文时,需先剥离报文的以太网帧头,得到包含IP头信息的payload(也即IP报文);然后根据IP单播PW表项对IP报文进行MAC-in-MAC封装,并从该IP单播PW表项包含的出接口发送封装后的IP报文。如图3所示,经MAC-in-MAC封装后,IP报文外层封装的信息包括骨干网源MAC地址(B-SA)、骨干网目的MAC地址(B-DA)、骨干网服务实例标签(I-Tag,其中包含的I-SID为IP单播I-SID)、骨干网VLAN标签(C-Tag,其中包含的B-VLAN为IP单播I-SID映射的IP单播VLAN)。
封装后得到的MAC-in-MAC报文在骨干网络中仍走二层转发(也即根据B-MAC和B-VLAN转发),到达目的BEB设备后,目的BEB设备对报文解MAC-in-MAC封装,由于该报文携带的I-SID为IP单播I-SID,因此查找IP转发表进行转发。
下面以图1为例,对三层单播报文转发过程进行说明。
假设在图1中,虚拟机VM-A在1.1.1.0/24网段,虚拟机VM-D在20.2.2.0/24网段,VM-A发起对VM-D的Ping请求,则过程如下:
Ping请求报文的目的MAC为网关MAC地址(也即BEB-A的VLAN虚接口的MAC地址),目的IP地址为VM-D的IP地址。
BEB-A接收到Ping请求报文后,确定需要进行三层转发,查找IP转发表确定Ping请求报文的下一跳IP地址为192.168.2.1,然后使用下一跳IP地址192.168.2.1去匹配邻接表项,匹配到表二的第一个邻接表项,从而得到下一跳IP地址192.168.2.1对应于去往BEB-B的IP单播PW表项,因此,剥离Ping请求报文的以太网帧头,根据去往BEB-B的IP单播PW表项对剥离了以太网帧头的Ping请求报文执行MAC-in-MAC封装,最后将封装后的报文从去往BEB-B的IP单播PW表项包含的出接口发送出去。
封装后的报文经骨干网的二层转发之后到达目的BEB设备:BEB-B,BEB-B解封装得到不带二层以太网头的Ping请求报文,由于该报文携带的I-SID为IP单播I-SID,因此根据IP转发表转发报文,最终将Ping请求报文发送到VM-D。
需要说明的是,以上是以配置一个IP单播I-SID为例,对本发明实现单播报文的三层转发的原理进行说明,当配置多个IP单播I-SID的情况下,针对每个单播I-SID,都会发布和接收相应的PW信息,以及生成相应的IP单播PW表项和邻接表项。这样,当BEB设备接收到需要进行三层转发的单播报文时,就会出现单播报文的下一跳IP地址匹配到多个邻接表项的现象。实际上,由于邻接表项和IP单播I-SID是相关的,因此,可以选定一个IP单播I-SID,利用该IP单播I-SID相关的邻接表项的出接口信息(IP单播PW表项)对单播报文进行封装后转发。
三层组播转发的实现原理:
一、IP组播组对应的MAC转发表项生成过程:
在BEB设备中配置IP组播I-SID,配置的每个IP组播I-SID映射到一个IP组播B-VLAN。例如在图1所示SPBM网络中,BEB-A、BEB-B、BEB-C均配置一个IP组播I-SID:I-SID65534,I-SID65534映射到一IP组播B-VLAN(假设为4001)。
可以在BEB设备中配置一个IP组播I-SID,也可以配置多个IP组播I-SID,配置多个IP组播I-SID的情况下,对每个IP组播I-SID执行相同的操作,因此,以下仅对配置一个IP组播I-SID的情况进行说明。
现有技术中,BEB设备连接的用户网络中存在组播源时,组播源将向外发出组播特定组查询报文(IGMP Group-Specific Query)。BEB设备侦听到组播特定组查询报文后,将为组播特定组查询报文所属IP组播组生成一个全网唯一的SPSourceID。
本发明实施例中,可以利用BEB设备为IP组播组生成的全网唯一的SPSourceID以及预先配置的IP组播I-SID,生成该IP组播组对应的关联于该IP组播I-SID的一骨干网组播MAC地址。本发明实施例中,根据SPSourceID以及IP组播I-SID,生成骨干网组播MAC地址生成方法,可以与现有技术SPBM中生成组播MAC地址的方法相同。
以图1中的BEB-A为例,假设BEB-A连接的用户网络中存在组播源,其IP组播组地址为226.1.1.1。组播源向外发送IP组播组226.1.1.1的组播特定组查询报文,BEB-A接收到该组播特定组查询报文后,为IP组播组226.1.1.1生成一个全网唯一的SPSourceID(假设为266),然后就可以利用该SPSoureceID和I-SID65534生成IP组播组226.1.1.1对应的关联于I-SID65534的骨干网组播MAC地址(假设为03-00-E2-01-00-00)。
BEB设备侦听到针对任一IP组播组的组播特定组查询报文,并生成该IP组播组对应的关联于IP组播I-SID的骨干网组播MAC地址后,需要向其他所有BEB设备发送IP组播组通告消息,以便通告该IP组播组信息,该IP组播组信息包括该IP组播组地址、骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的组播B-VLAN。
IP组播组通告消息可以通过在ISIS LSP报文中新增Group TLV实现,GroupTLV的格式具体如图4所示,其中包括Type、Length、Value字段。其中Value字段又包括多个字段,每个字段的含义如下:sub-type字段:指明组播组IP地址类型,例如:为1时表示IPv4,为2时表示IPv6;Length字段:剩余字段的长度;MAC Address字段:表示骨干网组播MAC地址;I-SID字段:代表一个IP组播I-SID;B-VLAN字段:IP组播I-SID映射的组播B-VLAN:IP Address表明IP组播组地址。
其他BEB设备接收到IP组播组通告消息后,记录IP组播组通告消息中携带的IP组播组信息。如果该其他BEB设备的用户网络侧中存在该IP组播组的接收者,则在侦听到组播接收者发送的组播组成员关系报告报文(IGMP Membership Report)后,利用该IP组播组地址查找记录的所有IP组播组信息,若确定本地已记录有该IP组播组的信息,则需向外发送用于指示存在该IP组播组的成员的组播组成员通知消息。
组播组成员通知消息可以通过在ISIS LSP报文中新增Group Member TLV实现,Group Member TLV的格式具体如图5所示,其中包括Type、Length、Value字段。其中Value字段又包括多个字段,每个字段的含义如下:sub-type字段:指明组播组IP地址类型,例如:为1时表示IPv4,为2时表示IPv6;Length字段:剩余字段的长度;MAC Address字段:表示骨干网组播MAC地址;I-SID字段:代表一个IP组播I-SID;B-VLAN字段:IP组播I-SID映射的B-VLAN:IP Address表明IP组播组地址。
以BEB-B为例,接收到BEB-A发送的IP组播组通告消息后,记录其中的IP组播组信息,得到表四所示IP组播组信息记录:
IP组播I-SID | 组播B-VLAN | 组播组地址 | 骨干网组播MAC地址 |
65534 | 4000 | 226.1.1.1 | 03-00-E2-01-00-00 |
…… | …… | …… | …… |
表四
假设BEB-B连接的用户网络中存在组播组226.1.1.1的接收者,则该接收者会发送针对IP组播组226.1.1.1的组播组成员关系报告报文报文,BEB-B接收到该组播组成员关系报告报文后,利用组播组地址226.1.1.1查找对应的IP组播组信息,可以查找到上述表四中的第一条IP组播组信息,因此BEB-B向外发送用于指示存在组播组226.1.1.1的成员的组播组成员通知消息。
第一BEB设备接收到针对任一IP组播组的组播特定组查询报文,并向外发送IP组播组通告消息后,如果接收到其他BEB设备发送的用于指示存在该IP组播组的成员的组播组成员通知消息,则创建该IP组播组的IP组播PW表项和MAC转发表项,其中,该IP组播PW表项包括第一BEB设备的B-MAC、该IP组播组对应的骨干网组播MAC地址、IP组播I-SID及其映射的组播B-VLAN,该其他BEB设备在IP组播I-SID内对应的出接口(当有多个其他BEB设备发送用于指示存在该IP组播组的成员的组播组成员通知消息,每个其他BEB设备对应一个出接口);该MAC转发表项的目的MAC为该IP组播组对应的骨干网组播MAC地址,出接口信息为该IP组播组的IP组播PW表项。
以BEB-A为例,发送携带IP组播组226.1.1.1的信息的IP组播组通告消息后,当接收到BEB-B发送的用于指示存在IP组播组226.1.1.1的成员的组播组成员通知消息时,创建该IP组播组的IP组播PW表项和MAC转发表项,其中,该IP组播PW表项包括B-MAC-A、03-00-E2-01-00-00、IP组播I-SID65534、组播B-VLAN4001,BEB-B在IP组播I-SID65534内对应的出接口;该MAC转发表项的目的MAC为03-00-E2-01-00-00,出接口信息为该IP组播组的IP组播PW表项。
BEB-A中,最终得到的各IP组播组对应的MAC转发表项的部分内容如表五所示:
骨干网组播MAC地址 | 出接口 |
03-00-E2-01-00-00 | IP组播组266.1.1.1对应的IP组播PW表项 |
…… | …… |
表五
另外,对于SPBM骨干网络中的BCB设备来说,当接收任一BEB设备发布的IP组播组通告消息,以及其他BEB设备发送的用于指示存在该IP组播组的成员的组播组成员通知消息,需要以该任一BEB设备为组播源,该其他BEB设备为组播接收者,通过SPF计算该IP组播组的组播MAC转发表项,其中,该IP组播组通告消息包括该IP组播组地址及对应的骨干网组播MAC地址、IP组播I-SID及其映射的IP组播B-VLAN;该MAC转发表项的目的MAC为该IP组播组对应的骨干网组播MAC地址,出接口信息为一个或多个出接口(具体可以根据SPF计算结果以及发送用于指示存在该IP组播组的成员的组播组成员通知消息的BEB设备集合确定)。这样,当BCB设备接收到属于该IP组播组的经MAC-in-MAC封装的组播报文时,可以根据该IP组播组的MAC转发表项转发报文。
二、三层组播报文转发
本发明实施例中,BEB设备利用IP组播组对应的MAC转发表项对组播报文进行三层转发。
当BEB设备接收来自用户网络侧的需要进行三层组播转发的组播报文时,根据组播报文所属IP组播组所对应的骨干网组播MAC地址,确定与该骨干网组播MAC地址匹配的MAC转发表项,并根据所确定的MAC转发表项的出接口信息,对所述组播报文进行MAC-in-MAC封装后转发。
以BEB-A为例,当接收到IP组播组226.1.1.1的组播报文时,确定IP组播组226.1.1.1对应的骨干网组播地址为03-00-E2-01-00-00,该骨干网组播地址03-00-E2-01-00-00匹配上述表五中的MAC转发表项,因此,利用该MAC转发表项对组播报文进行MAC-in-MAC封装后转发。
封装了组播报文的MAC-in-MAC报文在骨干网中走二层转发,并最终达到各目的BEB设备,各目的BEB设备将解封装得到原始组播报文,然后按照现有技术的方法转发组播报文即可。
需要说明的是,以上是以配置一个IP组播I-SID为例,当BEB设备接收到针对任一IP组播组的组播特定组查询报文后,执行生成与该IP组播I-SID相对应的骨干组播MAC地址、发送携带与IP组播I-SID相对应的IP组播信息的IP组播组通告消息和接收用于指示存在该IP组播组成员的组播组成员通知消息,并生成与IP组播I-SID相对应的该IP组播组的MAC转发表项等操作。
当配置多个IP组播I-SID的情况下,针对每个IP组播I-SID,都需要执行上述生成与该IP组播I-SID相对应的骨干组播MAC地址、发送携带与IP组播I-SID相对应的IP组播信息的IP组播组通告消息和接收用于指示存在该IP组播组成员的组播组成员通知消息,并生成与IP组播I-SID相对应的该IP组播组的MAC转发表项。这样,当BEB设备接收到需要进行三层转发的属于该IP组播组的组播报文时,就会有该IP组播组对应多个MAC转发表项可用于组播报文的三层转发的现象。实际上,由于IP组播组对应多个MAC转发表中,每个MAC转发表项和一个IP组播I-SID相关,因此,可以先选定一个IP组播I-SID,利用该IP组播I-SID相关的MAC转发表项的出接口信息(IP组播PW表项)对组播报文进行封装后转发。
以上对本发明实施例报文转发方法进行了原理性说明,基于上述原理,本发明提供了一种应用于BEB设备的报文转发方法和报文转发装置,以及一种应用于BCB设备的报文转发方法和报文转发装置,下面分别结合图6、图7、图8、图9进行说明。
参见图6,图6是本发明实施例一报文转发方法流程示意图,应用于SPBM网络中的BEB设备,该方法包括以下步骤:
步骤601、学习每个BEB设备的用户网络侧的路由信息、以及本BEB设备到其他BEB设备之间的路由信息,并根据学习到的路由信息生成IP转发表;
步骤602、向其他BEB设备发布本BEB设备的PW信息,接收其他BEB设备发布的PW信息,并据此生成去往其他BEB设备的IP单播PW表项,所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN;
步骤603、在接收来自用户网络侧的需要进行三层单播转发的单播报文时,根据IP转发表确定单播报文对应的下一跳IP地址,进而根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发。
图6所示本发明实施例中,
所述学习每个BEB设备的用户网络侧路由信息、以及本BEB设备到其他BEB设备之间的核心网路由信息,包括:
在本BEB设备的IP单播I-SID下,创建SPBM隧道口和用于用户网络侧接入的VLAN虚接口,所述SPBM隧道口的IP地址为所述用于三层转发的IP地址;
在所述SPBM隧道口和VLAN虚接口均使能预定路由协议;
通过所述VLAN虚接口,学习本BEB设备的用户网络侧的路由信息;以及,通过所述SPBM隧道口,将本BEB设备及本BEB设备的用户网络侧的路由信息发布给其他BEB设备,并学习其他BEB设备及该其他BEB设备的用户网络侧的路由信息。
图6所示本发明实施例中,
在得到本BEB设备到其他BEB设备的IP单播PW表项后,进一步生成一邻接表项,该邻接表项的IP地址为该其他BEB设备的用于三层转发的IP地址,出接口信息为本BEB设备去往其他BEB设备的IP单播PW表项;
进一步通过查找与所述下一跳IP地址相匹配的邻接表项,根据匹配上的邻接表项的出接口信息,确定所述下一跳IP地址对应的IP单播PW表项。
图6所示本发明实施例中,
所述根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发,包括:
剥离单播报文的以太网帧头后,根据查找到的IP单播PW表项,对该单播报文进行MAC-in-MAC封装后转发至SPBM骨干网络。
图6所示本发明实施例中,还包括:
在接收到目的MAC地址为本BEB设备的B-MAC的MAC-in-MAC报文时,对该报文解MAC-in-MAC封装,若该报文携带的I-SID为IP单播I-SID,则查找IP转发表进行转发。
图6所示本发明实施例中,还包括:
在侦听到针对任一IP组播组的组播特定组查询报文时,为该IP组播组生成用于唯一标识该任一IP组播组的SPSourceID,根据该SPSourceID和为该任一IP组播组配置的用于三层组播转发的IP组播I-SID,生成该任一IP组播组在SPBM骨干网络中的骨干网组播MAC地址,并向其他BEB设备发布IP组播组通告消息,该IP组播组通告消息包括任一IP组播组地址及对应的骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的IP组播B-VLAN;
在接收到其他BEB设备发布的、用于指示存在该任一IP组播组的成员的组播组成员通知消息时,创建该任一IP组播组的IP组播PW表项和MAC转发表项,该IP组播PW表项包括该BEB设备的B-MAC、该任一IP组播组对应的骨干网组播MAC地址、IP组播I-SID及IP组播B-VLAN,该MAC转发表项的目的MAC为该IP组播组对应的骨干网组播MAC地址,出接口信息为该IP组播组的IP组播PW表项;
在接收来自用户网络侧的需要进行三层组播转发的组播报文时,根据组播报文所属IP组播组所对应的骨干网组播MAC地址,确定与该骨干网组播MAC地址匹配的MAC转发表项,并根据所确定的MAC转发表项的出接口信息,对所述组播报文进行MAC-in-MAC封装后转发。
图6所示本发明实施例中,还包括:
接收其他BEB设备发布的IP组播组通告消息,记录该IP组播组通告消息携带的IP组播组地址及其对应的骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的IP组播B-VLAN;
在侦听到第一IP组播组的成员关系报告报文时,若本地已记录有该第一IP组播组的信息时,向其他BEB设备发布用于指示存在该第一IP组播组的成员的组播组成员通知消息。
参见图7,图7是本发明实施例二报文转发方法流程示意图,应用于SPBM网络中的BCB设备,该方法包括以下步骤:
步骤701、接收BEB设备发布的PW信息,以所述BEB设备为根节点,通过SPF算法计算得到所述PW信息对应IP单播VLAN的MAC转发表项;所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的单播B-VLAN;
步骤702、在接收到MAC-in-MAC报文时,根据MAC-in-MAC报文所属B-VLAN的MAC转发表项转发报文。
图7所示本发明实施例中,还包括:
接收任一BEB设备发布的IP组播组通告消息,以及其他BEB设备发送的用于指示存在该IP组播组的成员的组播组成员通知消息,以该任一BEB设备为组播源,该其他BEB设备为组播接收者,通过SPF计算该IP组播组的组播MAC转发表项,其中,该IP组播组通告消息包括该IP组播组地址及对应的骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的IP组播B-VLAN,该MAC转发表项的目的MAC为该IP组播组对应的骨干网组播MAC地址,出接口信息为一个或多个出接口;
在接收到属于该IP组播组的经MAC-in-MAC封装的组播报文时,根据该IP组播组的MAC转发表项转发报文。
参见图8,图8是本发明实施例一报文转发装置的结构示意图,应用于SPBM网络中的BEB设备,如图8所示,该装置包括:路由学习单元801、单播处理单元802、报文转发单元803;其中,
路由学习单元801,用于学习每个BEB设备的用户网络侧的路由信息、以及本BEB设备到其他BEB设备之间的路由信息,并根据学习到的路由信息生成IP转发表;
单播处理单元802,用于向其他BEB设备发布本BEB设备的PW信息,接收其他BEB设备发布的PW信息,并据此生成去往其他BEB设备的IP单播PW表项,所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的单播B-VLAN;
报文转发单元803,用于在接收来自用户网络侧的需要进行三层单播转发的单播报文时,根据IP转发表确定单播报文对应的下一跳IP地址,进而根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发。
图8所示装置中,
所述路由学习单元801学习每个BEB设备的用户网络侧路由信息、以及本BEB设备到其他BEB设备之间的核心网路由信息,包括:
在本BEB设备的IP单播I-SID下,创建SPBM隧道口和用于用户网络侧接入的VLAN虚接口,所述SPBM隧道口的IP地址为所述用于三层转发的IP地址;
在所述SPBM隧道口和VLAN虚接口均使能预定路由协议;
通过所述VLAN虚接口,学习本BEB设备的用户网络侧的路由信息;以及,通过所述SPBM隧道口,将本BEB设备及本BEB设备的用户网络侧的路由信息发布给其他BEB设备,并学习其他BEB设备及该其他BEB设备的用户网络侧的路由信息。
图8所示装置中,
所述单播处理单元802,在得到本BEB设备到其他BEB设备的IP单播PW表项后,进一步生成一邻接表项,该邻接表项的IP地址为该其他BEB设备的用于三层转发的IP地址,出接口信息为本BEB设备去往其他BEB设备的IP单播PW表项;
所述报文转发单元803,用于通过查找与所述下一跳IP地址相匹配的邻接表项,根据匹配上的邻接表项的出接口信息,确定所述下一跳IP地址对应的IP单播PW表项。
图8所示装置中,
所述报文转发单元803根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发,包括:
剥离单播报文的以太网帧头后,根据下一跳IP地址对应的IP单播PW表项,对该单播报文进行MAC-in-MAC封装后转发至SPBM骨干网络。
图8所示装置中,
所述报文转发单元803,进一步用于在接收到目的MAC地址为本BEB设备的B-MAC的MAC-in-MAC报文时,对该报文解MAC-in-MAC封装,若该报文携带的I-SID为IP单播I-SID,则查找IP转发表进行转发。
图8所示装置还包括:组播处理单元804;
所述组播处理单元804,用于在侦听到针对任一IP组播组的组播特定组查询报文时,为该IP组播组生成用于唯一标识该任一IP组播组的SPSourceID,根据该SPSourceID和为该任一IP组播组配置的用于三层组播转发的IP组播I-SID,生成该任一IP组播组在SPBM骨干网络中的骨干网组播MAC地址,并向其他BEB设备发布IP组播组通告消息,该IP组播组通告消息包括任一IP组播组地址及对应的骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的IP组播B-VLAN;用于在接收到其他BEB设备发布的、用于指示存在该任一IP组播组的成员的组播组成员通知消息时,创建该任一IP组播组的IP组播PW表项和MAC转发表项,该IP组播PW表项包括该BEB设备的B-MAC、该任一IP组播组对应的骨干网组播MAC地址、IP组播I-SID及IP组播B-VLAN,该MAC转发表项的目的MAC为该IP组播组对应的骨干网组播MAC地址,出接口信息为该IP组播组的IP组播PW表项;
所述报文转发单元803,用于在接收来自用户网络侧的需要进行三层组播转发的组播报文时,根据组播报文所属IP组播组所对应的骨干网组播MAC地址,确定与该骨干网组播MAC地址匹配的MAC转发表项,并根据所确定的MAC转发表项的出接口信息,对所述组播报文进行MAC-in-MAC封装后转发。
图8所示装置中,
所述组播处理单元804,进一步用于接收其他BEB设备发布的IP组播组通告消息,记录该IP组播组通告消息携带的IP组播组地址及其对应的骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的IP组播B-VLAN;在侦听到第一IP组播组的成员关系报告报文时,若本地已记录有该第一IP组播组的信息时,向其他BEB设备发布用于指示存在该第一IP组播组的成员的组播组成员通知消息。
参见图9,图9是本发明实施例二报文转发装置的结构示意图,应用于SPBM网络中的BCB设备,如图9所示,该装置包括:单播处理单元901、报文转发单元902;其中,
单播处理单元901,用于接收BEB设备发布的PW信息,以所述BEB设备为根节点,通过SPF算法计算得到所述PW信息对应IP单播VLAN的MAC转发表项;所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的单播B-VLAN;
报文转发单元902,用于在接收到MAC-in-MAC报文时,根据MAC-in-MAC报文所属B-VLAN的MAC转发表项转发报文。
图9所示装置还包括:组播处理单元903;
所述组播处理单元903,用于接收任一BEB设备发布的IP组播组通告消息,以及其他BEB设备发送的用于指示存在该IP组播组的成员的组播组成员通知消息,以该任一BEB设备为组播源,该其他BEB设备为组播接收者,通过SPF计算该IP组播组的组播MAC转发表项,其中,该IP组播组通告消息包括该IP组播组地址及对应的骨干网组播MAC地址、IP组播I-SID及其映射的IP组播B-VLAN;
所述报文转发单元902在接收到属于该IP组播组的经MAC-in-MAC封装的组播报文时,根据该IP组播组的MAC转发表项转发报文。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种报文转发方法,应用于MAC嵌套模式的最短路径桥接SPBM网络中的BEB设备,其特征在于,该方法包括:
学习每个BEB设备的用户网络侧的路由信息、以及本BEB设备到其他BEB设备之间的路由信息,并根据学习到的路由信息生成IP转发表;
向其他BEB设备发布本BEB设备的PW信息,接收其他BEB设备发布的PW信息,并据此生成去往其他BEB设备的IP单播PW表项,所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN;
在接收来自用户网络侧的需要进行三层单播转发的单播报文时,根据IP转发表确定单播报文对应的下一跳IP地址,进而根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发。
2.根据权利要求1所述的方法,其特征在于,所述学习每个BEB设备的用户网络侧路由信息、以及本BEB设备到其他BEB设备之间的核心网路由信息,包括:
创建SPBM隧道口和用于用户网络侧接入的VLAN虚接口,所述SPBM隧道口的IP地址为所述用于三层转发的IP地址;
在所述SPBM隧道口和VLAN虚接口均使能预定路由协议;
通过所述VLAN虚接口,学习本BEB设备的用户网络侧的路由信息;以及,通过所述SPBM隧道口,将本BEB设备及本BEB设备的用户网络侧的路由信息发布给其他BEB设备,并学习其他BEB设备及该其他BEB设备的用户网络侧的路由信息。
3.根据权利要求1所述的方法,其特征在于,
在得到本BEB设备去往其他BEB设备的IP单播PW表项后,进一步生成一邻接表项,该邻接表项的IP地址为该其他BEB设备的用于三层转发的IP地址,出接口信息为本BEB设备去往其他BEB设备的IP单播PW表项;
进一步通过查找与所述下一跳IP地址相匹配的邻接表项,根据匹配上的邻接表项的出接口信息,确定所述下一跳IP地址对应的IP单播PW表项。
4.根据权利要求1所述的方法,其特征在于,所述根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发,包括:
剥离单播报文的以太网帧头后,根据查找到的IP单播PW表项,对该单播报文进行MAC-in-MAC封装后转发至SPBM骨干网络。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:
在接收到目的MAC地址为本BEB设备的B-MAC的MAC-in-MAC报文时,对该报文解MAC-in-MAC封装,若该报文携带的I-SID为IP单播I-SID,则查找IP转发表进行转发。
6.根据权利要求1所述的方法,其特征在于,该方法还包括:
在侦听到针对任一IP组播组的组播特定组查询报文时,为该IP组播组生成用于唯一标识该任一IP组播组的SPSourceID,根据该SPSourceID和预先配置的用于三层组播转发的IP组播I-SID,生成该任一IP组播组在IP组播I-SID中的骨干网组播MAC地址,并向其他BEB设备发布IP组播组通告消息,该IP组播组通告消息包括该任一IP组播组地址及对应的骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的IP组播B-VLAN;
在接收到其他BEB设备发布的、用于指示存在该任一IP组播组的成员的组播组成员通知消息时,创建该任一IP组播组的IP组播PW表项和MAC转发表项,该IP组播PW表项包括本BEB设备的B-MAC、该任一IP组播组对应的骨干网组播MAC地址、IP组播I-SID及其映射的IP组播B-VLAN,该MAC转发表项的目的MAC为该IP组播组对应的骨干网组播MAC地址,出接口信息为该IP组播组的IP组播PW表项;
在接收来自用户网络侧的需要进行三层组播转发的组播报文时,根据组播报文所属IP组播组所对应的骨干网组播MAC地址,确定与该骨干网组播MAC地址匹配的MAC转发表项,并根据所确定的MAC转发表项的出接口信息,对所述组播报文进行MAC-in-MAC封装后转发。
7.根据权利要求6所述的方法,其特征在于,该方法还包括:
接收其他BEB设备发布的IP组播组通告消息,记录该IP组播组通告消息携带的IP组播组地址及其对应的骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的IP组播B-VLAN;
在侦听到针对第一IP组播组的成员关系报告报文时,若本地已记录有该第一IP组播组的信息,则向其他BEB设备发布用于指示存在该第一IP组播组的成员的组播组成员通知消息。
8.一种报文转发方法,应用于MAC嵌套模式的最短路径桥接SPBM网络中的BCB设备,其特征在于,该方法包括:
接收BEB设备发布的PW信息,以所述BEB设备为根节点,通过SPF算法计算得到所述PW信息对应IP单播VLAN的MAC转发表项;所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN;
在接收到MAC-in-MAC报文时,根据MAC-in-MAC报文所属B-VLAN的MAC转发表项转发MAC-in-MAC报文。
9.根据权利要求8所述的方法,其特征在于,该方法还包括:
接收任一BEB设备发布的IP组播组通告消息,以及其他BEB设备发送的用于指示存在该IP组播组的成员的组播组成员通知消息,以该任一BEB设备为组播源,该其他BEB设备为组播接收者,通过SPF计算该IP组播组的组播MAC转发表项,其中,该IP组播组通告消息包括该IP组播组地址及对应的骨干网组播MAC地址、IP组播I-SID及其映射的IP组播B-VLAN;
在接收到属于该IP组播组的经MAC-in-MAC封装的组播报文时,根据该IP组播组的组播MAC转发表项转发报文。
10.一种报文转发装置,应用于MAC嵌套模式的最短路径桥接SPBM网络中的BEB设备,其特征在于,该装置包括:路由学习单元、单播处理单元、报文转发单元;
所述路由学习单元,用于学习每个BEB设备的用户网络侧的路由信息、以及本BEB设备到其他BEB设备之间的路由信息,并根据学习到的路由信息生成IP转发表;
所述单播处理单元,用于向其他BEB设备发布本BEB设备的PW信息,接收其他BEB设备发布的PW信息,并据此生成去往其他BEB设备的IP单播PW表项,所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN;
所述报文转发单元,用于在接收来自用户网络侧的需要进行三层单播转发的单播报文时,根据IP转发表确定单播报文对应的下一跳IP地址,进而根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发。
11.根据权利要求10所述的装置,其特征在于,
所述路由学习单元学习每个BEB设备的用户网络侧路由信息、以及本BEB设备到其他BEB设备之间的核心网路由信息,包括:
创建SPBM隧道口和用于用户网络侧接入的VLAN虚接口,所述SPBM隧道口的IP地址为所述用于三层转发的IP地址;
在所述SPBM隧道口和VLAN虚接口均使能预定路由协议;
通过所述VLAN虚接口,学习本BEB设备的用户网络侧的路由信息;以及,通过所述SPBM隧道口,将本BEB设备及本BEB设备的用户网络侧的路由信息发布给其他BEB设备,并学习其他BEB设备及该其他BEB设备的用户网络侧的路由信息。
12.根据权利要求10所述的装置,其特征在于,
所述单播处理单元,在得到本BEB设备去往其他BEB设备的IP单播PW表项后,进一步生成一邻接表项,该邻接表项的IP地址为该其他BEB设备的用于三层转发的IP地址,出接口信息为本BEB设备去往其他BEB设备的IP单播PW表项;
所述报文转发单元,用于通过查找与所述下一跳IP地址相匹配的邻接表项,根据匹配上的邻接表项的出接口信息,确定所述下一跳IP地址对应的IP单播PW表项。
13.根据权利要求10所述的装置,其特征在于,
所述报文转发单元根据下一跳IP地址对应的IP单播PW表项,对所述单播报文进行MAC-in-MAC封装后转发,包括:
剥离单播报文的以太网帧头后,根据下一跳IP地址对应的IP单播PW表项,对该单播报文进行MAC-in-MAC封装后转发至SPBM骨干网络。
14.根据权利要求10所述的装置,其特征在于,
所述报文转发单元,进一步用于在接收到目的MAC地址为本BEB设备的B-MAC的MAC-in-MAC报文时,对该报文解MAC-in-MAC封装,若该报文携带的I-SID为IP单播I-SID,则查找IP转发表进行转发。
15.根据权利要求10所述的装置,其特征在于,该装置还包括:组播处理单元;
所述组播处理单元,用于在侦听到针对任一IP组播组的组播特定组查询报文时,为该IP组播组生成用于唯一标识该任一IP组播组的SPSourceID,根据该SPSourceID和预先配置的用于三层组播转发的IP组播I-SID,生成该任一IP组播组在IP组播I-SID中的骨干网组播MAC地址,并向其他BEB设备发布IP组播组通告消息,该IP组播组通告消息包括该任一IP组播组地址及对应的骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的IP组播B-VLAN;用于在接收到其他BEB设备发布的、用于指示存在该任一IP组播组的成员的组播组成员通知消息时,创建该任一IP组播组的IP组播PW表项和MAC转发表项,该IP组播PW表项包括本BEB设备的B-MAC、该任一IP组播组对应的骨干网组播MAC地址、IP组播I-SID及其映射的IP组播B-VLAN,该MAC转发表项的目的MAC为该IP组播组对应的骨干网组播MAC地址,出接口信息为该IP组播组的IP组播PW表项;
所述报文转发单元,用于在接收来自用户网络侧的需要进行三层组播转发的组播报文时,根据组播报文所属IP组播组所对应的骨干网组播MAC地址,确定与该骨干网组播MAC地址匹配的MAC转发表项,并根据所确定的MAC转发表项的出接口信息,对所述组播报文进行MAC-in-MAC封装后转发。
16.根据权利要求15所述的装置,其特征在于,
所述组播处理单元,进一步用于接收其他BEB设备发布的IP组播组通告消息,记录该IP组播组通告消息携带的IP组播组地址及其对应的骨干网组播MAC地址、IP组播I-SID及该IP组播I-SID映射的IP组播B-VLAN;在侦听到针对第一IP组播组的成员关系报告报文时,若本地已记录有该第一IP组播组的信息时,向其他BEB设备发布用于指示存在该第一IP组播组的成员的组播组成员通知消息。
17.一种报文转发装置,应用于MAC嵌套模式的最短路径桥接SPBM网络中的BCB设备,其特征在于,该装置包括:单播处理单元、报文转发单元;
所述单播处理单元,用于接收BEB设备发布的PW信息,以所述BEB设备为根节点,通过SPF算法计算得到所述PW信息对应IP单播VLAN的MAC转发表项;所述PW信息包括发布者的B-MAC、发布者自身配置的用于三层转发的IP地址、IP单播I-SID及IP单播I-SID映射的IP单播VLAN;
所述报文转发单元,用于在接收到MAC-in-MAC报文时,根据MAC-in-MAC报文所属B-VLAN的MAC转发表项转发报文。
18.根据权利要求17所述的装置,其特征在于,该装置还包括:组播处理单元;
所述组播处理单元,用于接收任一BEB设备发布的IP组播组通告消息,以及其他BEB设备发送的用于指示存在该IP组播组的成员的组播组成员通知消息,以该任一BEB设备为组播源,该其他BEB设备为组播接收者,通过SPF计算该IP组播组的组播MAC转发表项,其中,该IP组播组通告消息包括该IP组播组地址及对应的骨干网组播MAC地址、IP组播I-SID及其映射的IP组播B-VLAN;
所述报文转发单元在接收到属于该IP组播组的经MAC-in-MAC封装的组播报文时,根据该IP组播组的MAC转发表项转发报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410042723.8A CN103763192B (zh) | 2014-01-29 | 2014-01-29 | 报文转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410042723.8A CN103763192B (zh) | 2014-01-29 | 2014-01-29 | 报文转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103763192A CN103763192A (zh) | 2014-04-30 |
CN103763192B true CN103763192B (zh) | 2017-04-12 |
Family
ID=50530354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410042723.8A Active CN103763192B (zh) | 2014-01-29 | 2014-01-29 | 报文转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103763192B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445721B (zh) * | 2019-09-09 | 2021-12-14 | 迈普通信技术股份有限公司 | 一种报文转发方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN103227745A (zh) * | 2013-04-26 | 2013-07-31 | 杭州华三通信技术有限公司 | 最短路径桥网和三层虚拟专网互通方法及公共边缘设备 |
CN103326918A (zh) * | 2013-05-17 | 2013-09-25 | 杭州华三通信技术有限公司 | 一种报文转发方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8199753B2 (en) * | 2009-06-05 | 2012-06-12 | Juniper Networks, Inc. | Forwarding frames in a computer network using shortest path bridging |
US8755383B2 (en) * | 2011-03-21 | 2014-06-17 | Avaya, Inc. | Usage of masked ethernet addresses between transparent interconnect of lots of links (TRILL) routing bridges |
-
2014
- 2014-01-29 CN CN201410042723.8A patent/CN103763192B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN103227745A (zh) * | 2013-04-26 | 2013-07-31 | 杭州华三通信技术有限公司 | 最短路径桥网和三层虚拟专网互通方法及公共边缘设备 |
CN103326918A (zh) * | 2013-05-17 | 2013-09-25 | 杭州华三通信技术有限公司 | 一种报文转发方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103763192A (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101127696B (zh) | 二层网络中的数据转发方法和网络及节点设备 | |
CN102882784B (zh) | Spbm中的lsp信息泛洪方法及设备 | |
CN103731288B (zh) | 报文转发方法及设备 | |
CN103944826B (zh) | Spbm网络中的表项聚合方法及设备 | |
CN104320342B (zh) | 一种多链路透明互联网络中报文转发方法和装置 | |
CN101155130B (zh) | 学习mac地址的方法及传送vpls客户数据的系统及设备 | |
US8948169B2 (en) | Mechanism for E-VPN interoperability with VPLS | |
CN101160902B (zh) | 数据转发方法及交换设备 | |
CN104168184B (zh) | 报文转发方法及设备 | |
CN101848129B (zh) | 网络系统、核心交换器、边缘交换器、数据中继方法 | |
CN103326918B (zh) | 一种报文转发方法和设备 | |
US20150023352A1 (en) | Implement equal cost multiple path of trill network | |
CN103259721B (zh) | Spbm网络中的报文转发方法及装置 | |
US8730979B2 (en) | Method and system for increasing forwarding efficiency of virtual private LAN service network | |
CN107592262A (zh) | 报文发送方法和装置、报文跨域转发的网络架构 | |
CN102075446A (zh) | 多链接透明互联网络异地互联方法及运营商边缘设备 | |
CN103227745B (zh) | 最短路径桥网和三层虚拟专网互通方法及公共边缘设备 | |
CN102413059A (zh) | 一种基于spb网络的组播转发方法和spbm桥 | |
CN102510414A (zh) | 一种传递主机名的方法和装置 | |
CN104079466B (zh) | 一种报文处理方法和设备 | |
CN104009919B (zh) | 报文转发方法及装置 | |
CN104378302B (zh) | 地址对应关系发送方法和路由桥设备 | |
CN104219073B (zh) | Spbm网络中的报文转发方法及装置 | |
CN103763192B (zh) | 报文转发方法和装置 | |
CN102724126A (zh) | 一种E-tree业务报文转发方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
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. |