BIER message transfer method, apparatus, and storage medium

The BIER message forwarding method addresses the issue of segment routing incompatibility across different networks by changing node information in the BIER message header, enabling efficient path transfer in BIER networks with diverse encapsulation types.

JP7833542B2Active Publication Date: 2026-03-19ZTE CORP
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-08-05
Publication Date
2026-03-19

AI Technical Summary

Technical Problem

Existing segment routing technologies are unable to function across multiple networks like IPv6, IPv4, and MPLS due to the lack of compatibility between different encapsulation types in Bit Index Explicit Replication (BIER) networks.

Method used

A BIER message forwarding method that changes node information in the BIER message header to enable segment routing functionality by determining target routing paths across networks with different encapsulation types, using BIER segment lists to identify and forward messages to specified nodes.

Benefits of technology

Enables segment routing functionality in BIER networks traversing multiple encapsulation types by identifying target routing paths and ensuring messages are forwarded along specified paths, thereby supporting applications like deterministic networks and service chains.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007833542000001
    Figure 0007833542000001
  • Figure 0007833542000002
    Figure 0007833542000002
  • Figure 0007833542000003
    Figure 0007833542000003
Patent Text Reader

Abstract

A BIER message forwarding method, device, and storage medium are disclosed. The BIER message forwarding method is applied to a first node, and includes the steps of receiving a first BIER message generated by a third node, the first BIER message including a first BIER message header including first node information and a BIER segment list including second node information (S510), changing the first node information in the first BIER message header to second node information to obtain a second BIER message header (S520), and forwarding the second BIER message corresponding to the second BIER message header to a second node corresponding to the second node information (S530).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application is filed based on a Chinese patent application with application number 202111462084.7 and filing date December 2, 2021, and claims the priority of the Chinese patent application. All the contents of the Chinese patent application are incorporated herein by reference into this application.

[0002] This application relates to the technical field of communications, specifically to a BIER message transfer method, apparatus, and storage medium.

Background Art

[0003] Following IP multicast transfer, Bit Index Explicit Replication (BIER) is being developed. Different from the conventional multicast tree technology, BIER identifies the recipient by including a Bitstring that identifies the target node in the message, and determines the target node to be transferred by BIER through the transfer table entries of these bits. The BIER technology itself supports various encapsulation types and also supports the compatibility between multiple encapsulation types.

[0004] Currently, the specified path transfer in a network is usually implemented through Segment Routing (SR for short). For example, in an MPLS network, it is implemented through SR-MPLS, and in an IPv6 network, it is implemented through SRv6. Different protocols correspond to different path information, and segment routing implemented using different encapsulation technologies can only play a role within the corresponding network. However, when a message passes through multiple networks such as IPv6, IPv4, and MPLS, the existing segment routing becomes unable to function. Therefore, there is a need for a method to implement the segment routing function in a BIER network that supports various encapsulation types.

Summary of the Invention

[0005] The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.

[0006] Embodiments of the present invention provide a BIER message transfer method, apparatus, and storage medium. [Means for solving the problem]

[0007] In the first aspect, the embodiments of the present application are as follows: A BIER message forwarding method applied to the first node, Includes a first BIER message header containing first node information and a BIER segment list containing second node information. , generated by the third node The first step is to receive the BIER message, The steps include: changing the first node information of the first BIER message header to the second node information to obtain the second BIER message header; A BIER message forwarding method is provided, which includes the step of forwarding a second BIER message corresponding to the second BIER message header to a second node corresponding to the second node information.

[0008] In the second aspect, the embodiment of the present application is: A BIER message forwarding method applied to a third node, The steps include obtaining a first BIER message that includes a first BIER message header containing first node information and a BIER segment list containing second node information, according to a specified transfer path, A BIER message forwarding method is provided, which includes the step of forwarding the first BIER message to a first node corresponding to the first node information in accordance with the first BIER message header, wherein the second BIER message generated at the first node includes the second node information.

[0009] In the third aspect, the embodiments of the present application are as follows: A BIER message forwarding method applied to the fifth node in the BIER network, A step of receiving a first BIER message, wherein the first BIER message includes a first BIER message header table, and the first BIER message header includes first node information. A step of determining whether the fifth node is the first node based on the first node information, A BIER message forwarding method is provided, which includes the step of forwarding the first BIER message to the first node if the fifth node is not the first node.

[0010] In a fourth aspect, an embodiment of the present application provides an apparatus that includes the BIER message transfer system described in any one of the embodiments of the first, second, and third aspects.

[0011] In the fifth aspect, an embodiment of the present application provides a computer-readable storage medium storing computer-executable instructions for performing the BIER message transfer method described in any one of the embodiments of the first, second, and third aspects. The drawings are provided to provide a further understanding of the present invention, constitute part of the specification, and are used to illustrate the present invention together with the embodiments, and are not intended to limit the present invention. [Brief explanation of the drawing]

[0012] [Figure 1] This is a networking diagram of the BIER subdomain according to one embodiment of the present invention. [Figure 2] This is a networking diagram of a multi-BIER subdomain according to another embodiment of the present invention. [Figure 3] This is a structural diagram of the BIER subdomain segment list in the BIER segment list structure of a BIER message according to another embodiment of the present invention. [Figure 4]Structural diagram of the BIER segment list of the BIER message according to another embodiment of the present application. [Figure 5] Flowchart of the steps of the BIER message transfer method according to another embodiment of the present application. [Figure 6] Flowchart of the detailed steps of step S520 in FIG. 5 according to another embodiment of the present application. [Figure 7] Flowchart of the detailed steps of step S610 in FIG. 6 according to another embodiment of the present application. [Figure 8] Flowchart of the detailed steps of step S710 in FIG. 7 according to another embodiment of the present application. [Figure 9] Flowchart of the additional steps after step S810 in FIG. 8 according to another embodiment of the present application. [Figure 10] Flowchart of the detailed steps of the BIER message transfer method according to another embodiment of the present application. [Figure 11] Flowchart of the additional steps after step S520 in FIG. 5 according to another embodiment of the present application. [Figure 12] Flowchart of the steps of the BIER message transfer method applied to the third node according to another embodiment of the present application. [Figure 13] Flowchart of the detailed steps of step S1210 in FIG. 12 according to another embodiment of the present application. [Figure 14] Another flowchart of the detailed steps of step S1210 in FIG. 12 according to another embodiment of the present application. [Figure 15] Flowchart of the additional steps of the BIER message transfer method in FIG. 12 according to another embodiment of the present application. [Figure 16] Flowchart of the steps of the BIER message transfer method applied to the fifth node according to another embodiment of the present application. [Figure 17] Diagram illustrating the BIER message transfer method by the first node according to another embodiment of the present application. [Figure 18]Schematic diagram of a BIER message transfer device according to another embodiment of the present application.

Embodiments for Carrying Out the Invention

[0013] To make the objectives, technical solutions, and advantages of the present application clearer, the present application will be described in more detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described in this specification are only used to explain the present application and not to limit the present application.

[0014] Note that the functional module division is shown in the schematic diagram of the device, and the logical order is shown in the flowchart. However, in some cases, it may be different from the module division within the device, or the steps shown or described may be executed in a different order from that shown in the flowchart. Terms such as "first," "second," etc. in the specification, claims, and the foregoing drawings are not used to explain a specific order or priority, but are used to distinguish similar objects.

[0015] Embodiments of the present application provide a BIER message transfer method, device, and storage medium. The BIER message transfer method is applied to a first node. The BIER message transfer method includes the steps of receiving a first BIER message generated by a third node, where the first BIER message includes a first BIER message header containing first node information and a BIER segment list containing second node information; changing the first node information in the first BIER message header to second node information to obtain a second BIER message header; and transferring a second BIER message corresponding to the second BIER message header to a second node corresponding to the second node information. By encapsulating transfer path information in the BIER message header to determine the address information of the target node, the effects of segment routing and the function of specified path transfer are realized in a BIER network that supports various encapsulation types.

[0016] While conventional IP multicast forwarding technologies perform multicast through a multicast tree, Bit Index Explicit Replication (BIER) identifies recipients by including a Bitstring that identifies the target node in the message, and BIER technology has features that support compatibility between various encapsulation types such as mpls, ipv6, and ether.

[0017] In this context, designated route forwarding is often required to implement various new applications such as deterministic networks, computing power networks, and service chains. The usual method of handling this is to implement designated route forwarding through segment routing (SR). For example, in MPLS networks, designated route forwarding is implemented through SR-MPLS, and in IPv6 networks, it is implemented through SRv6.

[0018] BIER technology has features that support compatibility between various encapsulation types, such as MPLS, IPv6, and ether. Therefore, there are situations where corresponding messages in a BIER network pass through networks such as IPv6, IPv4, and MPLS. Current SRs need to determine the route address of the target routing according to the corresponding encapsulation technology. As a result, current SRs cannot determine the route address of the target routing and implement segment routing functionality when the BIER network passes through networks such as IPv6, IPv4, and MPLS.

[0019] To address the above problem, this invention proposes a BIER message forwarding method that determines the target routing path address when the BIER network passes through networks such as IPv6, IPv4, and MPLS, thereby realizing segment routing functionality.

[0020] Furthermore, BIER technology provides an encapsulation method for BIER message headers, and the bitstring in the BIER message header contains routing information for the target node. The current node can identify the receiving node by the bitstring in the BIER message header and implement the functionality to perform solocast or multicast to the target node.

[0021] In the forwarding process using BIER technology, BIER routing also includes Bit Forwarding Ingress Routers (BFIRs), Bit Forwarding Routers (BFRs), and Bit Forwarding Egress Routers (BFERs). BFIRs represent the input nodes of traffic, BFERs represent the output nodes of traffic, and BFRs represent the nodes of intermediate forwarding traffic. BFIRs and BFERs represent the direction of traffic in the BIER network. In conventional BIER technology, BIER messages store a BFR-id corresponding to the BFER, and relevant data is pre-generated in the BIER domain through flooding before multicast or solocasting. As a result, BFIR nodes can perform solocasts or multicasts to the corresponding target nodes simply by obtaining BFER information. However, BIER messages generated by BFIRs can only be solo-casted or multicasted to the corresponding BFER nodes and cannot be forwarded according to a specified path.

[0022] To solve the above problems, this application provides a BIER message transfer method, apparatus, and storage medium. Embodiments of this application will be further described below with reference to the drawings.

[0023] Referring to Figure 1, Figure 1 is a networking diagram of the BIER subdomain according to one embodiment of the present invention.

[0024] If there are multiple nodes in the BIER domain that BIER passes through during the forwarding process, it becomes a designated route forwarding. For example, designated service message 1 needs to be forwarded through designated routes R1, R2, R4, R6, and R8. R1 through R8 are all routing nodes capable of realizing BIER network functionality. During the service forwarding process, message forwarding is performed stepwise from R1 to R2, from R2 to R4, from R4 to R6, and from R6 to R8. In the process of each jump, the target node information corresponding to the BFER information in the message is forwarded, thereby realizing designated route forwarding. For example, R2 corresponds to the BFER node of R1, and R8 corresponds to the BFER node of R6.

[0025] Figure 1 illustrates the process of performing specified route forwarding within a single BIER subdomain, where each routing node is identified by its corresponding bfd-id during forwarding.

[0026] Referring to Figure 2, Figure 2 is a networking diagram of a multi-BIER subdomain according to one embodiment of the present invention.

[0027] While Figure 1 shows route forwarding using a single BIER subdomain, Figure 2 shows route forwarding using multiple BIER subdomains. When a route spans multiple subdomains, it is necessary to identify the routing for each node using both the subdomain ID and the bfd-id, for example, in Figure 2, the identification information for node R1 is (subdomain id:1, bfd-id:1) and the identification information for node R5 is (subdomain id:2, bfd-id:5).

[0028] The subdomain ID and routing ID (bfd-id) uniquely identify a specific target routing, and the ID codes in the diagram are merely for better interpretation of the BIER network's characteristics; generally, all node information stored in Bitstrings exists in the form of binary strings.

[0029] Referring to Figure 3, Figure 3 is a structural diagram of the BIER subdomain segment list in the BIER segment list structure of a BIER message according to one embodiment of the present invention.

[0030] The bfr-id-list message structure in Figure 3 corresponds to the BIER subdomain segment list structure of a BIER message in the BIER message forwarding method according to the present invention. Here, the BIER subdomain segment list structure corresponds to the routing IDs, i.e., bfr-ids, of all routing nodes located on the designated forwarding path within this BIER subdomain. In Figure 3, subdomain-id represents the ID of the affiliated subdomain, and bfr-id-num represents the number of subsequent bfr-ids.

[0031] Referring to Figure 4, Figure 4 is a structural diagram of the BIER segment list of a BIER message according to one embodiment of the present invention.

[0032] Figure 3 shows the message structure of a BIER segment list, where the BIER segment list is located after the BIER message header of the BIER message. In Figure 3, bfr-id-list-num represents the number of BIER subdomain segment lists included in the BIER segment list, and protocol is the protocol field of the BIER segment list for parsing and processing the service message that follows the BIER message.

[0033] The prior explanation of Figures 3 and 4 is merely to better interpret the technical proposal of this application. The message structure proposed in Figures 3 and 4 also belongs to one of the corresponding inventive features of this application, and the BIER message transfer method proposed in this application can achieve the effect of designated route transfer.

[0034] Referring to Figure 5, Figure 5 is a flowchart of the steps of a BIER message transfer method according to one embodiment of the present invention, which is applied to the first node. This BIER message transfer method includes, but is not limited to, the following steps S510 to S530.

[0035] Step S510: The third node receives a first BIER message generated by the third node, which includes a first BIER message header containing first node information and a BIER segment list containing second node information.

[0036] The first node represents a node designated to pass through the BEIR network during message forwarding, and the first node can parse the first BIER message and obtain the information contained in the first BIER message.

[0037] The first BIER message represents a message parsed by the first node from a datagram obtained from the data link, and the first BIER message represents a message segment that encapsulates information corresponding to the first node, the address information of the first node is determined by the first BIER message, and the first BIER message includes a first BIER message header, which is the BIER message header corresponding to the first node, and a BIER segment list that represents subsequent data information used to determine the segment forwarding path.

[0038] The BIER message header contains target node information indicating that the BIER message corresponding to this BIER message header corresponds to BFER node information, and the BIER segment list contains second node information representing the node specified after the first node in the specified forwarding path, and the second node is the BFER node corresponding to the BIER message generated at the first node.

[0039] Step S520: Change the first node information in the first BIER message header to the second node information to obtain the second BIER message header.

[0040] The first node information represents the target node information of the first BIER message, and the target node information is the BFER node information corresponding to the BIER message, with the BFER node corresponding to the first node being the second node. The target node information in the first BIER message header is changed to the second node information to obtain the second BIER message header, and the function of segment-forwarding the message to the corresponding target node according to this second BIER message header is implemented.

[0041] Furthermore, the encapsulation of the BIER header is standard BIER behavior and is described in detail in RFC 8296; it is not an invention of this application. Also, the protocol field of the BIER header corresponds to the BIER segment list type, and the BIER segment list data can be parsed by the protocol field of the BIER header.

[0042] In one embodiment, each BIER routing node in the forwarding path, excluding the final target node, can act as a first node and forward messages to the corresponding target node via the BIER message header, thereby realizing segment routing functionality.

[0043] Step S530: The second BIER message corresponding to the second BIER message header is forwarded to the second node corresponding to the second node information.

[0044] BIER's feature of identifying recipients by including a Bitstring that identifies the target node in the message allows for the determination of target routing addresses when using different encapsulation technologies. When combined with segment information in the BIER segment list, this enables the determination of target routing path addresses when the BIER network traverses networks such as IPv6, IPv4, and MPLS, thereby realizing segment routing functionality.

[0045] During the transmission process within the BIER network, the BIER encapsulation method may differ for each link.

[0046] In one embodiment, each time a segment is forwarded, the target node corresponding to the previous first node becomes the current first node, and the message header is reencapsulated based on the second node information of the target node corresponding to the current first node in the BIER segment list to obtain a second BIER message header corresponding to the second node, and a segment jump to the second node is performed according to the second BIER message header. For example, referring to Figure 1, a specified service needs to be forwarded via specified paths R1, R2, R4, R6, and R8, and R1, R2, R4, and R6 are all first nodes, and node R2 receives the first BIER message forwarded by node R1 as the first node, then the first BIER message header of this first BIER message contains node information corresponding to node R2, and the BIER segment list of this first BIER message contains R2, R4, R6, and R8 information. The node information corresponding to node R2 in the first BIER message header of this first BIER message is changed to the node information corresponding to R4, the R2 information included in the BIER segment list of this first BIER message is popped up to obtain the second BIER message header corresponding to R4, the message is forwarded to node R4 according to this second BIER message header, and after R4 receives the message it becomes a new first node and continues forwarding in the manner described above, thus realizing the segment routing function.

[0047] Referring to Figure 6, in one embodiment, step S520 of the embodiment shown in Figure 5 includes, but is not limited to, the following steps S610 and S620.

[0048] Step S610: Pop up the information for the second node in the BIER segment list.

[0049] Step S620: Change the first node information in the first BIER message header to the second node information to obtain the second BIER message header.

[0050] In one embodiment, the second node information in the BIER segment list is popped up, and the target node information in the first BIER message header is changed to the second node information to obtain the second BIER message header. The BIER segment list includes the message structure shown in Figure 4, and the BIER segment list includes routing node information corresponding to each node that should be passed later in the forwarding path. Each time the target node information in the first BIER message header is changed to the second node information to obtain the second BIER message header, the second node information is obtained through the BIER segment list, the target node information in the first BIER message header is changed to the second node information, the second BIER message header is obtained again, and the second node information in the BIER segment list is popped up, indicating that the routing node information corresponding to each node that should be passed later in the forwarding path other than the currently corresponding target node is included in the BIER segment list. Alternatively, the BIER segment list may be understood to include target node information corresponding to the second node when the second node is the first node.

[0051] During message forwarding, the BIER segment list changes according to the progress of the BIER routing node through which the BIER message passes, thereby realizing segment routing functionality.

[0052] Referring to Figure 7, in one embodiment, the BIER segment list further includes third node information, and step S610 in the embodiment shown in Figure 6 includes, but is not limited to, the following step S710.

[0053] Step S710: The second node information, which is at the top of the BIER segment list containing the second node information and the third node information arranged in that order, is popped up.

[0054] In one embodiment, the BIER segment list further includes third node information, where the third node corresponding to the third node information is the target node corresponding when the second node is the first node. When the BIER segment list further includes third node information, the second and third node information in the BIER segment list are arranged in the node-specified order of the forwarding path, where the node-specified order of the forwarding path refers to the order of each routing node on the forwarding path specified by the processor according to the service. For example, in Figure 1, if service 1 needs to be forwarded via specified paths R1, R2, R4, R6, R8, then R1, R2, R4, R6, R8 is the node-specified order, and popping up the second node information at the top of the BIER segment list indicates that the second node information corresponding to the target node is located at the top of the BIER segment list, and that the node information in the BIER segment list is sorted from front to back in the node-specified order.

[0055] The BIER segment list includes information on multiple nodes, each of which is a node designated by the transmission path.

[0056] When a BIER segment list contains information for multiple nodes, the second and third node information in the BIER segment list are arranged in the order of node specification for the forwarding path. By popping up the second node information at the beginning of the BIER segment list, the target node corresponding to each first node can be segmented and determined, thereby realizing the segment routing function in the BIER network.

[0057] Referring to Figure 8, in one embodiment, the second node information includes the BFR-id and the BIER subdomain ID, and step S710 in the embodiment shown in Figure 7 includes, but is not limited to, the following step S810.

[0058] Step S810: Pop up the second node information at the beginning of the BIER subdomain segment list in the BIER segment list, and the BIER subdomain segment list contains the BFR-ids of several BIER routes that have the same subdomain ID.

[0059] In one embodiment, each node's information includes a BFR-id and a BIER subdomain ID. Referring to Figures 3 and 4, when segment forwarding is performed within a single BIER subdomain, the node information exists in the message structure shown in Figure 4. The BIER segment list contains one BIER subdomain segment list (bfr-id-list), which is shown in Figure 3, where the subdomain-id corresponds to the BIER subdomain ID. The target routing address is determined according to the BFR-id and BIER subdomain ID in the BIER message header, and forwarding is performed.

[0060] A BIER subdomain segment list containing BFR-ids for several BIER routes with the same subdomain ID represents a BIER routing node performing segment forwarding within a single BIER subdomain.

[0061] In one embodiment, the BIER segment list further includes a first BIER subdomain segment list and a second BIER subdomain segment list. The second node information at the beginning of the first BIER subdomain segment list, which is at the beginning of the BIER segment list, is popped up, and the first BIER subdomain segment list and the second BIER subdomain segment list of the BIER segment list are arranged in the node specification order of the transport path.

[0062] In one embodiment, both the BIER segment list and the BIER subdomain segment list are stored in a queue data structure, and when the node information at the top is popped up, the information following that node information in the BIER segment list and the BIER subdomain segment list is indented toward the top to become the new top.

[0063] In one embodiment, referring to Figure 4, if the BIER segment list includes multiple BIER subdomain segment lists, each BIER subdomain segment list in the BIER segment list is arranged in the order of node specification for the forwarding path. By popping up the second node information at the top of the first BIER subdomain segment list at the top of the BIER segment list, the target node corresponding to each first node can be segmented and determined, thereby realizing the segment routing function in the BIER network.

[0064] Referring to Figure 9, one embodiment includes, but is not limited to, the following step S910 after step S810 of the embodiment shown in Figure 8.

[0065] Step S910: Pop up the first BIER subdomain segment list, move the second BIER subdomain segment list to the top of the BIER subdomain segment list, and change the fourth node information to the information corresponding to the target node that the second node needs to forward to.

[0066] In one embodiment, the BIER segment list includes several BIER subdomain segment lists, and if the BIER subdomain segment list does not contain node information, this BIER subdomain segment list.

[0067] After the first node receives the first BIER message, in order to ensure that all leading BIER subdomain segment lists in the BIER segment list contain the corresponding second node information, if the BIER subdomain segment list does not contain the second node information, the BIER subdomain segment list is popped up. This ensures that after the first node receives the first BIER message, it can directly obtain the corresponding second node information by reading the leading BIER subdomain segment list in the BIER segment list, thereby realizing the segment transfer function.

[0068] Referring to Figure 10, in one embodiment, in any of the embodiments shown in Figures 5 to 9, the first BIER message header further includes the first protocol, and step S510 includes, but is not limited to, the following step S1010.

[0069] Step S1010: Analyze the BIER segment list according to the first protocol to obtain the second node information.

[0070] In one embodiment, the protocol in the BIER message header adds a BIER segment list type indicating that a BIER segment list follows the BIER header. After the first node receives the first BIER message, it parses the BIER segment list according to the first protocol contained in the first BIER message header to obtain second node information. The first protocol may be any protocol corresponding to the encapsulation type of the BIER segment list and may be modified by those skilled in the art according to the actual circumstances.

[0071] In one embodiment, the type of the BIER segment list is fixed during message transfer.

[0072] Referring to Figure 11, one embodiment includes, but is not limited to, the following steps S1110 and S1120 after step S1010 of the embodiment shown in Figure 10.

[0073] Step S1110: If the BIER segment list does not contain second node information, pop up the BIER segment list.

[0074] Step S1120: Change the first protocol to the second protocol for service messages that follow the first BIER message.

[0075] After the first node receives a service message, in order to ensure that the leading node information in the BIER segment list all contains the corresponding second node information, if the BIER segment list does not contain the second node information, the BIER segment list is popped up. This ensures that after the first node receives a service message, it can directly obtain the corresponding second node information by reading the leading node information in the BIER segment list, thereby realizing the segment transfer function.

[0076] In one embodiment, a BIER message is followed by a service message, which is a message to be processed by the final target node. For example, referring to Figure 1, if service 1 needs to be forwarded via designated paths R1, R2, R4, R6, and R8, then R8 is the final target node. The first protocol is also changed to a second protocol for the service message that follows the first BIER message, in preparation for subsequent service processing.

[0077] In one embodiment, when a BIER segment list pops up, the service message is parsed according to the first protocol of the BIER message header to obtain service information, and service processing is performed according to the service information.

[0078] In one embodiment, after the first node receives a service message, it checks whether the BIER segment list is empty. If the BIER segment list is empty, it indicates that the service message has reached the final target node and that the current first node is the final target node. In this case, the service message is parsed according to the first protocol of the BIER message header to obtain service information, and service processing is performed according to the service information. This service message may be any message that needs to be processed by the segment routing function.

[0079] In one embodiment, if BIER routing corresponds to multiple subdomain IDs, the target subdomain ID corresponding to the BIER routing is determined according to the forwarding path, and the BIER routing is added to the BIER routing segment list corresponding to the target subdomain ID.

[0080] In one embodiment, if a single BIER routing corresponds to multiple subdomain IDs, the target subdomain ID corresponding to the BIER routing is determined according to the forwarding path, the BIER routing is added to the corresponding BIER routing segment list according to its target subdomain ID, and it is ensured that each BIER routing in the BIER segment list corresponds to a unique BFR-id and subdomain ID.

[0081] In one embodiment, the target subdomain ID corresponding to BIER routing is determined according to the forwarding path, and the BIER routing is added to the BIER routing segment list corresponding to the target subdomain ID. For example, in Figure 2, service 1 needs to be forwarded via designated paths R1, R2, R4, R5, and R6, R1, R2, and R4 belong to BIER subdomain 1, R5 and R6 belong to BIER subdomain 2, and R4 corresponds to subdomains 1 and 2. To simplify processing, subdomain 1 is set as the target subdomain ID corresponding to R4, and R4 is added to the BIER routing segment list corresponding to subdomain 1.

[0082] According to the standard, devices in different BIER subdomains may have the same bfr-id, but for the sake of explanation, we will assign them different bfr-ids here.

[0083] In one embodiment, referring to Figures 3 and 4, the BIER segment list further includes the number of subdomains representing the number of subdomains that are not fully traversed within the forwarding path, and the subdomain ID list further includes the subdomain IDs of the corresponding subdomains and the number of routes within the corresponding domains.

[0084] In one embodiment, the forwarding paths corresponding to the first and second nodes include a strict path indicating that the first and second nodes are directly adjacent in the BIER network, and a loose path indicating that there are several non-forwarding routed BIER routes between the first and second nodes in the BIER network.

[0085] Referring to Figure 12, which is a flowchart of the steps of a BIER message transfer method according to another embodiment of the present application, this BIER message transfer method is applied to a third node and includes, but is not limited to, the following steps S1210 and S1220.

[0086] Step S1210: Obtain a first BIER message according to the specified forwarding path, which includes a first BIER message header containing first node information and a BIER segment list containing second node information.

[0087] Step S1220: The first BIER message is forwarded to the first node corresponding to the first node information according to the first BIER message header, and the second BIER message generated at the first node includes the second node information.

[0088] In one embodiment, the third node is the source node of the designated forwarding path. For example, referring to Figure 1, service 1 needs to be forwarded via designated paths R1, R2, R4, R6, and R8, where R1 is the third node.

[0089] In one embodiment, the third node acquires the first BIER message according to the specified forwarding path. The first BIER message includes a first BIER message header and a BIER segment list. The target node information in the first BIER message header includes the first node information, and the BIER segment list includes the second node information. The first BIER message is forwarded to the first node corresponding to the first node information according to the first BIER message header. The target node information of the second BIER message generated at the first node includes the second node information, thereby realizing the segment routing function in the BIER network.

[0090] In one embodiment, a different method for organizing BIER segment list structure messages is provided, where the BIER segment list structure does not have a protocol field, the BIER segment list is placed in a generic segment header, the protocol type of the generic segment header is entered in the protocol field within the BIER header, and the type of service message is entered in the Next Header within the generic segment header, thereby achieving the effect of parsing the BIER segment list and the service message, and realizing segment routing functionality.

[0091] Referring to Figure 13, which is a flowchart of the detailed steps of step S1210 of Figure 12 according to another embodiment of the present application, and in the case where the BIER segment list further includes a first BIER subdomain segment list and a second BIER subdomain segment list, and the segment list includes second node information and third node information, this BIER message transfer method includes, but is not limited to, the following step S1310.

[0092] Step S1310: A BIER segment list is generated in which the third node information, first node information, and second node information are arranged in that order according to the specified transfer path.

[0093] Referring to Figure 14, which is a flowchart of the detailed steps of step S1210 in Figure 12 according to another embodiment of the present application, this BIER message transfer method includes, but is not limited to, the following step S1410.

[0094] Step S1410: A BIER segment list is generated that contains, in this order, a first BIER subdomain segment list containing first node information corresponding to the first node and a second BIER subdomain segment list containing second node information corresponding to the second node, according to the specified transfer path.

[0095] In one embodiment, each node information includes a BFR-id and a BIER subdomain ID. Referring to Figures 3 and 4, when segment forwarding is performed across multiple BIER subdomains, the node information exists in the message structure shown in Figure 4. The BIER segment list contains multiple BIER subdomain segment lists (bfr-id-lists), which are shown in Figure 3, where the subdomain-id corresponds to the BIER subdomain ID. The target routing address is determined according to the BFR-id and BIER subdomain ID in the BIER message header, and forwarding is performed.

[0096] In one embodiment, the BIER segment list includes a first BIER subdomain segment list and a second BIER subdomain segment list, where the first and second BIER subdomain segment lists in the BIER segment list are arranged in the node-specified order of the forwarding path. Here, the node-specified order of the forwarding path is the order of subdomain IDs corresponding to each routing node on the forwarding path specified by the processor according to the service. For example, in Figure 2, service 1 needs to be forwarded via specified paths R1, R2, R4, R5, and R6, where R1, R2, R4, R6, and R8 are the node-specified order, and the corresponding BIER subdomains 1 and 2 of R1, R2, R4, R6, and R8 correspond to the order of subdomain IDs. When the second node information, which is at the top of the first BIER subdomain segment list, is popped up, it indicates that the second node information, which is at the top of the first BIER subdomain segment list for the corresponding target node, is placed at the top of the BIER segment list, and that the node information in the BIER segment list is sorted from front to back in the order in which the nodes are specified.

[0097] Referring to Figure 15, Figure 15 is a flowchart of additional steps to the method of Figure 12 according to another embodiment of the present application, which includes, but is not limited to, the following steps S1510 and S1520.

[0098] Step S1510: Determine the target subdomain ID corresponding to BIER routing according to the forwarding path.

[0099] Step S1520: Add BIER routing to the corresponding BIER subdomain segment list according to the target subdomain ID.

[0100] In one embodiment, if a single BIER routing corresponds to multiple subdomain IDs, the target subdomain ID corresponding to the BIER routing is determined according to the forwarding path, the BIER routing is added to the BIER routing segment list corresponding to the target subdomain ID, and it is ensured that each BIER routing in the BIER segment list corresponds to a unique BFR-id and subdomain ID.

[0101] In one embodiment, the target subdomain ID corresponding to BIER routing is determined according to the forwarding path, and the BIER routing is added to the BIER routing segment list corresponding to the target subdomain ID. For example, in Figure 2, service 1 needs to be forwarded via designated paths R1, R2, R4, R5, and R6, R1, R2, and R4 belong to BIER subdomain 1, R5 and R6 belong to BIER subdomain 2, and R4 corresponds to subdomains 1 and 2. To simplify processing, subdomain 1 is set as the target subdomain ID corresponding to R4, and R4 is added to the BIER routing segment list corresponding to subdomain 1.

[0102] According to the standard, devices in different BIER subdomains may have the same bfr-id, but for the sake of explanation, we will assign them different bfr-ids here.

[0103] Referring to Figure 16, which is a flowchart of the steps of a BIER message transfer method according to another embodiment of the present application, this BIER message transfer method is applied to the fifth node and includes, but is not limited to, the following steps S1610 to S1630.

[0104] Step S1610: Receive the first BIER message, which includes a first BIER message header containing first node information.

[0105] Step S1620: Based on the target node information, determine whether the fifth node is the first node.

[0106] Step S1630: If the fifth node is not the first node, forward the first BIER message to the first node.

[0107] In the process of BIER network forwarding, if there is BFR routing that forwards only services and does not process services, the fifth node is this BFR routing. To distinguish between such BFR routing and the first node routing which is BFER, the routing node is determined to be the first node by comparing the target node information with the current node information.

[0108] In one embodiment, a first BIER message containing a first BIER message header table is received, and the target node information in the BIER message header includes first node information. Based on the target node information, it is determined whether the routing node is the first node or not. If the routing node is not the first node, the first BIER message is forwarded to the first node, the first BIER message is processed at the first node, and thus the segment routing function is realized.

[0109] Referring to Figure 17, which illustrates a transfer via a designated route in a BIER message transfer method according to another embodiment of the present application, and includes, but is not limited to, the following steps S1710 to S1770.

[0110] Step S1710: Receive a BIER message.

[0111] Step S1720: Determine whether the BFR-id in the BIER message header of the BIER message corresponds to the current node, and if so, execute step S1730.

[0112] Step S1730: By parsing the BIER segment list of the BIER message.

