Next hop determination method and apparatus

JP7636538B2Active Publication Date: 2025-02-26HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023526335
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-02-10
Filing Date
2021-09-02
Publication Date
2025-02-26
Estimated Expiration
2041-09-02

AI Technical Summary

Benefits of technology

【0127】 本発明の目的、技術的解決策、および有益な効果は、前述の具体的な実装においてさらに詳細に説明される。前述の説明は、単に本発明の個別的な実装であることを理解しておくべきである。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007636538000001
    Figure 0007636538000001
  • Figure 0007636538000002
    Figure 0007636538000002
  • Figure 0007636538000003
    Figure 0007636538000003
Patent Text Reader

Abstract

An embodiment of the present application provides a next hop determination method. The method is applied to a BIER domain based on bit-index forwarding routing and includes: a third device obtains first BIER information of a first device, attributes of the first device, second BIER information of a second device, and attributes of the second device, where the first BIER information includes a bit-forwarding router identifier (BFR-id) of an edge bit-forwarding router (BFR) in a subdomain, and the second BIER information includes a BFR-id of an edge BFR in the subdomain. The third device determines a next hop to an edge BFR in the subdomain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application claims priority to Chinese Patent Application No. 202011193045.7, entitled “Method and Apparatus for Establishing a Forwarding Table,” filed with the State Intellectual Property Office of the People's Republic of China on October 30, 2020, and claims priority to Chinese Patent Application No. 202110184092.3, entitled “Method and Apparatus for Determining Next Hop,” filed with the State Intellectual Property Office of the People's Republic of China on February 10, 2021. The aforementioned Chinese patent applications are hereby incorporated by reference in their entireties.

[0002] Technical Field The present invention relates to the field of communication technology, and in particular to a method and apparatus for determining a next hop. [Background technology]

[0003] In a Bit Index Explicit Replication (BIER) domain, a bit forwarding ingress router (BFIR) or a first transit bit forwarding router (transit BFR) may receive BIER information flooded by another BFR (e.g., a second transit BFR or a bit forwarding egress router (BFER)) in the BIER domain through an internal gateway protocol (IGP). The BIER information includes the BFR prefix of the BFR sending the BIER information, and one or more bit forwarding router identifiers (BFR-ids) of the BFER and its BFR prefix. The BFR prefix indicates the address of the BFR in the BIER domain. The BFIR or the first transit BFR may obtain a bit index forwarding table (BIFT) based on the BIER information flooded through the IGP. A BIFT entry contains a forwarding bitmask (F-BM) and a BFR neighbor (BFR-NBR) that acts as the next hop. A bit set to 1 in the bit string contained in the F-BM corresponds to a BFER in the received BIER information. The address in the BFR-NBR is the BFR prefix of the BFR that sends the BIER information, contained in the BIER information.If there are two transit BFRs in a BIER domain, e.g., the second BFR and the third BFR, and the advertised BIER information contains the same BFER parameters, e.g., the BFR-id of the BFER and the BIER prefix of the BFER, the BFRs such as the first BFR or the BFIR that receives the BIER information from the second BFR and the third BFR may select the BIER information advertised by the BFR according to the longest match policy or the equal-cost multi-path routing (ECMP) policy. Current next hop decision methods are not flexible enough. Summary of the Invention [Problem to be solved by the invention]

[0004] To improve flexibility, the embodiments of the present application provide a next hop determination method and apparatus. [Means for solving the problem]

[0005] According to a first aspect, a next hop determination method is provided, the method being applied to a BIER domain based on bit index forwarding routing, and including:

[0006] a third device obtains first BIER information of a first device, an attribute of the first device, second BIER information of a second device, and an attribute of the second device, the first BIER information including a bit forwarding router identifier BFR-id of an edge bit forwarding router BFR in a subdomain, and the second BIER information including the BFR-id of the edge BFR in the subdomain; The third device determines a next hop to the edge BFR in the sub-domain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device.

[0007] In the above method, the third device can flexibly select a next hop to an edge BFR of the subdomain based on attributes of the first device and attributes of the second device, and the selection is not limited to a longest match policy or an ECMP policy, thereby improving the flexibility of the next hop decision.

[0008] In one possible design, the attribute of the first device and the attribute of the second device include a first identifier, and the first identifier is used to identify an anycast BFR prefix; the method further includes: if the first BIER information is the same as the second BIER information and the attribute of the first device and the attribute of the second device include the first identifier, the third device determines a next hop to an edge BFR in the subdomain.

[0009] In one possible design, the attribute of the first device or the attribute of the second device includes a first identifier, the first identifier is used to identify an anycast BFR prefix, and the third device determines a next hop to an edge BFR in the subdomain based on the first BIER information, the second BIER information, the attribute of the first device, and the attribute of the second device: if the first BIER information is the same as the second BIER information, the third device determines a device whose attribute includes the first identifier as the next hop.

[0010] In one possible design, the method further includes: the third device outputting an alarm when the first BFR information is the same as the second BIER information and neither the attribute of the first device nor the attribute of the second device includes the first identifier, and the first identifier is used to identify an anycast BFR prefix.

[0011] In one possible design, the attributes of the first device further include a node identifier of the first device, and the attributes of the second device include a node identifier of the second device, and the third device determining a next hop to an edge BFR in the subdomain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device includes: when the first BIER information is the same as the second BIER information, the third device determines one of the first device and the second device as the next hop according to a first policy and based on the node identifier of the first device and the node identifier of the second device, and the first policy includes using a device with a larger node identifier as the next hop or using a device with a smaller node identifier as the next hop.

[0012] In one possible design, the attributes of the first device further include a second identifier, the attributes of the second device further include a third identifier, the second identifier is used to identify a priority of the first device, and the third identifier is used to identify a priority of the second device, and the third device determining a next hop to an edge BFR in the subdomain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device includes: when the first BIER information is the same as the second BIER information, the third device determines one of the first device and the second device as the next hop according to a second policy and based on the second identifier and the third identifier, and the second policy includes using a device with a higher priority as the next hop or using a device with a lower priority as the next hop.

[0013] In one possible design, the attributes of the first device include a BFR prefix of the first device, the attributes of the second device include a BFR prefix of the second device, the BFR prefix of the first device being different from the BFR prefix of the second device, and the third device determining a next hop to an edge BFR in the subdomain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device: when the first BIER information is the same as the second BIER information, the third device determines one of the first device and the second device as the next hop based on a cost value of the first link and a cost value of the second link according to a third policy, the third policy including using a peer device of a link with a smaller cost value as the next hop or using a peer device of a link with a larger cost value as the next hop, the first link being a link from the third device to the first device, and the second link being a link from the third device to the second device.

[0014] In one possible design, the attributes of the first device include a BFR prefix of the first device, the attributes of the second device include a BFR prefix of the second device, the BFR prefix of the first device being different from the BFR prefix of the second device, and the third device determining a next hop to an edge BFR in the subdomain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device: when the first BIER information is the same as the second BIER information, the third device determines one of the first device and the second device as the next hop according to a fourth policy and based on the BFR prefix of the first device and the BFR prefix of the second device, and the fourth policy includes using the device with the smaller BFR prefix as the next hop or using the device with the larger BFR prefix as the next hop.

[0015] In one possible design, the attributes of the first device include a BFR prefix of the first device and a node identifier of the first device, the attributes of the second device include a BFR prefix of the second device and a node identifier of the second device, the BFR prefix of the first device being different from the BFR prefix of the second device, and the third device determining a next hop to an edge BFR in the subdomain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device: when the first BIER information is the same as the second BIER information, the third device determines one of the first device and the second device as the next hop according to a first policy and based on the node identifier of the first device and the node identifier of the second node, the first policy including using a device with a larger node identifier as the next hop or using a device with a smaller node identifier as the next hop.

[0016] In one possible design, the attributes of the first device include a BFR prefix and a second identifier of the first device, the attributes of the second device include a BFR prefix and a third identifier of the second device, the second identifier is used to identify a priority of the first device, the third identifier is used to identify a priority of the second device, the BFR prefix of the first device is different from the BFR prefix of the second device, and the third device determining a next hop to an edge BFR in the subdomain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device: when the first BIER information is the same as the second BIER information, the third device determines one of the first device and the second device as the next hop according to a second policy and based on the second identifier and the third identifier, and the second policy includes using a device with a higher priority as the next hop or using a device with a lower priority as the next hop.

[0017] According to a second aspect, there is provided a next hop determination apparatus, the apparatus comprising: a unit for implementing functions of the steps included in the first aspect or any one of the possible designs of the first aspect.

[0018] According to a third aspect, there is provided a system, the system including a next hop determination apparatus according to the second aspect or any one of the possible designs of the second aspect.

[0019] According to a fourth aspect, there is provided a chip, the chip including a memory and a processor, the memory configured to store computer instructions, the processor configured to retrieve the computer instructions from the memory and execute the computer instructions to perform a next hop determination method according to the first aspect or any one of the possible implementations of the first aspect.

[0020] According to a fifth aspect, there is provided a computer program product, comprising one or more computer program instructions which, when loaded and executed by a computer, cause the computer to perform a next hop determination method according to the first aspect or any one of the possible implementations of the first aspect.

