CN115580574A - 报文转发方法、装置以及系统 - Google Patents
报文转发方法、装置以及系统 Download PDFInfo
- Publication number
- CN115580574A CN115580574A CN202110764358.1A CN202110764358A CN115580574A CN 115580574 A CN115580574 A CN 115580574A CN 202110764358 A CN202110764358 A CN 202110764358A CN 115580574 A CN115580574 A CN 115580574A
- Authority
- CN
- China
- Prior art keywords
- node
- multicast
- message
- packet
- segment identifier
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000006870 function Effects 0.000 description 31
- 230000015654 memory Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000010076 replication Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种报文转发方法、装置以及系统。该方法包括:第一节点在组播树存在故障后,获取作为第二节点的父节点的第三节点的信息,该组播树包括该第二节点和该第一节点;该第一节点获取第一报文并向该第三节点发送该第一报文,该第一报文包括该第三节点的分段标识和该第二节点的分段标识。在转发组播业务的组播树存在故障的情况下,该方法能够实现组播业务的正常转发。
Description
技术领域
本申请涉及网络通信技术领域,并且更具体地,涉及一种报文转发方法、装置以及系统。
背景技术
分段路由(segment routing,SR)是一种新型的多协议标签交换(multi-protocollabel switching,MPLS)技术,其在控制面通过内部网关协议(interior gatewayprotocol,IGP))、边界网关协议(border gateway protocol,BGP)来通告全局标签,在数据面通过MPLS或者互联网协议第6版(internet protocol version 6,IPv6)报文头扩展来携带数据报文。SR技术简化了现有MPLS标签分发协议(label distribution protocol,LDP)及针对流量工程扩展的资源预留协议(resource reservation protocol-trafficengineering,RSVP TE)的实现,减少了资源占用。
在SR技术中,利用组播(multicast)技术来支持点到多点(point to multi-point,P2MP)通信,有利于减少带宽消耗和提高服务质量。组播技术以组播组地址作为报文的目的地址,建立组播树,并利用组播树将网络平面逻辑树状,以实现组播点到多点的数据转发。在SR技术和组播技术结合的场景(又称为SR组播场景)中,当转发组播业务的组播树存在故障时,现有的报文转发方法,无法实现对该组播业务的正常转发。
发明内容
本申请提供一种报文转发方法、装置以及系统,在转发组播业务的组播树存在故障的情况下,该方法能够实现组播业务的正常转发。
第一方面,提供了一种报文转发方法,该方法包括:
第一节点在组播树存在故障后,获取作为第二节点的父节点的第三节点的信息,该组播树包括该第二节点和该第一节点;
该第一节点获取第一报文并向该第三节点发送该第一报文,该第一报文包括该第三节点的分段标识和该第二节点的分段标识。
上述技术方案中,转发组播业务的组播树故障后,第一节点向第三节点发送第一报文,通过该第一报文携带第二节点的分段标识和第三节点的分段标识,能够实现将第一报文携带的组播业务正常转发至第二节点。
结合第一方面,在第一方面的一种可能的实现方式中,该组播树还包括的第四节点,该第四节点为该第三节点的子节点,该第一报文还包括该第四节点的分段标识,该第三节点的分段标识为该第三节点的组播分段标识。
上述技术方案中,转发组播业务的组播树故障后,第一节点仅向第三节点发送第一报文,通过该第一报文携带第二节点的分段标识,第三节点的组播分段标识和第四节点的分段标识,能够实现将第一报文携带的组播业务正常转发至第二节点和第四节点。
结合第一方面,在第一方面的一种可能的实现方式中,该组播树还包括第四节点,该第四节点为该第三节点的子节点,该方法还包括:
该第一节点获取第二报文并向该第三节点发送该第二报文,该第二报文包括该第三节点的分段标识和该第四节点的分段标识。
上述技术方案中,转发组播业务的组播树故障后,第一节点需要向第三节点发送第一报文和第二报文,通过该第一报文携带第二节点的分段标识和第三节点的分段标识,能够实现将第一报文携带的组播业务正常转发至第二节点,通过该第二报文携带第三节点的分段标识和第四节点的分段标识,能够实现将第一报文携带的组播业务正常转发至第四节点。
结合第一方面,在第一方面的一种可能的实现方式中,该组播树还包括第四节点,该方法还包括:
该第一节点获取第二报文并向作为该第四节点的父节点的第五节点发送该第二报文,该第二报文包括该第四节点的分段标识和该第五节点的分段标识。
上述技术方案中,转发组播业务的组播树故障后,第一节点需要向第三节点发送第一报文,以及向第五节点发送第二报文,通过第一报文携带第二节点的分段标识和第三节点的分段标识,能够实现将第一报文携带的组播业务正常转发至第二节点,通过该第二报文携带第四节点的分段标识和第五节点的分段标识,能够实现将第一报文携带的组播业务正常转发至第四节点。
结合第一方面,在第一方面的一种可能的实现方式中,该组播树存在故障包括该组播树包括的第六节点存在故障或者该第一节点与第六节点间的链路存在故障,该第六节点为该第二节点的父节点。
结合第一方面,在第一方面的一种可能的实现方式中,该第一节点获取第一报文包括:
该第一节点接收第三报文,该第三报文包括该第六节点的组播分段标识和该第二节点的分段标识;
该第一节点基于该第三节点的信息和该第三报文,获取该第一报文。
结合第一方面,在第一方面的一种可能的实现方式中,该第三节点的信息包括该第三节点的分段标识或者用于确定该第三节点的分段标识的信息。
结合第一方面,在第一方面的一种可能的实现方式中,该方法还包括:
该第一节点从控制器获取该第三节点的分段标识;或者
该第一节点从控制器获取网络拓扑,该网络拓扑包括节点间的链路以及节点的分段标识,该节点包括该第三节点。
第二方面,提供了一种报文转发装置,其特征在于,应用于第一节点,包括:
获取单元,用于在组播树存在故障后,获取作为第二节点的父节点的第三节点的信息,该组播树包括该第二节点和该第一节点;
该获取单元,还用于获取第一报文;
发送单元,用于向该第三节点发送该第一报文,该第一报文包括该第三节点的分段标识和该第二节点的分段标识。
结合第二方面,在第二方面的一种可能的实现方式中,该组播树还包括第四节点,该第四节点为该第三节点的子节点,该第一报文还包括该第四节点的分段标识,该第三节点的分段标识为该第三节点的组播分段标识。
结合第二方面,在第二方面的一种可能的实现方式中,该组播树还包括第四节点,该第四节点为该第三节点的子节点,
该获取单元,还用于获取第二报文;
该发送单元,还用于向该第三节点发送该第二报文,该第二报文包括该第三节点的分段标识和该第四节点的分段标识。
结合第二方面,在第二方面的一种可能的实现方式中,该组播树还包括第四节点
该获取单元,还用于获取第二报文;
该发送单元,还用于向作为该第四节点的父节点的第五节点发送该第二报文,该第二报文包括该第四节点的分段标识和该第五节点的分段标识。
结合第二方面,在第二方面的一种可能的实现方式中,该组播树存在故障包括该组播树包括的第六节点存在故障或者该第一节点与第六节点间的链路存在故障,该第六节点为该第二节点的父节点。
结合第二方面,在第二方面的一种可能的实现方式中,该第一节点还包括接收单元,
该接收单元,用于接收第三报文,该第三报文包括该第六节点的组播分段标识和该第二节点的分段标识;
该获取单元,还用于基于该第三节点的信息和该第三报文,获取该第一报文。
结合第二方面,在第二方面的一种可能的实现方式中,该第三节点的信息包括该第三节点的分段标识或者用于确定该第三节点的分段标识的信息。
结合第二方面,在第二方面的一种可能的实现方式中,
该获取单元,还用于从控制器获取该第三节点的分段标识;或者,
该获取单元,还用于从控制器获取网络拓扑,该网络拓扑包括节点间的链路以及节点的分段标识,该节点包括该第三节点。
第三方面,提供了一种第一节点,该第一节点具有实现上述第二方面所描述的报文转发装置的功能。该功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一节点的结构中包括处理器,该处理器被配置为支持第一节点执行上述方法中相应的功能。
该第一节点还可以包括存储器,该存储器用于与处理器耦合,其保存第一节点必要的程序指令和数据。
在另一个可能的设计中,该第一节点包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一节点时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一节点进入正常运行状态。在第一节点进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。
第五方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
第六方面,提供一种芯片系统,该芯片系统包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第一方面或第一方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片系统可以以中央处理器(central processingunit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logicdevice,PLD)的形式实现。
第七方面,提供了一种报文转发系统,该系统包括上述如第二方面或第二方面任意一种可能的实现方式中的报文转发装置。
附图说明
图1是适用于本申请实施例的网络架构100的示意图。
图2是本申请实施例提供的一种报文转发方法200的示意性流程图
图3是本申请实施例提供的报文转发方法的示意图。
图4是本申请实施例提供的报文转发方法的示意图。
图5是本申请实施例提供的一种报文转发装置500的示意性结构图。
图6是本申请实施例的第一节点2000的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请中术语“第一”“第二”“第三”等字样用于对作用和功能基本相同的相同项或相似项进行区分,“第一”、“第二”和“第三”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面,介绍本申请实施例的相关技术:
首先,对本申请实施例中涉及的相关术语进行介绍。
1,组播(multicast)
组播是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于传输控制协议(transmission control protocol,TCP)/互联网协议(internet protocol,IP)网络上的多个接收者的数据传输方式。组播源经由网络中的链路向组播组中的组播组成员发送组播流,该组播组中的组播组成员均可以接收到该组播流。组播传输方式实现了组播源和组播组成员之间的点对多点的数据连接。由于组播流在每条网络链路上只需传递一次,且只有在链路出现支路时,该组播才会被复制。因此,组播传输方式提高了数据传输效率和减少了骨干网络出现拥塞的可能性。
2,组播组
组播组,用IP组播地址进行标识的一个集合。任何用户主机(或其他接收设备),加入一个组播组,就成为了该组成员,可以识别并接收发往该组播组的组播数据。
3,组播源
信息的发送者称为“组播源”。一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。组播源通常不需要加入组播组。
4,组播组成员
所有加入某组播组的主机便成为该组播组的成员。组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任何地方。
5,组播树(又称为组播转发树或组播分发树)
组播树用来描述携带组播业务的组播报文在网络中传输的路径。组播树包括根节点和多个(2个或2个以上)叶子节点。其中,根节点可以理解为发送组播业务的源节点,叶子节点可以理解为组播业务的接收者。在本申请实施例中,根节点具有的子节点的数目可以大于等于1。
下面结合图1,介绍适用于本申请实施例的网络架构。图1是适用于本申请实施例的组播业务网络100的示意图。如图1所示,该组播业务网络100可以包括:根节点(即,101),多个叶子节点(即,113,114,115,116,117,119和120),以及根节点与叶子节点之间的多个中间节点(即,102,103,104,105,106,107,108,109,110,111,112和118)。其中,根节点可以理解为是发送组播业务的源节点,叶子节点可以理解为是接收组播业务的目的节点。
在图1所示的组播业务网络100,根节点101可以通过上述多个中间节点可以将组播业务转发至多个叶子节点(即,113,114,115,116,117,119和120)。其中,根节点101通过上述多个中间节点可以将组播业务转发至多个叶子节点的路径包括7个分支路径(branch),分别是分支路径1,分支路径2,分支路径3,分支路径4,分支路径5,分支路径6和分支路径7。以分支路径1为例介绍,根节点101可以依次通过中间节点102,105,109,将组播业务转发至叶子节点113。图1中还可以包括多个分支结构,示例性的,如图1中的区域B示出了一个分支结构,如图1中的区域A示出了另一个分支结构。
在本申请实施例中,图1中的根节点101可以基于SR技术,实现基于分段路由的组播点到多点(point 2multiple point,P2MP)的业务转发。在这种SR组播场景中,每个节点(即,图1中的每个节点)可以都支持SR功能,该每个节点可以具有一个分段标识(segmentidentifier,SID)。可以理解的是,该SR组播场景中的SID,与单播场景中的SID的概念相同。特别的,在这种SR组播场景中,当一个节点同时支持SR功能和报文复制功能(即,该一个节点具有将接收到的报文复制多份后分别转发到多个中间节点或多个叶子节点的能力)时,该一个节点具有一个组播SID,该一个节点的组播SID用于标识该一个节点具有的子节点,以及标识从该一个节点至目的节点(例如,该目的节点可以是转发组播业务的中间节点或叶子节点等)的路径包括的具有SID或组播SID的节点。可以理解的是,该SR组播场景中的组播SID,与单播场景中的SID的概念是不相同。SR组播场景中的SID不具有上述SR组播场景中的组播SID的标识能力。
在本申请实施例中,SR组播场景中的一个节点支持报文复制功能,该一个节点具有的子节点数目可以是大于等于1的。例如,图1中的106可以是具有SR功能和报文复制功能的节点,此时106具有组播SID。又如,图1中的101可以是具有SR功能和报文复制功能的节点,此时101具有组播SID。
举例说明,具有多个子节点的节点是具有报文复制功能的。例如,当图1为SR组播场景时,图1中的101,104,105,111,112和118同时具有SR功能和报文复制功能,即这些节点具有组播SID。示例性的,下面以“图1中的101为根节点,多个叶子节点(即,113,114,115和116)为同一组播组成员,以及101,105,106和111同时具有SR功能和报文复制功能,102,103,105,111,113,114,115和116具有SR功能”为例,介绍基于图1所示的组播树转发组播报文的段列表。其中,基于该组播树转发组播业务的段列表可以如下文中的表1所示。基于此,根节点101可以按照表1所示的段列表包括的节点的顺序,将组播业务转发至多个叶子节点(即,113,114,115和116)。
表1
表1的第3列“具有SID或组播SID的节点数目”,表示从该一个节点至目的节点(例如,该目的节点可以是转发组播业务的中间节点或叶子节点等)的路径包括的具有SID或组播SID的节点。以106的组播SID为例,106至目的节点115和116的路径包括的具有SID或组播SID的节点共有3个,分别是111(具有组播SID),115(具有SID)和116(具有SID)。具有SID的节点的SID不用于标识该节点具有的子节点,以及不用于标识从该一个节点至目的节点的路径包括的具有SID或组播SID的节点,故表1中具有SID的节点对应的第2列和第3列的取值为0。
举例说明,上文中表1所示的段列表,仅是在图1的场景中基于SR组播技术将组播业务转发多个叶子节点对应的段列表的一个示例,并不构成任何限定。
能够实现本申请实施例的根节点,中间节点和叶子节点的设备可以是路由器或交换机等。当本申请实施例的根节点,中间节点和叶子节点的设备是路由器时,对各个路由器之间的组播路由协议不做具体限定。例如,该组播路由协议可以是协议无关组播协议(protocol independent multicast,PIM)。又如,该组播路由协议还可以是边界网关协议(border gateway protocol,BGP)。能够实现本申请实施例的SR组播场景包括但不限于:SRv6组播场景,或SR-MPLS组播场景。
举例说明,上述图1所示的组播业务网络100仅为示意,并不对适用于本申请实施例的应用场景构成任何限定。例如,组播业务网络100中,根节点101还可以具有更多数目(例如,6个)或更少数目(例如,1个或2个)的子节点。例如,组播业务网络100还可以还是另一个完整的组播树的部分分支结构。例如,组播业务网络100中还可以包括更多或更少数目的叶子节点。例如,组播业务网络100中还可以包括控制器,该控制器可以给网络100中的节点下发信息,该信息包括但不限于:网络拓扑结构,节点的SID或节点的组播SID等信息。
本申请实施例提供了一种报文转发方法,在转发组播业务的组播树存在故障的情况下,该方法能够实现组播业务的正常转发。
下面结合图2,对本申请实施例提供的一种报文转发方法进行详细描述。图2是本申请实施例提供的一种报文转发方法200的示意性流程图。如图2所示,该方法200可以包括步骤210和步骤220,下面分别对步骤210和步骤220进行详细描述。可以理解的是,该方法200可以应用于SR技术与组播技术结合的场景中(如上述图1所示的网络架构100中),例如但不限于,SRv6组播场景或SR-MPLS组播场景。
步骤210,第一节点在组播树存在故障后,获取作为第二节点的父节点的第三节点的信息,组播树包括第二节点和第一节点。
其中,第一节点可以为组播树中的根节点(例如,图1中的101),第一节点也可以为组播树中的非根的中间节点(例如,图1中的106)。第二节点可以为组播树中的非叶子的中间节点(例如,图1中的107),第二节点也可以为组播树中的叶子节点(例如,图1中的113)。
在本申请实施例中,组播树存在故障包括但不限于:组播树包括的第六节点存在故障或者第一节点与第六节点间的链路存在故障,第六节点为第二节点的父节点。在本申请实施例中,组播树存在故障前和组播树存在故障后,转发组播业务的组播树的组播树标识并未发生变化。其中,第三节点可以理解为,组播树存在故障后向该组播树中加入的新节点。
上述步骤210中的组播树还可以包括第四节点,第四节点为第三节点的子节点。也就是说,在这种实现方式中,上述步骤210中的组播树存在故障前,该组播树包括第一节点,第二节点,第四节点和第六节点。基于该组播树,在一个示例中,第一报文还包括第四节点的分段标识,第三节点的分段标识为第三节点的组播分段标识,其中,第四节点可以为组播树的叶子节点,第四节点也可以为组播树的非叶子的中间节点,下面会结合图3具体介绍该一个示例所描述的报文转发的流程,此处不再赘述。基于该组播树,在另一个示例中,第一节点还用于获取第二报文并向第三节点发送第二报文,第二报文包括第三节点的分段标识和第四节点的分段标识,其中,第四节点可以为组播树的叶子节点,第四节点也可以为组播树的非叶子的中间节点,下面会结合图3具体介绍该示例所描述的报文转发的流程,此处不再赘述。基于该组播树,在又一个示例中,第一节点还用于获取第二报文并向作为第四节点的父节点的第五节点发送第二报文,第二报文包括第四节点的分段标识和第五节点的分段标识,其中,第四节点可以为组播树的叶子节点,第四节点也可以为组播树的非叶子的中间节点,下面会结合图4具体介绍该示例所描述的报文转发的流程,此处不再赘述。
在本申请实施例中,一个节点具有分段标识,表示该一个节点支持SR功能。一个节点具有组播分段标识,表示该一个节点同时具有SR功能和报文复制功能(即,该一个节点具有将接收到的报文复制多份后分别转发到多个中间节点或叶子节点的能力),且该一个节点的组播分段标识用于标识该一个节点具有的子节点,以及标识从该一个节点至目的节点(例如,该目的节点可以是转发组播业务的中间节点或叶子节点等)的路径包括的具有分段标识或组播分段标识的节点。可以理解的是,一个节点的组播分段标识标识的具体内容,与组播树的具体结构相关。其中,一个节点的组播分段标识标识的内容的获取的方式,可以参见上文中有关表1的描述,此处不再赘述。一个具有组播SID的节点具有的子节点数目大于等于1。
可选的,步骤210之前,第一节点还可以确定组播树存在故障。具体的实现方式多种,本申请对此不做具体限定,下面对可能的实现方式进行详细描述。
一种可能的实现方式中,第六节点与第一节点是相邻的两个节点。示例性的,以第六节点是第一节点的子节点为例,第一节点可以是上文图1中的节点103,第六节点可以是上文图1中的节点106。当第六节点存在故障时,第一节点确定第一节点与第六节点直连的接口处于关闭(down)状态,基于此,第一节点确定第六节点发生了故障。
另一种可能的实现方式中,第六节点与第一节点不是相邻的两个节点。示例性的,以第六节点是第一节点的相邻节点的子节点为例,此时,例如,第一节点可以是上文图1中的节点101,第六节点可以是上文图1中的节点105,102是101的相邻节点,105是102的子节点。在这种场景中,还需要在第六节点和第一节点上部署双向转发检测(bidirectionalforwarding detection,BFD)功能。当第六节点存在故障时,第一节点可以通过检测BFD会话确定第六节点发生了故障。
举例说明,上述第一节点,第二节点,第三节点,第四节点,第五节点和第六节点,这些节点中的任意两个节点都不相同。在本申请实施例中,可以理解对第一节点开启了保护
步骤220,第一节点获取第一报文并向第三节点发送第一报文,第一报文包括第三节点的分段标识和第二节点的分段标识。
在一些实现方式中,第一节点获取第一报文包括:第一节点接收第三报文,第三报文包括第六节点的组播分段标识和第二节点的分段标识;第一节点基于第三节点的信息和第三报文,获取第一报文。其中,第三节点的信息包括第三节点的分段标识或者用于确定第三节点的分段标识的信息。示例性的,第三节点的信息可以封装在组播业务报文的IPv6逐段(hop by hop,HBH)头部。本申请实施例对用于确定第三节点的分段标识的信息不做具体限定。
在一个示例中,用于确定第三节点的分段标识的信息可以是组播树标识P2MP ID,P2MP ID可以用于标识不同的P2MP路径,且该不同的P2MP路径中包括以下路径:第一节点至第二节点的路径,且该路径包括作为中间节点的第三节点。其中,P2MP ID可以封装在组播业务报文的IPv6 HBH头部。示例性的,基于P2MP ID确定第三节点的分段标识可以包括如下步骤:
第一节点可以根据本地记录的第一节点至第二节点的多个路径,以及第一节点接收到的组播业务报文的IPv6 HBH中携带的P2MP ID,从多个路径中选出一个路径,该一个路径是第一节点至第二节点的路径,且该路径包括作为中间节点的第三节点;第一节点基于该一个路径,确定第三节点的分段标识。
在另一个示例中,用于确定第三节点的分段标识的信息可以是故障节点的备用节点标识,该备用节点标识用于标识该第三节点的分段标识。其中,故障节点的备用节点标识可以封装组播业务的报文的IPv6 HBH头部。
可选的,在步骤220之前,第一节点还用于:从控制器获取第三节点的分段标识;或者从控制器获取网络拓扑,网络拓扑包括节点间的链路以及节点的分段标识,节点包括第三节点。
上述步骤210和步骤220中所描述的任意一个节点包括但不限于是:路由器或交换机。
上述技术方案中,转发组播业务的组播树故障后,第一节点向第三节点发送第一报文,通过该第一报文携带第二节点的分段标识和第三节点的分段标识,能够实现将第一报文携带的组播业务正常转发至第二节点。
下面结合图3,介绍本申请实施例提供的转发报文方法的两个具体示例。图3的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图3的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。例如,基于本申请实施例提供的报文转发方法不仅适用于SRv6组播场景,同样思路还可以用于SR-MPLS组播场景。
图3是本申请实施例提供的报文转发方法的示意图。在本申请实施例中,对图3所示的树形结构所在的组播树的结构不做具体限定。在一些实现方式中,R2故障前,图3所示的树形结构所在的组播树包括的节点数目大于图3所示的树形结构包括的节点数目。示例性的,图3所示的树形结构可以是图1所示的组播树的部分分支结构。例如,图3中的R1可以是图1中的101,图3中的R2可以是图1中的104,图3中的R3可以是图1中的节点107,图3中的R4可以是图1中的108。又如,图3中的R1可以是图1中的102,图3中的R2可以是图1中的105,图3中的R3可以是图1中的109,图3中的R4可以是图1中的110。在另一些实现方式中,R2故障前,图3所示的树形结构也可以认为是一个完整的组播树,此时,R1是发送组播业务的组播源,R3和R4是接收组播业务的组播组成员,R2是转发组播业务的中间节点。
示例性的,下面以图3所示的树形结构是图1所示的组播树中的区域A中的分支结构为例,介绍报文转发方法流程。此时,R1可以看成是图1中的112,R2可以是图1中的118,R3可以看成是图1中的119,R4可以看成是图1中的120。基于此,在如图3所示的树形结构中利用SRv6组播技术转发组播业务时,R2故障前该场景中包括:转发组播业务的多个中间节点R1,R2,R3和R4,R1和R2是同时支持SRv6功能和报文复制功能的路由器,即R1和R2具有组播SID,R3和R4是支持SRv6功能的路由器,即R3和R4具有SID。其中,R1可以作为上述方法200中的第一节点,R2可以作为第六节点,R3可以作为第二节点,R4可以作为第四节点,R2’可以作为第三节点。R2存在故障后,R2’可以认为是加入R2存在故障前所在组播树的一个新节点。也就是说,R2存在故障前后,可以认为转发组播报文的组播树对应的组播树标识未发生变化。
下面,介绍具体的报文转发流程。
中间节点R1接收到的报文1的SRH中包括段列表1(参见下文表2所示),报文1的有效载荷包括组播业务。同时,R1还可以接收到控制器下发的R2的备用节点R2’的标识信息(例如,R2’的SID,或R2’的组播SID)和网络拓扑结构。
表2
节点的SID | 子节点数目(个) | 具有SID的节点数目(个) |
R1的组播SID | 1(R2) | 3(R2,R3,R4) |
R2的组播SID | 2(R3和R4) | 2(R3和R4) |
R3的SID | 0 | 0 |
R4的SID | 0 | 0 |
此后,R1识别段列表1并确定R1的下一跳目的节点是R2,且R2具有两个子节点,分别是R3和R4。此时,R1通过检测与R2直连的接口发现R2存在故障,基于此,R1确定路径1(即,R1至R3的路径,且该路径包括中间节点R2)和路径2(即,R1至R3的路径,且该路径包括中间节点R2)为不可用状态。在本申请实施例中对R1开启了保护R2的功能,故R2存在上述故障后,R1可以基于本地记录的网络拓扑结构,R2的备用节点R2’的组播SID,R3的SID以及R4的SID,利用现有的路径算法(例如,拓扑无关的无环路备份路径(topology independentloop free alternate,TI-LFA)算法)可以确定R1至R3的新路径为路径1’(即,R1至R3的路径,且该路径包括中间节点R2’),以及R1至R4的新路径为路径2’(即,R1至R4的路径,且该路径包括中间节点R2’)。基于此,R1可以通过路径1’将组播业务转发至R3,以及通过路径2’将组播业务转发至R4。
一个示例,下面以“上述步骤210中的组播树包括第一节点,第二节点,第四节点和第六节点,以及上述步骤220中的第一报文还包括第四节点的分段标识,第三节点的分段标识为第三节点的组播分段标识。”为例,介绍R1基于路径1’和路径2’转发组播业务的具体流程。可以理解的是,在该示例中,R2’支持SRv6功能和报文复制功能(即,R2’具有组播SID)。
基于此,R1可以向R2’发送报文2,报文2的SRH中包括段列表2,报文2的IPv6头部包括:源地址(即R1的组播SID),目的地址(即,R2’的组播SID),报文2的有效载荷包括组播业务,且报文2的SRH中的段列表2的SL指针指向R2’的组播SID。此后,R1基于报文2的IPv6报文头中的目的地址对报文2进行转发。其中,段列表2具体如表3所示。
表3
节点的SID | 子节点数目(个) | 具有SID的节点数目(个) |
R2’的组播SID | 2(R3和R4) | 2(R3和R4) |
R3的SID | 0 | 0 |
R4的SID | 0 | 0 |
报文2转发至R2’后,R2’基于报文2的SRH中的段列表2确定下一跳目的地址为R3和R4。此后,R2’可以向R3发送报文3,以及R2’可以向R4发送报文4。其中,报文3的SRH中包括段列表3(参见下文表4),报文3的IPv6头部包括:源地址(即R2’的组播SID),目的地址(即,R3的SID),报文3的有效载荷包括组播业务,且报文3的SRH中的段列表3的SL的指针指向R3的SID,且SL减为0。此后,R2’基于报文3的IPv6报文头中的目的地址对报文3进行转发。报文4的SRH中包括段列表4(参见下文表5),报文4的IPv6头部包括:源地址(即R2’的组播SID),目的地址(即,R4的SID),报文4的有效载荷包括组播业务,且报文4的SRH中的段列表4的SL指针指向R4的SID,且SL减为0。此后,R2’基于报文4的IPv6报文头中的目的地址对报文4进行转发。
表4
节点的SID | 子节点数目(个) | 具有SID的节点数目(个) |
R3的SID | 0 | 0 |
表5
节点的SID | 子节点数目(个) | 具有SID的节点数目(个) |
R4的SID | 0 | 0 |
报文3转发至R3后,R3识别到目的地址是本节点,同时SL为0。此时,R3会剥离报文3中的SRH和IPv6报头,按照路由方式查路由表中的终端的目的地址,把报文3中的有效载荷包括的组播业务发送给目的终端。
报文4转发至R4后,R4识别到目的地址是本节点,同时SL为0。此时,R4会剥离报文4中的SRH和IPv6报头,按照路由方式查路由表中的终端的目的地址,把报文4中的有效载荷包括的组播业务发送给目的终端。
上述技术方案中,转发组播业务的组播树中的R2是具有组播SID的节点,且R2具有两个子节点(即,R3和R4),当R1检测到R2故障后,R1通过向R2’发送的报文携带R3的分段标识和R4的分段标识,能够实现将该报文中携带的组播业务正常转发至R3和R4。上述方案中,图3所示的树形结构是图1所示的组播树的部分分支结构(即,区域A),本申请实施例提供的方法,当该部分分支结构存在故障时,仅重新确定该部分分支结构的转发路径,不影响未存在故障的分支结构(如区域B),有利于降低根节点101的计算量,以及提高报文转发效率。
另一个示例,下面以“上述步骤210中的组播树包括第一节点,第二节点,第四节点和第六节点,以及上述步骤220中的第一节点还用于获取第二报文并向第三节点发送第二报文,第二报文包括第三节点的分段标识和第四节点的分段标识”为例,介绍R1基于路径1’和路径2’转发组播业务的具体流程。可以理解的是,在该示例中,R2’支持SRv6功能,但不支持报文复制功能(即,R2’具有SID)。
基于此,R1可以向R2’发送报文2’和报文2”。其中,报文2’的SRH中包括段列表2’(参见下文中的表6),报文2’的IPv6头部包括:源地址(即R1的组播SID),目的地址(即,R2’的SID),报文2’的有效载荷包括组播业务,且报文2’的SRH中的段列表2’的SL指针指向R2’的SID。此后,R1基于报文2’的IPv6报文头中的目的地址对报文2’进行转发。其中,报文2”的SRH中包括段列表2”(参见下文中的表7),报文2”的IPv6头部包括:源地址(即R1的组播SID),目的地址(即,R2’的SID),报文2”的有效载荷包括组播业务,且报文2”的SRH中的段列表2”的SL指针指向R2’的SID。此后,R1基于报文2”的IPv6报文头中的目的地址对报文2”进行转发。
表6
节点的SID | 子节点数目(个) | 具有SID的节点数目(个) |
R2’的SID | 0 | 0 |
R3的SID | 0 | 0 |
表7
节点的SID | 子节点数目(个) | 具有SID的节点数目(个) |
R2’的SID | 0 | 0 |
R4的SID | 0 | 0 |
报文2’和报文2”转发至R2’后,R2’基于报文2’的SRH中的段列表2’确定下一跳目的地址为R3,R2’基于报文2”的SRH中的段列表2”确定下一跳目的地址为R4。此后,R2’可以向R3发送更新后的报文2’,以及R2’可以向R4发送更新后的报文2”。其中,更新后的报文2’的SRH中包括段列表2’(参见上文表6),更新后的报文2’的IPv6头部包括:源地址(即R2’的SID),目的地址(即,R3的SID),更新后的报文2’的有效载荷包括组播业务,且更新后的报文2’的SRH中的段列表2’的SL指向R3的SID,且SL减为零。此后,R2’基于更新后的报文2’的IPv6报文头中的目的地址对更新后的报文2’进行转发。其中,更新后的报文2”的SRH中包括段列表2”(参见上文表7),更新后的报文2”的IPv6头部包括:源地址(即R2’的SID),目的地址(即,R4的SID),更新后的报文2”的有效载荷包括组播业务,且更新后的报文2”的SRH中的段列表2’的SL指针指向R4的SID,且SL减为0。此后,R2’基于更新后的报文2”的IPv6报文头中的目的地址对更新后的报文2”进行转发。
更新后的报文2’转发至R3后,R3识别到目的地址是本节点,同时SL为0。此时,R3会剥离更新后的报文2’中的SRH和IPv6报头,按照路由方式查路由表中的终端的目的地址,把更新后的报文2’中的有效载荷包括的组播业务发送给目的终端。
更新后的报文2”转发至R4后,R4识别到目的地址是本节点,同时SL为0。此时,R4会剥离更新后的报文2”中的SRH和IPv6报头,按照路由方式查路由表中的终端的目的地址,把更新后的报文2”中的有效载荷包括的组播业务发送给目的终端。
在上述两个示例中,R2存在故障后转发组播业务的组播树的组播标识,可以与R2不存在故障时转发组播业务的组播树的组播标识相同。
上述图3所示的报文转发方法仅为示意,不对本申请实施例构成任何限定。例如,在一些实现方式中,上述SRv6组播场景还可以替换为SR-MPLS组播场景,在SR-MPLS组播场景中是基于节点标签(label)转发报文的。例如,在一些实现方式中,R2’和R3之间还有一个或多个不支持SRv6功能的路由设备,该一个或多个路由设备仅用于进行普通转发。
上述技术方案中,转发组播业务的组播树中的R2是具有SID的节点,且R2具有两个子节点(即,R3和R4),当R1检测到R2故障后,R1通过向R2’发送的报文2’携带R2’的分段标识和R3的分段标识,能够实现将该报文2’中携带的组播业务正常转发至R3,以及R1通过向R2’发送的报文2”携带R2’的分段标识和R4的分段标识,能够实现将该报文2”中携带的组播业务正常转发至R4。上述方案中,图3所示的树形结构是图1所示的组播树的部分分支结构(即,区域A),本申请实施例提供的方法,当该部分分支结构存在故障时,仅重新确定该部分分支结构的转发路径,不影响未存在故障的分支结构(如区域B),有利于降低根节点101的计算量,以及提高报文转发效率。
下面结合图4,介绍本申请实施例提供的转发报文方法的又一个具体示例。图4的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图4的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。例如,基于本申请实施例提供的报文转发方法不仅适用于SRv6组播场景,同样思路还可以用于SR-MPLS组播场景。
图4是本申请实施例提供的报文转发方法的示意图。在本申请实施例中,对图4所示的树形结构所在的组播树的结构不做具体限定。在一些实现方式中,R2故障前,图4所示的树形结构可以是另一个具有更多节点的组播树中的部分分支结构。在另一些实现方式中,R2故障前,图4所示的树形结构也可以认为是一个完整的组播树,此时,R1是发送组播业务的组播源,R3和R4是接收组播业务的组播组成员,R2是转发组播业务的中间节点。
示例性的,下面以图4所示的树形结构是图1所示的组播树中的区域B中的分支结构为例,介绍报文转发方法流程。此时,R1可以看成是图1中的106,R2可以是图1中的111,R3可以看成是图1中的115,R4可以看成是图1中的116。基于此,在如图4所示的树形结构中利用SRv6组播技术转发组播业务时,R2故障前该场景中包括:转发组播业务的多个中间节点R1,R2,R3和R4,R1和R2是同时支持SRv6功能和报文复制功能的路由器,即R1和R2具有组播SID,R3和R4是支持SRv6功能的路由器,即R3和R4具有SID。其中,R1可以作为上述方法200中的第一节点,R2可以作为第六节点,R3可以作为第二节点,R4可以作为第四节点,R5可以作为第三节点,R6可以作为第五节点。R2存在故障后,R2’可以认为是加入R2存在故障前所在组播树的一个新节点。也就是说,R2存在故障前后,可以认为转发组播报文的组播树对应的组播树标识未发生变化。
下面,介绍具体的报文转发流程。
中间节点R1接收到的报文1的SRH中包括段列表1(参见下文表8所示),报文1的有效载荷包括组播业务。同时,R1还可以接收到控制器下发转发组播业务所在网络的网络拓扑结构,以及R2的备用节点R2’的标识信息(例如,R2’的SID,或R2’的组播SID)。
表8
节点的SID | 子节点数目(个) | 具有SID的节点数目(个) |
R1的组播SID | 1(R2) | 3(R2,R3,R4) |
R2的组播SID | 2(R3和R4) | 2(R3和R4) |
R3的SID | 0 | 0 |
R4的SID | 0 | 0 |
此后,R1识别段列表1并确定R1的下一跳目的节点是R2,且R2具有两个子节点,分别是R3和R4。此时,R1通过检测与R2直连的接口发现R2存在故障,基于此,R1确定路径1(即,R1至R3的路径,且该路径包括中间节点R2)和路径2(即,R1至R3的路径,且该路径包括中间节点R2)为不可用状态。在本申请实施例中对R1开启了保护R2的功能,故R2存在上述故障后,R1可以基于本地记录的网络拓扑结构,R2的备用节点R2’的组播SID,R3的SID和R4的SID,利用现有的路径算法(例如,TI-LFA算法)可以确定R1至R3的新路径为路径1’(即,R1至R3的路径,且该路径包括中间节点R5),以及R1至R4的新路径为路径2’(即,R1至R4的路径,且该路径包括中间节点R6)。基于此,R1可以通过路径1’将组播业务转发至R3,以及通过路径2’将组播业务转发至R4。此后,R1可以向R5发送报文2,以及向R6发送报文3。其中,报文2的SRH中包括段列表2(参见下文中的表9),报文2的IPv6头部包括:源地址(即R1的组播SID),目的地址(即,R5的SID),报文2的有效载荷包括组播业务,且报文2的SRH中的段列表2的SL指针指向R5的SID。此后,R1基于报文2的IPv6报文头中的目的地址对报文2进行转发。其中,报文3的SRH中包括段列表3(参见下文中的表10),报文3的IPv6头部包括:源地址(即R1的组播SID),目的地址(即,R6的SID),报文3的有效载荷包括组播业务,且报文3的SRH中的段列表3的SL指针指向R6的SID。此后,R1基于报文3的IPv6报文头中的目的地址对报文3进行转发。
表9
节点的SID | 子节点数目(个) | 具有SID的节点数目(个) |
R5的SID | 0 | 0 |
R3的SID | 0 | 0 |
表10
节点的SID | 子节点数目(个) | 具有SID的节点数目(个) |
R6的SID | 0 | 0 |
R4的SID | 0 | 0 |
报文2转发至R5后,R5基于报文2进行转发的流程,与报文3转发至R6后,R6基于报文3进行转发的流程相同。下面,以报文2转发至R5后,R5基于报文2进行转发的流程为例进行介绍。
报文2转发至R5后,R5基于报文2的SRH中的段列表2确定下一跳目的地址为R3和R4。此后,R5可以向R3发送报文4。其中,报文4的SRH中包括段列表4(参见下文表11),报文4的IPv6头部包括:源地址(即R5的SID),目的地址(即,R3的SID),报文4的有效载荷包括组播业务,且报文4的SRH中的段列表4的SL的指针指向R3的SID,且SL减为0。此后,R5基于报文4的IPv6报文头中的目的地址对报文4进行转发。
表11
节点的组播SID | 子节点数目(个) | 具有SID的节点数目(个) |
R3的SID | 0 | 0 |
报文4转发至R3后,R3识别到目的地址是本节点,同时SL为0。此时,R3会剥离报文4中的SRH和IPv6报头,按照路由方式查路由表中的终端的目的地址,把报文4中的有效载荷包括的组播业务发送给目的终端。
在上述两个示例中,R2存在故障后转发组播业务的组播树的组播标识,可以与R2不存在故障时转发组播业务的组播树的组播标识相同。
上述技术方案中,转发组播业务的组播树中的R2是具有组播SID的节点,且R2具有两个子节点(即,R3和R4),当R1检测到R2故障后,R1通过向R5发送的报文2携带R3的SID,能够实现将报文2携带的组播业务成功转发至R3,以及R1通过向R6发送的报文3携带R4的SID,能够实现将报文3携带的组播业务成功转发至R4。上述方案中,图4所示的树形结构是图1所示的组播树的部分分支结构(即,区域B),本申请实施例提供的方法,当该部分分支结构存在故障时,仅重新确定该部分分支结构的转发路径,不影响未存在故障的分支结构(如区域A),有利于降低根节点101的计算量,以及提高报文转发效率。
上述图3和图4所描述的报文转发方法仅为示意,并不对本申请实施例提供的报文转发方法构成任何限定。上文结合图2至图4,详细描述了本申请实施例提供的报文转发方法,下面将结合图5和图6,详细描述本申请的装置的实施例。方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图5是本申请实施例提供的一种报文转发装置500的示意性结构图。该装置500设置于第一节点。图5所示的报文转发装置500可以执行上述实施例的报文传输的方法的相应步骤。如图5所示,该报文转发装置500包括:接收单元510,获取单元520,发送单元530。其中,获取单元520可以用于执行上文方法200中的步骤210,以及上文方法200中的步骤220中的获取第一报文的步骤,发送单元530可以用于执行上文方法200中的步骤220中的向第三节点发送第一报文的报文。接收单元510,用于执行上文方法200中接收第三报文的步骤。
图6是本申请实施例的第一节点2000的硬件结构示意图。图6所示的第一节点2000可以执行上述实施例的报文转发方法。
如图6所示,该第一节点2000包括处理器2001、存储器2002、接口2003和总线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2001、存储器2002和接口2003通过总线2004连接。所述接口2003具体可以包括发送器和接收器,用于第一节点实现上述收发。所述处理器2001用于执行上述实施例中由第一节点进行的处理。存储器2002包括操作系统20021和应用程序20022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及BFIR的处理过程。可选的,所述存储器2002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第一节点2000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一节点2000进入正常运行状态。在第一节点2000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一节点2000的处理过程。图6仅仅示出了第一节点2000的简化设计。在实际应用中,第一节点可以包含任意数量的接口,处理器或者存储器。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一节点执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
本申请实施例还提供了一种芯片系统,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中涉及第一节点的操作。在具体实现过程中,该芯片系统可以以中央处理器(central processingunit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logicdevice,PLD)的形式实现。
本申请实施例还提供了一种计算机程序产品,应用于第一节点中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第一节点的操作。
本申请实施例还提供了一种系统,包括上述第一节点或上述报文转发装置500。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种报文转发方法,其特征在于,所述方法包括:
第一节点在组播树存在故障后,获取作为第二节点的父节点的第三节点的信息,所述组播树包括所述第二节点和所述第一节点;
所述第一节点获取第一报文并向所述第三节点发送所述第一报文,所述第一报文包括所述第三节点的分段标识和所述第二节点的分段标识。
2.根据权利要求1所述的方法,其特征在于,所述组播树还包括第四节点,所述第四节点为所述第三节点的子节点,所述第一报文还包括所述第四节点的分段标识,所述第三节点的分段标识为所述第三节点的组播分段标识。
3.根据权利要求1所述的方法,其特征在于,所述组播树还包括第四节点,所述第四节点为所述第三节点的子节点,所述方法还包括:
所述第一节点获取第二报文并向所述第三节点发送所述第二报文,所述第二报文包括所述第三节点的分段标识和所述第四节点的分段标识。
4.根据权利要求1所述的方法,其特征在于,所述组播树还包括第四节点,所述方法还包括:
所述第一节点获取第二报文并向作为所述第四节点的父节点的第五节点发送所述第二报文,所述第二报文包括所述第四节点的分段标识和所述第五节点的分段标识。
5.根据权利要求1至4任一所述的方法,其特征在于,所述组播树存在故障包括所述组播树包括的第六节点存在故障或者所述第一节点与第六节点间的链路存在故障,所述第六节点为所述第二节点的父节点。
6.根据权利要求5所述的方法,其特征在于,所述第一节点获取第一报文包括:
所述第一节点接收第三报文,所述第三报文包括所述第六节点的组播分段标识和所述第二节点的分段标识;
所述第一节点基于所述第三节点的信息和所述第三报文,获取所述第一报文。
7.根据权利要求1至6任一所述的方法,其特征在于,所述第三节点的信息包括所述第三节点的分段标识或者用于确定所述第三节点的分段标识的信息。
8.根据权利要求1至7任一所述的方法,其特征在于,所述方法还包括:
所述第一节点从控制器获取所述第三节点的分段标识;或者
所述第一节点从控制器获取网络拓扑,所述网络拓扑包括节点间的链路以及节点的分段标识,所述节点包括所述第三节点。
9.一种报文转发装置,其特征在于,应用于第一节点,包括:
获取单元,用于在组播树存在故障后,获取作为第二节点的父节点的第三节点的信息,所述组播树包括所述第二节点和所述第一节点;
所述获取单元,还用于获取第一报文;
发送单元,用于向所述第三节点发送所述第一报文,所述第一报文包括所述第三节点的分段标识和所述第二节点的分段标识。
10.根据权利要求9所述的装置,其特征在于,所述组播树还包括第四节点,所述第四节点为所述第三节点的子节点,所述第一报文还包括所述第四节点的分段标识,所述第三节点的分段标识为所述第三节点的组播分段标识。
11.根据权利要求9所述的装置,其特征在于,所述组播树还包括第四节点,所述第四节点为所述第三节点的子节点,
所述获取单元,还用于获取第二报文;
所述发送单元,还用于向所述第三节点发送所述第二报文,所述第二报文包括所述第三节点的分段标识和所述第四节点的分段标识。
12.根据权利要求9所述的装置,其特征在于,所述组播树还包括第四节点
所述获取单元,还用于获取第二报文;
所述发送单元,还用于向作为所述第四节点的父节点的第五节点发送所述第二报文,所述第二报文包括所述第四节点的分段标识和所述第五节点的分段标识。
13.根据权利要求9至12任一所述的装置,其特征在于,所述组播树存在故障包括所述组播树包括的第六节点存在故障或者所述第一节点与第六节点间的链路存在故障,所述第六节点为所述第二节点的父节点。
14.根据权利要求13所述的装置,其特征在于,所述第一节点还包括接收单元,
所述接收单元,用于接收第三报文,所述第三报文包括所述第六节点的组播分段标识和所述第二节点的分段标识;
所述获取单元,还用于基于所述第三节点的信息和所述第三报文,获取所述第一报文。
15.根据权利要求9至14任一所述的装置,其特征在于,所述第三节点的信息包括所述第三节点的分段标识或者用于确定所述第三节点的分段标识的信息。
16.根据权利要求9至15任一所述的装置,其特征在于,
所述获取单元,还用于从控制器获取所述第三节点的分段标识;或者,
所述获取单元,还用于从控制器获取网络拓扑,所述网络拓扑包括节点间的链路以及节点的分段标识,所述节点包括所述第三节点。
17.一种报文转发系统,其特征在于,包括如权利要求9至16中任一项所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110764358.1A CN115580574A (zh) | 2021-07-06 | 2021-07-06 | 报文转发方法、装置以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110764358.1A CN115580574A (zh) | 2021-07-06 | 2021-07-06 | 报文转发方法、装置以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115580574A true CN115580574A (zh) | 2023-01-06 |
Family
ID=84579847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110764358.1A Pending CN115580574A (zh) | 2021-07-06 | 2021-07-06 | 报文转发方法、装置以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115580574A (zh) |
-
2021
- 2021-07-06 CN CN202110764358.1A patent/CN115580574A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10305818B2 (en) | Fast fail-over using tunnels | |
CN108337157B (zh) | 一种网络中传输报文的方法和节点 | |
CN109729009B (zh) | 用于实现组播业务的方法和装置 | |
CN113132229B (zh) | 段标识的确定方法和设备 | |
US20150146727A1 (en) | Forwarding Packets and PE Devices in VPLS | |
US11374860B2 (en) | Method and apparatus for sending routing information for network nodes | |
CN113055295A (zh) | 通信方法、通信设备和通信系统 | |
WO2021082812A1 (zh) | 报文的发送方法和第一网络设备 | |
WO2018068588A1 (zh) | 提供组播业务的方法和软件定义网络控制器 | |
EP4044523A1 (en) | Packet forwarding method, first network device, and first device group | |
CN112688827B (zh) | 一种组播流检测方法、设备及系统 | |
CN111614505A (zh) | 报文处理的方法和网关设备 | |
CN114690680A (zh) | 数据处理的方法、控制器以及第一网络设备 | |
US11909546B2 (en) | Method and network node for sending and obtaining assert packet | |
CN115580574A (zh) | 报文转发方法、装置以及系统 | |
CN114465942A (zh) | 一种同时支持二三层组播流量的转发方法及系统 | |
CN114006780A (zh) | 报文转发的方法、设备以及系统 | |
CN109039921B (zh) | 一种指定路由器切换方法、组播路由器及组播网络 | |
CN111953786A (zh) | 全网报文的录取系统、方法、装置、网络设备及存储介质 | |
CN113765815B (zh) | 组播报文负载分担的方法、设备和系统 | |
US20230336484A1 (en) | Load sharing method, root node device, leaf node device, and system | |
EP4254881A1 (en) | Routing transmission method and apparatus | |
CN111565141B (zh) | 数据传输方法、第一pe和第二pe | |
CN108881015B (zh) | 一种报文广播方法和装置 | |
CN114726795A (zh) | 负载分担的方法、根节点设备、叶子节点设备以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |