CN115883452A - Communication method and communication device - Google Patents
Communication method and communication device Download PDFInfo
- Publication number
- CN115883452A CN115883452A CN202111137441.2A CN202111137441A CN115883452A CN 115883452 A CN115883452 A CN 115883452A CN 202111137441 A CN202111137441 A CN 202111137441A CN 115883452 A CN115883452 A CN 115883452A
- Authority
- CN
- China
- Prior art keywords
- node
- multicast
- interface
- backup path
- message
- 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 102
- 238000004891 communication Methods 0.000 title claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 32
- 238000012545 processing Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 10
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了一种通信方法和通信装置,该方法包括:第一节点获取第一组播报文,第一组播报文包括第二节点的组播路由标识和第二节点在第一组播树中的子节点的组播路由标识,第二节点为第一组播树中第一节点的非叶子子节点,第一组播树用于指示第一组播报文的转发路径;在第二节点故障或第一节点与第二节点之间的链路故障时,第一节点基于目标备份路径对第一组播报文处理,得到第二组播报文,第二组播报文包括目标备份路径的指示信息,第二组播报文包括第一组播树中第二节点的子节点的组播路由标识;第一节点向第三节点发送第二组播报文,第三节点是目标备份路径中的第一跳节点。第一节点与第二节点无法正常通信时,能快速切换到备份路径,不会浪费带宽。
A communication method and a communication device are provided, the method includes: a first node acquires a first multicast message, the first multicast message includes a second node's multicast routing identifier and the second node in the first multicast tree The multicast routing identifier of the child node in the second node is a non-leaf child node of the first node in the first multicast tree, and the first multicast tree is used to indicate the forwarding path of the first multicast message; in the second When a node fails or a link between the first node and the second node fails, the first node processes the first multicast message based on the target backup path to obtain a second multicast message, and the second multicast message includes the target The indication information of the backup path, the second multicast message includes the multicast routing identifier of the child node of the second node in the first multicast tree; the first node sends the second multicast message to the third node, and the third node is The first hop node in the target backup path. When the first node and the second node cannot communicate normally, they can quickly switch to the backup path without wasting bandwidth.
Description
技术领域technical field
本申请涉及通信领域,更为具体地,涉及一种通信方法和通信装置。The present application relates to the communication field, and more specifically, to a communication method and a communication device.
背景技术Background technique
面向组播的快速重路由(multicast-only fast reroute,MoFRR)是一种端到端双发选收保护方案,每个边缘节点可以通过正交路径向组播源发送加入(join)信令,上游节点需要逐跳生成表项,建立备份路径。组播源向边缘节点同时发送主流量和备份流量,边缘节点可以优先选择主流量,当边缘节点在一定的时间阈值内未接收到主流量时,边缘节点可以接收备份流量。在这种技术方案中,每个组播业务的每个边缘节点占用网络双份带宽,存在带宽浪费的问题。Multicast-oriented fast reroute (multicast-only fast reroute, MoFRR) is an end-to-end dual-feed selective reception protection scheme, each edge node can send join (join) signaling to the multicast source through an orthogonal path, The upstream node needs to generate table entries hop by hop to establish a backup path. The multicast source sends the main traffic and the backup traffic to the edge nodes at the same time, and the edge nodes can preferentially select the main traffic. When the edge node does not receive the main traffic within a certain time threshold, the edge node can receive the backup traffic. In this technical solution, each edge node of each multicast service occupies double bandwidth of the network, and there is a problem of bandwidth waste.
发明内容Contents of the invention
本申请提供了一种通信方法和通信装置,在两个节点无法正常通信时,可以快速切换到备份路径,不会浪费带宽。The present application provides a communication method and a communication device, which can quickly switch to a backup path when two nodes cannot communicate normally without wasting bandwidth.
第一方面,本申请提供了一种通信方法,该方法可以由第一节点来执行,或者,也可以由配置在第一节点中的部件(如芯片、芯片系统等)执行,本申请对此不作限定。In the first aspect, the present application provides a communication method, which can be executed by the first node, or can also be executed by components (such as chips, chip systems, etc.) configured in the first node. Not limited.
示例性地,该方法包括:第一节点获取第一组播报文,第一组播报文包括第二节点的组播路由信息,第二节点的组播路由信息包括第二节点的组播路由标识和第二节点在第一组播树中的子节点的组播路由标识,第二节点为第一组播树中第一节点的非叶子子节点,第一组播树用于指示第一组播报文的转发路径,其中,一个节点的组播路由标识用于确定该节点的下一跳;在第一节点与第二节点无法正常通信的情况下,无法正常通信包括第二节点故障或第一节点与第二节点之间的链路故障,第一节点基于目标备份路径对第一组播报文进行处理,得到第二组播报文,第二组播报文包括目标备份路径的指示信息,且第二组播报文包括第一组播树中第二节点的子节点的组播路由标识;第一节点向第三节点发送第二组播报文,第三节点是目标备份路径中的第一跳节点,第三节点不在第一组播树中。Exemplarily, the method includes: the first node acquires a first multicast packet, the first multicast packet includes multicast routing information of the second node, and the multicast routing information of the second node includes the multicast routing information of the second node The routing identifier and the multicast routing identifier of the child node of the second node in the first multicast tree, the second node is a non-leaf child node of the first node in the first multicast tree, and the first multicast tree is used to indicate the first multicast tree The forwarding path of a multicast packet, wherein the multicast routing identifier of a node is used to determine the next hop of the node; when the first node cannot communicate normally with the second node, the failure to communicate normally includes the second node failure or a link failure between the first node and the second node, the first node processes the first multicast message based on the target backup path to obtain the second multicast message, and the second multicast message includes the target backup path The indication information of the path, and the second multicast packet includes the multicast routing identifier of the child node of the second node in the first multicast tree; the first node sends the second multicast packet to the third node, and the third node is The first hop node in the target backup path, and the third node is not in the first multicast tree.
应理解,当第二节点在第一组播树中的子节点是第一组播树中的非叶子子节点时,第二节点在第一组播树中的子节点的组播路由标识可以包含在该子节点的组播路由信息中,该子节点的组播路由信息中可以包括该子节点的组播路由标识和寻址字段,寻址字段可以用于该节点确定该节点的子节点的组播路由信息的位置;当第二节点在第一组播树中的子节点是第一组播树中的叶子节点时,第二节点的组播路由信息可以包括第二节点在第一组播树中的子节点的组播路由标识,第二节点的组播路由信息可以不包括第二节点在第一组播树中的子节点的寻址字段。It should be understood that when the child node of the second node in the first multicast tree is a non-leaf child node in the first multicast tree, the multicast routing identifier of the child node of the second node in the first multicast tree may be Included in the multicast routing information of the child node, the multicast routing information of the child node may include the multicast routing identifier and addressing field of the child node, and the addressing field may be used by the node to determine the child node of the node The position of the multicast routing information of the second node; when the child node of the second node in the first multicast tree is a leaf node in the first multicast tree, the multicast routing information of the second node may include the second node in the first multicast tree The multicast routing identifier of the child node in the multicast tree, the multicast routing information of the second node may not include the addressing field of the second node's child node in the first multicast tree.
基于上述方案,在参与组播报文转发的节点上预先存储有可以绕开故障节点或故障链路的备份路径,当第一节点感知到第二节点发生设备故障或第一节点与第二节点的链路发生故障时,就可以在预先存储的备份路径中查找目标备份路径,把该目标备份路径封装到报文中,基于该目标备份路径发送该报文即可,由此一来,在第一节点和第二节点无法正常通信的情况下,就可以快速地切换到目标备份路径,将目标备份路径封装到报文中,基于目标备份路径继续发送报文,这种方式不会浪费带宽,并且还可以为组播提供可靠的保障机制。Based on the above scheme, a backup path that can bypass the faulty node or faulty link is pre-stored on the nodes participating in the multicast packet forwarding. When the first node perceives that the second node has a device failure or When the link fails, you can search for the target backup path in the pre-stored backup paths, encapsulate the target backup path into a message, and send the message based on the target backup path. When the first node and the second node cannot communicate normally, they can quickly switch to the target backup path, encapsulate the target backup path into a message, and continue to send messages based on the target backup path. This method will not waste bandwidth , and can also provide a reliable guarantee mechanism for multicast.
结合第一方面,在某些可能的实现方式中,第二组播报文中包括第二节点的组播路由标识,且第二节点的子节点的组播路由标识包含在第二节点的组播路由信息中。With reference to the first aspect, in some possible implementation manners, the second multicast packet includes the multicast routing identifier of the second node, and the multicast routing identifier of the child node of the second node is included in the multicast routing identifier of the second node. information.
基于上述方案,第一节点可以将第二组播报文发送给第三节点,第三节点可以基于第二报文中的组播报文的转发路径的指示信息将组播报文转发给第二节点,由此一来,第二节点还是组播报文转发路径中的一个节点,第二节点还可以将组播报文转发给第二节点的子节点。Based on the above solution, the first node can send the second multicast packet to the third node, and the third node can forward the multicast packet to the third node based on the indication information of the forwarding path of the multicast packet in the second packet The second node, therefore, the second node is still a node in the multicast message forwarding path, and the second node can also forward the multicast message to the child nodes of the second node.
结合第一方面,在某些可能的实现方式中,第二组播报文中不包括第二节点的组播路由标识。With reference to the first aspect, in some possible implementation manners, the second multicast packet does not include the multicast routing identifier of the second node.
基于上述方案,第一节点可以将第二组播报文发送给第三节点,第三节点可以基于第二报文中的组播报文的转发路径的指示信息将组播报文转发给第二节点的子节点,但不会将报文转发给第二节点,由此一来,第二节点就不再是组播报文转发路径中的一个节点,就不需要通过第二节点将组播报文转发给第二节点的子节点,因此,无论第二节点是发生设备故障,还是第一节点与第二节点之间的链路发生故障,都不会影响组播报文的转发。Based on the above solution, the first node can send the second multicast packet to the third node, and the third node can forward the multicast packet to the third node based on the indication information of the forwarding path of the multicast packet in the second packet The child node of the second node will not forward the message to the second node, so the second node is no longer a node in the forwarding path of the multicast message, and there is no need to pass the group through the second node The multicast message is forwarded to the child nodes of the second node. Therefore, no matter whether the second node has a device failure or a link between the first node and the second node fails, the forwarding of the multicast message will not be affected.
结合第一方面,在某些可能的实现方式中,该方法还包括:第一节点基于一个或多个备份路径生成第一转发表,第一转发表中包括一个或多个备份路径中的每个备份路径的指示信息和第一节点的相邻节点以及第一节点的相邻节点的接口标识,每个备份路径的指示信息与第一节点的相邻节点以及第一节点的相邻节点的接口标识对应,一个或多个备份路径包括目标备份路径。With reference to the first aspect, in some possible implementation manners, the method further includes: the first node generates a first forwarding table based on one or more backup paths, and the first forwarding table includes each of the one or more backup paths The indication information of each backup path and the adjacent nodes of the first node and the interface identifiers of the adjacent nodes of the first node, the indication information of each backup path and the adjacent nodes of the first node and the adjacent nodes of the first node Corresponding to the interface identifier, one or more backup paths include the target backup path.
基于上述方案,在第一节点和第二节点无法正常通信时,第一节点可以快速地从第一节点上维护的第一转发表中确定目标备份路径,并将目标备份路径的指示信息封装到第二组播报文中,将第二组播报文发送给第三节点。Based on the above scheme, when the first node and the second node cannot communicate normally, the first node can quickly determine the target backup path from the first forwarding table maintained on the first node, and encapsulate the indication information of the target backup path into In the second multicast message, the second multicast message is sent to the third node.
结合第一方面,在某些可能的实现方式中,第一转发表还包括备份下一跳,备份下一跳与第一节点的相邻节点的接口标识对应。With reference to the first aspect, in some possible implementation manners, the first forwarding table further includes a backup next hop, where the backup next hop corresponds to an interface identifier of a neighboring node of the first node.
基于上述方案,在第一节点和第二节点无法正常通信时,第一节点可以快速地从第一节点上维护的第一转发表中确定目标备份路径和第三节点,并将目标备份路径的指示信息封装到第二组播报文中,将第二组播报文发送给第三节点。Based on the above solution, when the first node and the second node cannot communicate normally, the first node can quickly determine the target backup path and the third node from the first forwarding table maintained on the first node, and transfer the target backup path The indication information is encapsulated into the second multicast packet, and the second multicast packet is sent to the third node.
结合第一方面,在某些可能的实现方式中,第一节点基于目标备份路径对第一组播报文进行处理,得到第二组播报文,还包括:第一节点确定第一转发表中第二节点的第一接口对应的备份路径的指示信息为目标备份路径的指示信息,第二节点的第一接口是第二节点与第一组播树中第二节点的子节点对应的接口;第一节点基于第一组播报文将目标备份路径的指示信息封装到第二组播报文中。In combination with the first aspect, in some possible implementation manners, the first node processes the first multicast message based on the target backup path to obtain the second multicast message, and further includes: the first node determines the first forwarding table The indication information of the backup path corresponding to the first interface of the second node is the indication information of the target backup path, and the first interface of the second node is the interface corresponding to the second node and the child node of the second node in the first multicast tree ; The first node encapsulates the indication information of the target backup path into the second multicast message based on the first multicast message.
基于上述方案,在第一节点和第二节点无法正常通信时,第一节点可以快速地从第一节点上维护的第一转发表中查找到目标备份路径的指示信息,基于目标备份路径的指示信息对第一组播报文进行处理,将目标备份路径的指示信息封装到组播报文中,从而得到第二组播报文。Based on the above scheme, when the first node and the second node cannot communicate normally, the first node can quickly find the indication information of the target backup path from the first forwarding table maintained on the first node, based on the indication of the target backup path The information processes the first multicast message, and encapsulates the indication information of the target backup path into the multicast message, thereby obtaining the second multicast message.
结合第一方面,在某些可能的实现方式中,第一节点向第三节点发送第二组播报文,还包括:第一节点确定第一转发表中第二节点的第一接口对应的备份下一跳为第三节点,第二节点的第一接口是第二节点与第一组播树中第二节点的子节点对应的接口;第一节点向第三节点发送第二组播报文。With reference to the first aspect, in some possible implementation manners, the sending of the second multicast packet by the first node to the third node further includes: the first node determines the first interface corresponding to the second node in the first forwarding table The backup next hop is the third node, and the first interface of the second node is the interface corresponding to the second node and the child node of the second node in the first multicast tree; the first node sends the second group broadcast report to the third node arts.
基于上述方案,在第一节点和第二节点无法正常通信,第一节点得到第二组播报文后,第一节点可以快速地从第一节点上维护的第一转发表中确定第三节点,并将第二组播报文发送给第三节点。Based on the above solution, when the first node and the second node cannot communicate normally, after the first node obtains the second multicast message, the first node can quickly determine the third node from the first forwarding table maintained on the first node , and send the second multicast packet to the third node.
结合第一方面,在某些可能的实现方式中,该方法还包括:第一节点基于一个或多个备份路径生成第二转发表,第二转发表中包括一个或多个备份路径中的每个备份路径的指示信息和第一节点的接口标识,每个备份路径的指示信息与第一节点的接口标识对应,一个或多个备份路径包括目标备份路径。With reference to the first aspect, in some possible implementation manners, the method further includes: the first node generates a second forwarding table based on one or more backup paths, and the second forwarding table includes each of the one or more backup paths The indication information of each backup path and the interface identifier of the first node, the indication information of each backup path corresponds to the interface identifier of the first node, and one or more backup paths include the target backup path.
基于上述方案,在第一节点和第二节点无法正常通信时,第一节点可以快速地从第一节点上维护的第二转发表中确定目标备份路径,并将目标备份路径的指示信息封装到第二组播报文中,将第二组播报文发送给第三节点。Based on the above solution, when the first node and the second node cannot communicate normally, the first node can quickly determine the target backup path from the second forwarding table maintained on the first node, and encapsulate the indication information of the target backup path into In the second multicast message, the second multicast message is sent to the third node.
结合第一方面,在某些可能的实现方式中,第二转发表还包括备份接口标识,备份接口标识与第一节点的接口对应。With reference to the first aspect, in some possible implementation manners, the second forwarding table further includes a backup interface identifier, and the backup interface identifier corresponds to the interface of the first node.
基于上述方案,在第一节点和第二节点无法正常通信时,第一节点可以快速地从第一节点上维护的第二转发表中确定目标备份路径和备份接口,并将目标备份路径的指示信息封装到第二组播报文中,将第二组播报文通过备份接口发送给第三节点。Based on the above scheme, when the first node and the second node cannot communicate normally, the first node can quickly determine the target backup path and the backup interface from the second forwarding table maintained on the first node, and send the indication of the target backup path to The information is encapsulated into the second multicast message, and the second multicast message is sent to the third node through the backup interface.
结合第一方面,在某些可能的实现方式中,第一节点基于目标备份路径对第一组播报文进行处理,得到第二组播报文,还包括:第一节点确定第二转发表中第一节点的第一接口对应的备份路径的指示信息为目标备份路径的指示信息,第一节点的第一接口是第一节点的接口中与第二节点对应的接口;第一节点基于第一组播报文将目标备份路径的指示信息封装到第二组播报文中。In combination with the first aspect, in some possible implementations, the first node processes the first multicast packet based on the target backup path to obtain the second multicast packet, and further includes: the first node determines the second forwarding table The indication information of the backup path corresponding to the first interface of the first node is the indication information of the target backup path, and the first interface of the first node is the interface corresponding to the second node among the interfaces of the first node; The groupcast packet encapsulates the indication information of the target backup path into the second multicast packet.
基于上述方案,在第一节点和第二节点无法正常通信时,第一节点可以快速地从第一节点上维护的第二转发表中查找到目标备份路径的指示信息,基于目标备份路径的指示信息对第一组播报文进行处理,将目标备份路径的指示信息封装到组播报文中,从而得到第二组播报文。Based on the above scheme, when the first node and the second node cannot communicate normally, the first node can quickly find the indication information of the target backup path from the second forwarding table maintained on the first node, based on the indication of the target backup path The information processes the first multicast message, and encapsulates the indication information of the target backup path into the multicast message, thereby obtaining the second multicast message.
结合第一方面,在某些可能的实现方式中,第一节点向第三节点发送第二组播报文,还包括:第一节点确定第二转发表中第一节点的第一接口对应的备份接口所对应的节点为第三节点,第一节点的第一接口是第一节点的接口中与第二节点对应的接口;第一节点通过第一节点的第一接口对应的备份接口向第三节点发送第二组播报文。With reference to the first aspect, in some possible implementation manners, the sending of the second multicast packet by the first node to the third node further includes: the first node determines the first interface corresponding to the first node in the second forwarding table The node corresponding to the backup interface is the third node, and the first interface of the first node is the interface corresponding to the second node among the interfaces of the first node; The three nodes send the second multicast packet.
基于上述方案,在第一节点和第二节点无法正常通信,第一节点得到第二组播报文后,第一节点可以快速地从第一节点上维护的第二转发表中通过备份接口确定第三节点,并将第二组播报文发送给第三节点。Based on the above scheme, when the first node and the second node cannot communicate normally, after the first node obtains the second multicast message, the first node can quickly determine the The third node, and sends the second multicast packet to the third node.
结合第一方面,在某些可能的实现方式中,一个或多个备份路径是第一节点从控制器接收到的,第一节点、第二节点和第三节点均连接于控制器。With reference to the first aspect, in some possible implementation manners, the one or more backup paths are received by the first node from the controller, and the first node, the second node, and the third node are all connected to the controller.
结合第一方面,在某些可能的实现方式中,一个或多个备份路径是第一节点基于第一节点所在的拓扑结构中的全部节点的连接关系计算得到的。With reference to the first aspect, in some possible implementation manners, the one or more backup paths are calculated by the first node based on connection relationships of all nodes in the topology where the first node is located.
结合第一方面,在某些可能的实现方式中,第一组播报文是第一节点从控制器或第一节点的上一跳节点接收的,第二节点的组播路由信息包含在第一节点的组播信息中。With reference to the first aspect, in some possible implementations, the first multicast packet is received by the first node from the controller or the previous hop node of the first node, and the multicast routing information of the second node is included in the In the multicast information of a node.
结合第一方面,在某些可能的实现方式中,第一组播报文是第一节点基于第一节点所在的拓扑结构中的全部节点的连接关系生成的,第一组播报文中不包括第一节点的组播路由标识。In combination with the first aspect, in some possible implementation manners, the first multicast message is generated by the first node based on the connection relationships of all nodes in the topology where the first node is located, and the first multicast message does not include the first multicast message. The multicast routing identifier of a node.
结合第一方面,在某些可能的实现方式中,目标备份路径的指示信息包括第三节点的组播路由信息,第三节点的路由组播信息中包括第三节点的组播路由标识和第三节点在第二组播树中的非叶子子节点的组播路由信息,第二组播树用于指示第二组播报文的转发路径。With reference to the first aspect, in some possible implementation manners, the indication information of the target backup path includes multicast routing information of the third node, and the routing multicast information of the third node includes the multicast routing identifier of the third node and the multicast routing information of the third node. The multicast routing information of the non-leaf child nodes of the three nodes in the second multicast tree, where the second multicast tree is used to indicate the forwarding path of the second multicast message.
结合第一方面,在某些可能的实现方式中,目标备份路径的指示信息的格式也可以是基于分段路由(segment routing,SR)技术、第六版因特网协议(internet protocolversion 6,IPv6)的SR技术或多协议标签交换(multi-protocol label switching,MPLS)技术等生成的相应格式。With reference to the first aspect, in some possible implementation manners, the format of the indication information of the target backup path may also be based on the segment routing (segment routing, SR) technology and the sixth version of the Internet Protocol (internet protocolversion 6, IPv6) Corresponding formats generated by SR technology or multi-protocol label switching (multi-protocol label switching, MPLS) technology, etc.
第二方面,本申请提供了一种通信装置,可以实现上述第一方面或第一方面任一种可能的实现方式中的方法。该装置包括用于执行上述方法的相应的单元。该装置包括的单元可以通过软件和/或硬件方式实现。该装置例如可以为第一节点,也可以为支持第一节点实现上述方法的芯片、芯片系统、或处理器等,还可以为能实现第一节点的全部或部分功能的逻辑模块或软件。In a second aspect, the present application provides a communications device that can implement the method in the foregoing first aspect or any possible implementation manner of the first aspect. The apparatus comprises corresponding means for carrying out the method described above. The units included in the device may be implemented by software and/or hardware. The device can be, for example, the first node, or a chip, a chip system, or a processor that supports the first node to implement the above method, or a logic module or software that can realize all or part of the functions of the first node.
第三方面,本申请提供了一种通信装置,该通信装置包括处理器。该处理器与存储器耦合,可用于执行存储器中的计算机程序,以实现第一方面和第一方面任一种可能实现方式中的通信方法。In a third aspect, the present application provides a communication device, where the communication device includes a processor. The processor is coupled with the memory, and can be used to execute the computer program in the memory, so as to realize the first aspect and the communication method in any possible implementation manner of the first aspect.
可选地,该通信装置还包括存储器。Optionally, the communication device further includes a memory.
可选地,该通信装置还包括通信接口,处理器与通信接口耦合。Optionally, the communication device further includes a communication interface, and the processor is coupled to the communication interface.
第四方面,本申请提供了一种芯片系统,该芯片系统包括至少一个处理器,用于支持实现上述第一方面和第一方面任一种可能实现方式中所涉及的功能,例如,接收或处理上述方法中所涉及的数据和/或报文。In a fourth aspect, the present application provides a system-on-a-chip, which includes at least one processor, configured to support the implementation of the functions involved in the above-mentioned first aspect and any possible implementation of the first aspect, for example, receiving or Process the data and/or messages involved in the above method.
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。In a possible design, the chip system further includes a memory, the memory is used to store program instructions and data, and the memory is located inside or outside the processor.
该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。The system-on-a-chip may consist of chips, or may include chips and other discrete devices.
第五方面,本申请提供了一种计算机可读存储介质,所述计算机存储介质上存储有计算机程序(也可以称为代码,或指令),当所述计算机程序在被处理器运行时,使得上述第一方面和第一方面任一种可能实现方式中的方法被执行。In a fifth aspect, the present application provides a computer-readable storage medium, where a computer program (also referred to as code, or instruction) is stored on the computer storage medium, and when the computer program is run by a processor, the The above first aspect and the method in any possible implementation manner of the first aspect are executed.
第六方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得上述第一方面和第一方面任一种可能实现方式中的方法被执行。In a sixth aspect, the present application provides a computer program product, the computer program product including: a computer program (also called code, or instruction), when the computer program is executed, the above-mentioned first aspect and the first In one aspect the method in any one of the possible implementations is performed.
应当理解的是,本申请的第二方面至第六方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。It should be understood that, the second aspect to the sixth aspect of the present application correspond to the technical solution of the first aspect of the present application, and the beneficial effects obtained by each aspect and the corresponding feasible implementation manners are similar, so details are not repeated here.
附图说明Description of drawings
图1为适用于本申请实施例提供的通信方法的场景示意图;FIG. 1 is a schematic diagram of a scenario applicable to a communication method provided by an embodiment of the present application;
图2为本申请实施例提供的一种实体的拓扑连接和组播树的示意图;FIG. 2 is a schematic diagram of an entity topology connection and a multicast tree provided by an embodiment of the present application;
图3为本申请实施例提供的又一种实体的拓扑连接和组播树的示意图;FIG. 3 is a schematic diagram of another entity topology connection and multicast tree provided by the embodiment of the present application;
图4为本申请实施例提供的又一种实体的拓扑连接示意图;FIG. 4 is a schematic diagram of another entity topology connection provided by the embodiment of the present application;
图5为本申请实施例提供的一种路由器之间的组播报文传输示意图;FIG. 5 is a schematic diagram of multicast packet transmission between routers provided in an embodiment of the present application;
图6为适用于本申请实施例提供的通信方法的流程示意图;FIG. 6 is a schematic flow chart applicable to the communication method provided by the embodiment of the present application;
图7为适用于本申请实施例提供的通信方法的第一组播报文的示意图;FIG. 7 is a schematic diagram of a first multicast message applicable to the communication method provided by the embodiment of the present application;
图8为适用于本申请实施例提供的通信方法的第一组播报文的另一示意图;FIG. 8 is another schematic diagram of the first multicast message applicable to the communication method provided by the embodiment of the present application;
图9为本申请实施例提供的第一节点与第二节点无法正常通信的示意图;FIG. 9 is a schematic diagram of the failure of normal communication between the first node and the second node provided by the embodiment of the present application;
图10为适用于本申请实施例提供的通信方法的第二组播树的示意图;FIG. 10 is a schematic diagram of a second multicast tree applicable to the communication method provided by the embodiment of the present application;
图11为适用于本申请实施例提供的通信方法的第二组播报文的示意图;FIG. 11 is a schematic diagram of a second multicast message applicable to the communication method provided by the embodiment of the present application;
图12为适用于本申请实施例提供的通信方法的第二组播树的另一示意图;FIG. 12 is another schematic diagram of a second multicast tree applicable to the communication method provided by the embodiment of the present application;
图13为适用于本申请实施例提供的通信方法的第二组播报文的另一示意图;FIG. 13 is another schematic diagram of a second multicast message applicable to the communication method provided by the embodiment of the present application;
图14为本申请实施例提供的节点的拓扑连接示意图;FIG. 14 is a schematic diagram of the topological connection of nodes provided in the embodiment of the present application;
图15为本申请实施例提供的目标备份路径的指示信息的示意图;FIG. 15 is a schematic diagram of the indication information of the target backup path provided by the embodiment of the present application;
图16为本申请实施例提供的在第一节点和第二节点无法正常通信前第一组播报文的示意图;16 is a schematic diagram of the first multicast message provided by the embodiment of the present application before the first node and the second node cannot communicate normally;
图17为本申请实施例提供的在第一节点和第二节点无法正常通信前和后第二组播报文的对比示意图;FIG. 17 is a schematic diagram of the comparison of the second multicast message before and after the first node and the second node fail to communicate normally according to the embodiment of the present application;
图18为本申请实施例提供的一种节点和实体的拓扑连接、组播树以及组播报文的示意图;FIG. 18 is a schematic diagram of a topology connection between nodes and entities, a multicast tree, and a multicast message provided by an embodiment of the present application;
图19为本申请实施例提供的另一种节点和实体的拓扑连接、组播树以及组播报文的示意图;FIG. 19 is a schematic diagram of another topology connection of nodes and entities, a multicast tree, and a multicast message provided by the embodiment of the present application;
图20为本申请实施例提供的一种通信装置的示意性框图;FIG. 20 is a schematic block diagram of a communication device provided by an embodiment of the present application;
图21为本申请实施例提供的另一种通信装置的示意性框图。Fig. 21 is a schematic block diagram of another communication device provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合附图,对本申请中的技术方案进行描述。The technical solution in this application will be described below with reference to the accompanying drawings.
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second" and the like in the specification and claims of the present application are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It is to be understood that the data so used are interchangeable under appropriate circumstances such that the embodiments of the application described herein can be practiced in sequences other than those illustrated or described herein. Furthermore, the terms "comprising" and "having", as well as any variations thereof, are intended to cover a non-exclusive inclusion, for example, a process, method, system, product or device comprising a sequence of steps or elements is not necessarily limited to the expressly listed instead, may include other steps or elements not explicitly listed or inherent to the process, method, product or apparatus.
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。In the embodiments of the present application, "at least one" means one or more, and "multiple" means two or more. "And/or" describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A, B can be singular or plural. The character "/" generally indicates that the contextual objects are an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one item (unit) of a, b, or c may represent: a, b, c; a and b; a and c; b and c; or a and b and c. Where a, b, c can be single or multiple.
本申请可以应用于一个发送端需要将相同的数据携带在报文中发送给多个接收端的场景。参见图1,该报文可以从发送端发出,经过多个组播节点(以下简称为节点)到达多个接收端。该报文可以称为组播报文,不同节点之间传输的组播报文中的数据相同。其中,发送端例如可以为服务器,接收端例如可以为客户端。节点具备组播报文发送和转发能力,可以把接收到的组播报文进行组播转发或生成的组播报文进行组播发送。一个节点可以包括一个实体或多个实体。一个实体可以仅属于一个节点,也可以属于多个节点。示例性的,图2中的(a)和图2中的(b)中,左侧为实体的网络拓扑图,右侧为组播树。参见图2中的(a),节点Z包括多个实体,这多个实体为实体A、实体B、实体C、实体D和实体E,节点E包括一个实体,即实体E。可以看出,实体E既属于节点Z,也属于节点E。参见图2中的(b),节点X包括多个实体,这多个实体为实体A和实体B。可以看出,实体A和实体B既属于节点Z,也属于节点X。This application can be applied to a scenario where a sender needs to carry the same data in a message and send it to multiple receivers. Referring to FIG. 1 , the message can be sent from the sender, and arrive at multiple receivers via multiple multicast nodes (hereinafter referred to as nodes). The message may be called a multicast message, and the data in the multicast message transmitted between different nodes is the same. Wherein, the sending end may be, for example, a server, and the receiving end may be, for example, a client. The node has the ability to send and forward multicast packets, and can perform multicast forwarding of received multicast packets or multicast transmission of generated multicast packets. A node can consist of one entity or multiple entities. An entity can belong to only one node, or it can belong to multiple nodes. Exemplarily, in (a) in FIG. 2 and (b) in FIG. 2 , the network topology diagram of the entity is on the left, and the multicast tree is on the right. Referring to (a) in FIG. 2 , node Z includes multiple entities, which are entity A, entity B, entity C, entity D, and entity E, and node E includes one entity, namely entity E. It can be seen that entity E belongs to both node Z and node E. Referring to (b) in FIG. 2 , node X includes multiple entities, which are entity A and entity B. It can be seen that entity A and entity B belong to both node Z and node X.
需要说明的是,为了方便描述,在本申请实施例中,若一个实体仅属于一个节点,则该节点和该实体采用相同的标识,此时,该实体的地址也可以描述为该节点的地址,该节点执行的动作也就是该实体执行的动作。因此,下文中提到节点的地址时,均是指该节点中的实体的地址。例如,仅包括实体A的节点称为节点A,此时,节点A的地址等同于实体A的地址,仅包括实体B的节点称为节点B,此时,节点B的地址等同于节点实体B的地址。It should be noted that, for the convenience of description, in the embodiment of this application, if an entity only belongs to one node, then the node and the entity use the same identifier. At this time, the address of the entity can also be described as the address of the node , the action performed by the node is also the action performed by the entity. Therefore, when the address of a node is mentioned below, it refers to the address of the entity in the node. For example, a node that only includes entity A is called node A. At this time, the address of node A is equivalent to the address of entity A, and a node that only includes entity B is called node B. At this time, the address of node B is equivalent to the address of node entity B the address of.
本申请中,实体也可以称为功能实体。实体可以为物理实体或虚拟实体。物理实体例如可以为路由器、交换机、服务器、主机、网卡、线卡、芯片、芯片的裸片(die)、终端(例如,移动终端)、设备内部模块等,虚拟实体例如可以为虚拟机、容器、进程、线程等。当实体为物理实体时,节点也可以称为组播设备。In this application, an entity may also be referred to as a functional entity. Entities can be physical entities or virtual entities. Physical entities can be, for example, routers, switches, servers, hosts, network cards, line cards, chips, dies of chips, terminals (for example, mobile terminals), internal modules of equipment, etc., and virtual entities can be, for example, virtual machines and containers. , process, thread, etc. When the entity is a physical entity, the node may also be called a multicast device.
为了使得本申请提供的方法更加的清楚,首先对本申请涉及到的部分概念作简单介绍。In order to make the method provided by this application more clear, some concepts involved in this application are briefly introduced first.
1、组播树1. Multicast tree
组播树是通过路由协议(例如,协议无关组播(protocol independentmulticast,PIM)、内部网关协议(interior gateway protocol,IGP)等)或其他方法(例如,手工配置、控制器计算等)基于特定的网络拓扑,为特定的源节点和目的节点的组合,生成的从源节点到所有目的节点的路径,该路径是一个以源节点为根节点,以目的节点为叶子节点的树形结构,称为组播树。组播树也可以称为组播分发树(multicast distributiontree,MDT)。例如,参见图3,左侧是一个实体的网络拓扑图,若源节点为节点B,目的节点为节点C、节点D和节点E,为源节点和目的节点的组合生成的组播树的一种示例可以参见图3中的右侧。The multicast tree is based on a specific routing protocol (for example, protocol independent multicast (PIM), interior gateway protocol (IGP), etc.) or other methods (for example, manual configuration, controller calculation, etc.) Network topology is a path from source node to all destination nodes generated for a specific combination of source node and destination node. The path is a tree structure with the source node as the root node and the destination node as the leaf node, called multicast tree. The multicast tree may also be called a multicast distribution tree (multicast distribution tree, MDT). For example, referring to Figure 3, the left side is a network topology diagram of an entity, if the source node is node B, and the destination node is node C, node D, and node E, a part of the multicast tree generated by the combination of the source node and the destination node An example of this can be seen on the right in Figure 3.
需要说明的是,发送端和/或接收端可以是组播树中的节点,也可以不是组播树中的节点。若为前者,则源节点可以为发送端,目的节点可以为接收端。为了方便描述,在没有特别说明的情况下,本申请实施例中均以发送端和接收端是组播树中的节点为例,对本申请实施例提供的方法作示例性说明。若接收端不是组播树中的节点,则数据到达叶子节点之后,叶子节点将接收到的数据发送给与其连接的接收端即可。It should be noted that the sending end and/or the receiving end may be a node in the multicast tree, or may not be a node in the multicast tree. If it is the former, the source node can be the sending end, and the destination node can be the receiving end. For the convenience of description, unless otherwise specified, in the embodiments of the present application, the sending end and the receiving end are nodes in the multicast tree as an example to illustrate the methods provided in the embodiments of the present application. If the receiving end is not a node in the multicast tree, after the data reaches the leaf node, the leaf node sends the received data to the receiving end connected to it.
另外,一个服务器中的除网卡之外的模块可以认为是一个节点(假设为节点a),服务器中的网卡可以认为是另一个节点(假设为节点b),则节点b可以认为是节点a的子节点。一个路由器中的除线卡之外的模块可以认为是一个节点(假设为节点c),路由器中的线卡可以认为是另一个节点(假设为节点d),则节点d可以认为是节点c的子节点。示例性的,参见图4,A为一个路由器,图4中的节点A0为该路由器中的除线卡之外的模块,节点A1、节点A2和节点A3为该路由器中的3个线卡。A可以通过3个线卡上的接口分别向节点B、节点C、节点D、节点E、节点F和节点G发送组播报文。此时,节点A1、节点A2和节点A3可以为节点A0的子节点。A也可以为服务器,此时,节点A1、节点A2和节点A3为该服务器中的3个网卡,A可以通过3个网卡上的网口分别向节点B、节点C、节点D、节点E、节点F和节点G发送组播报文。In addition, the modules other than the network card in a server can be considered as a node (assumed to be node a), the network card in the server can be considered as another node (assumed to be node b), then node b can be considered as the node of node a child nodes. A module other than a line card in a router can be considered as a node (assumed to be node c), and a line card in a router can be considered as another node (assumed to be node d), then node d can be considered as a node of node c child nodes. Exemplarily, referring to FIG. 4 , A is a router, node A0 in FIG. 4 is a module other than a line card in the router, and node A1 , node A2 and node A3 are three line cards in the router. A can send multicast packets to node B, node C, node D, node E, node F and node G respectively through the interfaces on the three line cards. At this time, node A1, node A2, and node A3 may be child nodes of node A0. A can also be a server. At this time, node A1, node A2, and node A3 are three network cards in the server. A can send data to node B, node C, node D, node E, and Node F and node G send multicast packets.
2、子节点2. Child nodes
一个节点的子节点是指组播树中的该节点的报文可以通过一跳组播(即只经过一次组播转发)到达的节点。其中,一跳组播是指查找一次组播转发表。例如,图3中的节点R为节点B的子节点,节点S为节点R的子节点,节点E为节点R的子节点。需要说明的是,若组播树中一个支持组播的节点发送的组播报文经过一个或多个不支持组播的节点后到达了组播树中的另一个支持组播的节点,则后一个支持组播的节点为前一个支持组播的节点的子节点,也就是说,前一个支持组播的节点是经过了一跳组播到达了后一个支持组播的节点。例如,参见图5,路由器A和路由器C是支持组播的路由器,路由器B为不支持组播的路由器,此时,路由器A经过路由器B将组播报文发送给了路由器C,并且路由器A和路由器C均为组播树中的节点,则路由器C为路由器A的子节点。A child node of a node refers to a node in the multicast tree to which a packet of the node can be reached through one-hop multicast (that is, after only one multicast forwarding). Wherein, the one-hop multicast refers to searching the multicast forwarding table once. For example, node R in FIG. 3 is a child node of node B, node S is a child node of node R, and node E is a child node of node R. It should be noted that if a multicast packet sent by a node supporting multicast in the multicast tree reaches another node in the multicast tree that supports multicast after passing through one or more nodes that do not support multicast, then The latter multicast-supporting node is a child node of the previous multicast-supporting node, that is to say, the previous multicast-supporting node arrives at the next multicast-supporting node through one-hop multicast. For example, referring to Figure 5, Router A and Router C are routers that support multicast, and Router B is a router that does not support multicast. At this time, Router A sends the multicast packet to Router C through Router B, and Router A Both router C and router C are nodes in the multicast tree, so router C is a child node of router A.
当一个节点的子节点是组播树的叶子节点时,该子节点可以称为该节点的叶子子节点,当一个节点的子节点不是组播树的叶子节点时,该子节点可以称为该节点的非叶子子节点。When a child node of a node is a leaf node of the multicast tree, the child node can be called the leaf node of the node; when a child node of a node is not a leaf node of the multicast tree, the child node can be called the The node's non-leaf child nodes.
在本申请的描述中,若无特别说明,本申请下文中提到的一个节点的子节点均是指该节点在组播树中的子节点。子节点也可以有其他名称,例如,组播子节点等,本申请不作限制。In the description of the present application, unless otherwise specified, the child nodes of a node mentioned in the following application refer to the child nodes of the node in the multicast tree. Subnodes may also have other names, for example, multicast subnodes, etc., which are not limited in this application.
需要说明的是,一个实体所属的一个节点可以为该实体所属的另一个节点的子节点。示例性的,参见图2中的(b),实体A(或实体B)所属的节点X为实体A(或实体B)所属的节点Z的子节点。当然,一个实体所属的一个节点也可以不是该节点所属的另一个节点的子节点。It should be noted that a node to which an entity belongs may be a child node of another node to which the entity belongs. Exemplarily, referring to (b) in FIG. 2 , node X to which entity A (or entity B) belongs is a child node of node Z to which entity A (or entity B) belongs. Of course, a node to which an entity belongs may not be a child node of another node to which this node belongs.
3、组播路由信息、组播路由标识3. Multicast routing information, multicast routing identifier
在本申请实施例中,一个节点的组播路由信息携带在节点之间转发的组播报文中。一个节点的组播路由标识包含于这个节点的组播路由信息中,一个节点的组播路由标识可以用于该节点确定该节点的下一跳节点,或者,也可以说,一个节点的组播路由标识可以用于指导该节点进行组播路由转发。应理解,组播路由信息嵌入在组播报文中,组播报文中包括的树形递归结构的组播路由信息可以描述某个组播树或组播树的子树的报文转发信息。In the embodiment of the present application, the multicast routing information of a node is carried in the multicast message forwarded between nodes. The multicast routing identifier of a node is included in the multicast routing information of this node. The multicast routing identifier of a node can be used by the node to determine the next hop node of the node, or, in other words, the multicast routing information of a node The routing identifier can be used to guide the node to perform multicast routing forwarding. It should be understood that the multicast routing information is embedded in the multicast message, and the multicast routing information in the tree-shaped recursive structure included in the multicast message can describe the message forwarding information of a certain multicast tree or a subtree of the multicast tree.
在MoFRR技术中,每个边缘节点可以通过正交路径向组播源发送join信令,上游节点需要逐跳生成表项,建立备份路径。组播源向边缘节点同时发送主流量和备份流量,边缘节点可以优先选择主流量,当边缘节点在一定的时间阈值内未接收到主流量时,边缘节点可以接收备份流量。在这种技术方案中,每个组播业务的每个边缘节点占用网络双份带宽,存在带宽浪费的问题。因此,本申请实施例提出了一种通信方法和通信装置,节点之间发送的组播报文可以是基于组播树的组播报文结构,参与组播转发的节点上维护有可以绕开故障节点或故障链路的备份路径,当某个组播树中的某两个节点之间无法正常通信时,这两个节点中作为上一跳的节点就可以查找自己预先存储的备份路径,把该备份路径封装到新的组播报文中,基于该备份路径发送该新的组播报文即可。应理解,该新的组播报文中的净荷数据与之前的组播报文没有发生变化,只是包头中指示的转发路径与之前的组播报文不同。In the MoFRR technology, each edge node can send join signaling to the multicast source through an orthogonal path, and the upstream node needs to generate table entries hop by hop to establish a backup path. The multicast source sends the main traffic and the backup traffic to the edge nodes at the same time, and the edge nodes can preferentially select the main traffic. When the edge node does not receive the main traffic within a certain time threshold, the edge node can receive the backup traffic. In this technical solution, each edge node of each multicast service occupies double bandwidth of the network, and there is a problem of bandwidth waste. Therefore, the embodiment of the present application proposes a communication method and a communication device. The multicast message sent between nodes can be a multicast message structure based on a multicast tree, and maintenance on nodes participating in multicast forwarding can bypass The backup path of a faulty node or faulty link. When a certain two nodes in a multicast tree cannot communicate normally, the node as the last hop of the two nodes can search for its pre-stored backup path. Encapsulate the backup path into a new multicast packet, and send the new multicast packet based on the backup path. It should be understood that the payload data in the new multicast message remains unchanged from the previous multicast message, but the forwarding path indicated in the packet header is different from the previous multicast message.
下面结合附图对本申请实施例提供的通信方法进行说明。The communication method provided by the embodiment of the present application will be described below with reference to the accompanying drawings.
图6是本申请实施例提供的一种通信方法的示意性流程图。该方法600包括步骤610至步骤630,以下为步骤610至步骤630进行详细说明。Fig. 6 is a schematic flowchart of a communication method provided by an embodiment of the present application. The
在步骤610中,第一节点获取第一组播报文。In
其中,第一组播报文可以包括第二节点的组播路由信息。第二节点的组播路由信息可以包括第二节点的组播路由标识和第二节点在第一组播树中的子节点的组播路由标识,第二节点是第一组播树中第一节点的非叶子子节点。第一组播树可以用于指示第一组播报文的转发路径。Wherein, the first multicast packet may include multicast routing information of the second node. The multicast routing information of the second node may include the multicast routing identifier of the second node and the multicast routing identifier of the subnode of the second node in the first multicast tree, and the second node is the first node in the first multicast tree. The node's non-leaf child nodes. The first multicast tree may be used to indicate a forwarding path of the first multicast packet.
需要说明的是,第一节点可以是第一组播树中的非叶子子节点,并且,第二节点是第一节点的非叶子子节点,由此可知,第一节点可以是第一组播报文转发路径中的倒数第三跳节点以及倒数第三跳节点之前的任意节点。It should be noted that the first node may be a non-leaf child node in the first multicast tree, and the second node is a non-leaf child node of the first node, so it can be seen that the first node may be a non-leaf child node of the first multicast tree. The penultimate hop node in the message forwarding path and any node before the penultimate hop node.
当第二节点在第一组播树中的子节点是第一组播树中的非叶子子节点时,第二节点在第一组播树中的子节点的组播路由标识可以包含在该子节点的组播路由信息中,该子节点的组播路由信息中可以包括该子节点的组播路由标识和寻址字段,寻址字段可以用于该节点确定该节点的子节点的组播路由信息的位置。When the subnode of the second node in the first multicast tree is a non-leaf subnode in the first multicast tree, the multicast routing identifier of the subnode of the second node in the first multicast tree may be included in the In the multicast routing information of the child node, the multicast routing information of the child node may include the multicast routing identifier and addressing field of the child node, and the addressing field may be used for the node to determine the multicast routing information of the child node of the node. The location of the routing information.
当第二节点在第一组播树中的子节点是第一组播树中的叶子节点时,第二节点的组播路由信息可以包括第二节点在第一组播树中的子节点的组播路由标识,第二节点的组播路由信息可以不包括第二节点在第一组播树中的子节点的寻址字段。When the child node of the second node in the first multicast tree is a leaf node in the first multicast tree, the multicast routing information of the second node may include the child node of the second node in the first multicast tree For the multicast routing identifier, the multicast routing information of the second node may not include the addressing fields of the second node's child nodes in the first multicast tree.
例如,如图3中的右侧所示的组播树为第一组播树的一例。当节点B为第一节点,节点R为第二节点时,节点S是节点R的非叶子子节点,节点E是节点R的叶子子节点。节点R的组播路由信息可以包括节点S的组播路由信息,节点S的组播路由信息可以包括节点S的组播路由标识和寻址字段,以及节点S的子节点(例如节点C和节点D)的组播路由信息或组播路由标识,该寻址字段可以用于节点S确定节点C和节点D的子节点的组播路由信息或组播路由标识的位置;节点R的组播信息可以包括节点E的组播路由标识,可以不包括节点E的寻址字段。For example, the multicast tree shown on the right side in FIG. 3 is an example of the first multicast tree. When node B is the first node and node R is the second node, node S is a non-leaf child node of node R, and node E is a leaf child node of node R. The multicast routing information of node R can include the multicast routing information of node S, and the multicast routing information of node S can include the multicast routing identifier and addressing fields of node S, and the child nodes of node S (such as node C and node D) multicast routing information or multicast routing identification, this addressing field can be used for node S to determine the position of the multicast routing information or multicast routing identification of the child nodes of node C and node D; the multicast information of node R The multicast routing identifier of node E may be included, and the addressing field of node E may not be included.
上文已述及,一个节点的组播路由标识可以用于该节点确定该节点的下一跳节点,也可以说,一个节点的组播路由标识可以用于指导该节点进行组播路由转发。As mentioned above, the multicast routing identifier of a node can be used by the node to determine the next-hop node of the node. It can also be said that the multicast routing identifier of a node can be used to guide the node to perform multicast routing forwarding.
一种可能的情况是,第一节点从控制器或第一节点的上一跳节点接收到第一组播报文。在这种情况下,第一组播报文中可以包括第一节点的组播信息,且第二节点的组播路由信息可以包含在第一节点的组播信息中。A possible situation is that the first node receives the first multicast packet from the controller or the last hop node of the first node. In this case, the first multicast packet may include the multicast information of the first node, and the multicast routing information of the second node may be included in the multicast information of the first node.
应理解,当第一节点从控制器接收到第一组播报文时,第一节点可以是源节点,或者说,第一节点是第一组播树中的根节点,例如图3中右侧所示的组播树可以为第一组播树,节点B可以是第一节点,节点R可以是第二节点;当第一节点从它的上一跳节点接收到第一组播报文时,第一节点不是第一组播树的根节点,第一节点也不是第一组播树中的叶子节点,或者说,第一节点可以不是组播报文的转发路径中的源节点,也不是组播报文的转发路径中的目的节点,例如图3中右侧所示的组播树可以为第一组播树的子组播树,更具体地说,图3中右侧所示的组播树可以是第一组播树中节点B的上一跳节点之后的一部分,此时,节点B可以是第一节点,节点R可以是第二节点;若例如图3中右侧所示的组播树可以是第一组播树的情况下,节点B是根节点(或源节点),节点R可以是第一节点,节点S可以是第二节点。It should be understood that when the first node receives the first multicast packet from the controller, the first node may be a source node, or in other words, the first node is the root node in the first multicast tree, for example, the right node in FIG. 3 The multicast tree shown on the side can be the first multicast tree, node B can be the first node, and node R can be the second node; when the first node receives the first multicast message from its previous hop node When , the first node is not the root node of the first multicast tree, and the first node is not a leaf node in the first multicast tree, or in other words, the first node may not be the source node in the forwarding path of the multicast packet, Nor is it the destination node in the forwarding path of the multicast message. For example, the multicast tree shown on the right side in FIG. 3 can be a sub-multicast tree of the first multicast tree. More specifically, the The multicast tree shown can be a part after the last hop node of node B in the first multicast tree, at this time, node B can be the first node, and node R can be the second node; In the case where the shown multicast tree may be the first multicast tree, node B is the root node (or source node), node R may be the first node, and node S may be the second node.
示例性地,如图7示出的第一组播报文,假设第二节点的非叶子子节点可以有M1个,分别记为节点20、节点21、节点22、……、节点2M1-1,则第一组播报文可以包括报文头和载荷,第一节点的报文头中可以包括第一节点的组播信息,第一节点的组播信息中可以包括第一节点的组播路由标识和第二节点的组播路由信息,第二节点的组播路由信息中包括第二节点的组播路由标识,以及节点20、节点21、节点22、……、节点2M1-1的组播路由信息。进一步地,节点20、节点21、节点22、……、节点2M1-1中的每个节点的组播路由信息又包括各自的非叶子子节点的组播路由信息。例如,假设节点20的非叶子子节点有M2个,则节点20的组播路由信息中包括节点20的组播路由标识,以及节点20的第1个非叶子子节点、第2个非叶子子节点、……、第M2个非叶子子节点的组播路由信息。节点20的每个非叶子子节点进一步的包括自身的非叶子子节点的组播路由信息,依次类推。节点21、节点22、……、节点2M1-1类似,为了简洁,此处不一一赘述。Exemplarily, for the first multicast message shown in FIG. 7 , it is assumed that the second node has M1 non-leaf child nodes, which are respectively denoted as node 2 0 , node 2 1 , node 2 2 , ..., node 2 M1-1 , the first multicast message may include a message header and payload, the message header of the first node may include the multicast information of the first node, and the multicast information of the first node may include the first The multicast routing identifier of the node and the multicast routing information of the second node, the multicast routing information of the second node includes the multicast routing identifier of the second node, and node 2 0 , node 2 1 , node 2 2 , ... , Multicast routing information of node 2 M1-1 . Further, the multicast routing information of each node in node 2 0 , node 2 1 , node 2 2 , ..., node 2 M1-1 includes the multicast routing information of their respective non-leaf child nodes. For example, assuming that there are M2 non-leaf child nodes of node 2 0 , the multicast routing information of node 2 0 includes the multicast routing identifier of node 2 0 , the first non-leaf child node of node 2 0 , the second non-leaf child nodes, ..., the multicast routing information of the M2th non-leaf child nodes. Each non-leaf child node of node 20 further includes the multicast routing information of its own non-leaf child node, and so on. Node 2 1 , node 2 2 , ..., node 2 M1-1 are similar, and for the sake of brevity, details are not repeated here.
另一种可能的情况是,第一节点基于第一节点所在的拓扑结构中的全部节点的连接关系(例如图3中左侧所示出的节点之间的拓扑结构)生成第一组播报文。在这种情况下,第一组播报文中不包括第一节点的组播路由标识。Another possible situation is that the first node generates the first group of broadcasts based on the connection relationship of all nodes in the topology where the first node is located (for example, the topology between nodes shown on the left side of FIG. 3 ). arts. In this case, the first multicast packet does not include the multicast routing identifier of the first node.
示例性地,如图8示出的第一组播报文,同样地,可以假设第二节点的非叶子子节点可以有M1个,分别记为节点20、节点21、节点22、……、节点2M1-1,则第一组播报文可以包括报文头和载荷,第一组播报文的报文头中可以包括第二节点的组播信息,第二节点的组播信息可以包括第二节点的组播路由信息,第二节点的组播路由信息中可以包括第二节点的组播路由标识,以及节点20、节点21、节点22、……、节点2M1-1的组播路由信息。进一步地,节点20、节点21、节点22、……、节点2M1-1中的每个节点的组播路由信息又包括各自的非叶子子节点的组播路由信息,可以参照上文的相关描述,节点20的每个非叶子子节点进一步的包括自身的非叶子子节点的组播路由信息,依次类推,节点21、节点22、……、节点2M1-1类似,为了简洁,此处不一一赘述。Exemplarily, for the first multicast message shown in FIG. 8 , similarly, it can be assumed that the second node has M1 non-leaf child nodes, which are respectively marked as node 2 0 , node 2 1 , node 2 2 , ..., node 2 M1-1 , then the first multicast message may include a message header and a payload, the message header of the first multicast message may include the multicast information of the second node, the group information of the second node The broadcast information may include the multicast routing information of the second node, the multicast routing information of the second node may include the multicast routing identifier of the second node, and node 2 0 , node 2 1 , node 2 2 , ..., node 2 Multicast routing information of M1-1 . Further, the multicast routing information of each node in node 2 0 , node 2 1 , node 2 2 , ..., node 2 M1-1 includes the multicast routing information of their respective non-leaf child nodes, which can be referred to above According to the relevant description in the text, each non-leaf child node of node 2 0 further includes the multicast routing information of its own non-leaf child nodes, and so on, and node 2 1 , node 2 2 , ..., node 2 M1-1 are similar , for the sake of brevity, they are not described here.
在步骤620中,在第一节点与第二节点无法正常通信的情况下,第一节点基于目标备份路径对第一组播报文进行处理,得到第二组播报文。In step 620, when the first node and the second node cannot communicate normally, the first node processes the first multicast packet based on the target backup path to obtain a second multicast packet.
其中,第二组播报文可以包括目标备份路径的指示信息,并且第二组播报文可以包括第一组播树中第二节点的子节点的组播路由标识。目标备份路径可以是预先存储在第一节点上的。Wherein, the second multicast message may include indication information of the target backup path, and the second multicast message may include a multicast routing identifier of a child node of the second node in the first multicast tree. The target backup path may be pre-stored on the first node.
应理解,无法正常通信可以包括第二节点故障,或者,第一节点与第二节点之间的链路故障。It should be understood that failure to communicate normally may include failure of the second node, or failure of a link between the first node and the second node.
如图9的(a)所示,假设节点B是第一节点,节点R是第二节点,第一节点与第二节点无法正常通信可以是节点R发生设备故障,节点R无法接收节点B发送的第一组播报文,同样也无法接收除节点B以外的节点发来的报文,节点R也无法将第一组播报文发送给它的子节点。As shown in (a) of Figure 9, assuming that node B is the first node and node R is the second node, the failure of normal communication between the first node and the second node may be due to equipment failure at node R, and node R cannot receive the information sent by node B. Similarly, the first multicast packet cannot receive packets from nodes other than node B, and node R cannot send the first multicast packet to its child nodes.
如图9的(b)所示,假设节点B是第一节点,节点R是第二节点,第一节点与第二节点无法正常通信可以是节点B与节点R之间的链路发生故障,此时,节点R无法接收节点B发送的第一组播报文,但节点R可以接收除节点B以外的其他节点发送的报文。应理解,节点B与节点R之间的链路故障,有可能是节点B与节点R之间连接的网线、光纤或光缆等故障或断开,也有可能是节点B与节点R相连接的接口发生故障,如图9的(b)所示出的节点B的接口B_p2与节点R的接口R_p0相连接,节点B与节点R之间的链路发生故障,有可能是节点B的接口B_p2和/或节点R的接口R_p0发生故障。As shown in (b) of Figure 9, assuming that node B is the first node and node R is the second node, the failure of the first node and the second node to communicate normally may be that the link between node B and node R fails, At this time, node R cannot receive the first multicast message sent by node B, but node R can receive messages sent by other nodes except node B. It should be understood that the failure of the link between node B and node R may be the failure or disconnection of the network cable, optical fiber or optical cable connected between node B and node R, or the interface connecting node B and node R If a fault occurs, as shown in (b) of Figure 9, the interface B_p2 of node B is connected to the interface R_p0 of node R, and the link between node B and node R fails, which may be the interface B_p2 of node B and the interface R_p0 of node R. /or interface R_p0 of node R fails.
还应理解,第一节点可以通过双向转发检测(bidirectional forwardingdetection,BFD)机制,感知能否与第二节点正常通信,如图9所示,当节点B是第一节点,节点R是第二节点时,节点B可以通过BFD机制感知能否与节点R正常通信。第一节点也可以通过其他方式来感知能否与第二节点正常通信,本申请对此不作任何限定。It should also be understood that the first node can perceive whether it can communicate with the second node normally through a bidirectional forwarding detection (BFD) mechanism. As shown in FIG. 9, when node B is the first node and node R is the second node When , node B can perceive whether it can communicate with node R normally through the BFD mechanism. The first node may also perceive whether it can communicate with the second node normally through other methods, which is not limited in this application.
如图9所示,假设节点B是第一节点,节点R是第二节点,节点B感知到与节点R无法正常通信,例如,图9的(a)所示的节点R发生设备故障,或者,图9的(b)所示的节点B与节点R之间的链路发生故障。对第一组播报文进行处理,可以理解为对第一组播报文的报文头进行处理,不对第一组播报文的载荷进行处理,对第一组播报文的报文头进行处理可以是基于目标备份路径对第一组播报文头中的报文转发的路径的指示信息进行修改,得到第二组播报文,上文已述及,第二组播报文的报文头中可以包含目标备份路径的指示信息。As shown in FIG. 9, assume that node B is the first node, and node R is the second node. Node B perceives that it cannot communicate normally with node R. For example, node R shown in (a) of FIG. 9 has a device failure, or , the link between node B and node R shown in (b) of FIG. 9 fails. Processing the first multicast packet can be understood as processing the packet header of the first multicast packet, not processing the payload of the first multicast packet, and processing the packet header of the first multicast packet The processing may be based on the target backup path to modify the indication information of the packet forwarding path in the first multicast packet header to obtain the second multicast packet. As mentioned above, the second multicast packet The header of the message may contain the indication information of the target backup path.
可选地,第二组播报文中可以包括第二节点的组播路由标识,且第二节点的子节点的组播路由标识可以包含在第二节点的组播路由信息中。Optionally, the second multicast packet may include the multicast routing identifier of the second node, and the multicast routing identifier of the child node of the second node may be included in the multicast routing information of the second node.
示例性地,图9的(b)所示的节点B与节点R之间的链路发生故障,第一组播报文原本是可以从节点B直接转发到节点R的,但由于节点B与节点R之间的链路发生故障,第一组播报文无法从节点B的接口B_p2直接转发到节点R的接口R_p0,节点B需要绕过节点B的接口B_p2与节点R的接口R_p0之间发生故障的链路,将组播报文转发给节点R。节点B可以根据预先存储的针对节点B与节点R之间无法正常通信的目标备份路径,如图10所示,图10中的右侧部分可以认为是第二组播树,目标备份路径可以是第二组播树中的一部分,目标备份路径的指示信息可以指示节点B向节点Y转发组播报文(例如节点B可以通过节点B的接口B_p1向节点Y的接口Y_p0转发组播报文),节点Y在接收到组播报文后可以再将组播报文转发给节点R(例如节点Y可以通过节点Y的接口Y_p2向节点R的接口R_p1转发组播报文),节点R再继续按照原来的路径的指示信息再将组播报文转发给节点S和节点E,节点S再将组播报文转发给节点C和节点D,从而完成组播报文的转发,因此,节点B可以根据该目标备份路径对第一组播报文的报文头处理后得到第二组播报文,此时,第二组播报文中可以包括节点R的组播路由信息,节点R的子节点(例如,节点S和节点E)的组播路由标识可以包含在节点R的组播路由信息中。Exemplarily, the link between node B and node R shown in (b) of FIG. The link between nodes R fails, and the first multicast message cannot be directly forwarded from interface B_p2 of node B to interface R_p0 of node R, and node B needs to bypass the connection between interface B_p2 of node B and interface R_p0 of node R The faulty link forwards the multicast packet to node R. Node B can be based on the pre-stored target backup path for the failure of normal communication between Node B and Node R, as shown in Figure 10, the right part in Figure 10 can be considered as the second multicast tree, and the target backup path can be Part of the second multicast tree, the indication information of the target backup path may instruct node B to forward the multicast message to node Y (for example, node B may forward the multicast message to interface Y_p0 of node Y through interface B_p1 of node B) , the node Y can forward the multicast message to the node R after receiving the multicast message (for example, the node Y can forward the multicast message to the interface R_p1 of the node R through the interface Y_p2 of the node Y), and the node R continues According to the instruction information of the original path, the multicast message is forwarded to node S and node E, and node S forwards the multicast message to node C and node D, thereby completing the forwarding of the multicast message. Therefore, node B The second multicast message can be obtained after processing the message header of the first multicast message according to the target backup path. At this time, the second multicast message can include the multicast routing information of the node R, and the child nodes of the node R The multicast routing identifiers of (for example, node S and node E) may be included in the multicast routing information of node R.
假设节点Y为第三节点,如图11所示的第二组播报文,第二组播报文中可以包括节点Y的组播信息,节点Y的组播信息可以包括节点Y的组播路由信息,节点Y的组播路由信息中可以包括节点R的组播路由信息,节点R的组播路由信息可以包括节点R的组播路由标识以及节点S和节点E的组播路由标识,其中,节点S的组播路由标识可以包含在节点S的组播路由信息中,节点S的子节点(例如,节点C和节点D)的组播路由标识也可以包含在节点S的组播路由信息中。Assuming that node Y is a third node, as shown in the second multicast message in Figure 11, the second multicast message may include multicast information of node Y, and the multicast information of node Y may include multicast routing information of node Y , the multicast routing information of node Y may include the multicast routing information of node R, and the multicast routing information of node R may include the multicast routing identifier of node R and the multicast routing identifiers of node S and node E, wherein node The multicast routing identifier of S may be included in the multicast routing information of node S, and the multicast routing identifiers of child nodes of node S (eg, node C and node D) may also be included in the multicast routing information of node S.
可选地,第二组播报文中不包括第二节点的组播路由标识。Optionally, the second multicast packet does not include the multicast routing identifier of the second node.
示例性地,图9的(a)所示的节点R发生设备故障,第一组播报文原本是可以从节点B直接转发到节点R的,但由于节点R发生设备故障,节点R无法从节点B接收第一组播报文,更无法向节点R的子节点(例如,节点S和节点E)转发组播报文,节点B需要绕过节点R,将组播报文转发给节点S和节点E。节点B可以根据预先存储的针对节点B与节点R之间无法正常通信的目标备份路径,如图12所示,图12中的右侧部分可以认为是第二组播树,目标备份路径可以是第二组播树中的一部分,例如,目标备份路径的指示信息可以指示节点B向节点Y转发组播报文,再由节点Y将组播报文转发给节点Z,节点Z可以再将组播报文转发给节点S,节点S可以再将组播报文转发给节点C和节点D,节点D可以再将组播报文转发给节点E,从而完成组播报文的转发,因此,节点B可以根据该目标备份路径对第一组播报文的报文头处理后得到第二组播报文,此时,第二组播报文中可以不包括节点R的组播路由信息,但是第二组播报文中可以包括节点R的子节点(例如,节点S和节点E)的组播路由标识。Exemplarily, a device failure occurs at node R shown in (a) of FIG. Node B receives the first multicast message, and cannot forward the multicast message to the child nodes of node R (for example, node S and node E), node B needs to bypass node R and forward the multicast message to node S and node E. Node B can be based on the pre-stored target backup path for the failure of normal communication between Node B and Node R, as shown in Figure 12, the right part in Figure 12 can be considered as the second multicast tree, and the target backup path can be A part of the second multicast tree, for example, the indication information of the target backup path can instruct node B to forward the multicast message to node Y, and then node Y forwards the multicast message to node Z, and node Z can then forward the group The broadcast message is forwarded to node S, and node S can forward the multicast message to node C and node D, and node D can forward the multicast message to node E, thereby completing the forwarding of the multicast message. Therefore, Node B can process the packet header of the first multicast packet according to the target backup path to obtain the second multicast packet. At this time, the second multicast packet may not include the multicast routing information of node R, but the second multicast packet The second multicast message may include multicast routing identifiers of child nodes of node R (for example, node S and node E).
在上述两个示例中,节点Y可以为第三节点,第三节点是目标备份路径中的第一跳节点,通过上述描述基于图9可以看出,节点Y不在第一组播树中。应理解,当节点B与节点Y之间如果还存在其他的节点时,节点Y可能不是第三节点。In the above two examples, node Y may be the third node, and the third node is the first hop node in the target backup path. It can be seen from the above description based on FIG. 9 that node Y is not in the first multicast tree. It should be understood that if there are other nodes between the node B and the node Y, the node Y may not be the third node.
应理解,目标备份路径的指示信息可以包括第三节点的组播路由信息,第三节点的路由组播信息中可以包括第三节点的组播路由标识和第三节点在第二组播树中的非叶子子节点的组播路由信息,第二组播树可以用于指示第二组播报文的转发路径。It should be understood that the indication information of the target backup path may include multicast routing information of the third node, and the routing multicast information of the third node may include the multicast routing identifier of the third node and the third node's status in the second multicast tree. The second multicast tree may be used to indicate the forwarding path of the second multicast packet.
示例性地,节点Y在上述两个示例中是第三节点,所以上述示例中对应的第二组播报文中可以包括节点Y的组播路由信息。Exemplarily, node Y is the third node in the above two examples, so the corresponding second multicast packet in the above examples may include the multicast routing information of node Y.
例如,在节点R没发生设备故障时,节点R接收到第一组播报文后,也可以对第一组播报文的报文头进行处理得到新的组播报文,节点R转发给节点E和转发给节点S的组播报文的报文头可以不同,但载荷相同,因此,在节点R发生故障后,节点B也可以对第一组播报文的报文头进行处理,得到包含有不同报文头的不同的第二组播报文,如图13所示的第二组播报文,图13的(a)中示出的第二组播报文可以指示将组播报文由节点S转发给节点C和节点D,图13的(b)中示出的第二组播报文可以指示将组播报文由节点S转发给节点D,再由节点D将组播报文转发给节点E。图13的(a)中示出的第二组播报文可以包括节点Y的组播信息,节点Y的组播信息可以包括节点Y的组播路由信息,节点Y的组播路由信息中可以包括节点Z的组播路由信息,节点Z的组播路由信息可以包括节点Z的组播路由标识以及节点S的组播路由标识,其中,节点S的组播路由标识可以包含在节点S的组播路由信息中,节点S的子节点(例如,节点C和节点D)的组播路由标识也可以包含在节点S的组播路由信息中;图13的(b)中示出的第二组播报文可以包括节点Y的组播信息,节点Y的组播信息可以包括节点Y的组播路由信息,节点Y的组播路由信息中可以包括节点Z的组播路由信息,节点Z的组播路由信息可以包括节点Z的组播路由标识以及节点S的组播路由信息,节点S的组播路由信息中可以包括节点S的组播路由标识和节点D的组播路由信息,节点D的组播路由信息可以包括节点D的组播路由标识和节点E的组播路由标识。For example, when there is no device failure at node R, after node R receives the first multicast message, it can also process the message header of the first multicast message to obtain a new multicast message, and node R forwards it to The message headers of the multicast message forwarded by node E and node S can be different, but the load is the same. Therefore, after node R fails, node B can also process the message header of the first multicast message, Obtain different second multicast messages that contain different message headers, such as the second multicast message shown in Figure 13, the second multicast message shown in (a) of Figure 13 can indicate that the group The broadcast message is forwarded by the node S to the node C and the node D, and the second multicast message shown in (b) of Figure 13 can indicate that the multicast message is forwarded by the node S to the node D, and then the node D sends the The multicast packet is forwarded to node E. The second multicast packet shown in (a) of Figure 13 may include multicast information of node Y, the multicast information of node Y may include multicast routing information of node Y, and the multicast routing information of node Y may include Including the multicast routing information of node Z, the multicast routing information of node Z may include the multicast routing identifier of node Z and the multicast routing identifier of node S, wherein the multicast routing identifier of node S may be included in the group of node S In the multicast routing information of node S, the multicast routing identifiers of the child nodes of node S (for example, node C and node D) can also be included in the multicast routing information of node S; the second group shown in (b) of Figure 13 The broadcast message may include the multicast information of node Y, the multicast information of node Y may include the multicast routing information of node Y, the multicast routing information of node Y may include the multicast routing information of node Z, the group The broadcast routing information may include the multicast routing identifier of node Z and the multicast routing information of node S, the multicast routing information of node S may include the multicast routing identifier of node S and the multicast routing information of node D, and the multicast routing information of node D The multicast routing information may include the multicast routing identifier of node D and the multicast routing identifier of node E.
还应理解,目标备份路径的指示信息的格式也可以是基于SR技术、IPv6 SR技术或MPLS技术等生成的相应格式,本申请对此不作任何限定。It should also be understood that the format of the indication information of the target backup path may also be a corresponding format generated based on SR technology, IPv6 SR technology, or MPLS technology, which is not limited in this application.
在步骤630中,第一节点向第三节点发送第二组播报文。In
上文已述及,第三节点可以是目标备份路径中的第一跳节点,第三节点不在第一组播树中。As mentioned above, the third node may be the first hop node in the target backup path, and the third node is not in the first multicast tree.
第一节点在基于目标备份路径对第一组播报文进行处理,得到第二组播报文后,第一节点已经确定了哪个节点是第三节点,所以第一节点可以向第三节点发送第二组播报文。After the first node processes the first multicast packet based on the target backup path and obtains the second multicast packet, the first node has determined which node is the third node, so the first node can send the The second multicast packet.
在一种可能的实现方式中,第一节点可以基于一个或多个备份路径生成第一转发表。In a possible implementation manner, the first node may generate the first forwarding table based on one or more backup paths.
其中,第一转发表中可以包括一个或多个备份路径中的每个备份路径的指示信息和第一节点的相邻节点以及第一节点的相邻节点的接口标识,每个备份路径的指示信息与第一节点的相邻节点以及第一节点的相邻节点的接口标识对应,一个或多个备份路径可以包括目标备份路径。Wherein, the first forwarding table may include the indication information of each backup path among one or more backup paths, the adjacent nodes of the first node and the interface identifiers of the adjacent nodes of the first node, and the indication information of each backup path The information corresponds to the adjacent nodes of the first node and the interface identifiers of the adjacent nodes of the first node, and one or more backup paths may include a target backup path.
应理解,备份路径可以是第一路径从控制器接收到的,备份路径也可以是第一节点生成的,备份路径可以预先存储在第一节点中。在第一备份是从控制器接收的情况下,第一节点、第二节点和第三节点均连接于控制器,控制器可以根据第一节点所在的拓扑结构中的全部节点的连接关系生成一个或多个备份路径,并发送给第一节点;第一节点也可以根据第一节点所在的拓扑结构中的全部节点的连接关系计算得到一个或多个备份路径。It should be understood that the backup path may be received by the first path from the controller, the backup path may also be generated by the first node, and the backup path may be pre-stored in the first node. In the case that the first backup is received from the controller, the first node, the second node and the third node are all connected to the controller, and the controller can generate a or multiple backup paths, and send them to the first node; the first node may also calculate one or more backup paths according to the connection relationships of all nodes in the topology where the first node is located.
如表1所示的对应于图14中的节点B的第一转发表,该第一转发表可以预先存储在节点B上。Table 1 corresponds to the first forwarding table of Node B in FIG. 14 , and the first forwarding table may be pre-stored on Node B.
表1节点B的第一转发表Table 1 The first forwarding table of node B
其中,“接口索引”这一项中的“0”、“1”和“2”可以分别指示节点B的接口B_p0、接口B_p1和接口B_p2,因此数据项“接口索引”也可以改成“本节点的接口标识”等,相应的表中的“接口索引”这一项中的“0”、“1”和“2”可以分别改为“B_p0”、“B_p1”和“B_p2”,本申请对此不作任何限定。Among them, "0", "1" and "2" in the item "interface index" can respectively indicate the interface B_p0, interface B_p1 and interface B_p2 of node B, so the data item "interface index" can also be changed to "this Node's interface identifier", etc., the "0", "1" and "2" in the "interface index" item in the corresponding table can be changed to "B_p0", "B_p1" and "B_p2" respectively. This application There are no restrictions on this.
表1中的数据项“相邻节点”和数据项“相邻节点的接口标识”,结合图14,可以看出接口索引“0”对应的节点B的相邻节点为节点Q,节点Q的接口有1个接口,即接口Q_p0;接口索引“1”对应的节点B的相邻节点为节点Y,节点Y有两个3个接口,分别为接口Y_p0、接口Y_p1和接口Y_p2;接口索引“2”对应的节点B的相邻节点为节点R,节点R有4个接口,分别为接口R_p0、接口R_p1、接口R_p2和接口R_p3。当节点B是第一节点时,节点B的相邻节点中包括第二节点。The data item "adjacent node" and the data item "interface identifier of the adjacent node" in Table 1, combined with Figure 14, it can be seen that the adjacent node of node B corresponding to the interface index "0" is node Q, and the node Q's The interface has 1 interface, that is, interface Q_p0; the adjacent node of node B corresponding to interface index "1" is node Y, and node Y has two 3 interfaces, namely interface Y_p0, interface Y_p1 and interface Y_p2; interface index " The adjacent node of node B corresponding to 2" is node R, and node R has four interfaces, namely interface R_p0, interface R_p1, interface R_p2 and interface R_p3. When the node B is the first node, the adjacent nodes of the node B include the second node.
应理解,表1只是一示例,不应对本申请产生任何限定。表1中只给出部分B的相邻节点的接口标识对应的备份路径的指示信息,例如,节点R的接口R_p2的备份路径的指示信息为“Y-Z”,节点R的接口R_p3的备份路径的指示信息为“Y-Z-S-D”,例如,节点Y的接口Y_p1和Y_p2,以及节点R的接口R_p1的备份路径的指示信息为给出,以“......”省略表示,又例如,节点Q的接口Q_p0、节点Y的接口Y_p0和节点R的接口R_p0可以无备份路径,所以表中以“/”表示无备份路径。需要说明的是,备份路径的指示信息也只是示例性的,在具体实现中备份路径的指示信息的形式可以基于组播树的封装结构、SR技术、IPv6技术或MPLS技术等的封装结构的形式存储,本申请对此不作任何限定。It should be understood that Table 1 is just an example, and should not impose any limitation on this application. Table 1 only gives the indication information of the backup path corresponding to the interface identifier of the adjacent node of part B. For example, the indication information of the backup path of the interface R_p2 of the node R is "Y-Z", and the indication information of the backup path of the interface R_p3 of the node R is "Y-Z". The indication information is "Y-Z-S-D", for example, the indication information of the backup path of interfaces Y_p1 and Y_p2 of node Y, and interface R_p1 of node R is given, and "..." is omitted, and for example, node Q Interface Q_p0 of node Y, interface Y_p0 of node Y, and interface R_p0 of node R may have no backup path, so "/" in the table indicates no backup path. It should be noted that the indication information of the backup path is only exemplary, and in a specific implementation, the form of the indication information of the backup path may be based on the encapsulation structure of the multicast tree, SR technology, IPv6 technology, or MPLS technology. Storage, this application does not make any limitation on this.
例如,备份路径的指示信息的形式可以基于组播树的封装结构,结合图14中的拓扑结构,“Y-Z”可以由如图15中的(a)示出的形式储存在第一转发表中,其中,“Y:001”可以表示组播报文可以通过节点Y的接口Y_p2转发出去,从图14中可以看出,节点Y的接口Y_p2连接的是节点Z,由此,“Y:001”也可以表示节点Y可以通过节点Y的接口Y_p2把组播报文转发给节点Z,同样地,“Z:010”可以表示组播报文可以通过节点Z的接口Z_p1转发出去,从图14中可以看出,节点Z的接口Z_p1连接的是节点S,由此,“Y:001”也可以表示节点Z可以通过节点Z的接口Z_p1把组播报文转发给节点S。“Y-Z-S-D”可以由如图15中的(b)示出的形式储存在第一转发表中,其中,“Y:001”和“Z:010”的表示含义与上述描述相同,此处不再赘述,“S:0001”可以表示组播报文可以通过节点S的接口S_p3转发出去,从图14中可以看出,节点S的接口S_p3连接的是节点D,由此,“S:0001”也可以表示节点S可以通过节点S的接口S_p1把组播报文转发给节点D,同样地,“D:100”可以表示组播报文可以通过节点D的接口D_p0转发出去,从图14中可以看出,节点D的接口D_p1连接的是节点E,由此,“D:100”也可以表示节点D可以通过节点D的接口D_p0把组播报文转发给节点E。For example, the form of the indication information of the backup path can be based on the encapsulation structure of the multicast tree, and in combination with the topology in Figure 14, "Y-Z" can be stored in the first forwarding table in the form shown in (a) in Figure 15 , where "Y: 001" can indicate that the multicast message can be forwarded through the interface Y_p2 of node Y. It can be seen from Figure 14 that the interface Y_p2 of node Y is connected to node Z. Therefore, "Y: 001 " can also indicate that node Y can forward multicast packets to node Z through interface Y_p2 of node Y. Similarly, "Z: 010" can indicate that multicast packets can be forwarded through interface Z_p1 of node Z. From Figure 14 It can be seen from the figure that the interface Z_p1 of the node Z is connected to the node S, therefore, "Y: 001" can also indicate that the node Z can forward the multicast message to the node S through the interface Z_p1 of the node Z. "Y-Z-S-D" can be stored in the first forwarding table in the form shown in (b) in Figure 15, wherein the meanings of "Y: 001" and "Z: 010" are the same as those described above, and will not be repeated here To repeat, "S:0001" can indicate that the multicast message can be forwarded through the interface S_p3 of the node S. It can be seen from Figure 14 that the interface S_p3 of the node S is connected to the node D. Therefore, "S:0001" It can also indicate that node S can forward multicast packets to node D through interface S_p1 of node S. Similarly, "D: 100" can indicate that multicast packets can be forwarded through interface D_p0 of node D. From Figure 14 It can be seen that the interface D_p1 of the node D is connected to the node E, therefore, "D: 100" can also indicate that the node D can forward the multicast message to the node E through the interface D_p0 of the node D.
还应理解,“Y:001”、“Z:010”、“S:0001”和“D:100”中有的数字对应的是节点的接口的比特位,有几个数字就表示节点具有几个接口,在本申请的实施例中“0”表示不通过这个比特位对应的接口转发,“1”表示可以通过这个比特位对应的接口转发。在实际应用中,也可以设定“0”表示可以通过这个比特位对应的接口转发,“1”表示不通过这个比特位对应的接口转发,本申请对此不作任何限定。It should also be understood that the numbers in "Y: 001", "Z: 010", "S: 0001" and "D: 100" correspond to the bits of the interface of the node. In the embodiment of the present application, "0" means not forwarding through the interface corresponding to this bit, and "1" means forwarding through the interface corresponding to this bit. In practical applications, "0" can also be set to indicate forwarding through the interface corresponding to this bit, and "1" indicates not forwarding through the interface corresponding to this bit, which is not limited in this application.
可选地,第一转发表还可以包括备份下一跳,备份下一跳与第一节点的相邻节点的接口标识对应。Optionally, the first forwarding table may further include a backup next hop, where the backup next hop corresponds to an interface identifier of a neighboring node of the first node.
应理解,第一转发表中的备份下一跳就是第三节点。It should be understood that the backup next hop in the first forwarding table is the third node.
如表2所示的对应于图14中的节点B的第一转发表的另外一种形式。表2中的数据项“接口索引”、“相邻节点”、“相邻节点的接口标识”和“备份路径的指示信息”的描述与表1相同,为了简洁,此处不再赘述。Another form of the first forwarding table shown in Table 2 corresponds to Node B in FIG. 14 . The descriptions of the data items "interface index", "adjacent node", "interface identifier of the adjacent node" and "indication information of the backup path" in Table 2 are the same as those in Table 1, and will not be repeated here for brevity.
还应理解,备份下一跳与备份路径的指示信息是对应的,备份下一跳是备份路径的指示信息中的第一个节点,也就是说,备份下一跳是目标备份路径中的第一条节点。It should also be understood that the backup next hop corresponds to the indication information of the backup path, and the backup next hop is the first node in the indication information of the backup path, that is to say, the backup next hop is the first node in the target backup path. a node.
表2节点B的第一转发表Table 2 The first forwarding table of node B
可选地,根据第一转发表,第一节点基于目标备份路径对第一组播报文进行处理,得到第二组播报文,具体还可以包括:第一节点可以确定第一转发表中第二节点的第一接口对应的备份路径的指示信息为目标备份路径的指示信息,第二节点的第一接口可以是第二节点与第一组播树中第二节点的子节点对应的接口,第一节点可以基于第一组播报文将目标备份路径的指示信息封装到第二组播报文中。Optionally, according to the first forwarding table, the first node processes the first multicast packet based on the target backup path to obtain the second multicast packet, which may specifically include: the first node may determine The indication information of the backup path corresponding to the first interface of the second node is the indication information of the target backup path, and the first interface of the second node may be the interface corresponding to the second node and the child node of the second node in the first multicast tree , the first node may encapsulate the indication information of the target backup path into the second multicast packet based on the first multicast packet.
例如,假设节点B为第一节点,节点R为第二节点,在原始的转发路径中,节点B需要用过接口B_p2将报文转发给节点R,节点R需要通过接口R_p2将报文转发给节点S和通过接口R_p3将报文转发给节点E,当节点B与节点R之间无法正常通信时,节点B可以在上述第一转发表中,将节点R的接口R_p2和接口R_p3对应的备份路径的指示信息确定为目标备份路径的指示信息,并可以基于第一组播报文,将目标备份路径的指示信息封装到第二组播报文中。For example, assuming that node B is the first node and node R is the second node, in the original forwarding path, node B needs to use the interface B_p2 to forward the message to node R, and node R needs to use the interface R_p2 to forward the message to Node S forwards the message to node E through interface R_p3. When node B and node R cannot communicate normally, node B can backup the corresponding backup data of interface R_p2 and interface R_p3 of node R in the above-mentioned first forwarding table. The indication information of the path is determined as the indication information of the target backup path, and the indication information of the target backup path may be encapsulated into the second multicast message based on the first multicast message.
可选地,基于表2所示的第一转发表,第一节点向第三节点发送第二组播报文,具体还可以包括:第一节点可以确定第一转发表中第二节点的第一接口对应的备份下一跳为第三节点,第二节点的第一接口可以是第二节点与第一组播树中第二节点的子节点对应的接口,第一节点可以向第三节点发送第二组播报文。Optionally, based on the first forwarding table shown in Table 2, the first node sends the second multicast message to the third node, which may specifically include: the first node may determine the first forwarding table of the second node in the first forwarding table The backup next hop corresponding to an interface is the third node, the first interface of the second node may be the interface corresponding to the second node and the child node of the second node in the first multicast tree, and the first node may send a message to the third node Send the second multicast message.
例如,假设节点B为第一节点,节点R为第二节点,当节点B与节点R之间无法正常通信,并得到了第二组播报文时,节点B可以在表2所示的第一转发表中,将节点R的接口R_p2和接口R_p3对应的备份下一跳为第三节点,即,将节点Y确定为第三节点,并将第二组播报文发送给节点Y。For example, assuming that node B is the first node and node R is the second node, when the normal communication between node B and node R fails and the second multicast message is obtained, node B can perform the first multicast message shown in Table 2. In a forwarding table, the backup next hop corresponding to interfaces R_p2 and R_p3 of node R is the third node, that is, node Y is determined as the third node, and the second multicast message is sent to node Y.
应理解,基于上述第一转发表,第二组播报文中不包括第二节点的组播路由标识。It should be understood that, based on the foregoing first forwarding table, the second multicast packet does not include the multicast routing identifier of the second node.
在另一种可能的实现方式中,第一节点可以基于一个或多个备份路径生成第二转发表。In another possible implementation manner, the first node may generate the second forwarding table based on one or more backup paths.
其中,第二转发表中可以包括一个或多个备份路径中的每个备份路径的指示信息和第一节点的接口标识,每个备份路径的指示信息与第一节点的接口标识对应,一个或多个备份路径包括目标备份路径。Wherein, the second forwarding table may include indication information of each of the one or more backup paths and the interface identifier of the first node, the indication information of each backup path corresponds to the interface identifier of the first node, one or The plurality of backup paths includes a target backup path.
应理解,上文已述及,备份路径可以是第一路径从控制器接收到的,备份路径也可以是第一节点生成的,备份路径可以预先存储在第一节点中。为了简洁此处不再赘述,详细描述可参看上文的相关描述。It should be understood that, as mentioned above, the backup path may be received by the first path from the controller, the backup path may also be generated by the first node, and the backup path may be pre-stored in the first node. For the sake of brevity, details are not repeated here, and detailed descriptions may refer to related descriptions above.
如表3所示的对应于图14中的节点B的第二转发表,该第二转发表可以预先存储在节点B上。Table 3 corresponds to the second forwarding table of Node B in FIG. 14 , and the second forwarding table may be pre-stored on Node B.
表3节点B的第二转发表Table 3 The second forwarding table of node B
在表3中示出的第二转发表中,数据项“接口索引”和“备份路径的指示信息”的描述与表1相同,为了简洁,此处不再赘述。In the second forwarding table shown in Table 3, the descriptions of the data items "interface index" and "indication information of the backup path" are the same as those in Table 1, and will not be repeated here for brevity.
“本节点的接口标识”这一列与“接口索引”这一列对应,其中,“0”、“1”和“2”分别对应节点B的接口B_p0、接口B_p1和接口B_p2。The column "interface identifier of this node" corresponds to the column "interface index", wherein "0", "1" and "2" correspond to interface B_p0, interface B_p1 and interface B_p2 of node B respectively.
其中,接口B_p2对应的备份路径的指示信息“Y:010”可以表示组播报文可以通过节点Y的接口Y_p1转发出去,从图14中可以看出,节点Y的接口Y_p1连接的是节点R,由此,“Y:010”也可以表示节点Y可以通过节点Y的接口Y_p1把组播报文转发给节点R。Among them, the indication information "Y:010" of the backup path corresponding to the interface B_p2 can indicate that the multicast message can be forwarded through the interface Y_p1 of the node Y. It can be seen from Figure 14 that the interface Y_p1 of the node Y is connected to the node R , thus, "Y:010" may also indicate that node Y can forward the multicast message to node R through interface Y_p1 of node Y.
可选地,第二转发表还可以包括备份接口标识,备份接口标识与第一节点的接口对应。Optionally, the second forwarding table may further include a backup interface identifier, where the backup interface identifier corresponds to the interface of the first node.
如表4所示的对应于图14中的节点B的第二转发表的另外一种形式。表4中的数据项“接口索引”和“备份路径的指示信息”的描述与表1相同,为了简洁,此处不再赘述。Another form of the second forwarding table shown in Table 4 corresponds to Node B in FIG. 14 . The descriptions of the data items "interface index" and "indication information of the backup path" in Table 4 are the same as those in Table 1, and will not be repeated here for brevity.
还应理解,备份接口与备份路径的指示信息是对应的,备份接口可以指示第一节点通过第一节点的哪个接口转发组播报文,也就是说,确定了备份接口也就可以确定第三节点是哪个节点。It should also be understood that the backup interface corresponds to the indication information of the backup path, and the backup interface may indicate which interface of the first node the first node forwards the multicast message through. Which node is the node.
表4节点B的第二转发表Table 4 The second forwarding table of node B
应理解,表3和表4都是示例性的,表3和表4中可以不包括的数据项“接口索引”,或者,在表3和表4中不包括数据项“接口索引”时,“本节点的接口标识”中对应的B_p0、B_p1和B_p2也可以分别改为“0”、“1”和“2”,本申请对此不作任何限定。It should be understood that Table 3 and Table 4 are exemplary, and the data item "interface index" that may not be included in Table 3 and Table 4, or, when the data item "interface index" is not included in Table 3 and Table 4, The corresponding B_p0, B_p1 and B_p2 in the "interface identifier of this node" can also be changed to "0", "1" and "2" respectively, which is not limited in this application.
可选地,根据第二转发表,第一节点基于目标备份路径对第一组播报文进行处理,得到第二组播报文,具体还可以包括:第一节点可以确定第二转发表中第一节点的第一接口对应的备份路径的指示信息为目标备份路径的指示信息,第一节点的第一接口是第一节点的接口中与第二节点对应的接口,第一节点基于第一组播报文将目标备份路径的指示信息封装到第二组播报文中。Optionally, according to the second forwarding table, the first node processes the first multicast packet based on the target backup path to obtain the second multicast packet, which may specifically include: the first node may determine The indication information of the backup path corresponding to the first interface of the first node is the indication information of the target backup path, the first interface of the first node is the interface corresponding to the second node among the interfaces of the first node, and the first node is based on the first The multicast message encapsulates the indication information of the target backup path into the second multicast message.
例如,假设节点B为第一节点,节点R为第二节点,在原始的转发路径中,节点B需要用过接口B_p2将报文转发给节点R,当节点B与节点R之间无法正常通信时,节点B可以在上述第二转发表中,将节点B的接口B_p2对应的备份路径的指示信息确定为目标备份路径的指示信息,并可以基于第一组播报文,将目标备份路径的指示信息封装到第二组播报文中。For example, suppose node B is the first node and node R is the second node. In the original forwarding path, node B needs to use the interface B_p2 to forward the message to node R. When node B and node R cannot communicate normally , the node B may determine the indication information of the backup path corresponding to the interface B_p2 of the node B as the indication information of the target backup path in the above-mentioned second forwarding table, and may determine the indication information of the target backup path based on the first multicast message The indication information is encapsulated into the second multicast packet.
可选地,基于表4所示的第二转发表,第一节点向第三节点发送第二组播报文,具体还可以包括:第一节点可以确定第二转发表中第一节点的第一接口对应的备份接口所对应的节点为第三节点,第一节点的第一接口是第一节点的接口中与第二节点对应的接口,第一节点可以通过第一节点的第一接口对应的备份接口向第三节点发送第二组播报文。Optionally, based on the second forwarding table shown in Table 4, the first node sends the second multicast message to the third node, which may specifically include: the first node may determine the first node of the first node in the second forwarding table The node corresponding to the backup interface corresponding to an interface is the third node, the first interface of the first node is the interface corresponding to the second node among the interfaces of the first node, and the first node can correspond to the first node through the first interface of the first node The backup interface of the device sends the second multicast message to the third node.
例如,假设节点B为第一节点,节点R为第二节点,当节点B与节点R之间无法正常通信,并得到了第二组播报文时,节点B可以在表4所示的第二转发表中,将节点B的接口B_p2对应的备份接口B_p1所对应的节点确定为第三节点,即,将节点Y确定为第三节点,并将第二组播报文发送给节点Y。For example, assuming that node B is the first node and node R is the second node, when the normal communication between node B and node R fails and the second multicast message is obtained, node B can perform the first multicast message shown in Table 4. In the second forwarding table, the node corresponding to the backup interface B_p1 corresponding to the interface B_p2 of the node B is determined as the third node, that is, the node Y is determined as the third node, and the second multicast message is sent to the node Y.
应理解,基于上述第二转发表,第二组播报文中包括第二节点的组播路由信息,且第二节点的子节点的组播路由标识包含在第二节点的组播路由信息中。It should be understood that, based on the above second forwarding table, the second multicast packet includes multicast routing information of the second node, and the multicast routing identifier of the child node of the second node is included in the multicast routing information of the second node.
图16为本申请实施例提供的在第一节点和第二节点无法正常通信前第一组播报文的示意图。FIG. 16 is a schematic diagram of a first multicast message provided by an embodiment of the present application before the first node and the second node fail to communicate normally.
在图16中,节点B为第一节点,节点R为第二节点,在节点B与节点R无法正常通信之前,基于图16中所示的第一组播报文,并结合图14,节点B可以通过节点B的接口B_p2将组播报文转发给节点R,节点R在可以分别通过节点R的接口R_p2和接口R_p3并基于寻址字段,将组播报文转发给节点S和节点E,节点S可以分别通过节点S的接口S_p2和接口S_p3并基于寻址字段,将组播报文转发给节点C和节点D。In FIG. 16, node B is the first node, and node R is the second node. Before node B and node R cannot communicate normally, based on the first multicast message shown in FIG. 16 and in combination with FIG. 14, node B can forward the multicast message to node R through interface B_p2 of node B, and node R can forward the multicast message to node S and node E through interface R_p2 and interface R_p3 of node R respectively based on the addressing field , the node S can forward the multicast packet to the node C and the node D through the interface S_p2 and the interface S_p3 of the node S respectively based on the addressing field.
图17为本申请实施例提供的在第一节点和第二节点无法正常通信前和后第一组播报文和第二组播报文的对比示意图。FIG. 17 is a schematic diagram of a comparison between the first multicast packet and the second multicast packet before and after the first node and the second node fail to communicate normally according to the embodiment of the present application.
在图17中,节点B为第一节点,节点R为第二节点,图17的(a)示出了在节点B与节点R无法正常通信之前第二组播报文的示意图,基于图17的(a)所示的第二组播报文,节点R在可以分别通过节点R的接口R_p2和接口R_p3并基于寻址字段,将组播报文转发给节点S和节点E,节点S可以分别通过节点S的接口S_p2和接口S_p3并基于寻址字段,将组播报文转发给节点C和节点D。In FIG. 17, node B is the first node, and node R is the second node. (a) of FIG. 17 shows a schematic diagram of the second multicast message before node B and node R cannot communicate normally, based on FIG. 17 For the second multicast message shown in (a), the node R can forward the multicast message to the node S and the node E through the interface R_p2 and the interface R_p3 of the node R respectively and based on the addressing field, and the node S can The multicast packet is forwarded to node C and node D through interface S_p2 and interface S_p3 of node S respectively based on the addressing field.
图17的(b)示出了在节点B与节点R无法正常通信之后,节点B基于第一转发表(例如表1或表2)可以生成的两个第二组播报文的示意图。对于图17的(b)示出的第一个第二组播报文,节点B可以将第二组播报文发送给节点Y,节点Y可以通过节点Y的接口Y_p2将组播报文转发给节点Z,节点Z可以通过节点Z的接口Z_p1将组播报文转发给节点S,节点S可以分别通过节点S的接口S_p2和接口S_p3并基于寻址字段,将组播报文转发给节点C和节点D;对于图17的(b)示出的第二个第二组播报文,节点B可以将第二组播报文发送给节点Y,节点Y可以通过节点Y的接口Y_p2将组播报文转发给节点Z,节点Z可以通过节点Z的接口Z_p1将组播报文转发给节点S,节点S可以通过节点S的接口S_p3,将组播报文转发给节点D,节点D可以通过节点D的接口D_p0,将组播报文转发给节点E。(b) of FIG. 17 shows a schematic diagram of two second multicast packets that Node B can generate based on the first forwarding table (such as Table 1 or Table 2) after Node B and Node R fail to communicate normally. For the first second multicast message shown in (b) of Figure 17, node B can send the second multicast message to node Y, and node Y can forward the multicast message through interface Y_p2 of node Y For node Z, node Z can forward the multicast packet to node S through interface Z_p1 of node Z, and node S can forward the multicast packet to node S through interface S_p2 and interface S_p3 of node S respectively based on the addressing field C and node D; for the second second multicast message shown in (b) of Figure 17, node B can send the second multicast message to node Y, and node Y can pass the interface Y_p2 of node Y to The multicast packet is forwarded to node Z, node Z can forward the multicast packet to node S through interface Z_p1 of node Z, node S can forward the multicast packet to node D through interface S_p3 of node S, and node D The multicast packet can be forwarded to node E through interface D_p0 of node D.
或者,在节点B与节点R无法正常通信之后,节点B也可以基于第一转发表(例如表1或表2)生成的一个第二组播报文,如图17的(c)所示。当第一节点基于转发表发现第一组播报文涉及到的多个备份路径中有相同的节点或有重合的部分时,第一节点也可以基于这两条备份路径的重合部分生成一个第二组播报文。例如,节点B与节点R无法正常通信之后,节点B基于如表1或表2所示的节点B的第一转发表发现第一组播报文涉及到的备份路径“Y-Z”和“Y-Z-S-D”有重合的部分“Y-Z”,或者说有相同的节点,如节点Y和节点Z,也就是说,组播报文都要经过节点Y和节点Z,所以节点B可以生成一个第二组播报文,正如图17的(c)所示。图17的(c)所示出的这个组播报文也可以看成是由图17的(b)示出的两个第二组播报文合并而来的。Alternatively, after Node B and Node R fail to communicate normally, Node B may also generate a second multicast packet based on the first forwarding table (such as Table 1 or Table 2), as shown in (c) of FIG. 17 . When the first node finds based on the forwarding table that the multiple backup paths involved in the first multicast message have the same node or overlapped parts, the first node may also generate a second backup path based on the overlapped parts of the two backup paths. Two multicast packets. For example, after Node B and Node R fail to communicate normally, Node B discovers the backup paths "Y-Z" and "Y-Z-S-D" involved in the first multicast message based on the first forwarding table of Node B shown in Table 1 or Table 2 There is an overlapping part "Y-Z", or the same node, such as node Y and node Z, that is to say, the multicast message must pass through node Y and node Z, so node B can generate a second group broadcast Text, as shown in (c) of Figure 17. The multicast message shown in (c) of FIG. 17 can also be regarded as a combination of the two second multicast messages shown in (b) of FIG. 17 .
对于图17的(c)示出的这个第二组播报文,节点B可以将第二组播报文发送给节点Y,节点Y可以通过节点Y的接口Y_p1将组播报文转发给节点Z,节点Z在可以通过节点Z的接口Z_p1将组播报文转发给节点S,节点S可以分别通过节点S的接口S_p2和接口S_p3并基于寻址字段,将组播报文转发给节点C和节点D,节点D可以通过节点D的接口D_p0将组播报文转发给节点E。For the second multicast message shown in (c) of Figure 17, node B can send the second multicast message to node Y, and node Y can forward the multicast message to node through interface Y_p1 of node Y Z, node Z can forward the multicast message to node S through interface Z_p1 of node Z, and node S can forward the multicast message to node C through interface S_p2 and interface S_p3 of node S respectively based on the addressing field and node D, node D can forward the multicast packet to node E through interface D_p0 of node D.
或者,在节点B与节点R无法正常通信之后,节点B也可以基于第二转发表(例如表3或表4)生成的一个第二组播报文,如图17的(d)所示。图17的(d)示出了在节点B与节点R无法正常通信之后,节点B基于第二转发表(例如表3或表4)可以生成的一个第二组播报文的另一示意图。对于17的(d)示出了第二组播报文,节点B可以将第二组播报文发送给节点Y,节点Y可以通过节点Y的接口Y_p1将组播报文转发给节点R,节点R在可以分别通过节点R的接口R_p2和接口R_p3并基于寻址字段,将组播报文转发给节点S和节点E,节点S可以分别通过节点S的接口S_p2和接口S_p3并基于寻址字段,将组播报文转发给节点C和节点D。Or, after Node B and Node R fail to communicate normally, Node B may also generate a second multicast packet based on the second forwarding table (such as Table 3 or Table 4), as shown in (d) of FIG. 17 . (d) of FIG. 17 shows another schematic diagram of a second multicast message that Node B can generate based on the second forwarding table (such as Table 3 or Table 4) after Node B and Node R fail to communicate normally. (d) of 17 shows the second multicast message, the node B can send the second multicast message to the node Y, and the node Y can forward the multicast message to the node R through the interface Y_p1 of the node Y, Node R can forward the multicast message to node S and node E through the interface R_p2 and interface R_p3 of node R respectively based on the addressing field, and node S can respectively pass the interface S_p2 and interface S_p3 of node S and based on the addressing field field, and forward the multicast message to node C and node D.
基于组播树的组播报文结构,在参与组播报文转发的节点上预先存储有可以绕开故障节点或故障链路的备份路径,当第一节点感知到第二节点发生设备故障或第一节点与第二节点的链路发生故障时,就可以在预先存储的备份路径中查找目标备份路径,把该目标备份路径封装到报文中,基于该目标备份路径发送该报文即可,由此一来,在第一节点和第二节点无法正常通信的情况下,就可以快速地切换到目标备份路径,将目标备份路径封装到报文中,基于目标备份路径继续发送报文,这种方式不会浪费带宽,并且还可以为组播提供可靠的保障机制。Based on the multicast message structure of the multicast tree, a backup path that can bypass the faulty node or faulty link is pre-stored on the nodes participating in the multicast message forwarding. When the first node perceives that the second node has a device failure or When the link between the first node and the second node fails, you can search for the target backup path in the pre-stored backup path, encapsulate the target backup path into a message, and send the message based on the target backup path , so that when the first node and the second node cannot communicate normally, they can quickly switch to the target backup path, encapsulate the target backup path into a message, and continue sending messages based on the target backup path. This method will not waste bandwidth, and can also provide a reliable guarantee mechanism for multicast.
如图18所示,在图18的(a)中,左侧为实体的网络拓扑图,右侧为组播树,节点Z中包括实体A(或节点A)、实体B、实体C(或节点C)、实体D和实体E,且实体A、实体B、实体C、实体D和实体E的连接关系如图所示的环形连接,节点Z也可以称为虚拟节点Z,组播报文在虚拟节点Z中的各实体之间的转发路径的组播路由标识可以表示为“000100”,其中,第一个比特位可以表示一个节点是否为虚拟节点,如在“000100”中,第一个比特位上的数字“0”可以表示该节点为虚拟节点,如果第一个比特位上的数字为“1”则可以表示该节点不是虚拟节点。应理解,在实际应用中,第一个比特位上也可以用“1”表示虚拟节点,用“0”表示不是虚拟节点,本申请对此不作任何限定。“000100”中的后五位比特位从左向右可以分别对应于实体A、实体B、实体C、实体D和实体E是否需要向该虚拟节点Z以外的节点转发组播报文,从“000100”可以看出,对应于实体C的比特位为“1”,因此,实体C需要向该虚拟节点Z以外的节点转发组播报文,当然,在实际应用中,也可以用“0”表示需要向虚拟节点以外的节点转发组播报文,用“1”表示不需要向虚拟节点以外的节点转发组播报文,本申请对此不作任何限定。As shown in Figure 18, in (a) of Figure 18, the left side is the network topology diagram of the entity, the right side is the multicast tree, and the node Z includes entity A (or node A), entity B, entity C (or Node C), entity D and entity E, and the connection relationship between entity A, entity B, entity C, entity D and entity E is a ring connection as shown in the figure, node Z can also be called virtual node Z, multicast message The multicast routing identifier of the forwarding path between entities in the virtual node Z can be expressed as "000100", wherein the first bit can indicate whether a node is a virtual node, such as in "000100", the first The number "0" in the first bit can indicate that the node is a virtual node, and if the number in the first bit is "1", it can indicate that the node is not a virtual node. It should be understood that in practical applications, "1" may be used to indicate a virtual node, and "0" may be used to indicate that it is not a virtual node, and this application does not make any limitation on this. The last five bits in "000100" respectively correspond to whether entity A, entity B, entity C, entity D, and entity E need to forward multicast packets to nodes other than the virtual node Z from left to right, starting from " 000100", it can be seen that the bit corresponding to entity C is "1". Therefore, entity C needs to forward multicast packets to nodes other than the virtual node Z. Of course, in practical applications, "0" can also be used Indicates that multicast packets need to be forwarded to nodes other than virtual nodes, and "1" indicates that multicast packets do not need to be forwarded to nodes other than virtual nodes, which is not limited in this application.
还应理解,虚拟节点内实体间转发组播报文的路径可以有默认路径。例如,虚拟节点Z中的实体之间从实体A向实体C转发组播报文的默认路径可以为:实体A将组播报文转发给实体B,实体B再将组播报文转发给实体C,或者,默认路径也可以为:实体A将组播报文转发给实体E,实体E再将组播报文转发给实体D,实体D再将组播报文转发给实体C。本申请对此不作任何限定。It should also be understood that the path for forwarding multicast packets between entities in the virtual node may have a default path. For example, the default path for forwarding multicast packets from entity A to entity C between entities in virtual node Z may be: entity A forwards the multicast packet to entity B, and entity B forwards the multicast packet to entity C, or, the default path may also be: entity A forwards the multicast packet to entity E, entity E forwards the multicast packet to entity D, and entity D forwards the multicast packet to entity C. This application does not make any limitation to this.
图18的(a)中还包括节点3(或实体3)、节点F(或实体F)和节点K(或实体K),节点3与节点A相连接,节点C与节点F和节点K相连接。(a) of Figure 18 also includes node 3 (or entity 3), node F (or entity F) and node K (or entity K),
在节点或实体之间能正常通信的时候,节点A从节点3接收到的组播报文可以如图18的(b)所示。应理解,在如图18的(b)所示出的组播报文中,第一个比特位上用“0”表示是节点是虚拟节点,用“1”表示节点不是虚拟节点。根据该组播报文可以看出,节点A需要将组播报文转发给虚拟节点Z,虚拟节点Z需要通过节点C将组播报文转发给节点F和节点K。假设,虚拟节点Z中的实体之间从实体A向实体C转发组播报文的默认路径为:实体A将组播报文转发给实体B,实体B再将组播报文转发给实体C。当实体B发生设备故障时,也即,实体A无法通过接口A_p1向外转发组播报文时,实体C将无法收到组播报文,所以当实体A与实体B无法正常通信时(可以是实体B发生设备故障,也可以是实体A与实体B之间的链路发生故障),实体A可以通过接口A_p2向外转发组播报文,这样一来,组播报文可以通过实体A的接口A_p2到达实体E,实体E再将组播报文转发给实体D,实体D再将组播报文转发给实体C,从而完成组播报文在虚拟节点Z中的转发,组播报文也能从节点A通过虚拟节点Z到达节点C,因此,在这种情况下,节点A发送给虚拟节点Z的组播报文中的虚拟节点Z的组播路由信息不需要改变。When normal communication between nodes or entities is possible, the multicast message received by node A from
如图19所示,在图19的(a)中,左侧为实体的网络拓扑图,右侧为组播树,节点X和节点Z是两个虚拟节点,虚拟节点X中包括实体A、实体E、实体Q和实体P,实体A、实体E、实体Q和实体P的连接关系如图所示的环形连接,虚拟节点Z中包括实体A、实体B、实体C、实体D和实体E,且实体A、实体B、实体C、实体D和实体E的连接关系如图所示的环形连接。从图中可以看出,实体A以实体E之间有两条平行链路,分别是实体A通过接口A_p1与实体E相连接的链路,和实体A通过接口A_p2与实体E相连接的链路。As shown in Figure 19, in Figure 19 (a), the left side is the network topology diagram of the entity, the right side is the multicast tree, node X and node Z are two virtual nodes, and virtual node X includes entity A, Entity E, Entity Q and Entity P, the connection relationship between Entity A, Entity E, Entity Q and Entity P is a ring connection as shown in the figure, and virtual node Z includes Entity A, Entity B, Entity C, Entity D and Entity E , and the connection relationship between Entity A, Entity B, Entity C, Entity D, and Entity E is a ring connection as shown in the figure. It can be seen from the figure that there are two parallel links between entity A and entity E, which are the link between entity A and entity E through interface A_p1, and the link between entity A and entity E through interface A_p2 road.
假设,虚拟节点Z要向虚拟节点X发送组播报文。在节点或实体之间能正常通信的时候,虚拟节点Z接收到或者虚拟节点Z生成的组播报文如图19的(b)所示,假设虚拟节点Z的组播路由标识的比特为除首位外,依次对应于实体A、实体B、实体C、实体D和实体E,虚拟节点X的组播路由标识的比特为除首位外,依次对应于实体A、实体E、实体Q和实体P。从该组播报文中的“Z:010000”可以看出,虚拟节点Z需要通过实体A向虚拟节点X发送组播报文。例如,虚拟节点Z向虚拟节点X发送组播报文的默认路径为:实体A通过实体A的接口A_p1向实体E发送组播报文。当实体A与实体E无法正常通信时(可以是实体A与实体B之间的链路发生故障),实体A可以通过接口A_p2向实体E发送组播报文,因此,虚拟节点Z发送给虚拟节点Z的组播报文中虚拟节点X的组播路由信息也不需要改变。Assume that virtual node Z wants to send a multicast packet to virtual node X. When the nodes or entities can communicate normally, the multicast message received by the virtual node Z or generated by the virtual node Z is shown in (b) of Figure 19, assuming that the bits of the multicast routing identifier of the virtual node Z are divided by Except for the first bit, they correspond to entity A, entity B, entity C, entity D, and entity E in turn, and the bits of the multicast routing identifier of virtual node X are except for the first bit, which in turn correspond to entity A, entity E, entity Q, and entity P . It can be seen from "Z: 010000" in the multicast message that virtual node Z needs to send a multicast message to virtual node X through entity A. For example, the default path for virtual node Z to send a multicast packet to virtual node X is: entity A sends a multicast packet to entity E through interface A_p1 of entity A. When entity A and entity E cannot communicate normally (it may be that the link between entity A and entity B fails), entity A can send multicast packets to entity E through interface A_p2. Therefore, virtual node Z sends a multicast packet to virtual The multicast routing information of virtual node X in the multicast message of node Z does not need to be changed either.
图20是本申请实施例提供的一种通信装置的示意性框图。如图20所示,该通信装置2000可以包括:处理单元2010和收发单元2020。该装置2000可以对应于方法600中的第一节点,例如可以是第一节点,或者配置在第一节点中的部件,如电路、芯片、芯片系统等。Fig. 20 is a schematic block diagram of a communication device provided by an embodiment of the present application. As shown in FIG. 20 , the communication device 2000 may include: a processing unit 2010 and a transceiver unit 2020 . The apparatus 2000 may correspond to the first node in the
该通信装置2000可用于实现方法600中第一节点所执行的各个步骤的功能。当该通信装置2000用于执行通信方法600中的步骤时,其中,收发单元2020可以用于获取第一组播报文,第一组播报文包括第二节点的组播路由信息,第二节点的组播路由信息包括第二节点的组播路由标识和第二节点在第一组播树中的子节点的组播路由标识,第二节点为第一组播树中第一节点的非叶子子节点,第一组播树用于指示第一组播报文的转发路径;处理单元2010可以用于在第一节点与第二节点无法正常通信的情况下,无法正常通信包括第二节点故障或第一节点与第二节点之间的链路故障,基于目标备份路径对第一组播报文进行处理,得到第二组播报文,第二组播报文包括目标备份路径的指示信息,且第二组播报文包括第一组播树中第二节点的子节点的组播路由标识,其中,一个节点的组播路由标识用于该节点确定该节点的下一跳;收发单元2020还可以用于向第三节点发送第二组播报文,第三节点是目标备份路径中的第一跳节点,第三节点不在第一组播树中。The communication device 2000 may be used to realize the functions of each step performed by the first node in the
可选地,第二组播报文中包括第二节点的组播路由标识,且第二节点的子节点的组播路由标识包含在第二节点的组播路由信息中。Optionally, the second multicast packet includes the multicast routing identifier of the second node, and the multicast routing identifier of the child node of the second node is included in the multicast routing information of the second node.
可选地,第二组播报文中不包括第二节点的组播路由标识。Optionally, the second multicast packet does not include the multicast routing identifier of the second node.
可选地,处理单元2010还可以用于基于一个或多个备份路径生成第一转发表,第一转发表中包括一个或多个备份路径中的每个备份路径的指示信息和第一节点的相邻节点以及第一节点的相邻节点的接口标识,每个备份路径的指示信息与第一节点的相邻节点以及第一节点的相邻节点的接口标识对应,一个或多个备份路径包括目标备份路径。Optionally, the processing unit 2010 may also be configured to generate a first forwarding table based on one or more backup paths, and the first forwarding table includes indication information of each backup path in the one or more backup paths and the first node's The interface identifiers of the adjacent nodes and the adjacent nodes of the first node, the indication information of each backup path corresponds to the interface identifiers of the adjacent nodes of the first node and the adjacent nodes of the first node, and one or more backup paths include Destination backup path.
可选地,第一转发表还包括备份下一跳,备份下一跳与第一节点的相邻节点的接口标识对应。Optionally, the first forwarding table further includes a backup next hop, where the backup next hop corresponds to an interface identifier of a neighboring node of the first node.
可选地,处理单元2010还可以用于确定第一转发表中第二节点的第一接口对应的备份路径的指示信息为目标备份路径的指示信息,第二节点的第一接口是第二节点与第一组播树中第二节点的子节点对应的接口;并基于第一组播报文将目标备份路径的指示信息封装到第二组播报文中。Optionally, the processing unit 2010 may also be configured to determine that the indication information of the backup path corresponding to the first interface of the second node in the first forwarding table is the indication information of the target backup path, and the first interface of the second node is the indication information of the second node An interface corresponding to the child node of the second node in the first multicast tree; and encapsulating the indication information of the target backup path into the second multicast message based on the first multicast message.
可选地,处理单元2010还可以用于确定第一转发表中第二节点的第一接口对应的备份下一跳为第三节点,第二节点的第一接口是第二节点与第一组播树中第二节点的子节点对应的接口;收发单元2020还可以用于向第三节点发送第二组播报文。Optionally, the processing unit 2010 may also be configured to determine that the backup next hop corresponding to the first interface of the second node in the first forwarding table is the third node, and the first interface of the second node is the second node and the first group The interface corresponding to the child node of the second node in the broadcast tree; the transceiver unit 2020 can also be used to send the second multicast message to the third node.
可选地,处理单元2010还可以用于基于一个或多个备份路径生成第二转发表,第二转发表中包括一个或多个备份路径中的每个备份路径的指示信息和第一节点的接口标识,每个备份路径的指示信息与第一节点的接口标识对应,一个或多个备份路径包括目标备份路径。Optionally, the processing unit 2010 may also be configured to generate a second forwarding table based on one or more backup paths, and the second forwarding table includes indication information of each backup path in the one or more backup paths and the first node's An interface identifier, the indication information of each backup path corresponds to the interface identifier of the first node, and one or more backup paths include a target backup path.
可选地,第二转发表还包括备份接口标识,备份接口标识与第一节点的接口对应。Optionally, the second forwarding table further includes a backup interface identifier, where the backup interface identifier corresponds to the interface of the first node.
可选地,处理单元2010还可以用于确定第二转发表中第一节点的第一接口对应的备份路径的指示信息为目标备份路径的指示信息,第一节点的第一接口是第一节点的接口中与第二节点对应的接口;并基于第一组播报文将目标备份路径的指示信息封装到第二组播报文中。Optionally, the processing unit 2010 may also be configured to determine that the indication information of the backup path corresponding to the first interface of the first node in the second forwarding table is the indication information of the target backup path, and the first interface of the first node is the first node The interface corresponding to the second node among the interfaces; and encapsulating the indication information of the target backup path into the second multicast message based on the first multicast message.
可选地,处理单元2010还可以用于确定第二转发表中第一节点的第一接口对应的备份接口所对应的节点为第三节点,第一节点的第一接口是第一节点的接口中与第二节点对应的接口;收发单元2020还可以用于通过第一节点的第一接口对应的备份接口向第三节点发送第二组播报文。Optionally, the processing unit 2010 may also be configured to determine that the node corresponding to the backup interface corresponding to the first interface of the first node in the second forwarding table is the third node, and the first interface of the first node is the interface of the first node The interface corresponding to the second node; the transceiver unit 2020 can also be configured to send the second multicast message to the third node through the backup interface corresponding to the first interface of the first node.
可选地,一个或多个备份路径是第一节点从控制器接收到的,第一节点、第二节点和第三节点均连接于控制器。Optionally, the one or more backup paths are received by the first node from the controller, and the first node, the second node and the third node are all connected to the controller.
可选地,一个或多个备份路径是第一节点基于第一节点所在的拓扑结构中的全部节点的连接关系计算得到的。Optionally, the one or more backup paths are calculated by the first node based on connection relationships of all nodes in the topology where the first node is located.
可选地,第一组播报文是第一节点从控制器或第一节点的上一跳节点接收的,第二节点的组播路由信息包含在第一节点的组播信息。Optionally, the first multicast message is received by the first node from the controller or the last hop node of the first node, and the multicast routing information of the second node includes the multicast information of the first node.
可选地,第一组播报文是第一节点基于第一节点所在的拓扑结构中的全部节点的连接关系生成的,第一组播报文中不包括第一节点的组播路由标识。Optionally, the first multicast message is generated by the first node based on connection relationships of all nodes in the topology where the first node is located, and the first multicast message does not include the multicast routing identifier of the first node.
可选地,目标备份路径的指示信息包括第三节点的组播路由信息,第三节点的路由组播信息中包括第三节点的组播路由标识和第三节点在第二组播树中的非叶子子节点的组播路由信息,第二组播树用于指示第二组播报文的转发路径。Optionally, the indication information of the target backup path includes multicast routing information of the third node, and the routing multicast information of the third node includes the multicast routing identifier of the third node and the third node's location in the second multicast tree. The multicast routing information of the non-leaf child nodes, the second multicast tree is used to indicate the forwarding path of the second multicast message.
图21是本申请实施例提供的另一种通信装置的示意性框图。该通信装置2100可用于实现上述方法第一节点的功能。该通信装置2100可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。Fig. 21 is a schematic block diagram of another communication device provided by an embodiment of the present application. The communication device 2100 may be used to implement the function of the first node in the above method. The communication device 2100 may be a system on a chip. In the embodiment of the present application, the system-on-a-chip may be composed of chips, or may include chips and other discrete devices.
如图21所示,该通信装置2100可以包括至少一个处理器2110,用于实现本申请实施例提供的方法中第一节点的功能。As shown in FIG. 21 , the communication device 2100 may include at least one
示例性地,当该通信装置2100用于实现本申请实施例提供的通信方法中第一节点的功能时,处理器2110可以用于获取第一组播报文,第一组播报文包括第二节点的组播路由信息,第二节点的组播路由信息包括第二节点的组播路由标识和第二节点在第一组播树中的子节点的组播路由标识,第二节点为第一组播树中第一节点的非叶子子节点,第一组播树用于指示第一组播报文的转发路径,其中,一个节点的组播路由标识用于该节点确定该节点的下一跳;在第一节点与第二节点无法正常通信的情况下,无法正常通信包括第二节点故障或第一节点与第二节点之间的链路故障,基于目标备份路径对第一组播报文进行处理,得到第二组播报文,第二组播报文包括目标备份路径的指示信息,且第二组播报文包括第一组播树中第二节点的子节点的组播路由标识;向第三节点发送第二组播报文,第三节点是目标备份路径中的第一跳节点,第三节点不在第一组播树中。具体参见方法示例中的详细描述,此处不做赘述。Exemplarily, when the communication device 2100 is used to realize the function of the first node in the communication method provided by the embodiment of the present application, the processor 2110 may be used to obtain the first multicast message, the first multicast message includes the first The multicast routing information of the second node, the multicast routing information of the second node includes the multicast routing identifier of the second node and the multicast routing identifier of the child node of the second node in the first multicast tree, and the second node is the multicast routing identifier of the second node A non-leaf child node of the first node in the multicast tree, the first multicast tree is used to indicate the forwarding path of the first multicast packet, wherein the multicast routing identifier of a node is used by the node to determine the next node of the node One hop; when the first node and the second node cannot communicate normally, the failure of normal communication includes the failure of the second node or the link failure between the first node and the second node, based on the target backup path to the first multicast The message is processed to obtain the second multicast message, the second multicast message includes the indication information of the target backup path, and the second multicast message includes the multicast message of the child node of the second node in the first multicast tree Routing identifier; sending the second multicast message to the third node, the third node is the first hop node in the target backup path, and the third node is not in the first multicast tree. For details, refer to the detailed description in the method example, and details are not repeated here.
该通信装置2100还可以包括至少一个存储器2120,用于存储程序指令和/或数据。存储器2120和处理器2110耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器2110可能和存储器2120协同操作。处理器2110可能执行存储器2120中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。The communication device 2100 may also include at least one
该通信装置2100还可以包括通信接口2130,用于通过传输介质和其它设备进行通信,从而用于通信装置2100中的装置可以和其它设备进行通信,例如其他设备可以是第二节点或第三节点或控制器。所述通信接口2130例如可以是收发器、接口、总线、电路或者能够实现收发功能的装置。处理器2110可利用通信接口2130收发数据和/或信息,并用于实现图6对应的实施例中所述的第一节点所执行的方法。The communication device 2100 may also include a
本申请实施例中不限定上述处理器2110、存储器2120以及通信接口2130之间的具体连接介质。本申请实施例在图21中以处理器2110、存储器2120以及通信接口2130之间通过总线2140连接。总线2140在图21中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图21中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。In this embodiment of the present application, a specific connection medium among the
本申请还提供了一种芯片系统,所述芯片系统包括至少一个处理器,用于实现上述图6所示实施例中第一节点执行的方法中所涉及的功能,例如,接收或处理上述方法中所涉及的数据和/或信息。The present application also provides a chip system, the chip system includes at least one processor, configured to implement the functions involved in the method executed by the first node in the embodiment shown in FIG. 6 above, for example, receive or process the above method data and/or information referred to in .
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。In a possible design, the chip system further includes a memory, the memory is used to store program instructions and data, and the memory is located inside or outside the processor.
该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。The system-on-a-chip may consist of chips, or may include chips and other discrete devices.
本申请还提供一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得第一节点执行如图6所示实施例的方法。The present application also provides a computer program product, the computer program product including: a computer program (also referred to as code, or instruction), when the computer program is executed, the first node executes the implementation as shown in Figure 6 example method.
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)。当所述计算机程序被运行时,使得第一节点执行如图6所示实施例的方法。The present application also provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program (also called a code, or an instruction). When the computer program is executed, the first node is made to execute the method of the embodiment shown in FIG. 6 .
应理解,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。It should be understood that the processor in this embodiment of the present application may be an integrated circuit chip that has a signal processing capability. In the implementation process, each step of the above-mentioned method embodiments may be completed by an integrated logic circuit of hardware in a processor or instructions in the form of software. The above-mentioned processor may be a general-purpose processor, a digital signal processor (digital signal processor, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), a field programmable gate array (field programmable gate array, FPGA) or other programmable Logic devices, discrete gate or transistor logic devices, discrete hardware components. Various methods, steps, and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed. A general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register. The storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。It should also be understood that the memory in the embodiments of the present application may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory. Volatile memory can be random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, many forms of RAM are available, such as static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rateSDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous connection dynamic random access memory (synchlink DRAM, SLDRAM) And direct memory bus random access memory (directrambus RAM, DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but not be limited to, these and any other suitable types of memory.
本说明书中使用的术语“单元”、“模块”等,可用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。The terms "unit", "module" and the like used in this specification may be used to denote a computer-related entity, hardware, firmware, a combination of hardware and software, software, or software in execution.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。Those of ordinary skill in the art can realize that various illustrative logical blocks (illustrative logical blocks) and steps (steps) described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, or a combination of computer software and electronic hardware. accomplish. Whether these functions are executed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present application. In the several embodiments provided in this application, it should be understood that the disclosed devices, devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
在上述实施例中,各功能单元的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令(程序)。在计算机上加载和执行所述计算机程序指令(程序)时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。In the above embodiments, the functions of each functional unit may be fully or partially implemented by software, hardware, firmware or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product comprises one or more computer instructions (programs). When the computer program instructions (program) are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a digital versatile disk (digital video disc, DVD)), or a semiconductor medium (such as a solid state disk (solid state disk, SSD) )wait.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。If the functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: various media capable of storing program codes such as U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only a specific implementation of the application, but the scope of protection of the application is not limited thereto. Anyone familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the application. Should be covered within the protection scope of this application. Therefore, the protection scope of the present application should be determined by the protection scope of the claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111137441.2A CN115883452A (en) | 2021-09-27 | 2021-09-27 | Communication method and communication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111137441.2A CN115883452A (en) | 2021-09-27 | 2021-09-27 | Communication method and communication device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115883452A true CN115883452A (en) | 2023-03-31 |
Family
ID=85763062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111137441.2A Pending CN115883452A (en) | 2021-09-27 | 2021-09-27 | Communication method and communication device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883452A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155846A (en) * | 2023-10-31 | 2023-12-01 | 苏州元脑智能科技有限公司 | Routing method, device, computer equipment and storage medium of interconnection network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050068954A1 (en) * | 2003-09-30 | 2005-03-31 | Zhen Liu | Method of stateless group communication and repair of data packets transmission to nodes in a distribution tree |
CN101192957A (en) * | 2006-11-28 | 2008-06-04 | 中兴通讯股份有限公司 | A computing method for route of automatic switching optical network multicast service |
CN102315967A (en) * | 2011-09-19 | 2012-01-11 | 中兴通讯股份有限公司 | Intermediate node protection method for multicast label switched path and device |
CN107342939A (en) * | 2016-04-29 | 2017-11-10 | 华为技术有限公司 | The method and apparatus for transmitting data |
-
2021
- 2021-09-27 CN CN202111137441.2A patent/CN115883452A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050068954A1 (en) * | 2003-09-30 | 2005-03-31 | Zhen Liu | Method of stateless group communication and repair of data packets transmission to nodes in a distribution tree |
CN101192957A (en) * | 2006-11-28 | 2008-06-04 | 中兴通讯股份有限公司 | A computing method for route of automatic switching optical network multicast service |
CN102315967A (en) * | 2011-09-19 | 2012-01-11 | 中兴通讯股份有限公司 | Intermediate node protection method for multicast label switched path and device |
CN107342939A (en) * | 2016-04-29 | 2017-11-10 | 华为技术有限公司 | The method and apparatus for transmitting data |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155846A (en) * | 2023-10-31 | 2023-12-01 | 苏州元脑智能科技有限公司 | Routing method, device, computer equipment and storage medium of interconnection network |
CN117155846B (en) * | 2023-10-31 | 2024-02-06 | 苏州元脑智能科技有限公司 | Routing method, device, computer equipment and storage medium of interconnection network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10693765B2 (en) | Failure protection for traffic-engineered bit indexed explicit replication | |
CN112054960B (en) | Path calculation method, device and equipment | |
US9948574B2 (en) | Bit indexed explicit replication packet encapsulation | |
CN110401599B (en) | Data packet processing method and device, storage medium and electronic device | |
US20230121236A1 (en) | Segment routing point to multipoint path | |
CN111510386B (en) | Method and device for processing message | |
CN112491718B (en) | Message header processing method and device, storage medium, and electronic device | |
US20200153728A1 (en) | Multicast Forwarding Method and Related Device | |
CN112737954B (en) | Message processing method, device, system, equipment and storage medium | |
US20230291682A1 (en) | Method and device for processing data packet, storage medium, and electronic device | |
US20220263760A1 (en) | Method, apparatus, and device for load balancing in bit index explicit replication network | |
CN107968751A (en) | A kind of information processing method and device | |
CN112134795B (en) | Method, device and system for sending multicast protocol message | |
JP7536093B2 (en) | Packet forwarding method, first network device, and first device group | |
JP7273125B2 (en) | Method and first network device for transmitting BIERv6 packets | |
US9503272B2 (en) | Fast convergence with multicast source mobility | |
CN105493454B (en) | For realizing the method and apparatus at the dual-active access garden TRILL edge | |
CN115883452A (en) | Communication method and communication device | |
US20240348463A1 (en) | Compact Segment Routing Multicast for IPv6 | |
WO2023045793A1 (en) | Loop detection method and apparatus | |
JP7528373B2 (en) | PACKET TRANSMISSION METHOD, CORRESPONDENCE RELATIONSHIP ACQUISITION METHOD, DEVICE, AND SYSTEM | |
CN111600798A (en) | Method and network node for sending and obtaining assertion message | |
CN116648891A (en) | Bit index explicit replication traffic engineering fast reroute | |
JP2021191000A (en) | BIERV6 packet forwarding method, device, and system | |
WO2023025171A1 (en) | Communication method and device |
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 |