[0021] According to a sixth aspect, there is provided a computer readable storage medium configured to store instructions, said instructions including a program designed to perform a next hop determination method according to the first aspect or any one of the possible implementations of the first aspect. [Brief description of the drawings]

[0022] [Figure 1] A schematic diagram of the network scenario.

[0023] [Diagram 2] 1 is a schematic flowchart of a next hop determination method according to Embodiment 1 of the present application;

[0024] [Diagram 3] 4 is a schematic flowchart of a next hop determination method according to Embodiment 2 of the present application;

[0025] [Figure 4] FIG. 11 is a diagram showing a packet format according to embodiment 3 of the present application.

[0026] [Diagram 5] FIG. 11 is a diagram showing a packet format according to embodiment 4 of the present application.

[0027] [Figure 6] A figure showing another packet format according to embodiment 4 of the present application.

[0028] [Figure 7] FIG. 11 is a diagram showing a packet format according to embodiment 5 of the present application.

[0029] [Figure 8] 1 is a schematic diagram of the structure of a next hop determination device according to an embodiment of the present application;

[0030] [Figure 9] FIG. 2 is a schematic diagram of the structure of another next hop determination apparatus according to an embodiment of the present application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0031] In order to make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the following clearly and completely describes the technical solutions of the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention.

[0032] Figure 1 is a schematic diagram of a network scenario. In the network scenario shown in Figure 1, R1, R2, R3, R4, R5, R11, R12, R13, R21, R22, and R23 represent BFRs in a BIER domain. R1, R2, R3, R4, and R5 are located in the same IGP area, which may be called area A1. The BFR-id configured for R1 is 1. The BFR-id configured for R2 is 2. The BFR-id configured for R3 is 3. The BFR-id configured for R4 is 4. The BFR-id configured for R5 is 5. R3, R4, and R5 are edge BFRs. R1 and R2 can function as area border routers (ABRs). If R1 and R2 do not function as BFERs, then the BFR-ids do not need to be configured for R1 and R2, or the configured BFR-ids are invalid. R11, R12, and R13 are located in the same IGP area, which may be referred to as area A10. R11, R12, and R13 are all edge BFRs, such as BFERs. The BFR-id configured for R11 is 11. The BFR-id configured for R12 is 12. The BFR-id configured for R13 is 13. R21, R22, and R23 are located in the same IGP area, which may be referred to as area A20. R21, R22, and R23 are all edge BFRs, such as BFERs. The BFR-id configured for R21 is 21. The BFR-id configured for R22 is 22. The BFR-id configured for R23 is 23. In the scenario shown in Figure 1, R1 and R2 flood BIER information of R11, R12, R13, R21, R22, and R23 to BFRs in area A1, such as R3, R4, and R5. R1 and R2 also flood BIER information of R3, R4, and R5 to BFRs in area A10, such as R11, R12, and R13, and BFRs in area A20, such as R21, R22, and R23.The method for R1 and R2 to advertise the acquired BIER information to BFRs in area A1 is the same as the method for advertising the acquired BIER information to BFRs in area A10 and BFRs in area A20. The following uses the method for R1 and R2 to advertise the acquired BIER information to BFRs in area A1 as an example for description.

[0033] In the scenario shown in FIG. 1, R1 and R2 can obtain the BFR-ids of the BFRs acting as edge BFRs, for example, BFR-ids with values ​​11, 12, 13, 21, 22, and 23, directly or indirectly from the BFRs of area A10 and area A20. The BIER information advertised by R1 to area A1 includes the BFR-ids with values ​​11, 12, 13, 21, 22, and 23. The BIER information advertised by R2 to area A1 includes the BFR-ids with values ​​11, 12, 13, 21, 22, and 23. R1 and R2 may advertise the BFR-ids with values ​​11, 12, 13, 21, 22, and 23 by using the BFR-id range sub-TLV. The BFR-id range sub-TLV may be carried by using the BIER proxy range sub-TLV defined by draft-ietf-bier-prefix-redistribute-00. For example, the BIER proxy range sub-TLV may include BFR-id=11 and range=3, where the sub-TLV indicates three BFR-ids starting with BFR-id 11, i.e., the BFR-ids are three values ​​of 11, 12, and 13. The BIER proxy range sub-TLV may further include BFR-id=21 and range=3, where the sub-TLV indicates three BFR-ids starting with BFR-id 21, i.e., the BFR-ids are three values ​​of 21, 22, and 23. If one or more of R1 and R2 can act as BFERs, the BFER acting device may carry the BFR-ids configured on the device in the advertised BIER information. For example, if R1 can act as a BFER, the BIER information advertised by R1 to area A1 further includes a valid BFR-id assigned to R1. If R2 can act as a BFER, the BIER information advertised by R2 to area A1 further includes a valid BFR-id assigned to R2.In one possible implementation, R1 may use R1's host prefix when advertising BIER information, and R2 may use R2's host prefix when advertising BIER information. A host prefix is ​​a prefix with a 32-bit mask in an Internet Protocol version 4 (IPv4) network and has a full IPv4 address as its information. Alternatively, a host prefix is ​​a prefix with a 128-bit mask in an Internet Protocol version 6 (IPv6) network and has a full IPv6 address as its information. In another possible implementation, R1 may use a non-host route prefix representing R1, for example, a 64-mask IPv6 address as a locator to identify R1, to advertise BIER information to area A1; or draft-ietf-bier-prefix-redistribute-00 uses an aggregated route or a default route to carry the BIER information advertised by R1. To advertise the BIER information to area A1, R2 may use a non-host route prefix representing R2, e.g., a 64-bit masked IPv6 address as a locator to identify R2; or, draft-ietf-bier-prefix-redistribute-00 may use an aggregated route or a default route to carry the BIER information advertised by R2.

