CN112491718A - 报文头的处理方法及装置、存储介质、电子装置 - Google Patents

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

Info

Publication number
CN112491718A
CN112491718A CN202010899306.0A CN202010899306A CN112491718A CN 112491718 A CN112491718 A CN 112491718A CN 202010899306 A CN202010899306 A CN 202010899306A CN 112491718 A CN112491718 A CN 112491718A
Authority
CN
China
Prior art keywords
header
message
ipv6
bit
bier
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
CN202010899306.0A
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 CN202010899306.0A priority Critical patent/CN112491718A/zh
Publication of CN112491718A publication Critical patent/CN112491718A/zh
Priority to EP21859760.7A priority patent/EP4207685A4/en
Priority to PCT/CN2021/098409 priority patent/WO2022041916A1/zh
Priority to US18/022,378 priority patent/US20230370298A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • 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
    • H04L45/745Address table lookup; Address filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种报文头的处理方法及装置、存储介质、电子装置,上述方法包括:至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对IPv6报文头中的剩余段Segments Left字段进行处理;将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,包括作为Hop‑by‑Hop扩展头中的新选项;在IPv6报文头的来源地址Source Address字段中填入位索引显式复制BIER报文头的位转发路由器路由前缀BFR‑Prefix;将位索引显式复制BIER报文头中的位索引转发表索引BIFT‑ID字段嵌入到IPv6报文头的目标字段中,解决了相关技术中,未能有效实现在BIER报文与IPv6报文结合封装的过程中进行优化等问题。

Description