[0113] Step S1740: Encapsulate the BIER message header according to the first BFR-id of the first BIER subdomain segment in the BIER subdomain segment list, and simultaneously pop up this BFR-id.

[0114] Step S1750: If the BIER subdomain segment list is empty, pop up this BIER subdomain segment list.

[0115] Step S1760: If the BIER segment list is empty, pop up the segment list.

[0116] Step S1770: Transfer according to the BIER message.

[0117] In one embodiment, the process from the generation of a BIER message in a single BIER subdomain to its forwarding is as follows: As shown in Figure 3, a bfr-id-list structure is defined that includes, but is not limited to, a subdomain-id (BIER subdomain ID), bfr-id-num (representing the number of subsequent bfr-ids), and a bfr-id list. As shown in Figure 4, a BIER segment list structure is defined that includes, but is not limited to, a bfr-id-list list, bfr-id-list-num (representing the number of subsequent bfr-id-lists), protocol (representing the message type after the segment list structure), and a bfr-id-list list. The protocol in the BIER message header adds a BIER segment list type indicating that there is a BIER segment list after the BIER message header. In the networking diagram of a single BIER subdomain shown in Figure 1, the subdomain ID is 1, and the bfr-ids of nodes R1 to R8 are 1 to 8, respectively. From R1 to R8, designated route 1 is R1, R2, R4, R6, R8, and designated route 2 is R1, R3, R5, R7, R8. The message for Service 1 is forwarded from R1 to R8, and the message is constructed on the R1 device when it is specified via the controller, network manager, or device configuration interface that the message for Service 1 is forwarded via Route 1. The first node R1 on Route 1 is searched for, and it is found to be the current node, so it is skipped. The BIER message header is followed by the BIER segment list header, where the bfr-id-list-num field is 1 and the protocol type of the Service 1 message is entered in the protocol field. This is followed by the bfr-id-list structure, where the subdomain-id field is 1 and the bfr-id-num is 3, followed by three bfr-ids with values ​​4, 6, and 8 respectively. The service message follows the bfr-id-list structure.When a BIER message arrives at R2, if it finds that the bfr-id in the message is the current node, it continues parsing the subsequent BIER segment list, extracts BIER subdomain ID 1, extracts the first bfr-id 4, constructs the BIER message header and continues BIER forwarding, and changes the bfr-id-list structure in the BIER segment list by changing bfr-id-num to 2, popping up bfr-id 4, leaving only bfr-ids 6 and 8. When a BIER message arrives at R4, step 10 is repeated, and changes the bfr-id-list structure in the BIER segment list by changing bfr-id-num to 1, popping up bfr-id 6, leaving only bfr-id 8. When a BIER message arrives at R6, step 10 is repeated, and after the last bfr-id 8 is popped up, the bfr-id-list becomes empty and this bfr-id-list is popped up. Furthermore, if the BIER segment list is empty, the BIER segment list is also popped up. The protocol field in the BIER message header contains the protocol identifier of the service message, and the message then consists of the BIER message header plus the service message. When the BIER message arrives at R8, if it finds that the bfr-id in the message is that of the current node, it proceeds to parse the service message and process the service message. Here, it may be specified that the above steps be repeated from route 2 for service 2 messages.

[0118] Corresponding to the process from generation to forwarding of a BIER message in a single BIER subdomain, the process from generation to forwarding of a BIER message in multiple BIER subdomains is as follows. In the multi-BIER subdomain networking scenario shown in Figure 2, the subdomain ID of BIER subdomain 1 is 1, the subdomain ID of BIER subdomain 2 is 2, and the subdomain ID of BIER subdomain 3 is 3. Device R3 is in both BIER subdomain 1 and subdomain 3, R4 is in both BIER subdomain 1 and subdomain 2, device R7 is in both BIER subdomain 2 and subdomain 3, and the bfr-ids of R1 to R9 are 1 to 9, respectively. In the multi-BIER subdomain networking scenario shown in Figure 2, route 1 from R1 to R6 is specified as R1, R2, R4, R5, R6, and route 2 is specified as R1, R3, R8, R7, R5, R6. A message for Service 1 is forwarded from R1 to R6, and the R1 device constructs the message when it is specified via the controller, network manager, or device configuration interface that the message for Service 1 is forwarded via Route 2. The first node of Route 2 is searched for, and if it is the current node, it is skipped. The second node of Route 2 is searched for, the BIER forwarding information for R3 (BIER subdomain 1, bfr-id 3) is found, and the BIER message header is encapsulated (this encapsulation of the BIER message header is standard BIER behavior, described in detail in RFC8296, and is not an invention of this application). Here, the protocol field of the BIER message header is populated with the BIER segment list type, and the BIER segment list header follows the BIER message header. Since the node after the route is in two BIER subdomains, it has two bfr-id-lists, and the bfr-id-list-num field of the segment list header is populated with 2, and the protocol field is populated with the protocol type of the message for Service 1. Two bfr-id-list structures follow.In the first bfr-id-list, the subdomain-id is 3, the bfr-id-num is 2, followed by two bfr-ids with values ​​8 and 7, respectively. In the second bfr-id-list, the subdomain-id field is 2, the bfr-id-num is 2, followed by two bfr-ids with values ​​5 and 6, respectively. The remaining process is the same as in the example above of the process from the generation of a BIER message in a single BIER subdomain to its forwarding, and is therefore omitted from this explanation.

[0119] Furthermore, referring to Figure 18, one embodiment of the present invention provides a message transfer device 1800. The message transfer device 1800 includes a memory 1820, a processor 1810, and a computer program stored in the memory 1820 and executable by the processor 1810, wherein the processor 1810, when executing the computer program, implements one of the above message transfer methods, for example, the method steps S510-S530 in Figure 5, the method steps S610-S620 in Figure 6, the method step S710 in Figure 7, and the method in Figure 8. Perform the following steps: Method step S810, Method step S910 in Figure 9, Method step S1010 in Figure 10, Method steps S1110 to S1120 in Figure 11, Method steps S1210 to S1230 in Figure 12, Method step S1310 in Figure 13, Method step S1410 in Figure 14, Method steps S1510 to S1520 in Figure 15, Method steps S1610 to S1630 in Figure 16, and Method steps S1710 to S1770 in Figure 17.

[0120] Furthermore, one embodiment of the present invention provides a computer-readable storage medium storing computer-executable instructions, which, when executed by one or more control processors, perform, for example, the method steps S510-S530 in Figure 5, S610-S620 in Figure 6, S710 in Figure 7, S810 in Figure 8, S910 in Figure 9, S1010 in Figure 10, S1110-S1120 in Figure 11, S1210-S1230 in Figure 12, S1310 in Figure 13, S1410 in Figure 14, S1510-S1520 in Figure 15, S1610-S1630 in Figure 16, and S1710-S1770 in Figure 17.

[0121] Embodiments of the present application provide a BIER message transfer method, apparatus, and storage medium. The BIER message transfer method is applied to a first node and includes the steps of: receiving a first BIER message generated by a third node, which includes a first BIER message header including first node information and a BIER segment list including second node information; changing the first node information in the first BIER message header to the second node information to obtain a second BIER message header; and transferring the second BIER message corresponding to the second BIER message header to the second node corresponding to the second node information. By determining the characteristics of the target node based on the encapsulation transfer path information of the BIER message header and changing the target node during the segment transfer process through a method of adding a segment list after the BIER message header, a segment routing function in a BIER network that supports various encapsulation types is realized, and the effect of designated path transfer in a BIER network is achieved.

[0122] All or part of the steps in the methods disclosed above, the system may be implemented as software, firmware, hardware, or a suitable combination thereof. Some or all of the physical components may be implemented as software executed by a processor such as a central processor, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit such as an application-specific integrated circuit. Such software may be distributed on computer-readable media, which may include computer storage media (or non-temporary media) and communication media (or temporary media). As is well known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technique for storing information (e.g., computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical disk storage devices, magnetic cartridges, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or any other media that can be used to store desired information and can be accessed by a computer. Furthermore, it is well known to those skilled in the art that communication media may include any information distribution medium, typically containing computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms.

[0123] Although preferred embodiments of the present application have been described above, the present application is not limited to the above embodiments. A person skilled in the art may make various equivalent modifications or substitutions under common conditions that are not contrary to the spirit of the present application, all of which fall within the scope defined by the claims of the present application.

Claims

1. A BIER message transfer method applied to the first node, The steps include receiving a first BIER message generated by a third node, which includes a first BIER message header containing first node information and a BIER segment list containing second node information, The steps include: changing the first node information of the first BIER message header to the second node information to obtain a second BIER message header; The process includes the step of transferring the second BIER message corresponding to the second BIER message header to the second node corresponding to the second node information, The step of changing the first node information of the first BIER message header to the second node information to obtain the second BIER message header is: The steps include: popping up the second node information in the BIER segment list; The process includes the step of changing the first node information of the first BIER message header to the second node information to obtain a second BIER message header, The BIER segment list further includes fourth node information, The method is characterized in that the step of popping up the second node information in the BIER segment list includes the step of popping up the second node information which is at the beginning of the BIER segment list, which contains the second node information and the fourth node information arranged in that order.

2. The second node information includes a BFR-id and a BIER subdomain ID, and the step of popping up the second node information at the beginning of the BIER segment list is: The method according to claim 1, comprising the step of popping up the second node information at the beginning of the BIER subdomain segment list in the BIER segment list, wherein the BIER subdomain segment list includes the BFR-ids of several BIER routings having the same BIER subdomain ID.

3. The BIER segment list includes the second node information in the first BIER subdomain segment list and the fourth node information in the second BIER subdomain segment list, and after the step of popping up the second node information at the beginning of the BIER subdomain segment list in the BIER segment list, The method according to claim 2, further comprising the steps of popping up the first BIER subdomain segment list, moving the second BIER subdomain segment list to the top of the BIER subdomain segment list, and changing the fourth node information to information corresponding to the target node to which the second node needs to transfer.

4. The first BIER message header further includes a protocol identifier of the first protocol, and the step of receiving the first BIER message generated by the third node is: The steps include determining whether the BIER segment list is empty, The method according to claim 1, further comprising the step of obtaining second node information by parsing the BIER segment list according to the first protocol corresponding to the protocol identifier of the first protocol, if the BIER segment list is not empty.

5. The BIER segment list further includes the protocol identifier of the second protocol, and after the step of changing the first node information of the first BIER message header to the second node information to obtain the second BIER message header, The steps include determining whether the BIER segment list is empty, The method according to claim 4, further comprising the steps of: if the BIER segment list is empty, popping up the BIER segment list and changing the protocol identifier of the first protocol to the protocol identifier of the second protocol for service messages located after the first BIER message.

6. A BIER message transfer device comprising memory, a processor, and a computer program stored in memory and executable by the processor, The processor, upon executing the computer program, implements the BIER message transfer method described in any one of claims 1 to 5.

7. A computer-readable storage medium storing computer-executable instructions that, when executed by a processor, realize the BIER message transfer method described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Message transmission method and device

    CN106656794A

  • Method, device and system for establishing BIER forwarding table entry

    CN110784411A

  • Packet forwarding method, packet transmission device, and packet reception device

    WO2020088696A1