[0034] R1 in FIG. 1 can receive BFR-ids advertised by R11, R12, and R13 in area A10, receive BFR-ids advertised by R21, R22, and R23 in area A20, and receive BIER information advertised by R2, separately. A BFR-id with value 11 is used as an example. R11 uses its IP address as a BFR-prefix and advertises the BFR-prefix with a BFR-id with value 11. For example, the BIER-info sub-TLV (type value 32) defined in RFC8401 is carried in ISIS messages with type=135, 235, 236, and 237, or the BIER sub-TLV (type value 9) defined in RFC8444 is carried in the OSPFv2 Extended Prefix TLV. The sub-TLV may be used to carry the IP address of R11 and the BFR-id with value 11. The information advertised by R1 is (BFR-prefix=IP address of R11, BIER-info<Sub-domain=0、BFR-id=11> The BFR-id of R11 advertised by R2 may be carried in the BIER proxy range sub-TLV defined by draft-ietf-bier-prefix-redistribute-00, and the TLV may further carry a BFR-prefix whose value is the IP address of R2. The information advertised by R2 may be expressed as (BFR-prefix=2.2.2.2, BIER-info<Sub-domain=0、BFR-id=2> , BFR-id-range<BFR-id-range=11 to 13、21 to 23> ), where 2.2.2.2 is the IP address of R2 and BFR-id=2 is a valid BFR-id value for R2.R1 preferentially uses the information advertised by R11 through the BIER-info TLV or BIER sub-TLV to establish a bit index routing table (BIRT) entry and a bit index forwarding table (BIFT) entry to R11. The BIRT entry and the BIFT entry established by R1 to R11 contain a BFR-id with value 11, the BFR prefix of R11 as the next hop, and the interface connecting R1 to R11 as the outbound interface.

[0035] According to the above-mentioned method, R1 preferentially selects the information advertised by R12 for BFR-id=12, and establishes a BIRT entry and a BIFT entry to BFR-id=12. The BIRT entry and the BIFT entry established by R1 include a BFR-id with a value of 12, a BFR-prefix of R12 as the next hop, and an interface connecting R1 to R12 as the outbound interface. The method for establishing the BIRT entry and the BIFT entry by R1 to R13, R21, R22, and R23 is the same as the method for establishing the BIRT entry and the BIFT entry described above, and the details will not be described again here. The method for establishing the BIRT entry and the BIFT entry by R2 is the same as the method used by R1, and the details will not be described again here. Each device of R3, R4, and R5 in the area A1 receives the BIER information advertised by R1 and the BIER information advertised by R2. If the BIER information advertised by R1 and R2 further includes the BFR-id of R1, each of R3, R4, and R5 establishes a BIRT entry and a BIFT entry to R1 based on the BFR-id=1 advertised by R1. The establishment method is the same as the method used by R1, and the details are not described again here. If the BIER information advertised by R1 and R2 further includes the BFR-id of R2, each of R3, R4, and R5 establishes a BIRT entry and a BIFT entry to R2 based on the BFR-id=2 advertised by R2. The establishment method is the same as the method used by R1, and the details are not described again here. The BIRT entry includes the node information of the next hop to the BFR-id, and may be represented by (BFR-id, NextHop). For example, the BIRT entry includes (BFR-id=11, NextHop=R1), and the BIRT entry indicates that the next hop to the BFR of BFR-id=11 is R1.A BIFT entry includes the next-hop node information to the BFR-id and a forwarding bit mask (FBM), and may be represented by (BFR-id, NextHop, FBM). For example, one BIFT entry may include (BFR-id=11, NextHop=R1, FBM=01110000), where three 1-bit bits in the FBM may correspond to BFERs whose BFR-ids are 11, 12, and 13, respectively.

[0036] Each of the three devices R3, R4, and R5 in area A1 can receive the BIER information advertised by R1 and the BIER information advertised by R2. Both the BIER information advertised by R1 and the BIER information advertised by R2 contain BFR-ids with values ​​11, 12, 13, 21, 22, and 23. R3, R4, or R5 can determine the next hop and outbound interface based on the route and longest match algorithm that advertises the BFR-ids with values ​​11, 12, 13, 21, 22, and 23, but the device selected to advertise the BIER information may not be the device with the best performance, but may need to improve flexibility and forwarding performance.

[0037] According to the method provided in this embodiment of the present application, in the scenario where R1 and R2 in FIG. 1 advertise the same BFR-id, the problem of how one or more of R3, R4, and R5 select the next hop with the best performance can be solved. In this embodiment of the present application, an example is used for explanation in which both R1 and R2 advertise the BFR-id of the device used as BFER in area A10, and R3 and R4 in area A1 select the next hop by using the method according to this embodiment of the present application. The method used by another edge BFR in area A1, for example, R5, is the same as the method used by R3 or R4, and the details will not be described again in this embodiment of the present application. For the method of selecting the next hop by the edge BFR in area A1 to advertise the BFR-id of the device used as BFER in area A20 by both R1 and R2, please refer to the method used by R3 or R4. The details will not be described again in this embodiment of the present application. EXAMPLES

[0038] EMBODIMENT 1 FIG. 2 is a schematic flow chart of a next hop determination method according to embodiment 1 of the present application. In the method shown in FIG. 2, both R3 and R4 in FIG. 1 receive the attributes from R1, the attributes of R2, and the BIER information sent by R1 and R2, and R3 or R4 determines the next hop based on the attributes of R1, the attributes of R2, and the BIER information advertised by R1 and R2. The attributes of R1 and the attributes of R2 are of the same type, but their values ​​may be the same or different. R3 or R4 uses the BIER information sent by the next hop to generate an entry used to forward the BIER packet. The entry used to forward the BIER packet may be one or more entries in the BIFT entry and the BIRT entry. Embodiment 1 of the present application is described by using an example in which the BFR-prefix of R1 and R2 is the same. With reference to FIG. 1 and FIG. 2, the following describes the next hop determination method according to embodiment 1 of the present application.

[0039] S201: R1 and R2 advertise the BFR-id of the edge BFR in area A10 using the same BFR prefix.

[0040] In order to prevent BIER forwarding from being looped, the same BFR prefix may be configured for R1 and R2 when neither device of R1 and R2 acts as a BFER, or neither device is configured with a valid BFR-id, or neither device is configured with a non-zero BFR-id. The edge BFRs in area A10 shown in FIG. 1 include R11, R12, and R13. The same BFR prefix in this embodiment of the present application may be represented by an address prefix. The BFR prefix may be an IPv4 address or an IPv6 address disclosed in RFC8401 or RFC8444, or the BFR prefix may be an IPv6 address block. The IPv6 address block may be an address block with a 64-bit mask. The BIER information advertised by R1 and R2 to R3 in area A1 through an Interior Gateway Protocol (IGP) includes a BFR-id with values ​​11, 12, and 13. R1 and R2 further advertise the attributes of R1 and R2 to R3 in area A1 through IGP. The attributes of R1 and R2 include a first identifier. The first identifier is used to identify anycast BFR prefixes. In this embodiment of the present application, the BIER information advertised by R1 may be the first BIER information, and the BIER information advertised by R2 may be the second BIER information. The BFR-id included in the first BIER information or the second BIER information may be transmitted in the manner mentioned in RFC8401 or RFC8444, or may be carried within the BFR-id range of draft-ietf-bier-prefix-redistribute-00 for transmission. The BFR prefixes of R1 and R2 may be carried in the adv-bfr-prefix field for transmission. The first identifier included in the attributes of R1 and R2 may be carried and transmitted by using the adv-anycast-flag field.In one possible implementation, the attributes of R1 may further include one or more of a second identifier used to identify the node identifier and priority of R1. The attributes of R2 may further include one or more of a third identifier used to identify the node identifier and priority of R2. The node identifier in this embodiment of the present application is a system identifier (system-id) in the intermediate system to intermediate system (ISIS) protocol and a route identifier (router-id) in the Open Shortest Path First (OSPF) protocol. The aforementioned node identifier may be carried in the adv-router-id field for transmission. The second identifier and the third identifier may be carried in the adv-admin-tag field for transmission.

[0041] S202: R3 determines whether to generate an alarm based on the received attributes of R1 and the received attributes of R2, and if R3 does not generate an alarm, executes S203.

[0042] For example, based on the scenario in FIG. 1, R3 receives attributes from R1, attributes from R2, first BIER information from R1, and second BIER information from R2. The second BIER information received by R3 from R2 may come from one or more of an interface for communication between R3 and R1 and an interface for communication between R3 and R4. Based on the first BIER information and the second BIER information, R3 determines that both R1 and R2 can act as transit BFRs to edge BFRs included in area A10. R3 may determine whether attributes of R1 and attributes of R2 include the first identifier. If none of attributes of R1 and attributes of R2 include the first identifier, R3 determines that the configuration is incorrect and outputs an alarm. If at least one of attributes of R1 and attributes of R2 includes the first identifier, R3 may determine that the configuration is correct and execute S203. A manner of outputting the alarm may be to output the alarm to a network management device or another management device through the Network Configuration Protocol (NETCONF).

[0043] S203: R3 determines the next hop to an edge BFR included in area A10.

[0044] In one possible implementation, when the attribute of R1 or the attribute of R2 includes the first identifier, R3 determines that the next hop is the device corresponding to the attribute carrying the first identifier. For example, if the attribute advertised by R1 includes the first identifier but the attribute advertised by R2 does not include the first identifier, R3 sets the next hop to the edge BFR in area A10 as R1, and the next hop included in the BIRT entry or BIFT entry obtained by R3 and corresponding to the edge BFR in area A10 is R1, and the outbound interface is the interface for communication between R3 and R1. If the attribute advertised by R2 includes the first identifier but the attribute advertised by R1 does not include the first identifier, R3 sets R2 as the next hop device to the edge BFR in area A10, the next hop included in the BIRT entry or BIFT entry acquired by R3 and corresponding to the edge BFR in area A10 is R2, and the outbound interface is an interface on R3 that can communicate with R2. In the scenario shown in FIG. 1, the interfaces on R3 that can communicate with R2 include an interface for communication between R3 and R1 and an interface for communication between R3 and R4. For details, please refer to the contents of S202. In determining the interface that can communicate with R2, R3 may select the interface that can communicate with R2 based on the link cost or link status. The BIRT entry and BIFT The entries can use the following examples:

[0045] A BIRT entry may be represented in the following ways: (BFR-id=11,NextHop=R4) (BFR-id=12,NextHop=R4) (BFR-id=13,NextHop=R4)

[0046] A BIFT entry may be represented in the following manner: (BFR-id=11,NextHop=R4,FBM=01110000) (BFR-id=12,NextHop=R4,FBM=01110000) (BFR-id=13,NextHop=R4,FBM=01110000)

[0047] In another possible implementation, when both the attribute of R1 and the attribute of R2 include the first identifier, R3 may determine the next hop in the following manner.

[0048] Aspect 1: An attribute of R1 includes a node identifier of R1, and an attribute of R2 includes a node identifier of R2. When the node identifier of R1 is different from the node identifier of R2, R3 can determine a device from among R1 and R2 as a next hop based on the node identifier of R1 and the node identifier of R2 according to a first policy. The first policy can be that a device with a larger node identifier acts as the next hop, or a device with a smaller node identifier acts as the next hop.

[0049] Aspect 2: The attributes of R1 include the node identifier and the second identifier of R1, and the attributes of R2 include the node identifier and the third identifier of R2. When the node identifier of R1 is the same as the node identifier of R2, R3 can determine a device from among R1 and R2 as the next hop according to the second policy and based on the second identifier and the third identifier. The second policy may be that a device with a higher priority in the second identifier and the third identifier acts as the next hop. Alternatively, the second policy may be that a device with a lower priority in the second identifier and the third identifier acts as the next hop.

[0050] Aspect 3: The attributes of R1 include a second identifier, and the attributes of R2 include a third identifier, and the priority identified by the second identifier is different from the priority identified by the third identifier, and R3 may determine a device from among R1 and R2 as the next hop according to a second policy and based on the second identifier and the third identifier.

[0051] Aspect 4: The attributes of R1 include a node identifier and a second identifier of R1, and the attributes of R2 include a node identifier and a third identifier of R2. When the priority identified by the second identifier is the same as the priority identified by the third identifier, R3 can determine a device from R1 and R2 as the next hop according to a first policy and based on the node identifier of R1 and the node identifier of R2. The first policy can be that a device with a larger node identifier acts as the next hop, or that a device with a smaller node identifier acts as the next hop.

[0052] Aspect 5: The attributes of R1 include a node identifier and a second identifier of R1, and the attributes of R2 include a node identifier and a third identifier of R2. If the node identifier of R1 is the same as the node identifier of R2, and the priority identified by the second identifier is the same as the priority identified by the third identifier, R3 can select any device from R1 and R2 as the next hop.

[0053] Optionally, after determining the next hop, R3 may obtain an entry used to forward the BIER packet, and the next hop included in the entry used to forward the BIER packet is the next hop determined by R3.

[0054] S204: R4 determines whether to generate an alarm based on the received attributes of R1 and the received attributes of R2, and if R4 does not generate an alarm, executes S205.

[0055] For example, based on the scenario in FIG. 1, R4 receives attributes from R1, attributes from R2, first BIER information from R1, and second BIER information from R2. Based on the first BIER information and the second BIER information, R4 determines that both R1 and R2 can act as a passing BFR to the edge BFR included in the area A10. R4 may determine whether the attributes of R1 and the attributes of R2 include the first identifier. If neither the attributes of R1 nor the attributes of R2 include the first identifier, R4 determines that the configuration is incorrect and outputs an alarm. If at least one of the attributes of R1 and the attributes of R2 includes the first identifier, R4 may determine that the configuration is correct and execute S205. For the manner of outputting the alarm, please refer to the manner used by R3.

[0056] S205: R4 determines the next hop to an edge BFR included in area A10.

[0057] In one possible implementation, when the attribute of R1 or the attribute of R2 includes the first identifier, R4 determines the next hop as the device corresponding to the attribute carrying the first identifier. For example, if the attribute of R1 advertised by R1 includes the first identifier, but the attribute of R2 advertised by R2 does not include the first identifier, R4 sets the next hop to the edge BFR in area A10 as R1, the next hop included in the BIRT entry or BIFT entry obtained by R4 and corresponding to the edge BFR in area A10 is R1, and the outbound interface is the interface for communication between R4 and R1. If the attribute of R2 advertised by R2 includes the first identifier but the attribute of R1 advertised by R1 does not include the first identifier, R4 sets the next hop device to the edge BFR in area A10 as R2, the next hop included in the BIRT entry or BIFT entry acquired by R4 and corresponding to the edge BFR in area A10 is R2, and the outbound interface is the interface for communication between R4 and R2. For the method for determining the next hop by R4, please refer to any one of the aspects 1 to 5 used by R3 to determine the next hop in S203.

[0058] Optionally, after determining the next hop, R4 may obtain an entry used to forward the BIER packet, and the next hop included in the entry used to forward the BIER packet is the next hop determined by R4.

[0059] In the method provided in this embodiment of the present application, when sending a BIER multicast packet to area A10, R3 or R4 may send the multicast packet to the next hop by using the aforementioned obtained entry used to forward the BIER packet. The method of determining the next hop to the edge BFR in area A10 is flexible, and an alarm may be output if the configuration is incorrect. When the priority comparison method is used, the priority of the device with better performance may be set according to the second policy, so that the node with better performance can be determined as the next hop. When the node identifier comparison method is used, the node identifier of the device with better performance may be set according to the first policy, so that the node with better performance can be determined as the next hop. In this way, according to the method provided in this embodiment of the present application, the performance requirement of the multicast service can be further met based on the next hop with better performance, so that the forwarding efficiency is improved. EXAMPLES

[0060] EMBODIMENT 2 FIG. 3 is a schematic flow chart of a next hop determination method according to embodiment 2 of the present application. In the method shown in FIG. 3, both R3 and R4 in FIG. 1 receive the attribute from R1, the attribute from R2, and the BIER information sent by R1 and R2, and R3 or R4 determines the next hop based on the attribute of R1 and the attribute of R2. R3 or R4 uses the BIER information sent by the next hop to generate an entry used to forward the BIER packet. The entry used to forward the BIER packet may be one or more entries in the BIFT entry and the BIRT entry. The embodiment 2 of the present application is described by using an example in which the BFR prefixes of R1 and R2 are different. With reference to FIG. 1 and FIG. 3, the following describes the next hop determination method according to embodiment 2 of the present application.

[0061] S301: R1 and R2 advertise the BFR-ids of edge BFRs in area A10 using different BFR prefixes.

[0062] For example, different BFR prefixes may be configured for R1 and R2, the BFR prefix configured for R1 may be a first address, and the BFR prefix configured for R2 may be a second address. The meaning of the BFR prefix in embodiment 2 is the same as that in embodiment 1, and the details will not be described again here. The edge BFR in area A10 shown in FIG. 1 includes R11, R12, and R13. The first BIER information advertised by R1 to R3 in area A1 through IGP includes BFR-ids with values ​​of 11, 12, and 13. The attributes of R1 advertised by R1 to R3 in area A1 through IGP include a first address. The second BIER information advertised by R2 to R3 in area A1 through IGP includes BFR-ids with values ​​of 11, 12, and 13. The attributes of R2 advertised by R2 to R3 in area A1 through IGP include a second address. The BFR-id included in the first BIER information or the second BIER information may be advertised in the manner disclosed in RFC 8401 or RFC 8444, or may be carried for transmission within the BFR-id range of draft-ietf-bier-prefix-redistribute-00. The BFR prefix may be carried for transmission within the adv_bfr_prefix field.

[0063] In one possible implementation, the attributes of R1 may further include one or more of a node identifier and a second identifier used to identify a priority of R1. R2may further include one or more of the node identifier of R2 and a third identifier used to identify the priority. For the meaning of the node identifier in embodiment 2, please refer to the corresponding content in embodiment 1. The details will not be described again here. For the meaning of the identifier used to identify the priority in embodiment 2, please refer to the corresponding content in embodiment 1. The details will not be described again here. The aforementioned node identifier may be carried in an adv-router-id field for transmission. The second identifier and the third identifier may be carried in an adv-admin-tag field for transmission.

[0064] S302: R3 determines the next hop based on the received attributes of R1 and the received attributes of R2.

[0065] For example, based on the scenario of FIG. 1, R3 receives attributes from R1, attributes from R2, first BIER information from R1, and second BIER information from R2. The second BIER information received by R3 from R2 may come from one interface or multiple interfaces, among the interface for communication between R3 and R1 and the interface for communication between R3 and R4. Based on the first BIER information and the second BIER information, R3 determines that the transit BFRs to be traversed to the edge BFRs included in the area A10 include R1 and R2. R3 may determine a next hop based on the attributes of R1 and the attributes of R2. Optionally, after determining the next hop, R3 writes the next hop into the BIRT entry or BIFT entry corresponding to the edge BFR in the area A10. When R3 determines that the next hop is R2, R3 can use the method in embodiment 1 to determine the interface that can communicate with R2, and the details will not be described again here.

[0066] R3 may use any one or a combination of the following aspects to determine a device as the next hop from among R1 and R2, specifically as follows:

[0067] Aspect 1: An attribute of R1 includes a node identifier of R1, and an attribute of R2 includes a node identifier of R2. When the node identifier of R1 is different from the node identifier of R2, R3 can determine a device from among R1 and R2 as a next hop based on the node identifier of R1 and the node identifier of R2 according to a first policy. The first policy may be that a device with a larger node identifier acts as the next hop, or a device with a smaller node identifier acts as the next hop.

[0068] Aspect 2: The attributes of R1 include a node identifier and a second identifier of R1, and the attributes of R2 include a node identifier and a third identifier of R2. When the node identifier of R1 is the same as the node identifier of R2, R3 can determine a device from among R1 and R2 as a next hop based on the second identifier and the third identifier according to a second policy. The second policy may be that a device with a higher priority in the second identifier and the third identifier acts as the next hop. Alternatively, the second policy may be that a device with a lower priority in the second identifier and the third identifier acts as the next hop.

[0069] Aspect 3: The attributes of R1 include a second identifier, the attributes of R2 include a third identifier, and the priority identified by the second identifier is different from the priority identified by the third identifier, and R3 may determine a device from among R1 and R2 as the next hop according to a second policy and based on the second identifier and the third identifier.

[0070] Aspect 4: The attributes of R1 include a node identifier and a second identifier of R1, and the attributes of R2 include a node identifier and a third identifier of R2. When the priority identified by the second identifier is the same as the priority identified by the third identifier, R3 may determine a device from among R1 and R2 as a next hop according to the first policy and based on the node identifier of R1 and the node identifier of R2.

[0071] Aspect 5: The attributes of R1 include a node identifier and a second identifier of R1, and the attributes of R2 include a node identifier and a third identifier of R2. When the node identifier of R1 is the same as the node identifier of R2, and the priority identified by the second identifier is the same as the priority identified by the third identifier, R3 may determine any device from among R1 and R2 as the next hop.

[0072] Aspect 6: The attribute of R1 includes a cost value from R1 to R3, and the attribute of R2 includes a cost value from R2 to R3. R3 may determine a device from among R1 and R2 as a next hop based on the cost value from R1 to R3 and the cost value from R2 to R3 according to a fourth policy. The cost value of the route from R2 to R3 and the cost value of the route from R1 to R3 may be different. The fourth policy is to select a device with a smaller cost value as the next hop, or to select a device with a larger cost value as the next hop. When the cost value from R3 to R1 is the same as the cost value from R3 to R2, the next hop may be determined by using one or a combination of aspects 1 to 5. For aspect 6, when the cost value from R1 to R3 is different from the cost value from R2 to R3, the first BIER information may not need to carry the second identifier, and the second BIER information may not need to carry the third identifier. When the cost value from R1 to R3 is different from the cost value from R2 to R3, even if the attribute of R1 includes the node identifier of R1 and the attribute of R2 includes the node identifier of R2, R3 may not need to identify and compare the node identifiers, which may reduce the performance requirements for R3 and improve the entry retrieval efficiency.

[0073] Aspect 7: The attribute of R1 includes the BFR prefix of R1, and the attribute of R2 includes the BFR prefix of R2, and R3 may determine a device among R1 and R2 as a next hop according to a fifth policy and based on the BFR prefix of R1 and the BFR prefix of R2. The fifth policy is to select a device with a smaller BFR prefix as the next hop or to select a device with a larger BFR prefix as the next hop. For aspect 7, the attribute of R1 may not need to carry the second identifier, and the attribute of R2 may not need to carry the third identifier. Even if the attribute of R1 includes the node identifier of R1 and the attribute of R2 includes the node identifier of R2, R3 may not need to identify and compare the node identifiers.

[0074] For example, if R3 cannot determine the next hop in embodiment 6, R3 may determine the next hop in embodiment 7. Alternatively, if R3 cannot determine the next hop in embodiment 6, R3 may determine the next hop in embodiment 1. Alternatively, if R3 cannot determine the next hop in embodiment 6 and embodiment 1, R3 may determine the next hop in embodiment 2. Alternatively, if R3 cannot determine the next hop in embodiment 6, embodiment 1, and embodiment 2, R3 may determine the next hop in embodiment 7 or embodiment 5. Alternatively, if R3 cannot determine the next hop in embodiment 6, R3 may determine the next hop in embodiment 3. Alternatively, if R3 cannot determine the next hop in embodiment 6 and embodiment 3, R3 may determine the next hop in embodiment 4. Alternatively, if R3 cannot determine the next hop in embodiment 6, embodiment 3, and embodiment 4, R3 may determine the next hop in embodiment 7 or embodiment 5. The above describes the combination of the aforementioned aspects by using examples, and other combinations may be further implemented based on the aforementioned aspects, which is not limited in this embodiment of the present application.

[0075] S302: R4 determines the next hop based on the received attributes of R1 and the received attributes of R2.

[0076] For example, based on the scenario of FIG. 1, R4 receives the first BIER information from R1, the second BIER information from R2, and R4 further receives the attribute of R1 and the attribute of R2. Based on the first BIER information and the second BIER information, R4 determines that the transit BFR to be traversed to the edge BFR included in the area A10 includes R1 and R2. R4 may determine the next hop by using the same method as that used by R3, and the details are not described again here. Optionally, after determining the next hop, R4 writes the next hop into the BIRT entry or BIFT entry corresponding to the edge BFR in the area A10.

[0077] In the method provided in this embodiment of the present application, when sending a multicast packet to area A10, R3 or R4 may send the multicast packet to the next hop by using the aforementioned obtained entry used to forward the BIER packet. The method of determining the next hop to the edge BFR in area A10 is flexible and can output an alarm if the configuration is incorrect. When the priority comparison method is used, the priority of the device with better performance may be set according to the second policy so that the node with better performance can be determined as the next hop. When the node identifier comparison method is used, the node identifier of the device with better performance may be set according to the first policy so that the node with better performance can be determined as the next hop. In this way, according to the method provided in this embodiment of the present application, the performance requirement of the multicast service can be further met based on the next hop with better performance, thereby improving the forwarding efficiency. EXAMPLES

[0078] EMBODIMENT 3 In embodiment 3, after the adv-admin-tag is configured, the BIRT and BIFT of the BFR-id are determined based on the adv-admin-tag in multiple messages. With reference to the scenario shown in Figure 1, the following describes the configuration and processing method of related devices.

[0079] 1. Perform the following configuration on R1: #Interfaces 1_to_2, 1_to_3, 1_to_4 run in isis process 1; isis 1 interface 1_to_3 interface 1_to_2 interface 1_to_4 interface loopback 1 2001:1:1:1::10 / 128 #Interfaces 1_to_11, 1_to_21 run in isis process 2; isis 2 interface 1_to_11 interface 1_to_21 interface loopback 2 2001:1:1:1:20 / 128 #BIER composition bier --Subdomain 1 ----BFR-id 1 ----bfr-prefix interface loopback 1[advertise-policy ply_1] ----bfr-prefix interface loopback 2[advertise-policy ply_2] ## Define the BFR-id range and policy to be advertised to isis process 1; advertise-policy ply_1 --import BFR-id-range 11 to 13 --import BFR-id-range 21 to 23 ## Define BFR-id range and policy to be advertised to isis process 2; advertise-policy ply_2 --import BFR id-range 3 to 5

[0080] For example, R1 advertises the first BIER information with BFR-id 11, 12, 13, 21, 22, 23 to the isis 1 process (corresponding to area A1) by using the BFR-id range sub-TLV. R1 further advertises information about the local node with BFR-id 1 to the isis 1 process by using the BIER-info sub-TLV defined in RFC8401. The previous information advertised by R1 to the isis 1 process uses the IP address of loopback 1, 2001:1:1:1::10, as the BFR-prefix. Figure 4 shows an example where the IS-IS message sent by R1 carries the BFR-id range sub-TLV and both sub-TLVs exist as sub-TLVs of the ISIS Prefix TLV (one of the TLV types 135, 235, 236, and 237), where the BFR-id range sub-TLV may be the BIER proxy range sub-TLV defined in draft-ietf-bier-prefix-redistribute-00.

[0081] The packet format shown in Figure 4 can be another example where the IS-IS message sent by R1 carries the BFR-id range sub-TLV. The BFR-id range sub-TLV exists as a sub-TLV of the ISIS prefix TLV (TLV type is one of 135, 235, 236, and 237). The BFR-id range sub-TLV in the message advertised by router R1 contains the BFR-id range of 11, 12, 13, 21, 22, 23, and the BFR-id range sub-TLV may be obtained by modifying the BIER proxy range sub-TLV defined in draft-ietf-bier-prefix-redistribute-00. Similarly, R1 advertises the information that the BFR-id is 3, 4, or 5 to the isis 2 process (corresponding to areas A10 and A20) by using the BFR-id range sub-TLV. R1 further advertises information about the local node with BFR-id=1 to the isis 2 process by using the BIER-info sub-TLV defined in RFC 8401. The previous information advertised by R1 to the isis 2 process uses the IP address of loopback 2, 2001:1:1:1::20, as the BFR-prefix.

[0082] 2. Perform the following configuration on R2: #Interfaces 2_to_4 and 2_to_1 run in isis process 1. isis 1 interface 2_to_4 interface 2_to_1 interface loopback 1 2001:2:2:2:10 / 128 #Interface 1_to_13,1_to_23 run in isis process 2. isis 2 interface 2_to_13 interface 2_to_23 interface loopback 2 2001:2:2:20 / 128 #BIERConfiguration; bier Sub-domain 1 ---BFR-id 1 ---bfr-prefix interface loopback 1 [advertise-policy ply_1] ---bfr-prefix interface loopback 2 [advertise-policy ply_2] ##Define BFR-id range and policy to be advertised to isis process 1; advertise-policy ply_1 --import BFR-id-range 11 to 13 --import BFR-id-range 21 to 23 ##Define BFR-id range and policy to be advertised to isis process 2; advertise-policy ply_2 --import BFR-id-range 3 through 5

[0083] For example, R2 advertises BFR-ids 11, 12, 13, 21, 22, and 23 to the isis 1 process (corresponding to area A1) by using the BFR-id range sub-TLV. R2 further advertises the local node's BFR-id=2 information to the isis 1 process by using the BIER-info sub-TLV defined in RFC8401. The preceding information advertised by R2 to the isis 1 process uses the IP address of loopback 1, 2001:2:2:2::10, as the BFR-prefix. Similarly, R2 advertises BFR-ids 3, 4, and 5 to the isis 2 process (corresponding to areas A10 and A20) by using the BFR-id range sub-TLV. R2 further advertises the local node's BFR-id=2 information to the isis 2 process by using the BIER-info sub-TLV defined in RFC8401. The preceding information advertised by R2 to the isis 2 process uses the IP address of loopback 2, 2001:2:2:2::20, as the BFR-prefix. The packet format used by R2 may be the packet format shown in Figure 4, and the details will not be described again here.

[0084] 3. Area A1 For the method of establishing the next hop to BFR-id 11, 12, 13, 21, 22, and 23 by the routers in, please refer to the method in embodiment 1 or embodiment 2. The details will not be described again here. EXAMPLES

[0085] EMBODIMENT 4 Embodiment 4 is a method for identifying a BFR-id. BIRT It will be explained that the next hop included in the BIFT is determined based on the adv-admin-tag in multiple messages by configuring the adv-admin-tag. Hereinafter, the configuration in the fourth embodiment will be explained with reference to the scenario shown in FIG.

[0086] 1. Perform the following configuration on R1: #Interfaces 1_to_2, 1_to_3, and 1_to_4 run in isis process 1. isis 1 interface 1_to_3 interface 1_to_2 interface 1_to_4 interface loopback 2001:1:1:1::10 / 128 #Interfaces 1_to_11 and 1_to_21 run in isis process 2. isis 2 interface 1_to_11 interface 1_to_21 interface loopback 2 2001:1:1:20 / 128 #BIER composition bier --Subdomain 1 ----BFR-id 1 ----bfr-prefix interface loopback 1[advertise-policy ply_1] ----bfr-prefix interface loopback 2[advertise-policy ply_2] ## Define the BFR-id range and policy to be advertised to isis process 1; advertise-policy ply_1 --apply administrative-tag 1 --import BFR-id-range 11 to 13 --import BFR-id-range 21 to 23 ## Define BFR-id range and policy to be advertised to isis process 2; advertise-policy ply_2 --apply administrative-tag 1 --import BFR-id-range 3 through 5

[0087] For example, R1 advertises BFR-ids 11, 12, 13, 21, 22, and 23 to the isis 1 process (corresponding to area A1) and carries the administrative-tag with value 1 by using the BFR-id range sub-TLV. R1 further advertises the local node's BFR-id=1 information to the isis 1 process by using the BIER-info sub-TLV defined in RFC8401. The preceding information advertised by R1 to the isis 1 process uses the IP address of loopback 1, 2001:1:1:1::10, as the BFR-prefix. Figure 5 shows an example of an IS-IS message sent by R1 carrying the administrative-tag and BFR-id range sub-TLVs. All the aforementioned parameters are present as sub-TLVs of the ISIS prefix TLV (whose TLV type is one of 135, 235, 236, and 237). The administrative-tag value is the BFR-id contained in the BFR-id Range sub-TLV. Ward For example, in the BFR-id range sub-TLV in the message advertised by R1, the BFR-ids are 11, 12, 13, 21, 22, and 23, and the administrative-tag value is 1. The BFR-id range sub-TLV may be obtained by modifying the BIER proxy range sub-TLV defined in draft-ietf-bier-prefix-redistribute-00.

[0088] figure 6shows another example where an IS-IS message sent by R1 carries an administrative-tag and a BFR-id range sub-TLV. The BFR-id range sub-TLV exists as a sub-TLV of the ISIS Prefix TLV (TLV type is one of 135, 235, 236, 237), and the administrative-tag value is defined in the BFR-id range sub-TLV. In the message advertised by R1, the BFR-id range sub-TLV contains the BFR-id ranges 11, 12, 13, 21, 22, 23, and the administrative-tag value is 1. One ISIS prefix TLV contains two BFR-id range sub-TLVs. Each BFR-id range sub-TLV contains an administrative tag and a (BFR-id, BFR-id range) element group. The BFR-id range sub-TLV may be obtained by modifying the BIER proxy range sub-TLV defined in draft-ietf-bier-prefix-redistribute-00. Alternatively, one ISIS prefix TLV may contain one BFR-id range sub-TLV, which contains one administrative tag and two (BFR-id, BFR-id range) element groups as shown in Figure 6.

[0089] Similarly, R1 advertises information with BFR-id 3, 4, or 5 to isis 2 process (corresponding to areas A10 and A20) and carries administrative-tag with value 1 by using BFR-id range sub-TLV. R1 further advertises local node's BFR-id=1 information to isis 2 process by using BIER-info sub-TLV defined in RFC8401. The preceding information advertised by R1 to isis 2 process uses loopback 2's IP address 2001:1:1:1::20 as BFR-prefix.

[0090] 2. Perform the following configuration on R2: #Interfaces 2_to_4, 2_to_1 run in isis process 1; isis 1 interface 2_to_4 interface 2_to_1 interface loopback 1 2001:2:2:2::10 / 128 #interface 1_to_13, 1_to_23 run in isis process 2; isis 2 interface 2_to_13 interface 2_to_23 interface loopback 2 2001:2:2:2::20 / 128 #BIERConfiguration; bier --Subdomain 1 ----BFR-id 1 ----bfr-prefix interface loopback 1[advertise-policy ply_1] ----bfr-prefix interface loopback 2[advertise-policy ply_2] ## Define the BFR-id range and policy to be advertised to isis process 1; advertise-policy ply_1 --apply administrative-tag 2 --import BFR-id-range 11 to 13 --import BFR-id-range 21 to 23 ##Define BFR-id range and policy to be advertised to isis process 2; advertise-policy ply_2 --apply administrative-tag 2 --import BFR-id-range 3 through 5

[0091] For example, R2 advertises BFR-ids 11, 12, 13, 21, 22, and 23 to isis 1 process (corresponding to area A1) and carries an administrative-tag with value 2 by using the BFR-id range sub-TLV. R2 further advertises local node BFR-id=2 to isis process 1 by using the BIER-info sub-TLV defined in RFC8401. The preceding information advertised by R2 to isis process 1 uses loopback 1's IP address 2001:2:2:2::10 as the BFR-prefix. Similarly, R2 advertises BFR-ids 3, 4, and 5 to isis 2 process (corresponding to areas A10 and A20) and carries an administrative-tag with value 2 by using the BFR-id range sub-TLV. R2 further advertises the local node's BFR-id=2 information to isis process 2 using the BIER-info sub-TLV defined in RFC8401. The preceding information advertised by R2 to isis 2 process uses the IP address of loopback 2, 2001:2:2:2::20, as the BFR-prefix. Alternatively, R2 may publish the second BIER information and R2's attributes by using the packet format of Figure 5 or Figure 6. The details will not be described again here.

[0092] 3. Area A1 The routers in establish next-hop routes and forwarding information to BFR-ids 11, 12, 13, 21, 22, and 23. For details, please refer to the corresponding contents in embodiment 1 or embodiment 2. The details will not be described again here. EXAMPLES

[0093] EMBODIMENT 5 In embodiment 5, by configuring anycast BFR-prefix and configuring the same BIER encapsulation related information, the BIRT and BIFT of the BFR-id are determined based on the route to the BFR-prefix. In this embodiment, neither R1 nor R2 is configured with a valid BFR-id value (the BFR-id value put in the BIER info sub-TLV is an invalid value 0). With reference to the scenario shown in Figure 1, the following describes the configuration method.

[0094] 1. Perform the following configuration on R1: #Interfaces 1_to_2, 1_to_3, and 1_to_4 run in isis process 1. isis 1 interface 1_to_3 interface 1_to_2 interface 1_to_4 interface loopback 1 2001:1:1:1::AAAA anycast #Interfaces 1_to_11 and 1_to_21 run in isis process 2 isis 2 interface 1_to_11 interface 1_to_21 interface loopback 2 2001:1:1:1::BBBB anycast #BIER composition bier --Subdomain 1 ----end-bier sid 2001:1:1:1::AB37 anycast ----bift-id 200001 anycast ----bfr-prefix interface loopback 1[advertise-policy ply_1] ----bfr-prefix interface loopback 2[advertise-policy ply_2] ##Define BFR-id range and policy to be advertised to isis process 1; advertise-policy ply_1 Apply --anycast-flag --Import BFR id range 11 to 13 --Import BFR id range 21 to 23 ## Define BFR-id range and policy to be advertised to isis process 2; advertise-policy ply_2 Apply --anycast-flag --import BFR-id-range 3 through 5

[0095] The meaning of some of the configurations is as follows:

[0096] Interface loopback 1 2001:1:1:1::AAAA anycast indicates that the configured IPv6 address is an anycast address and will be used as a BFR-prefix for advertising BIER information.

[0097] Interface loopback 2 2001:1:1:1::BBBB anycast indicates that the configured IPv6 address is an anycast address and will be used as the BFR-prefix for advertising BIER information.

[0098] end-bier sid 2001:1:1:1::AB37 anycast indicates that the encapsulation information used to forward the BIER packet is anycast information, where end-bier is the BIER encapsulation information used for BIERv6 encapsulation.

[0099] bift-id 200001 anycast indicates that the encapsulation information used to forward the BIER packet is anycast information. In this example, bift-id is the BIER packet encapsulation information used for BIERv6 / BIER-MPLS encapsulation. When used for BIER-MPLS encapsulation, the bift-id value is an MPLS label. To support the anycast method in this solution, the same MPLS label needs to be manually configured for R1 and R2, i.e., the same bift-id value is configured. For non-MPLS encapsulation or BIERv6 encapsulation, the value of bift-id can be automatically generated based on the BIER subdomain-id, BitStringLength ID (BSL), and Set Identifier (SI). The values ​​generated for R1 and R2 according to the same rules are the same. Therefore, no additional configuration is required.

[0100] "apply anycast-flag" indicates that the anycast flag is carried when the BIER information is advertised.

[0101] For example, R1 advertises BFR-ids 11, 12, 13, 21, 22, and 23 to isis process 1 (corresponding to area A1) and carries the anycast flag by using the BFR-id range sub-TLV. R1 also advertises the local node's BFR-id=0 information to isis process 1 using the BIER-info sub-TLV defined in RFC8401. The preceding information advertised by R1 to isis process 1 uses the IP address of loopback 1, 2001:1:1:1::AAAA, as the BFR prefix. Figure 7 shows an example of an IS-IS message sent by R1 carrying the anycast flag and the BFR-id range sub-TLV, all of which are present as sub-TLVs of the ISIS prefix TLV (TLV type is one of 135, 235, 236, and 237) as shown in Figure 7. The anycast flag is carried in the anycast flag bit (fourth bit in the sub-TLV flag bits field) defined by draft-ietf-lsr-isis-srv6-extensions-11 based on the Prefix Attribute Flags sub-TLV in RFC 7794. The flag bit is used in this solution to advertise BIER information and correspondingly establish BIER route and BIER forwarding information.

[0102] 2. Perform the following configuration on R2: #Interfaces 1_to_2, 1_to_3, 1_to_4 run in isis process 1; isis 1 interface 2_to_4 interface 2_to_1 interface loopback 1 2001:1:1:1::AAAA anycast #Interfaces 1_to_11, 1_to_21 run in isis process 2; isis 2 interface 2_to_13 interface 2_to_23 interface loopback2 2001:1:1:1::BBBB anycast #BIER composition bier --Subdomain 1 ----end-bier sid 2001:1:1:1::AB37 anycast ----bift-id 200001 anycast ----bfr-prefix interface loopback1[advertise-policy ply_1] ----bfr-prefix interface loopback2[advertise-policy ply_2] ## Define the BFR-id range and policy to be advertised to isis process 1; advertise-policy ply_1 Apply --anycast-flag --Import BFR id range 11 to 13 --Import BFR id range 21 to 23 ##Define BFR-id range and policy to be advertised to isis process 2; advertise-policy ply_2 Apply --anycast-flag --import BFR-id-range 3 through 5

[0103] The meaning of the related constructs is similar to that of R1 and will not be explained.

[0104] In response, R2 advertises BFR-ids 11, 12, 13, 21, 22, and 23 to isis process 1 (corresponding to area A1) and carries the anycast flag by using the BFR-id range sub-TLV. R2 also advertises the local node's BFR-id=0 information to isis process 1 using the BIER-info sub-TLV defined in RFC8401. The preceding information advertised by R2 to isis process 1 uses the IP address of loopback 1, 2001:1:1:1::AAAA, as the BFR-prefix, which is the same as the BFR-prefix used by R1. R3, R4, and R5 receive the information advertised by R1 and R2. For BFR-id=11, R1 and R2 use the same BFR-prefix and carry the anycast flag. Therefore, R3, R4, and R5 establish their forwarding tables for BFR-id=11 as follows: The next hop for BFR-prefix=2001:1:1:1::AAAA is the next hop in the routing and forwarding tables for BFR-id=11.

[0105] 8 shows a next hop determining apparatus according to an embodiment of the present application. The apparatus 800 may be disposed in an edge BFR, such as R3, R4, or R5, except for R1 and R2, in the area A1 in any one of the embodiments 1 to 5. The first device referred to in this embodiment of the present application may be R1 in any one of the embodiments 1 to 5, and the second device may be R2 in any one of the embodiments 1 to 5. The apparatus 800 is disposed in a BIER domain based on bit index forwarding routing, and includes an obtaining unit 801 and a determining unit 802.

[0106] For example, the acquiring unit 801 is configured to acquire first BIER information of the first device, attributes of the first device, second BIER information of the second device, and attributes of the second device, where the first BIER information includes a bit forwarding router identifier BFR-id of an edge bit forwarding router BFR in a sub-domain, and the second BIER information includes the BFR-id of the edge BFR in the sub-domain. The determining unit 802 is configured to determine a next hop to the edge BFR in the sub-domain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device.

[0107] In one possible implementation, the attribute of the first device and the attribute of the second device include a first identifier, and the first identifier is used to identify an anycast BFR prefix; the apparatus further includes an identification unit, which is configured to: determine a next hop to an edge BFR in the subdomain if the first BIER information is the same as the second BIER information and the attribute of the first device and the attribute of the second device include the first identifier.

[0108] In one possible implementation, the attribute of the first device or the attribute of the second device includes a first identifier, and the first identifier is used to identify an anycast BFR prefix; the determining unit 802 is specifically configured to: determine a device whose attribute includes the first identifier as a next hop if the first BIER information is the same as the second BIER information.

[0109] In one possible implementation, the apparatus further includes an output unit, which is configured to output an alarm when the first BFR information is the same as the second BIER information and neither the attribute of the first device nor the attribute of the second device includes the first identifier.

[0110] In one possible implementation, the attributes of the first device further include a node identifier of the first device, and the attributes of the second device include a node identifier of the second device, and the determining unit 802 is specifically configured to: when the first BIER information is the same as the second BIER information, determine one of the first device and the second device as a next hop according to a first policy and based on the node identifier of the first device and the node identifier of the second device, where the first policy includes using a device with a larger node identifier as the next hop or using a device with a smaller node identifier as the next hop.

[0111] In one possible implementation, the attributes of the first device further include a second identifier, the attributes of the second device further include a third identifier, the second identifier is used to identify a priority of the first device, and the third identifier is used to identify a priority of the second device, and the determining unit 802 is specifically configured to: determine one of the first device and the second device as a next hop according to a second policy and based on the second identifier and the third identifier when the first BIER information is the same as the second BIER information, and the second policy includes using a device with a higher priority as the next hop or using a device with a lower priority as the next hop.

[0112] In one possible implementation, the attributes of the first device include a BFR prefix of the first device, the attributes of the second device include a BFR prefix of the second device, and the BFR prefix of the first device is different from the BFR prefix of the second device; and the determining unit 802 is specifically configured to: determine one of the first device and the second device as a next hop based on a cost value of the first link and a cost value of the second link according to a third policy when the first BIER information is the same as the second BIER information, the third policy including using a peer device of a link with a smaller cost value as the next hop or using a peer device of a link with a larger cost value as the next hop, the first link is a link from the third device to the first device, and the second link is a link from the third device to the second device.

[0113] In one possible implementation, the attributes of the first device include a BFR prefix of the first device, the attributes of the second device include a BFR prefix of the second device, and the BFR prefix of the first device is different from the BFR prefix of the second device, and the determining unit 802 is specifically configured to: when the first BIER information is the same as the second BIER information, determine one of the first device and the second device as a next hop according to a fourth policy and based on the BFR prefix of the first device and the BFR prefix of the second device, and the fourth policy includes using a device with a smaller BFR prefix as the next hop or using a device with a larger BFR prefix as the next hop.

[0114] In one possible implementation, the attributes of the first device include a BFR prefix of the first device and a node identifier of the first device, the attributes of the second device include a BFR prefix of the second device and a node identifier of the second device, and the BFR prefix of the first device is different from the BFR prefix of the second device, and the determining unit 802 is specifically configured to: determine one of the first device and the second device as a next hop according to a first policy and based on the node identifier of the first device and the node identifier of the second node when the first BIER information is the same as the second BIER information, and the first policy includes using a device with a larger node identifier as the next hop or using a device with a smaller node identifier as the next hop.

[0115] In one possible implementation, the attributes of the first device include a BFR prefix and a second identifier of the first device, the attributes of the second device include a BFR prefix and a third identifier of the second device, the second identifier is used to identify a priority of the first device, the third identifier is used to identify a priority of the second device, and the BFR prefix of the first device is different from the BFR prefix of the second device, and the determining unit 802 is specifically configured to: determine one of the first device and the second device as a next hop according to a second policy and based on the second identifier and the third identifier when the first BIER information is the same as the second BIER information, and the second policy includes using a device with a higher priority as the next hop or using a device with a lower priority as the next hop.

[0116] FIG. 9 is a schematic diagram of a structure of a next hop determination device according to an embodiment of the present application. The next hop determination device 900 provided in the embodiment corresponding to FIG. 10 may be the next hop determination device 800 provided in the embodiment corresponding to FIG. 8. The next hop determination device 900 provided in the embodiment corresponding to FIG. 9 is described in terms of a hardware structure. The next hop determination device 900 includes a processor 901, a memory 902, a communication bus 904, and a communication interface 903. The processor 901, the memory 902, and the communication interface 903 are connected through the communication bus 904. The memory 902 is configured to store a program. When the device 900 is disposed in R3 or R4 described in any one of the first to fifth embodiments, the processor 901 executes the method performed in any one of the first to fifth embodiments by using R3 or R4 according to the executable instructions included in the program read from the memory 902.

[0117] An embodiment of the present application provides a system. The system includes a next hop determination device 800. The next hop determination device 800 may be configured to perform the method performed by R3 or R4 mentioned in any one of the first to fifth embodiments.

[0118] An embodiment of the present application provides a chip. The chip includes a memory chip as shown in FIG. 902 and a processor 901. The memory 902 is configured to store computer instructions. The processor 901 is configured to retrieve computer instructions from the memory 902 and execute the computer instructions to execute the method performed by R3 or R4 described in any one of the first to fifth embodiments. The chip provided in this embodiment of the present application may be disposed on the forwarding hardware, or the forwarding circuit included in the forwarding hardware is integrated into the chip provided in the embodiment of the present application.

[0119] In the specification, claims, and accompanying drawings of this application, the terms "first," "second," "third," "fourth," etc. are intended to distinguish between similar objects and do not necessarily indicate a particular sequence or order. It should be understood that such designated data are interchangeable in appropriate circumstances, and thus the embodiments described herein may be implemented in other orders than those illustrated or described herein. In addition, the terms "comprise," "have," and any other variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a list of steps or units is not necessarily limited to the steps or units explicitly listed, and may include other steps or units that are not explicitly listed or that are inherent to the process, method, product, or device.

[0120] As used herein, "at least one item" means one or more, and "multiple" means two or more. At least one of the following items or similar expressions refers to any combination of these items, including any combination of singular items or multiple items. For example, at least one of a, b, or c can represent a, b, c, a and b, a and c, b and c, or a, b and c, where a, b, and c can be singular or plural. As used herein, "A and / or B" is considered to include A only, B only, and A and B.

[0121] For the purpose of convenient and concise description, the detailed operation processes of the aforementioned systems, apparatuses, and units may be clearly understood by those skilled in the art to refer to the corresponding processes in the aforementioned method embodiments, and details will not be described here.

[0122] In some embodiments provided in the present application, it should be understood that the disclosed system, device, and method may be implemented in other ways. For example, the described device embodiment is merely an example. For example, the division into units is merely a logical modular division, and may be other divisions in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. Indirect couplings or communication connections between devices or units may be implemented electronically, mechanically, or in other ways.

[0123] The units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, and may be located in one location or distributed over multiple network units. Some or all of the units may be obtained based on the actual requirements to achieve the objectives of the solutions of the embodiments.

[0124] In addition, the module units in the embodiments of the present application may be integrated into one processing unit, each of the units may exist physically alone, or two or more units may be integrated into one unit. The integrated unit may be implemented in the form of hardware or in the form of a software module unit.

[0125] When the integrated unit is implemented in the form of a software module unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present application may be essentially, or the part that contributes to the prior art, or all or part of the technical solution may be implemented in the form of a software product. The computer software product is stored in a storage medium and includes some instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method described in the embodiments of the present application. The storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0126] Those skilled in the art should recognize that the functions described in the present invention in one or more of the above examples may be implemented by hardware, software, firmware, or any combination thereof. When the functions are implemented by software, the functions may be stored on a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, and communication media includes any medium that allows a computer program to be transmitted from one place to another. Storage media may be any available medium accessible to a general-purpose or special-purpose computer.

