CN116846815A - 组播流量聚合转发方法及相关设备 - Google Patents

组播流量聚合转发方法及相关设备 Download PDF

Info

Publication number
CN116846815A
CN116846815A CN202310974224.1A CN202310974224A CN116846815A CN 116846815 A CN116846815 A CN 116846815A CN 202310974224 A CN202310974224 A CN 202310974224A CN 116846815 A CN116846815 A CN 116846815A
Authority
CN
China
Prior art keywords
header
forwarding
next hop
multicast
hop address
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
CN202310974224.1A
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.)
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Original Assignee
China Telecom Technology Innovation Center
China Telecom Corp Ltd
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 China Telecom Technology Innovation Center, China Telecom Corp Ltd filed Critical China Telecom Technology Innovation Center
Priority to CN202310974224.1A priority Critical patent/CN116846815A/zh
Publication of CN116846815A publication Critical patent/CN116846815A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Landscapes

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

Abstract

本公开提供了一种组播流量聚合转发方法,应用于路由设备,该方法包括:根据用户加入信息生成位索引转发表BIFT;根据所述用户加入信息和所述BIFT得到每个用户的下一跳地址;对于下一跳地址相同的组播数据,进行第一IPv6位索引显示复制的报文头Bier6Header及扩展头封装以及保留Rev字段置位;以及对所述具有相同下一跳地址的组播流进行聚合转发。本公开实施例的方法提出一种改进Bier6在多SI情况下组播业务流量转发性能的方法,在BIFT下一跳相同的情况下,可以对组播数据流进行聚合转发,提升网络承载效率。

Description

组播流量聚合转发方法及相关设备
技术领域
本公开涉及通信技术领域,尤其涉及一种组播流量聚合转发方法、路由设备、计算机可读存储介质及电子设备。
背景技术
IPv6封装的比特位索引显式复制(Bit Index Explicit ReplicationIPv6encapsulation,Bier6)由于效率高、收敛快、组播业务与组播传输解耦等特点,在IPv6/SRv6网络上得到开展应用。目前各种标准与厂家实现中,位串(BitString,BS)一般最大为256位长,超出部分通过标识符(Set Index,SI)扩展。在大型网络中进入Bier6的位转发路由器BFIR/离开Bier6的位转发路由器BFER的数量远远不止256个,因此SI的使用很普遍。路由器对不同SI配置不同位索引转发表(Bit Index Forwarding Table,BIFT)并分别进行组播复制,将导致多个相同的组播业务流在同一个路由设备上重复传输,造成资源的浪费。
因此,如何避免在多个SI的情况下组播业务流在路由设备上重复传输影响网络转发性能和承载效率的技术问题,是本领域技术人员亟需解决的技术问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种组播流量聚合转发方法、路由设备、计算机可读存储介质及电子设备,以至少解决相关技术中在多SI的情况下组播业务流在路由设备上重复传输影响网络转发性能和承载效率的技术问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开的技术方案如下:
根据本公开的一个方面,提供一种组播流量聚合转发方法,应用于路由设备,包括:根据用户加入信息生成位索引转发表BIFT;根据所述用户加入信息和所述BIFT得到每个用户的下一跳地址;对于下一跳地址相同的组播数据,进行第一IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及保留Rev字段置位;以及对所述具有相同下一跳地址的组播流进行聚合转发。
在本公开的一些实施例中,该方法还包括:基于下一跳地址进行分组;根据分组的数量进行组播复制得到每个组的组播数据。
在本公开的一些实施例中,该方法还包括:根据用户加入信息中的标识符SI得到对应的位索引转发表BIFT转发表。
在本公开的一些实施例中,该方法还包括:根据所述用户加入信息的位转发入口路由设备标识BFER-ID与位索引转发表BIFT的F-BM进行逻辑运算;将逻辑运算结果做匹配运算;以及根据匹配结果得到每个用户的下一跳地址。
在本公开的一些实施例中,该方法还包括:将最后一个标识符SI后的Rev字段置为指示所述SI为最后一个SI的值。
根据本公开的一个方面,提供一种组播流量聚合转发方法,该方法包括:读取上游路由设备传输的第二Bier6报文头及扩展头,根据所述第二Bier6报文头及扩展头生成位索引转发表BIFT;根据所述第二Bier6报文头及扩展头和所述BIFT得到每个用户的下一跳地址;对于下一跳地址相同的组播数据,进行第二IPv6位索引显示复制的报文头Bier6Header及扩展头封装以及Rev字段置位;以及对所述具有相同下一跳地址的组播流进行聚合转发。
在本公开的一些实施例中,在对于下一跳地址相同的组播数据,进行第二IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及Rev字段置位的步骤之前,该方法还包括:基于下一跳地址进行分组;根据分组的数量进行组播复制得到每个组的组播数据。
在本公开的一些实施例中,根据所述第二Bier6报文头及扩展头中的BSL位串长度、子域SD、标识符SI生成位索引转发表BIFT。
在本公开的一些实施例中,该方法还可以包括:若解析所述第二Bier6报文头及扩展头中的标识符SI后的Rev字段不是指示所述SI为最后一个SI的值,则在解析完当前报文头或扩展头后继续解析所述第二Bier6扩展头;若解析所述第二Bier6的扩展头中的标识符SI后的Rev字段为指示所述SI为最后一个SI的值,则停止解析所述第二Bier6扩展头。
在本公开的一些实施例中,该方法还可以包括:根据所述第二Bier6报文头及扩展头依次得到每个SI对应的位串BS;根据所述位串BS与位索引转发表BIFT的F-BM进行逻辑运算;将逻辑运算结果做匹配运算;以及根据匹配结果得到每个用户的下一跳地址。
根据本公开的又一个方面,提供一种路由设备,该设备包括:BIFT生成模块,用于根据用户加入信息生成位索引转发表BIFT进行组播复制;地址获取模块,用于根据所述用户加入信息和所述BIFT得到每个用户的下一跳地址;聚合封装模块,用于对于下一跳地址相同的组播数据,进行第一IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及Rev字段置位;以及转发模块,用于对所述具有相同下一跳地址的组播流进行聚合转发。
根据本公开的又一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的组播流量聚合转发方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的组播流量聚合转发方法。
本公开实施例的方法提出一种改进Bier6在多SI情况下组播业务流量转发性能和效率的方法,在BIFT下一跳相同的情况下,可以对组播数据流进行聚合转发,提升网络承载效率。
进一步地,在插花式不断补点建设的网络中、大型多跳网络中,跨多SI重合的转发路径会更加明显,大大提高了网络转发性能。
更进一步地,在承载大带宽、长时间的直播视频业务时,对转发性能及网络带宽的影响将更为明显。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种组播流量的入口聚合转发方法的流程示意图。
图2是根据本公开实施例中一种组播流量的入口聚合转发方法中确定用户下一跳地址的流程示意图。
图3示出本公开实施例中又一种组播流量的入口聚合转发方法的流程示意图。
图4示出本公开实施例中一种组播流量的中间聚合转发方法的流程示意图。
图5示出本公开实施例中一种组播流量的中间聚合转发方法中确定用户下一跳地址的流程示意图。
图6示出本公开实施例中又一种组播流量的中间聚合转发方法的流程示意图。
图7示出本公开实施例中一种bier6报文头及扩展头格式的示意图。
图8示出本公开实施例中一种bier6组播流量聚合转发的拓扑示意图。
图9示出图3、8中步骤S380、S820的bier6报文格式的示意图。
图10示出图8示出的实施例的组播流量聚合转发效果的示意图。
图11示出本公开实施例中一种路由设备的结构示意图。
图12示出本公开实施例中一种组播流量聚合转发方法的电子设备的示意性框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确具体的限定。
针对上述相关技术中存在的技术问题,本公开实施例提供了一种组播流量聚合转发方法、路由设备、电子设备、计算机可读存储介质,以用于至少解决上述技术问题中的一个或全部。
需要指出的是,本申请实施例中涉及的名词或术语可以相互参考,不再赘述。
下面,将结合附图及实施例对本示例实施方式中的一种组播流量聚合转发方法、路由设备、电子设备及计算机可读存储介质的各个步骤进行更详细的说明。
需要指出的是,本申请实施例中涉及的名词或术语可以相互参考,不再赘述。
本公开的一些实施例提供一种由路由设备执行的组播流量聚合转发方法可以包括:组播流量的入口聚合转发方法和中间聚合转发方法,其中,在路由设备作为组播源数据流入口时执行组播流量的入口聚合转发方法,在路由设备作为下游路由设备接收上游路由设备转发的组播流量时,执行中间聚合转发方法。
图1示出一种组播流量的入口聚合转发方法。如图1所示,方法100可以包括以下步骤:
在步骤S110中,根据用户加入信息生成位索引转发表BIFT。
其中,用户加入信息是用户协议无关组播(Protocol Independent Multicast,PIM)加入信息,其中,PIM加入信息中可以包括标识符(Set index,SI)、位转发出口路由设备标识(bit forwarding egress router Identifier,BFER-ID)等信息。其中,当接入的用户数量为多个时,每个用户都有对应的用户加入信息。
其中,位索引转发表(bit index forwarding table,BIFT)是每个路由设备转发组播报文时使用的表项,还包括邻居(下一跳)节点信息。在一些实施例中,生成的位索引转发表可以有一个或多个。
在步骤S120中,根据用户加入信息和BIFT得到每个用户的下一跳地址。
其中,BIFT转发表包括转发位掩码(F-BM:Forwarding BitMask),用于表示组播数据流到达的各路由设备的身份或地址以及对应的下一跳地址。
在步骤S130中,对于下一跳地址相同的组播数据,进行第一IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及保留Rev字段置位。
其中,IPv6位索引显示复制的报文Bier6,可简称为Bier6,是一种基于位索引进行显式复制的组播转发技术。
其中,保留(Reserve,Rev)字段是SI字段后面的保留位,当存在多个BIFT转发表时,可以通过Rev字段提示下游路由设备进行解析。
在步骤S140中,对具有相同下一跳地址的组播流进行聚合转发。
其中,路由设备将要发往的每一个用户的地址集合用一个位串(bitstring)来表示,BS中的每位都表示一个路由设备地址。路由设备根据位索引转发表BIFT将封装了BS的组播报文根据分组一次性发给下游路由设备。
本公开实施例的方法提出一种改进Bier6在多SI情况下组播业务流量转发性能和效率的方法,在BIFT下一跳相同的情况下,可以对组播数据流进行聚合转发,提升网络承载效率。
进一步地,在插花式不断补点建设的网络中、大型多跳网络中,跨多SI重合的转发路径会更加明显,大大提高了网络转发性能。
更进一步地,在承载大带宽、长时间的直播视频业务时,对转发性能及网络带宽的影响将更为明显。
在本公开的一些实施例中,步骤S110还可以包括根据用户加入信息中的标识符SI得到对应的位索引转发表BIFT转发表。其中,BIFT转发表的数量与SI的数量相对应。在不同SI的BIFT中的组播数据流可以具有相同的下一跳地址。
在本公开的一些实施例中,步骤S120还可以例如图2所示的方法200,方法200可以包括以下步骤:
在步骤S210中,根据用户加入信息的位转发入口路由设备标识BFER-ID与位索引转发表BIFT的F-BM进行逻辑运算。
其中,转发位掩码(F-BM:Forwarding BitMask)表示组播数据流到达的各路由设备的身份或地址。
其中,逻辑运算可以包括布尔逻辑运算(例如,或OR、与AND运算)或辅助布尔逻辑运算(例如,异或XOR和逻辑蕴含IMP运算)。
在步骤S220中,将逻辑运算结果做匹配运算。
在本公开的一些实施例中,匹配运算是指在BIFT转发表中查询BFER-ID的查询结果。如果匹配成功,则表示在BIFT中存在与BFER-ID对应的下一跳地址;如果匹配失败,则表示在BIFT中不存在与BFER-ID对应的下一跳地址。
在步骤S230中,根据匹配结果得到每个用户的下一跳地址。
在本公开的一些实施例中,如果匹配成功,则将BFER-ID对应的下一跳地址作为用户的下一跳地址。
本公开实施例的方法通过逻辑运算以及多次查询匹配的方法不需要复杂的数学计算即可实现可以准确路由到下一跳地址,实现复杂度低,适合硬件实现。
在本公开的一些实施例中,在确定每个用户的下一跳地址之后,在执行步骤S130之前,该方法还可以包括:基于下一跳地址进行分组;根据分组的数量进行组播复制得到每个组的组播数据。其中,将下一跳地址相同的组播数据流分为同一组进行一次转发,从而可以降低复制和转发次数,节省信令开销,提高通信性能。
在本公开的一些实施例中,步骤S130中,进行Rev字段置位的步骤还可以包括:将最后一个标识符SI后的Rev字段置为指示SI为最后一个SI的值。
例如图7示出的报文格式,如图7所示,Bier6报头中还包括如下信息:下一报头(Nextheader)用于标识报头的类型;目的地长度(Hdr Ext Len);选项类型(OT);选项长度(Opt length);位串长度(BSL);子域(SD);标识符(SI);保留位(Rev);TTL(生命周期);Ver(版本);信息熵(Entropy);默认位(OAM&DSCP)。
其中,本公开实施例的方法对Bier6传统报头的Rev进行定义,并对Bier6报头进行了扩展。如图7所示,当该值为1时,表示本SI以及SI对应的转发表(BIFT-ID)非最后一个,指示路由设备在解析完本Bier6头之后,需要继续往下解析下一个Bier6头扩展;当该值为0时,标识已经是最后一个SI以及转发表(BIFT-ID),即最后一个Bier6扩展头。
一方面通过设置SI后的Rev字段表征报文中具有多个SI,从而实现对封装了多个扩展头的报文进行有效解析,从而对不同SI但具有相同下一跳的组播流量进行聚合一次转发,提高了组播流量聚合转发的效率。另一方面,充分利用Bier6报文头及扩展头的可编程特性,将信息写入Rev字段,不引入额外的字段类型,可降低算法实现和执行过程中的通信成本。
图3示出本公开实施例中又一种组播流量的入口聚合转发方法的流程示意图。如图3所示,方法300可以包括以下步骤:
在步骤S310中,根据用户加入信息中的标识符SI得到对应的位索引转发表BIFT。
例如,图8示出的R1路由设备的BIER转发表,根据SI=0和1分为两张转发表。其中,用户A、B、D和E的SI为0,用户C、F和G的SI为1。
在步骤S320中,根据用户加入信息的位转发入口路由设备标识BEFR-ID与位索引转发表BIFT的F-BM进行与运算。
在图8的实施例中,以用户A为例,A的BEFR-ID为0001与F-BM为1111进行与运算得到0001。
在步骤S330中,判断与运算结果是否为0。
在图8的实施例中,判断用户A的运算结果是否为0。
如果不是,则执行步骤S340,确定匹配成功。如果是,则结束执行本次流程。
在图8的实施例中,根据上述分析可知,用户A的运算结果不是0。
在步骤S350中,确定用户的下一跳地址。
在图8的实施例中,R1根据转发表可知,用户A对应的邻居为R2。
在步骤S360中,基于下一跳地址进行分组。
在图8的实施例中,可知A-G中的7个用户对应的邻居也是R2。因此,由R1将7个用户分为同一组。
在步骤S370中,根据分组的数量进行组播复制得到每个组的组播数据。
在步骤S380中,进行第一Bier6Header及扩展头封装以及将最后一个标识符SI后的Rev字段置为指示SI为最后一个SI的值。
在图8的实施例中,由R1将7个用户的路由信息全部封装在第一Bier6报头及扩展头,在封装过程中,在报头中封装SI=0,后面的Rev字段置为指示SI后面还有其他SI值,以及在扩展头中封装SI=1,后面的Rev字段置为指示该SI为最后一个标识符。封装后的报文头和扩展头格式可以例如图9示出的格式。
在步骤S390中,对具有相同下一跳地址的组播流进行聚合转发。
在图8的实施例中,由R1将两张转发表的组播流量聚合实现一次转发给R2。
图4示出本公开实施例中一种组播流量的中间聚合转发方法的流程示意图。如图4所示,方法400可以包括以下步骤:
在步骤S410中,读取上游路由设备传输的第二Bier6报文头及扩展头,根据第二Bier6报文头及扩展头生成位索引转发表BIFT。
其中,第二Bier6报文头及扩展头包括上游路由设备封装的多个BSL位串长度、子域SD、SI和对应的多个位串(BitString)。例如图7示出的报文格式。
在步骤S420中,根据第二Bier6报文头及扩展头和BIFT得到每个用户的下一跳地址。
其中,BIFT转发表包括转发位掩码(F-BM:Forwarding BitMask),用于表示组播数据流到达的各路由设备的身份或地址以及对应的下一跳地址。
在步骤S430中,对于下一跳地址相同的组播数据,进行第二IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及Rev字段置位。
在步骤S440中,对具有相同下一跳地址的组播流进行聚合转发。
本公开实施例的方法可以根据上游路由设备的报文进一步实现读取并解析Bier6报文头及扩展头的方法,实现了在路由设备之间的消息转发方法,可针对下一跳地址相同的多个SI进行一次封装和转发,提高了路由设备之间的网络转发承载效率。
在本公开的一些实施例中,步骤S410还可以包括:根据第二Bier6报文头及扩展头中的BSL位串长度、子域SD、标识符SI生成位索引转发表BIFT。通过位串长度、子域和标识符得到唯一的BIFT的方法,能够提升路由设备解析报文头、扩展头的精准度。
在本公开的一些实施例中,步骤S410还可以包括:若解析第二Bier6报文头及扩展头中的标识符SI后的Rev字段不是指示SI为最后一个SI的值,则在解析完当前报文头或扩展头后继续解析第二Bier6扩展头;若解析第二Bier6的扩展头中的标识符SI后的Rev字段为指示SI为最后一个SI的值,则停止解析第二Bier6扩展头。本公开实施例的方法通过Rev字段指示路由设备解析的方法,避免了在报文转发过程中做报文解析、报文处理造成的资源浪费问题,提高了数据处理能力,节约了带宽资源。
在本公开的一些实施例中,步骤S420还可以例如图5所示的方法500,如图5所示,方法500可以包括以下步骤:
在步骤S510中,根据第二Bier6报文头及扩展头依次得到每个SI对应的位串BS。
其中,该位串BS中的每位都表示一个路由设备地址。
在步骤S520中,根据位串BS与位索引转发表BIFT的F-BM进行逻辑运算。
其中,逻辑运算可以包括布尔逻辑运算(例如,或OR、与AND运算)或辅助布尔逻辑运算(例如,异或XOR和逻辑蕴含IMP运算)。
在步骤S530中,将逻辑运算结果做匹配运算。
在本公开的一些实施例中,匹配运算是指在BIFT转发表中查询BS的查询结果。如果匹配成功,则表示在BIFT中存在与BS对应的下一跳地址;如果匹配失败,则表示在BIFT中不存在与BS对应的下一跳地址。
在步骤S540中,根据匹配结果得到每个用户的下一跳地址。
在本公开的一些实施例中,如果匹配成功,则将BFER-ID对应的下一跳地址作为用户的下一跳地址。
通过逻辑运算以及多次查询匹配的方法不需要复杂的数学计算即可实现可以准确路由到下一跳地址,实现复杂度低,适合硬件实现。
在本公开的一些实施例中,在确定每个用户的下一跳地址之后,在执行步骤S430之前,该方法还可以包括:基于下一跳地址进行分组;根据分组的数量进行组播复制得到每个组的组播数据。本公开实施例的方法对相同的下一跳地址进行分组聚合一次性转发,可以降低复制和转发次数,节省信令开销,提高通信性能。
图6示出本公开实施例中又一种组播流量的中间聚合转发方法的流程示意图。如图6所示,方法600可以包括以下步骤:
在步骤S602中,读取上游路由设备传输的第二Bier6报文头及扩展头,根据第二bier6报文头以及扩展头中的BSL位串长度、子域SD、标识符SI生成位索引转发表BIFT。
例如,图8示出的路由设备R2生成的针对SI=0、SI=1的两个转发表。
在步骤S604中,判断报文头及扩展头中的标识符SI后的Rev字段是否为0。
如果是,则执行步骤S606,根据第二Bier6报文头及扩展头依次得到每个SI对应的位串。
在图8的示例中,R2通过解析第二Bier6报文头及扩展头,得到SI=0时,BS=1111;SI=1是,BS=0111。
如果不是,则返回步骤S602。
在步骤S610中,判断与运算结果是否为0。
在图8的示例中,R2根据SI=0时的BS和BIFT表1中的两个F-BM分别进行与运算,结果都不为0;根据SI=1时的BS和BIFT表2中的两个F-BM分别进行与运算,结果也都不为0。
如果运算结果不为0,则执行步骤S612中,确定匹配成功。如果是,则结束执行本次流程。
在步骤S614中,确定每个用户的下一跳地址。
在图8的实施例中,R2根据转发表可知,下一跳地址包括R3和R4。
在步骤S616中,基于下一跳地址进行分组。
在图8的实施例中,基于下一跳地址分为两组。
在步骤S618中,根据分组的数量进行组播复制得到每个组的组播数据。
在图8的实施例中,将组播流复制一次产生两个数据流。
在步骤S620中,进行Bier6Header及扩展头封装以及将最后一个标识符SI后的Rev字段置为指示SI为最后一个SI的值。
在图8的实施例中,R2将3个用户的路由信息封装在一个Bier6报头及扩展头,在封装过程中,在报头中封装SI=0,后面的Rev字段置为指示SI后面还有其他SI值,以及在扩展头中封装SI=1,后面的Rev字段置为指示该SI为最后一个标识符。R2将其他4个用户的路由信息封装另在一个Bier6报头及扩展头,在封装过程中,在报头中封装SI=0,后面的Rev字段置为指示SI后面还有其他SI值,以及在扩展头中封装SI=1,后面的Rev字段置为指示该SI为最后一个标识符。
在步骤S622中,对具有相同下一跳地址的组播流进行聚合转发。
在图8的实施例中,R2将上述两个报文消息分别发送给R3和R4。
图8示出本公开实施例中一种bier6组播流量聚合转发的场景示意图。基于图8的拓扑,其实施过程如下:
在步骤S810中,7个用户(用户A、用户B、用户C、用户D、用户E、用户F、用户G)接入PIM组播。
在步骤S820中,R1(路由设备)根据7个加入用户对应的BFER-ID进行两张BIFT转发表的轮询,分别进行“与运算”查表,匹配到7个用户的下一跳均为R2。R1进行Bier6封装,对SI=0封装标准Bier6报头,Rev=1,BS1111;随后封装SI=1的扩展头,Rev=0,BS 0111。封装后的报文格式如图9所示。图9中报文头及扩展头的其他信息和图7类似,故在此不再赘述。效果如图10中的R1指向R2的箭头,一次性转发封装后的报文头0:1111和扩展头1:0111。
在步骤S830中,R2根据SI=0查询第一张BIFT做“与运算”,匹配到两个下一跳R3、R4;由于Rev=1继续根据扩展头SI=1查询第二张BIFT做“与运算”,匹配到两个下一跳R3、R4。R2针对两个下一跳进行一次复制产生两个数据流。
到R3的数据流进行Bier封装:对SI=0封装标准Bier6报头,Rev=1,BS 0011;随后封装SI=1的扩展头,Rev=0,BS 0001。效果如图10中的R2指向R3的箭头,一次性转发封装后的报文头0:0011和扩展头1:0001。
到R4的数据流进行Bier封装:对SI=0封装标准Bier6报头,Rev=1,BS1100;随后封装SI=1的扩展头,Rev=0,BS 0110。效果如图10中的R2指向R4的箭头,一次性转发封装后的报文头0:1100和扩展头1:0110。
R3、R4类似R2,但由于本场景之后没有需要聚合的组播流,故均为标准Bier6报文,Rev=0。
具体地,R3根据SI=0查询第一张BIFT做“与运算”,匹配到两个下一跳A、B;由于Rev=1继续根据扩展头SI=1查询第二张BIFT做“与运算”,匹配到两个下一跳C。R2针对三个下一跳进行两次复制产生两个数据流。
到A的数据流进行Bier封装:对SI=0封装标准Bier6报头,Rev=0,BS 0001。效果如图10中的R3指向A的箭头,一次性转发封装后的报文头0:0001。
到B的数据流进行Bier封装:对SI=0封装标准Bier6报头,Rev=0,BS 0010。效果如图10中的R3指向B的箭头,一次性转发封装后的报文头0:0010。
到C的数据流进行Bier封装:对SI=1封装标准Bier6报头,Rev=0,BS 0001。效果如图10中的R3指向C的箭头,一次性转发封装后的报文头1:0001。
R4根据SI=0查询第一张BIFT做“与运算”,匹配到两个下一跳D和E;由于Rev=1继续根据扩展头SI=1查询第二张BIFT做“与运算”,匹配到两个下一跳F和G。R4针对四个下一跳进行三次复制产生两个数据流。
到D的数据流进行Bier封装:对SI=0封装标准Bier6报头,Rev=0,BS 0100。效果如图10中的R4指向D的箭头,一次性转发封装后的报文头0:0100。
到E的数据流进行Bier封装:对SI=0封装标准Bier6报头,Rev=0,BS1000。效果如图10中的R4指向E的箭头,一次性转发封装后的报文头0:1000。
到F的数据流进行Bier封装:对SI=1封装标准Bier6报头,Rev=0,BS 0010。效果如图10中的R4指向F的箭头,一次性转发封装后的报文头1:0010。
到G的数据流进行Bier封装:对SI=1封装标准Bier6报头,Rev=0,BS 0100。效果如图10中的R4指向G的箭头,一次性转发封装后的报文头1:0100。
本领域技术人员可知,上述场景中的路由设备可以为更多或更少。
图11示出本公开实施例中一种路由设备的结构示意图。如图11所示,路由设备1100包括:BIFT生成模块1110,用于根据用户加入信息生成位索引转发表BIFT进行组播复制;地址获取模块1120,用于根据用户加入信息和BIFT得到每个用户的下一跳地址;聚合封装模块1130,用于对于下一跳地址相同的组播数据,进行第一IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及Rev字段置位;以及转发模块1140,用于对具有相同下一跳地址的组播流进行聚合转发。
在本公开的一些实施例中,路由设备1100还可以包括:第一组播复制模块,用于基于下一跳地址进行分组;根据分组的数量进行组播复制得到每个组的组播数据。
在本公开的一些实施例中,BIFT生成模块1110,还可以用于根据用户加入信息中的标识符SI得到对应的位索引转发表BIFT转发表。
在本公开的一些实施例中,地址获取模块1120,还可以用于根据用户加入信息的位转发入口路由设备标识BFER-ID与位索引转发表BIFT的F-BM进行逻辑运算;将逻辑运算结果做匹配运算;以及根据匹配结果得到每个用户的下一跳地址。
在本公开的一些实施例中,聚合封装模块1130,还可以用于将最后一个标识符SI后的Rev字段置为指示所述SI为最后一个SI的值。
在本公开的一些实施例中,BIFT生成模块1110,还可以用于读取上游路由设备传输的第二Bier6报文头及扩展头,根据所述第二Bier6报文头及扩展头生成位索引转发表BIFT;地址获取模块1120,还可以用于根据所述第二Bier6报文头及扩展头和所述BIFT得到每个用户的下一跳地址;聚合封装模块1130,还可以用于对于下一跳地址相同的组播数据,进行第二IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及Rev字段置位;以及转发模块1140,还可以用于对所述具有相同下一跳地址的组播流进行聚合转发。
在本公开的一些实施例中,路由设备1100还可以包括:第二组播复制模块,用于基于下一跳地址进行分组;根据分组的数量进行组播复制得到每个组的组播数据。
在本公开的一些实施例中,BIFT生成模块1110,还可以用于根据所述第二Bier6报文头及扩展头中的BSL位串长度、子域SD、标识符SI生成位索引转发表BIFT。
在本公开的一些实施例中,报文解析模块,用于若解析所述第二Bier6报文头及扩展头中的标识符SI后的Rev字段不是指示所述SI为最后一个SI的值,则在解析完当前报文头或扩展头后继续解析所述第二Bier6扩展头;若解析所述第二Bier6的扩展头中的标识符SI后的Rev字段为指示所述SI为最后一个SI的值,则停止解析所述第二Bier6扩展头。
在本公开的一些实施例中,地址获取模块1120,还可以用于根据所述第二Bier6报文头及扩展头依次得到每个SI对应的位串BS;根据所述位串BS与位索引转发表BIFT的F-BM进行逻辑运算;将逻辑运算结果做匹配运算;以及根据匹配结果得到每个用户的下一跳地址。
关于上述实施例中的路由设备,其中各个设备执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图12来描述根据本公开的这种实施方式的电子设备1200。图12显示的电子设备1200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备1200以通用计算设备的形式表现。电子设备1200的组件可以包括但不限于:上述至少一个处理单元1210、上述至少一个存储单元1220、连接不同系统组件(包括存储单元1220和处理单元1210)的总线1230。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1210执行,使得所述处理单元1210执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1210可以执行如图2中所示的步骤S210,不同类型的卫星基于支持再生载荷通用架构在不同类型的卫星之间交互卫星信息。
存储单元1220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1221和/或高速缓存存储单元1222,还可以进一步包括只读存储单元(ROM)1223。
存储单元1220还可以包括具有一组(至少一个)程序模块1225的程序/实用工具1224,这样的程序模块1225包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1200也可以与一个或多个外部设备1300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1200交互的设备通信,和/或与使得该电子设备1200能与一个或多个其它计算设备进行通信的任何设备(例如路由设备、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1250进行。并且,电子设备1200还可以通过网络适配器1260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1260通过总线1230与电子设备1200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、服务器、终端或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、服务器、终端或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、服务器、终端、或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
根据本公开的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例的各种可选实现方式中提供的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (13)

1.一种组播流量聚合转发方法,其特征在于,应用于路由设备,所述方法包括:
根据用户加入信息生成位索引转发表BIFT;
根据所述用户加入信息和所述BIFT得到每个用户的下一跳地址;
对于下一跳地址相同的组播数据,进行第一IPv6位索引显示复制的报文头Bier6Header及扩展头封装以及保留Rev字段置位;以及
对所述具有相同下一跳地址的组播流进行聚合转发。
2.根据权利要求1所述的一种组播流量聚合转发方法,其特征在于,对于下一跳地址相同的组播数据,进行第一IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及Rev字段置位的步骤之前,所述方法还包括:
基于下一跳地址进行分组;
根据分组的数量进行组播复制得到每个组的组播数据。
3.根据权利要求2所述的一种组播流量聚合转发方法,其特征在于,根据用户加入信息生成位索引转发表BIFT的步骤包括:
根据用户加入信息中的标识符SI得到对应的位索引转发表BIFT转发表。
4.根据权利要求3所述的一种组播流量聚合转发方法,其特征在于,根据所述用户加入信息和所述BIFT得到每个用户的下一跳地址的步骤包括:
根据所述用户加入信息的位转发入口路由设备标识BFER-ID与位索引转发表BIFT的F-BM进行逻辑运算;
将逻辑运算结果做匹配运算;以及
根据匹配结果得到每个用户的下一跳地址。
5.根据权利要求4所述的一种组播流量聚合转发方法,其特征在于,对于下一跳地址相同的组播数据,进行第一IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及Rev字段置位的步骤中进行Rev字段置位包括:
将最后一个标识符SI后的Rev字段置为指示所述SI为最后一个SI的值。
6.根据权利要求5所述的一种组播流量聚合转发方法,其特征在于,所述方法还包括:
读取上游路由设备传输的第二Bier6报文头及扩展头,根据所述第二Bier6报文头及扩展头生成位索引转发表BIFT;
根据所述第二Bier6报文头及扩展头和所述BIFT得到每个用户的下一跳地址;
对于下一跳地址相同的组播数据,进行第二IPv6位索引显示复制的报文头Bier6Header及扩展头封装以及Rev字段置位;以及
对所述具有相同下一跳地址的组播流进行聚合转发。
7.根据权利要求6所述的一种组播流量聚合转发方法,其特征在于,对于下一跳地址相同的组播数据,进行第二IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及Rev字段置位的步骤之前,所述方法还包括:
基于下一跳地址进行分组;
根据分组的数量进行组播复制得到每个组的组播数据。
8.根据权利要求7所述的一种组播流量聚合转发方法,其特征在于,读取上游路由设备传输的第二Bier6报文头及扩展头,根据所述第二Bier6报文头及扩展头生成位索引转发表BIFT进行组播复制的步骤包括:
根据所述第二Bier6报文头及扩展头中的BSL位串长度、子域SD、标识符SI生成位索引转发表BIFT。
9.根据权利要求8所述的一种组播流量聚合转发方法,其特征在于,根据所述第二Bier6报文头及扩展头中的BSL位串长度、子域SD、标识符SI生成位索引转发表BIFT的步骤之后,所述方法还包括:
若解析所述第二Bier6报文头及扩展头中的标识符SI后的Rev字段不是指示所述SI为最后一个SI的值,则在解析完当前报文头或扩展头后继续解析所述第二Bier6扩展头;
若解析所述第二Bier6的扩展头中的标识符SI后的Rev字段为指示所述SI为最后一个SI的值,则停止解析所述第二Bier6扩展头。
10.根据权利要求9所述的一种组播流量聚合转发方法,其特征在于,根据所述第二Bier6报文头及扩展头和所述BIFT得到每个用户的下一跳地址的步骤包括:
根据所述第二Bier6报文头及扩展头依次得到每个SI对应的位串BS;
根据所述位串BS与位索引转发表BIFT的F-BM进行逻辑运算;
将逻辑运算结果做匹配运算;以及
根据匹配结果得到每个用户的下一跳地址。
11.一种路由设备,其特征在于,所述路由设备包括:
BIFT生成模块,用于根据用户加入信息生成位索引转发表BIFT进行组播复制;
地址获取模块,用于根据所述用户加入信息和所述BIFT得到每个用户的下一跳地址;
聚合封装模块,用于对于下一跳地址相同的组播数据,进行第一IPv6位索引显示复制的报文头Bier6 Header及扩展头封装以及Rev字段置位;以及
转发模块,用于对所述具有相同下一跳地址的组播流进行聚合转发。
12.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-10中任意一项所述的组播流量聚合转发方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10中任意一项所述的组播流量聚合转发方法。
CN202310974224.1A 2023-08-03 2023-08-03 组播流量聚合转发方法及相关设备 Pending CN116846815A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310974224.1A CN116846815A (zh) 2023-08-03 2023-08-03 组播流量聚合转发方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310974224.1A CN116846815A (zh) 2023-08-03 2023-08-03 组播流量聚合转发方法及相关设备

Publications (1)

Publication Number Publication Date
CN116846815A true CN116846815A (zh) 2023-10-03

Family

ID=88167232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310974224.1A Pending CN116846815A (zh) 2023-08-03 2023-08-03 组播流量聚合转发方法及相关设备

Country Status (1)

Country Link
CN (1) CN116846815A (zh)

Similar Documents

Publication Publication Date Title
CN113014485B (zh) 一种基于SRv6-TE路径的报文转发方法和报文转发装置
US11652735B2 (en) Multicast data packet processing method, and apparatus
US11258698B2 (en) Multicast forwarding method and related device
WO2020156166A1 (zh) 用于处理报文的方法和装置
CN112511444A (zh) 一种组播流量传输方法、装置、通信节点及存储介质
US10791051B2 (en) System and method to bypass the forwarding information base (FIB) for interest packet forwarding in an information-centric networking (ICN) environment
WO2021174958A1 (zh) 报文转发方法、设备、系统、网络设备和存储介质
WO2020073908A1 (zh) 一种发送路由信息的方法和装置
WO2022007828A1 (zh) 冗余路径的资源预留方法、网络设备和存储介质
US20240106751A1 (en) Method and apparatus for processing detnet data packet
KR20220062347A (ko) 역 경로 포워딩 rpf 검사 방법 및 장치
WO2021197141A1 (zh) 业务处理方法、装置、设备及存储介质
WO2021208843A1 (zh) 分段路由头压缩方法及装置、业务处理方法及装置
KR20210158807A (ko) 라우팅 정보 전송 방법, 패킷 전송 방법 및 관련 장치
US20230353479A1 (en) Edge Computing Data and Service Discovery Using an Interior Gateway Protocol (IGP)
US20230081052A1 (en) Method and apparatus for sending multicast packet
CN108667731A (zh) 一种基于bier信息的处理及装置
CN115297069B (zh) Evpn网络设备及mac地址学习方法、通信系统
CN116846815A (zh) 组播流量聚合转发方法及相关设备
US11909546B2 (en) Method and network node for sending and obtaining assert packet
WO2022037571A1 (zh) 报文转发方法及装置,和计算机可读存储介质
US20210377168A1 (en) Bierv6 packet forwarding method, device, and system
CN106936716B (zh) 一种ttp解析转换方法、转发表项发送方法及装置
WO2023098132A1 (zh) Bier报文转发方法、装置及存储介质
WO2023050981A1 (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