BIER multicast table item creating method and BIER multicast method

By creating BIER multicast table entries based on adjacent nodes, combining equivalent node groups and generating sticker links, the problem of hardware resource occupation and path in BIER multicast is solved, and more efficient forwarding path management is achieved.

CN120512414APending Publication Date: 2025-08-19SUZHOU CENTEC COMM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510880392.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-27
Publication Date
2025-08-19

AI Technical Summary

Technical Problem

In BIER multicast technology, hardware forwarding table entries occupy too much resources and are complex in management, especially in the case of ECMP multipathing, the same flow forwarding path is inconsistent.

Method used

By creating BIER multicast table entries based on adjacent nodes, combining adjacent nodes into equivalent node groups, generating BIER multicast strap links, reducing the occupation of hardware forwarding table entries, and optimizing forwarding path management through pointer design.

Benefits of technology

It reduces the occupation of hardware forwarding items by BIER multicast, simplifies management complexity, and solves the problem of inconsistent forwarding path of the same flow in the ECMP scenario.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120512414A_ABST
    Figure CN120512414A_ABST
Patent Text Reader

Abstract

The invention discloses a BIER multicast table item creating method and a BIER multicast method, and the multicast method comprises the steps: obtaining an edge node which is expected to be forwarded by a message to be forwarded, and traversing a first BIER multicast table item and a second BIER multicast table item in a BIER multicast table chain item by item based on a preset table item pointer; acquiring an expected forwarding edge node with an equivalent path, and indexing to reach a next hop address of the expected forwarding edge node with the equivalent path based on the first BIER multicast table item; based on the second BIER multicast table item, indexing a next hop address reaching the expected forwarding edge node without the equivalent path; and copying the forwarding message to the next hop node, and updating the copied message and the expected forwarding edge node information of the original to-be-forwarded message. Compared with the prior art, the occupation of BIER multicast on hardware forwarding table items is reduced. In addition, the problem that forwarding paths of the same stream are inconsistent in an equivalent multi-path routing scene is solved, and maintenance and management are simpler.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of Ethernet data transmission, and specifically relates to a BIER multicast table creation method and a BIER multicast method. Background Art

[0002] Multicast is one of the three basic Ethernet IP message transmission methods (unicast, broadcast, and multicast). It means that a message is sent from a single source and forwarded to a specific group of receivers. The same message has at most one copy on each link. Compared with unicast and broadcast, multicast can effectively save network bandwidth and reduce network load. Therefore, it is widely used in network services such as IPTV (Internet Protocol Television), real-time data transmission, and multimedia conferencing.

[0003] BIER (Bit Index Explicit Replication) technology uses a new concept to solve prominent problems in traditional multicast. Compared with traditional multicast technology, BIER multicast technology can reduce resource usage on the one hand; on the other hand, it makes intermediate nodes unaware of multicast services, and the deployment of multicast services does not involve intermediate nodes, which simplifies network deployment and operation and maintenance. In contrast to its advantages, BIER technology has the problem that the BIFT table it uses occupies too many table entry resources, and the number of BIFT table entries is strongly correlated with the length of the BitString. At the same time, in the case of ECMP multi-path, the number of BIFT tables is proportional to the number of ECMP paths, which not only occupies a large amount of table entry resources, but also makes management very complex.

[0004] Therefore, in response to the above technical problems, it is necessary to provide a simplified BIER multicast table creation method and a BIER multicast method.

[0005] The information disclosed in this background technology section is only intended to enhance understanding of the overall background of the invention and should not be regarded as an admission or any form of suggestion that the information constitutes the prior art already known to a person skilled in the art. Summary of the Invention

[0006] The purpose of the present invention is to provide a BIER multicast table entry creation method and a BIER multicast method, which can reduce the occupation of hardware forwarding table entries by BIER multicast, and at the same time solve the problem of inconsistent forwarding paths of the same stream in ECMP (Equal-cost multi-path routing) scenarios.

[0007] In order to achieve the above object, a specific embodiment of the present invention provides the following technical solutions:

[0008] In a first aspect, the present invention provides a BIER multicast entry creation method, which is applied to a multicast forwarding node and includes:

[0009] For each reachable edge node, query whether it can be reached via the adjacent forwarding nodes of the current multicast forwarding node; if the same edge node can be reached via multiple adjacent forwarding nodes, merge the multiple adjacent forwarding nodes into the same equivalent node group; and merge completely identical equivalent node groups into the same equivalent node group;

[0010] Based on the number of the equivalent node groups, a plurality of first BIER multicast table entries are created, each of which records a node identifier corresponding to each equivalent node in a different equivalent node group and a reachable edge node set;

[0011] Create multiple second BIER multicast table entries. If there is an edge node that can only be reached based on a unique adjacent forwarding node, write the node identifier corresponding to the adjacent forwarding node and the set of reachable edge nodes into the second BIER multicast table entry;

[0012] Combine the first BIER multicast table entries and the second BIER multicast table entries to generate a BIER multicast table chain.

[0013] In one or more embodiments of the present invention, combining the first BIER multicast entry and the second BIER multicast entry to generate a BIER multicast table chain includes:

[0014] Creating a pointer for each of the first BIER multicast table items and the second BIER multicast table items, wherein the pointer points to other unpointed first BIER multicast table items or second BIER multicast table items;

[0015] If all other first BIER multicast table entries and second BIER multicast table entries have been referenced by other table entry pointers, the pointer creation task for the current first BIER multicast table entry or second BIER multicast table entry will be canceled.

[0016] In one or more embodiments of the present invention, before combining the first BIER multicast entry and the second BIER multicast entry, the method further includes:

[0017] Place the first BIER multicast table entry before the second multicast table entry so that in the generated BIER multicast table chain, each of the first BIER multicast table entries is before the second multicast table entry.

[0018] In a second aspect, the present invention provides a BIER multicast method, which uses the BIER multicast table chain created by the BIER multicast table creation method, comprising:

[0019] Obtain the edge node to which the message to be forwarded is expected to be forwarded, and based on the preset table entry pointer, traverse the first BIER multicast table entry and the second BIER multicast table entry in the BIER multicast table chain one by one;

[0020] Obtain the expected forwarding edge node with an equal-cost path, index the next-hop address of the expected forwarding edge node with an equal-cost path based on the first BIER multicast table entry, copy the message to be forwarded to the next-hop node and update the expected forwarding edge node information of the copied message and the original message to be forwarded;

[0021] Based on the second BIER multicast table entry, the next hop address of the expected forwarding edge node with no equal-cost path is indexed, the forwarding message is copied to the next hop node, and the expected forwarding edge node information of the copied message and the original message to be forwarded is updated.

[0022] In one or more embodiments of the present invention, based on the first BIER multicast table entry, indexing the next hop address of the desired forwarding edge node where an equal-cost path exists, and copying the message to be forwarded to the next hop node includes:

[0023] Obtain the intersection of the set of edge nodes reachable by equivalent nodes in the first BIER multicast table currently traversed;

[0024] If there is an edge node to which the message to be forwarded is expected to be forwarded in the intersection, a hash value is calculated based on the entropy information carried by the message to be forwarded;

[0025] Selecting an equivalent node from the equivalent node group as the next hop node for forwarding based on the calculated hash value;

[0026] The message to be forwarded is copied to the selected next-hop node, and the copied message and the edge node to which the original message to be forwarded is expected to be forwarded are updated.

[0027] In one or more embodiments of the present invention, the step of indexing the next hop address of the desired forwarding edge node with no equivalent path based on the second BIER multicast entry and copying the forwarding message to the next hop node includes:

[0028] If the reachable edge node set corresponding to the node in the second BIER multicast table entry intersects with the edge node to which the message to be forwarded is expected to be forwarded, the message to be forwarded will be copied to the node, and the copied message and the edge node to which the original message to be forwarded is expected to be forwarded will be updated.

[0029] In one or more embodiments of the present invention, the method further comprises:

[0030] If the edge node to which the message to be forwarded is expected to be forwarded does not exist in the intersection of the set of edge nodes reachable by the equal-cost node in the first BIER multicast table entry, then based on the pointer preset in the first BIER multicast table entry, traverse the next BIER multicast table entry pointed to by the pointer;

[0031] If the set of reachable edge nodes corresponding to the nodes in the second BIER multicast table entry does not intersect with the edge node to which the message to be forwarded is expected to be forwarded, then based on the pointer preset in the second BIER multicast table entry, traverse the next BIER multicast table entry pointed to by the pointer.

[0032] In one or more embodiments of the present invention, the edge node to which the updated copy message and the original to-be-forwarded message are expected to be forwarded includes:

[0033] Update the expected forwarding node of the copied message to the intersection of the edge node to which the original message to be forwarded is expected to be forwarded and the node-reachable edge node in the currently traversed BIER multicast table entry;

[0034] Delete the edge node to which the original message to be forwarded is expected to be forwarded and the node that is the same as the expected forwarding node of the duplicate message.

[0035] In one or more embodiments of the present invention, the method further comprises:

[0036] If the expected forwarding node set of the original message to be forwarded is an empty set, or the last multicast replication table of the BIER multicast table chain has been traversed, the multicast is terminated.

[0037] In one or more embodiments of the present invention, the last multicast replication table that has been traversed to the BIER multicast table chain includes:

[0038] If the expected forwarding node set of the original message to be forwarded is not an empty set, and the current traversal has reached the last equivalent node of the first BIER multicast table entry, then continue to traverse the second BIER multicast table entry;

[0039] If the expected forwarding node set of the original message to be forwarded is not an empty set, and the last multicast replication table of the second BIER multicast table item has been traversed, the multicast replication is terminated.

[0040] Compared with the prior art, the BIER multicast method provided by the present invention has a method in which the number of occupied forwarding tables is related to the number of adjacent nodes, but has nothing to do with the number of edge nodes that can be forwarded, thereby reducing the occupation of hardware forwarding table entries by BIER multicast. In addition, by rationally arranging the forwarding table, the problem of inconsistent forwarding paths for the same stream in an equal-cost multipath routing scenario is solved, making maintenance and management simpler. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0042] Figure 1 It is a flowchart of a method for creating a BIER multicast table entry in one embodiment of the present invention;

[0043] Figure 2 1 is a flow chart of a BIER multicast method according to one embodiment of the present invention;

[0044] Figure 3 It is a structural block diagram of a BIER multicast table entry creation system in one embodiment of the present invention;

[0045] Figure 4 It is a structural block diagram of a BIER multicast table entry creation system in one embodiment of the present invention;

[0046] Figure 5 is a structural block diagram of an electronic device in one embodiment of the present invention;

[0047] Figure 6 It is a schematic diagram of the relationship between the nodes in the BIER multicast domain in a specific embodiment of the present invention;

[0048] Figure 7 This is a schematic diagram of the BIER multicast table chain in a specific embodiment of the present invention. DETAILED DESCRIPTION

[0049] In order to enable those skilled in the art to better understand the technical solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.

[0050] Unless expressly stated otherwise, throughout the specification and claims, the term "comprise" or variations such as "include" or "comprising", etc., will be understood to include the stated elements or components but not to exclude other elements or other components.

[0051] Traditional multicast forwarding is stateful multicast forwarding, that is, a corresponding multicast tree needs to be explicitly established in the multicast domain, and each node needs to maintain the state of the multicast tree, which brings certain complexity to the deployment, configuration, and convergence of the entire multicast service.

[0052] The existing BIER multicast technology encapsulates the set of multicast messages to be sent to the destination node in the form of a Bit String in the message header and sends it. At the same time, BIFT entries are maintained at each node. By traversing the BIFT entries and combining the encapsulation information of the message header, the node corresponding to the next hop is obtained. The number of BIFT entries is related to the total number of edge nodes that can be forwarded. When there are many edge nodes, the maintenance of BIFT entries by each node will cause a large amount of node resources to be occupied. For example, the length of the BitString used to characterize the forwardable edge node is 256, then the BIFT table needs to maintain at least 256 entries, but the current BIER forwarding node may only have 2-3 adjacent forwarding nodes, that is, there are only 2-3 forwarding possibilities. Occupying 256 entries is actually a waste of entry resources.

[0053] On the other hand, BIFT table management is complex in the case of ECMP multipathing. Because the number of BIFT tables is proportional to the number of edge nodes that can be forwarded, if there are multiple equal-cost paths to the current node, multiple corresponding table entries must be created based on the number of paths. For example, if there are three ECMP equal-cost paths from node A to node BFRa, node A needs to create three BIFT tables, each recording the three ECMP equal-cost paths to node BFRa. If there are four ECMP equal-cost paths to node BFRb, 3*4=12 BIFT tables need to be created, which not only consumes a large amount of table entry resources but also makes management very complex.

[0054] Finally, due to the particularity of BIER multicast, traffic to the same BIER edge node, even if the entropy field carried by the message is the same, may be affected by other edge nodes joining / leaving the multicast group, resulting in inconsistent paths, which may lead to a series of problems such as message disorder.

[0055] The inventors of the present invention have discovered the main shortcomings of the existing technology, and based on the shortcomings of the existing technology, have proposed a new technical implementation idea: with the simplification of the BIER multicast table architecture as the core, the multicast table is not constructed based on the edge node, but the multicast table is created based on the adjacent nodes. At the same time, considering the chaotic management of equal-cost multi-path routing in the existing technology, the present invention creates independent multicast table entries based on equal-cost paths, and forms a linked list together with the table entries corresponding to non-equal-cost paths for nodes to traverse and identify when performing forwarding tasks. This not only reduces the occupation of hardware forwarding table entries by BIER multicast, but also solves the problem of inconsistent forwarding paths for the same stream in the ECMP scenario.

[0056] Please refer to Figure 1 FIG. 1 is a flow chart of a method for creating a BIER multicast entry in accordance with an embodiment of the present invention. The method for creating a BIER multicast entry specifically includes the following steps:

[0057] S101: Based on each reachable edge node, query whether it can be reached via an adjacent forwarding node of the current multicast forwarding node; if the same edge node can be reached via multiple adjacent forwarding nodes, merge the multiple adjacent forwarding nodes into the same equivalent node group;

[0058] It should be noted that the adjacent node in the embodiment of the present invention refers to the next node that can directly send a data packet based on the BIER multicast table entry. The "adjacent" refers to logical proximity rather than physical proximity. The communication connection between adjacent nodes can be based on different methods such as physical direct connection or tunnel, and the embodiment of the present invention does not limit this. In addition, in order to implement multicast forwarding using the method of the present invention, it is necessary to maintain a BIER multicast table entry for each node to determine the next hop node and plan the forwarding path. Therefore, the adjacent forwarding node of the present invention refers to the node based on the BIER multicast table entry that currently needs to be created.

[0059] Furthermore, based on the BIER technology, stateless multicast forwarding can be performed in the multicast domain, without the need for a protocol specifically for explicitly building a multicast distribution tree, and without requiring intermediate nodes to maintain any flow state. In this technology, entry nodes, intermediate nodes, and exit nodes are configured in the multicast domain. Among them, the entry node is the starting point for the multicast data stream to enter the BIER domain; the intermediate node is the router responsible for forwarding data packets in the BIER domain, which is not directly connected to the multicast source or receiver, and only copies data packets when needed to avoid maintaining the multicast tree state; the exit node is the end point for the data packet to leave the BIER domain, and is directly connected to the multicast receiver. The reachable edge node described in the present invention is the reachable exit node in the BIER multicast domain, and the adjacent node can be an entry node, an intermediate node, or an exit node in the BIER domain.

[0060] In a specific embodiment of the present invention, Figure 6 The figure shows a schematic diagram of the relationship between the various nodes in the BIER multicast domain. Among them, BFR (Bit Forwarding Router) is the intermediate node in the BIER domain, BFIR (Bit-Forwarding Ingress Router) is the ingress node, and BFER (Bit-Forwarding Egress Router) is the egress node. Each node maintains a unique node identifier. The BIER multicast table entry is established for node B, and its adjacent forwarding nodes include: node A, node G, node C and node E. Among them, for the egress node F, it can be achieved by forwarding data to the adjacent node C or the adjacent node E. Therefore, in this embodiment, node C and node E are a group of equivalent nodes. Similarly, for the egress node I, it can also be achieved by forwarding data to the adjacent node C or the adjacent node E, so for the egress node I, node C and node E are a group of equivalent nodes.

[0061] It is understandable that multiple identical equivalent node groups will be generated for different edge nodes, and the first BIER multicast table entries formed based on the above identical equivalent node groups are in fact identical. Therefore, in order to reduce the waste of resources, after forming an equivalent node group, if there is an identical equivalent node group, the equivalent node group will be deleted. That is, for the same equivalent node group, only one of them is retained to form the first BIER multicast table entry.

[0062] It should also be noted that the present invention does not limit the form of the reachable edge node set, and it can accurately express the exit node information that can be reached through the corresponding adjacent node. In one embodiment, a unique digital identifier is assigned to each exit node, and the representation of the reachable edge node set can be multiple bytes, each byte is configured with a preset number of bits. It is used to represent the digital identifier of the exit node through a binary number. For example, there are four exit nodes, namely node 1, node 2, node 3 and node 4, and the reachable edge nodes of the adjacent node A are node 1 and node 4, then the reachable edge node set of the adjacent node A can be expressed as "100, 001".

[0063] In another embodiment of the present invention, a simpler way to represent the set of reachable edge nodes is proposed, where a corresponding bit is assigned to each exit node to identify the corresponding exit node. For example, if there are exit nodes A, B, C, and D, then one bit can be assigned to each exit node in the four-bit sequence to identify the corresponding exit node. If an exit node can be reached through an adjacent node, the bit corresponding to the exit node is set. For example, if there are four exit nodes, namely node 1, node 2, node 3, and node 4, and the reachable edge nodes of adjacent node A are node 1 and node 4, then the reachable edge node set of adjacent node A can be represented as "1001".

[0064] Based on the above-mentioned representation of reachable edge nodes, it can also assist in screening equivalent node groups. Specifically, for example, there are 8 edge nodes, namely NBR F to NBR M. At the same time, the adjacent nodes of the current multicast forwarding node and the reachable edge node sets of the adjacent nodes are: adjacent node A (00011011), adjacent node B (00001011), adjacent node C (00101100), and adjacent node D (00001111). Each of the reachable edge node sets indicates whether nodes NBR F to NBR M are reachable from left to right. Each bit corresponds to an edge node, set to 0 for unreachable and set to 1 for reachable.

[0065] Traversing the reachable edge node sets of each adjacent node from right to left, we see that the 0th destination node forms equivalent forwarding nodes: ABD; the 1st destination node forms equivalent forwarding nodes: ABD; the 2nd destination node forms equivalent forwarding nodes: CD; the 3rd destination node forms equivalent forwarding nodes: ABCD; the 4th destination node has no equivalent forwarding nodes, and the forwarding NBR is: A; the 5th destination node has no equivalent forwarding nodes, and the forwarding NBR is: C. Therefore, there are three equivalent node groups: ABD, CD, and ABCD.

[0066] S102: Based on the number of the equivalent node groups, create multiple first BIER multicast table entries, each of which records a node identifier corresponding to each equivalent node in a different equivalent node group and a reachable edge node set;

[0067] It should be noted that the first BIER multicast table entry uses the reachable edge node as the table building basis, and is used to record the reachable edge node set and node identifier of each group of equivalent nodes.

[0068] For example, following Figure 6In the specific embodiment shown, a BIER multicast table entry is created for the intermediate node B. If a corresponding bit is assigned to each egress node to identify the corresponding egress node, the reachable edge node set of the adjacent node can be represented as "001010". The reachable edge node set of node C can be represented as "001011".

[0069] It can be understood that based on the above-mentioned reachable edge node set, there are two equivalent paths from node B to node F / node I, corresponding to the next hop being node C and the next hop being node E. At this time, the identifiers of the adjacent nodes in the equivalent node group and the reachable edge node set should be recorded in the first BIER multicast table entry.

[0070] It should also be noted that, unlike the second BIER multicast table item described below, the first BIER multicast table item records multiple data at the same time, and its application during forwarding is also different. Therefore, in one embodiment of the present invention, a corresponding tag can be configured for the first BIER multicast table item. The tag can indicate that the current table item is the first BIER multicast table item that records an equivalent node, and the present invention does not limit the specific selection of the tag. Preferably, a bit can be set. If the bit position is 1, the table item is the first BIER multicast table item; if the bit position is 0, the table item is the second BIER multicast table item.

[0071] S103: Create multiple second BIER multicast table entries. If there is an edge node that can only be reached based on a unique adjacent forwarding node, write the node identifier corresponding to the adjacent forwarding node and the set of reachable edge nodes into the second BIER multicast table entry;

[0072] For the completeness of the multicast table entry, in contrast to the first BIER multicast table entry, the second multicast table entry is used to record the adjacent forwarding nodes that the current multicast forwarding node must pass through to reach a certain edge node.

[0073] For example, Figure 6 In the specific embodiment shown, a multicast entry is created for node B. Edge node D can only be reached through adjacent node C; edge node J, edge node K, and edge node H must all be reached through adjacent node G. Therefore, node G, node C, and their corresponding reachable edge node sets should be written into the second BIER multicast entry.

[0074] S104: Combine the first BIER multicast table entries and the second BIER multicast table entries to generate a BIER multicast table chain.

[0075] In an exemplary embodiment, the combination of the first BIER multicast table item and the second BIER multicast table item generates a BIER multicast table chain, including: creating a pointer for each of the first BIER multicast table item and the second BIER multicast table item, the pointer pointing to other first BIER multicast table items or second BIER multicast table items that are not pointed to; if all other first BIER multicast table items and second BIER multicast table items have been referenced by other table item pointers, then canceling the pointer creation task for the current first BIER multicast table item or second BIER multicast table item.

[0076] It should be noted that in the application of the BIER multicast table items provided by the present invention, the design of the table item pointer can realize intelligent inter-table jump control. The specific implementation method is: after the device completes the traversal operation of the current multicast table, the traversal process of the next multicast table can be automatically triggered through the preset table item pointer. This chain query mechanism effectively improves the processing efficiency of multicast forwarding.

[0077] It should also be noted that for the end table entry of the multicast table chain, since it no longer has a valid target, the present invention can adopt two implementation methods for its pointer configuration: since there is no subsequent valid table entry, the configuration of the pointer field can be directly omitted, that is, a null pointer configuration can be used; or the pointer field can be retained but set to a special null value (such as NULL) or a specific invalid identifier to explicitly indicate the termination condition of the chain query.

[0078] It is understandable that if Figure 6 For node C in the embodiment shown, an adjacent node may exist in both the first BIER multicast table item and the second BIER multicast table item. If the first BIER multicast table item is placed after the second BIER multicast table item, some equivalent routes may be ignored. Therefore, preferably, the first BIER multicast table item can be placed before the second multicast table item, so that in the generated BIER multicast table chain, each of the first BIER multicast table items is before the second multicast table item. During the multicast forwarding process, the first BIER multicast table item can be traversed first, and then the second BIER multicast table item can be traversed in a concentrated manner.

[0079] Please refer to Figure 2 The figure shows a flow chart of the BIER multicast method in one embodiment of the present invention.

[0080] The BIER multicast method specifically includes the following steps:

[0081] S201: Obtain the edge node to which the message to be forwarded is expected to be forwarded, and traverse the first BIER multicast table entry and the second BIER multicast table entry in the BIER multicast table chain one by one based on a preset table entry pointer;

[0082] It should be noted that the message to be forwarded carries information about the desired egress node to which it is forwarded. In the embodiments of the present invention, the form in which the desired egress node exists in the message to be forwarded is not limited. For example, a unique digital identifier may be assigned to each egress node, and the desired egress node may be represented as multiple bytes, each byte having a preset number of bits. This is used to represent a digital identifier of an egress node using a binary number. For example, if there are two desired egress nodes, namely node 1 and node 4, the egress node may be represented as "100, 001" in the message to be forwarded.

[0083] In another embodiment of the present invention, a simpler method for representing the desired egress node for forwarding is proposed, where a corresponding bit is assigned to each egress node to identify the corresponding egress node. For example, if there are egress nodes A, B, C, and D, then one bit can be assigned to each egress node in the four-bit sequence to identify the corresponding egress node. The bit corresponding to the desired egress node for forwarding is set. For example, if there are four egress nodes, namely node 1, node 2, node 3, and node 4, and the desired egress nodes for forwarding are node 1 and node 4, then in the message to be forwarded, the desired egress node for forwarding can be represented as "1001."

[0084] S202: Obtain the expected forwarding edge node with an equal-cost path, index the next-hop address of the expected forwarding edge node with an equal-cost path based on the first BIER multicast table entry, copy the message to be forwarded to the next-hop node and update the expected forwarding edge node information of the copied message and the original message to be forwarded;

[0085] In an exemplary embodiment, based on the first BIER multicast table entry, the next hop address of the expected forwarding edge node with an equivalent path is indexed and the message to be forwarded is copied to the next hop node, including: obtaining the intersection of the set of edge nodes reachable by the equivalent node in the currently traversed first BIER multicast table entry; if there is an edge node to which the message to be forwarded is expected to be forwarded in the intersection, then calculating a hash value based on the entropy information carried by the message to be forwarded; selecting an equivalent node from the equivalent node group as the next hop node for forwarding based on the calculated hash value; copying the message to be forwarded to the selected next hop node, and updating the copied message and the edge node to which the original message to be forwarded is expected to be forwarded.

[0086] In such Figure 6In the specific implementation scenario, it is known that the expected forwarding exit node information carried by the message to be forwarded is 0011, that is, it is expected to be forwarded to exit node D and exit node F. The BIER multicast table chain created for node B based on the BIER multicast table creation method provided by the present invention is as follows Figure 7 As shown. The blue background entry is the corresponding first BIER multicast entry, and the white background entry and the yellow background entry are the two second BIER multicast entries respectively. In the configuration based on the entry pointer, the first BIER multicast entry is traversed first. It can be seen from the first BIER multicast entry that the intersection of the set of reachable edge nodes of equivalent nodes E and C is 1010&1011=1010. That is, for the exit node F and the exit node I, node E and node C form equivalent paths respectively. Since node F is the node to be forwarded, it is necessary to calculate the hash value based on the Entropy information carried by the message to be forwarded, and select the next hop node based on the hash value.

[0087] It should be noted that the present invention does not limit the method for calculating the hash value or the method for selecting the next hop node based on the hash value. In one embodiment of the present invention, the method for selecting the multicast replication table based on the hash value can be: selecting the multicast replication table index = (hash value % ECMP member number) + ECMP first multicast replication table index.

[0088] Furthermore, the edge nodes to which the duplicate message and the original message to be forwarded are expected to be forwarded are updated, including: updating the expected forwarding node of the duplicate message to the intersection of the edge node to which the original message to be forwarded is expected to be forwarded and the edge nodes reachable by nodes in the currently traversed BIER multicast table; deleting the node in the edge node to which the original message to be forwarded is expected to be forwarded that is the same as the expected forwarding node of the duplicate message.

[0089] For example, node E is selected as the next-hop neighbor node. The node to which the replicated message is forwarded is set to 0011 & 1010 = 0010. The node to which the original message is forwarded is also updated to 0011 & = (-0010) = 0001. The next multicast replication table is then traversed through the pointer to continue processing.

[0090] S203: Based on the second BIER multicast table entry, index the next hop address of the expected forwarding edge node with no equivalent path, copy the forwarding message to the next hop node and update the expected forwarding edge node information of the copied message and the original message to be forwarded.

[0091] In an exemplary embodiment, based on the second BIER multicast table entry, the next hop address of the expected forwarding edge node with no equivalent path is indexed, and the forwarding message is copied to the next hop node, including: if the set of reachable edge nodes corresponding to the node in the second BIER multicast table entry and the edge node to which the message to be forwarded is expected to be forwarded have an intersection, the message to be forwarded is copied to the node, and the copied message and the edge node to which the original message to be forwarded is expected to be forwarded are updated.

[0092] After the processing of the first BIER table item has been completed, each of the second table items is traversed based on the table item pointer. Since there is no equivalent path to the adjacent node recorded in the second table item, that is, the exit node can only be reached through the forwarding path formed by the only adjacent node, it is only necessary to confirm whether the reachable edge node set of the adjacent node recorded in the second BIER table item has the desired exit node for the message to be forwarded. If it exists, the message is copied to the adjacent node; if not, the next table item is traversed based on the table item pointer.

[0093] It should also be noted that, similar to the aforementioned updating of the expected forwarding edge node of the copied message and the original message to be forwarded after traversing the first BIER table entry, after copying the message based on the second BIER table entry, the expected forwarding edge node also needs to be updated.

[0094] For example, continue to use the above specific embodiment. Continue to traverse the next multicast replication table, which is the second BIER multicast replication table. The intersection of the reachable edge node set of the adjacent node recorded in the second BIER table item and the expected exit node of the message to be forwarded is 0001&1111=0001, and the result is not 0, so it is necessary to select an adjacent node in this multicast replication table for forwarding. For the message copied to the adjacent node, the expected forwarding node information carried in the message is 0001&1111=0001. Update the expected forwarding node carried by the original message to be forwarded to 0001&(~0001)=0.

[0095] It is understandable that if the expected forwarding node set of the original message to be forwarded is an empty set, or if it has traversed to the last multicast replication table of the BIER multicast table chain, the multicast is terminated. For example, as in the above embodiment, the expected forwarding node carried by the original message to be forwarded is 0, that is, there are no other expected forwarding edge nodes, so the BIER replication process can be terminated and the multicast replication table will no longer be traversed. On the other hand, if the current multicast replication table does not point to a valid BIER multicast table, it means that the last multicast replication table of the BIER multicast table chain can also terminate the multicast.

[0096] Furthermore, for the preferred routing chain table (each of the first BIER multicast table items is in the routing chain table of the second multicast table item), the last multicast replication table that has traversed the BIER multicast table chain includes: if the expected forwarding node set of the original message to be forwarded is not an empty set, and the current traversal has reached the last equivalent node of the first BIER multicast table item, then continue to traverse the second BIER multicast table item; if the expected forwarding node set of the original message to be forwarded is not an empty set, and the current traversal has reached the last multicast replication table of the second BIER multicast table item, then end this multicast replication.

[0097] Please refer to Figure 3 As shown, based on the same inventive concept as the aforementioned BIER multicast table entry creation method, one embodiment of the present invention provides a BIER multicast table entry creation system 300, which includes: an acquisition module 301, a first creation module 302, a second creation module 303 and a combination module 304.

[0098] Specifically, the acquisition module 301 is used to query whether each reachable edge node can be reached via the adjacent forwarding node of the current multicast forwarding node; if the same edge node can be reached via multiple adjacent forwarding nodes, the multiple adjacent forwarding nodes are merged into the same equivalent node group; at the same time, completely identical equivalent node groups are merged into the same equivalent node group; the first creation module 302 is used to create multiple first BIER multicast table entries based on the number of equivalent node groups, and each of the first BIER multicast table entries respectively records the node identifier corresponding to each equivalent node in different equivalent node groups and the set of reachable edge nodes; the second creation module 303 is used to create multiple second BIER multicast table entries. If there is an edge node that can only be reached based on a unique adjacent forwarding node, the node identifier corresponding to the adjacent forwarding node and the set of reachable edge nodes are written into the second BIER multicast table entry; the combination module 304 is used to combine the first BIER multicast table entries and the second BIER multicast table entries to generate a BIER multicast table chain.

[0099] Please refer to Figure 4 As shown, based on the same inventive concept as the aforementioned BIER multicast method, one embodiment of the present invention provides a BIER multicast system 400, which includes: a traversal module 401, a first forwarding module 402 and a second forwarding module 403.

[0100] Specifically, the traversal module 401 is used to obtain the edge node to which the message to be forwarded is expected to be forwarded, and based on the preset table entry pointer, traverse the first BIER multicast table entry and the second BIER multicast table entry in the BIER multicast table chain one by one; the first forwarding module 402 is used to obtain the expected forwarding edge node with an equal-cost path, and based on the first BIER multicast table entry, index the next-hop address of the expected forwarding edge node with an equal-cost path, copy the message to be forwarded to the next-hop node, and update the expected forwarding edge node information of the copied message and the original message to be forwarded; the second forwarding module 403 is used to index the next-hop address of the expected forwarding edge node without an equal-cost path based on the second BIER multicast table entry, copy the forwarded message to the next-hop node, and update the expected forwarding edge node information of the copied message and the original message to be forwarded.

[0101] Please refer to Figure 5 As shown, an embodiment of the present invention further provides an electronic device 500, which includes at least one processor 501, a memory 502 (e.g., a non-volatile memory), a storage 503, and a communication interface 504, and the at least one processor 501, the memory 502, the storage 503, and the communication interface 504 are connected together via an internal bus 505. The at least one processor 501 is used to call at least one program instruction stored or encoded in the memory 502, so that the at least one processor 501 executes the various operations and functions of the BIER multicast table creation method and / or the BIER multicast method described in the various embodiments of this specification.

[0102] In the embodiments of the present specification, the electronic device 500 may include but is not limited to: a personal computer, a server computer, a workstation, a desktop computer, a laptop computer, a notebook computer, a mobile electronic device, a smart phone, a tablet computer, a cellular phone, a personal digital assistant (PDA), a handheld device, a messaging device, a wearable electronic device, a consumer electronic device, and the like.

[0103] An embodiment of the present invention also provides a computer-readable medium, which carries computer-executable instructions. When the computer-executable instructions are executed by a processor, they can be used to implement the various operations and functions of the BIER multicast table creation method and / or the BIER multicast method described in the various embodiments of this specification.

[0104] The computer-readable medium in the present invention can be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or component, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device.

[0105] In the present invention, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which may transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0106] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0107] The present invention is described with reference to flowcharts and / or block diagrams of methods, apparatuses, systems, and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0108] The foregoing descriptions of specific exemplary embodiments of the present invention are for purposes of illustration and description. These descriptions are not intended to limit the invention to the precise forms disclosed, and it is apparent that many variations and modifications are possible in light of the foregoing teachings. The exemplary embodiments have been selected and described for the purpose of explaining the specific principles of the invention and their practical application, thereby enabling those skilled in the art to realize and utilize a variety of exemplary embodiments of the invention and various options and modifications. The scope of the invention is intended to be defined by the claims and their equivalents.

[0109] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above and that the invention can be embodied in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments should be considered in all respects as illustrative and non-restrictive, and the scope of the invention is defined by the appended claims, not the foregoing description, and all variations within the meaning and range of equivalents of the claims are intended to be included therein. Any reference sign in a claim should not be construed as limiting the claim to which it relates.

[0110] In addition, it should be understood that although this specification is described in terms of implementation methods, not every implementation method contains only one independent technical solution. This narrative method of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment can also be appropriately combined to form other implementation methods that can be understood by those skilled in the art.

Claims