[0127] The objectives, technical solutions and beneficial effects of the present invention will be described in more detail in the above specific implementations. It should be understood that the above description is merely a specific implementation of the present invention.

[0128] The above embodiments are only intended to describe the technical solutions of the present application, rather than limiting the present application. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that, without departing from the scope of the technical solutions of the embodiments of the present application, they may make modifications to the technical solutions described in the above embodiments, or make equivalent substitutions to some technical features thereof.

Claims

1. A next hop determination method, the method being applied to a bit-indexed explicit replication (BIER) domain based on bit-indexed forwarding routing, comprising: acquiring, by a third device, first BIER information of a first device, attributes of the first device, second BIER information of a second device, and attributes of the second device, the first BIER information including a bit forwarding router identifier (BFR-id) of an edge bit forwarding router (BFR) in a sub-domain, and the second BIER information including the BFR-id of the edge BFR in the sub-domain; determining, by the third device, a next hop to the edge BFR in the sub-domain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device; The attribute of the first device and the attribute of the second device include a first identifier, the first identifier being used to identify an anycast BFR prefix; the method further comprising: determining, by the third device, a next hop to the edge BFR in the sub-domain if the first BIER information is the same as the second BIER information and the attributes of the first device and the attributes of the second device include the first identifier; method.

2. A next hop determination method, the method being applied to a bit-indexed explicit replication (BIER) domain based on bit-indexed forwarding routing, comprising: acquiring, by a third device, first BIER information of a first device, attributes of the first device, second BIER information of a second device, and attributes of the second device, the first BIER information including a bit forwarding router identifier (BFR-id) of an edge bit forwarding router (BFR) in a sub-domain, and the second BIER information including the BFR-id of the edge BFR in the sub-domain; determining, by the third device, a next hop to the edge BFR in the sub-domain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device; The attribute of the first device or the attribute of the second device includes a first identifier, the first identifier is used to identify an anycast BFR prefix, and the step of determining, by the third device, a next hop to the edge BFR in the sub-domain based on the first BIER information, the second BIER information, the attribute of the first device, and the attribute of the second device includes: and if the first BIER information is the same as the second BIER information, determining, by the third device, as a next hop, a device whose attribute includes the first identifier. method.

3. The method further comprises: outputting an alarm by the third device when the first BIER information is the same as the second BIER information and neither the attribute of the first device nor the attribute of the second device includes a first identifier, the first identifier being used to identify an anycast BFR prefix. The method of claim 1.

4. The attributes of the first device further include a node identifier of the first device, and the attributes of the second device include a node identifier of the second device, and the step of determining, by the third device, a next hop to the edge BFR in the sub-domain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device includes: if the first BIER information is the same as the second BIER information, determining, by the third device, one of the first device and the second device as a next hop according to a first policy and based on a node identifier of the first device and a node identifier of the second device, the first policy including using a device with a larger node identifier as the next hop or using a device with a smaller node identifier as the next hop; The method of claim 1.

5. The attributes of the first device further include a second identifier, the attributes of the second device further include a third identifier, the second identifier is used to identify a priority of the first device, and the third identifier is used to identify a priority of the second device, and the step of determining, by the third device, a next hop to the edge BFR in the sub-domain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device includes: determining, by the third device, one of the first device and the second device as a next hop according to a second policy and based on the second identifier and the third identifier if the first BIER information is the same as the second BIER information, wherein the second policy includes using a device with a higher priority as the next hop or using a device with a lower priority as the next hop; The method of claim 1.

6. A next hop determination apparatus, the apparatus being applied in a bit-indexed explicit replication (BIER) domain based on bit-indexed forwarding routing, comprising: an acquiring unit configured to acquire first BIER information of a first device, an attribute of the first device, second BIER information of a second device, and an attribute of the second device, the first BIER information including a bit forwarding router identifier (BFR-id) of an edge bit forwarding router (BFR) in a sub-domain, and the second BIER information including the BFR-id of the edge BFR in the sub-domain; and a determination unit configured to determine a next hop to the edge BFR in the sub-domain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device, The first device attribute and the second device attribute include a first identifier, the first identifier being used to identify an anycast BFR prefix; the apparatus further comprises: and an identification unit configured to determine a next hop to the edge BFR in the sub-domain when the first BIER information is the same as the second BIER information and the attribute of the first device and the attribute of the second device include the first identifier. Device.

