CN112737954B - 报文处理方法、装置、系统、设备及存储介质 - Google Patents
报文处理方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112737954B CN112737954B CN201911062044.6A CN201911062044A CN112737954B CN 112737954 B CN112737954 B CN 112737954B CN 201911062044 A CN201911062044 A CN 201911062044A CN 112737954 B CN112737954 B CN 112737954B
- Authority
- CN
- China
- Prior art keywords
- bier
- bfir
- network device
- label
- specified
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种报文处理方法、装置、系统、设备及存储介质。该方法包括:第一网络设备接收包括第一BIER头的第一BIER报文;当第一BIER报文为发送给第二网络设备的报文时,响应于确定第二网络设备为BIER通信网络的边缘节点设备且不支持BIER报文转发,确定用于RPF检查的目标标签;更新第一BIER报文得到第二BIER报文,该第二BIER报文包括目标标签,不包括第一BIER头;向第二网络设备发送该第二BIER报文。由于第二BIER报文包括用于RPF检查的标签,从而可以不依赖于净荷中的信息进行RPF检查,提高了RPF检查的可靠性,且解决了封装开销或者标签使用量大的问题。
Description
本申请要求于2019年10月14日提交的申请号为201910973860.6、发明名称为“一种报文转发方法、设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种报文处理方法、装置、系统、设备及存储介质。
背景技术
位索引显示复制(bit index explicit replication,BIER)技术是一种组播技术,在BIER技术中,对网络中的每个边缘节点设备配置一个BIER转发路由器标识(BIERForwarding Router id,BFR-id),将边缘节点设备的配置信息通过内部网关协议(Interior Gateway Protocol,IGP)泛洪的方式在网络中泛洪,使得网络中各节点能够确定每个BFR-id标识的是哪台设备。
此外,网络中的各节点通过控制面IGP泛洪的信息建立转发表,各节点可在转发面利用转发表来转发BIER的报文,并对接收到BIER报文进行处理。
发明内容
本申请实施例提供了一种报文处理方法、装置、系统、设备及存储介质,以解决相关技术提供的问题,技术方案如下:
第一方面,提供了一种报文处理方法,该方法应用于BIER通信网络中的第一网络设备,该BIER通信网络还包括第二网络设备,该方法包括:第一网络设备接收包括第一BIER头的第一BIER报文,当第一BIER报文为发送给第二网络设备的报文时,第一网络设备确定第二网络设备是否为BIER通信网络的边缘节点设备和第二网络设备是否支持BIER报文的转发;
响应于第一网络设备确定第二网络设备为BIER通信网络的边缘节点设备和第二网络设备不支持BIER报文的转发,该第一网络设备确定目标标签,并且将第一BIER报文更新为第二BIER报文,该第二BIER报文包括目标标签,并且不包括第一BIER头,目标标签用于触发第二网络设备根据目标标签进行反向路径转发(reverse path forwarding,RPF)检查;之后,第一网络设备向第二网络设备发送该第二BIER报文。其中,BIER通信网络通过所述边缘节点设备与所述BIER通信网络之外的网络设备通信。
本申请实施例提供的方法,第一网络设备接收到发送给第二网络设备的包括第一BIER头的第一BIER报文后,针对第二网络设备为边缘节点设备且不支持BIER报文转发的情况,由第一网络设备将第一BIER报文更新为包括用于RPF检查的目标标签且不包括第一BIER头的第二BIER报文,从而可以使得不支持BIER报文转发的边缘节点设备即第二网络设备能够不依赖于净荷中的信息进行RPF检查,提高了RPF检查的可靠性,且解决了封装开销或者标签使用量大的问题。
在示例性实施例中,第一网络设备确定第二网络设备是否为BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发,包括:所述第一网络设备获取所述第二网络设备的信息,根据所述第二网络设备的信息确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发。
在示例性实施例中,所述第一网络设备确定目标标签,包括:所述第一网络设备获取第一对应关系,所述第一对应关系为指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;根据所述第一对应关系确定所述对应于指定BFIR的标签。
在示例性实施例中,所述第一网络设备确定目标标签,包括:所述第一网络设备获取第一对应关系及第二对应关系,所述第一对应关系为所述指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系、所述第二对应关系为报文类型与所述用于指示所述报文类型的标签之间的对应关系;根据所述第一对应关系确定所述对应于指定BFIR的标签,根据所述第二对应关系确定所述用于指示所述报文类型的标签。
在示例性实施例中,所述第一网络设备确定目标标签,包括:所述第一网络设备获取第三对应关系,所述第三对应关系为子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的对应关系;根据所述第三对应关系确定所述对应于指定BFIR的标签。
在示例性实施例中,BIER通信网络为BIER域,该第一网络设备为BIER域中的位转发路由器BFR。
第二方面,提供了一种报文处理方法,该方法应用于BIER通信网络中的第二网络设备,该第二网络设备为BIER通信网络的边缘节点设备,BIER通信网络通过边缘节点设备与BIER通信网络之外的网络设备通信,所述BIER通信网络中还包括第一网络设备,该报文处理方法包括:第二网络设备接收第一网络设备发送的第二BIER报文,该第二BIER报文是由第一网络设备更新第一BIER报文得到的,第一BIER报文包括第一BIER头,第二BIER报文包括目标标签,且不包括第一BIER头,目标标签用于触发第二网络设备根据目标标签进行RPF检查;获取所述第二BIER报文中的目标标签;根据目标标签进行RPF检查。
由于第二BIER报文中有用于RPF检查的目标标签,因而第二网络设备不依赖于净荷中的信息进行RPF检查,提高了RPF检查的可靠性,且解决了封装开销或者标签使用量大的问题。
在示例性实施例中,所述根据所述目标标签进行RPF检查,包括:根据所述对应于指定BFIR的标签及第一对应关系确定所述指定BFIR的信息,所述第一对应关系为所述指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;根据所述第二BIER报文确定第一目标BFIR的信息,所述第一目标BFIR的信息指示所述第二网络设备期望所述第二BIER报文的净荷对应的网络设备的信息;比较所述指定BFIR的信息与所述第一目标BFIR的信息,根据比较结果确定RPF检查结果。
在示例性实施例中,所述方法还包括:根据第二对应关系确定所述用于指示所述报文类型的标签,所述第二对应关系为报文类型与用于指示所述报文类型的标签之间的对应关系;根据所述用于指示所述报文类型的标签确定报文类型。
在示例性实施例中,所述根据所述目标标签进行RPF检查,包括:根据所述对应于指定BFIR的标签及第三对应关系确定子域与所述指定BFIR的信息,所述第三对应关系为子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的对应关系;根据所述第二BIER报文确定第二目标BFIR的信息,所述第二目标BFIR的信息指示所述第二网络设备期望所述第二BIER报文的净荷对应的网络设备的信息,该第二目标BFIR的信息包括子域与BFIR标识;比较所述子域与指定BFIR的信息与所述第二目标BFIR的信息,根据比较结果确定RPF检查结果。
在示例性实施例中,所述接收第二BIER报文之前,还包括:获取指定BFIR的信息与所述对应于指定BFIR的标签之间的第一对应关系,发布所述第一对应关系。
在示例性实施例中,所述接收第二BIER报文之前,还包括:获取报文类型与用于指示所述报文类型的标签之间的第二对应关系,发布所述第二对应关系。
在示例性实施例中,所述接收第二BIER报文之前,还包括:获取子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的第三对应关系,发布所述第三对应关系。
第三方面,提供了一种报文处理装置,所述装置应用于BIER通信网络中的第一网络设备,所述BIER通信网络还包括第二网络设备,所述装置包括:
接收模块,用于接收第一BIER报文,所述第一BIER报文包括第一BIER头;
处理模块,用于当所述第一BIER报文为发送给所述第二网络设备的报文时,确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发,其中,所述BIER通信网络通过所述边缘节点设备与所述BIER通信网络之外的网络设备通信;响应于所述第一网络设备确定所述第二网络设备为所述BIER通信网络的边缘节点设备和所述第二网络设备不支持BIER报文的转发,确定目标标签,并且将所述第一BIER报文更新为第二BIER报文,所述第二BIER报文包括所述目标标签,并且所述第二BIER报文不包括所述第一BIER头,所述目标标签用于触发所述第二网络设备根据所述目标标签进行反向路径转发RPF检查;
发送模块,用于向所述第二网络设备发送所述第二BIER报文。
在示例性实施例中,处理模块,用于获取所述第二网络设备的信息,根据所述第二网络设备的信息确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发。
在示例性实施例中,所述确定模块,用于获取第一对应关系,所述第一对应关系为指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;根据所述第一对应关系确定所述对应于指定BFIR的标签。
在示例性实施例中,所述确定模块,用于获取第一对应关系及第二对应关系,所述第一对应关系为所述指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系、所述第二对应关系为报文类型与所述用于指示所述报文类型的标签之间的对应关系;根据所述第一对应关系确定所述对应于指定BFIR的标签,根据所述第二对应关系确定所述用于指示所述报文类型的标签。
在示例性实施例中,所述确定模块,用于获取第三对应关系,所述第三对应关系为子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的对应关系;根据所述第三对应关系确定所述对应于指定BFIR的标签。
第四方面,提供了一种报文处理装置,所述装置应用于位索引显式复制BIER通信网络中的第二网络设备,所述第二网络设备为所述BIER通信网络的边缘节点设备,所述BIER通信网络通过所述边缘节点设备与所述BIER通信网络之外的网络设备通信,所述BIER通信网络中还包括第一网络设备,所述装置包括:
接收模块,用于接收所述第一网络设备发送的第二BIER报文,所述第二BIER报文由所述第一网络设备更新第一BIER报文得到的,所述第一BIER报文包括第一BIER头,所述第二BIER报文包括目标标签,且不包括所述第一BIER头,所述目标标签用于触发所述第二网络设备根据所述目标标签进行反向路径转发RPF检查;
获取模块,用于获取所述第二BIER报文中的目标标签;
检查模块,用于根据所述目标标签进行RPF检查。
在上述任一示例性实施例中,所述目标标签包括对应于指定位转发头节点路由器BFIR的标签,所述对应于指定BFIR的标签由所述第二网络设备分配,所述指定BFIR为发送所述第一BIER报文的BFIR。
在上述任一示例性实施例中,所述目标标签还包括到所述第二网络设备的单播隧道标签。
在上述任一示例性实施例中,所述目标标签还包括用于指示报文类型的标签。
在示例性实施例中,所述检查模块,用于根据所述对应于指定BFIR的标签及第一对应关系确定所述指定BFIR的信息,所述第一对应关系为所述指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;根据所述第二BIER报文确定第一目标BFIR的信息,所述第一目标BFIR的信息指示所述第二网络设备期望所述第二BIER报文的净荷对应的网络设备的信息;比较所述指定BFIR的信息与所述第一目标BFIR的信息,根据比较结果确定RPF检查结果。
在示例性实施例中,所述装置还包括:
确定模块,用于根据第二对应关系确定所述用于指示所述报文类型的标签,所述第二对应关系为报文类型与用于指示所述报文类型的标签之间的对应关系;根据所述用于指示所述报文类型的标签确定报文类型。
在示例性实施例中,所述检查模块,用于根据所述对应于指定BFIR的标签及第三对应关系确定子域与所述指定BFIR的信息,所述第三对应关系为子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的对应关系;根据所述第二BIER报文确定第二目标BFIR的信息,所述第二目标BFIR的信息指示所述第二网络设备期望所述第二BIER报文的净荷对应的网络设备的信息,所述第二目标BFIR的信息包括子域与BFIR标识;比较所述子域与指定BFIR的信息与所述第二目标BFIR的信息,根据比较结果确定RPF检查结果。
在示例性实施例中,所述装置还包括:
第一发布模块,用于获取指定BFIR的信息与所述对应于指定BFIR的标签之间的第一对应关系,发布所述第一对应关系。
在示例性实施例中,所述第一发布模块,还用于获取报文类型与用于指示所述报文类型的标签之间的第二对应关系,发布所述第二对应关系。
在示例性实施例中,所述装置,还包括:
第二发布模块,用于获取子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的第三对应关系,发布所述第三对应关系。
第五方面,提供了一种第一网络设备,所述第一网络设备用于执行所述第一方面任一所述的方法。
第六方面,提供了一种第二网络设备,所述第二网络设备用于执行所述第二方面任一所述的方法。
第七方面,提供了一种网络设备,所述网络设备具有实现上述方法中第一网络设备行为的功能或者具体实现上述方法中第二网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,网络设备的结构中包括处理器和接口,所述处理器被配置为支持网络设备执行上述方法中相应的功能。所述接口用于支持网络设备与其他网络设备之间的通信,从所述其他网络设备接收上述方法中所涉及的信息或者指令。所述网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存网络设备必要的程序指令和数据。
在另一个可能的设计中,所述网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导网络设备进入正常运行状态。在网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第八方面,提供一种网络设备,所述网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述网络设备用于执行第一方面或第一方面的任意可能的实现方式中的方法,或者所述网络设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述网络设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。或者,所述网络设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第九方面,提供一种网络设备,所述网络设备包括控制器和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第八方面中的接口板的功能,进一步,还可以执行第八方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第八方面中主控板的功能。
第十方面,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上第一方面或第二方面任一所述的方法。
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为本申请实施例提供的一种网络拓扑结构示意图;
图2为本申请实施例提供的一种BIER头结构示意图;
图3为本申请实施例提供的一种BIER-MPLS封装转发示意图;
图4为本申请实施例提供的一种网络拓扑的结构示意图;
图5为本申请实施例提供的一种报文处理方法流程图;
图6为本申请实施例提供的一种BIER报文的格式示意图;
图7为本申请实施例提供的一种报文处理方法交互示意图;
图8为本申请实施例提供的一种BIER报文的格式示意图;
图9为本申请实施例提供的一种报文处理方法交互示意图;
图10为本申请实施例提供的一种BIER报文的格式示意图;
图11为本申请实施例提供的一种报文处理方法交互示意图;
图12为本申请实施例提供的一种BIER报文的格式示意图;
图13为本申请实施例提供的一种报文处理装置的结构示意图;
图14为本申请实施例提供的一种报文处理装置的结构示意图;
图15为本申请实施例提供的一种报文处理装置的结构示意图;
图16为本申请实施例提供的报文处理系统的结构示意图;
图17为本申请实施例提供的网络设备的结构示意图;
图18为本申请实施例提供的另一种网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
BIER技术是一种组播技术,在BIER技术中,对网络中的每个边缘节点设备配置一个BFR-id,例如配置1~256之间的一个值。网络中的每个边缘节点设备的配置信息会通过IGP泛洪的方式在网络中泛洪,这种随IGP泛洪的信息称为BIER信息。通过泛洪的方式,使得网络中各节点都能够确定每个BFR-id标识的是哪台设备。例如,如果节点的BFR-id的值为非0,则该节点为边缘节点设备,如果节点的BFR-id为0,则该节点为中间节点设备,即非边缘节点设备。
以在图1所示的网络中进行IGP泛洪BIER信息为例,该网络中的边缘节点设备包括A、D、E和F。如图1所示,边缘节点设备A、D、E和F被配置的BFR-id值分别为4、1、2和3。每个边缘节点设备的BFR-id值会通过IGP泛洪。示例性地,每个边缘节点设备均向网络中的其他网络设备发送控制面报文,该控制面报文中包括泛洪信息,泛洪信息中包括边缘节点设备的BFR-id,还包括互联网协议(internet protocol,IP)地址、封装信息。其中,封装信息包括封装类型。例如,边缘节点设备A的泛洪信息中会携带边缘节点设备A的BFR-id、IP地址、封装类型为多协议标签交换(multi-protocol label switching,MPLS)以及相应的边缘节点设备A上分配的MPLS标签。节点B和C作为中间节点,不需要配置BFR-id,因此,节点B和C发送的控制面报文的泛洪信息中的BFR-id相应填0。该节点B和C的控制面报文的泛洪信息中还包括其它信息如节点的IP地址、封装信息。
此外,网络中的各节点通过控制面IGP泛洪的信息建立转发表,各节点可在转发面利用转发表来转发BIER报文,该BIER报文包括BIER封装的组播数据报文。BIER封装格式可参见请求评论(request for comment,RFC)8296中关于BIER头格式的说明,BIER的头格式是在转发面(芯片)上实现BIER的关键。如图2所示,BIER头包含有一个32bit(4个字节)的BIER-Label(标签)或BIER转发表标识(bit indexed forwarding tableidentifer,BIFT-ID)值等字段。其中,前20bit为BIER-Label标签或BIFT-ID值,后12bit为标签的其它信息,包括通信流类别(traffic class,TC)、S位及生存时间(time to live,TTL)。BIER头还包括64bit(8个字节)的其它字段,包括区分符(Nibble)、版本(Ver)、比特串长度(bitslength,BSL)、熵值(Entropy)、检测(OAM)、保留(Rsv)、差异化服务字段代码(differentiatedservices field codepoints,DSCP)、协议(Proto)、BIER转发入口路由器标识(BIERforwarding ingress router,BFIR-id)等,还包括比特串(BitString)。BitString的长度可以是64bit/128bit/256bit/…等长度。BIER-Label或BFR-ID值可用来确定BitString的长度。
其中,字段BitString中的每个Bit用来标识某个BIER转发边缘节点路由器(BIERforwarding edge router,BFER),例如BitString的低位(最右)的一个Bit用来标识下一跳节点是BFR-id=1对应的节点。BitString中从右往左第2个Bit用来标识BFR-id=2对应的节点。转发面转发所依据的转发表项则是根据BIER报文中的BitString决定该BIER报文要往哪几个下一跳发送。多个Bit对应同一个下一跳的情况,只会向该下一跳发送一份BIER报文。
除上述BIER报文的内容之外,BIER里还涉及BIER域(domain)、子域(sub-domain,SD)、比特串长度(bitstringlength,BSL)、集合标识(set identifier,SI)和BIER转发表标识(bit indexed forwarding table identifier,BIFT-id)几个关键概念。
BIER Domain:指的是一个能通过IGP或BGP协议(Underlay)泛洪BIER信息并建立BIER转发表的网络区域。比如一个自治域(autonomous system,AS)域内部署IGP协议并泛洪BIER信息,该AS域就是一个BIER Domain。多个AS域的网络,不同的AS域内可能部署IGP协议并泛洪BIER信息,AS域之间部署BGP协议但不泛洪BIER信息,那么多个AS域就是不同的BIER Domain。参见RFC8279:The BIER control-plane protocols(see Section 4.2)runwithin a"BIER domain",allowing the BFRs within that domain to exchange theinformation needed for them to forward packets to each other using BIER.
SD:一个IGP域可以配置多个SD,一个场景是用于不同的业务,例如VPN1使用SD0,而VPN1使用SD1。也可以多个VPN都使用同一个SD。
BSL:指报文里BitString可以有多种,如64/128/256/512/1024/2048/4096,根据转发能力的不同,可以选择使用不同的BSL长度。一个路由器也可能支持多个长度。
SI:例如BSL使用256,但网络中有超过256个节点,或者配置的bfr-id有超过256,则需要将这些节点划分成不同的集合,例如bfr-id=1to 256的节点为集合0(Set 0,或SI=0),bfr-id=257to 512的节点为集合1(Set 1,或者SI=1)。
BIFT-id:BIFT-id(在BIER-MPLS封装下就是一个Label)对应一个SD/BSL/SI的组合。这样收到BIER报文的路由器通过该BIFT-id值就可以获知报文属于哪个SD、使用什么BSL(即后面的BitString长度为多少)、属于哪个SI。例如,RFC8296有如下例子:
L1:corresponding to SD 0,BSL 256,SI 0.
L2:corresponding to SD 0,BSL 256,SI 1.
L3:corresponding to SD 0,BSL 256,SI 2.
L4:corresponding to SD 0,BSL 256,SI 3.
L5:corresponding to SD 0,BSL 512,SI 0.
L6:corresponding to SD 0,BSL 512,SI 1.
L7:corresponding to SD 1,BSL 256,SI 0.
L8:corresponding to SD 1,BSL 256,SI 1.
L9:corresponding to SD 1,BSL 256,SI 2.
L10:corresponding to SD 1,BSL 256,SI 3.
L11:corresponding to SD 1,BSL 512,SI 0.
L12:corresponding to SD 1,BSL 512,SI 1.
其中,上述标签L2中,针对SI=1的标签,BIER标签为L2的BIER后面的BitString代表的节点是bfr-id=257 to 512的节点,而不是bfr-id=1 to 256的节点。
以图1所示的各节点建立BIER转发表为例,转发表中的邻居可以是网络拓扑中直连的邻居,也可以是非直连的邻居,例如根据RFC8279的6.9节计算出来的非直连邻居。对于边缘节点设备A,该边缘节点设备A的邻居包括节点B。在图1所示的网络拓扑中,由于BFR-id=1/2/3的BFER节点的下一跳均为节点B,因此建立边缘节点设备A的邻居表项:
邻居(Nbr)=B,转发位掩码(forwarding bit mask,FBM)=0111。
其中,FBM中的每个比特位代表一个边缘节点设备。如果边缘节点设备比较多,那么可将边缘节点设备划分成不同的Set(集合)。针对多个Set,FBM由多个Set的比特串组成。例如,网络拓扑中有512台边缘节点设备,将512台边缘节点设备划分为Set=0和Set=1的2个Set,一个Set采用256bit的比特串,那么邻居的FBM可以是由2个256bit的比特串组成,分别是对应Set=0的比特串和Set=1的比特串。
对于边缘节点设备A的邻居表项,当BIER报文中的BitString从右往左第1/2/3个bit位为1时,会将该BIER报文向邻居节点B发送。当BIER报文中的BitString从右往左第4个bit位为1时(例如从节点B发给节点A的BIER报文),该表项指示将BIER报文向节点A发送。其中,在图1中使用*A*标识将该BIER报文发送给节点A自己。
对于节点B,该节点B的邻居包括边缘节点设备A、节点C和边缘节点设备E。由于BFR-id=1/2的BFER节点的下一跳均为节点C、BFR-id=3的BFER节点为边缘节点设备E、BFR-id=4的BFER节点为边缘节点设备A,因此,建立节点B的邻居表项:
Nbr=C,FBM=0011。
Nbr=E,FBM=0100。
Nbr=A,FBM=1000。
对于节点C,该节点C的邻居节点包括节点B、边缘节点设备E、边缘节点设备F和边缘节点设备D。由于BFR-id=1的BFER节点为边缘节点设备D、BFR-id=2的BFER节点为边缘节点设备F、BFR-id=3的BFER节点为边缘节点设备E、BFR-id=4的BFER节点的下一跳为节点B,因此,建立节点C的邻居表项:
Nbr=D,FBM=0001。
Nbr=F,FBM=0010。
Nbr=E,FBM=0100。
Nbr=B,FBM=1000。
对于边缘节点设备D,该边缘节点设备D的邻居节点包括节点C。由于BFR-id=2/3/4的BFER节点的下一跳为节点C,因此,建立边缘节点设备D的邻居表项:
Nbr=C,FBM=1110。
对于边缘节点设备E,该边缘节点设备E的邻居节点包括节点B和节点C。由于BFR-id=1/2的BFER节点的下一跳为节点C、BFR-id=4的BFER节点的下一跳为节点B,因此,建立边缘节点设备E的邻居表项:
Nbr=B,FBM=1000。
Nbr=C,FBM=0011。
对于边缘节点设备F,该边缘节点设备F的邻居节点包括节点C。由于BFR-id=1/3/4的BFER节点的下一跳为节点C,因此,建立边缘节点设备F的邻居表项:
Nbr=C,FBM=1101。
需要说明的是,本申请实施例以BIER-MPLS的封装转发为例,BIER头前20bit是MPLS标签值,在转发过程中会变。例如如图3所示,节点A向节点B发送报文时,需要封装节点B的MPLS标签值;节点B向节点C发送报文时,需要封装节点C的MPLS标签值。图3所示的示例中,仅以节点A/B/C/D/E/F分配的MPLS标签值分别是100/200/300/400/500/600为例,这些标签需要携带在前述的BIER封装信息中,并通过IGP泛洪。因此,节点A才能够确定节点B的标签是多少。这一标识BIER信息的标签也称为BIER标签(BIER-MPLS Label,RFC8296)。
此外,在RFC8296中还定义了一种非MPLS的封装,也称为BIER-ETH封装,是在以太头中使用Ethertype=0xAB37指示以太头后面是一个BIER头。该种封装方式下,BIER头前20bit值是一个称为BIFT-id的Sub-domain内的唯一值,在转发过程中不需要变。例如,所有节点都配置<Sub-domain,BSL,SI>对应的BIFT-id为1234。例如节点A向节点B发送报文时,节点B向节点C发送报文时,BIER头中的前20bit都为1234,不需要改变。
如图3所示,BIER头中的Proto字段,可以用来标识BIER头之后的报文(即BIER的Payload)是什么格式。例如,如下是定义在RFC8296中的几种常见的Proto值:
Proto=1,表示BIER头后面是MPLS标签报文;例如:BIER头+MPLS标签栈+Ip报文。
Proto=2,表示BIER头后面是上游MPLS标签报文;例如:BIER头+上游MPLS标签+Ip报文。
Proto=4,表示BIER头后面是Ipv4报文;例如:BIER头+Ipv4报文。
Proto=6,表示BIER头后面是Ipv6报文;例如:BIER头+Ipv6报文。
BIER头中的BFIR-id字段,表示报文来自于哪个BFIR节点,可以用来进行组播的RPF检查。RPF检查是指组播转发时,确定报文是否从期望的节点或者接口发出,如果不是则丢弃报文。
例如,以图4所示组网为例,图4中的src为组播源或者连接组播源的路由器或交换机,组播源可以同时连接在BFIR1和BFIR2节点上,称为多宿主源(multi-homed source)。rcv为组播接收者或者连接组播接收者的路由器或交换机,BFIR1/BFIR2/BFR3/BFER4组成BIER域,BFER4作为BIER域的边缘节点,支持BIER的信令消息但不支持BIER转发;BFIR1/BFIR2作为Ingress节点,BFIR1和BFIR2都可以收到组播数据报文、封装BIER头并发送给BFER4。例如,BFIR1和BFIR2对收到的组播数据报文封装BIER报文后发送给BFR3,BFR3将BIER头弹出后发送给BFER4。其中,BFIR发送给BFR3的BIER报文的净荷(Payload)可以是Ipv4报文/Ipv6报文/上游MPLS标签报文,BFER4可以对收到的报文进行RPF检查。例如,BFER4可以通过如下方法进行RPF检查,以避免BFER4发送两份报文给接收者。
例如,BFER4可以对具体的组播数据报文(S1,G1)确定一个目标的组播上游节点,该目标的组播上游节点为期望的组播上游节点,其中,S1表示报文源地址,G1表示报文组地址。例如,BFER4可以配置其期望从BFIR2接收组播报文(S1,G1)。此外,BFER4还会建立(S1,G1)与期望的上游节点信息的对应关系,例如(S1,G1,BFIR1 prefix),或者(S1,G1,BFIRSubdomain,BFIR bfr-id)。对于收到的内层报文为(S1,G1)、外层为BIER头的报文,BFER4可以根据BIER头中的BIFT-id或BIER MPLS标签确定报文属于BIER的哪个Sub-domain,再根据此Sub-domain及BIER头中的BFIR-id节点可以确定报文实际来自于哪个BFIR节点;BFER4再检查实际来自的BFIR节点和期望的BFIR节点是否相同,确定RPF检查是否通过。
也就是说,BFER可以通过BIER头中的BIFT-id和BFIR-id字段能够确定报文实际来自于哪个BFIR节点,根据报文中的(S1,G1)确定报文期望的上游节点信息;根据这两个信息是否一致,从而进行RPF检查。
然而,对于BFER不支持BIER转发的情况,如draft-ietf-bier-php-03所述,请求上游节点发送组播数据报文时弹出BIER头部,从而实现在这种网络中部署BIER;这种在发送给BFER的报文中弹出BIER头部称为BIER倒数第二跳弹出(penultimate hop popping,PHP)。因为弹出BIER头部后,报文不再有BIFT-id和BFIR-id字段,因此无法在BFER节点上按照BIER头部进行RPF检查。
在弹出BIER头部后,针对在BIER的Payload中有可以获取到BFIR节点信息的情形,支持BFER节点上进行RPF检查。例如,在PHP弹出BIER头之后还可以根据BIER头之后的Payload层面的额外封装信息进行RPF检查。但对于弹出BIER头部后,BIER的Payload中无法获取到BFIR节点信息的情形,则不支持RPF检查。
对此,本申请实施例提供了一种报文处理方法,该方法在尾节点即不支持BIER报文转发的边缘节点设备请求BIER PHP时,不依赖于BIER Payload中的信息进行RPF检查,而是在请求BIER PHP的叶子节点上,分配并发布用于RPF检查的标签,使得弹出BIER头的节点可以在弹出BIER头以后封装该标签,从而解决无法支持BIER Payload为Ipv4/Ipv6/上游MPLS标签报文时无法进行RPF检查的问题,也解决了封装开销或者标签使用量大的问题。
本申请实施例提供的方法应用于BIER通信网络中的第一网络设备,该BIER通信网络包括第一网络设备和第二网络设备。示例性地,该BIER通信网络可以为BIER域,第一网络设备为BIER域中的BFR节点,第二网络设备为BIER域中不支持BIER报文转发的边缘节点设备。在本申请实施例中,可将第二网络设备作为“伪BFER(Pseudo BFER)”,例如图4所示网络中的BFER4,该第二网络设备具有有效的BFR-id值,但需要上游节点对发送的BIER组播报文弹出BIER头。此外,第二网络设备被其它BFR建立BIER转发表时作为一个BFR邻居(BFRneighbor,BFR-NBR)。对于第一网络设备,当第一网络设备根据路由表获得Pseudo BFER的下一跳BFR-NBR邻居就是Pseudo BFER时,则第一网络设备建立“BFR-NBR”为Pseudo BFER的位转发表(Bit Index Forwarding Table,BIFT)表项;一个BIFT表项包括(BFR-NBR,F-BM),其中BFR-NBR就是BFR邻居。
此外,第一网络设备根据路由表获得Pseudo BFER的下一跳BFR-NBR邻居就是Pseudo BFER自己,包括如下两种情况:
1)第二网络设备是第一网络设备直连的BFR-NBR,即第二网络设备和第一网络设备通过网络接口直接连接;
2)第二网络设备是第一网络设备非直连的BFR-NBR,即第一网络设备上到达到第二网络设备的路径上还可以有一个或多个非BFR的路由器。
无论第一网络设备与第二网络设备是上述哪种连接方式,参见图5,该方法包括如下几个过程:
501:第一网络设备接收第一BIER报文,该第一BIER报文包括第一BIER头。
在本申请实施例提供的方法中,第一网络设备可以接收邻居发送的第一BIER报文,该第一BIER报文的位串目的地包括第二网络设备。示例性地,第一BIER头的BitString中包括了第二网络设备为目的地址,例如BIER头的BitString中对应于第二网络设备的BFR-id的bit位值为1。
例如,仍以图4所示的网络结构为例,第一网络设备可以为BFR3,该BFR3可以接收BFIR1或BFIR2发送的第一BIER报文。
502:当第一BIER报文为发送给第二网络设备的报文时,第一网络设备确定第二网络设备是否为BIER通信网络的边缘节点设备和第二网络设备是否支持BIER报文的转发。
由于第一BIER报文的第一BIER头包括第二网络设备的信息,因此,第一网络设备获取第二网络设备的信息,根据第二网络设备的信息确定第二网络设备是否为BIER通信网络的边缘节点设备和第二网络设备是否支持BIER报文的转发。
例如,第一BIER头中的第一网络设备的BFR-id为1,则第二网络设备为边缘节点设备。又由于第二网络设备可以请求第一网络设备发送组播数据报文时弹出BIER头,在PHP请求中携带第二网络设备的信息,因而第一网络设备在接收到第一BIER报文,获取到第二网络设备的信息后,能够确定出第二网络设备是否支持BIER报文的转发。
503:响应于第一网络设备确定第二网络设备为BIER通信网络的边缘节点设备和第二网络设备不支持BIER报文的转发,第一网络设备确定目标标签,目标标签用于触发第二网络设备根据目标标签进行RPF检查。
当第一网络设备确定第二网络设备为BIER通信网络的边缘节点设备,且该第二网络设备不支持BIER报文的转发后,响应于第一网络设备确定第二网络设备为BIER通信网络的边缘节点设备,且该第二网络设备不支持BIER报文的转发,第一网络设备确定用于RPF检查的目标标签,以使得后续在BIER报文不包括第一BIER头时,第二网络设备能够根据目标标签进行RPF检查。
在示例性实施例中,目标标签包括但不限于如下两种情况:
情况一:目标标签包括对应于指定BFIR的标签,该对应于指定BFIR的标签由第二网络设备分配,该指定BFIR为发送第一BIER报文的BFIR。
情况二:目标标签包括对应于指定BFIR的标签+用于指示报文类型的标签。
除上述情况一和情况二之外,本申请实施例提供的方法中,目标标签还可以包括到第二网络设备的单播隧道标签。也就是说,在情况一或情况二基础上,还包括如下情况三:
情况三:情况一+到第二网络设备的单播隧道标签,或者情况二+到第二网络设备的单播隧道标签。示例性地,到第二设备的单播隧道标签可以是:第一网络设备根据IGP路由获得到达第二网络设备的下一跳,再根据下一跳节点上所分配的与第二网络设备的IP地址所对应的单播标签。
针对上述目标标签的几种情况,第一网络设备确定目标标签的方式,包括但不限于如下三种:
方式一:第一网络设备确定目标标签,包括:第一网络设备获取第一对应关系,第一对应关系为指定BFIR的信息与对应于指定BFIR的标签之间的对应关系;根据第一对应关系确定对应于指定BFIR的标签。
该方式一针对目标标签为上述情况一提供了一种确定目标标签的方式。方式一中,第一网络设备可以提前获取第一对应关系。之后,当第一网络设备接收到第一BIER报文后,可以从第一BIER报文中获取第二网络设备的信息即指定BFIR的信息,进而通过第一对应关系能够确定与第二网络设备的信息相对应的对应于指定BFIR的标签。该种方式下,第二网络设备的信息可以为第二网络设备的标识。
方式二:第一网络设备确定目标标签,包括:第一网络设备获取第一对应关系及第二对应关系,第一对应关系为指定BFIR的信息与对应于指定BFIR的标签之间的对应关系、第二对应关系为报文类型与用于指示报文类型的标签之间的对应关系;根据第一对应关系确定对应于指定BFIR的标签,根据第二对应关系确定用于指示报文类型的标签。
该方式二针对目标标签为上述情况二提供了一种确定目标标签的方式。方式二中,第一网络设备可以提前获取第一对应关系和第二对应关系。之后,当第一网络设备接收到第一BIER报文后,可以从第一BIER报文中获取第二网络设备的信息即指定BFIR的信息,进而通过第一对应关系能够确定与第二网络设备的信息相对应的对应于指定BFIR的标签。此外,第一网络设备能够根据第一BIER报文确定报文类型,进而通过第二对应关系能够确定与报文类型对应的用于指示报文类型的标签。
方式三:第一网络设备确定目标标签,包括:第一网络设备获取第三对应关系,第三对应关系为子域、指定BFIR的信息及对应于指定BFIR的标签之间的对应关系;根据第三对应关系确定对应于指定BFIR的标签。
该方式三针对目标标签为上述情况一提供了一种确定目标标签的方式。方式三中,第一网络设备可以提前获取第三对应关系。之后,当第一网络设备接收到第一BIER报文后,可以从第一BIER报文中获取第二网络设备的信息即指定BFIR的信息,进而通过第三对应关系能够确定与第二网络设备的信息相对应的对应于指定BFIR的标签。该种方式下,第二网络设备的信息可以为子域+指定BFIR的标识。
504:第一网络设备将第一BIER报文更新为第二BIER报文,第二BIER报文包括目标标签,并且第二BIER报文不包括第一BIER头。
示例性地,第一网络设备将第一BIER报文更新为第二BIER报文时,可以弹出第一BIER报文的BIER头,在弹出BIER头的BIER报文中封装目标标签,得到第二BIER报文。
第一网络设备弹出第一BIER报文的BIER头的方式,本申请实施例不进行限定,由于上述步骤503中包括但不限于三种确定目标标签的方式,如果步骤503中采用方式一确定出目标标签,则该步骤在弹出BIER头的BIER报文中封装由方式一确定出的目标标签,以得到第二BIER报文。如果步骤503中采用方式二确定出目标标签,则该步骤在弹出BIER头的BIER报文中封装由方式二确定出的目标标签,以得到第二BIER报文。如果步骤503中采用方式三确定出目标标签,则该步骤在弹出BIER头的BIER报文中封装由方式三确定出的目标标签,以得到第二BIER报文。
505:第一网络设备向第二网络设备发送第二BIER报文。
当更新得到第二BIER报文之后,第一网络设备向下一跳发送该第二BIER报文。
需要说明的是,如上述步骤501所述,由于第一BIER报文的位串目的地包括第二网络设备,而该第一网络设备与第二网络设备可以是直连的,因而第一网络设备的下一跳即为第二网络设备,则第一网络设备直接将第二BIER报文发送给第二网络设备。
在示例性实施例中,第一网络设备与第二网络设备可以是非直连的,因而第一网络设备的下一跳不是第二网络设备,则第一网络设备将第二BIER报文发送给第一网络设备的下一跳,由第一网络设备的下一跳设备将该第二BIER报文发送给第二网络设备。
506:第二网络设备接收第一网络设备发送的第二BIER报文。
如上述步骤505所述,由于第一网络设备与第二网络设备可以是直连的,因而第二网络设备可以从第一网络设备处接收该第二BIER报文。又由于第一网络设备与第二网络设备也可以是非直连的,因而第二网络设备可以从第一网络设备的邻居处接收该第二网络设备发送的第二BIER报文。无论是哪种接收第二BIER报文的情况,该第二BIER报文封装有用于RPF检查的目标标签,且不包括第一BIER头。
507:第二网络设备获取第二BIER报文中的目标标签,根据目标标签进行RPF检查。
在示例性实施例中,由于目标标签的形式有多种,对此,本申请实施例中的第二网络设备在根据目标标签进行RPF检查时,包括但不限于如下几种方式:
方式一:根据目标标签进行RPF检查,包括:根据对应于指定BFIR的标签及第一对应关系确定指定BFIR的信息,第一对应关系为指定BFIR的信息与对应于指定BFIR的标签之间的对应关系;根据第二BIER报文确定第一目标BFIR的信息,第一目标BFIR的信息指示第二网络设备期望第二BIER报文的净荷对应的网络设备的信息;比较指定BFIR的信息与第一目标BFIR的信息,根据比较结果确定RPF检查结果。
在示例性实施例中,接收第二BIER报文之前,还包括:
获取指定BFIR的信息与对应于指定BFIR的标签之间的第一对应关系,发布第一对应关系。
此外,在方式一下,在示例性实施例中,方法还包括:根据第二对应关系确定用于指示报文类型的标签,第二对应关系为报文类型与用于指示报文类型的标签之间的对应关系;根据用于指示报文类型的标签确定报文类型。
在示例性实施例中,接收第二BIER报文之前,还包括:
获取报文类型与用于指示报文类型的标签之间的第二对应关系,发布第二对应关系。
方式二:根据目标标签进行RPF检查,包括:根据对应于指定BFIR的标签及第三对应关系确定子域与指定BFIR的信息,第三对应关系为子域、指定BFIR的信息及对应于指定BFIR的标签之间的对应关系;根据第二BIER报文确定第二目标BFIR的信息,第二目标BFIR的信息指示第二网络设备期望第二BIER报文的净荷对应的网络设备的信息,该第二目标BFIR的信息包括子域与BFIR标识;比较子域与指定BFIR的信息与第二目标BFIR的信息,根据比较结果确定RPF检查结果。
在示例性实施例中,接收第二BIER报文之前,还包括:
获取子域、指定BFIR的信息及对应于指定BFIR的标签之间的第三对应关系,发布第三对应关系。
需要说明的是,无论是上述第一对应关系,还是第二对应关系和第三对应关系,BIER信息可包含一个或多个Sub-domain的属性,比如节点在Sub-domain下的BFR-id、该Sub-domain所使用的IGP算法(IPA)和BIER路径算法(BAR),还包括了每个Sub-domain下的封装信息,比如某个Sub-domain=X下可以有BSL=256的封装信息,其中Label值是同一个BSL下的最小SI为0、最大SI为Max SI字段值的标签块的起始标签,比如BSL=256下有SI=0/1/2的三个Set信息,那么Label or BIFT-id代表的是<SD=X,BSL=256,SI=0>的标签,而该标签值加一就是<SD=X,BSL=256,SI=1>的标签,该标签值加二就是<SD=X,BSL=256,SI=2>的标签。一个Sub-domain下可以有多个BSL的封装,例如可以同时有BSL=256的封装信息和BSL=128的封装信息。
第二网络设备确定对应关系后,均可以通过发布BIER信息的时候发布该对应关系。例如。第二网络设备在携带PHP Request的路由中携带以上的信息即对应关系,发布的消息中还可以携带有第二网络设备的信息,如第二网络设备的IP地址。
例如,以如图6所示的一个ISIS携带每个目标标签的报文格式为例。其中,图6所示的(1)中,Type=236的TLV,携带BFER4节点的IP地址,例如在Prefix字段中携带BFER4的IPv6地址。U标记位是指示路由发布是否是从高区域发布到低区域,示例性地,如果路由发布是从高区域发布到地区域,则为第一值,例如该第一值为1,否则为第二值,例如该第二值为0。X标记是外部标记,当路由是外部路由,则置第一值,例如该第一值为1;S标记是是否含有Sub-TLV的标记,如果该TLV下面有Sub-TLV则该标记为第一值,例如该第一值为1,否则为第二值,例如该第二值为0。
图6所示的(2)中,Type=32的TLV,携带BFER4节点的Sub-domain-id,其sub-sub-TLVs字段可以有子TLV,例如携带PHP Request的子TLV(如draft-ietf-bier-php-03文稿所定义的TLV)。图6所示的(3)中,Type=X的TLV,携带有BFIR-prefix和RPF-Label的对应关系,例如可以有1个或多个这样的对应关系,并通过Length字段可以获知有多少过这样的对应关系。
其中,Type=32的TLV是Type=236的子TLV,即位于Type=236的Optionl sub-TLVs字段;此外,Type=X也可以是Type=236的子TLV,即位于Type=236的Optional sub-TLVs字段。
本申请实施例提供的方法,第一网络设备接收到发送给第二网络设备的包括第一BIER头的第一BIER报文后,针对第二网络设备为边缘节点设备且不支持BIER报文转发的情况,由第一网络设备将第一BIER报文更新为包括用于RPF检查的目标标签且不包括第一BIER头的第二BIER报文,从而可以使得不支持BIER报文转发的边缘节点设备即第二网络设备能够不依赖于净荷中的信息进行RPF检查,提高了RPF检查的可靠性,且解决了封装开销或者标签使用量大的问题。
为了便于理解上述报文处理方法,接下来,以如下几个示例进行举例说明。
首先,以图4所示的网络,第一网络设备为图4中的BFR3,第二网络设备为图4中的BFER4为例,本申请实施例提供的报文处理过程如图7所示为例。该实施例中,以图5所示实施例中步骤502以方式一确定目标标签,且指定BFIR的信息为BFIR-prefix为例进行说明。例如,报文处理方法包括如下几个过程:
701,BFER4生成(BFIR-prefix,RPF-Label)的对应关系并保存。
在示例性实施例中,可以在BFER4节点上配置对哪些BFIR节点进行RPF检查,例如,在BFER4上配置如下信息:
其中,Apply rpf-label Bfir-prefix 1.1.1.1表示要为BFIR-prefix=1.1.1.1的节点分配一个用于rpf的标签用于BFER4节点进行RPF。
同理,Apply rpf-label Bfir-prefix 2.2.2.2表示要为BFIR-prefix=2.2.2.2的节点分配一个用于rpf的标签用于BFER4节点进行RPF。
702,BFER4发布消息1,该消息1包含Adv-router和(BFIR-prefix,RPF-Label)的对应关系。
示例性地,Adv-router可以为BFER4的IP地址。除此之外,消息1中还携带如下信息:
(BFIR-Prefix=1.1.1.1,标签=1001);
(BFIR-prefix=2.2.2.2,标签=1002);
其中,1.1.1.1是BFIR1的IP地址、2.2.2.2是BFIR2的IP地址。
针对上述信息,BFER4建立相应的对应关系后,BFER4可以通过发布BIER信息的时候发布该对应关系。例如。BFER4在携带PHP Request的路由中携带以上的信息即对应关系,发布的消息中还可以携带有BFER4的IP地址4.4.4.4或IPv6地址。
例如,以如图8所示的一个ISIS携带每BFIR-prefix标签的报文格式为例。其中,图8所示的(1)中,Type=236的TLV,携带BFER4节点的IP地址,例如在Prefix字段中携带BFER4的IPv6地址。图8所示的(2)中,Type=32的TLV,携带BFER4节点的Sub-domain-id,其sub-sub-TLVs字段可以有子TLV,例如携带PHP Request的子TLV(如draft-ietf-bier-php-03文稿所定义的TLV)。图8所示的(3)中,Type=X的TLV,携带有BFIR-prefix和RPF-Label的对应关系,例如可以有1个或多个这样的对应关系,并通过Length字段可以获知有多少过这样的对应关系。
其中,Type=32的TLV是Type=236的子TLV,即位于Type=236的Optionl sub-TLVs字段;此外,Type=X也可以是Type=236的子TLV,即位于Type=236的Optional sub-TLVs字段。
703,BFR3节点收到BFER4发布的信息,保存该对应关系。
在示例性实施例中,BFR3根据BFER4发布的信息建立转发信息,基于转发信息对收到的报文进行转发。例如,BFR3根据BFER4发布的信息,建立如下转发信息:
转发信息1:(BIER报文的BIFT-id,对应的BFR-NBR,PHP-Request,FBM);
该转发信息1对应一个表项:(BIER报文的BIFT-id=X,对应的BFR-NBR=4.4.4.4,PHP-Request=True,FBM)。
转发信息2:(BIER报文的BIFT-id,BIER报文的BFIR-id,BIER报文的BFIR-prefix);
该转发信息2对应如下的两个表项:
(BIER报文的BIFT-id=X,BIER报文的BFIR-id=1,BFIR-Prefix=1.1.1.1);
(BIER报文的BIFT-id=X,BIER报文的BFIR-id=2,BFIR-Prefix=2.2.2.2)。
转发信息3:BFER4<1.1.1.1>针对每个BFIR-prefix分配的用于RPF的标签;
(Adv-Router=4.4.4.4,BFIR-Prefix=1.1.1.1,标签=1001);
(Adv-Router=4.4.4.4,BFIR-prefix=2.2.2.2,标签=1002)。
根据上述转发信息1,BFR3确定BIFT-id=X的报文要往4.4.4.4复制并弹出BIER头;根据转发信息2及转发信息3,BFR3确定BIFT-id=X,BFIR-id=1的报文要封装(Adv-Router=4.4.4.4,BFR-prefix=1.1.1.1)所对应的标签1001,即4.4.4.4的节点为BFR-prefix<1.1.1.1>所分配的用于RPF检查的标签;BFR3确定BIFT-id=X,BFIR-id=2的报文要封装(Adv-Router=4.4.4.4,BFIR-prefix=2.2.2.2)所对应的标签1002,即4.4.4.4的节点为BFIR-prefix<2.2.2.2>所分配的用于RPF检查的标签。
704,BFR3收到BIER报文,该BIER报文中的Proto=4。
该BIER报文可以来自BFIR1或者BFIR2。例如,该BIER报文可以是如下的格式:
BIER头(其中Proto=4)+内层IPv4报文;
其中,BIER头前面可以是链路层的头部,例如以太头,此处仅以列出的报文不包含链路层头部为例进行说明。
705,BFR3对于要发送给BFER4的报文,在弹出BIER头并发送报文前,封装RPF-Label,之后,发送给BFER4。
例如,BFR3发送的报文可以是如下格式:
标签栈(包含标签1001)+内层IPv4报文;
其中,标签栈前面可以是链路层的头部,如以太头,此处仅以列出的报文不包含链路层头部为例进行说明。
在示例性实施例中,BFR3发送的报文也可以是如下格式:
标签栈(包含到BFER4的单播隧道标签及标签1001)+内层IPv4报文。
706,BFER4根据报文中的RPF-Label,及前面保存的对应关系,进行RPF检查。
BFER4收到BIER报文,先对标签栈进行处理,根据处理结果确定是否进行转发。
在示例性实施例中,BFER4收到BIER报文,在对标签栈进行处理时,由于标签栈中包含有1001或者1002,根据标签栈中的1001或者1002确定报文来自于1.1.1.1或者2.2.2.2;这是根据如上步骤701所述的BFER4上所建立的对应关系确定的。
之后,BFER4再处理IPv4或者IPv6报文,并使用上面所确定的报文来自于1.1.1.1或者2.2.2.2进行RPF。例如,BFER4根据内层IPv4报文中的源地址、目的地址,查询组播转发表确定该报文期望来自BFIR1的标识1,根据上面确定的报文实际来自BFIR-prefix=1.1.1.1可以确定报文实际来自BFIR1的标识2,如果标识1和标识2相等则RPF检查通过,不相等则RPF检查不通过。
示例性地,BFER4根据BFIR-prefix=1.1.1.1获得BFIR1的标识2的过程,可以根据RFC8556所述的方法,从一个BGP组播虚拟专用网(multicast virtual private network,MVPN)路由消息中获得BFIR-prefix和标识2的对应关系,其中标识2是BFIR1的一个IP地址,可以和BFIR-prefix相同或者不同。
例如,该BGP MVPN路由消息可以是MVPN的包含的运营商组播服务接口自动发现(inclusive provider multicast service interface auto-discovery,I-PMSI A-D)路由消息或者选择的运营商组播服务接口自动发现(selective provider multicastservice interface auto-discovery,S-PMSI A-D)路由消息,其包含有(BFIR1的IP地址,Sub-domain,BFIR-id,BFIR-prefix)。其中BFIR1的IP地址和BFIR-prefix可以相同或者不同。
接下来,仍以图4所示的网络,第一网络设备为图4中的BFR3,第二网络设备为图4中的BFER4为例,本申请实施例提供的报文处理过程如图9所示为例。该实施例中,以图5所示实施例中步骤502以方式二确定目标标签,且指定BFIR的信息为BFIR-prefix为例进行说明。该实施例中的目标标签与上述目标标签的情况不同,本申请实施例提供的报文处理方法在上述实施例所提供的目标标签的基础上,还额外使用另外的标签,用于指示后面的Payload类型。也就是说,该实施例中,报文中会使用2层标签,一层是用于指示Ingress节点用于RPF检查的标签,一层是用于指示后面的Payload类型。如图9所示,本申请实施例提供的方法包括如下几个过程:
901,BFER4生成(BFIR-prefix,RPF-Label)的对应关系并保存。
902,BFER4生成(Payload,Label)的对应关系并保存。
在示例性实施例中,上述步骤901和902在实施时,可以在BFER4节点上配置对哪些BFIR节点进行RPF检查,配置支持某Payload类型。例如,在BFER4上配置如下信息:
其中,Apply rpf-label Bfir-prefix 1.1.1.1表示要为BFIR-prefix=1.1.1.1的节点分配一个用于rpf的标签用于BFER4节点进行RPF;
同理,Apply rpf-label Bfir-prefix 2.2.2.2表示要为BFIR-prefix=2.2.2.2的节点分配一个用于rpf的标签用于BFER4节点进行RPF。
其中,apply payload-label proto 2表示为BIER Proto=2的Payload类型(即Payload为上游标签报文)分配另一个标签用于指示Payload类型,例如指示该标签后面是一个上游MPLS标签的报文。上游MPLS标签报文的中的MPLS标签进一步指示其后的报文格式如IPv4报文或IPv6报文。
903,BFER4发布消息1,该消息1包含Adv-router、(BFIR-prefix,RPF-Label)及(Payload,Label)的对应关系的对应关系。
示例性地,Adv-router可以为BFER4的IP地址。除此之外,消息1中还携带如下信息:
(BFIR-Prefix=1.1.1.1,标签=1001)
(BFIR-prefix=2.2.2.2,标签=1002)
(Proto=2,标签1010)
消息1中前面2个信息可以是一种type-length-value(TLV)的格式,例如type=x的TLV;后面2个消息可以是另一种TLV,例如type=y的TLV;
其中1.1.1.1是BFIR1的IP地址、2.2.2.2是BFIR2的IP地址;Proto=2表示BIER的Proto=2的Payload类型,即上游MPLS标签的报文。
BFER4建立上述相应的对应关系后,BFER4可以通过发布BIER信息的时候,例如在携带PHP Request的路由中携带以上的信息,发布的消息中还可以携带有BFER4的IP地址4.4.4.4或IPv6地址。以如图10所示的一个ISIS携带每个BFIR-prefix标签的报文格式为例。
图10所示的(1)中,Type=236的TLV,携带BFER4节点的IP地址,例如在Prefix字段中携带BFER4的IPv6地址。图10所示的(2)中,Type=32的TLV,携带BFER4节点的Sub-domain-id,其sub-sub-TLVs字段可以有子子TLV,例如携带PHP Request的子子TLV(如draft-ietf-bier-php-03文稿所定义的TLV)。图10所示的(3)中,Type=X的TLV,携带有BFIR-prefix和RPF-Label的对应关系,例如可以有1个或多个这样的对应关系,并通过Length字段可以获知有多少过这样的对应关系。图10所示的(4)中,Type=Y的TLV,携带有Payload Type和Payload Label的对应关系,例如可以有Proto=2的Payload Type和相应的Label。
其中,Type=32的TLV是Type=236的子TLV,即位于Type=236的Optionl sub-TLVs字段;其中的Type=X也可以是Type=236的子TLV,即位于Type=236的Optional sub-TLVs字段;其中的Type=Y也可以是Type=236的子TLV,即位于Type=236的Optional sub-TLVs字段。
904,BFR3节点收到BFER4发布的信息,保存对应关系。
在示例性实施例中,BFR3收到BFER4发布的信息,保存对应关系,建立转发信息,并对收到的报文进行转发。例如,建立如下转发信息:
转发信息1:(BIER报文的BIFT-id,对应的BFR-NBR,PHP-Request,FBM)。
转发信息1对应的表项:
(BIER报文的BIFT-id=X,对应的BFR-NBR=4.4.4.4,PHP-Request=True,FBM)
转发信息2:(BIER报文的BIFT-id,BIER报文的BFIR-id,BIER报文的BFIR-prefix);
转发信息2具有如下的两个表项:
(BIER报文的BIFT-id=X,BIER报文的BFIR-id=1,BFIR-Prefix=1.1.1.1)
(BIER报文的BIFT-id=X,BIER报文的BFIR-id=2,BFIR-Prefix=2.2.2.2)
转发信息3:BFER4<1.1.1.1>针对每个BFIR-prefix分配的用于RPF的标签;
(Adv-Router=4.4.4.4,BFIR-Prefix=1.1.1.1,标签=1001)
(Adv-Router=4.4.4.4,BFIR-prefix=2.2.2.2,标签=1002)
转发信息4:BFER4<1.1.1.1>针对Proto=2分配的用于标识后面的报文类型的标签;
(Adv-Router=4.4.4.4,Proto=2,标签=1010)
根据转发信息1,BFR3确定BIFT-id=X的报文要往4.4.4.4复制并弹出BIER头;根据转发信息2、转发信息3及转发信息4,BFR3确定BIFT-id=X,BFIR-id=1,Proto=2的报文要封装(Adv-Router=4.4.4.4,BFR-prefix=1.1.1.1,Proto=2)所对应的标签1001及标签1010,例如一个1001在前、1010在后的标签栈;BFR3确定BIFT-id=X,BFIR-id=2,Proto=2的报文要封装(Adv-Router=4.4.4.4,BFIR-prefix=2.2.2.2,Proto=2)所对应的标签1002及标签1010,例如一个1002在前、1010在后的标签栈。
905,BFR3接收到BIER报文。
例如,BFR3收到的BIER报文Proto=2,可以是如下的格式:
BIER头(其中Proto=2)+上游MPLS标签+内层IP报文;
其中,BIER头前面可以是链路层的头部,例如以太头,此处仅以列出的报文不包含链路层头部为例进行说明。
906,BFR3对于要发送给BFER4的报文,在弹出BIER头并发送报文前,封装RPF-Label和Payload-Label之后,发送给BFER4。
例如,BFR3发送给BFER4的报文可以是如下格式:
标签栈(包含标签1001和1010)+上游MPLS标签+内层IP报文;
其中,标签栈前面可以是链路层的头部,如以太头,此处仅以列出的报文不包含链路层头部为例进行说明。
在示例性实施例中,BFR3发送给BFER4的报文也可以是如下格式:
标签栈(包含到BFER4的单播隧道标签及标签1001和1010)+游MPLS标签+内层IP报文;
其中,内层IP报文可以是IPv4或者是IPv6的报文,其格式可以由上游MPLS标签指示。
907,BFER4根据报文中的RPF-Label及保存的对应关系进行RPF检查,还可以根据Payload-Label确定后面的Payload类型。
在示例性实施例中,BFER4收到BIER报文后,先对标签栈进行处理。例如,由于标签栈中包含有1001和1010,根据标签栈中的1001确定报文来自于1.1.1.1;根据标签栈中的1010确定报文后面的格式是上游标签报文;这是根据如上步骤1所述的BFER4上所建立的对应关系确定的。
之后,BFER4再处理“上游分配的VPN标签+IP报文”部分,并使用上面所确定的报文来自于1.1.1.1进行RPF。例如,BFER4根据内层IPv4报文中的源地址、目的地址,查询组播转发表确定该报文期望来自BFIR1的标识1,根据上面确定的报文实际来自BFIR-prefix=1.1.1.1可以确定报文实际来自BFIR1的标识2,如果标识1和标识2相等则RPF检查通过,不相等则RPF检查不通过。根据BFIR-prefix=1.1.1.1获得BFIR1的标识2的过程,可以根据RFC8556所述的方法,从一个BGP MVPN路由消息中获得BFIR-prefix和标识2的对应关系,其中标识2是BFIR1的一个IP地址,可以和BFIR-prefix相同或者不同。
接下来,仍以图4所示的网络,第一网络设备为图4中的BFR3,第二网络设备为图4中的BFER4为例,本申请实施例提供的报文处理过程如图11所示为例。该实施例中,以图5所示实施例中步骤502以方式一确定目标标签,且指定BFIR的信息为BFIR的Sub-domain和BFIR-id为例进行说明。该实施例中的目标标签与上述目标标签的情况不同,本申请实施例提供的报文处理方法在同一个BFIR节点上的多个Sub-domain可以每个配置不同的BFIR-prefix,这种情况下和BFIR-prefix是等价的,实质都是每个BFIR-prefix分配一个标签;同一个BFIR节点上的多个Sub-domain也可以配置相同的BFIR-prefix,这种情况下本实施例分配的标签会比BFIR-prefix的实施例分配的标签多。
其中,同一个BFIR节点的多个Sub-domain下可以配置相同的BFR-id值或者不同的BFR-id值,BFIR节点的BFR-id值也可以表示为BFIR-id值。如图11所示,本申请实施例提供的方法包括如下几个过程:
1101,BFER4生成(SD,BFIR-id,RPF-Label)的对应关系并保存。
在示例性实施例中,上述步骤1101在实施时,可以在BFER4节点上配置对哪些BFIR节点进行RPF检查。例如,在BFER4上配置如下信息:
其中,Sub-domain 1下的Php Apply rpf-label Bfir-id 1表示要为(Sub-domain1,BFIR-id=1)分配一个用于rpf的标签用于BFER4节点进行RPF;
同理,Sub-domain 2下的Php Apply rpf-label Bfir-id 1表示要为(Sub-domain2,BFIR-id=1)分配一个用于rpf的标签用于BFER4节点进行RPF。
1102,BFER4发布消息1,该消息1包含Adv-router、(SD,BFIR-id,RPF-Label)的对应关系。
示例性地,Adv-router可以为BFER4的IP地址。除此之外,消息1中还携带如下信息:
(Sub-domain=1,BFIR-id=1,标签=1001)
(Sub-domain=2,BFIR-id=1,标签=1002);
(Sub-domain=1,BFIR-id=2,标签=1003)
(Sub-domain=2,BFIR-id=2,标签=1004);
其中,(Sub-domain=1,BFIR-id=1)和(Sub-domain=2,BFIR-id=1)都对应BFIR1;(Sub-domain=1,BFIR-id=2)和(Sub-domain=2,BFIR-id=2)都对应BFIR2;
BFER4建立相应的对应关系后,BFER4可以通过发布BIER信息的时候,例如在携带PHP Request的路由中携带以上的信息,发布的消息中还可以携带有BFER4的IP地址4.4.4.4或IPv6地址。以如图12所示的一个ISIS携带每BFIR-prefix标签的报文格式为例。
例如,图12所示的(1)中,Type=236的TLV,携带BFER4节点的IP地址,例如在Prefix字段中携带BFER4的IPv6地址。图12所示的(2)中,Type=32的TLV,携带BFER4节点的Sub-domain-id,其sub-sub-TLVs字段可以有子TLV,例如携带PHP Request的子TLV(现有技术一的draft-ietf-bier-php-03文稿所定义的TLV)。图12所示的(3)中,Type=Z的TLV,携带某个Sub-domain下的BFIR-id和RPF-Label的对应关系,例如可以有1个或多个这样的对应关系,并通过Length字段可以获知有多少过这样的对应关系。
此外,Type=32的TLV是Type=236的子TLV,即位于Type=236的Optionl sub-TLVs字段;Type=Z可以是Type=32的子子TLV,即位于Type=32的sub-sub-TLVs字段,表示特定的Sub-domain下的BFIR-id域RPF-Label的对应关系。
1103,BFR3保存Adv-router及(SD,BFIR-id,RPF-Label)的对应关系。
BFR3节点收到BFER4发布的信息,保存对应关系,建立如下的转发信息,并对收到的报文进行转发。
转发信息1:(BIER报文的BIFT-id,对应的BFR-NBR,PHP-Request,FBM);
转发信息1具有表项:(BIER报文的BIFT-id=X,对应的BFR-NBR=4.4.4.4,PHP-Request=True,FBM)。
转发信息5:(BIER报文的BIFT-id,BIER报文的Sub-domain);
转发信息5具有如下的两个表项:
(BIER报文的BIFT-id=X,BIER报文的Sub-domain=1)
(BIER报文的BIFT-id=X,BIER报文的Sub-domain=2)
转发信息6:BFER4<1.1.1.1>针对每个(Sub-domain,BFIR-id)分配的用于RPF的标签;
(Adv-Router=4.4.4.4,Sub-domain=1,报文的BFIR-id=1,标签=1001)
(Adv-Router=4.4.4.4,Sub-domain=2,报文的BFIR-id=1,标签=1002)
(Adv-Router=4.4.4.4,Sub-domain=1,报文的BFIR-id=2,标签=1002)
(Adv-Router=4.4.4.4,Sub-domain=2,报文的BFIR-id=2,标签=1003)
根据转发信息1,BFR3确定BIFT-id=X的报文要往4.4.4.4复制并弹出BIER头;根据转发信息5,BFR3确定(BIFT-id=X,BFIR-id=1)的BIER报文属于哪个Sub-domain,例如确定报文属于Sub-domain=1;再根据转发信息6,BFR3确定报文要封装(Adv-Router=4.4.4.4,Sub-domain=1,BFIR-id=1)所对应的标签,即标签1001;同理,对于(BIFT-id=X,BFIR-id=2)确定报文要封装(Adv-Router=4.4.4.4,Sub-domain=1,BFIR-id=2)所对应的标签,即标签1002。
1104,BFR3收到BIER报文。
例如,BFR3收到的BIER报文Proto=4,可以是如下的格式:
BIER头(其中Proto=4)+内层IPv4报文;
其中,BIER头前面可以是链路层的头部,例如以太头,此处仅以列出的报文不包含链路层头部为例进行说明。
1105,BFR3对于要发送给BFER4的报文,在弹出BIER头并发送报文前,封装RPF-Label。
例如,(RPF-Label,IPv4报文)。在示例性实施例中,BFR3发送给BFER4的报文可以是如下格式:
标签栈(包含标签1001)+内层IPv4报文;
其中,标签栈前面可以是链路层的头部,如以太头,此处仅以列出的报文不包含链路层头部为例进行说明。
在示例性实施例中,BFR3发送给BFER4的报文也可以是如下格式:
标签栈(包含到BFER4的单播隧道标签及标签1001)+内层IPv4报文。
1106,BFER4根据报文中的RPF-Label,及前面保存的对应关系,进行RPF检查。
在示例性实施例中,BFER4收到BIER报文后,先对标签栈进行处理。例如,由于标签栈中包含有1001或者1002,根据标签栈中的1001或者1002确定报文的对应信息(Sub-domain,BFIR-id)为(Sub-domain=1,BFIR-id=1)或者(Sub-domain=1,BFIR-id=2);例如对于这是根据如上步骤1所述的BFER4上所建立的对应关系确定的。
之后,BFER4再处理IPv4或者IPv6报文,并使用上面所确定信息进行RPF。例如,BFER4根据内层IPv4报文中的源地址、目的地址,查询组播转发表确定该报文期望来自BFIR1的标识1,根据上面确定的报文实际来自(Sub-domain=1,BFIR-id=1)可以确定报文实际来自BFIR1的标识2,如果标识1和标识2相等则RPF检查通过,不相等则RPF检查不通过。
其中,根据(Sub-domain=1,BFIR-id=1)获得BFIR1的标识2的过程,可以根据RFC8556所述的方法,从一个BGP MVPN路由消息中获得BFIR-prefix和标识2的对应关系,其中标识2是BFIR1的一个IP地址,可以和BFIR-prefix相同或者不同。
本申请实施例提供了一种报文处理装置,该装置应用于BIER通信网络中的第一网络设备,该BIER通信网络包括第一网络设备和第二网络设备。其中,所述第一网络设备可以包括所述报文处理装置,或者,所述第一网络设备是所述报文处理装置。该第一网络设备为图5、图7、图9、图11中的第一网络设备,基于图13所示的如下多个模块,该图13所示的报文处理装置能够执行第一网络设备所执行的全部或部分操作。参见图13,该装置包括:
接收模块1301,用于接收第一BIER报文,第一BIER报文包括第一BIER头;
处理模块1302,用于当第一BIER报文为发送给BIER域的第二网络设备的报文时,确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发,其中,所述BIER通信网络通过所述边缘节点设备与所述BIER通信网络之外的网络设备通信;响应于所述第一网络设备确定所述第二网络设备为所述BIER通信网络的边缘节点设备和所述第二网络设备不支持BIER报文的转发,确定目标标签,并且将所述第一BIER报文更新为第二BIER报文,所述第二BIER报文包括所述目标标签,并且所述第二BIER报文不包括所述第一BIER头,所述目标标签用于触发所述第二网络设备根据所述目标标签进行反向路径转发RPF检查;
发送模块1303,用于向第二网络设备发送第二BIER报文。
在示例性实施例中,处理模块1302,用于获取所述第二网络设备的信息,根据所述第二网络设备的信息确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发。
在示例性实施例中,目标标签包括对应于指定BFIR的标签,对应于指定BFIR的标签由所述第二网络设备分配,指定BFIR为发送第一BIER报文的BFIR。
在示例性实施例中,目标标签还包括到第二网络设备的单播隧道标签。
在示例性实施例中,目标标签还包括用于指示报文类型的标签。
在示例性实施例中,处理模块1302,用于获取第一对应关系,第一对应关系为指定BFIR的信息与对应于指定BFIR的标签之间的对应关系;根据第一对应关系确定对应于指定BFIR的标签。
在示例性实施例中,处理模块1302,用于获取第一对应关系及第二对应关系,第一对应关系为指定BFIR的信息与对应于指定BFIR的标签之间的对应关系、第二对应关系为报文类型与用于指示报文类型的标签之间的对应关系;根据第一对应关系确定对应于指定BFIR的标签,根据第二对应关系确定用于指示报文类型的标签。
在示例性实施例中,处理模块1302,用于获取第三对应关系,第三对应关系为子域、指定BFIR的信息及对应于指定BFIR的标签之间的对应关系;根据第三对应关系确定对应于指定BFIR的标签。
在示例性实施例中,BIER通信网络为BIER域,第一网络设备为BIER域中的位转发路由器BFR。
本申请实施例提供了一种报文处理装置,该装置应用于BIER通信网络中的第二网络设备,该第二网络设备为BIER通信网络的边缘节点,BIER通信网络通过边缘节点设备与BIER通信网络之外的网络设备通信。其中,所述第二网络设备可以包括所述报文处理装置,或者,所述第二网络设备是所述报文处理装置。该第二网络设备为图5、图7、图9、图11中的第二网络设备,基于图14所示的如下多个模块,该图14所示的报文处理装置能够执行第二网络设备所执行的全部或部分操作。参见图14,该装置包括:
接收模块1401,用于接收第二BIER报文,第二BIER报文由第一BIER报文更新得到,所述第一BIER报文包括第一BIER头,所述第二BIER报文包括目标标签,且不包括所述第一BIER头,所述目标标签用于触发根据所述目标标签进行反向路径转发RPF检查;
获取模块1402,用于获取第二BIER报文中的目标标签;
检查模块1403,用于根据目标标签进行RPF检查。
在示例性实施例中,目标标签包括对应于指定BFIR的标签,对应于指定BFIR的标签由所述第二网络设备分配,指定BFIR为发送第一BIER报文的BFIR。
在示例性实施例中,目标标签还包括到第二网络设备的单播隧道标签。
在示例性实施例中,目标标签还包括用于指示报文类型的标签。
在示例性实施例中,检查模块1403,用于根据对应于指定BFIR的标签及第一对应关系确定指定BFIR的信息,第一对应关系为指定BFIR的信息与对应于指定BFIR的标签之间的对应关系;根据第二BIER报文确定第一目标BFIR的信息,第一目标BFIR的信息指示第二网络设备期望第二BIER报文的净荷对应的网络设备的信息;比较指定BFIR的信息与第一目标BFIR的信息,根据比较结果确定RPF检查结果。
在示例性实施例中,参见图15,该装置还包括:
确定模块1404,用于根据第二对应关系确定用于指示报文类型的标签,第二对应关系为报文类型与用于指示报文类型的标签之间的对应关系;根据用于指示报文类型的标签确定报文类型。
在示例性实施例中,检查模块1403,用于根据对应于指定BFIR的标签及第三对应关系确定子域与指定BFIR的信息,第三对应关系为子域、指定BFIR的信息及对应于指定BFIR的标签之间的对应关系;根据第二BIER报文确定第二目标BFIR的信息,第一目标BFIR的信息指示第二网络设备期望第二BIER报文的净荷对应的网络设备的信息,该第二目标BFIR的信息包括子域与BFIR标识;比较子域与指定BFIR的信息与第二目标BFIR的信息,根据比较结果确定RPF检查结果。
在示例性实施例中,参见图15,该装置还包括:
第一发布模块1405,用于获取指定BFIR的信息与对应于指定BFIR的标签之间的第一对应关系,发布第一对应关系。
在示例性实施例中,第一发布模块1405,还用于获取报文类型与用于指示报文类型的标签之间的第二对应关系,发布第二对应关系。
在示例性实施例中,参见图15,该装置还包括:
第二发布模块1406,用于获取子域、指定BFIR的信息及对应于指定BFIR的标签之间的第三对应关系,发布第三对应关系。
应理解的是,上述图13至图15提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了第一网络设备,该第一网络设备用于执行上述任一方法中第一网络设备所执行的功能。
本申请实施例还提供了一种第二网络设备,该第二网络设备用于执行上述任一方法中第二网络设备所执行的功能。
本申请实施例还提供了一种报文处理系统,参见图16,该系统包括第一网络设备1601和第二网络设备1602;
该第一网络设备1601用于执行上述任一方法中第一网络设备所执行的功能。第二网络设备1602用于执行上述任一方法中第二网络设备所执行的功能。
参见图17,本申请实施例还提供一种网络设备1000,该网络设备1000用于执行上述报文处理方法所涉及的操作。图17所示的网络设备1000用于执行上述报文处理方法中第一网络设备或第二网络设备所涉及的操作。该网络设备1000包括:存储器1001、处理器1002及接口1003,存储器1001、处理器1002及接口1003之间通过总线1004连接。
其中,存储器1001中存储有至少一条指令,至少一条指令由处理器1002加载并执行,以实现上述任一所述的报文处理方法。
接口1003用于与网络中的其他设备进行通信,该接口1003可以通过无线或有线的方式实现,示例性地,该接口1003可以是网卡。例如,网络设备1000可通过该接口1003与服务器进行通信。
例如,图17所示的网络设备为图5、图7、图9、图10和图11中的第一网络设备,处理器1002读取存储器1001中的指令,使图17所示的网络设备能够执行第一网络设备所执行的全部或部分操作。
又例如,图17所示的网络设备为图5、图7、图9、图10和图11中的第二网络设备,处理器1002读取存储器1001中的指令,使图17所示的网络设备能够执行第二网络设备所执行的全部或部分操作。
应理解的是,图17仅仅示出了网络设备1000的简化设计。在实际应用中,网络设备可以包含任意数量的接口,处理器或者存储器。此外,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advancedRISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者,其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
图18为本申请实施例的另一种网络设备1200的硬件结构示意图。图18所示的网络设备1200可以执行上述实施例的方法中第一网络设备或第二网络设备执行的相应步骤。
如图18所述,网络设备1200包括:主控板1210、接口板1230、交换网板1220和接口板1240。主控板1210、接口板1230和1240,以及交换网板1220之间通过系统总线与系统背板相连实现互通。其中,主控板1210用于完成系统管理、设备维护、协议处理等功能。交换网板1220用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板1230和1240用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板1230可以包括中央处理器1231、转发表项存储器1234、物理接口卡1233和网络处理器1232。其中,中央处理器1231用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器1234用于保存转发表项。物理接口卡1233用于完成流量的接收和发送。网络处理器1232用于根据所述转发表项控制物理接口卡1233收发流量。
具体的,物理接口卡1233用于接收BIER报文。物理接口卡1233还用于向所述网络设备的下一跳网络设备转发更新的BIER报文。
物理接口卡1233接收到BIER报文后,将BIER报文经由中央处理器1231发送到中央处理器1211,中央处理器1211处理BIER报文。
中央处理器1211还用于确定其他网络设备是否为BIER通信网络的边缘节点设备及是否支持BIER转发,或者用于进行RPF检查。
中央处理器1231还用于控制网络处理器1232获取转发表项存储器1234中的转发表项,并且,中央处理器1231还用于控制网络处理器1232经由物理接口卡1233向所述传输路径上的下一跳网络设备转发更新的BIER报文。
应理解,本发明实施例中接口板1240上的操作与所述接口板1230的操作一致,接口板1240可以包括中央处理器1241、转发表项存储器1244、物理接口卡1243和网络处理器1242,为了简洁,不再赘述。应理解,本实施例的网络设备1200可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
还提供了一种网络管理系统,该系统包括第一网络设备和第二网络设备,其中,第一网络设备用于执行上述网络管理方法中的第一网络设备所执行的功能,第二网络设备用于执行上述网络管理方法中的第二网络设备所执行的功能。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的网络管理方法。
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个操作和/或流程。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (57)
1.一种报文处理方法,其特征在于,所述方法应用于位索引显示复制BIER通信网络中的第一网络设备,所述BIER通信网络还包括第二网络设备,所述方法包括:
所述第一网络设备接收第一BIER报文,所述第一BIER报文包括第一BIER头;
当所述第一BIER报文为发送给所述第二网络设备的报文时,所述第一网络设备确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发,其中,所述BIER通信网络通过所述边缘节点设备与所述BIER通信网络之外的网络设备通信;
响应于所述第一网络设备确定所述第二网络设备为所述BIER通信网络的边缘节点设备和所述第二网络设备不支持BIER报文的转发,所述第一网络设备确定目标标签,并且将所述第一BIER报文更新为第二BIER报文,所述第二BIER报文包括所述目标标签,并且所述第二BIER报文不包括所述第一BIER头,所述目标标签用于触发所述第二网络设备根据所述目标标签进行反向路径转发RPF检查;
所述第一网络设备向所述第二网络设备发送所述第二BIER报文。
2.根据权利要求1所述的方法,其特征在于,所述第一网络设备确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发,包括:
所述第一网络设备获取所述第二网络设备的信息,根据所述第二网络设备的信息确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发。
3.根据权利要求1或2所述的方法,其特征在于,所述目标标签包括对应于指定位转发入口路由器BFIR的标签,所述对应于指定BFIR的标签由所述第二网络设备分配,所述指定BFIR为发送所述第一BIER报文的BFIR。
4.根据权利要求3所述的方法,其特征在于,所述目标标签还包括到所述第二网络设备的单播隧道标签。
5.根据权利要求3所述的方法,其特征在于,所述目标标签还包括用于指示报文类型的标签。
6.根据权利要求4所述的方法,其特征在于,所述目标标签还包括用于指示报文类型的标签。
7.根据权利要求3所述的方法,其特征在于,所述第一网络设备确定目标标签,包括:
所述第一网络设备获取第一对应关系,所述第一对应关系为指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;
根据所述第一对应关系确定所述对应于指定BFIR的标签。
8.根据权利要求4所述的方法,其特征在于,所述第一网络设备确定目标标签,包括:
所述第一网络设备获取第一对应关系,所述第一对应关系为指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;
根据所述第一对应关系确定所述对应于指定BFIR的标签。
9.根据权利要求5或6所述的方法,其特征在于,所述第一网络设备确定目标标签,包括:
所述第一网络设备获取第一对应关系及第二对应关系,所述第一对应关系为所述指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系、所述第二对应关系为报文类型与所述用于指示所述报文类型的标签之间的对应关系;
根据所述第一对应关系确定所述对应于指定BFIR的标签,根据所述第二对应关系确定所述用于指示所述报文类型的标签。
10.根据权利要求3所述的方法,其特征在于,所述第一网络设备确定目标标签,包括:
所述第一网络设备获取第三对应关系,所述第三对应关系为子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的对应关系;
根据所述第三对应关系确定所述对应于指定BFIR的标签。
11.根据权利要求4所述的方法,其特征在于,所述第一网络设备确定目标标签,包括:
所述第一网络设备获取第三对应关系,所述第三对应关系为子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的对应关系;
根据所述第三对应关系确定所述对应于指定BFIR的标签。
12.根据权利要求1、2、5-8、10、11任一所述的方法,其特征在于,所述BIER通信网络为BIER域,所述第一网络设备为BIER域中的位转发路由器BFR。
13.根据权利要求3所述的方法,其特征在于,所述BIER通信网络为BIER域,所述第一网络设备为BIER域中的位转发路由器BFR。
14.根据权利要求4所述的方法,其特征在于,所述BIER通信网络为BIER域,所述第一网络设备为BIER域中的位转发路由器BFR。
15.根据权利要求9所述的方法,其特征在于,所述BIER通信网络为BIER域,所述第一网络设备为BIER域中的位转发路由器BFR。
16.一种报文处理方法,其特征在于,所述方法应用于位索引显式复制BIER通信网络中的第二网络设备,所述第二网络设备为所述BIER通信网络的边缘节点设备,所述BIER通信网络通过所述边缘节点设备与所述BIER通信网络之外的网络设备通信,所述BIER通信网络中还包括第一网络设备,所述方法包括:
所述第二网络设备接收所述第一网络设备发送的第二BIER报文,所述第二BIER报文是由所述第一网络设备更新第一BIER报文得到的,所述第一BIER报文包括第一BIER头,所述第二BIER报文包括目标标签,且不包括所述第一BIER头,所述目标标签用于触发所述第二网络设备根据所述目标标签进行反向路径转发RPF检查;
所述第二网络设备获取所述第二BIER报文中的目标标签;
所述第二网络设备根据所述目标标签进行RPF检查。
17.根据权利要求16所述的方法,其特征在于,所述目标标签包括对应于指定位转发入口路由器BFIR的标签,所述对应于指定BFIR的标签由所述第二网络设备分配,所述指定BFIR为发送所述第一BIER报文的BFIR。
18.根据权利要求17所述的方法,其特征在于,所述目标标签还包括到所述第二网络设备的单播隧道标签。
19.根据权利要求17或18所述的方法,其特征在于,所述目标标签还包括用于指示报文类型的标签。
20.根据权利要求17或18的方法,其特征在于,所述第二网络设备根据所述目标标签进行RPF检查,包括:
所述第二网络设备根据所述对应于指定BFIR的标签及第一对应关系确定所述指定BFIR的信息,所述第一对应关系为所述指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;
所述第二网络设备根据所述第二BIER报文确定第一目标BFIR的信息,所述第一目标BFIR的信息指示所述第二网络设备期望所述第二BIER报文的净荷对应的网络设备的信息;
所述第二网络设备比较所述指定BFIR的信息与所述第一目标BFIR的信息,根据比较结果确定RPF检查结果。
21.根据权利要求19所述的方法,其特征在于,所述方法还包括:
所述第二网络设备根据第二对应关系确定所述用于指示所述报文类型的标签,所述第二对应关系为报文类型与用于指示所述报文类型的标签之间的对应关系;
所述第二网络设备根据所述用于指示所述报文类型的标签确定报文类型。
22.根据权利要求17或18所述的方法,其特征在于,所述第二网络设备根据所述目标标签进行RPF检查,包括:
所述第二网络设备根据所述对应于指定BFIR的标签及第三对应关系确定子域与所述指定BFIR的信息,所述第三对应关系为子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的对应关系;
所述第二网络设备根据所述第二BIER报文确定第二目标BFIR的信息,所述第二目标BFIR的信息指示所述第二网络设备期望所述第二BIER报文的净荷对应的网络设备的信息,所述第二目标BFIR的信息包括子域与BFIR标识;
所述第二网络设备比较所述子域与指定BFIR的信息与所述第二目标BFIR的信息,根据比较结果确定RPF检查结果。
23.根据权利要求20所述的方法,其特征在于,在所述第二网络设备接收第一网络设备发送的第二BIER报文之前,还包括:
所述第二网络设备获取指定BFIR的信息与所述对应于指定BFIR的标签之间的第一对应关系,发布所述第一对应关系。
24.根据权利要求21所述的方法,其特征在于,在所述第二网络设备接收所述第一网络设备发送的第二BIER报文之前,还包括:
所述第二网络设备获取指定BFIR的信息与所述对应于指定BFIR的标签之间的第一对应关系,发布所述第一对应关系。
25.根据权利要求23或24所述的方法,其特征在于,在所述第二网络设备接收第一网络设备发送的第二BIER报文之前,还包括:
所述第二网络设备获取报文类型与用于指示所述报文类型的标签之间的第二对应关系,发布所述第二对应关系。
26.根据权利要求22所述的方法,其特征在于,在所述第二网络设备接收第一网络设备发送的第二BIER报文之前,还包括:
所述第二网络设备获取子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的第三对应关系,发布所述第三对应关系。
27.一种报文处理装置,其特征在于,所述装置应用于位索引显示复制BIER通信网络中的第一网络设备,所述BIER通信网络还包括第二网络设备,所述装置包括:
接收模块,用于接收第一BIER报文,所述第一BIER报文包括第一BIER头;
处理模块,用于当所述第一BIER报文为发送给所述第二网络设备的报文时,确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发,其中,所述BIER通信网络通过所述边缘节点设备与所述BIER通信网络之外的网络设备通信;响应于所述第一网络设备确定所述第二网络设备为所述BIER通信网络的边缘节点设备和所述第二网络设备不支持BIER报文的转发,确定目标标签,并且将所述第一BIER报文更新为第二BIER报文,所述第二BIER报文包括所述目标标签,并且所述第二BIER报文不包括所述第一BIER头,所述目标标签用于触发所述第二网络设备根据所述目标标签进行反向路径转发RPF检查;
发送模块,用于向所述第二网络设备发送所述第二BIER报文。
28.根据权利要求27所述的装置,其特征在于,所述处理模块,用于获取所述第二网络设备的信息,根据所述第二网络设备的信息确定所述第二网络设备是否为所述BIER通信网络的边缘节点设备和所述第二网络设备是否支持BIER报文的转发。
29.根据权利要求27或28所述的装置,其特征在于,所述目标标签包括对应于指定位转发入口路由器BFIR的标签,所述对应于指定BFIR的标签由所述第二网络设备分配,所述指定BFIR为发送所述第一BIER报文的BFIR。
30.根据权利要求29所述的装置,其特征在于,所述目标标签还包括到所述第二网络设备的单播隧道标签。
31.根据权利要求29所述的装置,其特征在于,所述目标标签还包括用于指示报文类型的标签。
32.根据权利要求30所述的装置,其特征在于,所述目标标签还包括用于指示报文类型的标签。
33.根据权利要求29所述的装置,其特征在于,所述处理模块,用于获取第一对应关系,所述第一对应关系为指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;根据所述第一对应关系确定所述对应于指定BFIR的标签。
34.根据权利要求30所述的装置,其特征在于,所述处理模块,用于获取第一对应关系,所述第一对应关系为指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;根据所述第一对应关系确定所述对应于指定BFIR的标签。
35.根据权利要求31或32所述的装置,其特征在于,所述处理模块,用于获取第一对应关系及第二对应关系,所述第一对应关系为所述指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系、所述第二对应关系为报文类型与所述用于指示所述报文类型的标签之间的对应关系;根据所述第一对应关系确定所述对应于指定BFIR的标签,根据所述第二对应关系确定所述用于指示所述报文类型的标签。
36.根据权利要求27-28、30-32任一所述的装置,其特征在于,所述处理模块,用于获取第三对应关系,所述第三对应关系为子域、指定BFIR的信息及对应于指定BFIR的标签之间的对应关系;根据所述第三对应关系确定所述对应于指定BFIR的标签。
37.根据权利要求29所述的装置,其特征在于,所述处理模块,用于获取第三对应关系,所述第三对应关系为子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的对应关系;根据所述第三对应关系确定所述对应于指定BFIR的标签。
38.根据权利要求27-28、30-34、37任一所述的装置,其特征在于,所述BIER通信网络为BIER域,所述第一网络设备为BIER域中的位转发路由器BFR。
39.根据权利要求29所述的装置,其特征在于,所述BIER通信网络为BIER域,所述第一网络设备为BIER域中的位转发路由器BFR。
40.根据权利要求35所述的装置,其特征在于,所述BIER通信网络为BIER域,所述第一网络设备为BIER域中的位转发路由器BFR。
41.根据权利要求36所述的装置,其特征在于,所述BIER通信网络为BIER域,所述第一网络设备为BIER域中的位转发路由器BFR。
42.一种报文处理装置,其特征在于,所述装置应用于位索引显式复制BIER通信网络中的第二网络设备,所述第二网络设备为所述BIER通信网络的边缘节点设备,所述BIER通信网络通过所述边缘节点设备与所述BIER通信网络之外的网络设备通信,所述BIER通信网络中还包括第一网络设备,所述装置包括:
接收模块,用于接收所述第一网络设备发送的第二BIER报文,所述第二BIER报文由所述第一网络设备更新第一BIER报文得到的,所述第一BIER报文包括第一BIER头,所述第二BIER报文包括目标标签,且不包括所述第一BIER头,所述目标标签用于触发所述第二网络设备根据所述目标标签进行反向路径转发RPF检查;
获取模块,用于获取所述第二BIER报文中的目标标签;
检查模块,用于根据所述目标标签进行RPF检查。
43.根据权利要求42所述的装置,其特征在于,所述目标标签包括对应于指定位转发入口路由器BFIR的标签,所述对应于指定BFIR的标签由所述第二网络设备分配,所述指定BFIR为发送所述第一BIER报文的BFIR。
44.根据权利要求43所述的装置,其特征在于,所述目标标签还包括到所述第二网络设备的单播隧道标签。
45.根据权利要求42或43所述的装置,其特征在于,所述目标标签还包括用于指示报文类型的标签。
46.根据权利要求42或43所述的装置,其特征在于,所述检查模块,用于根据对应于指定BFIR的标签及第一对应关系确定指定BFIR的信息,所述第一对应关系为所述指定BFIR的信息与所述对应于指定BFIR的标签之间的对应关系;根据所述第二BIER报文确定第一目标BFIR的信息,所述第一目标BFIR的信息指示所述第二网络设备期望所述第二BIER报文的净荷对应的网络设备的信息;比较所述指定BFIR的信息与所述第一目标BFIR的信息,根据比较结果确定RPF检查结果。
47.根据权利要求45所述的装置,其特征在于,所述装置还包括:
确定模块,用于根据第二对应关系确定所述用于指示所述报文类型的标签,所述第二对应关系为报文类型与用于指示所述报文类型的标签之间的对应关系;根据所述用于指示所述报文类型的标签确定报文类型。
48.根据权利要求43或44所述的装置,其特征在于,所述检查模块,用于根据所述对应于指定BFIR的标签及第三对应关系确定子域与所述指定BFIR的信息,所述第三对应关系为子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的对应关系;根据所述第二BIER报文确定第二目标BFIR的信息,所述第二目标BFIR的信息指示所述第二网络设备期望所述第二BIER报文的净荷对应的网络设备的信息,所述第二目标BFIR的信息包括子域与BFIR标识;比较所述子域与指定BFIR的信息与所述第二目标BFIR的信息,根据比较结果确定RPF检查结果。
49.根据权利要求46所述的装置,其特征在于,所述装置还包括:
第一发布模块,用于获取指定BFIR的信息与所述对应于指定BFIR的标签之间的第一对应关系,发布所述第一对应关系。
50.根据权利要求47所述的装置,其特征在于,所述装置还包括:
第一发布模块,用于获取指定BFIR的信息与所述对应于指定BFIR的标签之间的第一对应关系,发布所述第一对应关系。
51.根据权利要求49或50所述的装置,其特征在于,所述第一发布模块,还用于获取报文类型与用于指示所述报文类型的标签之间的第二对应关系,发布所述第二对应关系。
52.根据权利要求48所述的装置,其特征在于,所述装置,还包括:
第二发布模块,用于获取子域、所述指定BFIR的信息及所述对应于指定BFIR的标签之间的第三对应关系,发布所述第三对应关系。
53.一种第一网络设备,其特征在于,所述第一网络设备用于执行所述权利要求1-15任一所述的方法。
54.一种第二网络设备,其特征在于,所述第二网络设备用于执行权利要求16-26任一所述的方法。
55.一种报文处理系统,其特征在于,所述系统包括第一网络设备和第二网络设备;
所述第一网络设备用于执行所述权利要求1-15任一所述的方法,所述第二网络设备用于执行权利要求16-26任一所述的方法。
56.一种网络设备,其特征在于,所述网络设备包括:
存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1-26中任一所述的方法。
57.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-26中任一所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/116350 WO2021073357A1 (zh) | 2019-10-14 | 2020-09-19 | 报文处理方法、装置、系统、设备及存储介质 |
EP20875973.8A EP4030698A4 (en) | 2019-10-14 | 2020-09-19 | METHOD, DEVICE, SYSTEM AND APPARATUS FOR PACKET PROCESSING, AND STORAGE MEDIA |
US17/720,830 US11799769B2 (en) | 2019-10-14 | 2022-04-14 | Packet processing method, apparatus, system, and device, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910973860 | 2019-10-14 | ||
CN2019109738606 | 2019-10-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112737954A CN112737954A (zh) | 2021-04-30 |
CN112737954B true CN112737954B (zh) | 2022-09-23 |
Family
ID=75589070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911062044.6A Active CN112737954B (zh) | 2019-10-14 | 2019-11-01 | 报文处理方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112737954B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115733790A (zh) * | 2021-09-02 | 2023-03-03 | 华为技术有限公司 | 报文转发方法、装置、设备及存储介质 |
CN113839895B (zh) * | 2021-11-01 | 2023-08-22 | 新华三技术有限公司合肥分公司 | 一种报文转发方法及装置 |
CN114095374B (zh) * | 2021-11-11 | 2024-06-14 | 北京金山云网络技术有限公司 | 网络拓扑的确定方法、装置和电子设备 |
CN114996023B (zh) * | 2022-07-19 | 2022-11-22 | 新华三半导体技术有限公司 | 目标缓存装置、处理装置、网络设备及表项获取方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075973A (zh) * | 2007-07-13 | 2007-11-21 | 华为技术有限公司 | 使用标签索引标签交换路径的方法、系统、源端和宿端 |
CN101599841A (zh) * | 2008-06-03 | 2009-12-09 | 华为技术有限公司 | 实现组播的方法、路由器及系统 |
CN101483595B (zh) * | 2009-02-18 | 2012-01-11 | 中兴通讯股份有限公司 | 一种基于t-mpls网络的数据转发方法和系统 |
US10069639B2 (en) * | 2015-07-28 | 2018-09-04 | Ciena Corporation | Multicast systems and methods for segment routing |
CN109246624B (zh) * | 2017-07-11 | 2020-04-03 | 华为技术有限公司 | 一种组播转发方法及相关设备 |
US10574589B2 (en) * | 2017-09-28 | 2020-02-25 | Nokia Technologies Oy | Multicast based on bit indexed explicit replication |
-
2019
- 2019-11-01 CN CN201911062044.6A patent/CN112737954B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112737954A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7419510B2 (ja) | Bier転送項目構築方法、装置、およびシステム | |
US11533249B2 (en) | Route processing method and apparatus, and data transmission method and apparatus | |
CN112737954B (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
WO2021073357A1 (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
CN112187647B (zh) | 报文转发方法、设备及计算机可读存储介质 | |
CN114553638A (zh) | 一种通信方法、设备和系统 | |
WO2016124049A1 (zh) | 用于获取端口路径的方法及装置 | |
US11956148B2 (en) | Packet transmission method and device | |
WO2021088561A1 (zh) | 位索引显式复制网络中负载分担的方法、装置及设备 | |
JP7322088B2 (ja) | パケット検出方法および第1のネットワーク機器 | |
EP4044523A1 (en) | Packet forwarding method, first network device, and first device group | |
WO2022117018A1 (zh) | 报文传输的方法和装置 | |
US12058027B2 (en) | Packet transmission method, correspondence obtaining method, apparatus, and system | |
JP7273125B2 (ja) | BIERv6パケットを送信するための方法および第1のネットワークデバイス | |
CN113824608A (zh) | Bier oam检测的方法、设备以及系统 | |
WO2023088145A1 (zh) | 一种报文处理方法、装置及设备 | |
CN113132222B (zh) | 报文转发方法、设备及计算机可读存储介质 | |
CN118301060A (zh) | 组播数据报文的处理方法及装置 | |
US20150319082A1 (en) | Method, RB and TRILL Network for Implementing TRILL OAM Packet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |