报文转发方法及装置与流程

文档序号:11253895阅读:493来源:国知局
本发明涉及通信领域,具体而言,涉及一种报文转发方法及装置。
背景技术
::随着软件定义网络(softwaredefinednetwork,简称为sdn)技术和网络功能虚拟化(networkfunctionvirtualization,简称为nfv)在这些年的迅速发展,网络的部署可控性越来越强,控制复杂度也随之越来越高。尤其是像核心网络以及汇聚网络这样的中间网络,为了适配不同的业务,满足不同的部署需求,控制手段越来越繁杂。尤其是组播应用如多播虚拟专用网(multicastvirtualprivatenetwork,简称为mvpn)和交互式网络电视(internetprotocoltelevision,简称为iptv)等,需要的中间网络节点状态数量指数级增长。为此,业界提出了一种新的用于构建组播转发路径的技术,称为具有位索引的显式复制技术(bitindexedexplicitreplication,简称为bier)。bier技术,通过对转发层面的彻底改造,能极大的减轻中间网络的协议复杂度和中间状态。将网络的转发简化成只根据比特bit位进行,颠覆了传统的互联网协议(internetprotocol,简称为ip)转发,能够非常容易的实现组播流量在中间网络的传输,无需中间网络记录任何的组播流量状态,极大的方便了网络的运维。bier是基于bit位的组播复制技术,在bier域中,给每台位转发出口路由器(bit-forwardingegressrouters,简称为bfer)分配一个在整个bier子域sub-domain中全局唯一的比特位置bitposition,每台bfer将自己的bitposition使用内部网关协议(interiorgatewayprotocol,简称为igp)在bierdomain域中泛洪,所有的bitposition组成一个位串(bitstring),数据报文在bier域中的传递和路由依赖于bitstring。当其他位转发路由器(bitforwardingrouter,简称为bfr)收到了包含有bier的报文头时,根据bier报文头中携带的bitstring基于位转发表bitforwardingtable进行转发。这种基于bierbit位进行转发的原理大大减少网络的转发成本。基于流量工程扩展的位索引显式复制(bitindexexplicitreplication-trafficenginering,简称为bier-te)与bier类似,根据报文头中的bitstring转发和复制报文,但是bier-te与bier的关键区别如下:1)使用bier-te控制器计算的显式路径替代网络内的自动路径计算。2)bitstring中的每个bitposition表示一个或多个邻接体adjacency,而不是表示一个bfer。3)bfr上只需要有bier-te转发表forwardingtable(bift),不需要有路由表。目前,相关技术中对bier-te中的路径进行保护的方式主要是针对为某个路径显式创建唯一的备份路径。而采用这种方案会导致该路径只能存在于一个frr表项中。但是对于一个链路属于多个frr表项时,会导致无法不能实现正确合理的配置路径保护,造成资源浪费的问题。技术实现要素:本发明提供了一种报文转发方法及装置,以至少解决相关技术中存在的不能正确合理的配置路径保护,从而造成资源浪费的问题。根据本发明的一个方面,提供了一种报文转发方法,包括:接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文,以及路径标识,其中,所述路径标识用于指示将所述报文由第一位转发路由器bfr发送到所述第一bfr的下一跳bfr的主路径和备路径;根据所述路径标识确定用于将所述报文转发到所述bfer的位串;将所述位串填充在所述报文中,并根据所述位串转发所述报文。可选地,所述路径标识包括:以所述主路径和所述备路径整体作为一个快速重路由frr邻接体分配的邻接体标识id。可选地,所述主路径具备和不同的备路径形成不同的快速重路由frr邻接体的能力。可选地,所述备路径包括由两个以上的段组成的路径,或者,所述备路径包括树状路径。可选地,根据所述位串转发所述报文包括:根据所述位串将所述报文转发给所述第一bfr,其中,在确定所述主路径正常的情况下,所述第一bfr通过所述主路径将所述报文转发给所述第一bfr的下一跳bfr;和/或,在确定所述主路径故障的情况下,所述第一bfr通过所述备路径将所述报文转发给所述第一bfr的下一跳bfr。可选地,所述第一bfr通过所述备路径将所述报文转发给所述第一bfr的下一跳bfr包括:所述第一bfr将所述报文中填充的位串中的所述路径标识替换为所述备路径的标识;所述第一bfr根据所述备路径的标识通过所述备路径将所述报文转发给所述第一bfr的下一跳bfr。可选地,所述路径标识对应的bier-te转发表bift中,包括所述主路径的信息和所述备路径的信息,其中,所述主路径的信息包括所述主路径上的出接口信息和/或所述下一跳bfr信息;和/或,所述备路径的信息包括所述备路径上的第一个路径段上的出接口信息和/或所述下一跳bfr信息,以及新增位掩码addbitmask、清除位掩码resetbitmask,其中,所述addbitmask用于标识所述备路径上的所述第一个路径段之后 的其他路径段,所述resetbitmask为包括所述路径标识在内的需要清除的路径标识。可选地,所述bift是由控制器下发的。可选地,所述路径标识是由控制器下发的。根据本发明的另一方面,提供了一种报文转发方法,包括:接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文;根据所述报文中填充的位串中的路径标识转发所述报文,其中,所述位串中的所述路径标识用于指示将所述报文发送到下一跳位转发路由器bfr的主路径和备路径。可选地,所述路径标识包括:以所述主路径和所述备路径整体作为一个快速重路由frr邻接体分配的邻接体标识id。可选地,所述主路径具备和不同的备路径形成不同的快速重路由frr邻接体的能力。可选地,所述备路径包括由两个以上的段组成的路径,或者,所述备路径包括树状路径。可选地,根据所述报文中填充的位串中的路径标识转发所述报文包括:在确定所述主路径正常的情况下,通过所述主路径将所述报文转发给所述下一跳bfr;和/或,在确定所述主路径故障的情况下,通过所述备路径将所述报文转发给所述下一跳bfr。可选地,通过所述备路径将所述报文转发给所述下一跳bfr包括:将所述报文中填充的位串中的所述路径标识替换为所述备路径的标识;根据所述备路径的标识通过所述备路径将所述报文转发给所述下一跳bfr。可选地,所述路径标识对应的bier-te转发表bift中,包括所述主路径的信息和所述备路径的信息,其中,所述主路径的信息包括所述主路径上的出接口信息和/或所述下一跳bfr信息;和/或,所述备路径的信息包括所述备路径上的第一个路径段上的出接口信息和/或所述下一跳bfr信息,以及新增位掩码addbitmask、清除位掩码resetbitmask,其中,所述addbitmask用于标识所述备路径上的所述第一个路径段之后的其他路径段,所述resetbitmask为包括所述路径标识在内的需要清除的路径标识。可选地,所述bift是由控制器下发的。根据本发明的另一方面,提供了一种报文转发方法,包括:确定用于进行报文转发的路径标识,其中,所述路径标识用于指示将所述报文由第一转发路由器bfr发送到所述第一bfr的下一跳bfr的主路径和备路径;将确定的所述路径标识下发给基于流量工程扩展的位索引显示复制bier-te中的bfr,其中,所述路径标识用于所述bfr转发所述报文。可选地,所述路径标识包括:以所述主路径和所述备路径整体作为一个快速重路由 frr邻接体分配的邻接体标识id。可选地,所述主路径具备和不同的备路径形成不同的快速重路由frr邻接体的能力。可选地,所述备路径包括由两个以上的段组成的路径或者,所述备路径包括树状路径。可选地,所述路径标识对应的bier-te转发表bift中,包括所述主路径的信息和所述备路径的信息,其中,所述主路径的信息包括所述主路径上的出接口信息和/或下一跳位转发路由器bfr信息;和/或,所述备路径的信息包括所述备路径上的第一个路径段上的出接口信息和/或下一跳位转发路由器bfr信息,以及新增位掩码addbitmask、清除位掩码resetbitmask,其中,所述addbitmask用于标识所述备路径上的所述第一个路径段之后的其他路径段,所述resetbitmask为包括所述路径标识在内的需要清除的路径标识。根据本发明的另一方面,提供了一种报文转发装置,包括:第一接收模块,用于接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文,以及路径标识,其中,所述路径标识用于指示将所述报文由第一位转发路由器bfr发送到所述第一bfr的下一跳bfr的主路径和备路径;第一确定模块,用于根据所述路径标识确定用于将所述报文转发到所述bfer的位串;第一转发模块,用于将所述位串填充在所述报文中,并根据所述位串转发所述报文。根据本发明的另一方面,提供了一种报文转发装置,包括:第二接收模块,用于接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文;第二转发模块,用于根据所述报文中填充的位串中的路径标识转发所述报文,其中,所述位串中的所述路径标识用于指示将所述报文发送到下一跳位转发路由器bfr的主路径和备路径。根据本发明的另一方面,提供了一种报文转发装置,包括:第二确定模块,用于确定用于进行报文转发的路径标识,其中,所述路径标识用于指示将所述报文由第一转发路由器bfr发送到所述第一bfr的下一跳bfr的主路径和备路径;下发模块,用于将确定的所述路径标识下发给基于流量工程扩展的位索引显示复制bier-te中的bfr,其中,所述路径标识用于所述bfr转发所述报文。通过本发明,采用接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文,以及路径标识,其中,所述路径标识用于指示将所述报文由第一位转发路由器bfr发送到所述第一bfr的下一跳bfr的主路径和备路径;根据所述路径标识确定用于将所述报文转发到所述bfer的位串;将所述位串填充在所述报文中,并根据所述位串转发所述报文。解决了相关技术中存在的不能正确合理的配置路径保护,从而造成资源浪费的问题,进而达到了合理有效的配置路径保护,避免资 源浪费的效果。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的第一种报文转发方法的流程图;图2是根据本发明实施例的第二种报文转发方法的流程图;图3是根据本发明实施例的第三种报文转发方法的流程图;图4是根据本发明具体实施例一提出的bierfrr报文的转发图;图5是根据本发明具体实施例一提出的frr转发表;图6根据本发明具体实施例二提出的bierfrr报文的转发图;图7是相关技术中的bier-tefrr组网示意图;图8是相关技术中的adjacencyfrr表项;图9根据本发明具体实施例三提出的bierfrr报文的转发图;图10是根据本发明具体实施例三提出的frr转发表;图11是根据本发明具体实施例四提出的bierfrr报文的转发图;图12是根据本发明实施例的第一种报文转发装置的结构框图;图13是根据本发明实施例的第二种报文转发装置的结构框图;图14是根据本发明实施例的第三种报文转发装置的结构框图。具体实施方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。在本实施例中提供了一种报文转发方法,图1是根据本发明实施例的第一种报文转发方法的流程图,如图1所示,该流程包括如下步骤:步骤s102,接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文,以及路径标识,其中,该路径标识用于指示将上述报文由 第一位转发路由器bfr发送到第一bfr的下一跳位bfr的主路径和备路径;步骤s104,根据上述路径标识确定用于将报文转发到bfer的位串;步骤s106,将上述位串填充在报文中,并根据上述位串转发报文。其中,执行上述操作的可以是bier-te中的位转发入口路由器(bit-forwardingingressrouter,简称为bfir),上述的第一bfr可以是除bfir和位转发出口路由器(bit-forwardingegressrouters,简称为bfer)之外的位转发路由器(bitforwardingrouter,简称为bfr),上述的位串可以是由一个或多个路径标识组成。通过上述步骤,路径标识可以同时标识用于转发报文的主路径和备路径,在实际配置时,可以根据路径的具体情况进行路径标识所指示的内容的配置,即,进行主路径和备路径的配置,从而可以有效解决相关技术中存在的不能正确合理的配置路径保护,从而造成资源浪费的问题,进而达到了合理有效的配置路径保护,避免资源浪费的效果。在一个可选的实施例中,上述路径标识包括:以主路径和备路径整体作为一个快速重路由(fastre-route,简称为frr)邻接体分配的邻接体标识(identification,简称为id)。即,可以用一个标识同时表示主路径和备路径,从而无需对位串的构造进行变动,沿用原有的位串配置方式即可。在一个可选的实施例中,上述主路径可以和不同的备路径形成不同的快速重路由frr邻接体。在本实施例中,一条主路径可以对应两条以上的备路径,当通过该主路径到达不同的下一跳bfr时,可以为该主路径配置不同的备路径,从而避免仅使用一种备路径,闲置其他备路径的问题。在一个可选的实施例中,上述备路径包括由两个以上的段组成的路径,或者,上述备路径包括树状路径。需要说明的是,本实施例中的备路径类型仅是两种示例,还可以采用其他的合理的类型的备路径,在此不一一列举。在一个可选的实施例中,根据上述位串转发报文包括:根据位串将报文转发给第一bfr,其中,在确定上述主路径正常的情况下,第一bfr通过主路径将报文转发给第一bfr的下一跳bfr;和/或,在确定主路径故障的情况下,第一bfr通过备路径将报文转发给第一bfr的下一跳bfr。当然,上述的主备路径的各自使用条件仅是一种示例,还可以在其他的条件下合理使用主备路径,例如,当主路径未发生故障,但是主路径上的负载超过一定的阈值时,也可以使用备路径,或者,也可以预先配置使用主路径或备路径的时间段,当处于使用主路径的时间段中时,使用主路径进行报文转发,当处于使用备路径的时间段中时,使用备路径进行报文转发。在一个可选的实施例中,第一bfr通过上述备路径将报文转发给第一bfr的下一跳bfr包括:第一bfr将报文中填充的位串中的上述路径标识替换为备路径的标识;第一bfr根据上述备路径的标识通过备路径将报文转发给第一bfr的下一跳bfr。将 上述的路径标识替换为备路径的标识可以使得下一跳bfr明确用于转发报文的路径,从而实现报文的正确转发。在一个可选的实施例中,上述路径标识对应的bier-te转发表(bier-teforwardingtable,简称为bift)中,包括有上述主路径的信息和备路径的信息,其中,该主路径的信息包括主路径上的出接口信息和/或下一跳位转发路由器bfr信息;和/或,上述备路径的信息包括备路径上的第一个路径段上的出接口信息和/或下一跳位转发路由器bfr信息,以及新增位掩码addbitmask、清除位掩码resetbitmask,其中,该addbitmask用于标识备路径上的第一个路径段之后的其他路径段,resetbitmask为包括路径标识在内的需要清除的路径标识。在一个可选的实施例中,上述bift可以是由控制器下发的。在一个可选的实施例中,上述路径标识可以是由控制器下发的。在本实施例中还提供了一种报文转发方法,图2是根据本发明实施例的第二种报文转发方法的流程图,如图2所示,该流程包括如下步骤:步骤s202,接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文;步骤s204,根据上述报文中填充的位串中的路径标识转发报文,其中,该位串中的路径标识用于指示将报文发送到下一跳位转发路由器bfr的主路径和备路径。其中,执行上述操作的可以是bier-te中的除bfir和bfer之外的bfr(例如,上述的第一bfr),上述的位串可以是由一个或多个路径标识组成。通过上述步骤,路径标识可以同时标识用于转发报文的主路径和备路径,在实际配置时,可以根据路径的具体情况进行路径标识所指示的内容的配置,即,进行主路径和备路径的配置,从而可以有效解决相关技术中存在的不能正确合理的配置路径保护,从而造成资源浪费的问题,进而达到了合理有效的配置路径保护,避免资源浪费的效果。在一个可选的实施例中,上述路径标识包括:以主路径和备路径整体作为一个frr邻接体分配的邻接体标识id。即,可以用一个标识同时表示主路径和备路径,从而无需对位串的构造进行变动,沿用原有的位串配置方式即可。在一个可选的实施例中,上述主路径可以和不同的备路径形成不同的快速重路由frr邻接体。在本实施例中,一条主路径可以对应两条以上的备路径,当通过该主路径到达不同的下一跳bfr时,可以为该主路径配置不同的备路径,从而避免仅使用一种备路径,闲置其他备路径的问题。在一个可选的实施例中,上述备路径包括由两个以上的段组成的路径,或者,上述备路径包括树状路径。需要说明的是,本实施例中的备路径类型仅是两种示例,还可以 采用其他的合理的类型的备路径,在此不一一列举。在一个可选的实施例中,根据上述报文中填充的位串中的路径标识转发上述报文包括:在确定所述主路径正常的情况下,通过主路径将报文转发给下一跳bfr;和/或,在确定主路径故障的情况下,通过备路径将报文转发给下一跳bfr。当然,上述的主备路径的各自使用条件仅是一种示例,还可以在其他的条件下合理使用主备路径,例如,当主路径未发生故障,但是主路径上的负载超过一定的阈值时,也可以使用备路径,或者,也可以预先配置使用主路径或备路径的时间段,当处于使用主路径的时间段中时,使用主路径进行报文转发,当处于使用备路径的时间段中时,使用备路径进行报文转发。在一个可选的实施例中,通过备路径将报文转发给下一跳bfr包括:将报文中填充的位串中的路径标识替换为备路径的标识;根据上述备路径的标识通过备路径将报文转发给下一跳bfr。在一个可选的实施例中,上述路径标识对应的bier-te转发表(bier-teforwardingtable,简称为bift)中,包括有上述主路径的信息和备路径的信息,其中,该主路径的信息包括主路径上的出接口信息和/或下一跳位转发路由器bfr信息;和/或,上述备路径的信息包括备路径上的第一个路径段上的出接口信息和/或下一跳位转发路由器bfr信息,以及新增位掩码addbitmask、清除位掩码resetbitmask,其中,该addbitmask用于标识备路径上的第一个路径段之后的其他路径段,resetbitmask为包括路径标识在内的需要清除的路径标识。在一个可选的实施例中,上述bift是由控制器下发的。在本实施例中还提供了一种报文转发方法,图3是根据本发明实施例的第三种报文转发方法的流程图,如图3所示,该流程包括如下步骤:步骤s302,确定用于进行报文转发的路径标识,其中,该路径标识用于指示将报文由第一转发路由器bfr发送到该第一bfr的下一跳位转发路由器bfr的主路径和备路径;步骤s304,将确定的上述路径标识下发给基于流量工程扩展的位索引显示复制bier-te中的bfr,其中,该路径标识用于bfr转发报文。其中,执行上述操作的可以是控制器。通过上述步骤,路径标识可以同时标识用于转发报文的主路径和备路径,在实际配置时,可以根据路径的具体情况进行路径标识所指示的内容的配置,即,进行主路径和备路径的配置,从而可以有效解决相关技术中存在的不能正确合理的配置路径保护,从而造成资源浪费的问题,进而达到了合理有效的配置路径保护,避免资源浪费的效果。在一个可选的实施例中,上述路径标识包括:以主路径和备路径整体作为一个快速重路由(fastre-route,简称为frr)邻接体分配的邻接体标识(identification,简称 为id)。即,可以用一个标识同时表示主路径和备路径,从而无需对位串的构造进行变动,沿用原有的位串配置方式即可。在一个可选的实施例中,上述主路径可以和不同的备路径形成不同的快速重路由frr邻接体。在本实施例中,一条主路径可以对应两条以上的备路径,当通过该主路径到达不同的下一跳bfr时,可以为该主路径配置不同的备路径,从而避免仅使用一种备路径,闲置其他备路径的问题。在一个可选的实施例中,上述备路径包括由两个以上的段组成的路径,或者,上述备路径包括树状路径。需要说明的是,本实施例中的备路径类型仅是两种示例,还可以采用其他的合理的类型的备路径,在此不一一列举。可选地,上述位串中携带的路径标识对应的bier-te转发表bift中,包括上述主路径的信息和上述备路径的信息,其中,上述主路径的信息包括主路径上的出接口信息和/或下一跳位转发路由器bfr信息;和/或,上述备路径的信息包括备路径上的第一个路径段上的出接口信息和/或下一跳位转发路由器bfr信息,以及新增位掩码addbitmask、清除位掩码resetbitmask,其中,该addbitmask用于标识备路径上的第一个路径段之后的其他路径段,resetbitmask为包括路径标识在内的需要清除的路径标识。由上述的实施例可知,在本发明实施例中是以主备路径整体作为一个frradjacency,分配相应adjacencyid。则一条主路径(一般仅仅是直连链路)可以和不同的备路径(备份路径可以由多个段组成的path或tree)形成不同的frr。可选地,在相应的frradjacency对应的bift表项中,包括主备转发信息(主转发信息就是出接口/下一跳,备转发信息除了包含第一个段的出接口/下一跳以外,还包含addbitmask表示后续其它段,以及包含resetbitmask避免报文重复复制)。下面结合具体实施例对本发明进行说明:具体实施例一图4是根据本发明具体实施例一提出的bierfrr报文的转发图,图5是根据本发明具体实施例一提出的frr转发表,如图4所示,pxx代表控制器分配给链路的比特位,例如,图4中的p1代表控制器为bfir至bfr2的链路分配p1,p2代表控制器为bfir至bfr1的链路分配p2,p12代表控制器为bfir至bfr2的frr(主路径为bfir-bfr2,备路径为bfir-bfr1-bfr2)分配p12。下面结合图4和图5对本实施例中的流程进行说明,包括如下步骤:步骤s401,组播数据包到达bfir节点时,生成原始bitstring为p2,p4,p9,p12,p5,p6,p7,p8,如图4所示。步骤s402,bfir根据上述bitstring对报文进行转发,bfir上的bift表包括两个 表项:p2,p12。所以报文分别匹配p2,p12。bfir上的bift表如图5所示,p2表项指定的adjacency为通过链路bfir-bfr1向bfr3转发,p12表项指定的adjacency为通过链路bfir-bfr2向bfr2转发。则bfir最终复制两份报文,一份通过链路bfir-bfr1向bfr3转发,一份通过链路bfir-bfr2向bfr2转发。这两份报文在发送前都清除bitstring中的p2,p12位。步骤s403,其他的bier节点接收到组播报文后,同样通过报文匹配bier节点本地的转发表项,匹配后,按照转发表项转发组播报文。具体实施例二图6根据本发明具体实施例二提出的bierfrr报文的转发图,如图6所示,pxx代表控制器分配给链路的比特位,如图6中的p1代表控制器为bfir至bfr2的链路分配p1,p2代表控制器为bfir至bfr1的链路分配p2,p12代表控制器为bfir至bfr2的frr(主路径为bfir-bfr2,备路径为bfir-bfr1-bfr2)分配p12。当通过bfir到达bfr2的路径出现故障后,组播数据包可以通过备用路径bfir-bfr1到达bfer1及bfer2。本实施例中的frr转发表也可以参考图5,下面结合图5和图6对本实施例中的流程进行说明,该流程包括如下步骤:步骤s501,组播数据包到达bfir节点时,生成原始bitstring为p2,p4,p9,p12,p5,p6,p7,p8。如图6所示。步骤s502,bfir根据上述bitstring对报文进行转发,bfir上的bift表包括两个表项:p2,p12。所以报文分别匹配p2,p12表项。bfir上的bift表如图5所示,p2表项指定的adjacency为通过链路bfir-bfr1向bfr3转发,p12表项指定的adjacency为通过链路bfir-bfr2向bfr2转发。步骤s503,检查p12的主用路径是否出现故障,如果没有故障,则转向s504。如果出现故障,则转向s505。步骤s504,bfir最终复制两份报文,一份通过链路bfir-bfr1向bfr1转发,一份通过链路bfir-bfr2向bfr2转发。这两份报文在发送前都清除bitstring中的p2,p12位。其他的bier节点接收到组播报文后,同样通过报文匹配bier节点本地的转发表项,匹配后,按照转发表项转发组播报文。步骤s505,将报文向备adjacency发送。p12表项指定的adjacency为通过备用链路bfir-bfr1-bfr2向bfr2转发,在将报文向备路径发送出去之前,清除resetbitmask中给出的位p12,添加addbitmask中给出的位p3。bfir最终复制两份报文,一份通过链路bfir-bfr1向bfer3转发,一份通过链路bfir-bfr1向bfr2转发。这两份报文在发送前都清除bitstring中的p2,p12位,并设置了bitstring中的p4,p3位。步骤s506,其他的bier节点接收到组播报文后,同样通过报文匹配bier节点本地的转发表项,匹配后,按照转发表项转发组播报文。在相关技术中,主要是针对为某个链路显式创建唯一的备份路径,从而导致该链路只能存在于一个frr表项中。但是对于一个链路属于多个frr表现时,确不能实现正确的保护。如图7所示,存在两条备用路径,正确的frr保护方法是:当主用链路bfir到bfr3出现故障后,通过备用路径bfir-bfr1到达bfer1,通过备用路径bfir-bfr2到达出口节点bfer2。但是目前bier-te架构草案中的frr保护方法如:假设bfir到bfr3的bitposition为5。当检测主链路bfir-bfr3出现故障时,adjacencyfrr表项被通知到,表明其主路径出现了故障,则记下出故障的主路径相应的bitposition。adjacencyfrr如图8所示。表中的bitposition是整个frr的主路径的bitposition。该bitposition出现于报文的bitstring中,报文在转发时需要检查某个bitposition是否出现了上述记录的故障,是的话,则将报文向备成员发送出去,发送之前,清除resetbitmask(失效adjacency的bitposition)中给出的位,添加addbitmask(本端bfr至对端bfr的备份路径)中给出的位。但是采用这种方法会出现的问题就是对于bfir-bfr3只有一条备用路径。也就是到达bfer1及到达bfer2都走备用路径bfir-bfr2-bfr3路径。这样就废弃了bfir-bfr1-bfr3这条路径。这样是不合理的。在本发明实施例中,针对上述问题也提出了解决方案,下面结合具体实施例三-五进行说明:具体实施例三图9根据本发明具体实施例三提出的bierfrr报文的转发图,图10是根据本发明具体实施例三提出的frr转发表,如图9所示,pxx代表控制器分配给链路的比特位,如图9中的p1代表控制器为bfir至bfr1的链路分配p1,p4代表控制器为bfr1至bfr3的链路分配p4,p12代表控制器为bfir至bfr3的frr(主路径为bfir-bfr3,备路径为bfir-bfr2-bfr3)分配p12,p13代表控制器为bfir至bfr3的另一frr(主路径为bfir-bfr3,备路径为bfir-bfr1-bfr3)分配p13。下面对本实施例中的流程进行说明,包括如下步骤:步骤s601,组播数据包到达bfir节点时,生成原始bitstring为p3,p6,p11,p12,p8,p10,p13,p7,p9,如图9所示。步骤s602,bfir根据上述bitstring对报文进行转发,bfir上的bift表包括三个 表项:p3,p12,p13。所以报文分别匹配p3,p12及p13表项。bfir上的bift表如图10所示,p3表项指定的adjacency为通过链路bfir-bfr2向bfr2转发,p12表项指定的adjacency为通过链路bfir-bfr3向bfr3转发,p13表项指定的adjacency为通过链路bfir-bfr3向bfr3转发。则bfir最终复制两份报文,一份通过链路bfir-bfr2向bfr2转发(该份可以转发到bfer3),一份通过链路bfir-bfr3向bfr3转发(该份可以再由bfr3进行复制,复制成两份,一份转发到bfer1,一份转发到bfer2)。这两份报文在发送前都清除bitstring中的p3,p12,p13位。或者,则bfir最终复制三份报文,一份通过链路bfir-bfr2向bfr2转发(该份可以转发到bfer3),一份通过链路bfir-bfr3向bfr3转发(该份可以转发到bfer1),一份通过链路bfir-bfr3向bfr3转发(该份可以转发到bfer2)。这三份报文在发送前都清除bitstring中的p3,p12,p13位。步骤s603,其他的bier节点接收到组播报文后,同样通过报文匹配bier节点本地的转发表项,匹配后,按照转发表项转发组播报文。具体实施例四图11是根据本发明具体实施例四提出的bierfrr报文的转发图,本实施例的frr转发表可以参考图10,pxx代表控制器分配给链路的比特位,如图11中的p1代表控制器为bfir至bfr1的链路分配p1,p4代表控制器为bfr1至bfr3的链路分配p4,p12代表控制器为bfir至bfr3的一对frr分配p12,p13代表控制器为bfir至bfr3的另一对frr分配p13。当通过bfir到达bfr3的路径出现故障后,组播数据包可以通过备用路径bfir-bfr1到达bfer1,备用路径bfir-bfr2到达bfer2。下面对本实施例中的流程进行说明,该流程包括如下步骤:步骤s701,组播数据包到达bfir节点时,生成原始bitstring为p3,p6,p11,p12,p8,p10,p13,p7,p9。如图11所示。步骤s702,bfir根据上述bitstring对报文进行转发,bfir上的bift表包括三个表项:p3,p12,p13。所以报文分别匹配p3,p12及p13表项。bfir上的bift表如图10所示,p3表项指定的adjacency为通过链路bfir-bfr2向bfr2转发,p12表项指定的adjacency为通过链路bfir-bfr3向bfr3转发,p13表项指定的adjacency为通过链路bfir-bfr3向bfr3转发。bfir通过匹配p3表项,通过链路bfir-bfr2向bfr2转发。步骤s704,检查p12与p13的主用路径是否出现故障,如果没有故障,则转向s705,如果出现故障,则转向s706。步骤s705,bfir最终复制三份报文,一份通过链路bfir-bfr2向bfr2转发(该份可转发到bfer3),一份通过链路bfir-bfr3向bfr3转发(该份可转发到bfer1),一份通过链路bfir-bfr3向bfr3转发(该份可转发到bfer2),这三份报文在发送前都清除bitstring中的p3,p12,p13位。或者,bfir最终复制两份报文,一份通过链路bfir-bfr2向bfr2转发(该份可转发到bfer3),一份通过链路bfir-bfr3向bfr3转发(该份可以再由bfr3进行复制,复制成两份,一份转发到bfer1,一份转发到bfer2),这两份报文在发送前都清除bitstring中的p3,p12,p13位。其他的bier节点接收到组播报文后,同样通过报文匹配bier节点本地的转发表项,匹配后,按照转发表项转发组播报文。步骤s706,将报文向备adjacency发送。p12表项指定的adjacency为通过备用链路bfir-bfr2-bfr3向bfr3转发,在将报文向备路径发送出去之前,清除resetbitmask中给出的位p12,添加addbitmask中给出的位p5。同样,p13表项指定的adjacency为通过备用链路bfir-bfr1-bfr3向bfr3转发,在将报文向备成员发送出去之前,清除resetbitmask中给出的位p12,添加addbitmask中给出的位p4。bfir最终复制三份报文,一份通过链路bfir-bfr2向bfr2转发(该份可转发到bfer3),一份通过链路bfir-bfr1-bfr3向bfr3转发(该份可转发到bfer1),一份通过链路bfir-bfr2-bfr3向bfr3转发(该份可转发到bfer2),这三份报文在发送前都清除bitstring中的p3,p12,p13位,并设置了bitstring中的p4,p5位。或者,bfir最终复制两份报文,一份通过链路bfir-bfr2向bfr2转发(该份可以再由bfr2进行复制,复制成两份,一份转发到bfer3,一份通过bfr3转发到bfer2),一份通过链路bfir-bfr1-bfr3向bfr3转发(该份可转发到bfer1),这两份报文在发送前都清除bitstring中的p3,p12,p13位,并设置了bitstring中的p4,p5位。步骤s707,其他的bier节点接收到组播报文后,同样通过报文匹配bier节点本地的转发表项,匹配后,按照转发表项转发组播报文。具体实施例五具体实施例四中生成的frr表项针对的是链路bfir-bfr3失效的场景,实际上,针对节点bfr3失效的场景,同样可创建类似的frr表项,只不过frr相应的备成员里给出的addbitmask将绕过bfr3节点。其它处理与具体实施例四完全相同,不再赘述。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。在本实施例中还提供了一种报文转发装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图12是根据本发明实施例的第一种报文转发装置的结构框图,如图12所示,该装置包括第一接收模块122、第一确定模块124和第一转发模块126,下面对该装置进行说明。第一接收模块122,用于接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文,以及路径标识,其中,该路径标识用于指示将报文由第一bfr发送到第一bfr的下一跳bfr的主路径和备路径;第一确定模块124,连接至上述第一接收模块122,用于根据上述路径标识确定用于将报文转发到bfer的位串;第一转发模块126,连接至上述第一确定模块124,用于将上述位串填充在报文中,并根据位串转发报文。在一个可选的实施例中,上述路径标识包括:以主路径和备路径整体作为一个快速重路由frr邻接体分配的邻接体标识id。在一个可选的实施例中,上述主路径具备和不同的备路径形成不同的快速重路由frr邻接体的能力。在一个可选的实施例中,上述备路径包括由两个以上的段组成的路径,或者,备路径包括树状路径。在一个可选的实施例中,上述第一转发模块126可以通过如下方式根据上述位串转发报文:根据位串将报文转发给第一bfr,其中,在确定上述主路径正常的情况下,第一bfr通过主路径将报文转发给第一bfr的下一跳bfr;和/或,在确定主路径故障的情况下,第一bfr通过备路径将报文转发给第一bfr的下一跳bfr。在一个可选的实施例中,上述第一bfr通过上述备路径将报文转发给第一bfr的下一跳bfr包括:第一bfr将报文中填充的位串中的上述路径标识替换为备路径的标识;第一bfr根据上述备路径的标识通过备路径将报文转发给第一bfr的下一跳bfr。在一个可选的实施例中,上述路径标识对应的bier-te转发表bift中,包括主路 径的信息和备路径的信息,其中,该主路径的信息包括主路径上的出接口信息和/或下一跳位转发路由器bfr信息;和/或,该备路径的信息包括备路径上的第一个路径段上的出接口信息和/或下一跳位转发路由器bfr信息,以及新增位掩码addbitmask、清除位掩码resetbitmask,其中,addbitmask用于标识所述备路径上的所述第一个路径段之后的其他路径段,resetbitmask为包括所述路径标识在内的需要清除的路径标识。在一个可选的实施例中,上述bift可以是由控制器下发的。在一个可选的实施例中,上述路径标识可以是由控制器下发的。图13是根据本发明实施例的第二种报文转发装置的结构框图,如图13所示,该装置包括第二接收模块132和第二转发模块134,下面对该装置进行说明。第二接收模块132,用于接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文;第二转发模块134,连接至上述第二接收模块132,用于根据上述报文中填充的位串中的路径标识转发报文,其中,该位串中的路径标识用于指示将报文发送到下一跳位转发路由器bfr的主路径和备路径。在一个可选的实施例中,上述路径标识包括:以主路径和备路径整体作为一个frr邻接体分配的邻接体标识id。在一个可选的实施例中,上述主路径可以和不同的备路径形成不同的快速重路由frr邻接体。在本实施例中,一条主路径可以对应两条以上的备路径,当通过该主路径到达不同的下一跳bfr时,可以为该主路径配置不同的备路径,从而避免仅使用一种备路径,闲置其他备路径的问题。在一个可选的实施例中,上述备路径包括由两个以上的段组成的路径,或者,上述备路径包括树状路径。在一个可选的实施例中,上述第二转发模块134可以通过如下方式根据上述报文中填充的位串中的路径标识转发上述报文:在确定主路径正常的情况下,通过主路径将报文转发给下一跳bfr;和/或,在确定主路径故障的情况下,通过备路径将报文转发给下一跳bfr。在一个可选的实施例中,上述第二转发模块134可以通过如下方式通过备路径将报文转发给下一跳bfr:将报文中填充的位串中的路径标识替换为备路径的标识;根据上述备路径的标识通过备路径将报文转发给下一跳bfr。在一个可选的实施例中,上述路径标识对应的bier-te转发表(bier-teforwardingtable,简称为bift)中,包括有上述主路径的信息和备路径的信息,其中,该主路径的信息包括主路径上的出接口信息和/或下一跳位转发路由器bfr信息;和/或,上述备路径的信息包括备路径上的第一个路径段上的出接口信息和/或下一跳位转发路由器bfr信息,以及新增位掩码addbitmask、清除位掩码resetbitmask,其中, 该addbitmask用于标识备路径上的第一个路径段之后的其他路径段,resetbitmask为包括路径标识在内的需要清除的路径标识。在一个可选的实施例中,上述bift是由控制器下发的。图14是根据本发明实施例的第三种报文转发装置的结构框图,如图14所示,该装置包括第二确定模块142和下发模块144,下面对该装置进行说明。第二确定模块142,用于确定用于进行报文转发的路径标识,其中,该路径标识用于指示将报文由第一转发路由器bfr发送到第一bfr的下一跳bfr的主路径和备路径;下发模块144,连接至上述第二确定模块142,用于将确定的路径标识下发给基于流量工程扩展的位索引显示复制bier-te中的bfr,其中,该路径标识用于bfr转发报文。在一个可选的实施例中,上述路径标识包括:以主路径和备路径整体作为一个快速重路由frr邻接体分配的邻接体标识id。在一个可选的实施例中,上述主路径具备和不同的备路径形成不同的快速重路由frr邻接体的能力。在一个可选的实施例中,上述备路径包括由两个以上的段组成的路径,或者,上述备路径包括树状路径。在一个可选的实施例中,上述位串中携带的路径标识对应的bier-te转发表bift中,包括主路径的信息和备路径的信息,其中,该主路径的信息包括主路径上的出接口信息和/或下一跳位转发路由器bfr信息;和/或,上述备路径的信息包括备路径上的第一个路径段上的出接口信息和/或下一跳位转发路由器bfr信息,以及新增位掩码addbitmask、清除位掩码resetbitmask,其中,addbitmask用于标识备路径上的所述第一个路径段之后的其他路径段,resetbitmask为包括路径标识在内的需要清除的路径标识。需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:s1,接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文,以及路径标识,其中,该路径标识用于指示将上述报文由第一位转发路由器bfr发送到第一bfr的下一跳位bfr的主路径和备路径;s2,根据上述路径标识确定用于将报文转发到bfer的位串;s3,将上述位串填充在报文中,并根据上述位串转发报文。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:s1,接收待发送到基于流量工程扩展的位索引显示复制bier-te中的位转发出口路由器bfer的报文;s2,根据上述报文中填充的位串中的路径标识转发报文,其中,该位串中的路径标识用于指示将报文发送到下一跳位转发路由器bfr的主路径和备路径。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:s1,确定用于进行报文转发的路径标识,其中,该路径标识用于指示将报文由第一转发路由器bfr发送到该第一bfr的下一跳位转发路由器bfr的主路径和备路径;s2,将确定的上述路径标识下发给基于流量工程扩展的位索引显示复制bier-te中的bfr,其中,该路径标识用于bfr转发报文。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述各步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。通过上述各个实施例可知,通过本发明,可以在bier网络内,完成特定流量的指定路径转发,弥补了bier网络内无法对特定流量进行资源规划后,依照指定路径进行转发的缺点。极大的扩展了bier技术的适用场景和部署环境,对组播流量和单播流量,都能完成在bier网络的指定路径转发功能,具有良好的适应性和发展前景。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1