报文头的处理方法及装置、存储介质、电子装置
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种报文头的处理方法及装置、存储介质、电子装置。
背景技术
互联网协议第6版(Internet Protocol Version 6,简称为IPv6)是互联网工程任务组(Internet Engineering Task Force,简称为IETF)设计的用于替代IPv4的下一代IP协议。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
位索引显式复制(Bit Indexed Explicit Replication,简称为BIER)(RFC8279)是一种新型组播数据转发技术,该将网络边缘的节点都只用一个bit位来表示,组播流量在中间网络传输,额外封装一个特定的BIER报文头,这个报文头以bit位串的形式标注了该组播流的所有目的节点,中间网络转发节点根据bit位进行路由,保障流量能够发送到所有目的节点。中间节点转发设备事先通过路由协议,如三层网络中的开放式最短路径优先(OSPFOpen Shortest Path First,简称为OSPF)协议,中间系统到中间系统(IntermediateSystem-to-Intermediate System,简称为ISIS)协议,形成用于指导BI ER转发的位索引转发表(Bit Index Forwarding Table,简称为BIFT)表,在收到封装BIER报文头的流量时,依据BIFT来完成报文到目的节点的转发。BIER这种数据面转发技术因为没有组播树的建立问题,消除了组播树建立的时延,并且在网络出现链路或者节点问题时,收敛速度同OSPF或ISIS协议,比原来的组播树重建降低了巨大的时延。
BIER技术在传输的时候,仅需要将某条组播流量封装在BIER报文内作为载荷(payload)传输。对于BIER域的入口设备BFIR(Bit-Forwarding Ingress Router)来说,需要知道哪些BIER域的出口设备BFERs(Bit-Forwarding Egress Routers)需要这条组播流量,这样在BFER收到这条组播流量后,才能转发给BIER域外需要收到这条流量的组播接收者。BIER技术可以直接封装在以太报文中进行传输(协议号0xAB37),在某些节点不能支持对以太BIER报文进行直接辨识时,如果仍然采用以太报文传输,不能正确辨识该报文的节点将成为黑洞丢弃报文。
针对相关技术中,如何在BIER报文与IPv6报文结合封装的过程中进行优化的问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种报文头的处理方法及装置、存储介质、电子装置,以至少解决相关技术中尚未提供如何在BIER报文与IPv6报文结合封装的过程中进行优化的问题的技术方案。
根据本发明的一个实施例,提供了一种报文头的处理方法,包括:至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理;将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的选项;在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix;将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中。
在一个示例性实施例中,按照预定义方式对所述IPv6报文头中的剩余段SegmentsLeft字段进行处理,至少包括以下之一:将所述剩余段Segments Left字段设置为目标值,使所有节点均忽略对所述剩余段Segments Left字段的处理;将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;将位转发入口路由器BFIR将入口节点的剩余段Segments Left字段值设置为到达边缘设备的最大跳数,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,中间节点逐跳转发报文时,对所述字段值进行减1处理,在剩余段Segments Left字段值为255的IPv6报文到达位转发出口路由器BFER时,根据当前剩余段Segments Left字段的值计算出所述IPv6报文经过的跳数;将所述剩余段Segments Left字段设置为所述IPv6报文待经过的边界的最大边界值,当经过所述边界时对所述字段值进行减1处理,当所述字段值为0时,指示报文到达最大边界不能再继续转发到下一个区域。
在一个示例性实施例中,将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理之后,所述方法还包括:通过控制面通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持。
在一个示例性实施例中,所述方法还包括:通过以下方式之一通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持:TLV方式进行通告,携带在内部网关协议IGP中的位索引显式复制BIER信息进行通告,携带在边界网关协议BGP中的位索引显式复制BIER信息进行通告。
在一个示例性实施例中,所述方法还包括:在将各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持设置在位转发路由器路由前缀BFR-Prefix或者位转发路由器标识BFR-ID的通知下,以sub-TLV或者sub-sub-TLV的方式进行通告。
在一个示例性实施例中,在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix之前,所述方法还包括:在所有节点中存在无法保障所述IPv6报文头的来源地址Source Address字段的传递能力的节点的情况下,通过控制面通告和收集所有节点的所述IPv6报文头的来源地址Source Address字段的传递能力的信息。
在一个示例性实施例中,在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix之后,所述方法还包括:在确认所述IPv6报文头的来源地址Source Address字段的保障能力不被支持时,将所述IPv6报文头中的其他未使用的字段的N位设置为1,以指示所述IPv6报文头的来源地址Source Address需要进行保障处理,其中,所述N的值不小于1。
在一个示例性实施例中,将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中之前,所述方法还包括:对所述IPv6报文中的地址进行改造,以将所述IPv6报文的可路由前缀设置在所述IPv6报文中的前目标数量位中。
在一个示例性实施例中,对所述IPv6报文中的地址进行改造之后,所述方法还包括:将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中目的地址DA中;或将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中来源地址SA中;或将所述位索引转发表索引BIFT-ID填入所述IPv6报文头的流标签Flow Label字段中,不改动所述IPv6报文中目的地址DA与来源地址SA。
在一个示例性实施例中,所述方法还包括:将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID的转发表项定位操作前移到IPv6报文中进行。
在一个示例性实施例中,所述方法还包括:用所述IPv6报文地址中的特定位表示位索引显式复制BIER表项查找的功能FUNCTION字段。
根据本发明的另一个实施例,还提供了一种报文头的处理装置,包括:处理模块,用于至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理;将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的选项;在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix;将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中。
在一个示例性实施例中,上述处理模块,还用于按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理,至少包括以下之一:将所述剩余段SegmentsLeft字段设置为目标值,使所有节点均忽略对所述剩余段Segments Left字段的处理;将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;将位转发入口路由器BFIR将入口节点的剩余段Segments Left字段值设置为到达边缘设备的最大跳数,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,中间节点逐跳转发报文时,对所述字段值进行减1处理,在剩余段Segments Left字段值为255的IPv6报文到达位转发出口路由器BFER时,根据当前剩余段Segments Left字段的值计算出所述IPv6报文经过的跳数;将所述剩余段Segments Left字段设置为所述IPv6报文待经过的边界的最大边界值,当经过所述边界时对所述字段值进行减1处理,当所述字段值为0时,指示报文到达最大边界不能再继续转发到下一个区域。
在一个示例性实施例中,上述装置还包括:通告模块,用于通过控制面通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持。
在一个示例性实施例中,上述通告模块,还用于通过以下方式之一通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持:TLV方式进行通告,携带在内部网关协议IGP中的位索引显式复制BIER信息进行通告,携带在边界网关协议BGP中的位索引显式复制BIER信息进行通告。
在一个示例性实施例中,上述通告模块,还用于在将各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持设置在位转发路由器路由前缀BFR-Prefix或者位转发路由器标识BFR-ID的通知下,以sub-TLV或者sub-sub-TLV的方式进行通告。
在一个示例性实施例中,上述装置还包括:保障模块,用于在所有节点中存在无法保障所述IPv6报文头的来源地址Source Address字段的传递能力的节点的情况下,通过控制面通告和收集所有节点的所述IPv6报文头的来源地址Source Address字段的传递能力的信息。
在一个示例性实施例中,上述装置还包括:确定模块,用于在确认所述IPv6报文头的来源地址Source Address字段的保障能力不被支持时,将所述IPv6报文头中的其他未使用的字段的N位设置为1,以指示所述IPv6报文头的来源地址Source Address需要进行保障处理,其中,所述N的值不小于1。
在一个示例性实施例中,上述装置还包括:改造模块,用于对所述IPv6报文中的地址进行改造,以将所述IPv6报文的可路由前缀设置在所述IPv6报文中的前目标数量位中。
在一个示例性实施例中,上述改造模块,还用于将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中目的地址DA中;或将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中来源地址SA中;或将所述位索引转发表索引BIFT-ID填入所述IPv6报文头的流标签Flow Label字段中,不改动所述IPv6报文中目的地址DA与来源地址SA。
在一个示例性实施例中,上述改造模块,还用于将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID的转发表项定位操作前移到IPv6报文中进行。
在一个示例性实施例中,上述改造模块,还用于用所述IPv6报文地址中的特定位表示位索引显式复制BIER表项查找的功能FUNCTION字段。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,可以对位索引显式复制BIER报文和IPv6报文进行如下处理:至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理;将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的新选项;在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix;将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中,进而实现了将BIER报文封装与IPv6报文封装结合起来,在完全不影响功能的情况下,优化报文的封装与处理流程,提高转发效率,采用上述技术方案,解决了相关技术中,未能有效实现在BIER报文与IPv6报文结合封装的过程中进行优化等问题。
附图说明
图1是本发明实施例的一种报文头的处理方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的报文头的处理方法的流程图;
图3是根据本发明实施例的位索引显式复制BIER报文作为IPv6的Routing扩展头的示意图;
图4是根据本发明实施例的TLV的示意图;
图5是根据本发明实施例的应用在BIER域的报文传输机制的示意图;
图6是根据本发明实施例的报文头的处理装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图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)模块,其用于通过无线方式与互联网进行通讯。
相关技术中,组播技术在互联网上正得到越来越多的应用,比如多方会议,远程教育,远程医疗,网络直播等。随着IPv6的部署,这些组播数据报文,穿越IPv6网络已成为必须,对于一些不能直接支持位索引显式复制BIER以太封装报文处理的节点,将位索引显式复制BIER封装在IPv6头中已成为一个必须具备的功能。
本发明实施例以下提出一种新的报文封装方式,将位索引显式复制BIER封装与IPv6封装结合起来,并进行优化,结合控制面的能力通告,在完全不影响功能的情况下,优化报文的封装与处理流程,提高转发效率。
在本实施例中提供了一种运行于上述计算机终端的报文头的处理方法,图2是根据本发明实施例的报文头的处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:
将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理;
将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的选项;
在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix;
将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中。
通过本发明,可以对位索引显式复制BIER报文和IPv6报文进行如下处理:至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理;将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的新选项;在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix;将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中,进而实现了将BIER报文封装与IPv6报文封装结合起来,在完全不影响功能的情况下,优化报文的封装与处理流程,提高转发效率,采用上述技术方案,解决了相关技术中,未能有效实现在BIER报文与IPv6报文结合封装的过程中进行优化等问题。
其中,上述步骤的执行主体可以为基站、终端等,但不限于此。
应用上述步骤S202的技术方案,如图3所示,这种情况下,将Routing Type可直接设置为BIER。
在一个示例性实施例中,按照预定义方式对所述IPv6报文头中的剩余段SegmentsLeft字段进行处理,至少包括以下之一:将所述剩余段Segments Left字段设置为目标值,使所有节点均忽略对所述剩余段Segments Left字段的处理;将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;将位转发入口路由器BFIR将入口节点的剩余段Segments Left字段值设置为到达边缘设备的最大跳数,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,中间节点逐跳转发报文时,对所述字段值进行减1处理,在剩余段Segments Left字段值为255的IPv6报文到达位转发出口路由器BFER时,根据当前剩余段Segments Left字段的值计算出所述IPv6报文经过的跳数;将所述剩余段Segments Left字段设置为所述IPv6报文待经过的边界的最大边界值,当经过所述边界时对所述字段值进行减1处理,当所述字段值为0时,指示报文到达最大边界不能再继续转发到下一个区域。
可以理解的是,在将BIER报文头作为IPv6报文头的路由Routing扩展头的新类型时,需要对IPv6报文头中的剩余段Segments Left字段根据功能需要选择不同的预定义方式进行剩余段Segments Left字段的处理。
可选的,设置的剩余段Segments Left字段的目标值可以是0或者255或者其他任意值,进而使得所有节点均忽略对该字段的处理,由于该方式最简单,因此也可以作为所有节点的默认支持方式。
可选的,由入口节点BFIR将剩余段Segments Left字段值设置为255,或者将剩余段Segments Left字段值设置为可以预估的到达边缘设备的最大跳数,进而在中间节点逐跳转发时,将该字段值进行减1处理,当该字段值减小到0时,说明报文在转发过程中可能出现环路,需要进行告警提示或者异常日志记录,并不再转发该报文,从而避免报文被转发出不应该转发的域范围。
可选的,由入口节点BFIR将剩余段Segments Left字段值设置为255,中间节点逐跳转发时进行减1处理,到达出口节点BFER时,可以根据当前Segments Left的值计算出报文经过的跳数,该跳数可以记录并上报给控制器或者其他模块,用作统计目的。
可选的,由于报文可能会经过多个IGP域,或者一些BIER内部的边界,因此,可以预估出大概要经过多少个这样的边界,将边界值填在剩余段Segments Left字段值中,这时的剩余段Segments Left字段值,仅在BFER上,转发给其他IGP域,或者其他BIER内部边界时,对字段值进行减1处理,如果出现单域内转发时对字段值不进行处理,当所述字段值为0时,指示报文到达最大边界不能再继续转发到下一个区域。
在一个示例性实施例中,将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的选项。
简而言之,为了提高位索引显式复制BIER报文头在IPv6报文头中的应用效果,还可以在IPv6报文头的其他扩展头中也添加关于BIER类型的选项。
在一个示例性实施例中,将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理之后,所述方法还包括:通过控制面通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持,即在本发明实施例中,在将BIER报文头作为IPv6路由Routing扩展头新类型后,通过控制面通告各节点自身对Routing扩展头新增BIER类型的支持进行通告。
在一个示例性实施例中,所述方法还包括:通过以下方式之一通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持:TLV方式进行通告,携带在内部网关协议IGP中的位索引显式复制BIER信息进行通告,携带在边界网关协议BGP中的位索引显式复制BIER信息进行通告。
在一个示例性实施例中,所述方法还包括:在将各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持设置在位转发路由器路由前缀BFR-Prefix或者位转发路由器标识BFR-ID的通知下,以sub-TLV或者sub-sub-TLV的方式进行通告。
例如,控制面进行通告方式包含各节点通告自身对Routing扩展头新增BIER类型的支持,可以通过TLV的方式,跟随在IGP,或者BGP中BIER信息进行通告,即放在BFR-Prefix或者BFR-id的通知下,以sub-TLV或者sub-sub-TLV的方式进行通告。当通告对SegmentsLeft处理方式的支持情况时,如果所有节点仅统一支持某一种Segments Left字段处理方式,则不需要进一步的通告,但如果有节点支持不同的Segments Left字段处理方式,则需要进行通告进行区分,通告方式也可以是TLV形式。
在所有节点均支持BIER的情况下,填入IPv6报文头中的来源地址Source Address(SA)和目的地址Destination Address(DA)字段的也可能是本地子网Link-local地址,或者经过某些不支持BIER节点时,会引入IPv6隧道,使不支持BIER处理的节点无需看到BIER报文并处理,这时对外层IPv6头的SA,DA操作,都可能会导致原有的SA,DA信息丢失。这样会使得BFIR的BFR-prefix信息丢失。因此为了保证该信息不丢失,需要采取一些特定的手段进行保障,保障方式包括:
在一个示例性实施例中,在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix之前,所述方法还包括:在所有节点中存在无法保障所述IPv6报文头的来源地址Source Address字段的传递能力的节点的情况下,通过控制面通告和收集所有节点的所述IPv6报文头的来源地址Source Address字段的传递能力的信息。
在一个示例性实施例中,在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix之后,所述方法还包括:在确认所述IPv6报文头的来源地址Source Address字段的保障能力不被支持时,将所述IPv6报文头中的其他未使用的字段的N位设置为1,以指示所述IPv6报文头的来源地址Source Address需要进行保障处理,其中,所述N的值不小于1。
例如,在域内并非所有节点都能支持IPv6报文头的来源地址Source Address字段的保障能力,这时可利用IPv6头中其他未使用的字段,如Traffic Class字段,或者BIER头中的保留字段等,利用这些字段中的某1位或者几位设置为1的方式,表明IIPv6报文头的来源地址Source Address字段需要得到保障处理。
在一个示例性实施例中,将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中之前,所述方法还包括:对所述IPv6报文中的地址进行改造,以将所述IPv6报文的可路由前缀设置在所述IPv6报文中的前目标数量位中。
需要说明的是,在IPv6报文中的前目标数量位中设置IPv6报文的可路由前缀,其中,目标位数量可以是64位,也可以是96位,本发明对此不做过多限定。
可选的,可将IPv6地址分为前缀+BIFT-ID两个部分,将域内的可达前缀放在其前96位中,也就是用于封装报文时,将IPv6可路由前缀放在前96位中的位置,这样可以支持前缀最长可达96位的情况;剩下32位专门用于存放BIFT-ID值。当然也可以将前108位用来存放可达前缀,后20位用来存放BIFT-ID值,这样可以支持前缀最长可达108位。
可选的,按照draft-ietf-spring-srv6-network-programming中定义的格式LOC:FUNCT:ARG,将IPv6地址分为3个部分,除了表示前缀的LOC,再定义新的FUNCT为BIERfunction,并将BIFT-ID填入ARG的位置,该方法适用于节点的BFR-Prefix长度较短的情况,例如,LOC部分为64位,FUNC为32位,ARG位32位。
在一个示例性实施例中,对所述IPv6报文中的地址进行改造之后,所述方法还包括:将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中目的地址DA中;或将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中来源地址SA中;或将所述位索引转发表索引BIFT-ID填入所述IPv6报文头的流标签Flow Label字段中,不改动所述IPv6报文中目的地址DA与来源地址SA,即将BIFT-ID填入IPv6头中的Flow Label字段,对SA和DA不做改动,这种方法适用于如果BFR-Prefix都必须用128位的地址来表示的场景。
也就是说,在将IPv6地址分为前缀+BIFT-ID两个部分,当BIFT-ID字段嵌入IPv6报文中目的地址DA中时,会将下一跳的IPv6可路由前缀填入DA的前96位以及将下一跳的BIFT-ID填入DA后32位;当将BIFT-ID字段嵌入IPv6报文中来源地址SA中时,DA照常填写下一跳的IPv6可达路由前缀,SA的前96位前缀不做修改,仅将其后32位修改成下一跳的BIFT-ID。
此外,按照draft-ietf-spring-srv6-network-programming中定义的格式LOC:FUNCT:ARG,将IPv6地址分为3个部分,除了表示前缀的LOC,再定义新的FUNCT为BIERfunction,并将BIFT-ID填入ARG的位置,当BIFT-ID字段嵌入IPv6报文中目的地址DA中时,DA的LOC部分填写为下一跳的BFR-prefix,FUNC定义为新的表示BIER的function值,ARG则填入下一跳的BIFT-ID;当将BIFT-ID字段嵌入IPv6报文中来源地址SA中时,DA部分照常填写为下一跳的IPv6可达路由前缀BFR-prefix,SA的LOC部分保持不变,FUNCT部分如果不是表示BIER的function则修改成表示BIER的function值,SA的ARG部分则填写为下一跳的BIFT-ID。
需要说明的是,在进行BIFT-ID的优化使用时,在所有节点都支持统一的BFIT-ID优化手段的情况下,控制面不需要特别扩展。但如果并非所有节点都支持该功能时,为了避免错误处理,也需要引入能力通告的过程,方式仍然可以通过图4所示的TLV方式,定义新的Type类型,在跟随BIER的BFR-prefix等信息通告时携带,也就是通过IGP或者BGP的通告时携带这些信息。这样节点能互相了解到其他节点对该功能的支持情况。比如定义一个新类型的sub-TLV或者sub-sub-TLV表示BIFT-ID优化,更低一级的sub-sub-TLV或者sub-sub-sub-TLV不同Type表示不同的BIFT-ID优化方式来通告;两者同时通告来标明支持BIFT-ID优化,并能具体到支持的方式上;或者仅定义新类型的sub-TLV或者sub-sub-TLV表示BIFT-ID优化,携带的Value值里直接用1/2/3表示不同的具体BIFT-ID优化方式。
在一个示例性实施例中,所述方法还包括:将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID的转发表项定位操作前移到IPv6报文中进行。
在一个示例性实施例中,所述方法还包括:用所述IPv6报文地址中的特定位表示位索引显式复制BIER表项查找的功能FUNCTION字段。
为了更好的理解上述报文头的处理流程,以下结合可选实施例对上述技术方案进行说明,但不用于限定本发明实施例的技术方案。
由于位索引显式复制BIER报文与IPv6报文进行结合封装优化方式存在多种,可选的,当将位索引显式复制BIER报文头作为IPv6的Routing扩展头新类型时,包括如下可选实施例一至可选实施例四的4个可选实施例:
如图3所示,将位索引显式复制BIER报文作为IPv6的Routing扩展头的一个新类型,具体定义如图所示,Routing扩展头定义新类型值,比如5,表示位索引显式复制BIER类型,在Routing扩展头的“type-specific data”中,将位索引显式复制BIER报文头填入。对Routing扩展头中的“剩余段Segments Left”字段设置可能存在多种情况,详见下面可选实施例中的描述。
针对以下的可选实施例,为了便于理解,需要对控制面扩展统一进行定义,具体如下:
控制面通告流程:所有参与位索引显式复制BIER转发的节点需要扩展控制面,并进行通告,如果该域内所有节点均支持位索引显式复制BIER转发,那么所有节点都将参与控制面通告流程:
1.各节点通告自身对Routing扩展头新增位索引显式复制BIER类型的支持,可以通过TLV的方式,跟随在IGP,或者BGP中位索引显式复制BIER信息进行通告,即放在位转发路由器路由前缀BFR-Prefix或者BFR-id的通知下,以sub-TLV或者sub-sub-TLV的方式进行通告,如图4所示,使用类型20或者别的数值,表示是支持Routing扩展头封装位索引显式复制BIER类型。
2.通告对剩余段Segments Left处理方式的支持情况,如果所有节点仅统一支持某一种剩余段Segments Left字段处理方式,则不需要进一步的通告,但如果有节点支持不同的剩余段Segments Left字段处理方式,则需要进行通告进行区分,具体的通告方式可以有两种,一种是生成次一级的TLV跟随位索引显式复制BIER新Routing扩展头类型的通告TLV进行,格式可以是类似如图3的方式,用Type1/2/3/4等表示剩余段Segments Left的不同处理方式。另一种通告方式是直接使用Routing扩展头封装位索引显式复制BIER类型的sub-TLV或者sub-sub-TLV,其Value值为1/2/3/4等来表示对剩余段Segments Left不同处理方式的支持。
当将位索引显式复制BIER报文头作为IPv6的Routing扩展头新类型时,可选实施例一(即关于剩余段Segments Left处理方式一):设置的剩余段Segments Left字段为0或者255或者其他任意值,所有节点均忽略对该字段的处理。该方式最简单,因此也可以作为所有节点的默认支持方式;
如图3所示,控制面按照上面所述的方法进行后,数据面封装与转发流程如下:
当位转发入口路由器BFIR收到组播报文,根据需要接收的BFER正常进行位索引显式复制BIER报文头封装后,封装外部IPv6头时,遵循以下的封装原理:
步骤1101,生成表示位索引显式复制BIER类型的Routing扩展头,将Routing扩展头中的Routing Type字段设置为代表位索引显式复制BIER类型的值,比如5。将剩余段Segments Left字段设置为0,或者255等其他值。
步骤1102,将Routing扩展头的Next Header设置为值59(表示后续No NextHeader),或者根据位索引显式复制BIER报文头中Proto,查找对应的值进行设置,比如位索引显式复制BIER报文头中的Proto值为4,表示其payload是IPv4报文,则Routing扩展头的Next Header值也设置为4(表示IPv4);假如位索引显式复制BIER报文头中的Proto值为6,表示后续是IPv6报文,则Routing扩展头的Next Header值设置为41(表示IPv6报文)。
当BFR收到报文时,处理发现携带Routing扩展头,进一步解析Routing扩展头,发现其中类型为表示位索引显式复制BIER的类型,则按照如下的流程进行处理:
步骤1201,对Routing扩展头里的位索引显式复制BIER报文进行正常的处理流程,按照位索引显式复制BIER报文头中的Bit String查找本地位索引显式复制BIER路由表并进行转发,虽然剩余段Segments Left值为0或者其他值,对该值进行忽略处理。
在当前节点为分支节点,下一跳有多个时,复制生成多个位索引显式复制BIER报文,封装在IPv6 Routing的位索引显式复制BIER类型扩展头中,封装方式类似位转发入口路由器BFIR处理。
当然位转发入口路由器BFIR也可能本身就是分支节点,也会封装根据分支封装多个报文发送。
当BFER收到报文时,处理发现携带Routing扩展头,进一步解析Routing扩展头,根据类型发现是位索引显式复制BIER类型后,按照如下流程进行处理:
步骤1301,对Routing扩展头里的位索引显式复制BIER报文进行正常处理流程,发现本地节点是出口节点时,去掉整个外层IPv6封装,包括内含位索引显式复制BIER类型的Routing扩展头后,再转发给接收者。
进一步的,如果发现本节点是传送节点,即既有接收者,又有下一跳设备需要转发的,则根据BFR的流程继续转发该报文给下一跳节点。
当将位索引显式复制BIER报文头作为IPv6的Routing扩展头新类型时,可选实施例二(即关于剩余段Segments Left处理方式二):
由入口节点BFIR将剩余段Segments Left字段值设置为255,或者将剩余段Segments Left字段值设置为可以预估的到达边缘设备的最大跳数,进而在中间节点逐跳转发时,将该字段值进行减1处理,当该字段值减小到0时,说明报文在转发过程中可能出现环路,需要进行告警提示或者异常日志记录,并不再转发该报文,从而避免报文被转发出不应该转发的域范围。
如图3所示,控制面按照上面所述的方法进行后,数据面封装与转发流程如下:
当位转发入口路由器BFIR收到组播报文,根据需要接收的BFER正常进行位索引显式复制BIER报文头封装后,封装外部IPv6头时,遵循以下的封装原理:
步骤2101,生成表示位索引显式复制BIER类型的Routing扩展头,将Routing扩展头中的Routing Type字段设置为代表位索引显式复制BIER类型的值,比如5。将剩余段Segments Left字段设置为255,或者预估将要经过的最大跳数值,比如预计到达最远接收者要10跳,则该值也可以设置为10。
步骤2102,设置内容同可选实施例一中的步骤1102。
当BFR收到报文时,处理发现携带Routing扩展头,进一步解析Routing扩展头,发现其中类型为表示位索引显式复制BIER的类型,则按照如下的流程进行处理:
步骤2201,对Routing扩展头里的位索引显式复制BIER报文进行正常的处理流程,对剩余段Segments Left进行减1处理,当发现剩余段Segments Left为0时,表明已经到达最大跳数,如果按照位索引显式复制BIER报文头中的Bit String查找本地位索引显式复制BIER路由表发现还有下一跳需要转发,则不能再转发,需要进行告警处理,或者上送控制器报告该情况;如果剩余段Segments Left不为0,则按照可选实施例一中的步骤1201继续转发处理。
当BFER收到报文时,处理发现携带Routing扩展头,进一步解析Routing扩展头,根据类型发现是位索引显式复制BIER类型后,按照如下流程进行处理:
步骤2301,对Routing扩展头里的位索引显式复制BIER报文进行正常处理流程,发现本地节点是出口节点时,去掉整个外层IPv6封装,包括内含位索引显式复制BIER类型的Routing扩展头后,再转发给接收者。
步骤2302,如果发现本节点是传送节点,即既有接收者,又有下一跳设备需要转发的,则需要根据步骤2201中的原则,在剩余段Segments Left值为0时,不能再转发给下一跳节点,并需要进行告警或者上报控制器处理。在剩余段Segments Left值不为0时,对剩余段Segments Left进行减1操作,根据BFR的流程继续转发该报文给下一跳节点。
当将位索引显式复制BIER报文头作为IPv6的Routing扩展头新类型时,可选实施例三(即关于剩余段Segments Left处理方式三):
由入口节点BFIR将剩余段Segments Left字段值设置为255,中间节点逐跳转发时进行减1处理,到达出口节点BFER时,可以根据当前剩余段Segments Left的值计算出报文经过的跳数,该跳数可以记录并上报给控制器或者其他模块,用作统计目的。
如图3所示,控制面按照上面所述的方法进行后,数据面封装与转发流程如下:
当位转发入口路由器BFIR收到组播报文,根据需要接收的BFER正常进行位索引显式复制BIER报文头封装后,封装外部IPv6头时,遵循以下的封装原理:
步骤3101,同可选实施例二的2101,其中将剩余段Segments Left字段设置为255。
步骤3102,设置内容同可选实施例一中的步骤1102。
当BFR收到报文时,处理发现携带Routing扩展头,进一步解析Routing扩展头,发现其中类型为表示位索引显式复制BIER的类型,则按照如下的流程进行处理:
步骤3201,同可选实施例二中的步骤2201处理。
当BFER收到报文时,处理发现携带Routing扩展头,进一步解析Routing扩展头,根据类型发现是位索引显式复制BIER类型后,按照如下流程进行处理:
步骤3301,同可选实施例二中的步骤2301处理。但同时将当前的剩余段SegmentsLeft值,上报控制器或者其他管理模块,使控制器可以获取报文经过的跳数。便于后续的跳数设置。
当将位索引显式复制BIER报文头作为IPv6的Routing扩展头新类型时,可选实施例四(即关于剩余段Segments Left处理方式四):
由于报文可能会经过多个IGP域,或者一些BIER内部的边界,因此,可以预估出大概要经过多少个这样的边界,将边界值填在剩余段Segments Left字段值中,这时的剩余段Segments Left字段值,仅在BFER上,转发给其他IGP域,或者其他BIER内部边界时,对字段值进行减1处理,如果出现单域内转发时对字段值不进行处理,当所述字段值为0时,指示报文到达最大边界不能再继续转发到下一个区域。
如图3所示,控制面按照上面所述的方法进行后,数据面封装与转发流程如下:
当位转发入口路由器BFIR收到组播报文,根据需要接收的BFER正常进行位索引显式复制BIER报文头封装后,封装外部IPv6头时,遵循以下的封装原理:
步骤4101,同可选实施例二的2101,其中将剩余段Segments Left字段设置为预估的最大边界值,如图5所示,假设这个位索引显式复制BIER域内最长跨越3个IGP的Area,则可以将剩余段Segments Left字段设置为3。
步骤4102,设置内容同可选实施例一中的步骤1102。
当BFR收到报文时,处理发现携带Routing扩展头,进一步解析Routing扩展头,发现其中类型为表示位索引显式复制BIER的类型,则按照如下的流程进行处理:
步骤4201,在BFR进行位索引显式复制BIER报文处理转发时,如果发现剩余段Segments Left值为0,表示已经到达最大边界,查找下一跳时,如果下一跳仍然在同一个Area中,比如图5中的BFR2转发的下一跳仍然属于Area3,则正常转发,不会对剩余段Segments Left进行操作。但如果BFR2发现下一跳在另一个Area4,则BFR2不能转发该给属于Area4的下一跳,并且需要告警或者通报控制器出现异常情况。
因此如果是转发给同一个IGP Area中的其他节点,不对剩余段Segments Left做任何操作,只有转发给其他IGP Area的下一跳时,才需要对剩余段Segments Left做减1操作。如图5所示,仅在BFR1,BFR2这样的跨越IGP Area的BFR节点,并且转发下一跳是另一个Area,比如BFR1从Area1转发给Area2中的下一跳,或者BFR2从Area3转发给Area4的下一跳时,才对剩余段Segments Left进行减1操作,如果BFR1转发的下一跳仍然属于Area1,则不会对剩余段Segments Left做减1操作。
当BFER收到报文时,处理发现携带Routing扩展头,进一步解析Routing扩展头,根据类型发现是位索引显式复制BIER类型后,按照如下流程进行处理:
步骤4301,同可选实施例二中的步骤2301处理。
步骤4302,当本BFER同时是传送节点时,对剩余段Segments Left的操作与判断依照步骤4201中的进行。
采用上述关于IPv6报文头中的剩余段Segments Left字段的优化手段,可以将BIER与IPv6深度结合,利用IPv6的路由扩展头,携带用于组播路由的BIER报文头信息,并且结合Segments Left字段的处理方式,可以有效控制BIER报文在IPv6网络的传递范围,结合控制器上报等手段,让BIER报文在IPv6网络中的转发更为可控。
由于位索引显式复制BIER报文与IPv6报文进行结合封装优化方式存在多种,可选的,可将IPv6的Source Address字段填写为位转发入口路由器BFIR的位转发路由器路由前缀BFR-Prefix,具体步骤如下可选实施例五所示:
在位索引显式复制BIER报文头与IPv6头结合使用时,将位转发入口路由器BFIR的位转发路由器路由前缀BFR-Prefix,也就是用于位索引显式复制BIER算路的通告前缀地址,封装到IPv6头的Source Address字段,从而使报文能够携带入口节点位转发入口路由器BFIR的信息,以便故障检测,性能检测,重复流量判断时能够找到入口节点。
在位索引显式复制BIER转发建立,本身是依据IPv6平面建立时,位转发入口路由器BFIR的位转发路由器路由前缀BFR-Prefix本身就是位转发入口路由器BFIR节点的IPv6地址,这时可以直接将该值填入IPv6的Source Address字段中。
在所有节点均支持位索引显式复制BIER的情况下,填入IPv6头Source Address(SA)和Destination Address(DA)字段的也可能是Link-local地址,或者经过某些不支持位索引显式复制BIER节点时,会引入IPv6隧道,使不支持位索引显式复制BIER处理的节点无需看到位索引显式复制BIER报文并处理,这时对外层IPv6头的SA,DA操作,都可能会导致原有的SA,DA信息丢失。这样会使得位转发入口路由器BFIR的位转发路由器路由前缀BFR-Prefix信息丢失。因此为了保证该信息不丢失,需要采取一些特定的手段进行保障,详见如下步骤:
步骤一:控制面扩展:如果所有节点都能采用统一方式保障IPv6报文头的来源地址Source Address字段(即IPv6 SA)传递,则不需要特别的控制面扩展。如果存在无法保障IPv6 SA传递的节点,则在数据面进行操作前,控制面需要通告和收集该能力。通告方式仍然可以采用图4所示TLV的方式进行,以新的扩展类型方式表明支持IPv6 SA保障。
位转发入口路由器BFIR,BFER及所有BFR,在支持该功能时,均在通告中携带IPv6SA保障能力。不支持该能力的不做通告。具体通告可通过IGP,BGP协议扩展进行。
步骤二:数据面处理,当位转发入口路由器BFIR收到组播报文,根据需要接收的BFER正常进行位索引显式复制BIER报文头封装后,封装外部IPv6头时,遵循以下的封装原理:
步骤5101,将IPv6头的SA封装为位转发入口路由器BFIR的位转发路由器路由前缀BFR-Prefix,或者其他任何可以用来唯一标识位转发入口路由器BFIR的IPv6地址。
步骤5102,在域内并非所有节点都能支持IPv6 SA保障能力时,可利用IPv6头中其他未使用的字段,如Traffic Class字段,或者位索引显式复制BIER报文头中的保留字段等,利用这些字段中的某1位或者几位设置为1的方式,表明IPv6的SA需要得到保障处理。
当BFR收到报文时,按照如下的流程进行处理:
步骤5201,当根据位索引显式复制BIER报文头,如果发现不需要进行IPv6 SA保障处理,则依照正常流程进行转发;如果发现需要进行IPv6 SA保障处理,在查找到下一跳进行转发处理时,将当前IPv6头中的SA保持不变,DA可以设置为下一跳的全局可路由IPv6地址,转发可能会存在多种情况,下一跳直连或者下一跳非直连。
在下一跳直连时,如果下一跳支持IPv6封装,则在SA保持不变,DA设置为下一跳全局可路由IPv6地址后可以直接发送;如果下一跳支持的是以太封装或者MPLS封装,则不能直接替换掉当前IPv6头,而是将IPv6头外层再封装以太或者MPLS,IPv6头中的SA保持不变,IPv6头中的DA设置为下一跳的全局可路由IPv6地址。
当下一跳非直连时,需要采用隧道技术进行封装,IPv6头中的SA保持不变,DA设置为下一跳全局可路由IPv6地址。如果采用的隧道仍然为IPv6隧道,且无需修改SA,则可直接发送该报文。如果采用的隧道为GRE(Generic Routing Encapsulation)等隧道,需要修改SA为隧道起点,这时则需要在当前IPv6头之外再进行隧道封装,保证SA不会被修改。
当然位转发入口路由器BFIR也可能遇到下一跳需要进行隧道封装的情况,会采用跟BFR相同的方式进行处理。
当BFER收到报文时,如果发现报文没有进行SA保障,则无需特别处理。如果发现报文进行了SA保障,则按照如下流程进行处理:
步骤5301,在有外层隧道的情况下,剥除外层隧道,将IPv6头中的SA取出,作为位转发入口路由器BFIR的位转发路由器路由前缀BFR-Prefix进行处理。可以用于故障或者路径检测,或者用于重复报文判断与丢弃。
需要注意的是,在任何一跳发现因故障,检测或者其他原因需要报告给位转发入口路由器BFIR时,将被保障的SA作为目的地址发送报文。
BIER报文头已经有BFIR-ID,这个值表示的是入口节点BFIR的BFR-id值,通常用来做性能测量,或者故障检测时使用。在网络中有重复多个BFIR转发同一条流量时,比如BFIR保护场景,出口节点BFER也可以依据BFIR-ID的值来进行判断,选择接收某一个BFIR-ID的流量,丢弃其他BFIR发来的流量。
但在BIER的实际应用中,可能存在入口节点BFIR没有分配BFR-ID的情况,也就是说,所有的出口节点BFER是必须分配BFR-ID的,但入口节点BFIR则并不一定,因此可能存在BFIR没有分配BFR-ID的情况,这样也就会让BIER报文头中的BFIR-ID值无法填入的情况。这时出口节点BFER无法根据该值进行重复流量判断,在有重复流量存在的情况下,会造成重复流量的转发。
因此在BIER报文头与IPv6头结合使用时,将BFIR的BFR-prefix,也就是用于BIER算路的通告前缀地址,封装到IPv6头的Source Address字段,从而使报文能够携带入口节点BFIR的信息,以便故障检测,性能检测,重复流量判断时能够找到入口节点。
利用在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix的优化手段,可以将BIER的重复流量判断提前到IPv6报文中进行,并且入口设备BFIR无需分配BFR-ID,就能实现BIER重复流量判断,可以节省BFR-ID的分配数量,重复流量判断实现更为确切。
由于位索引显式复制BIER报文与IPv6报文进行结合封装优化方式存在多种,可选的,还可以对位索引转发表索引BIFT-ID优化,包括以下可选实施六至可选实施例八的3个实施例:
需要说明的是,在进行如下可选实施例的数据面流程之前,如果所有节点都能采用统一的位索引转发表索引BIFT-ID优化方式,则不需要特别的控制面扩展。如果存在不同处理方式,或者某些节点不能支持位索引转发表索引BIFT-ID优化,则在数据面进行操作前,控制面需要通告和收集该能力。通告方式仍然可以采用图4所示TLV的方式进行,以新的扩展类型方式表明支持位索引转发表索引BIFT-ID优化,位转发入口路由器BFIR,BFER及所有BFR,在支持该功能时,均在通告中携带位索引转发表索引BIFT-ID优化能力,不支持该能力的不做通告,具体通告可通过IGP,BGP协议扩展进行。
可选实施例六:
对位索引转发表索引BIFT-ID携带方式进行优化,在网络中的节点其位转发路由器路由前缀BFR-Prefix长度小于或等于96位时,将位索引转发表索引BIFT-ID的信息填入IPv6的DA。即将IPv6报文中DA的最后32位用来存放位索引转发表索引BIFT-ID值,前面用来存放正常的IPv6可达路由前缀位转发路由器路由前缀BFR-Prefix。这时的处理步骤为:数据面处理;
当位转发入口路由器BFIR收到组播报文,根据需要接收的BFER正常进行位索引显式复制BIER报文头封装后,封装外部IPv6头时,遵循以下的封装原理:
步骤6101,将IPv6头的DA前96位封装为下一跳的位转发路由器路由前缀BFR-Prefix,将下一跳通告的位索引转发表索引BIFT-ID填入DA的低32位中。
当BFR收到报文时,按照如下的流程进行处理:
步骤6201,根据收到报文进行常规的本地前缀判断时,取IPv6 DA的前96位进行查找判断,发现是本地前缀时,再将DA的后32位进行位索引显式复制BIER表项的定位操作,然后根据位索引显式复制BIER报文头进行查表。
步骤6202,在准备复制报文给下一跳时,如果下一跳支持位索引转发表索引BIFT-ID优化方法,则按照下一跳的优化方式进行IPv6报文封装,比如下一跳也支持DA前96位封装为位转发路由器路由前缀BFR-Prefix,后32位封装为位索引转发表索引BIFT-ID时,则根据此规则进行封装下一跳的位转发路由器路由前缀BFR-Prefix和位索引转发表索引BIFT-ID。
如果有的下一跳支持另外的位索引转发表索引BIFT-ID优化方式,比如支持的是前64位封装为位转发路由器路由前缀BFR-Prefix,中间32位封装为表示位索引显式复制BIER的function,后32位封装位索引转发表索引BIFT-ID时,则根据该原则将下一跳的位转发路由器路由前缀BFR-Prefix和位索引转发表索引BIFT-ID封装起来。
如果有的下一跳不支持位索引转发表索引BIFT-ID优化方式,则不对IPv6头的内容进行位索引转发表索引BIFT-ID优化处理。
当BFER收到报文时,按照如下流程进行处理:
步骤6301,类似步骤6201,除了判断是本地前缀外,还会根据位索引显式复制BIER报文头判断出本地有接收者,则将报文剥掉IPv6头和位索引显式复制BIER报文头后发送给接收者。
步骤6302,如果本BFER节点也是传送节点,即还有下一跳需要继续发送,则可采用步骤6202方式进行。
需要注意的是,根据下一跳的不同情况进行封装方式变更,适用于包括位转发入口路由器BFIR,BFR,传送BFER所有节点,而不仅仅是BFR节点。
可选实施例七:
对位索引转发表索引BIFT-ID携带方式进行优化,在网络中的节点其位转发路由器路由前缀BFR-Prefix长度小于或等于96位时,将位索引转发表索引BIFT-ID的信息填入IPv6的SA。即将IPv6报文中SA的最后32位用来存放位索引转发表索引BIFT-ID值,前面用来存放正常的IPv6可达路由前缀位转发路由器路由前缀BFR-Prefix。这时的处理步骤为:
数据面处理:
当位转发入口路由器BFIR收到组播报文,根据需要接收的BFER正常进行位索引显式复制BIER报文头封装后,封装外部IPv6头时,遵循以下的封装原理:
步骤7101,将IPv6头的SA前96位封装为当前位转发路由器路由前缀BFR-Prefix,将下一跳通告的位索引转发表索引BIFT-ID填入SA的低32位中。
当BFR收到报文时,按照如下的流程进行处理:
步骤7201,根据收到报文进行常规的本地前缀判断时依照正常的DA查找流程进行处理,发现是本地前缀时,再将SA的后32位进行位索引显式复制BIER表项的定位操作,然后根据位索引显式复制BIER报文头进行查表。
步骤7202,在准备复制报文给下一跳时,如果下一跳支持位索引转发表索引BIFT-ID优化方法,则按照下一跳的优化方式进行IPv6报文封装,比如下一跳也支持SA前96位封装为位转发路由器路由前缀BFR-Prefix,后32位封装为位索引转发表索引BIFT-ID时,则根据此规则进行封装下一跳的位索引转发表索引BIFT-ID到SA的低32位中。
如果有的下一跳支持另外的位索引转发表索引BIFT-ID优化方式,比如支持的是前64位封装为位转发路由器路由前缀BFR-Prefix,中间32位封装为表示位索引显式复制BIER的function,后32位封装位索引转发表索引BIFT-ID时,则根据该原则将下一跳的位索引转发表索引BIFT-ID封装到SA的低32位中。
如果有的下一跳不支持位索引转发表索引BIFT-ID优化方式,则不对IPv6头的内容进行位索引转发表索引BIFT-ID优化处理。
当BFER收到报文时,按照如下流程进行处理:
步骤7301,类似步骤7201,除了判断是本地前缀外,还会根据位索引显式复制BIER报文头判断出本地有接收者,则将报文剥掉IPv6头和位索引显式复制BIER报文头后发送给接收者。
步骤7302,如果本BFER节点也是传送节点,即还有下一跳需要继续发送,则可采用步骤7202方式进行。
需要注意的是,根据下一跳的不同情况进行封装方式变更,适用于包括位转发入口路由器BFIR,BFR,传送BFER所有节点,而不仅仅是BFR节点。
可选实施例八:
对位索引转发表索引BIFT-ID携带方式进行优化,将位索引转发表索引BIFT-ID填入IPv6报文的Flow Label字段。这时的处理步骤为:
数据面处理:
当位转发入口路由器BFIR收到组播报文,根据需要接收的BFER正常进行位索引显式复制BIER报文头封装后,封装外部IPv6头时,遵循以下的封装原理:
步骤8101,将IPv6头的SA/DA根据正常处理方法进行封装,将Flow Label字段封装为下一跳的位索引转发表索引BIFT-ID。
当BFR收到报文时,按照如下的流程进行处理:
步骤8201,根据收到报文进行常规的本地前缀判断时依照正常的DA查找流程进行处理,发现是本地前缀时,将Flow Label字段作为位索引转发表索引BIFT-ID进行位索引显式复制BIER表项的定位操作,然后根据位索引显式复制BIER报文头进行查表。
步骤8202,在准备复制报文给下一跳时,如果下一跳支持位索引转发表索引BIFT-ID优化方法,则按照下一跳的优化方式进行IPv6报文封装,比如下一跳也支持将位索引转发表索引BIFT-ID封装到Flow Label字段中,则根据此规则进行封装下一跳的位索引转发表索引BIFT-ID到Flow Label字段中。
如果有的下一跳支持另外的位索引转发表索引BIFT-ID优化方式,比如支持的是对将位索引转发表索引BIFT-ID内嵌到DA中,前96位封装为位转发路由器路由前缀BFR-Prefix,中间32位封装为表示位索引显式复制BIER的function,后32位封装位索引转发表索引BIFT-ID时,则根据该原则将下一跳的位索引转发表索引BIFT-ID封装到DA的低32位中。
如果有的下一跳不支持位索引转发表索引BIFT-ID优化方式,则不对IPv6头的内容进行位索引转发表索引BIFT-ID优化处理。
当BFER收到报文时,按照如下流程进行处理:
步骤8301,类似步骤8201,除了判断是本地前缀外,还会根据位索引显式复制BIER报文头判断出本地有接收者,则将报文剥掉IPv6头和位索引显式复制BIER报文头后发送给接收者。
步骤8302,如果本BFER节点也是传送节点,即还有下一跳需要继续发送,则可采用步骤8202方式进行。
需要注意的是,根据下一跳的不同情况进行封装方式变更,适用于包括位转发入口路由器BFIR,BFR,传送BFER所有节点,而不仅仅是BFR节点。
通过以上BIFT-ID的优化使用,可以将BIER与IPv6结合使用的优势进一步激发出来,拓宽BIER应用场景,优化转发处理与效率。
综上,通过上述技术方案,本发明可选实施例提出一种新的报文封装方式,将位索引显式复制BIER封装与IPv6封装结合起来,利用外层IPv6头中的字段,在不影响功能实现的前提下,对位索引显式复制BIER报文头中的字段进行优化处理,包括三个大类,将位索引显式复制BIER报文头封装为IPv6的Routing扩展头新类型,所述IPv6报文头的来源地址Source Address字段的优化,以及位索引转发表索引BIFT-ID优化,引入能力通告进行协商,起到优化报文封装及提高处理速度,拓宽位索引显式复制BIER使用场景的目的,此外,充分利用二者的结合,可以实现数据报文携带封装的优化,对处理流程进行加速,对组播技术的发展有优秀的促进作用。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种报文头的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的报文头的处理装置的结构框图,如图6所示,该装置包括:
处理模块70,用于至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理;将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的选项;在所述IPv6报文头的来源地址SourceAddress字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix;将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中。
通过本发明,可以对位索引显式复制BIER报文和IPv6报文进行如下处理:至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理;将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的新选项;在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix;将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中,进而实现了将BIER报文封装与IPv6报文封装结合起来,在完全不影响功能的情况下,优化报文的封装与处理流程,提高转发效率,采用上述技术方案,解决了相关技术中,未能有效实现在BIER报文与IPv6报文结合封装的过程中进行优化等问题。
应用上述技术方案,如图3所示,这种情况下,将Routing Type可直接设置为BIER。
在一个示例性实施例中,处理模块70,按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理,至少包括以下之一:将所述剩余段Segments Left字段设置为目标值,使所有节点均忽略对所述剩余段Segments Left字段的处理;将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;将位转发入口路由器BFIR将入口节点的剩余段Segments Left字段值设置为到达边缘设备的最大跳数,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,中间节点逐跳转发报文时,对所述字段值进行减1处理,在剩余段Segments Left字段值为255的IPv6报文到达位转发出口路由器BFER时,根据当前剩余段Segments Left字段的值计算出所述IPv6报文经过的跳数;将所述剩余段Segments Left字段设置为所述IPv6报文待经过的边界的最大边界值,当经过所述边界时对所述字段值进行减1处理,当所述字段值为0时,指示报文到达最大边界不能再继续转发到下一个区域。
可以理解的是,在将BIER报文头作为IPv6报文头的路由Routing扩展头的新类型时,需要对IPv6报文头中的剩余段Segments Left字段根据功能需要选择不同的预定义方式进行剩余段Segments Left字段的处理。
可选的,设置的剩余段Segments Left字段的目标值可以是0或者255或者其他任意值,进而使得所有节点均忽略对该字段的处理,由于该方式最简单,因此也可以作为所有节点的默认支持方式;
可选的,由入口节点BFIR将剩余段Segments Left字段值设置为255,或者将剩余段Segments Left字段值设置为可以预估的到达边缘设备的最大跳数,进而在中间节点逐跳转发时,将该字段值进行减1处理,当该字段值减小到0时,说明报文在转发过程中可能出现环路,需要进行告警提示或者异常日志记录,并不再转发该报文,从而避免报文被转发出不应该转发的域范围。
可选的,由入口节点BFIR将剩余段Segments Left字段值设置为255,中间节点逐跳转发时进行减1处理,到达出口节点BFER时,可以根据当前Segments Left的值计算出报文经过的跳数,该跳数可以记录并上报给控制器或者其他模块,用作统计目的。
可选的,由于报文可能会经过多个IGP域,或者一些BIER内部的边界,因此,可以预估出大概要经过多少个这样的边界,将边界值填在剩余段Segments Left字段值中,这时的剩余段Segments Left字段值,仅在BFER上,转发给其他IGP域,或者其他BIER内部边界时,对字段值进行减1处理,如果出现单域内转发时对字段值不进行处理,当所述字段值为0时,指示报文到达最大边界不能再继续转发到下一个区域。
在一个示例性实施例中,处理模块,还用于将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的选项。
简而言之,为了提高位索引显式复制BIER报文头在IPv6报文头中的应用效果,还可以在IPv6报文头的其他扩展头中也添加关于BIER类型的选项。
在一个示例性实施例中,上述装置还包括:通告模块,用于通过控制面通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持,即在本发明实施例中,在将BIER报文头作为IPv6路由Routing扩展头新类型后,通过控制面通告各节点自身对Routing扩展头新增BIER类型的支持进行通告。
在一个示例性实施例中,上述通告模块,还用于通过以下方式之一通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持:TLV方式进行通告,携带在内部网关协议IGP中的位索引显式复制BIER信息进行通告,携带在边界网关协议BGP中的位索引显式复制BIER信息进行通告。
在一个示例性实施例中,上述通告模块,还用于在将各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持设置在位转发路由器路由前缀BFR-Prefix或者位转发路由器标识BFR-ID的通知下,以sub-TLV或者sub-sub-TLV的方式进行通告。
例如,控制面进行通告方式包含各节点通告自身对Routing扩展头新增BIER类型的支持,可以通过TLV的方式,跟随在IGP,或者BGP中BIER信息进行通告,即放在BFR-Prefix或者BFR-id的通知下,以sub-TLV或者sub-sub-TLV的方式进行通告。当通告对SegmentsLeft处理方式的支持情况时,如果所有节点仅统一支持某一种Segments Left字段处理方式,则不需要进一步的通告,但如果有节点支持不同的Segments Left字段处理方式,则需要进行通告进行区分,通告方式也可以是TLV形式。
在所有节点均支持BIER的情况下,填入IPv6报文头中的来源地址Source Address(SA)和目的地址Destination Address(DA)字段的也可能是本地子网Link-local地址,或者经过某些不支持BIER节点时,会引入IPv6隧道,使不支持BIER处理的节点无需看到BIER报文并处理,这时对外层IPv6头的SA,DA操作,都可能会导致原有的SA,DA信息丢失。这样会使得BFIR的BFR-prefix信息丢失。因此为了保证该信息不丢失,需要采取一些特定的手段进行保障,保障方式包括:
在一个示例性实施例中,上述装置还包括:保障模块,用于在所有节点中存在无法保障所述IPv6报文头的来源地址Source Address字段的传递能力的节点的情况下,通过控制面通告和收集所有节点的所述IPv6报文头的来源地址Source Address字段的传递能力的信息。
在一个示例性实施例中,上述装置还包括:确定模块,用于在确认所述IPv6报文头的来源地址Source Address字段的保障能力不被支持时,将所述IPv6报文头中的其他未使用的字段的N位设置为1,以指示所述IPv6报文头的来源地址Source Address需要进行保障处理,其中,所述N的值不小于1。
例如,在域内并非所有节点都能支持IPv6报文头的来源地址Source Address字段的保障能力,这时可利用IPv6头中其他未使用的字段,如Traffic Class字段,或者BIER头中的保留字段等,利用这些字段中的某1位或者几位设置为1的方式,表明IPv6报文头的来源地址Source Address字段需要得到保障处理。
在一个示例性实施例中,上述装置还包括:改造模块,用于对所述IPv6报文中的地址进行改造,以将所述IPv6报文的可路由前缀设置在所述IPv6报文中的前目标数量位中。
需要说明的是,在IPv6报文中的前目标数量位中设置IPv6报文的可路由前缀,其中,目标位数量可以是64位,也可以是96位,本发明对此不做过多限定。
可选的,可将IPv6地址分为前缀+BIFT-ID两个部分,将域内的可达前缀放在其前96位中,也就是用于封装报文时,将IPv6可路由前缀放在前96位中的位置,这样可以支持前缀最长可达96位的情况;剩下32位专门用于存放BIFT-ID值。当然也可以将前108位用来存放可达前缀,后20位用来存放BIFT-ID值,这样可以支持前缀最长可达108位。
可选的,按照draft-ietf-spring-srv6-network-programming中定义的格式LOC:FUNCT:ARG,将IPv6地址分为3个部分,除了表示前缀的LOC,再定义新的FUNCT为BIERfunction,并将BIFT-ID填入ARG的位置,该方法适用于节点的BFR-Prefix长度较短的情况,例如,LOC部分为64位,FUNC为32位,ARG位32位。
在一个示例性实施例中,上述改造模块,还用于将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中目的地址DA中;或将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中来源地址SA中;或将所述位索引转发表索引BIFT-ID填入所述IPv6报文头的流标签Flow Label字段中,不改动所述IPv6报文中目的地址DA与来源地址SA,即将BIFT-ID填入IPv6头中的Flow Label字段,对SA和DA不做改动,这种方法适用于如果BFR-Prefix都必须用128位的地址来表示的场景。
也就是说,在将IPv6地址分为前缀+BIFT-ID两个部分,当BIFT-ID字段嵌入IPv6报文中目的地址DA中时,会将下一跳的IPv6可路由前缀填入DA的前96位以及将下一跳的BIFT-ID填入DA后32位;当将BIFT-ID字段嵌入IPv6报文中来源地址SA中时,DA照常填写下一跳的IPv6可达路由前缀,SA的前96位前缀不做修改,仅将其后32位修改成下一跳的BIFT-ID。
此外,按照draft-ietf-spring-srv6-network-programming中定义的格式LOC:FUNCT:ARG,将IPv6地址分为3个部分,除了表示前缀的LOC,再定义新的FUNCT为BIERfunction,并将BIFT-ID填入ARG的位置,当BIFT-ID字段嵌入IPv6报文中目的地址DA中时,DA的LOC部分填写为下一跳的BFR-prefix,FUNC定义为新的表示BIER的function值,ARG则填入下一跳的BIFT-ID;当将BIFT-ID字段嵌入IPv6报文中来源地址SA中时,DA部分照常填写为下一跳的IPv6可达路由前缀BFR-prefix,SA的LOC部分保持不变,FUNCT部分如果不是表示BIER的function则修改成表示BIER的function值,SA的ARG部分则填写为下一跳的BIFT-ID。
需要说明的是,在进行BIFT-ID的优化使用时,在所有节点都支持统一的BFIT-ID优化手段的情况下,控制面不需要特别扩展。但如果并非所有节点都支持该功能时,为了避免错误处理,也需要引入能力通告的过程,方式仍然可以通过图4所示的TLV方式,定义新的Type类型,在跟随BIER的BFR-prefix等信息通告时携带,也就是通过IGP或者BGP的通告时携带这些信息。这样节点能互相了解到其他节点对该功能的支持情况。比如定义一个新类型的sub-TLV或者sub-sub-TLV表示BIFT-ID优化,更低一级的sub-sub-TLV或者sub-sub-sub-TLV不同Type表示不同的BIFT-ID优化方式来通告;两者同时通告来标明支持BIFT-ID优化,并能具体到支持的方式上;或者仅定义新类型的sub-TLV或者sub-sub-TLV表示BIFT-ID优化,携带的Value值里直接用1/2/3表示不同的具体BIFT-ID优化方式。
在一个示例性实施例中,上述改造模块,还用于将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID的转发表项定位操作前移到IPv6报文中进行。
在一个示例性实施例中,上述改造模块,还用于用所述IPv6报文地址中的特定位表示位索引显式复制BIER表项查找的功能FUNCTION字段。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种报文头的处理方法,其特征在于,包括:
至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:
将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理;
将位索引显式复制BIER报文头作为IPv6报文头的其他扩展头的类型,其中,所述其他扩展头的类型包括作为Hop-by-Hop扩展头中的选项;
在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix;
将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中。
2.根据权利要求1所述的报文头的处理方法,其特征在于,按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理,至少包括以下之一:
将所述剩余段Segments Left字段设置为目标值,使所有节点均忽略对所述剩余段Segments Left字段的处理;
将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;
将位转发入口路由器BFIR将入口节点的剩余段Segments Left字段值设置为到达边缘设备的最大跳数,当中间节点逐跳转发报文时,对所述字段值进行减1处理,当字段值为0时,指示报文转发过程出现环路;
将位转发入口路由器BFIR的剩余段Segments Left字段值设置为255,中间节点逐跳转发报文时,对所述字段值进行减1处理,在剩余段Segments Left字段值为255的IPv6报文到达位转发出口路由器BFER时,根据当前剩余段Segments Left字段的值计算出所述IPv6报文经过的跳数;
将所述剩余段Segments Left字段值设置为所述IPv6报文待经过的边界的最大边界值,当经过所述边界时对所述字段值进行减1处理,当字段值为0时,指示报文到达最大边界不能再继续转发到下一个区域。
3.根据权利要求1所述的报文头的处理方法,其特征在于,将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理之后,所述方法还包括:
通过控制面通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持。
4.根据权利要求3所述的报文头的处理方法,其特征在于,所述方法还包括:
通过以下方式之一通告各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持:TLV方式进行通告,携带在内部网关协议IGP中的位索引显式复制BIER信息进行通告,携带在边界网关协议BGP中的位索引显式复制BIER信息进行通告。
5.根据权利要求3所述的报文头的处理方法,其特征在于,所述方法还包括:
在将各节点自身对将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型的支持设置在位转发路由器路由前缀BFR-Prefix或者位转发路由器标识BFR-ID的通知下,以sub-TLV或者sub-sub-TLV的方式进行通告。
6.根据权利要求1所述的报文头的处理方法,其特征在于,在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix之前,所述方法还包括:
在所有节点中存在无法保障所述IPv6报文头的来源地址Source Address字段的传递能力的节点的情况下,通过控制面通告和收集所有节点的所述IPv6报文头的来源地址Source Address字段的传递能力的信息。
7.根据权利要求1所述的报文头的处理方法,其特征在于,在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix之后,所述方法还包括:
在确认所述IPv6报文头的来源地址Source Address字段的保障能力不被支持时,将所述IPv6报文头中的其他未使用的字段的N位设置为1,以指示所述IPv6报文头的来源地址Source Address需要进行保障处理,其中,所述N的值不小于1。
8.根据权利要求1所述的报文头的处理方法,其特征在于,将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中之前,所述方法还包括:
对所述IPv6报文中的地址进行改造,以将所述IPv6报文的可路由前缀设置在所述IPv6报文中的前目标数量位中。
9.根据权利要求8所述的报文头的处理方法,其特征在于,对所述IPv6报文中的地址进行改造之后,所述方法还包括:
将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中目的地址DA中;或
将所述位索引转发表索引BIFT-ID字段嵌入所述IPv6报文中来源地址SA中;或
将所述位索引转发表索引BIFT-ID填入所述IPv6报文头的流标签Flow Label字段中,不改动所述IPv6报文中目的地址DA与来源地址SA。
10.根据权利要求8所述的报文头的处理方法,其特征在于,所述方法还包括:将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID的转发表项定位操作前移到IPv6报文中进行。
11.根据权利要求8所述的报文头的处理方法,其特征在于,所述方法还包括:用所述IPv6报文地址中的特定位表示位索引显式复制BIER表项查找的功能FUNCTION字段。
12.一种报文头的处理装置,其特征在于,包括:
处理模块,用于至少通过以下方式之一根据位索引显式复制BIER报文头中的字段对IPv6报文头中的字段进行处理:将位索引显式复制BIER报文头作为IPv6报文头的路由扩展头的类型,且按照预定义方式对所述IPv6报文头中的剩余段Segments Left字段进行处理;在所述IPv6报文头的来源地址Source Address字段中填入所述位索引显式复制BIER报文头的位转发路由器路由前缀BFR-Prefix;将所述位索引显式复制BIER报文头中的位索引转发表索引BIFT-ID字段嵌入到所述IPv6报文头的目标字段中。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至11任一项中所述的方法的步骤。
14.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至11任一项中所述的方法的步骤。
CN202010899306.0A 2020-08-31 2020-08-31 报文头的处理方法及装置、存储介质、电子装置 Pending CN112491718A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010899306.0A CN112491718A (zh) 2020-08-31 2020-08-31 报文头的处理方法及装置、存储介质、电子装置
EP21859760.7A EP4207685A4 (en) 2020-08-31 2021-06-04 MESSAGE HEADER PROCESSING METHOD AND APPARATUS, STORAGE MEDIUM AND ELECTRONIC DEVICE
PCT/CN2021/098409 WO2022041916A1 (zh) 2020-08-31 2021-06-04 报文头的处理方法及装置、存储介质、电子装置
US18/022,378 US20230370298A1 (en) 2020-08-31 2021-06-04 Message header processing method and apparatus, storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010899306.0A CN112491718A (zh) 2020-08-31 2020-08-31 报文头的处理方法及装置、存储介质、电子装置