7. A next hop determination apparatus, the apparatus being applied in a bit-indexed explicit replication (BIER) domain based on bit-indexed forwarding routing, comprising: an acquiring unit configured to acquire first BIER information of a first device, an attribute of the first device, second BIER information of a second device, and an attribute of the second device, the first BIER information including a bit forwarding router identifier (BFR-id) of an edge bit forwarding router (BFR) in a sub-domain, and the second BIER information including the BFR-id of the edge BFR in the sub-domain; and a determination unit configured to determine a next hop to the edge BFR in the sub-domain based on the first BIER information, the second BIER information, the attributes of the first device, and the attributes of the second device, The attribute of the first device or the attribute of the second device includes a first identifier, and the first identifier is used to identify an anycast BFR prefix, and the determining unit specifically: configured to determine that a device whose attribute includes the first identifier is a next hop if the first BIER information is the same as the second BIER information; Device.

8. The apparatus further comprises: an output unit configured to output an alarm if the first BIER information is the same as the second BIER information and neither the attribute of the first device nor the attribute of the second device includes the first identifier.

7. The apparatus of claim 6.

9. The attribute of the first device further includes a node identifier of the first device, and the attribute of the second device includes a node identifier of the second device, and the determining unit specifically: configured to determine one of the first device and the second device as a next hop according to a first policy and based on a node identifier of the first device and a node identifier of the second device if the first BIER information is the same as the second BIER information, the first policy including using a device with a larger node identifier as the next hop or using a device with a smaller node identifier as the next hop; 7. The apparatus of claim 6.

10. The attributes of the first device further include a second identifier, and the attributes of the second device further include a third identifier, the second identifier is used to identify a priority of the first device, and the third identifier is used to identify a priority of the second device, and the determining unit specifically: configured to determine one of the first device and the second device as a next hop according to a second policy and based on the second identifier and the third identifier if the first BIER information is the same as the second BIER information, the second policy including using a device with a higher priority as the next hop or using a device with a lower priority as the next hop; 7. The apparatus of claim 6.

Citation Information

Patent Citations

  • Next hop determining method and device

    CN106506367A

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

    CN110784411A