CN115314150A - 一种报文处理方法、装置、存储介质及电子装置 - Google Patents

一种报文处理方法、装置、存储介质及电子装置 Download PDF

Info

Publication number
CN115314150A
CN115314150A CN202110432551.5A CN202110432551A CN115314150A CN 115314150 A CN115314150 A CN 115314150A CN 202110432551 A CN202110432551 A CN 202110432551A CN 115314150 A CN115314150 A CN 115314150A
Authority
CN
China
Prior art keywords
message
target
load
node
type
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.)
Pending
Application number
CN202110432551.5A
Other languages
English (en)
Inventor
张征
陈勇
徐本崇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN202110432551.5A priority Critical patent/CN115314150A/zh
Priority to US18/282,592 priority patent/US20240163208A1/en
Priority to PCT/CN2022/075883 priority patent/WO2022222582A1/zh
Publication of CN115314150A publication Critical patent/CN115314150A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0085Formatting with cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种报文处理方法、装置、存储介质及电子装置,其中,该方法包括:接收来自入口节点的目标报文;确定目标报文中包含的载荷的类型以及载荷的起始位置;基于载荷的类型以及载荷的起始位置,对目标报文执行载荷解析操作,以得到载荷的载荷数据;将载荷数据转发至接收端。通过本发明,解决了相关技术中存在的网络节点不能支持完整的BI ER技术的情况下而导致报文转发不能正常运行的问题,进而达到了实现报文的正常转发,提高报文传输效率的效果。

Description

一种报文处理方法、装置、存储介质及电子装置
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种报文处理方法、装置、存储介质及电子装置。
背景技术
BIER(Bit Indexed Explicit Replication,位索引显式复制)(RFC8279)是一种新型组播数据转发技术,该将网络边缘的节点都只用一个bit位来表示,组播流量在中间网络传输,额外封装一个特定的BIER头,这个报文头以bit位串的形式标注了该组播流的所有目的节点BFER(Bit-Forwarding Egress Router,位转发出口路由器),中间网络转发节点根据bit位进行路由,保障流量能够发送到所有目的节点。
其中,组播技术是指源主机只发送一份数据,数据的目的地址是组播组地址,从而使得凡属于该组的成员设备,均可收到一份源主机发送的数据的拷贝,而BIER域的入口节点BFIR(Bit-Forwarding Ingress Router,位转发入口路由器)将进入BIER域的组播流量作为BIER头的payload(载荷)进行封装,通过中间节点的转发后,BIER域的出口节点BFER收到BIER报文,剥除BIER头后,将Payload转发给相应的接收者。
在正常情况下,BIER域内的所有节点都能够对BIER报文进行封装与转发处理,或者在网络中的设备均能升级支持完整BIER技术的情况下,BIER技术也可以进行顺利的部署。
但实际网络中的设备不可能在同一时间升级,尤其连接接收者的出口节点数量众多、性能差异巨大,有的出口节点性能较高,可以很容易的升级支持完整BIER技术,但对于一些性能较差的出口设备,升级支持完整的BIER技术非常困难,极大的影响了BIER的正常运行。
发明内容
本发明实施例提供了一种报文处理方法及装置,以至少解决相关技术中存在的网络节点不能支持完整的BIER技术的情况下导致的报文转发不能正常转发的问题。
根据本发明的一个实施例,提供了一种报文处理方法,包括:
接收来自入口节点的目标报文;
确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置;
基于所述载荷的类型以及所述载荷的起始位置,对所述目标报文执行载荷解析操作,以得到所述载荷的载荷数据;
将所述载荷数据转发至接收端。
在一个示例性实施例中,确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置包括:
基于所述目标报文的类型确定所述目标报文的起始位置;
基于所述目标报文的起始位置确定所述载荷的类型以及所述载荷的起始位置。
在一个示例性实施例中,所述基于所述起始位置确定所述载荷的起始位置包括:
在确定所述目标报文为第一类型报文的情况下,跳过所述目标报文的报文头,以确定所述载荷的起始位置;
在确定所述目标报文为除所述第一类型报文之外的其他类型报文的情况下,获取所述目标报文的第一信息值,其中,所述第一信息值用于指示第一信息的长度;基于所述第一信息值确定所述载荷的起始位置。
在一个示例性实施例中,所述基于所述目标报文的起始位置确定所述载荷的类型包括:
在确定所述目标报文为第一类型报文的情况下,基于所述目标报文的起始位置确定所述目标报文中包含的目标头字段,基于所述目标头字段确定所述载荷的类型;
在确定所述目标报文为除所述第一类型报文之外的其他类型报文的情况下,基于所述目标报文的起始位置,对所述目标报文执行第二偏移计算,以得到所述目标报文的属性值;基于所述属性值确定所述载荷的类型。
在一个示例性实施例中,在接收来自入口节点的目标报文之后,所述方法还包括:在确定所述目标报文为第一类型报文的情况下,基于所述目标报文包含的源地址执行第一定位操作,以得到第一定位结果;将所述载荷数据转发至接收端包括:在基于所述第一定位结果定位到目标节点的情况下,将所述载荷数据发送至所述目标节点,以指示所述目标节点将所述载荷数据发送至所述接收端;
或者,
在接收来自入口节点的目标报文之后,所述方法还包括:在确定所述目标报文为除所述第一类型报文之外的其他类型报文的情况下,根据所述载荷的类型查找所述目标节点;将所述载荷数据转发至接收端包括:在确定查找到所述目标节点的情况下,对所述载荷执行第三偏移操作,以得到目标载荷数据;将所述目标载荷数据发送至所述目标节点,以指示所述目标节点将所述载荷数据发送至所述接收端。
在一个示例性实施例中,在确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置之前,所述方法还包括:
在确定所述目标报文为第一类型报文的情况下,基于所述目标报文包含的源地址判断所述入口节点是否为与本地存储的第一入口节点标识对应的第一入口节点;
在确定所述目标报文为除所述第一类型报文之外的其他类型报文的情况下,获取所述目标报文中包括的第二信息,基于所述第二信息以及所述目标报文的起始位置,对所述目标报文执行第四偏移计算,以确定所述第一入口节点的节点标识值;基于所述节点标识值以及所述第二信息判断所述入口节点是否为与本地存储的第一入口节点标识对应的第一入口节点;
确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置包括:在确定所述入口节点为与本地存储的第一入口节点标识对应的所述第一入口节点的情况下,确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置。
在一个示例性实施例中,所述获取所述目标报文的第一信息值包括以下至少之一:
接收来自所述入口节点的所述第一信息值;
接收来自控制器的所述第一信息值;
获取预先设置的第一信息值。
在一个示例性实施例中,在基于所述载荷的类型以及所述载荷的起始位置,对所述目标报文执行载荷解析操作,以得到所述载荷的载荷数据之后,所述方法还包括:
在确定不存在用于接收所述载荷数据的所述接收端的情况下,执行以下操作至少之一:
向所述入口节点发送第一反馈,其中,所述第一反馈用于指示拒绝接收待发送至所述接收端的报文;
向控制器发送第二反馈,以指示所述控制器向所述入口节点发送第三反馈,其中,所述第三反馈用于指示拒绝接收待发送至所述接收端的报文。
在一个示例性实施例中,所述方法还包括:
向所述入口节点或控制器发送第四反馈,其中,所述第四反馈用于指示以下信息至少之一:出口节点为不支持预定技术的节点,出口节点支持预定技术的能力级别。
根据本发明的另一个实施例,提供了一种报文处理装置,包括:
接收模块,用于接收来自入口节点的目标报文;
确定模块,用于确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置;
解析模块,用于基于所述载荷的类型以及所述载荷的起始位置,对所述目标报文执行载荷解析操作,以得到所述载荷的载荷数据;
发送模块,用于将所述载荷数据转发至接收端。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于可以直接基于载荷的类型和载荷的起始位置确定出载荷数据,进而实现载荷的转发,从而达到在无需支持完整的BIER技术的情况下也能实现载荷数据的正常转发的目的,因此,可以解决网络节点不能支持完整的BIER技术的情况下导致的报文不能正常转发的问题,达到提高报文转发效率的效果。
附图说明
图1是根据本发明实施例的一种报文处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种报文处理方法的流程图;
图3是根据本发明实施例的报文头封装的格式图一;
图4是根据本发明实施例的报文头封装的格式图二;
图5是根据本发明实施例的报文头封装的格式图三;
图6是根据本发明实施例的报文头封装的格式图四;
图7是根据本发明实施例的一种报文处理方法的节点图一;
图8是根据本发明实施例的一种报文处理方法的节点图二;
图9是根据本发明实施例的一种报文处理装置的结构框图;
图10是根据本发明具体实施例的一种报文处理方法的流程总图;
图11是根据本发明具体实施例的报文头格式图;
图12是根据本发明具体实施例的TLV结构示意图;
图13是根据本发明具体实施例一的流程图;
图14是根据本发明具体实施例二的节点图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
如图8所示,假设BIER网络里有很多网络出口节点,从BFER1,BFER2直到BFERn;
假设BFER1和BFER2不能支持完整的BIER技术,则根据draft-ietf-bier-php,BFER1/BFER2在软件层面升级,但硬件层面则不进行升级。
对于BFER1和BFER2的次末跳设备BFRm,则需要记录BFER1和BFER2的特殊情况,以及发送给BFER1/BFER2的特殊封装方式,并在收到BIER报文且需要转发给BFER1和BFER2时,BFRm除了正常的BIER报文复制转发处理给其他节点,(比如可能的BFER3/BFER4或者BFRn之外),在发给BFER1/BFER2之前,需要将BIER头剥除,将其payload根据BFER1/BFER2所通告的隧道方式进行封装后,再发给BFER1/BFER2节点。
随后BFER1/BFER2剥除隧道封装后,再找到对应的接收者并转发出去。
在这个过程中,因为部分出口节点BFER无法完整支持BIER技术,其上游设备,即前述的次末跳设备BFRm必须根据BFER1/BFER2的OSPF/ISIS等协议通告,记录其不支持BIER技术的状态,并记录其需要的隧道封装形式,并且在转发BIER报文时,为这样的BFER节点单独进行封装操作。
由此可见在不支持完整BIER技术的BFER节点非常多的情况下,该技术对BFER的上游节点,即次末跳节点,有很高的技术与性能要求,对其处理流程、转发流程都有很大的影响,因此并非该场景的最优选方案。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种报文处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种报文处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种报文处理方法,图2是根据本发明实施例的一种报文处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收来自入口节点的目标报文;
在本实施例中,目标报文可以(但不限于)是IPV6格式的报文,也可以是以太类型为0xAB37的报文,还可以是MPLS格式的报文或其它格式的报文;入口节点可以是实体的数据接口,也可以是数据转发过程中的虚拟节点,还可以是其它具有收发功能的单元或模块。
步骤S204,确定目标报文中包含的载荷的类型以及载荷的起始位置;
在本实施例中,载荷的类型以及载荷的起始位置可以(但不限于)是根据目标报文的报文头中包含的地址信息等数据来确定,也可以是跳过目标报文的报文头,直接根据目标报文头的起始位置进行确定。
例如,跳过报文头得到载荷的起始位置的方法可以是在目标报文类型为IPV6格式的情况下,剥除IPv6头及可能的扩展头,得到BIER报文的payload开始位置,例如剔除DOH(Destination Options Header,目的选项头)等;也可以是根据目标报文的起始位置,确定BSL(BitStringLength,位串长度)信息,再根据BSL信息中的长度值L确定BIER报文的payload开始位置。
而获取载荷的类型的方式,可以是当目标报文类型为IPV6格式且包含目的地址DA(Destination Address),目标报文的BIER头封装在IPv6的DOH(Destination OptionsHeader,目的选项头)扩展头中时,此时,根据IPv6头DOH扩展头中的Next Header字段,获知payload的报文类型;其中,BIER头也可封装在HBH(Hop-by-Hop Header,逐跳选项头),SRH(IPv6 Segment Routing Header,段路由扩展头)等其他扩展头中,且载荷类型的确定方式类似。
当目标报文类型为IPV6格式且包含的地址DA为本地地址时,则从BIER头的开始位置偏移74位,读取6位的Proto值,再根据该值确定payload报文的类型。
步骤S206,基于载荷的类型以及载荷的起始位置,对目标报文执行载荷解析操作,以得到载荷的载荷数据;
在本实施例中,获取的载荷数据包括(但不限于)载荷的转发目的节点地址、载荷的转发时间、载荷的转发频次等信息。
步骤S208,将载荷数据转发至接收端。
在本实施例中,载荷数据的转发可以是同时转发的,也可以是分批次转发的,还可以是其它类型的转发方式,对应的,接收端的数量可以是一个,也可以是多个,可以是多个接收端同时接收载荷数据,也可以是多个接收端分批次接收载荷数据,还可以是一个接收端同时接收多批次的载荷数据,或一个接收端分批次接收多批次的载荷数据。
以BIER为例,BIER域的入口节点BFIR将进入BIER域的组播流量作为BIER头的payload(载荷)进行封装,通过中间节点的转发后,BIER域的出口节点BFER收到BIER报文,剥除BIER头后,将Payload转发给相应的接收者。
通过上述步骤,可以直接基于载荷的类型和载荷的起始位置确定出载荷数据,进而实现载荷的转发,从而达到在无需支持完整的BIER技术的情况下也能实现载荷数据的转发的目的,解决了网络节点不能支持完整的BIER技术的情况下导致的目标报文不能正常转发的问题,提高了报文转发效率。
其中,上述步骤的执行主体可以为网络节点,但不限于此,其中,网络节点位于基站、终端等设备中。
在一个可选的实施例中,确定目标报文中包含的载荷的类型以及载荷的起始位置包括:
步骤S2062,基于目标报文的类型确定目标报文的起始位置;
步骤S2064,基于目标报文的起始位置确定载荷的类型以及载荷的起始位置。
在本实施例中,由于不同类型的目标报文中所包含的信息不同,因而需要设置不同的处理方式来处理对应的目标报文,以提高对报文的解析的精确度,保证后续的信息能够被准确转发至接收端。
例如,在目标报文为IPv6格式的情况下,可以通过其包含的目的地址或对应的Next Header字段确定目标报文的起始位置;在目标报文为以太类型为0xAB37的报文,则可以通过其包含的类型值来确定目标报文的起始位置;在目标报文为MPLS报文的情况下,可以通过目标报文包含的标签值来确定目标报文的起始位置;在目标报文为其它类型的报文的情况下,可以通过其它方式来确定目标报文的起始位置。
在一个可选的实施例中,基于目标报文的类型确定目标报文的起始位置包括:
步骤S20642,基于目标报文的类型确定目标报文中包括的用于确定目标报文的起始位置的目标信息;
步骤S20644,基于目标信息确定目标报文的起始位置。
在本实施例中,目标信息包括(但不限于)是目的地址DA、Next Header字段、类型值以及标签值等。
在一个可选的实施例中,基于目标报文的起始位置确定载荷的起始位置包括:
步骤S2042,在确定目标报文为第一类型报文的情况下,跳过目标报文的报文头,以确定载荷的起始位置;
步骤S2044,在确定目标报文为除第一类型报文之外的其他类型报文的情况下,获取目标报文的第一信息值,其中,第一信息值用于指示第一信息的长度;基于第一信息值确定载荷的起始位置。
在本实施例中,第一类型报文可以是IPV6格式的报文,也可以是其它类型的报文;第一信息可以是目标报文中包含的BSL信息,对应的,第一信息值可以是BSL信息的L值。
例如,在目标报文为IPv6报文情况下,且封装如图3所示的情况下,其目的地址DA是为BIER分配的特定保留地址,此时可以通过对该地址进行识别操作即可确定BIER报文。
而在DA是本地接口地址情况下,且封装如图4所示的情况下,则读取IPv6报文中包含的Next Header字段的字段值,在读取到该字段值指示为BIER类型的情况下,则通过该字段值进行识别操作,以确定BIER报文,并据此获得BIER头的开始位置。
而在目标报文为以太类型为0xAB37的报文,且封装如图5所示的情况下,则根据该类型报文中包含的类型值确定BIER报文,并据此获得BIER头的开始位置。
在目标报文为MPLS报文,且封装类似图6所示的情况下,则根据目标报文的前4字节所指示的标签值来对本地表项进行匹配查找,在命中的表项指示信息为BIER类型的情况下,确定BIER报文,此时该标签的起始位置即为BIER头的开始位置。
在一个可选的实施例中,获取目标报文的第一信息值包括以下至少之一:
基于目标报文的起始位置,对目标报文执行第一偏移计算,以得到目标报文包含的第一信息;基于第一信息执行第一匹配处理,以得到第一信息值;
基于目标报文的起始位置,对目标报文执行第一读取处理,以得到第一信息;基于第一信息执行第二匹配处理,以得到第一信息值。
在本实施例中,获取第一信息的方式可以根据需求或使用环境来进行不同的选择,从而适应多种使用情况。
例如,第一偏移计算可以(但不限于)是从BIER头开始的位置偏移40位,读取4位的BSL值,再根据该值找到对应的BSL长度值L;同理,第一读取处理可以(但不限于)是如果在BIFT(Bit Index Forwarding Table,位索引转发表)-ID的编码方式为<BSL,SD,SI>(SD:Sub-Domain,子域;SI:Set Identifier,集标识)三元组硬编码的情况下,其编码形式可以是前4位是BSL,紧接着8位是SD,最后8位是SI的方式硬编码,此时从BIER报文的开始位置读取4位即可确定BSL值,再根据该BSL值找到对应的BSL长度值L。
在一个可选的实施例中,基于目标报文的起始位置确定载荷的类型包括:
步骤S20646,在确定目标报文为第一类型报文的情况下,基于目标报文的起始位置确定目标报文中包含的目标头字段,基于目标头字段确定载荷的类型;
步骤S20648,在确定目标报文为除第一类型报文之外的其他类型报文的情况下,基于目标报文的起始位置,对目标报文执行第二偏移计算,以得到目标报文的属性值;基于属性值确定载荷的类型。
在本实施例中,目标头字段可以(但不限于)是IPv6的DOH扩展头中的NextHeader字段,也可以是HBH扩展头中的Next Header字段或其它字段、SRH扩展头等其他扩展头中的Next Header字段或其他字段;属性值可以是报文头的Proto值,相应的第二偏移计算可以是从BIER头的开始位置偏移74位,以读取6位的Proto值。
在一个可选的实施例中,
在接收来自入口节点的目标报文之后,该方法还包括:
步骤S2022,在确定目标报文为第一类型报文的情况下,基于目标报文包含的源地址执行第一定位操作,以得到第一定位结果;
将载荷数据转发至接收端包括:
步骤S2082,在基于第一定位结果定位到目标节点的情况下,将载荷数据发送至目标节点,以指示目标节点将载荷数据发送至接收端。
在一个可选的实施例中,
在接收来自入口节点的目标报文之后,该方法还包括:
步骤S2024,在确定目标报文为除第一类型报文之外的其他类型报文的情况下,根据载荷的类型查找目标节点;
将载荷数据转发至接收端包括:
步骤S2084,在确定查找到目标节点的情况下,对载荷执行第三偏移操作,以得到目标载荷数据;将目标载荷数据发送至目标节点,以指示目标节点将载荷数据发送至接收端。
在本实施例中,在特殊业务的情况下,由于特殊业务的需求,需要对业务类型进行确认才能进行后续的数据转发。
其中,源地址可以是IPv6报文中的源地址SA(Source Address),也可以是其它类型的源地址。
例如,在进入BIER域的组播流量是基于MVPN(Multicast Virtual PrivateNetwork,组播虚拟专用网),或者EVPN(Ethernet Virtual Private Network,以太虚拟专用网)等业务的情况下,因为边缘节点BFIR和BFER上会有多个MVPN或者EVPN实例,因此BFER在收到报文时,需要定位到具体的MVPN/EVPN实例才能进一步转发给接收者。
具体的,在使用IPv6的源地址SA进行业务实例定位后,需要确定是否可以定位到具体的业务,在确定了具体的业务之后(如VPN1),再将确定的payload报文在相应的VPN(Virtual Private Network,虚拟专用网)中转发给接收者;对应的,在确定payload类型为MPLS或者IPv6地址等类型的情况下,读取payload的标签值或者IPv6地址,再根据取payload的标签值或者IPv6地址查找到对应的VPN;然后再将payload报文偏移4字节(payload是MPLS类型)或者16字节(payload是IPv6地址类型)后的报文内容,转发给对应VPN中的接收者;需要说明的是,因为目标报文中有一部分内容属于无需转发给接收者的内容,因而在使用过程中需要提出这部分的内容。
在一个可选的实施例中,
在确定目标报文中包含的载荷的类型以及载荷的起始位置之前,该方法还包括:
步骤S20402,在确定目标报文为第一类型报文的情况下,基于目标报文包含的源地址判断入口节点是否为与本地存储的第一入口节点标识对应的第一入口节点;
步骤S20404,在确定目标报文为除第一类型报文之外的其他类型报文的情况下,获取目标报文中包括的第二信息,基于第二信息以及目标报文的起始位置,对目标报文执行第四偏移计算,以确定第一入口节点的节点标识值;基于节点标识值以及第二信息判断入口节点是否为与本地存储的第一入口节点标识对应的第一入口节点;
确定目标报文中包含的载荷的类型以及载荷的起始位置包括:
步骤S2046,在确定入口节点为与本地存储的第一入口节点标识对应的第一入口节点的情况下,确定目标报文中包含的载荷的类型以及载荷的起始位置。
在本实施例中,第二信息可以是SD(Sub-Domain,子域)信息,也可以是其它信息。
为了提高部署的可靠性,对于同样的组播流,其入口节点BFIR可能有两个或者两个以上,此时两个入口节点BFIR都会封装和转发BIER流量到出口节点BFER上,此时,出口节点BFER需要选择一台BFIR的流量接收和转发给接收者,而对于其他BFIR转发过来的同样的组播流量则进行丢弃。
例如,在目标报文为IPv6的情况下,通过源地址SA来进行入口节点BFIR判断,即SA(Source Address,源地址)如果是BFIR1的地址,则进行处理并转发给接收者。
在一个可选的实施例中,该方法还包括:
步骤S20406,在确定入口节点为除第一入口节点之外的其他节点的情况下,丢弃目标报文。
在本实施例中,对于不需要的入口节点BFIR发来的报文,则直接丢弃。如图7所示,正常情况下,BFER1/BFER2只处理转发来自BFIR1的报文,丢弃来自BFIR2的报文;即,SA如果是BFIR2的地址,则直接丢弃该报文。
在一个可选的实施例中,该方法还包括:
步骤S20408,对目标入口节点执行故障检测处理;
步骤S204010,在确定目标入口节点处于故障状态的情况下,将本地存储的第一入口节点标识更新为第二入口节点标识,其中,第二入口节点标识用于标识除第一入口节点以外的其他入口节点。
在本实施例中,当BFIR1出现故障无法转发报文,BFER1/BFER2通过检测或者其他手段获知BFIR1的故障后,切换为接收和转发SA为BFIR2地址的流量。
在一个可选的实施例中,获取目标报文中包括的第二信息包括以下至少之一:
基于目标报文的起始位置,对目标报文执行第五偏移计算,以得到第二信息;
根据目标报文中包括的位索引表,对本地表项执行第三匹配处理,以得到第二信息。
在本实施例中,通过不同方式获取第二信息是为了适应不同的使用背景和使用方式,从而适应不同的使用环境。
例如,在BIFT(Bit Index Forwarding Table,位索引转发表)-ID的编码方式是<BSL,SD,SI>三元组硬编码的情况下,即采用前4位是BSL,紧接着8位是SD,最后8位是SI的方式进行硬编码的情况下,则从BIER报文的开始偏移4位,读取8位的SD值;而在BIFT-ID是采用OSPF/ISIS扩展通告的方式的情况下,则根据BIFT-ID查询本地表项,获取SD值。
具体的,在获取SD信息后,从BIER报文开始位置偏移10字节,读取2字节的BFIR-ID值,用<SD,BFIR-ID>来确定发送该报文的BFIR信息,如果来自不需要的BFIR,则丢弃;如图7所示,假设SD为0,BFIR1的BFIR-ID为10,BFIR2的BFIR-ID为20,则来自于<SD=0,BFIR-ID=10>的流量被接受并转发给接收者,来自于<SD=0,BFIR-ID=20>的流量则被丢弃;此时当BFIR1出现故障无法转发报文,BFER1/BFER2通过检测或者其他手段获知BFIR1的故障后,切换为接受和转发来自<SD=0,BFIR-ID=20>的流量。
在一个可选的实施例中,获取目标报文的第一信息值包括以下至少之一:
接收来自入口节点的第一信息值;
接收来自控制器的第一信息值;
获取预先设置的第一信息值。
在本实施例中,固定BSL值是为了减少报文解析过程所涉及的计算量,从而进一步简化BFER上的操作。
例如,BFIR在与BFER通过BIEROverlay技术进行通告时,BFIR通知BFER其固定使用的BSL长度,即BFIR对BIER头进行封装时采用固定的BSL长度,比如128位,或者256位等,此时,涉及到的BIER Overlay技术包括但不限于MLD(Multicast Listener Discovery)、PIM(Protocol Independent Multicast)、MVPN、EVPN等。
或者,采用控制器下发的方式,控制器通知BFIR固定采用某个固定BSL进行BIER头封装。控制器通知的方式包括但不限于BGP-LS、PCEP、NETCONF/RESTCONF加YANG模型等方式。
或者,在BFER上配置固定的BSL长度,对BIER头解析时全部采用该BSL长度。
同样对于payload处理,如果只部署一种业务,比如通过BIER域传输的只有IPv4组播流量业务。则也可以通过类似固定BSL值的方法固定payload处理方式,BFER与BFIR之间的BIEROverlay扩展,以及BFER与控制器之间的通告,也可以采用与固定BSL类似的方式。
在一个可选的实施例中,在基于载荷的类型以及载荷的起始位置,对目标报文执行载荷解析操作,以得到载荷的载荷数据之后,该方法还包括:
在确定不存在用于接收载荷数据的接收端的情况下,执行以下操作至少之一:
向入口节点发送第一反馈,其中,第一反馈用于指示拒绝接收待发送至接收端的报文;
向控制器发送第二反馈,以指示控制器向入口节点发送第三反馈,其中,第三反馈用于指示拒绝接收待发送至接收端的报文。
在本实施例中,在不存在接收端的情况下向反馈指示能够避免入口节点持续发送数据导致的数据冗余以及能量浪费。
例如,BFER进行payload处理时,如果发现本地没有相应的接收者,则说明报文传递有问题,此时BFER记录该问题,并通过以下方式之一告知BFIR:
方式1:
BFER通过BIER Overlay技术进行通告,通知BFIR其不接收该组播流量;
方式2:
BFER通过BGP-LS(Border Gateway Protocol-Link State,边界网关协议-链路状态)、PCEP、NETCONF/RESTCONF加YANG模型等方式告知控制器,控制器再通知BFIR不再发送该组播流量给该BFER;
BFIR获知该信息后,则不再发送该组播流量给BFER。
如图8所示,假设BFER2在处理转发BIER报文时,发现对于某组播流量,本地没有接收者,则BFER2在丢弃该报文之后,记录这个问题,并通过BIER Overlay技术或者控制器使BFIR获知该信息,BFIR在后续对该组播流量进行封装时,将在封装的BIER头目的Bit-String中删除BFER2节点,从而该报文将不会再发送到BFER2。
在一个可选的实施例中,该方法还包括:
步骤S2010,向入口节点或控制器发送第四反馈,其中,第四反馈用于指示以下信息至少之一:
出口节点为不支持预定技术的节点,出口节点支持预定技术的能力级别。
在本实施例中,向入口节点或控制器发送第四反馈以避免入口节点或控制器反复发送流量信息。
例如,BFER不能支持完整BIER技术时,可以通过向BFIR节点或者控制器发送反馈信息,使BFIR或控制器确定对应的BFER处于不能支持完整BIER技术的状态。
其中,BFER通知控制器时,可以通过BGP-LS协议扩展上报给控制器或者BFIR,上报方式包括(但不限于):
方式1:在Node Attribute TLV(RFC7752定义)的Node Flag Bits中选择未使用的一位来表示非完整BIER技术支持。
方式2:在Node Attribute TLV中新定义一个类型表示非完整BIER技术支持。
方式3:在Prefix Attribute TLV中的BIER Information TLV中增加一个子TLV表示非完整BIER技术支持,其中,BIER Information TLV为draft-ietf-bier-bgp-ls-bier-ext中的定义。
当然,还可以采用其他形式的BGP-LS协议扩展,本发明不做限制。
例如,如果不使用BGP-LS协议扩展,还可以使用PCEP节点能力扩展等方式,或者NETCONF/RESTCONF加YANG模型的方式。
在一个可选的实施例中,在向入口节点或控制器发送第四反馈之前,该方法还包括:
步骤S20102,在目标协议信息中增加用于指示出口节点为不支持预定技术的节点的标识,以得到第四反馈。
在本实施例中,通过对不支持预定技术的节点的标识进行识别,能够快速确定出口节点的状态,从而避免能量损耗和数据冗余。
其中,在目标协议信息中增加用于指示出口节点为不支持预定技术的节点的标识可以通过以下方式实现:
例如,
方式1:在部署MVPN/EVPN业务时,可以通过PMSI(Provider Multicast ServiceInterface)Tunnel Attribute(PTA)中新增隧道类型为非完整BIER技术支持来实现;
方式2:BFER通知BFIR节点通过MLD/PIM/BGP等协议新增扩展BIER能力TLV的方式来实现,其中携带非完整BIER技术支持能力;
方式3:BFER在Underlay的OSPF/ISIS等路由协议扩展的BIER-info TLV/sub-TLV中(定义在RFC8401/RFC8444中),新增BIER能力扩展子TLV,或者直接利用BIER-info TLV/sub-TLV中的预留字段的某位来表示非完整BIER技术支持。因为Underlay信息整个BIER域内的设备都会收到,包括BFIR,因此BFIR查询BFER所通告的该信息获知BFER节点的非完整BIER技术支持情况。
方式4:BFER将其能力上报控制器后,控制器再通过BGP-LS,PCEP(PathComputation Element Communication Protocol,路径计算通信协议),NETCONF/RESTCONF加YANG模型等方式告知BFIR,告知内容为非完整支持能力sub-TLV或者sub-sub-TLV等。
BFIR通过上述方式可以获知不能完整支持BIER技术的BFER情况,同时在默认情况下不对该BFER做特殊处理,但可以通过策略进行精细化控制,假如对于某条组播流量只有一个BFER需要接收,且该BFER不能完整支持BIER技术,则BFIR可以略掉封装BIER头的操作,直接采用IPinIP或者其它的隧道封装形式就能将报文发送到BFER。
需要说明的是,在前述的非完整BIER技术能力通告中,还可以进一步的细化,以表示不同的非完整BIER技术能力支持情况:
例如,可以将非完整BIER技术能力进行分级,不同的级别表示不同的BIER技术支持能力,比如采用级别1表示仅支持固定BSL和固定payload类型处理,级别2表示支持固定payload处理但可支持BSL读取处理,级别3表示支持BSL读取及payload类型读取处理等;或者级别1表示支持BSL读取处理,级别2表示支持BSL和SD读取处理,级别3表示支持BSL、SD和BFIR-ID读取处理等。
还可以在上述的BGP-LS/PCEP/YANG模型等扩展中增加sub-TLV或者其他扩展,并携带具体的级别信息,这样可以让控制器或者BFIR节点获得更精确的BFER对BIER技术的支持情况,从而可以于策略结合,更好的适应不同BIER组网部署需求。比如BFIR获知BFER节点仅支持固定BSL处理,则BFIR将仅用该BSL进行BIER头封装,以便BFER处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种报文处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是根据本发明实施例的一种报文处理装置的结构框图,如图9所示,该装置包括:
接收模块92,用于接收来自入口节点的目标报文;
确定模块94,用于确定目标报文中包含的载荷的类型以及载荷的起始位置;
解析模块96,用于基于载荷的类型以及载荷的起始位置,对目标报文执行载荷解析操作,以得到载荷的载荷数据;
发送模块98,用于将载荷数据转发至接收端。
在一个可选的实施例中,解析模块96包括:
位置确定单元962,用于基于目标报文的类型确定目标报文的起始位置;
信息确定单元964,用于基于目标报文的起始位置确定载荷的类型以及载荷的起始位置。
在一个可选的实施例中,信息确定单元964包括:
信息确定子单元9642,用于基于目标报文的类型确定目标报文中包括的用于确定起始位置的目标信息;
第一位置确定子单元9644,用于基于目标信息确定起始位置。
在一个可选的实施例中,确定模块94包括:
第一确定单元942,用于在确定目标报文为第一类型报文的情况下,跳过目标报文的报文头,以确定载荷的起始位置;
第二确定单元944,用于在确定目标报文为除所述第一类型报文之外的其他类型报文的情况下,获取标报文的第一信息值,其中,第一信息值用于指示第一信息的长度;基于第一信息值确定载荷的起始位置。
在一个可选的实施例中,第二确定单元844包括:
第一计算子单元9442,用于基于所述目标报文的起始位置,对所述目标报文执行第一偏移计算,以得到所述目标报文包含的所述第一信息;基于所述第一信息执行第一匹配处理,以得到所述第一信息值;
第一读取子单元9444,用于基于目标报文的起始位置,对目标报文执行第一读取处理,以得到第一信息;基于第一信息执行第二匹配处理,以得到第一信息值。
在一个可选的实施例中,信息确定单元964还包括:
第一确定子单元9646,用于在确定目标报文为第一类型报文的情况下,基于目标报文的起始位置确定目标报文中包含的目标头字段,基于目标头字段确定载荷的类型;
第二确定子单元9648,用于在确定目标报文为除第一类型报文之外的其他类型报文的情况下,基于目标报文的起始位置,对目标报文执行第二偏移计算,以得到目标报文的属性值;基于属性值确定所述载荷的类型。
在一个可选的实施例中,
该装置还包括:
定位单元922,用于在接收来自入口节点的目标报文之后,在确定目标报文为第一类型报文的情况下,基于目标报文包含的源地址执行第一定位操作,以得到第一定位结果;
发送模块98包括:
第一发送单元982,在基于第一定位结果定位到目标节点的情况下,将载荷数据发送至目标节点,以指示目标节点将载荷数据发送至接收端;
在一个可选的实施例中,
该装置还包括:
查找单元924,用于在接收来自入口节点的目标报文之后,在确定目标报文为除第一类型报文之外的其他类型报文的情况下,根据载荷的类型查找目标节点;
发送模块98包括:
第二发送单元984,在确定查找到目标节点的情况下,对载荷执行第三偏移操作,以得到目标载荷数据;将目标载荷数据发送至目标节点,以指示目标节点将载荷数据发送至所述接收端。
在一个可选的实施例中,该装置还包括:
第一节点确定单元8402,用于在确定目标报文中包含的载荷的类型以及载荷的起始位置之前,在确定目标报文为第一类型报文的情况下,基于目标报文包含的源地址判断入口节点是否为与本地存储的第一入口节点标识对应的第一入口节点;
第二节点确定单元8404,在确定目标报文为除所述第一类型报文之外的其他类型报文的情况下,获取目标报文中包括的第二信息,基于第二信息以及目标报文的起始位置,对目标报文执行第四偏移计算,以确定第一入口节点的节点标识值;基于节点标识值以及第二信息判断入口节点是否为与本地存储的第一入口节点标识对应的第一入口节点;
确定模块94还包括:
确定子单元946,在确定入口节点为与本地存储的第一入口节点标识对应的第一入口节点的情况下,确定目标报文中包含的载荷的类型以及载荷的起始位置。
在一个可选的实施例中,该装置还包括:
报文丢弃单元9406,在确定入口节点为除第一入口节点之外的其他节点的情况下,丢弃目标报文。
在一个可选的实施例中,该装置还包括:
故障检测单元9408,对目标入口节点执行故障检测处理;
节点更新单元94010,在确定目标入口节点处于故障状态的情况下,将本地存储的第一入口节点标识更新为第二入口节点标识,其中,第二入口节点标识用于标识除第一入口节点以外的其他入口节点。
在一个可选的实施例中,第二节点确定单元3404包括以下至少之一:
偏移计算子单元94042,用于基于目标报文的起始位置,对目标报文执行第五偏移计算,以得到第二信息;
表项匹配子单元94044,用于根据目标报文中包括的位索引表,对本地表项执行第三匹配处理,以得到第二信息。
在一个可选的实施例中,第二确定单元944还包括以下至少之一:
第一接收子单元9446,用于接收来自入口节点的第一信息值;
第二接收子单元9448,用于接收来自控制器的所述第一信息值;
采集子单元94410,用于获取预先设置的第一信息值。
在一个可选的实施例中,该装置还包括:
操作执行单元968,用于在基于载荷的类型以及载荷的起始位置,对目标报文执行载荷解析操作,以得到载荷的载荷数据之后,在确定不存在用于接收载荷数据的接收端的情况下,执行以下操作至少之一:
向入口节点发送第一反馈,其中,第一反馈用于指示拒绝接收待发送至接收端的报文;
向控制器发送第二反馈,以指示控制器向入口节点发送第三反馈,其中,第三反馈用于指示拒绝接收待发送至接收端的报文。
在一个可选的实施例中,该装置还包括:
反馈模块910,向入口节点或控制器发送第四反馈,其中,第四反馈用于指示以下信息至少之一:
出口节点为不支持预定技术的节点,出口节点支持预定技术的能力级别。
在一个可选的实施例中,反馈模块910还包括:
指示单元9102,用于在向入口节点或控制器发送第四反馈之前,在目标协议信息中增加用于指示出口节点为不支持预定技术的节点的标识,以得到第四反馈。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
下面结合具体实施例对本发明进行说明。
如图8及图10所示,本发明实施例提供的报文处理方法主要包括如下步骤:
步骤S101,BFER收到报文(对应前述步骤S202);
步骤S102,识别出是BIER报文后,跳过BIER头的处理,或者仅处理BIER头中字段(包括以下至少一种:BSL,BFIR-ID,SD,BIFT-ID),以确定BIER报文的payload的类型和起始位置(对应前述步骤S204);
步骤S103,再根据payload的报文类型以及起始位置,进行payload报文解析(对应前述步骤S206);
步骤S104,再将解析结果正常转发给接收者R1/R2/R3(对应前述步骤S208)。
其中,如图7所示,在MVPN或者EVPN等业务部署时,BFER获取所需的关键业务实例信息;且在部署双根保护功能时,BFER需要根据特定字段丢弃重复流量;
而当BFER为非完整BIER技术支持能力时,BFER通过BGP-LS协议,或者PCEP(协议,或者NETCONF、RESTCONF等携带YANG模型或者数据的形式,向控制器可选通告其非完整BIER技术支持能力;或者BFER通过BIER Overlay协议,向BFIR节点可选通告其非完整BIER技术支持能力。
其中,BFIR通过BIER Overlay协议,可选通告BFER其封装的BSL长度,或者payload的封装方式,或者两者均通告。
其中,BIER Overlay技术包括但不限于MLD(Multicast Listener Discovery,组播侦听发现)、PIM(Protocol Independent Multicast,协议无关组播)、MVPN、EVPN等。
当BFER在某组播流量本地没有接收者时,BFER记录该问题,并通过BIER Overlay技术反馈给BFIR,或者BFER告知控制器,再由控制器告知BFIR,BFIR对该组播流量后续报文封装BIER头时删除该BFER节点。
具体的实施例如下所示,需要说明的是,以下实施例中的BIER头格式均以RFC8296中定义的为准,如图11所示,且以下所提到的TLV(Type,Length,Value)格式类似如图12所示:
具体实施例一
如图8所示,在BFER1、BFER2不能完整支持BIER技术,但在BFER1、BFER2软件信令进行BIER Underlay交互时,仍表现为正常BFER节点的情况下,即,在BFER1、BFER2与BFRm等节点进行OSPF(Open Shortest Path First,开放式最短路径优先)/ISIS(IntermediateSystem-to-Intermediate System,中间系统到中间系统)等协议信令交互时,仍然采用正常BFER节点的通告内容的情况下,BFRm不会认为BFER1、BFER2是特殊的节点,不会对二者进行特殊记录,在报文转发时也不会进行特殊操作;同时,BFER1和BFER2在与BFIR之间进行BIER Overlay交互时,也不需要特殊的通告内容,BFIR也会将BFER1和BFER2视为正常的BIER节点;BFIR对组播流量进行正常BIER封装并转发到BIER域内,由此BFER1和BFER2将收到正常的BIER报文;其中,组播流量可以是IPv4、IPv6或者Ethernet等类型流量。
如图13所示,上述情况中的BFER的报文处理步骤如下:
步骤S1101:识别BIER报文;
步骤S1102:跳过BIER头;
步骤S1103:获取BIER头的payload报文类型;
步骤S1104:基于payload报文类型进行payload报文解析,并将解析结果正常转发给接收者R1/R2/R3。
其中,步骤1101具体包括:
分支步骤1101a,如果收到的报文是IPv6报文,封装类似图3所示,其目的地址是为BIER分配的特定保留地址,通过该地址识别出BIER报文。
分支步骤1101b,如果收到的报文是IPv6报文,封装类似图4所示,其DA是本地接口地址,读取IPv6的Next Header字段,如果该字段值指示为BIER类型,则通过该字段值识别出BIER报文;并据此获得BIER头的开始位置。
分支步骤1101c,如果收到的是以太类型为0xAB37的报文,封装类似图5所示,则根据该类型值识别出BIER报文;并据此获得BIER头的开始位置。
分支步骤1101d,如果收到的是MPLS报文,封装类似图6所示,根据报文的前4字节标签值查本地表项,命中的表项指示信息为BIER类型,由此识别出BIER报文;该标签的起始位置即BIER头的开始位置。
步骤1102具体包括:
分支步骤1102a,接步骤1101中的分支步骤1101a,剥除IPv6头及可能的扩展头,如DOH等,得到BIER报文的payload开始位置。
分支1102b,接步骤1101中的分支1101b,首先获取BSL信息,获取方法有两种:
从BIER头开始的位置偏移40位,读取4位的BSL值,根据该值找到对应的BSL长度值L(其对应定义在RFC8296中);
如果BIFT-ID的编码方式是<BSL,SD,SI>(SD:Sub-Domain,子域;SI:SetIdentifier,集标识)三元组硬编码,即可能采用前4位是BSL,紧接着8位是SD,最后8位是SI的方式硬编码,则从BIER报文的开始位置读取4位的BSL值,并根据该值找到对应的BSL长度值L。
通过以上方法获得BSL长度值L后,再根据BSL获得payload报文的开始位置:即从BIER头开始偏移(12+L/8)字节,获取到其payload报文的开始位置。比如4位的BSL值为3,可获知对应的BSL长度值为256,则通过计算可知从BIER头开始偏移(12+256/8)44字节可以获取到payload报文的开始位置。
分支步骤1102c,接步骤1101中的分支1101c,处理方式同1102b。
分支步骤1102d,接步骤1101中的分支1101d,处理方式有两种,第一种同1102b;第二种BSL的值获取则是由分支1101d中得到的标签值查询本地表项,获得BSL值;然后用1102b的同样计算方式获得payload报文的开始位置。
步骤1103具体包括:
分支步骤1103a,接步骤1101中的分支1101a,BIER头封装在IPv6的DOH扩展头中时,根据IPv6头DOH扩展头中的Next Header字段,获知payload的报文类型;BIER头也可封装在HBH,SRH等其他扩展头中,处理方式类似。
分支步骤1103b,接步骤1101中的分支1101b,从BIER头的开始位置偏移74位,读取6位的Proto值,根据该值确定payload报文的类型。
分支步骤1103c,接步骤1101中的分支1101c,处理方式同1103b。
分支步骤1103d,接步骤1101中的分支1101d,处理方式同1103b。
通过以上步骤,BFER2/BFER3可以跳过BIER报文头中的Bit-String等复杂处理流程,获取到BIER的payload的报文类型以及起始位置,从而可以进行payload报文解析,并正常转发给接收者R1/R2/R3。
具体实施例二
进入BIER域的组播流量可能基于MVPN,或者EVPN等业务,因为边缘节点BFIR和BFER上会有多个MVPN或者EVPN实例,因此BFER在收到报文时,需要定位到具体的MVPN/EVPN实例才能进一步转发给接收者。如图14所示,进入BIER域的组播流量是MVPN/EVPN流量,并分属VPN1和VPN2,BFER收到报文时,需要区分出报文应该转发给VPN1还是VPN2。
需要说明的是,BIER这种数据面转发技术因为没有组播树的建立问题,消除了组播树建立的时延,并且在网络出现链路或者节点问题时,收敛速度同OSPF或ISIS协议,比原来的组播树重建降低了巨大的时延。
上述情况的具体实施步骤包括:
步骤1201:
分支步骤1201a,接步骤1101中的分支1101a,使用其IPv6源地址SA(SourceAddress)进行业务实例定位,看是否可定位到某个VPN,如VPN1;然后在通过步骤1102a、1103a后,将payload报文在相应的VPN如VPN1中转发给接收者。
分支步骤1201b,在通过步骤1102b和1103b后,根据payload报文是MPLS或者IPv6地址等类型,读取payload的标签值或者IPv6地址,根据该值查找到对应的VPN;然后再将payload报文偏移4字节(payload是MPLS类型)或者16字节(payload是IPv6地址类型)后的报文内容,转发给对应VPN中的接收者;需要说明的是,因为目标报文中有一部分内容属于无需转发给接收者的内容,因而在使用过程中需要提出这部分的内容。
分支步骤1201c,在通过步骤1102c和1103c后,处理方式同1201b。
分支步骤1201d,在通过步骤1102d和1103d后,处理方式同1201b。
通过以上步骤,再结合步骤1102/1103,可以实现MVPN/EVPN的业务应用。
具体实施例三
为了提高部署的可靠性,对于同样的组播流,其入口节点BFIR可能部署有两个或者两个以上,其中,部署的BFIR都会封装和转发BIER流量到出口节点BFER上,BFER需要选择其中一个BFIR,并将来自该BFIR的流量接收和转发给接收者,而对于其他BFIR转发过来的同样的组播流量则进行丢弃。
如图7所示,为了避免BFIR的单点故障,对于同一条组播流量,BFIR1和BFIR2将都转发给BFER,BFER只选择来自BFIR1的流量转发给接收者,对来自BFIR2的重复流量则进行丢弃。
上述过程的具体步骤包括步骤1301,其中,步骤1301包括:
分支步骤1301a,接前述具体步骤1101中的分支1101a,使用其IPv6源地址SA来进行BFIR判断,对于不需要的BFIR发来的报文,则直接丢弃。如图7所示,正常情况下,BFER1/BFER2只处理转发来自BFIR1的报文,丢弃来自BFIR2的报文;即SA如果是BFIR1的地址,则进行处理并转发给接收者,SA如果是BFIR2的地址,则直接丢弃该报文;当BFIR1发生故障无法转发报文,BFER1/BFER2通过检测或者其他手段获知BFIR1的故障后,及流量的接收方向切换为接受和转发SA为BFIR2地址的流量。
分支步骤1301b,接步骤1101中的分支1101b,首先获取SD信息,再根据获取的SD信息,从BIER报文开始位置偏移10字节,以读取2字节的BFIR-ID值,在根据<SD,BFIR-ID>的报文格式来确定发送该报文的BFIR信息,如果来自不需要的BFIR,则丢弃。
具体如图7所示,假设SD为0,BFIR1的BFIR-ID为10,BFIR2的BFIR-ID为20,则来自于<SD=0,BFIR-ID=10>的流量被接收并转发给接收者,来自于<SD=0,BFIR-ID=20>的流量则被丢弃;当BFIR1出现故障无法转发报文,BFER1/BFER2通过检测或者其他手段获知BFIR1的故障后,切换为接受和转发来自<SD=0,BFIR-ID=20>的流量。
其中,获取SD信息的方式可以(但不限于)是以下两种方式:
如果BIFT-ID的编码方式是<BSL,SD,SI>三元组硬编码,即可能采用前4位是BSL,紧接着8位是SD,最后8位是SI的方式,则从BIER报文的开始偏移4位,读取8位的SD值;
如果BIFT-ID是采用OSPF/ISIS扩展通告的方式,则根据BIFT-ID查询本地表项,获取SD值。
分支步骤1301c,接前述步骤1101中的分支1101c,其中,获取SD的方法和处理方式均同前述分支步骤1301b。
分支步骤1301d,接前述步骤1101中的分支1101d,采用前述分支步骤1301b中的方法2获取SD信息,而确定BFIR信息的处理方式同前述分支步骤1301b。
通过以上步骤,结合步骤1102/1103,可以实现双根保护场景的应用。
具体实施例四:
为了进一步简化BFER上的操作,可以通过以下方式获取固定的BSL值,而无需通过报文解析。
方式1:
BFIR在与BFER通过BIER Overlay技术进行通告时,BFIR向BFER发送反馈信息,以将BFIR固定使用的BSL长度告知BFER,即将BFIR只会使用某个固定的BSL长度进行BIER头封装的情况反馈至BFER;例如,BFIR固定使用128位,或者固定使用256位等。其中,涉及到的BIER Overlay技术包括(但不限于)MLD、PIM、MVPN、EVPN等。
方式2:
采用控制器下发的方式将BFIR固定使用的BSL长度告知BFER,具体方式为:控制器向BFER发送反馈信息,以将BFIR固定采用某个固定BSL进行BIER头封装的情况反馈至BFER。其中,控制器发送反馈的方式包括(但不限于)BGP-LS、PCEP、NETCONF/RESTCONF加YANG模型等方式。
方法3:
在BFER上配置固定的BSL长度,且在执行BIER头解析时全部采用该BSL长度。
这样在步骤1102的分支1102b、1102c、1102d中,不用在报文头中读取BSL值,而直接使用以上方式确定的固定BSL长度值进行计算得到BIER的payload开始位置。
同理,对于payload的处理,如果只部署一种业务,比如通过BIER域传输的只有IPv4组播流量业务,则也可以通过类似固定BSL值的方法固定payload处理方式;其中,BFER与BFIR之间的BIER Overlay扩展,以及BFER与控制器之间的消息反馈,也可以采用与固定BSL类似的方式,由此也无需通过步骤1103中的报文解析获取payload类型。
具体实施例五:
在步骤1103后,BFER进行payload处理时,如果发现本地没有相应的接收者,则说明报文传递有问题,此时BFER记录该问题,并通过以下方式之一告知BFIR:
方式1:
BFER通过BIER Overlay技术发送反馈信息,以将BFER不接收该组播流量的情况反馈至BFIR;
方式2:
BFER通过BGP-LS、PCEP、NETCONF/RESTCONF加YANG模型等方式向控制器发送反馈信息,控制器向BFIR发送指示,以BFIR指示不再发送该组播流量给该BFER;而BFIR获知该指示后,则不再发送该组播流量给BFER。
如图1所示,假设BFER2在处理转发BIER报文时,发现对于某组播流量,本地没有接收者,则BFER2在丢弃该报文之后,记录这个问题,并通过BIER Overlay技术向BFIR发送该信息,或者通过控制器向BFIR发送该信息以使BFIR获知该信息,从而使得BFIR在后续对该组播流量进行封装时,将在封装的BIER头目的Bit-String中删除BFER2节点,实现不再将该报文发送到BFER2的效果。
具体实施例六:
BFER不能支持完整BIER技术时,可以告知BFIR节点或者控制器,使BFIR或控制器知晓该信息。
BFER通知控制器时,可以通过BGP-LS协议扩展上报给控制器或者BFIR,可选方式如下:
在Node Attribute TLV(RFC7752定义)的Node Flag Bits中选择未使用的一位来表示非完整BIER技术支持,其中TLV格式如图13所示。
在Node Attribute TLV中新定义一个类型表示非完整BIER技术支持。
在PrefixAttribute TLV中的BIER Information TLV中增加一个子TLV表示非完整BIER技术支持,其中,BIER Information TLV在draft-ietf-bier-bgp-ls-bier-ext中定义。
当然也可以采用其他形式的BGP-LS协议扩展,本实施例不做具体限制。
同理,如果不使用BGP-LS协议扩展,则还可以使用PCEP节点能力扩展等方式,或者NETCONF/RESTCONF加YANG模型的方式。
这样,控制器可以获知BFER对BIER技术支持的情况,进而使得BFER节点不会被规划为BFIR,避免因BIER转发能力的缺失引起问题。
其中,BFER可以通过BIER Overlay/Underlay技术扩展将BFER为非完整BIER技术支持通知BFIR节点,也可以通过控制器将BFER为非完整BIER技术支持通知BFIR节点,而具体可选通告方式如下:
方式1:
在部署MVPN/EVPN业务时,可以通过PMSI(Provider Multicast ServiceInterface)Tunnel Attribute(PTA)中新增隧道类型为非完整BIER技术支持来实现;
方式2:
BFER通知BFIR节点通过MLD/PIM/BGP等协议新增扩展BIER能力TLV的方式来实现,其中携带非完整BIER技术支持能力;
方式3:
BFER在Underlay的OSPF/ISIS等路由协议扩展的BIER-info TLV/sub-TLV中(定义在RFC8401/RFC8444中),新增BIER能力扩展子TLV,或者直接利用BIER-info TLV/sub-TLV中的预留字段的某位来表示非完整BIER技术支持。因为Underlay信息整个BIER域内的设备都会收到,包括BFIR,因此BFIR查询BFER所通告的该信息获知BFER节点的非完整BIER技术支持情况。
BFER将其能力上报控制器后,控制器再通过BGP-LS,PCEP,NETCONF/RESTCONF加YANG模型等方式告知BFIR,告知内容为非完整支持能力sub-TLV或者sub-sub-TLV等。
方式4:
由此BFIR可以获知不能完整支持BIER技术的BFER情况,默认情况下不对该BFER做特殊处理,但可以通过策略进行精细化控制,假如对于某条组播流量只有一个BFER需要接收,且该BFER不能完整支持BIER技术,则BFIR可以略掉封装BIER头的操作,直接采用IPinIP或者其它的隧道封装形式就能将报文发送到BFER。
在以上的非完整BIER技术能力通告中,还可以进一步的细化,表示不同的非完整BIER技术能力支持情况:
方式1:
可以将非完整BIER技术能力进行分级,不同的级别表示不同的BIER技术支持能力,比如采用级别1表示仅支持固定BSL和固定payload类型处理,级别2表示支持固定payload处理但可支持BSL读取处理,级别3表示支持BSL读取及payload类型读取处理等;或者级别1表示支持BSL读取处理,级别2表示支持BSL和SD读取处理,级别3表示支持BSL、SD和BFIR-ID读取处理等。
方式2:
在以上所述的BGP-LS/PCEP/YANG模型等扩展中增加sub-TLV或者其他扩展,携带具体的级别信息,这样可以让控制器或者BFIR节点获得更精确的BFER对BIER技术的支持情况,从而可以跟策略结合,更好的适应不同BIER组网部署需求。比如BFIR获知BFER节点仅支持固定BSL处理,则BFIR将仅用该BSL进行BIER头封装,以便BFER处理。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种报文处理方法,其特征在于,包括:
接收来自入口节点的目标报文;
确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置;
基于所述载荷的类型以及所述载荷的起始位置,对所述目标报文执行载荷解析操作,以得到所述载荷的载荷数据;
将所述载荷数据转发至接收端。
2.根据权利要求1所述的方法,其特征在于,确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置包括:
基于所述目标报文的类型确定所述目标报文的起始位置;
基于所述目标报文的起始位置确定所述载荷的类型以及所述载荷的起始位置。
3.根据权利要求2所述的方法,其特征在于,所述基于所述起始位置确定所述载荷的起始位置包括:
在确定所述目标报文为第一类型报文的情况下,跳过所述目标报文的报文头,以确定所述载荷的起始位置;
在确定所述目标报文为除所述第一类型报文之外的其他类型报文的情况下,获取所述目标报文的第一信息值,其中,所述第一信息值用于指示第一信息的长度;基于所述第一信息值确定所述载荷的起始位置。
4.根据权利要求2所述的方法,其特征在于,所述基于所述目标报文的起始位置确定所述载荷的类型包括:
在确定所述目标报文为第一类型报文的情况下,基于所述目标报文的起始位置确定所述目标报文中包含的目标头字段,基于所述目标头字段确定所述载荷的类型;
在确定所述目标报文为除所述第一类型报文之外的其他类型报文的情况下,基于所述目标报文的起始位置,对所述目标报文执行第二偏移计算,以得到所述目标报文的属性值;基于所述属性值确定所述载荷的类型。
5.根据权利要求1所述的方法,其特征在于,
在接收来自入口节点的目标报文之后,所述方法还包括:在确定所述目标报文为第一类型报文的情况下,基于所述目标报文包含的源地址执行第一定位操作,以得到第一定位结果;将所述载荷数据转发至接收端包括:在基于所述第一定位结果定位到目标节点的情况下,将所述载荷数据发送至所述目标节点,以指示所述目标节点将所述载荷数据发送至所述接收端;
或者,
在接收来自入口节点的目标报文之后,所述方法还包括:在确定所述目标报文为除所述第一类型报文之外的其他类型报文的情况下,根据所述载荷的类型查找所述目标节点;将所述载荷数据转发至接收端包括:在确定查找到所述目标节点的情况下,对所述载荷执行第三偏移操作,以得到目标载荷数据;将所述目标载荷数据发送至所述目标节点,以指示所述目标节点将所述载荷数据发送至所述接收端。
6.根据权利要求1所述的方法,其特征在于,
在确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置之前,所述方法还包括:
在确定所述目标报文为第一类型报文的情况下,基于所述目标报文包含的源地址判断所述入口节点是否为与本地存储的第一入口节点标识对应的第一入口节点;
在确定所述目标报文为除所述第一类型报文之外的其他类型报文的情况下,获取所述目标报文中包括的第二信息,基于所述第二信息以及所述目标报文的起始位置,对所述目标报文执行第四偏移计算,以确定所述第一入口节点的节点标识值;基于所述节点标识值以及所述第二信息判断所述入口节点是否为与本地存储的第一入口节点标识对应的第一入口节点;
确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置包括:在确定所述入口节点为与本地存储的第一入口节点标识对应的所述第一入口节点的情况下,确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置。
7.根据权利要求3所述的方法,其特征在于,所述获取所述目标报文的第一信息值包括以下至少之一:
接收来自所述入口节点的所述第一信息值;
接收来自控制器的所述第一信息值;
获取预先设置的第一信息值。
8.根据权利要求1所述的方法,其特征在于,在基于所述载荷的类型以及所述载荷的起始位置,对所述目标报文执行载荷解析操作,以得到所述载荷的载荷数据之后,所述方法还包括:
在确定不存在用于接收所述载荷数据的所述接收端的情况下,执行以下操作至少之一:
向所述入口节点发送第一反馈,其中,所述第一反馈用于指示拒绝接收待发送至所述接收端的报文;
向控制器发送第二反馈,以指示所述控制器向所述入口节点发送第三反馈,其中,所述第三反馈用于指示拒绝接收待发送至所述接收端的报文。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述入口节点或控制器发送第四反馈,其中,所述第四反馈用于指示以下信息至少之一:出口节点为不支持预定技术的节点,出口节点支持预定技术的能力级别。
10.一种报文处理装置,其特征在于,包括:
接收模块,用于接收来自入口节点的目标报文;
确定模块,用于确定所述目标报文中包含的载荷的类型以及所述载荷的起始位置;
解析模块,用于基于所述载荷的类型以及所述载荷的起始位置,对所述目标报文执行载荷解析操作,以得到所述载荷的载荷数据;
发送模块,用于将所述载荷数据转发至接收端。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至9任一项中所述的方法的步骤。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至9任一项中所述的方法。
CN202110432551.5A 2021-04-21 2021-04-21 一种报文处理方法、装置、存储介质及电子装置 Pending CN115314150A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110432551.5A CN115314150A (zh) 2021-04-21 2021-04-21 一种报文处理方法、装置、存储介质及电子装置
US18/282,592 US20240163208A1 (en) 2021-04-21 2022-02-10 Packet processing method and apparatus, and storage medium and electronic apparatus
PCT/CN2022/075883 WO2022222582A1 (zh) 2021-04-21 2022-02-10 一种报文处理方法、装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110432551.5A CN115314150A (zh) 2021-04-21 2021-04-21 一种报文处理方法、装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN115314150A true CN115314150A (zh) 2022-11-08

Family

ID=83723573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110432551.5A Pending CN115314150A (zh) 2021-04-21 2021-04-21 一种报文处理方法、装置、存储介质及电子装置

Country Status (3)

Country Link
US (1) US20240163208A1 (zh)
CN (1) CN115314150A (zh)
WO (1) WO2022222582A1 (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724740B1 (en) * 2002-08-27 2010-05-25 3Com Corporation Computer system and network interface supporting class of service queues
CN106341327A (zh) * 2015-07-08 2017-01-18 中兴通讯股份有限公司 一种bier报文的传输方法及系统
CN107645446A (zh) * 2016-07-21 2018-01-30 中兴通讯股份有限公司 一种信息确定方法和装置
US10608922B2 (en) * 2018-03-21 2020-03-31 Nokia Solutions And Networks Oy Hierarchical bit indexed replication of multicast packets
US10567181B2 (en) * 2018-06-20 2020-02-18 Juniper Networks, Inc. Bit index explicit replication (BIER) penultimate hop popping
CN114189473B (zh) * 2019-06-06 2023-07-14 华为技术有限公司 一种报文的发送方法和装置
WO2021073357A1 (zh) * 2019-10-14 2021-04-22 华为技术有限公司 报文处理方法、装置、系统、设备及存储介质
CN112491706B (zh) * 2020-07-31 2024-07-23 中兴通讯股份有限公司 数据报文的处理方法及装置、存储介质、电子装置
CN112491718A (zh) * 2020-08-31 2021-03-12 中兴通讯股份有限公司 报文头的处理方法及装置、存储介质、电子装置
CN112491729A (zh) * 2020-09-22 2021-03-12 中兴通讯股份有限公司 一种数据处理方法、装置、存储介质及电子装置
CN112491708A (zh) * 2020-10-15 2021-03-12 中兴通讯股份有限公司 IPv6报文的路由头封装方法及装置

Also Published As

Publication number Publication date
US20240163208A1 (en) 2024-05-16
WO2022222582A1 (zh) 2022-10-27

Similar Documents

Publication Publication Date Title
CN110266594B (zh) 跨网络切片的分段路由转发方法及装置
EP3496345B1 (en) Information management method, apparatus and system
CN107968750B (zh) 报文传输方法、装置及节点
EP3490201B1 (en) Method, device and system for information synchronization
US7826482B1 (en) Service-specific forwarding in an LDP-RSVP hybrid network
CN110401599B (zh) 数据包的处理方法及装置、存储介质、电子装置
CN111865783B (zh) 用于计算机网络的方法和网络设备
US11323371B1 (en) Micro SID packet processing with operations, administration, and management
CN113259239A (zh) 一种在混合网络中转发报文的方法、设备和系统
US11362954B2 (en) Tunneling inter-domain stateless internet protocol multicast packets
CN112491718A (zh) 报文头的处理方法及装置、存储介质、电子装置
CN112491706B (zh) 数据报文的处理方法及装置、存储介质、电子装置
US20200403902A1 (en) Class-based traffic engineering in an ip network
EP3975489A1 (en) Label deduction with flexible-algorithm
US20240098019A1 (en) Packet Processing Method and Related Device
CN107294859B (zh) 一种信息传递方法、装置及系统
US7974285B2 (en) Method and apparatus for identifying an egress point to a network location
CN115314150A (zh) 一种报文处理方法、装置、存储介质及电子装置
CN115550256A (zh) 基于sdn的bier组播切片方法、存储介质及电子设备
WO2023173989A1 (zh) 转发表的生成方法及装置、存储介质、电子装置
WO2024045537A1 (zh) 报文传输的方法和网络设备
CN115250262A (zh) 消息发送方法及装置、消息接收方法及装置、存储介质
CN118301060A (zh) 组播数据报文的处理方法及装置
CN116743733A (zh) 报文的发送方法、装置、存储介质及电子装置
CN114079629A (zh) 最大传输单元mtu确定方法、装置、设备以及存储介质

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