Publications (1)

Publication Number Publication Date
CN112491718A true CN112491718A (zh) 2021-03-12

Family

ID=74920926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010899306.0A Pending CN112491718A (zh) 2020-08-31 2020-08-31 报文头的处理方法及装置、存储介质、电子装置

Country Status (4)

Country Link
US (1) US20230370298A1 (zh)
EP (1) EP4207685A4 (zh)
CN (1) CN112491718A (zh)
WO (1) WO2022041916A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022222582A1 (zh) * 2021-04-21 2022-10-27 中兴通讯股份有限公司 一种报文处理方法、装置、存储介质及电子装置
CN115460133A (zh) * 2022-08-12 2022-12-09 武汉烽火技术服务有限公司 一种bier组播的硬件学习及转发的方法、装置及设备
WO2023029627A1 (zh) * 2021-09-02 2023-03-09 华为技术有限公司 报文转发方法、装置、设备及存储介质
WO2023078144A1 (zh) * 2021-11-04 2023-05-11 华为技术有限公司 报文处理方法、装置及系统
WO2023098132A1 (zh) * 2021-12-02 2023-06-08 中兴通讯股份有限公司 Bier报文转发方法、装置及存储介质
WO2024082617A1 (zh) * 2022-10-17 2024-04-25 中兴通讯股份有限公司 转发表索引的通告方法、节点及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10630743B2 (en) * 2016-09-23 2020-04-21 Cisco Technology, Inc. Unicast media replication fabric using bit indexed explicit replication
US10469379B2 (en) * 2017-02-17 2019-11-05 Cisco Technology, Inc. System and method to facilitate content delivery to multiple recipients in a network environment
CN110417657B (zh) * 2018-04-27 2022-05-17 华为技术有限公司 一种处理组播数据报文的方法及装置
US10616063B1 (en) * 2018-10-12 2020-04-07 Nokia Solutions And Networks Oy Stateless multicast in IP networks
CN113595913B (zh) * 2018-11-02 2023-02-14 华为技术有限公司 报文转发的方法、发送报文的装置和接收报文的装置
CN110784411B (zh) * 2019-09-30 2021-10-01 华为技术有限公司 建立bier转发表项的方法、装置和系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022222582A1 (zh) * 2021-04-21 2022-10-27 中兴通讯股份有限公司 一种报文处理方法、装置、存储介质及电子装置
WO2023029627A1 (zh) * 2021-09-02 2023-03-09 华为技术有限公司 报文转发方法、装置、设备及存储介质
WO2023078144A1 (zh) * 2021-11-04 2023-05-11 华为技术有限公司 报文处理方法、装置及系统
WO2023098132A1 (zh) * 2021-12-02 2023-06-08 中兴通讯股份有限公司 Bier报文转发方法、装置及存储介质
CN115460133A (zh) * 2022-08-12 2022-12-09 武汉烽火技术服务有限公司 一种bier组播的硬件学习及转发的方法、装置及设备
CN115460133B (zh) * 2022-08-12 2023-11-03 烽火通信科技股份有限公司 一种bier组播的硬件学习及转发的方法、装置及设备
WO2024082617A1 (zh) * 2022-10-17 2024-04-25 中兴通讯股份有限公司 转发表索引的通告方法、节点及存储介质