1. A BIER multicast entry creation method, applied to a multicast forwarding node, characterized in that: include: Based on each reachable edge node, query whether it can be reached via the adjacent forwarding nodes of the current multicast forwarding node; If the same edge node can be reached via multiple adjacent forwarding nodes, the multiple adjacent forwarding nodes are merged into the same equivalent node group; and the completely identical equivalent node groups are merged into the same equivalent node group; Based on the number of the equivalent node groups, a plurality of first BIER multicast table entries are created, each of which records a node identifier corresponding to each equivalent node in a different equivalent node group and a reachable edge node set; Create multiple second BIER multicast table entries. If there is an edge node that can only be reached based on a unique adjacent forwarding node, write the node identifier corresponding to the adjacent forwarding node and the set of reachable edge nodes into the second BIER multicast table entry; Combine the first BIER multicast table entries and the second BIER multicast table entries to generate a BIER multicast table chain.

2. The BIER multicast entry creation method according to claim 1, wherein: The combining of the first BIER multicast table entry and the second BIER multicast table entry to generate a BIER multicast table chain includes: Creating a pointer for each of the first BIER multicast table items and the second BIER multicast table items, wherein the pointer points to other unpointed first BIER multicast table items or second BIER multicast table items; If all other first BIER multicast table entries and second BIER multicast table entries have been referenced by other table entry pointers, the pointer creation task for the current first BIER multicast table entry or second BIER multicast table entry will be canceled.

3. The BIER multicast entry creation method according to claim 1, wherein: Before combining the first BIER multicast entry and the second BIER multicast entry, the method further includes: Place the first BIER multicast table entry before the second BIER multicast table entry so that in the generated BIER multicast table chain, each of the first BIER multicast table entries is before the second BIER multicast table entry.

4. A BIER multicast method, applying a BIER multicast table chain created by the BIER multicast table creation method according to any one of claims 1 to 3, characterized in that: include: Obtain the edge node to which the message to be forwarded is expected to be forwarded, and based on the preset table entry pointer, traverse the first BIER multicast table entry and the second BIER multicast table entry in the BIER multicast table chain one by one; Obtain the expected forwarding edge node with an equal-cost path, index the next-hop address of the expected forwarding edge node with an equal-cost path based on the first BIER multicast table entry, copy the message to be forwarded to the next-hop node and update the expected forwarding edge node information of the copied message and the original message to be forwarded; Based on the second BIER multicast table entry, the next hop address of the expected forwarding edge node with no equal-cost path is indexed, the forwarding message is copied to the next hop node, and the expected forwarding edge node information of the copied message and the original message to be forwarded is updated.

5. The BIER multicast method according to claim 4, wherein: Based on the first BIER multicast table entry, indexing the next hop address of the desired forwarding edge node with an equal-cost path, and copying the message to be forwarded to the next hop node, including: Obtain the intersection of the set of edge nodes reachable by equivalent nodes in the first BIER multicast table currently traversed; If there is an edge node to which the message to be forwarded is expected to be forwarded in the intersection, a hash value is calculated based on the entropy information carried by the message to be forwarded; Selecting an equivalent node from the equivalent node group as the next hop node for forwarding based on the calculated hash value; The message to be forwarded is copied to the selected next-hop node, and the copied message and the edge node to which the original message to be forwarded is expected to be forwarded are updated.

6. The BIER multicast method according to claim 5, wherein: The method of indexing a next hop address of a desired forwarding edge node with no equivalent path based on the second BIER multicast table entry and copying the forwarding message to the next hop node includes: If the reachable edge node set corresponding to the node in the second BIER multicast table entry intersects with the edge node to which the message to be forwarded is expected to be forwarded, the message to be forwarded will be copied to the node, and the copied message and the edge node to which the original message to be forwarded is expected to be forwarded will be updated.

7. The BIER multicast method according to claim 6, wherein: The method further comprises: If the edge node to which the message to be forwarded is expected to be forwarded does not exist in the intersection of the set of edge nodes reachable by the equal-cost node in the first BIER multicast table entry, then based on the pointer preset in the first BIER multicast table entry, traverse the next BIER multicast table entry pointed to by the pointer; If the set of reachable edge nodes corresponding to the nodes in the second BIER multicast table entry does not intersect with the edge node to which the message to be forwarded is expected to be forwarded, then based on the pointer preset in the second BIER multicast table entry, traverse the next BIER multicast table entry pointed to by the pointer.

8. The BIER multicast method according to claim 4, wherein: The edge node to which the updated copy message and the original message to be forwarded are expected to be forwarded includes: Update the expected forwarding node of the copied message to the intersection of the edge node to which the original message to be forwarded is expected to be forwarded and the node-reachable edge node in the currently traversed BIER multicast table entry; Delete the edge node to which the original message to be forwarded is expected to be forwarded and the node that is the same as the expected forwarding node of the duplicate message.

9. The BIER multicast method according to claim 4, wherein: The method further comprises: If the expected forwarding node set of the original message to be forwarded is an empty set, or the last multicast replication table of the BIER multicast table chain has been traversed, the multicast is terminated.

10. The BIER multicast method according to claim 9, wherein: The last multicast replication table that has been traversed to the BIER multicast table chain includes: If the expected forwarding node set of the original message to be forwarded is not an empty set, and the current traversal has reached the last equivalent node of the first BIER multicast table entry, then continue to traverse the second BIER multicast table entry; If the expected forwarding node set of the original message to be forwarded is not an empty set, and the last multicast replication table of the second BIER multicast table item has been traversed, the multicast replication is terminated.