组播传输方法及相关设备
技术领域
本申请涉及通信传输领域,尤其涉及组播传输方法及相关设备。
背景技术
在一些网络业务中,常常有一定数量的用户接收相同的数据,若采用单播技术来为这些用户提供服务,则发送端需要分别为每个用户建立一个数据流并重复地发送相同的数据,加重发送端与用户之间的通信网络的负载。在此背景下,组播技术成为解决该问题的一个技术,针对相同的数据,组播技术只需要发送端发送一个数据流,然后传输网络中的通信设备对这个数据流进行复制并传输给用户,以此减轻网络负载。
在当前的传输网络中,为了避免因组播流量的传输链路发生故障而出现组播流量的断流现象,一般采用双流选收机制来对组播流量进行转发。双发选收机制如下:组播流量在组播流量的入口处被复制后沿着两条不共路的主备传输链路传输至两条传输链路的汇聚节点,在两条传输链路均完好的情况下,该汇聚节点选择主传输链路上的组播流量进行转发,在检测到主传输链路出现故障后,该汇聚节点接收备用传输链路上的组播流量进行转发。双流选收机制可以缩短链路故障下组播流量的断流时间,但是,由于汇聚节点是在检测到主传输链路故障才开始接收备用传输链路上的组播流量,而在从主传输链路发生故障到汇聚节点检测到主传输链路故障这段时间,汇聚节点放弃接收备用传输链路上的组播流量,出现丢包问题。
发明内容
本申请提供组播传输方法及相关装置,可以解决组播报文传输过程中因链路故障而出现的丢包问题。
第一方面,本申请提供一种组播传输方法,可应用于组播业务传输网络中的报文出口节点/汇聚节点,包括:组播报文出口设备从M条传输链路接收第一组播报文,该第一组播报文为基于比特索引的显式复制(Bit Index Explicit Replication,BIER)报文,该第一组播报文的第一BIER头部携带序列号,该传输链路为该组播报文出口设备与组播报文入口设备之间的传输链路,M为正整数且大于1;该组播报文出口设备根据该序列号确定序列号相同的N份第一组播报文,N为正整数且大于等于1且小于等于M;该组播报文出口设备保留该序列号相同的N份第一组播报文中的其中一份第一组播报文作为待转发的第一组播报文,并丢弃剩余的N-1份第一组播报文;该组播报文出口设备对该待转发的第一组播报文进行处理转发。
其中,在组播报文出口设备与组播报文入口设备之间的M条传输链路中,至少有两条传输链路不共路,其中,不共路的传输链路之间除去在组播报文出口设备和组播报文入口设备重合以外,传输链路在其他节点相互不交叉或重合。
本申请中,组播报文出口设备为BIER区域中的比特转发设备(BIER ForwardRouter,BFR),进一步地,组播报文出口设备可以为BIER区域中的比特转发出口设备(BIERForward Egress Router,BFER)。
本申请中,组播报文出口设备对从多条传输链路接收携带序列号的组播报文,在接收到多份序列号相同的组播报文的情况下,组播报文出口设备只保留其中一份组播报文进行处理转发,由于组播报文出口设备同时从多条传输链路接收组播报文,在这多条传输链路中的其中部分传输链路或部分传输链路上的设备节点出现故障时,组播报文出口设备也能从其他传输链路上接收到组播报文,避免因链路故障或节点故障而出现丢包现象。
在一种可能的设计中,在组播报文出口设备为比特转发出口设备的情况下,组播报文出口设备对该待转发的第一组播报文进行BIER头部解封装处理去除该待转发的第一组播报文的BIER头部得到第二组播报文,然后转发该第二组播报文。
第二方面,本申请提供一种组播传输方法,可应用于组播业务传输网络中的中间节点,包括:组播报文转发设备获取组播报文入口设备发送的第三组播报文,该组播报文转发设备为该组播报文入口设备与组播报文出口设备之间的传输链路上的设备;该组播报文转发设备对该第三组播报文进行处理得到第一组播报文,该第一组播报文为BIER报文,该第一组播报文的第一BIER头部携带序列号;该组播报文转发设备根据组播业务转发表发送该第一组播报文,当该第一组播报文通过该传输链路传输至该组播报文出口设备时该序列号被该组播报文出口设备用于根据该序列号对该第一组播报文进行保留或丢弃处理。
本申请中,组播报文转发设备为BIER区域中的BFR,进一步地,组播报文转发设备可以为BIER区域中的比特转发入口设备(BIER Forward Ingress Router,BFIR)。
本申请中,组播报文转发设备在接收到组播报文时,对组播报文进行处理使其携带序列号,便于在组播报文传输至组播报文出口设备时,组播报文出口设备可根据序列号对组播报文进行丢弃或保留处理。
在一种可能的设计中,在该第三组播报文携带实时传输协议(Real-timeTransport Protocol,RTP)头部的情况下,组播报文转发设备对第三组播报文进行处理得到第一组播报文可以如下:该组播报文转发设备根据预设填充策略将第三组播报文的RTP头部中的序列号填充进行第一BIER头部的序列号字段,并用该第一BIER头部对第三组播报文进行BIER头部封装处理得到第一组播报文。在此种设计中,组播报文转发设备可以与组播报文出口设备可以为同一个BIER区域的BFR,组播报文转发设备可以为该BIER区域中的BFIR。
在一种可能的设计中,在该第三组播报文携带第二BIER头部的情况下,组播报文转发设备对第三组播报文进行处理得到第一组播报文还可以如下:该组播报文转发设备对该第三组播报文进行BIER头部解封装处理得到第一待封装组播报文;该组播报文转发设备根据预设填充策略将该第二BIER头部中的序列号填充进该第一BIER头部的序列号字段,并用该第一BIER头部对该第一待封装组播报文进行BIER头部封装处理得到第一组播报文。在此种设计中,组播报文转发设备与组播报文出口设备可以为同一个BIER区域的BFR,组播报文转发设备与组播报文入口设备不在同一BIER区域。
在一种可能的设计中,组播业务转发表为第一BIER转发表,该第一BIER转发表与第一BIER头部标识对应,该第一BIER头部标识用于指示被组播报文转发设备根据该第一BIER表发送的报文的BIER头部中是否携带有序列号字段;则该组播报文转发设备对该第三组播报文进行处理得到第一组播报文之前还包括:组播报文转发设备获取第一BIER转发表以及该第一BIER转发表对应的第一BIER头部标识;在该第一BIER头部标识为第一标识的情况下,该组播报文转发设备确定所述第一BIER头部的预设字段为序列号段。
在一种可能的设计中,组播报文转发设备可以获取网络控制器下发的第一BIER转发表以及该第一BIER转发表对应的第一BIER头部标识。
在一种可能的设计中,组播报文转发设备通过静态配置获取第一BIER转发表以及该第一BIER转发表对应的第一BIER头部标识。
第三方面,本申请提供一种组播传输方法,可应用于组播业务的传输网络中的报文入口节点,包括:组播报文入口设备接收第四组播报文;该组播报文入口设备对该第四组播报文进行处理得到第三组播报文,该第三组播报文为BIER报文,该第三组播报文的第二BIER头部携带序列号;该组播报文入口设备根据组播业务转发表通过M条传输链路向组播报文出口设备发送该第三组播报文,该序列号被该组播报文出口设备根据该序列号对从该M条传输链路接收到的组播报文进行保留或丢弃处理。
本申请中,组播报文入口设备可以为BIER区域中的BFR。
本申请中,组播报文入口设备在接收到组播报文时,对组播报文进行处理使其携带序列号,便于在组播报文出口设备接收到组播报文时,组播报文出口设备可根据序列号对组播报文进行丢弃或保留处理。另外,由于组播报文被组播报文入口设备从多条传输链路发送给组播报文出口设备,避免在部分传输链路或传输链路上的设备节点出现故障的情况下出现丢包现象。
在一种可能的设计中,在该第四组播报文携带RTP头部的情况下,组播报文入口设备对第四组播报文进行处理得到第三组播报文可以如下:组播报文入口设备根据预设填充策略将所述RTP头部中的序列号填充进行所述第二BIER头部的序列号字段,并用第二BIER头部对第四组播报文进行BIER头部封装处理得到第三组播报文。
在一种可能的设计中,在该第四组播报文携带第三BIER头部的情况下,组播报文入口设备对第四组播报文进行处理得到第三组播报文可以如下:该组播报文入口设备对该第四组播报文进行BIER头部解封装处理得到第二待封装组播报文;该组播报文入口设备根据预设填充策略将该第三BIER头部中的序列号填充进该第二BIER头部的序列号字段,并用该第二BIER头部对该第二待封装组播报文进行BIER头部封装处理得到第三组播报文。
在一种可能的设计中,在该第四组播报文不含序列号的情况下,组播报文入口设备对第四组播报文进行处理得到第三组播报文可以如下:在该第四组播报文不含序列号的情况下,该组播报文入口设备生成该第三组播报文的序列号;该组播报文入口设备根据预设填充策略将该序列号填充进第二BIER头部的序列号字段,并用该第二BIER头部对该第四组播报文进行BIER头部封装处理得到第三组播报文。
在一种可能的设计中,该组播业务转发表为第二BIER转发表,该第二BIER转发表与第二BIER头部标识对应,该第二BIER头部标识用于指示被组播报文入口设备根据该第二BIER表发送的报文的BIER头部中是否携带有序列号字段;则组播报文入口设备对所述第四组播报文进行处理得到第三组播报文之前还包括:该组播报文入口设备获取该第二BIER转发表以及该第二BIER转发表对应的第二BIER头部标识;在该第二BIER头部标识为第一标识的情况下,该组播报文入口设备确定该第二BIER头部的预设字段为序列号字段。
在一种可能的设计中,组播报文入口设备可以获取网络控制器下发的第二BIER转发表以及该第二BIER转发表对应的第二BIER头部标识。
在一种可能的设计中,组播报文入口设备通过静态配置获取第二BIER转发表以及第二转发表对应的第二BIER头部标识。
第四方面,本申请提供一种组播报文出口设备,该设备具有实现第一方面所述组播报文出口设备的行为方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,该设备包括接收单元、处理单元以及发送单元,其中,所述接收单元用于从M条传输链路接收第一组播报文,所述第一组播报文为基于比特索引的显式复制BIER报文,所述第一组播报文的第一BIER头部携带序列号,所述传输链路为所述组播报文出口设备与组播报文入口设备之间的传输链路,M为正整数且大于1;所述处理单元用于根据所述序列号确定序列号相同的N份第一组播报文,N为正整数且大于等于1且小于等于M;所述处理单元还用于保留所述序列号相同的N份第一组播报文中的其中一份第一组播报文作为待转发的第一组播报文,并丢弃剩余的N-1份第一组播报文;所述发送单元,用于对所述待转发的第一组播报文进行处理转发。
在一个可能的设计中,该设备包括处理器、存储器和通信接口,所述处理器、存储器和通信接口相互连接,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行以下操作:通过所述通信接口从M条传输链路接收第一组播报文,所述第一组播报文为基于比特索引的显式复制BIER报文,所述第一组播报文的第一BIER头部携带序列号,所述传输链路为所述组播报文出口设备与组播报文入口设备之间的传输链路,M为正整数且大于1;根据所述序列号确定序列号相同的N份第一组播报文,N为正整数且大于等于1且小于等于M;保留所述序列号相同的N份第一组播报文中的其中一份第一组播报文作为待转发的第一组播报文,并丢弃剩余的N-1份第一组播报文;通过所述通信接口对所述待转发的第一组播报文进行处理转发。
基于同一发明构思,该设备解决问题的原理以及有益效果可以参见第一方面所述的方法以及所带来的有益效果,该设备的实施可以参见第一方面所述组播报文出口设备侧方法的实施,重复之处不再赘述。
第五方面,本申请提供一种组播报文转发设备,该设备具有实现第二方面所述组播报文转发设备的行为方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,该设备包括接收单元、处理单元以及发送单元,其中,所述接收单元用于获取组播报文入口设备发送的第三组播报文,所述组播报文转发设备为所述组播报文入口设备与组播报文出口设备之间的传输链路上的设备;所述处理单元用于对所述第三组播报文进行处理得到第一组播报文,所述第一组播报文为BIER报文,所述第一组播报文的第一BIER头部携带序列号;所述发送单元用于根据组播业务转发表发送所述第一组播报文,当所述第一组播报文通过所述传输链路传输至所述组播报文出口设备时所述序列号被所述组播报文出口设备用于根据所述序列号对所述第一组播报文进行保留或丢弃处理。
在一个可能的设计中,该设备包括处理器、存储器和通信接口,所述处理器、存储器和通信接口相互连接,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行以下操作:通过所述通信接口获取组播报文入口设备发送的第三组播报文,所述组播报文转发设备为所述组播报文入口设备与组播报文出口设备之间的传输链路上的设备;对所述第三组播报文进行处理得到第一组播报文,所述第一组播报文为BIER报文,所述第一组播报文的第一BIER头部携带序列号;通过所述通信接口根据组播业务转发表发送所述第一组播报文,当所述第一组播报文通过所述传输链路传输至所述组播报文出口设备时所述序列号被所述组播报文出口设备用于根据所述序列号对所述第一组播报文进行保留或丢弃处理。
基于同一发明构思,该设备解决问题的原理以及有益效果可以参见第二方面所述的方法以及所带来的有益效果,该设备的实施可以参见第二方面所述组播报文转发设备侧方法的实施,重复之处不再赘述。
第六方面,本申请提供一种组播报文入口设备,该设备具有实现第三方面所述组播报文入口设备的行为方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,该设备包括接收单元、处理单元以及发送单元,其中,所述接收单元,用于接收第四组播报文;所述处理单元,用于对所述第四组播报文进行处理得到第三组播报文,所述第三组播报文为BIER报文,所述第三组播报文的第二BIER头部携带序列号;所述发送单元,用于根据组播业务转发表通过M条传输链路向组播报文出口设备发送所述第三组播报文,所述序列号被所述组播报文出口设备根据所述序列号对从所述M条传输链路接收到的组播报文进行保留或丢弃处理。
在一个可能的设计,该设备包括处理器、存储器和通信接口,所述处理器、存储器和通信接口相互连接,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行以下操作:通过所述通信接口接收第四组播报文;对所述第四组播报文进行处理得到第三组播报文,所述第三组播报文为BIER报文,所述第三组播报文的第二BIER头部携带序列号;通过所述通信接口根据组播业务转发表通过M条传输链路向组播报文出口设备发送所述第三组播报文,所述序列号被所述组播报文出口设备根据所述序列号对从所述M条传输链路接收到的组播报文进行保留或丢弃处理。
基于同一发明构思,该设备解决问题的原理以及有益效果可以参见第三方面所述的方法以及所带来的有益效果,该设备的实施可以参见第三方面所述组播报文入口设备侧方法的实施,重复之处不再赘述。
第七方面,本申请实施例提供一种计算机存储介质,用于储存为组播报文出口设备所用的计算机程序指令,其包含用于执行上述第一方面所涉及的程序。
第八方面,本申请的实施例提供一种计算机存储介质,用于储存为组播报文转发设备所用的计算机程序指令,其包含用于执行上述第二方面所涉及的程序。
第九方面,本申请的实施例提供一种计算机存储介质,用于储存为组播报文入口设备所用的计算机程序指令,其包含用于执行上述第三方面所涉及的程序。
在本申请中,组播报文入口设备与组播报文出口设备之间存在多条传输链路,组播报文入口设备发送的组播报文可以沿着多条传输链路传输至组播报文出口设备,由于组播报文携带序列号,组播报文出口设备根据序列号只保留序列号相同的组播报文中的其中一份报文并对剩余的组播报文进行丢弃处理,一方面,多条传输链路用于传输组播报文可以保证组播报文传输过程中不丢包,另一方面,组播报文出口设备丢弃多余的组播报文可以避免报文重复。
附图说明
图1是本申请提供的组播业务传输网络的一种可能的结构示意图;
图2是本申请提供的组播业务传输网络的另一种可能的结构示意图;
图3是本申请提供的组播业务传输网络的又一种可能的结构示意图;
图4是本申请提供的一种组播传输方法的流程示意图;
图5是本申请提供的另一种组播传输方法的流程示意图;
图6是在一个CE设备可与多个PE设备连接的组播业务传输网络中的报文头部变化示意图;
图7是在一个CE设备与一个PE设备连接的组播业务传输网络中的报文头部变化示意图;
图8是本申请实施例提供的一种组播报文出口设备的结构示意图;
图9是本申请实施例提供的一种组播报文出口设备的可能的结构示意图;
图10是本申请实施例提供的一种组播报文转发设备的结构示意图;
图11是本申请实施例提供的一种组播报文转发设备的可能的结构示意图;
图12是本申请实施例提供的一种组播报文入口设备的结构示意图;
图13是本申请实施例提供的一种组播报文入口设备的可能的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请的方案可以应用于组播流量入口与组播流量出口之间有多条传输链路的组播业务传输网络上。在组播业务传输网络中,可以根据网络设备在网络中的位置设备分为三类设备:1)用户侧边缘(Customer Edge,CE)设备,CE设备是接入设备,用于与组播业务传输网络中的边缘设备相连接,在一些可能的实现方式中,CE可以为用户的交换机、路由交换机、IAD、城域网(Metropolitan-area Network,MAN)设备、广域网(Wide Area Network,WAN)设备,等等。CE设备具备丰富的接口,能够接入各种设备,数据处理能力相对较弱;2)网络侧边缘(Provider Edge,PE)设备,PE设备是汇聚层的设备,接入经过CE设备处理之后的数据,具备数据汇聚、数据封装、数据解封装的能力;3)核心(Provider,P)设备,P设备是核心层的设备,有强大的交换能力,具备标签交换等功能。CE设备可以与一个或多个PE设备连接,CE设备、PE设备以及P设备构成组播业务传输网络可以如图1和图2所示。图1是本申请提供的组播业务传输网络的一种可能的结构示意图,其中,CE1分别与PE1、PE2连接,PE1与P1连接,PE2与P2连接,P1与P2分别与PE3连接,PE3与CE2连接;在图1中,CE1、PE1、P1以及PE3形成一条传输链路,CE1、PE2、P2以及PE3形成另一条传输链路,组播流量在CE1处被复制,然后沿两条传输链路传输至PE3得到汇聚,CE1为组播流量入口设备,PE1、PE2、P1以及P2为组播流量转发设备,PE3为组播流量出口设备。图2是本申请提供的组播业务传输网络的另一种可能的结构示意图,其中,CE1与PE1连接,PE1分别与P1、P2连接,P1、P2分别与PE2连接,PE2与CE1连接;在图2中,PE1、P1以及PE2形成一条传输链路,PE1、P2以及PE3形成另一条传输链路,组播流量在PE1处被复制,然后沿两条传输链路传输至PE3得到汇聚,PE1为组播流量入口设备,P1、P2为组播流量转发设备,PE2为组播流量出口设备。应当理解是,本申请的方案同样可以应用于以图1或图2的结构为基础增加设备节点或增加连接而形成的更为复杂的组播业务传输网络。
本申请的方案通过从多条传输链路接收携带序列号的组播报文,该组播报文为BIER报文,BIER报文的BIER头部中携带序列号,然后根据BIER头部中的序列号对组播报文进行保留或丢弃,从而可以避免因网络中某一链路或某一设备故障而出现丢包现象。
上述介绍了组播业务传输网络的两种可能的结构示意图,下面结合上述两种可能的结构示意图对本申请实施例的方法进行介绍。
本申请实施例所涉及的组播报文出口设备与组播报文入口设备之间的传输链路相互之间不共路,其中,传输链路不共路指除去组播报文出口设备和组播报文入口设备之外,传输链路上的设备相互不交叉或重合。例如,组播业务传输网络如图3所示的,其中,CE1、PE1、P1以及PE3形成传输链路A,CE1、PE1、P2以及PE3形成传输链路B,CE1、PE2、P2以及PE3形成传输链路C,则传输链路A与传输链路B共路,传输链路B与传输链路C共路,传输链路A与传输链路C不共路,在将本申请的方案应用于图3所示的传输网络时,多条传输链路指传输链路A与传输链路C。
参见图4,图4是本申请提供的一种组播传输方法的流程示意图,图4所示的方法实施例可以应用于图1或以图1为基础增加设备节点或连接的组播业务传输网络,即一个CE设备与多个PE设备连接。所述方法可包括如下步骤:
S101,组播报文入口设备向M条传输链路上的组播报文转发设备发送第三组播报文,组播报文转发设备接收第三组播报文,M为正整数且大于1。
本申请实施例中,组播报文入口设备为CE设备,CE设备接收到的第四组播报文可以有两种类型:第一种,第四组播报文为封装有RTP头部的组播报文;第二种,第四组播报文为未封装有RTP头部的组播报文。
本申请实施例中,第四组播报文在组播报文入口设备处被处理为第三组播报文并复制为M份,然后M份第三组播报文分别被组播报文入口设备转发给M条不共路的传输链路上的组播报文转发设备,第三组播报文可携带序列号,以使组播报文出口设备在接收到M条传输链路上的组播报文时,可以根据序列号确定多个内容重复的组播报文,从而实现对序列号相同即内容相同的组播报文的保留或丢弃。对于图1所示的组播业务传输网络来说,M等于2。
根据第四组播报文的类型,第四组播报文在组播报文入口设备处被处理为第三组播报文并复制为M份可以有以下几种情况:
在第四组播报文携带RTP头部的情况下,RTP头部中存在序列号字段,即第四组播报文携带序列号,在一种可能的实现方式中,组播报文入口设备可以直接将第四组播报文复制为M份第四组播报文转发给M条传输链路上的组播报文转发设备,这时,第三组播报文为第四组播报文,第三组播报文携带RTP头部;在另一种可能的实现方式中,组播报文入口设备可以根据预设填充策略在BIER头部中填充序列号并用该BIER头部将第四组播报文封装为BIER报文,然后将该BIER报文复制为M份BIER报文转发给M条传输链路上的组播报文转发设备,这时,第三组播报文为BIER报文,第三组播报文携带第二BIER头部,第二BIER头部中存在序列号字段,该序列号字段用于填充序列号,在可选实施方式中,预设填充策略可以为将RTP序列号映射为BIER序列号,则组播报文入口设备将第四组播报文的RTP头部中的序列号填充进第二BIER头部的序列号字段,则组播报文入口设备发送第三组播报文之前还包括:组播报文入口设备根据预设填充策略将第四组播报文的RTP头部中的序列号填充进第二BIER头部的序列号字段,并用第二BIER头部对第四组播报文进行BIER头部封装处理得到第三组播报文。
在第四组播报文不携带RTP头部的情况下,在一种可能的实现方式中,组播报文入口设备可以根据预设填充策略在BIER头部中填充序列号并用该BIER头部将第四组播报文封装为BIER报文,然后将该BIER报文复制为M份BIER报文,这时,第三组播报文为BIER报文,第三组播报文携带第二BIER头部,第二BIER头部存在序列号字段,该序列号字段用于填充序列号,在可选实施方式中,预设填充策略可以为自动添加BIER序列号,则组播报文入口设备生成序列号并将该生成的序列号填充进行第二BIER头部的序列号字段,则组播报文入口设备发送第三组播报文之前还包括:组播报文入口设备生成序列号;组播报文入口设备根据预设填充策略将该序列号填充进第二BIER头部的序列号字段,并用第二BIER头部对第四组播报文进行BIER头部封装处理得到第三组播报文。当组播报文入口设备接收到多个第四组播报文时,组播报文入口设备按照接收到第四组播报文的顺序确定序列号,组播报文入口设备每接收到一个第四组播报文,就将序列号加1,然后将加1后的序列号填充进行第二BIER头部的序列号字段。例如,组播报文入口设备接收到的第四组播报文分别为A报文、B报文、C报文、D报文以及E报文,其中,A报文是组播报文入口设备接收到的第一个组播报文,A报文比B报文先被组播报文入口设备接收到,B报文比C报文先被组播报文入口设备接收到,C报文比D报文先被组播报文入口设备接收到,D报文比E报文先被组播报文入口先被组播报文接收到。组播报文入口设备在接收到A报文时,将序列号1填充进第二BIER头部并用第二BIER头部对A报文进行BIER头部封装处理;组播报文在接收B报文时,将序列号2填充进第二BIER头部并用第二BIER头部对B报文进行BIER头部封装处理;组播报文在接收C报文时,将序列号3填充进第二BIER头部并用第二BIER头部对C报文进行BIER头部封装处理,依次类推。
具体实现中,组播报文入口设备可根据BIER头部的格式确定第二BIER头部中的各个功能字段,按照BIER头部的格式将该符合该BIER区域的功能参数填充进行相应的功能字段,所有功能参数填充完成后形成第二BIER头部,组播入口设备将该第二BIER头部添加到第四组播报文的报头头部上,以形成第三组播报文。
本申请实施例中,在第三组播报文为第四组播报文的情况下,组播报文入口设备可根据路由转发表向M条传输链路上的组播报文转发设备发送第三组播报文;在第三组播报文为BIER组播报文的情况下,组播报文入口设备可根据第二BIER转发表向M条传输链路上的组播报文转发设备发送第三组播报文,其中,第二BIER转发表为第二BIER头部中的BIER转表标识字段所指示的BIER转发表,即第二BIER转发表的标识与第二BIER头部中的BIER转发表标识字段中的标识相同。
具体实现方式中,可通过静态配置或者网络控制器下发的方式给组播报文入口设备配置路由转发表或者第二BIER转发表。
在可选实施方式中,在通过静态配置或者网络控制器下发的方式为组播报文转发设备配置第二BIER转发表的同时,还可以通过静态配置或网络控制器下发的方式配置与第二BIER转发表对应的第二BIER头部标识,该第二BIER头部标识用于指示第一BIER报文的BIER头部中的预设字段为何种功能字段,该第一BIER报文为通过第二BIER转发表转发的组播报文,在第二BIER头部标识为第一标识的情况下,指示第一BIER报文的BIER头部中的预设字段为序列号字段,即指示组播报文入口设备通过第二BIER转发表转发第三组播报文时,该第三组播报文的第二BIER头部中的预设字段为序列号字段。
本申请实施例中,在组播报文为BIER报文的情况下,可以在BIER头部中预设一个字段作为序列号字段,在可选实施方式中,可以在BIER头部中新增预设字段作为序列号字段;也可以复用BIER头部的一个字段作为预设字段,利用BIER头部标识来标识BIER头部中预设字段的作用,在BIER头部标识为第一标识的情况下,该预设字段为序列号字段,在BIER头部标识为第二标识的情况下该预设字段为其他功能字段。例如,可以复用第二BIER头部中的熵字段作为预设字段,在第二BIER头部标识为第一标识的情况下,熵字段为序列号字段,组播入口设备根据预设填充策略将序列号填充进第二BIER头部的熵字段。
S102,组播报文转发设备对第三组播报文进行处理得到第一组播报文,第一组播报文为BIER报文,第一组播报文的第一BIER头部携带序列号。
在一种可能的实现方式中,组播报文转发设备可以为BFR,该第一组播报文可以为BIER报文,组播报文转发设备可以将第三组播报文处理为BIER报文,在进一步实施方式中,组播报文转发设备为BFIR。
组播报文转发设备将第三组播报文处理为BIER报文可以分为如下几种情况:
在第三组播报文为第四组播报文的情况下,第三组播报文携带RTP头部,组播报文转发设备可以根据预设填充策略在第一BIER头部的序列号字段中填充序列号并用该BIER头部将第三组播报文封装为BIER报文,在此种情况下,预设填充策略可以为将RTP序列号映射为BIER序列号,则组播报文转发设备根据预设填充策略将第三组播报文的RTP头部中的序列号填充进第一BIER头部的序列号字段,并用第一BIER头部对第三组播报文进行BIER头部封装处理得到第一组播报文。
在第三组播报文为BIER报文的情况下,第三组播报文携带第二BIER头部,组播报文入口设备为CE设备而组播报文转发设备为PE设备,则组播报文入口设备与组播报文转发设备不属于同一个BIER区域,组播报文转发设备可以对第三组播报文进行BIER头部解封装去掉第三组播报文的第二BIER头部得到第一待封装组播报文,再根据预设填充策略在第一BIER头部的序列号字段中填充序列号并用该第一BIER头部将第一待封装组播报文封装为BIER报文,在此种情况下,预设填充策略可以为将BIER序列号映射为BIER序列号,则组播报文转发设备根据预设填充策略将第三组播报文的第二BIER头部中的序列号填充进第一BIER头部的序列号字段,并用第一BIER头部对第一待封装组播报文进行BIER头部封装得到第一组播报文。
S103,组播报文转发设备根据组播业务转发表发送第一组播报文。
本申请实施例中,在第一组播报文为BIER报文的情况下,组播业务转发表为第一BIER转发表,第一BIER转发表为第一BIER头部中的BIER转表标识字段所指示的BIER转发表,即第一BIER转发表的标识与第一BIER头部中的BIER转发表标识字段中的标识相同。
具体实现中,可通过静态配置或者网络控制器下发的方式为组播报文转发设备配置第一BIER转发表。在可选实施方式中,在通过静态配置或者网络控制器下发的方式为组播报文转发设备配置第一BIER转发表的同时,还可以通过静态配置或网络控制器下发的方式配置与第一BIER转发表对应的第一BIER头部标识,该第一BIER头部标识用于指示第二BIER报文的BIER头部中的预设字段为何种功能字段,该第二BIER报文为通过第一BIER转发表转发的组播报文,在第一BIER头部标识为第一标识的情况下,指示第二BIER报文的BIER头部中的预设字段为序列号字段,即指示组播报文转发设备通过第一BIER转发表转发第一组播报文时,该第一组播报文的第一BIER头部中的预设字段为序列号字段。
在一种可能的实现方式中,第一BIER转发表与第二转发表的标识可以相同。
S104,组播报文出口设备从M条传输链路接收第一组播报文。
具体实现方式中,组播报文出口设备分别从M条传输链路上的组播报文转发设备接收第一组播报文,该组播报文转发设备与组播报文出口设备存在连接关系。
S105,组播报文出口设备根据序列号确定序列号相同的N份第一组播报文,N为正整数且大于等于1且小于等于M。
在一种可能的实现方式中,在第一组播报文为BIER报文的情况下,组播报文出口设备可以为BFR,在进一步实施方式中,组播报文出口设备为BFER。
具体实现中,组播报文出口设备获取第一组播报文的第一BIER头部中序列号字段的内容确定第一组播报文的序列号,进而确定序列号相同的N份第一组播报文。
S106,组播报文出口设备保留序列号相同的N份第一组播报文中的其中一份第一组播报文作为待转发的第一组播报文,并丢弃剩余的N-1份第一组播报文。
例如,组播报文出口设备接收到3份序列号为2的第一组播报文,则组播报文丢弃其中两份序列号为2的第一组播报文,保留一份序列号为2的第一组播报文。
S107,组播报文出口设备对待转发的第一组播报文进行处理转发。
在一种可能的实现方式中,组播报文出口设备对待转发的第一组播报文进行BIER头部解封装得到第二组播报文,然后转发该第二组播报文;即组播报文出口设备去掉待转发的第一组播报文的第一BIER头部得到第二组播报文。其中,解封装得到的第二组播报文与第四组播报文相同,第二组播报文可以携带RTP头部的组播报文,第二组播报文也可以为不携带RTP头部的组播报文。
在另一种可能的实现方式中,组播出口设备直接转发该待转发的第一组播报文。
在本申请实施例中,组播报文入口设备通过M条传输链路向组播报文出口设备发送第三组播报文,第三组播报文在进入转发区域时,被处理为第一组播报文,第一组播报文为BIER报文,BIER报文的BIER头部携带序列号,第一组播报文沿着M条传输链路传输至组播报文出口设备,即使在M条传输链路上的某一条链路或链路上的组播报文转发设备出现故障,第一组播报文也能沿着其他传输链路传输至组播报文出口设备,保证组播报文在传输过程中不丢包。
参见图5,图5是本申请提供的一种组播传输方法的流程示意图,图5所示的方法实施例适用于图2或以图2为基础增加设备节点或连接的组播业务传输网络,即CE设备与一个PE设备连接。所述方法可包括如下步骤:
S201,组播报文入口设备接收第四组播报文。
本申请实施例中,组播报文入口设备为PE设备,PE设备接收CE设备发送的第四组播报文,CE设备接收到的组播报文可以有两种类型:第一种,封装有RTP头部的组播报文,封装有RTP头部;第二种,未封装有RTP头部的组播报文。
在可选实施方式中,CE设备可以对接收到的组播报文进行BIER头部封装处理得到第四组播报文,然后转发给PE设备;CE设备也可以直接将接收到的组播报文转发给PE设备,则第四组播报文可以有以下四种类型:第一种,第四组播报文封装有BIER头部和RTP头部;第二种,第四组播报文封装有BIER头部但未封装RTP头部;第三种,第四组播报文未封装有BIER头部但封装有RTP头部;第四种,第四组播报文既未封装有BIER头部也未封装有RTP头部。
S202,组播报文入口设备对第四组播报文进行处理得到第三组播报文,第三组播报文为BIER报文,第三组播报文的第二BIER头部携带序列号。
在本申请实施例中,组播报文入口设备可以为BFR,进一步地,组播报文入口设备为BFIR,第三组播报文可以为BIER报文。
本申请实施例中,在第四组播报文为上述步骤S201所提及的第三种和第四种的类型的情况下,组播报文入口设备对第四组播报文进行处理得到第三组播报文的过程可参考步骤图4对应的实施例中步骤S101组播报文入口设备对第四组播报文进行处理得到第三组播报文且第三组播报文为BIER报文的描述,此处不再赘述。
在第四组播报文为上述步骤S201所提及的第一种和第二种的类型的情况下,第四组播报文为封装有BIER头部的报文,即第四组播报文为BIER报文,第四组播报文携带第三BIER头部,在第四组播报文携带第三BIER头部的情况下,组播报文入口设备为PE设备,PE设备与CE设备不属于同一个BIER区域,组播报文入口设备可以对第四组播报文进行BIER头部解封装得到第二待封装组播报文,即去掉第四组播报文的第三BIER头部得到第二待封装组播报文,再根据预设填充策略在第二BIER头部的序列号字段中填充序列号并用该第二BIER头部将第二待封装组播报文封装为BIER报文,在此种情况下,预设填充策略可以为将BIER序列号映射为BIER序列号,则组播报文入口设备根据预设填充策略将第四组播报文的第三BIER头部中的序列号填充进第二BIER头部的序列号字段,并用第二头部对第二待封装组播报文进行BIER头部封装得到第三组播报文。
S203,组播报文入口设备根据组播业务转发表通过M条传输链路向组播报文出口设备发送第三组播报文,组播报文出口设备从M条传输链路接收第三组播报文。
本申请实施例中,在第三组播报文为BIER报文的情况下,组播业务转发表为第二BIER转发表。组播报文入口设备获取第二BIER转发表的方式可参考图4对应的方法实施例中步骤S101中获取第二BIER转发表的描述,此处不再赘述。
S204,组播报文出口设备根据序列号确定序列号相同的N份第三组播报文,N为正整数且大于等于1且小于等于M。
S205,组播报文出口设备保留序列号相同的N份第三组播报文中的其中一份第三组播报文作为待转发的第三组播报文,并丢弃剩余的N-1份第三组播报文。
S206,组播报文出口设备对待转发的第三组播报文进行处理转发。
本申请实施例中,组播报文入口设备、组播报文转发设备与组播报文出口设备属于同一BIER区域,BIER报文在同一BIER中传输时,在该BIER区域中的BFIR处进行BIER头部封装,本申请实施例中的第三组播报文传输至组播报文转发设备时,组播报文转发设备不对第三组播报文进行处理,直接转发该第三组播报文,即本申请实施例中的第三组播报文对应于图4对应的方法实施例中的第一组播报文,相应地,步骤S204~步骤S206的具体实现方式可参考图4对应的实施例中步骤S105~S107的描述,此处不再赘述。
在本申请实施例中,组播报文入口设备将接收到的第四组播报文处理为第三组播报文,第三组播报文为BIER报文,BIER报文的BIER头部携带序列号,然后通过M条传输链路向组播报文出口设备发送第三组播报文,即使在M条传输链路上的某一条链路或链路上的组播报文转发设备出现故障,第三组播报文也能沿着其他传输链路传输至组播报文出口设备,保证组播报文在传输过程中不丢包。
上述介绍了本申请的方法,下面介绍本申请中的组播报文在经过组播报文入口设备、组播报文转发设备以及组播报文出口设备处的报文头部变化,参见图6-图7。
图6是在一个CE设备可与多个PE设备连接的组播业务传输网络中的组播报文的报文头部变化示意图,在此种组播业务传输网络中,组播报文入口设备为CE设备。在组播报文到达组播报文入口设备时,组播报文的报文头部可以为报文头部1和报文头部2中的其中一种报文头部,其中,报文头部1中封装有RTP头部,报文头部2中未封装有RTP头部;在组播报文经过组播报文入口设备后,报文头部1变为报文头部11或报文头部12,其中,报文头部11封装有BIER头部1,报文头部12未封装有BIER头部1;报文头部2变为报文头部21,报文头部21封装有BIER头部1。在组播报文到达组播报文转发设备时,组播报文的报文头部为报文头部11、报文头部12或报文头部21中的其中一种报文头部。在组播报文经过组播报文转发设备后,报文头部11变为报文头部111,报文头部111封装有BIER头部2,报文头部12变为报文头部121,封装有BIER头部2,报文头部21变为报文头部211,报文头部211封装有BIER头部2。在组播报文达到组播报文出口设备时,组播报文的报文头部为报文头部111、组播报文头部121、报文头部211中的其中一种报文头部;在组播报文经过组播报文出口设备后,报文头部111变为报文头部1111或报文头部1112,报文头部121变为报文头部1211或报文头部1212,报文头部211变为报文头部变为2111或报文头部2112。
图7是在一个CE设备与一个PE设备连接的组播业务传输网络中的报文头部变化示意图,在此种组播业务传输网络中,组播报文入口设备为PE设备。在组播报文到达组播报文入口设备时,组播报文的报文头部可以为报文头部3、报文头部4、报文头部5或者报文头部6中的一种报文头部,其中,报文头部3中封装有BIER头部1和RTP头部,报文头部4中未封装有BIER头部1未封装有RTP头部,报文头部5封装有RTP头部未封装有BIER头部1,报文头部6未封装有BIER头部1也未封装有RTP头部;在组播报文经过组播报文入口设备后,报文头部3变为报文头部31,封装有BIER头部2,报文头部4变为报文头部41,报封装有BIER头部2,报文头部5变为报文头部51,报封装有BIER头部2,报文头部6变为报文头部61,报封装有BIER头部2。在组播报文到达组播报文转发设备时,组播报文的报文头部为报文头部31、报文头部41、报文头部51或报文头部61中的其中一种报文头部;在组播报文经过组播报文转发设备后,报文头部保持不变,仍为报文头部31、报文头部41、报文头部51或报文头部61。在组播报文达到组播报文出口设备时,组播报文的报文头部为报文头部31、报文头部41、报文头部51或报文头部61中的其中一种报文头部;在组播报文经过组播报文出口设备后,报文头部31变为报文头部311或报文头部312,报文头部41变为报文头部411或报文头部412,报文头部51变为报文头部变为511或报文头部512,报文头部61变为报文头部611或报文头部612。
结合图6-图7可知,不论是何种格式的组播报文,在经过BIER区域的BEIR时,均被封装为BIER报文,BIER报文的BIER头部中携带序列号,BIER报文沿着多条传输链路传输至组播报文出口设备,组播报文出口设备可根据BIER头部中的序列号确定序列号相同的多份报文,进行丢弃或转发,保证在链路故障时不丢包。
上述详细阐述了本申请的方法及组播报文头部变化,为了便于更好地实施本申请的上述方案,本申请还提供了相应的装置。
参见图8,图8是本申请实施例提供的一种组播报文出口设备的结构示意图,该设备30用于执行图4或图5对应的方法实施例中组播报文出口设备所执行的步骤,如图所示,所述设备可包括:
接收单元310,用于从M条传输链路接收第一组播报文,所述第一组播报文为基于比特索引的显式复制BIER报文,所述第一组播报文的第一BIER头部携带序列号,所述传输链路为所述组播报文出口设备与组播报文入口设备之间的传输链路,M为正整数且大于1;
处理单元320,用于根据所述序列号确定序列号相同的N份第一组播报文,N为正整数且大于等于1且小于等于M;
所述处理单元320还用于保留所述序列号相同的N份第一组播报文中的其中一份第一组播报文作为待转发的第一组播报文,并丢弃剩余的N-1份第一组播报文;
发送单元330,用于对所述待转发的第一组播报文进行处理转发。
在可选实施方式中,在对所述待转发的第一组播报文进行处理转发过程中,所述处理单元320还用于对所述待转发的第一组播报文进行BIER头部解封装处理得到第二组播报文;所述发送单元330具体用于转发所述第二组播报文。
需要说明的是,图8对应的实施例中未提及的内容以及各个单元执行步骤的具体实现方式可参见图4或图5所示实施例的描述,这里不再赘述。
在一种可能的实现方式中,图8中的接收单元310、处理单元320以及发送单元330所实现的相关功能可以结合处理器与通信接口来实现。参见图9,图9是本申请实施例提供的一种组播报文出口设备的可能的结构示意图,其中,该设备50包括处理器401、存储器402、通信接口403,所述处理器401、所述存储器402、所述通信接口403通过一个或多个通信总线连接。处理器401被配置为支持所述组播报文出口设备执行图4和图5所述方法中相应的功能。该处理器401可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器402用于存储程序代码等。存储器402可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器402也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器402还可以包括上述种类的存储器的组合。
通信接口403用于接收和发送数据,例如,通信接口用于接收第一组播报文,发送第二组播报文,等等。该组播报文出口设备包括一个或多个通信接口,其中,用于发送数据的通信接口和用于接收数据的通信接口可以不为同一个通信接口。
处理器401可以调用所述程序代码执行以下操作:
通过所述通信接口403从M条传输链路接收第一组播报文,所述第一组播报文为基于比特索引的显式复制BIER报文,所述第一组播报文的第一BIER头部携带序列号,所述传输链路为所述组播报文出口设备与组播报文入口设备之间的传输链路,M为正整数且大于1;
所述组播报文出口设备根据所述序列号确定序列号相同的N份第一组播报文,N为正整数且大于等于1且小于等于M;
所述组播报文出口设备保留所述序列号相同的N份第一组播报文中的其中一份第一组播报文作为待转发的第一组播报文,并丢弃剩余的N-1份第一组播报文;
通过所述通信接口403对所述待转发的第一组播报文进行处理转发。
进一步地,处理器401还可以与通信接口403相配合,执行本申请图4或图5所示实施例中组播报文出口设备的操作,具体可参见方法实施例中的描述,在此不再赘述。
参见图10,图10是本申请实施例提供的一种组播报文转发设备的结构示意图,该设备50用于执行图4或图5对应的方法实施例中组播报文转发设备所执行的步骤,如图所示,所述设备可包括:
接收单元510,用于获取组播报文入口设备发送的第三组播报文,所述组播报文转发设备为所述组播报文入口设备与组播报文出口设备之间的传输链路上的设备;
处理单元520,用于对所述第三组播报文进行处理得到第一组播报文,所述第一组播报文为BIER报文,所述第一组播报文的第一BIER头部携带序列号;
发送单元530,用于根据组播业务转发表发送所述第一组播报文,当所述第一组播报文通过所述传输链路传输至所述组播报文出口设备时所述序列号被所述组播报文出口设备用于根据所述序列号对所述第一组播报文进行保留或丢弃处理。
在可选实施方式中,所述处理单元520具体用于:在所述第三组播报文携带实时传输协议RTP头部的情况下,根据预设填充策略将所述RTP头部中的序列号填充进所述第一BIER头部的序列号字段,并用所述第一BIER头部对所述第三组播报文进行BIER头部封装处理得到第一组播报文。
在可选实施方式中,所述处理单元520具体用于:在所述第三组播报文携带第二BIER头部的情况下,对所述第三组播报文进行BIER头部解封装处理得到第一待封装组播报文;根据预设填充策略将所述第二BIER头部中的序列号填充进所述第一BIER头部的序列号字段,并用所述第一BIER头部对所述第一待封装组播报文进行BIER头部封装处理得到第一组播报文。
在可选实施方式中,所述组播业务转发表为第一BIER转发表,所述接收单元510还用于获取所述第一BIER转发表以及所述第一BIER转发表对应的第一BIER头部标识;在所述第一BIER头部标识为第一标识的情况下,所述处理单元520还用于确定所述第一BIER头部的预设字段为序列号字段。
在可选实施方式中,所述处理单元520具体用于:获取网络控制器下发的第一BIER转发表以及所述第一BIER转发表对应的第一BIER头部标识。
在可选实施方式中,所述处理单元520具体用于:通过静态配置获取所述第一BIER转发表以及所述第一BIER转发表对应的第一BIER头部标识。
需要说明的是,图10对应的实施例中未提及的内容以及各个单元执行步骤的具体实现方式可参见图4或图5所示实施例的描述,这里不再赘述。
在一种可能的实现方式中,图10中的接收单元510、处理单元520以及发送单元530所实现的相关功能可以结合处理器与通信接口来实现。参见图11,图11是本申请实施例提供的一种组播报文转发设备的可能的结构示意图,其中,该设备60包括处理器601、存储器602、通信接口603,所述处理器601、所述存储器602、所述通信接口603通过一个或多个通信总线连接。处理器601被配置为支持所述组播报文转发设备执行图4和图5所述方法中相应的功能。该处理器601可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器602用于存储程序代码等。存储器602可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器602也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器602还可以包括上述种类的存储器的组合。
通信接口603用于接收和发送数据,例如,通信接口用于接收第三组播报文,发送第一组播报文,等等。该组播报文转发设备包括一个或多个通信接口,其中,用于发送数据的通信接口和用于接收数据的通信接口可以不为同一个通信接口。
处理器601可以调用所述程序代码执行以下操作:
通过所述通信接口603获取组播报文入口设备发送的第三组播报文,所述组播报文转发设备为所述组播报文入口设备与组播报文出口设备之间的传输链路上的设备;
对所述第三组播报文进行处理得到第一组播报文,所述第一组播报文为BIER报文,所述第一组播报文的第一BIER头部携带序列号;
通过所述通信接口根据组播业务转发表发送所述第一组播报文,当所述第一组播报文通过所述传输链路传输至所述组播报文出口设备时所述序列号被所述组播报文出口设备用于根据所述序列号对所述第一组播报文进行保留或丢弃处理。
进一步地,处理器601还可以与通信接口603相配合,执行本申请图4或图5所示实施例中组播报文转发设备的操作,具体可参见方法实施例中的描述,在此不再赘述。
参见图12,图12是本申请实施例提供的一种组播报文入口设备的结构示意图,该设备70用于执行图4或图5对应的方法实施例中组播报文入口设备所执行的步骤,如图所示,所述设备可包括:
接收单元710,用于接收第四组播报文;
处理单元720,用于对所述第四组播报文进行处理得到第三组播报文,所述第三组播报文为BIER报文,所述第三组播报文的第二BIER头部携带序列号;
发送单元730,用于根据组播业务转发表通过M条传输链路向组播报文出口设备发送所述第三组播报文,所述序列号被所述组播报文出口设备根据所述序列号对从所述M条传输链路接收到的组播报文进行保留或丢弃处理。
在可选实施方式中,所述处理单元720具体用于:在所述第四组播报文携带RTP头部的情况下,根据预设填充策略将所述RTP头部中的序列号填充进所述第二BIER头部的序列号字段,并用所述第二BIER头部对所述第四组播报文进行BIER头部封装处理得到第三组播报文。
在可选实施方式中,所述处理单元720具体用于:在所述第四组播报文携带第三BIER头部的情况下,对所述第四组播报文进行BIER头部解封装处理得到第二待封装组播报文;根据预设填充策略将所述第三BIER头部中的序列号填充进所述第二BIER头部的序列号字段,并用所述第二BIER头部对所述第二待封装组播报文进行BIER头部封装处理得到第三组播报文。
在可选实施方式中,所述处理单元720具体用于:在所述第四组播报文不含序列号的情况下,根据预设填充策略生成所述第三组播报文的序列号;将所述序列号填充进第二BIER头部的序列号字段,并用所述第二BIER头部对所述第四组播报文进行BIER头部封装处理得到第三组播报文。
在可选实施方式中,所述组播业务转发表为第二BIER转发表,所述接收单元710还用于获取所述第二BIER转发表以及所述第二BIER转发表对应的第二BIER头部标识;在所述第二BIER头部标识为第一标识的情况下,所述处理单元720还用于确定所述第二BIER头部的预设字段为序列号字段。
在可选实施方式中,所述接收单元710具体用于:获取网络控制器下发的第二BIER转发表以及所述第二BIER转发表对应的第二BIER头部标识。
在可选实施方式中,所述接收单元710具体用于:通过静态配置获取所述第二BIER转发表以及所述第二BIER转发表对应的第二BIER头部标识。
需要说明的是,图12对应的实施例中未提及的内容以及各个单元执行步骤的具体实现方式可参见图4或图5所示实施例的描述,这里不再赘述。
在一种可能的实现方式中,图12中的接收单元710、处理单元720以及发送单元730所实现的相关功能可以结合处理器与通信接口来实现。参见图13,图13是本申请实施例提供的一种组播报文入口设备的可能的结构示意图,其中,该设备80包括处理器801、存储器802、通信接口803,所述处理器801、所述存储器802、所述通信接口803通过一个或多个通信总线连接。处理器801被配置为支持所述组播报文入口设备执行图4和图5所述方法中相应的功能。该处理器801可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器802用于存储程序代码等。存储器802可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器802也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器802还可以包括上述种类的存储器的组合。
通信接口803用于接收和发送数据,例如,通信接口用于接收第四组播报文,发送第三组播报文,等等。该组播报文入口设备可包括一个或多个通信接口,其中,用于发送数据的通信接口和用于接收数据的通信接口可以不为同一个通信接口。
处理器801可以调用所述程序代码执行以下操作:
通过所述通信接口803接收第四组播报文;
对所述第四组播报文进行处理得到第三组播报文,所述第三组播报文为BIER报文,所述第三组播报文的第二BIER头部携带序列号;
通过所述通信接口803根据组播业务转发表通过M条传输链路向组播报文出口设备发送所述第三组播报文,所述序列号被所述组播报文出口设备根据所述序列号对从所述M条传输链路接收到的组播报文进行保留或丢弃处理。
进一步地,处理器801还可以与通信接口803相配合,执行本申请图4或图5所示实施例中组播报文入口设备的操作,具体可参见方法实施例中的描述,在此不再赘述。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。