Also Published As

Publication number Publication date
WO2022041916A1 (zh) 2022-03-03
US20230370298A1 (en) 2023-11-16
EP4207685A4 (en) 2024-01-17
EP4207685A1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
US11855877B2 (en) Information management method, apparatus, and system
CN112491718A (zh) 报文头的处理方法及装置、存储介质、电子装置
CN110034971B (zh) 检测业务链的方法及装置
KR20220062335A (ko) Bier 포워딩 테이블 엔트리를 확립하기 위한 방법, 장치 및 시스템
US20200119991A1 (en) Stateless multicast in ip networks
EP3490201B1 (en) Method, device and system for information synchronization
US11405307B2 (en) Information transfer method and device
EP3767898A1 (en) Packet forwarding method and apparatus
US11362954B2 (en) Tunneling inter-domain stateless internet protocol multicast packets
CN112491706B (zh) 数据报文的处理方法及装置、存储介质、电子装置
CN108270673A (zh) 报文发送方法、装置以及系统
EP4030698A1 (en) Packet processing method, device, system and apparatus as well as storage medium
WO2021143279A1 (zh) 段路由业务处理方法和装置、路由设备及存储介质
US20230086487A1 (en) Method for Determining Processing Capability, Node, and System
EP4336781A1 (en) Message processing method and related device
WO2018177273A1 (zh) 一种基于bier信息的处理及装置
US11784919B2 (en) Method for sending BIERv6 packet and first network device
WO2020021558A1 (en) Methods, apparatus and machine-readable media relating to path computation in a communication network
WO2022222582A1 (zh) 一种报文处理方法、装置、存储介质及电子装置
WO2023173989A1 (zh) 转发表的生成方法及装置、存储介质、电子装置
WO2023078144A1 (zh) 报文处理方法、装置及系统
CN116614432A (zh) 报文处理方法、网元设备、控制设备及存储介质
CN118590435A (zh) 一种数据报文传输方法、节点和网络系统
CN118301060A (zh) 组播数据报文的处理方法及装置
CN118075175A (zh) 一种随流检测方法、电子设备和存储介质

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