报文转发方法及设备技术

技术编号:9924041 阅读:82 留言:0更新日期:2014-04-16 15:43
本申请公开了一种报文转发方法及设备,其中,该方法包括:BEB设备接收针对本地配置的服务实例的配置信息,该配置信息包括:为该服务实例分配的至少两个B-VLAN以及各个B-VLAN映射到的ECT算法;针对设置有同一服务实例的对端BEB设备,BEB设备为该服务实例的每一个B-VLAN计算一条本BEB设备与该对端BEB设备之间的转发路径,获得该服务实例的不同B-VLAN所对应的不同的转发路径;BEB设备通过一服务实例的第一转发路径传输数据流;BEB设备检测到该服务实例的第一转发路径中有链路发生中断后,将第一转发路径上传输的数据流,切换到该服务实例的转发路径中的第二转发路径进行传输。本申请大大减少了数据流的中断恢复时间,提高链路中断时数据流的切换速度。

【技术实现步骤摘要】
报文转发方法及设备
本申请涉及网络通信
,特别涉及一种报文转发方法及设备。
技术介绍
SPB(ShortestPathBridging,最短路径桥)是IEEE802.1aq定义的一种以太网标准,是MSTP(MultipleSpanningTreeProtocol,多生成树协议)的进一步延伸,旨在构建大型扁平的无阻塞二层网络。SPB使用SPB-IS-IS(IntermediateSystemtoIntermediateSystem,中间系统到中间系统)来共享网络中的链路状态,且网络中的各个节点并行计算各节点之间的最短路径,避免了使用STP(SpanningTreeProtocol,生成树协议)协议带来的不稳定性和部分链路利用效率低下的不足。IEEE802.1aq定义了两种SPB模式:VLAN模式(SPBV(ShortestPathBridgingVLANMode,VLAN模式的最短路径桥))和M-in-M(Mac-in-Mac)模式(SPBM(ShortestPathBridgingMACMode,M-in-M模式的最短路径桥))。SPBM模式继承了IEEE802.1ah规定的报文封装格式及多实例的思想,但重新定义了数据平面的转发方式和控制平面,由SPB-IS-IS来学习链路状态信息,并进行全网同步,计算转发路径。SPBM是一种二层VPN(VirtualPrivateNetwork,虚拟专用网络)技术,其网络模型与IEEE802.1ah定义的M-in-M网络模型基本一致。如图1所示,在SPBM网络中,骨干网络主要包括BEB和BCB等类型的设备以及这些设备之间的骨干链路。下面对图1中涉及的各种技术术语进行解释如下:BEB(BackboneEdgeBridge,骨干网边缘网桥):BEB设备是骨干网络的边缘设备,相当于MPLS(MultiprotocolLabelSwitching,多协议标签交换)网络中的PE(ProviderEdge,服务提供商网络边缘)设备。它负责将来自用户网络的报文进行M-in-M封装,并将得到的M-in-M报文转发到骨干网络中,或者将来自骨干网络的M-in-M报文进行解封装,并转发到用户网络中。BCB(BackboneCoreBridge,骨干网核心网桥):BCB设备是骨干网络的核心设备,相当于MPLS网络中的P设备。它负责按照B-MAC(BackboneMAC,骨干网MAC)和B-VLAN(BackboneVLAN,骨干网VLAN)转发M-in-M报文。BCB设备只需要转发报文和学习骨干网中的MAC地址,不需要学习用户网络中大量的MAC(MediaAccessControl,媒体访问控制)地址,从而降低了网络部署的成本,也为骨干网络提供了更好的可扩展性。M-in-M报文:经过M-in-M封装的报文简称为M-in-M报文。B-MAC/B-VLAN:BEB设备在对用户报文进行M-in-M封装时,会为用户报文打上运营商分配的MAC地址和VLAN(VirtualLocalAreaNetwork,虚拟局域网)。这个由运营商分配的MAC地址和VLAN就分别称为B-MAC和B-VLAN。在骨干网络中,BCB设备就是按照B-MAC和B-VLAN转发M-in-M报文的。B-MAC包括:源B-MAC和目的B-MAC,BEB设备在对用户报文进行M-in-M封装时,会将自己的MAC作为源B-MAC、将SPBM隧道目的端的BEB设备的MAC作为目的B-MAC进行封装。骨干链路/接入链路:BEB设备与BCB设备之间、以及BCB设备之间的链路称为骨干链路,BEB设备连接用户网络的链路为接入链路。来自用户网络的用户报文被封装成M-in-M报文后,会通过BEB设备相应的骨干链路转发出去;而来自骨干网络的M-in-M报文被解封装后,会按照用户目的MAC地址通过BEB设备相应的接入链路转发出去。服务实例和I-SID:在骨干网络中,一个服务实例代表一类业务或者用户,I-SID(BackboneServiceInstanceIdentifier,骨干网服务实例编号)是服务实例的唯一编号。(1)SPBM的数据平面SPBM继承了IEEE802.1ah定义的M-in-M报文的封装格式,如图2所示,在封装过程中,在用户原始的以太网报文的外层增加了服务实例、B-VLAN标签、BMAC地址信息,骨干网络通过这些信息对封装得到的M-in-M报文进行转发。图2中涉及的相关示意的解释如下:B-DA(BackboneDestinationMACaddress,骨干网目的MAC地址):即目的B-MAC,是M-in-M封装的外层目的MAC地址,为SPBM隧道目的端的BEB设备的MAC地址。B-SA(BackboneSourceMACaddress,骨干网源MAC地址):即源B-MAC,是M-in-M封装的外层源MAC地址,为SPBM隧道源端的BEB设备的MAC地址。B-Tag(BackboneVLANTag,骨干网VLAN标签):即B-VLANTag,是M-in-M封装的外层VLANTag,用来标识报文在骨干网中的VLAN和优先级信息,其TPID(TagProtocolIdentifier,标签协议标识)值固定为0x88a8。I-Tag(BackboneServiceInstanceTag,骨干网服务实例标签):M-in-M封装中的业务标记,包括:报文在BEB设备上处理时的传送优先级I-PCP和丢弃优先级I-DEI、标识服务实例的I-SID,其TPID值固定为0x88e7。C-DA(CustomerDestinationMACaddress,用户网络目的MAC地址):用户报文原始的目的MAC地址。C-SA(CustomerDestinationMACaddress,用户网络源MAC地址):用户报文原始的源MAC地址。BEB设备从连接用户网络的用户侧端口收到用户报文后,根据报文入端口和VLAN映射到相应的服务实例中进行查表转发,如果查到的出接口为SPBM隧道口,则根据该服务实例与B-VLAN的映射关系,得到B-Tag,然后使用该服务实例的I-SID、B-Tag和B-MAC对该用户报文进行M-in-M隧道封装。经过M-in-M隧道封装后的报文进入SPT区域内之后,BCB设备根据报文头的B-MAC、B-VLAN进行转发。在B-VLAN内不动态学习MAC地址,丢弃全F的广播报文、未知地址的单播报文和未知地址的组播报文,且在报文Ingress时根据B-SA和B-VLAN进行RPF(ReversePathForwarding,逆向路径转发)检查,以防止环路;B-VLAN内的转发表项包括:单播表项和组播表项,都由SPB-IS-IS下刷。骨干链路上只需要允许B-VLAN内的数据流通过。(2)SPBM的控制平面SPBM在B-VLAN内不动态学习MAC地址,其转发表项都是由控制平面SPB-IS-IS学习并下刷。SPB-IS-IS的功能包括:1)建立SPB桥之间的IS-IS邻居,进行链路状态数据库的快速更新和同步。2)I-SID的通告,负载分担算法的通告。3)各个节点并行计算SPT(ShortestPathTree,最短路径树),并给数据平面下本文档来自技高网...
报文转发方法及设备

【技术保护点】
一种报文转发方法,应用于Mac‑in‑Mac模式的最短路径桥SPBM网络中的骨干网边缘网桥BEB设备,其特征在于,所述方法包括:BEB设备接收针对本地配置的服务实例的配置信息,所述配置信息包括:为该服务实例分配的至少两个骨干网虚拟局域网B‑VLAN以及各个B‑VLAN映射到的等价树ECT算法,其中,每一个B‑VLAN映射到一种ECT算法,不同的B‑VLAN映射到的ECT算法不同;针对设置有同一服务实例的对端BEB设备,BEB设备根据链路状态协议数据单元LSP信息以及该服务实例的每一个B‑VLAN映射到的ECT算法,为该服务实例的每一个B‑VLAN计算一条本BEB设备与该对端BEB设备之间的转发路径,获得该服务实例的不同B‑VLAN所对应的不同的转发路径;BEB设备通过一服务实例的第一转发路径传输数据流;BEB设备检测到该服务实例的第一转发路径中有链路发生中断;BEB设备将所述第一转发路径上传输的数据流,切换到该服务实例的转发路径中的第二转发路径进行传输。

【技术特征摘要】
1.一种报文转发方法,应用于Mac-in-Mac模式的最短路径桥SPBM网络中的骨干网边缘网桥BEB设备,其特征在于,所述方法包括:BEB设备接收针对本地配置的服务实例的配置信息,所述配置信息包括:为该服务实例分配的至少两个骨干网虚拟局域网B-VLAN以及各个B-VLAN映射到的等价树ECT算法,其中,每一个B-VLAN映射到一种ECT算法,不同的B-VLAN映射到的ECT算法不同;针对设置有同一服务实例的对端BEB设备,BEB设备根据链路状态协议数据单元LSP信息以及该服务实例的每一个B-VLAN映射到的ECT算法,为该服务实例的每一个B-VLAN计算一条本BEB设备与该对端BEB设备之间的转发路径,获得该服务实例的不同B-VLAN所对应的不同的转发路径;BEB设备通过一服务实例的第一转发路径传输数据流;BEB设备检测到该服务实例的第一转发路径中有链路发生中断;BEB设备将所述第一转发路径上传输的数据流,切换到该服务实例的转发路径中的第二转发路径进行传输;其中,所述获得该服务实例的不同B-VLAN所对应的不同的转发路径包括:BEB设备为该对端BEB设备分配一个单播伪线PW组;针对该服务实例的每一个B-VLAN,BEB设备根据自己的LSP信息以及接收到的LSP信息,使用该B-VLAN映射到的ECT算法,以自己为根节点计算单播最短路径树SPT树,以确定到该对端BEB设备的出接口;BEB设备为该对端BEB设备的每一个B-VLAN生成一个单播PW,将生成的单播PW的PW表项下发到单播PW表,并设置单播PW的发送及接收属性,其中,针对该对端BEB设备生成的所有PW均属于为该对端BEB设备分配的单播PW组,每一个单播PW的PW表项中包括:单播PW组标识ID、PWID、B-VLAN和出接口。2.根据权利要求1所述的方法,其特征在于,还包括:BEB设备接收到来自骨干网的Mac-in-Mac报文之后,通过查找单播PW表,确定与该Mac-in-Mac报文中携带的骨干网服务实例标识I-SID、B-VLAN、和骨干网源MACB-SMAC相对应的单播PW,并在该Mac-in-Mac报文中携带的源用户网络媒体访问控制C-MAC地址是未知C-MAC地址时,将该源C-MAC地址学习到该I-SID所指示的服务实例对应的C-MAC地址表中,并将该源C-MAC地址对应的出接口设置为该单播PW所属的单播PW组;其中,所述BEB设备通过一服务实例的第一转发路径传输数据流,包括:BEB设备接收到来自用户网络的用户报文之后,查找与接收到该用户报文的入接口对应的服务实例;BEB设备在与查找到的服务实例对应的C-MAC地址表中,查找与该用户报文中携带的目的C-MAC地址相匹配的C-MAC地址对应的出接口;当查找到的出接口为单播PW组时,若该单播PW组中仅有一个PW用于发送和接收,则BEB设备使用单播PW表中与该PW对应的I-SID、B-SMAC、骨干网目的MACB-DMAC和B-VLAN对该用户报文进行Mac-in-Mac封装,并将封装得到的Mac-in-Mac报文通过与该PW对应的出接口发送出去;若该单播PW组中有至少两个PW用于发送和接收,则BEB设备根据预定的负载分担规则从该至少两个PW中选择一个PW,使用单播PW表中与所选择的PW对应的I-SID、B-SMAC、B-DMAC和B-VLAN对该用户报文进行Mac-in-Mac封装,并将封装得到的Mac-in-Mac报文通过与所述所选择的PW对应的出接口发送出去。3.根据权利要求2所述的方法,其特征在于,BEB设备将所述第一转发路径上传输的数据流,切换到该服务实例的转发路径中的第二转发路径进行传输包括:BEB设备在本地的单播PW表中将与所述第一转发路径相对应的单播PW设置为仅用于接收;若在该单播PW表中与所述第一转发路径对应的单播PW属于同一个单播PW组的单播PW仅有一个、且该单播PW仅用于接收,则BEB设备将该单播PW修改为用于发送和接收,该单播PW对应于所述第二转发路径;若在该单播PW表中与所述第一转发路径对应的单播PW属于同一个单播PW组的单播PW有至少两个、且该至少两个单播PW均仅用于接收,则BEB设备将该至少两个单播PW中的一个单播PW修改为用于发送和接收,该单播PW对应于所述第二转发路径。4.根据权利要求1所述的方法,其特征在于,所述获得该服务实例的不同B-VLAN所对应的不同的转发路径还包括:当该服务实例的组播复制模式为核心复制模式时,BEB设备为该服务实例分配一个组播PW组;针对该服务实例的每一个主用B-VLAN,BEB设备根据自己的LSP信息以及接收到的LSP信息,使用该主用B-VLAN映射到的ECT算法,以该对端BEB设备为根节点计算组播SPT树,以确定到该对端BEB设备的出接口,该出接口有至少一个;BEB设备为该服务实例的每一个主用B-VLAN生成一个组播PW,将为主用B-VLAN生成的组播PW的PW表项下发到组播PW表中,并将该组播PW设置为仅用于发送,其中,该服务实例的各个主用B-VLAN对应的组播PW均属于为该服务实例分配的组播PW组,每一个组播PW的PW表项中包括:组播PW组ID、PWID、B-VLAN和出接口。5.根据权利要求4所述的方法,其特征在于,所述BEB设备通过一服务实例的第一转发路径传输数据流,包括:BEB设备接收来自用户网络的用户报文,其中,该用户报文是以下报文之一:广播报文、组播报文、目的C-MAC地址未知的单播报文;当该用户报文对应的服务实例的组播复制模式是核心复制模式时,若与该服务实例相对应的组播PW组中仅有一个用于发送的组播PW,则BEB设备使用组播PW表中与该组播PW对应的I-SID、B-SMAC、B-DMAC和B-VLAN对该用户报文进行Mac-in-Mac封装,并将封装得到的Mac-in-Mac报文通过与该组播PW对应的出接口发送出去;若与该服务实例相对应的组播PW组中有至少两个用于发送的组播PW,则BEB设备根据预定的负载分担规则从该至少两个组播PW中选择一个组播PW,然后使用组播PW表中与所选择的组播PW对应的I-SID、B-SMAC、B-DMAC和B-VLAN对该用户报文进行Mac-in-Mac封装,并将封装得到的Mac-in-Mac报文通过与该所选择的组播PW对应的出接口发送出去;当该用户报文对应的服务实例的组播复制模式是头端复制模式时,BEB设备针对该服务实例的每一个单播PW组,对该用户报文进行复制,使用单播PW表中与该单播PW组中的一个用于发送和接收的单播PW相对应的I-SID、B-SMAC、B-DMAC和B-VLAN,对复制得到的用户报文进行Mac-in-Mac封装,并将封装得到的Mac-in-Mac报文通过与该单播PW对应的出接口发送出去;其中,当该服务实例的一个单播PW组中有至少两个单播PW用于发送和接收时,BEB设备根据预定的负载分担规则,从该至少两个单播PW中选择一个单播PW。6.根据权利要求5所述的方法,其特征在于,BEB设备将所述第一转发路径上传输的数据流,切换到该服务实例的转发路径中的第二转发路径进行传输包括:BEB设备在组播PW表中将包含有所述第一转发路径对应的组播PW的PW表项删除,其中,若在组播PW表中没有与所述第一转发路径对应的组播PW属于同一个组播PW组的其他组播PW,则BEB设备在执行该删除操作之前,先将该服务实例的组播复制模式修改为头端复制模式。7.根据权利要求6所述的方法,其特征在于,在所述第一转发路径中有链路发生中断后的网络拓扑收敛之后,还包括:BEB设备立即以重新生成的该服务实例的每一个B-VLAN对应的单播PW的新PW表项更新单播PW表,同时以重新生成的该服务实例的每一个主用B-VLAN对应的组播PW的新PW表项更新组播PW表;或者,若重新生成的单播PW的新PW表项中存在与所述第二转发路径对应的单播PW表项相同的表项,则BEB设备将该服务实例的单播PW的新PW表项下发到单播PW表中,并将新PW表项中包含的单播PW设置为仅用于接收;同时以重新生成的该服务实例的每一个主用B-VLAN对应的组播PW的新PW表项更新组播PW表;或者,若重新生成的单播PW的新PW表项中存在与所述第二转发路径对应的单播PW表项相同的表项,则BEB设备延迟一定时间后,以该服务实例的单播PW的新PW表项更新单播PW表;同时以重新生...

【专利技术属性】
技术研发人员:施鸿殊
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1