Message forwarding method, network equipment and computer readable medium

By identifying and forwarding target service packets in the TE ECMP group and using dedicated member tunnels to ensure exclusive paths for important services, the problem of quality of service assurance for important services in the TE ECMP group is solved, and efficient load balancing and resource utilization are achieved.

CN121967307APending Publication Date: 2026-05-01ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZTE CORP
Filing Date
2024-10-31
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In the TE ECMP group, ordinary services and critical services share forwarding resources, which cannot effectively guarantee the service quality of critical services. Existing technologies are insufficient to achieve accurate forwarding and dedicated paths for critical services.

Method used

By identifying the target service message that matches the message information of the target service from the service messages to be forwarded, and forwarding it through the dedicated member tunnel in the tunnel group, we ensure that important services have exclusive access to the dedicated member tunnel, and use a hash algorithm to process other services to achieve load balancing.

Benefits of technology

It improved the transmission efficiency and security of target services, maximized the service quality of important services, and avoided network congestion and resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121967307A_ABST
    Figure CN121967307A_ABST
Patent Text Reader

Abstract

The invention provides a message forwarding method. The method comprises the following steps: receiving a service message to be forwarded; determining a target service message matched with the message information of the target service from the service messages to be forwarded; and forwarding the target service message through the special member tunnel in the tunnel group. The invention further provides network equipment and a computer readable medium.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of communication technology, and in particular to a message forwarding method, network device, and computer-readable medium. Background Technology

[0002] In Traffic Engineering (TE) networks, Equal-Cost Multipath Routing (ECMP) technology binds multiple TE tunnels with the same overhead into a TE ECMP group. When service traffic packets arrive at the network, a hash algorithm determines which TE tunnel in the TE ECMP group the packet should be forwarded through. This allows for load balancing of service traffic across multiple TE tunnels during packet forwarding, preventing overload in a single tunnel. Within a TE ECMP group, various services share forwarding resources; therefore, ensuring the Quality of Service (QoS) of critical services is a crucial technical challenge that needs to be addressed. Summary of the Invention

[0003] This disclosure provides a message forwarding method, a network device, and a computer-readable medium.

[0004] In a first aspect, embodiments of this disclosure provide a message forwarding method, the method comprising: receiving a service message to be forwarded; determining a target service message from the service message to be forwarded that matches the message information of the target service; and forwarding the target service message through a dedicated member tunnel in a tunnel group.

[0005] In a second aspect, embodiments of this disclosure provide a network device, which includes: a memory and a processor; the memory stores a computer program that can be executed by the processor, and when the computer program is executed by the processor, it implements the first aspect and any possible embodiments thereof.

[0006] Thirdly, embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the first aspect and any possible embodiments thereof.

[0007] In this embodiment of the disclosure, upon receiving a service packet to be forwarded, a target service packet matching the packet information of the target service can be determined from the service packets to be forwarded. This target service packet is then forwarded through a dedicated member tunnel in the tunnel group. In this way, by accurately matching the target service packet from the service packets to be forwarded using the packet information of the target service, and forwarding the target service packet using a dedicated member tunnel in the tunnel group, the target service packet can be ensured to have exclusive access to the dedicated member tunnel. This allows for better control and management of the target service's traffic, improves the transmission efficiency and security of the target service, and ultimately maximizes the quality of service for the target service. Attached Figure Description

[0008] In the accompanying drawings of the embodiments disclosed herein:

[0009] Figure 1 A schematic diagram of a network architecture provided in this disclosure embodiment;

[0010] Figure 2 This is a schematic diagram of an application scenario provided by an embodiment of the present disclosure;

[0011] Figure 3 A flowchart of a message forwarding method provided in this disclosure embodiment;

[0012] Figure 4 This is a schematic diagram illustrating another application scenario provided by an embodiment of the present disclosure;

[0013] Figure 5 This is a schematic diagram illustrating another application scenario provided by an embodiment of the present disclosure;

[0014] Figure 6 This is a schematic diagram illustrating another application scenario provided by an embodiment of the present disclosure;

[0015] Figure 7 This is a schematic diagram of a network device structure provided in an embodiment of the present disclosure. Detailed Implementation

[0016] To enable those skilled in the art to better understand the technical solutions of this disclosure, the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.

[0017] The present disclosure will be described more fully below with reference to the accompanying drawings; however, the embodiments shown may be embodied in different forms, and the present disclosure should not be construed as limited to the embodiments set forth below. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will enable those skilled in the art to fully understand the scope of the disclosure.

[0018] The accompanying drawings of the embodiments disclosed herein are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the detailed embodiments to explain this disclosure and do not constitute a limitation thereof. The above and other features and advantages will become more apparent to those skilled in the art from the description of the detailed embodiments with reference to the accompanying drawings.

[0019] Where there is no conflict, the various embodiments of this disclosure and the features thereof in the embodiments may be combined with each other.

[0020] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. The term "and / or" as used in this disclosure includes any and all combinations of one or more of the associated enumerated entries. The singular forms "a" and "the" as used in this disclosure are also intended to include the plural forms, unless the context clearly indicates otherwise. The terms "comprising," "made of," etc., as used in this disclosure specify the presence of the stated feature, integral, step, operation, element, and / or component, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof.

[0021] In the description of this disclosure, the words “first”, “second”, etc., are used only for the purpose of distinguishing the description and should not be construed as indicating or implying relative importance or order.

[0022] Unless otherwise specified, all terms used in this disclosure (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so defined in this disclosure.

[0023] See attached document Figure 1 This is a schematic diagram of a network architecture provided by an embodiment of this disclosure. Figure 1 As shown, the network architecture 10 may include an access layer 11, an aggregation layer 12, a core layer 13, and user equipment 140.

[0024] Access layer 11 is the layer closest to user equipment 140 in the network topology. Its main task is to connect user equipment 140 (such as computers, mobile phones, smart screens, etc.) to the network and provide an interface for user equipment 140 to access the network. Access layer 11 is typically deployed on each floor, in each office, or in each user area to provide local network connectivity. The network devices located in access layer 11 can be customer edge (CE) devices 110, which provide access services to user equipment 140.

[0025] Aggregation layer 12 is an intermediate layer in network topology. It can connect to one or more access layers 11 and is responsible for aggregating service traffic from the access layers 11 to the core layer 13. The main tasks of aggregation layer 12 are to implement data forwarding, switching, and policy control, while providing high-availability bandwidth to ensure fair sharing among the various access layers 11 and optimize network resource utilization. The network device located at aggregation layer 12 can be a provider edge (PE) device 120. PE device 120 can be used to connect access layers 11 and core layer 13. Service traffic can be forwarded to access layers 11 or core layer 13 through PE device 120.

[0026] The core layer 13 is the highest-level layer in the network architecture, responsible for handling a large volume of service traffic and connecting different aggregation layers 12 and network services. The core layer 13 undertakes crucial network tasks, including high-speed data transmission, routing decisions, and cross-network communication. Typically, the core layer 13 uses high-bandwidth network devices. These network devices can be service provider (P-devices) 130, which possess powerful data exchange capabilities and can be used for high-speed exchange of service traffic.

[0027] exist Figure 1 The transmission network shown includes multiple user equipment (UE) 140s and multiple network devices, such as routers. Through forwarding operations between multiple network devices at different layers, data exchange between UE 140s and the backbone network, or data exchange between different UEs 140s, can be achieved. Figure 1 Taking the data transmitted in the transmission network shown as service packets as an example, network devices at different layers are used for service packet forwarding. The service traffic of user equipment 140 can be forwarded to the backbone network in sequence through CE device 110 → PE device 120 → P device 130. The service traffic of the backbone network can be forwarded to user equipment 140 in sequence through P device 130 → PE device 120 → CE device 110.

[0028] based on Figure 1 The network architecture diagram shown is attached. Figure 2 This is a schematic diagram illustrating an application scenario provided by an embodiment of this disclosure. Figure 2 In this context, network devices can include PE devices, CE devices, and P devices. Figure 2 Taking the TE network as an example, the network is... Figure 2 It can be seen that four TE tunnels with the same overhead are deployed between device PE1 and device PE2, namely TE tunnel1, TE tunnel2, TE tunnel3 and TE tunnel4. Figure 2In a TE network using ECMP technology, TE tunnel1, TE tunnel2, TE tunnel3, and TE tunnel4 can be bound to a TE ECMP group. When service traffic packets arrive at the network, the service traffic can be load-balanced among TE tunnel1, TE tunnel2, TE tunnel3, and TE tunnel4.

[0029] In communication networks, the role of TE (Traffic Engineering) is to guide traffic from its source to its corresponding destination. Multiple TE tunnels can be used to load balance traffic destined for the same destination, thus avoiding network congestion. Among them, Multiprotocol Label Switching-Traffic Engineering (MPLS-TE) is a traffic engineering implementation based on MPLS, while Segment Routing-Traffic Engineering (SR-TE) is a traffic engineering implementation based on SR.

[0030] ECMP is a network routing technology that supports load balancing of service traffic through multiple paths to the same destination with the same cost. For example, a hash algorithm can be used to evenly distribute service traffic destined for the same destination to equivalent next hops.

[0031] In TE networks, ECMP technology allows multiple TE tunnels with the same overhead to be bound into a TE ECMP group. TE ECMP includes MPLS-TE ECMP or SR-TE ECMP. Within a TE ECMP group, routine and critical services share forwarding resources. When routine service traffic is too high or a member tunnel within the TE ECMP group fails, the quality of service for critical services cannot be guaranteed.

[0032] Virtual private networks (VPNs) are an important service. To obtain better service quality, users need to have a dedicated forwarding path within the VPN service. Some related technologies achieve this by creating a new Virtual Routing and Forwarding (VRF) service. However, creating a new VRF service is cumbersome and prone to errors.

[0033] In other related technologies, TE tunnels in a TE ECMP group can be associated with Differentiated Services Code Point (DSCP) priorities, allowing packets carrying a specific DSCP to be forwarded through the corresponding TE tunnel. However, in practical applications, there may be more granular service customization requirements, and multiple packets with the same DSCP priority may contain services of varying importance. Simply associating TE tunnels in a TE ECMP group with DSCP priorities is insufficient to guarantee the quality of service for critical services.

[0034] In view of this, the present disclosure provides a message forwarding method, a network device, and a computer-readable medium, which can be applied to, but are not limited to, applications. Figure 1 and Figure 2 The architecture and scenarios are described below in detail with reference to the accompanying diagrams.

[0035] Firstly, refer to the appendix Figure 3 This is a flowchart of a packet forwarding method provided in an embodiment of the present disclosure. This method can be applied to network devices, and can be applied, but is not limited to, VPN scenarios based on MPLS-TE ECMP / SR-TE ECMP. The method includes:

[0036] S31: Receive service messages to be forwarded.

[0037] In this embodiment of the disclosure, the network device receives a service message to be forwarded sent by the previous node.

[0038] For example, in Figure 2 In the network device PE1, the upstream node can be CE1. PE1 receives the service message to be forwarded sent by CE1. The service message to be forwarded needs to be forwarded from PE1 to CE2 via PE2. In the network device PE2, the upstream node can be CE2. PE2 receives the service message to be forwarded sent by CE2. The service message to be forwarded needs to be forwarded from PE2 to CE1 via PE1.

[0039] S32: Determine the target service message from the service messages to be forwarded that matches the message information of the target service.

[0040] In this embodiment of the disclosure, the target service can be understood as a service with high quality of service requirements; for example, the target service may include important services. After receiving the service packet to be forwarded from the previous node, the network device can determine the target service packet that matches the message information of the target service from the service packets to be forwarded, based on the message information of the target service.

[0041] In this embodiment of the disclosure, the target service can be defined by the user based on the actual application. For example, the user can define the target service based on the service criticality, service level agreement, service value, and user needs.

[0042] In some embodiments, the message information may include at least one of the following:

[0043] Source Internet Protocol (IP) address;

[0044] Destination IP address;

[0045] Source Media Access Control (MAC) address;

[0046] Destination MAC address;

[0047] Source User Datagram Protocol (UDP) port number;

[0048] Destination UDP port number;

[0049] Source Transmission Control Protocol (TCP) port number;

[0050] Destination TCP port number;

[0051] Differentiated Services Code Point (DSCP).

[0052] For example, the message information includes source IP address A. When the network device executes S32, it can determine the target service message that matches the source IP address A of the target service from the service messages to be forwarded. For example, if the source IP address of message 1 and message 7 in the service messages to be forwarded is source IP address A, then message 1 and message 7 can be determined as target service messages from the service messages to be forwarded.

[0053] For example, the message information includes the destination MAC address B. When the network device executes S32, it can determine the target service message that matches the destination MAC address B of the target service from the service messages to be forwarded. For example, if the destination MAC address of message 2 and message 3 in the service messages to be forwarded is the destination MAC address B, then message 2 and message 3 can be determined as the target service messages from the service messages to be forwarded.

[0054] S33: Forward target service messages through dedicated member tunnels in the tunnel group.

[0055] For example, a tunnel group can be a TE ECMP group, which may include multiple TE tunnels.

[0056] In this embodiment of the disclosure, a dedicated member tunnel in a tunnel group can be understood as a member tunnel in the tunnel group specifically used for forwarding the target service packet. This dedicated member tunnel cannot be used to forward other service packets besides the target service packet. After determining the target service packet, the network device can use the dedicated member tunnel in the tunnel group to forward the target service packet.

[0057] In this embodiment of the disclosure, upon receiving a service packet to be forwarded, a target service packet matching the packet information of the target service can be determined from the service packets to be forwarded. This target service packet is then forwarded through a dedicated member tunnel in the tunnel group. In this way, by accurately matching the target service packet from the service packets to be forwarded using the packet information of the target service, and forwarding the target service packet using a dedicated member tunnel in the tunnel group, the target service packet can be ensured to have exclusive access to the dedicated member tunnel. This allows for better control and management of the target service's traffic, improves the transmission efficiency and security of the target service, and ultimately maximizes the quality of service for the target service.

[0058] In this embodiment of the disclosure, if the dedicated member tunnel is reachable, the target service message is forwarded through the dedicated member tunnel in the tunnel group.

[0059] In this embodiment of the disclosure, if it is determined that the dedicated member tunnel is unreachable, the following measures may be taken to ensure the service quality of the target service.

[0060] In some embodiments, before or after executing S33, if it is determined that the dedicated member tunnel is unreachable, the transmission of at least one service packet other than the target service packet in the service packets to be forwarded is interrupted. This ensures that the forwarding resources required by each service packet to be forwarded after the interruption are less than or equal to the sum of the resources of the available member tunnels in the tunnel group, excluding the dedicated member tunnel. The interrupted service packets are then forwarded through the available member tunnels. In this way, when the dedicated member tunnel is unreachable, interrupting the transmission of other services besides the target service reduces service traffic and load, ensuring that the sum of the resources of the available member tunnels in the tunnel group is sufficient to transmit the target service packet. This allows the target service to obtain sufficient bandwidth and performance guarantees, thereby ensuring the quality of service of the target service.

[0061] It is understood that, in the above embodiments, before forwarding the target service packet through the dedicated member tunnel in the tunnel group, if it is determined that the dedicated member tunnel is unreachable, the transmission of at least one service packet other than the target service packet in the service packet to be forwarded can be interrupted to ensure the quality of service of the target service. Alternatively, after forwarding the target service packet through the dedicated member tunnel in the tunnel group, it is understood that some target service packets have been forwarded through the dedicated member tunnel, but some target service packets have not yet been forwarded. In this case, if it is determined that the dedicated member tunnel is unreachable, the transmission of at least one service packet other than the target service packet in the service packet to be forwarded can also be interrupted to ensure the quality of service of the target service.

[0062] In some embodiments, before or after executing S33, if it is determined that the dedicated member tunnel is unreachable, and if the forwarding resources required for the target service packet are greater than the sum of the resources of all available member tunnels in the tunnel group excluding the dedicated member tunnel, then the transmission of all service packets in the service packet to be forwarded, except for the target service packet, is interrupted, and the target service packet is forwarded through the available member tunnel. Thus, when the dedicated member tunnel is unreachable, and the sum of the resources of the available member tunnels in the tunnel group is insufficient to transmit the target service packet, the transmission of all services except the target service can be interrupted to reduce service traffic and load, thereby ensuring the quality of service of the target service.

[0063] In some embodiments, a predetermined dedicated member tunnel for forwarding target service packets can be pre-configured. Before forwarding the target service packet through a dedicated member tunnel in the tunnel group, if it is determined that the predetermined dedicated member tunnel for forwarding the target service packet is unreachable, a dedicated member tunnel can be determined from the available member tunnels in the tunnel group other than the predetermined dedicated member tunnel. The resources of the dedicated member tunnel are greater than or equal to the forwarding resources required by the target service packet. Thus, when the predetermined dedicated member tunnel is unreachable, a new dedicated member tunnel can be determined for the target service from the available member tunnels in the tunnel group, allowing the target service to still exclusively use the dedicated member tunnel. Furthermore, the sum of the resources of the newly determined dedicated member tunnel is sufficient to transmit the target service packet, ensuring sufficient bandwidth and performance for the target service, thereby guaranteeing the quality of service for the target service.

[0064] In some embodiments, a predetermined dedicated member tunnel for forwarding target service packets can be pre-configured. Before forwarding the target service packet through a dedicated member tunnel in the tunnel group, if it is determined that the predetermined dedicated member tunnel for forwarding the target service packet is unreachable, and if it is determined that the total resources of all available member tunnels in the tunnel group other than the predetermined dedicated member tunnel are less than the forwarding resources required by the target service packet, then all available member tunnels in the tunnel group other than the predetermined dedicated member tunnel are designated as dedicated member tunnels. In this way, when the predetermined dedicated member tunnel is unreachable, and the sum of the resources of the available member tunnels in the tunnel group is insufficient to transmit the target service packet, all remaining available member tunnels in the tunnel group can be designated as dedicated member tunnels, allowing the target service to still exclusively utilize the dedicated member tunnel and ensuring the quality of service of the target service as much as possible.

[0065] In this embodiment of the disclosure, the predetermined dedicated member tunnel can also be understood as a predetermined dedicated member tunnel in the preset correspondence relationship. The preset correspondence relationship represents the association relationship between each service and each member tunnel in the tunnel group. Each service includes the target service.

[0066] In this embodiment of the disclosure, the availability of a dedicated member tunnel can be understood as the dedicated member tunnel being available, or it can also be understood as the dedicated member tunnel being in a normal state; the unavailability of a dedicated member tunnel can be understood as the dedicated member tunnel being unavailable, or it can also be understood as the dedicated member tunnel being in an abnormal state.

[0067] In some embodiments, after executing S32 to determine the target service packet that matches the packet information of the target service from the service packets to be forwarded, for service packets in the service packets to be forwarded that do not match the packet information of the target service, a hash algorithm can be used to forward the service packets other than the target service packet in the tunnel group through member tunnels other than dedicated member tunnels. In this way, the target service is transmitted through dedicated member tunnels, while other services are transmitted through member tunnels in the tunnel group other than dedicated member tunnels using hash algorithms. While ensuring the service quality of the target service, the hash algorithm can evenly distribute service packets other than the target service packet to member tunnels in the tunnel group other than dedicated member tunnels, thereby achieving load balancing, making more efficient use of network resources, avoiding network congestion, and realizing fine-grained differentiated services for network traffic.

[0068] In this embodiment of the disclosure, before forwarding the target service message through the dedicated member tunnel, the dedicated member tunnel for forwarding the target service message can be determined from the tunnel group. This disclosure does not limit how to determine the dedicated member tunnel from the tunnel group. Several possible implementation methods will be described below.

[0069] In some embodiments, before forwarding the target service packet through the dedicated member tunnels in the tunnel group in step S33, dedicated member tunnels associated with the target service can be determined from the tunnel group according to a preset correspondence. The preset correspondence represents the association between each service and each member tunnel in the tunnel group, and each service includes the target service. In this way, member tunnels associated with the target service can be determined from the tunnel group according to the preset correspondence, and these member tunnels associated with the target service can be determined as dedicated member tunnels for forwarding the target service packet. By associating the target service with dedicated member tunnels, dedicated member tunnels can be quickly determined.

[0070] The relationship between each service and each member tunnel in the tunnel group can include the relationship between the message information of each service and the tunnel information of each member tunnel. Tunnel information may include, but is not limited to, information that can be used to identify a specific tunnel, such as tunnel identifiers or tunnel ports.

[0071] For example, the tunnel group is a TE ECMP group, which includes four TE tunnels: TE tunnel1, TETunnel2, TE tunnel3, and TE tunnel4. A dedicated member tunnel associated with the target service can be determined from TE tunnel1, TE tunnel2, TE tunnel3, and TE tunnel4 according to a preset mapping. For instance, the preset mapping may include the association between the source IP address A of the target service and TE tunnel2; therefore, the dedicated member tunnel for the target service can be determined as TE tunnel2 based on this association.

[0072] In this embodiment of the disclosure, conditions for triggering the matching of target service packets can also be configured. When the triggering conditions are met, the target service packet matching steps are executed. Some possible implementation methods are described below.

[0073] In some embodiments, before determining the target service packet matching the packet information of the target service from the service packets to be forwarded in step S32, unused resources of the tunnel group can be obtained. If it is determined that the unused resources are less than or equal to a preset threshold corresponding to the unused resources, the step of determining the target service packet matching the packet information of the target service from the service packets to be forwarded is performed. The unused resources include at least one of the remaining available member tunnels and the remaining available bandwidth. In this way, by monitoring the unused resources of the tunnel group in real time, target service packet matching can be triggered when resources are scarce, thereby ensuring that the forwarding of target service packets is prioritized when resources are scarce, thus guaranteeing the service quality of the target service.

[0074] It is understandable that the preset threshold for unused resources can be set by the user according to actual application needs.

[0075] For example, unused resources include the number of remaining available member tunnels. The preset threshold for the number of remaining available member tunnels is 2. If the number of remaining available member tunnels in the tunnel group is less than or equal to 2, the step of determining the target service message that matches the message information of the target service from the service messages to be forwarded is performed.

[0076] For example, unused resources include the number of remaining available member tunnels and the remaining available bandwidth. The preset threshold for the number of remaining available member tunnels is 2, and the preset threshold for the remaining available bandwidth is 12Gbps. The number of remaining available member tunnels in the tunnel group is 3, and the sum of the bandwidth of the available member tunnels (i.e., the remaining available bandwidth) is 11Gbps. At this time, if the remaining available bandwidth of the tunnel group is detected to be less than the corresponding preset threshold, the step of determining the target service packet that matches the packet information of the target service from the service packets to be forwarded is executed.

[0077] In some embodiments, after obtaining the unused resources of the tunnel group, if it is determined that the unused resources are greater than a preset threshold corresponding to the unused resources, a hash algorithm is used to forward the received service packets through the available member tunnels in the tunnel group. In this way, when the condition for triggering the matching of the target service packet is not met, the hash algorithm can be used to evenly distribute the received packets to each member tunnel to achieve load balancing.

[0078] In some embodiments of this disclosure, when the triggering condition for triggering the matching of target service packets is met, the target service packet matching step is executed. After the target service packet matching is executed, a dedicated member tunnel can be determined for the target service to forward the target service packets. Some possible implementation methods are described below.

[0079] In some embodiments, after performing the step of determining the target service packet that matches the packet information of the target service from the service packets to be forwarded, dedicated member tunnels can be determined from the remaining available member tunnels in the tunnel group based on committed resources. The committed resources include at least one of committed bandwidth and committed tunnel quantity, and represent the minimum resources required to transmit the target service packet. In this way, dedicated member tunnels are determined for the target service based on committed resources, with the aim of ensuring that the dedicated member tunnel resources meet the minimum resources required to transmit the target service, thereby guaranteeing the quality of service for the target service.

[0080] It is understandable that the committed bandwidth represents the minimum bandwidth used to transmit the target service message, and the committed tunnel number represents the minimum number of tunnels used to transmit the target service message.

[0081] In this embodiment of the disclosure, the method of determining the dedicated member tunnel from the remaining available member tunnels in the tunnel group based on the committed resources is not limited. Some possible implementation methods are described below.

[0082] In some embodiments, determining a dedicated member tunnel from the remaining available member tunnels in the tunnel group based on committed resources can be achieved as follows: determining at least one target member tunnel from the remaining available member tunnels in the tunnel group based on committed resources, wherein the sum of the resources of the at least one target member tunnel is greater than or equal to the committed resources; and determining the at least one target member tunnel as a dedicated member tunnel.

[0083] It is understood that at least one target member tunnel may include one or more target member tunnels. In the case of a single target member tunnel, the resources of at least one target member tunnel can be understood as the resources of that single target member tunnel.

[0084] For example, the committed resources include committed bandwidth, which is configured to be 10Gbps. The remaining available member tunnels in the tunnel group are member tunnel A, member tunnel B, and member tunnel C. Member tunnel A has a bandwidth of 4Gbps, member tunnel B has a bandwidth of 10Gbps, and member tunnel C has a bandwidth of 5Gbps. At this time, the bandwidth of member tunnel B is equal to the committed bandwidth. Based on the committed bandwidth, the target member tunnel can be determined from the remaining available member tunnels in the tunnel group as member tunnel B. Then, member tunnel B can be determined as a dedicated member tunnel for forwarding the target service packets.

[0085] For example, the committed resources include committed bandwidth of 12Gbps. The remaining available member tunnels in the tunnel group are member tunnel D, member tunnel E, and member tunnel F. Member tunnel D has a bandwidth of 4Gbps, member tunnel E has a bandwidth of 8Gbps, and member tunnel F has a bandwidth of 2Gbps. At this time, the sum of the bandwidths of member tunnel D and member tunnel E is equal to the committed bandwidth. Based on the committed bandwidth, the target member tunnels, including member tunnel D and member tunnel E, can be determined from the remaining available member tunnels in the tunnel group. Then, member tunnel D and member tunnel E can be determined as dedicated member tunnels for forwarding target service packets.

[0086] For example, the committed resources include committed bandwidth and committed tunnel quantity. The committed bandwidth is 12Gbps, and the committed tunnel quantity is 2. The remaining available member tunnels in the tunnel group are member tunnel G, member tunnel H, and member tunnel I. Member tunnel G has a bandwidth of 4Gbps, member tunnel H has a bandwidth of 6Gbps, and member tunnel I has a bandwidth of 6Gbps. It can be seen that the sum of the bandwidths of member tunnel H and member tunnel I is equal to the committed bandwidth, and the sum of the quantities of member tunnel H and member tunnel I is equal to the committed tunnel quantity. At this time, the target member tunnels, including member tunnel H and member tunnel I, can be determined from the remaining available member tunnels in the tunnel group based on the committed resources. Then, member tunnel H and member tunnel I can be determined as dedicated member tunnels for forwarding target service packets.

[0087] In some embodiments, the determination of dedicated member tunnels from the remaining available member tunnels in the tunnel group based on committed resources can be achieved by determining all remaining available member tunnels as dedicated member tunnels if the total resources of all remaining available member tunnels in the tunnel group are less than the committed resources.

[0088] For example, the committed resources include committed bandwidth of 15Gbps. The remaining available member tunnels in the tunnel group are member tunnel L, member tunnel M, and member tunnel N. Member tunnel L has a bandwidth of 4Gbps, member tunnel M has a bandwidth of 2Gbps, and member tunnel N has a bandwidth of 6Gbps. It can be seen that the sum of the bandwidths of all remaining available member tunnels in the tunnel group is less than the committed bandwidth. At this time, member tunnel L, member tunnel M, and member tunnel N can be identified as dedicated member tunnels.

[0089] To enable those skilled in the art to more clearly understand the technical solutions provided by the embodiments of this disclosure, the technical solutions provided by the embodiments of this disclosure will be further described below through specific embodiments:

[0090] See attached document Figure 4 This is a schematic diagram illustrating another application scenario provided by an embodiment of this disclosure, combined with... Figure 4 The application scenario shown illustrates the application of the packet forwarding method provided in this disclosure to device PE1. In this embodiment, a tunnel group has been created between device PE1 and device PE2. The tunnel group is a TE ECMP group, which includes four member tunnels. The tunnel identifiers of each member tunnel are TE tunnel1, TE Tunnel2, TE tunnel3, and TE tunnel4, respectively. The packet information of the target service is the source IPv4 address. Device PE1 implements the packet forwarding method including the following steps:

[0091] S1: PE1 receives service packets to be forwarded from CE1.

[0092] In this embodiment, PE1 receives 10 service streams from CE1, representing 10 services. These 10 services can be designated as Services 1 through 10. The service packets of different services carry different source IPv4 addresses, with the source IPv4 addresses for Services 1 through 100.0.1.1 being 100.9.1.1, respectively. PE1 needs to forward the received service packets to be forwarded through a member tunnel in the TE ECMP group. Among these 10 services, Service 6 (source IPv4 address 100.5.1.1), Service 3 (source IPv4 address 100.2.1.1), and Service 5 (source IPv4 address 100.4.1.1) are the target services.

[0093] S2: PE1 determines the target service packet from the service packets to be forwarded that matches the source IPv4 address of the target service.

[0094] In this embodiment, after receiving the service packets to be forwarded for the aforementioned 10 services, PE1 can compare the source IPv4 address of the received service packets to be forwarded with the source IPv4 address of the target service, and then determine the target service packet from the received service packets to be forwarded. The target service packet includes the service packet of service 6 that matches the source IPv4 address 100.5.1.1, the service packet of service 3 that matches the source IPv4 address 100.2.1.1, and the service packet of service 5 that matches the source IPv4 address 100.4.1.1.

[0095] S3: PE1 determines the dedicated member tunnel associated with the target service from the TE ECMP group according to the preset correspondence, and forwards the target service message through the dedicated member tunnel.

[0096] In this embodiment, the preset correspondence includes the association between the source IPv4 address of the target service and the tunnel identifier of the dedicated member tunnel. For example, taking a preset correspondence as a list, see Table 1. According to the preset correspondence shown in Table 1, PE1 can determine from the TE ECMP group that the dedicated member tunnel associated with Service 6 (target service) with source IPv4 address 100.5.1.1 is the member tunnel corresponding to TE tunnel1; it can determine from the TE ECMP group that the dedicated member tunnel associated with Service 3 (target service) with source IPv4 address 100.2.1.1 is the member tunnel corresponding to TE tunnel2; and it can determine from the TE ECMP group that the dedicated member tunnel associated with Service 5 (target service) with source IPv4 address 100.4.1.1 is the member tunnel corresponding to TE tunnel2. At this time, the service packets of Service 6 with source IPv4 address 100.5.1.1 will be forwarded through the member tunnel corresponding to TE tunnel1, and the service packets of Service 3 with source IPv4 address 100.2.1.1 and Service 5 with source IPv4 address 100.4.1.1 will be forwarded through TE tunnel1. The member tunnel corresponding to tunnel2 forwards the message.

[0097] Table 1

[0098]

[0099] S4: Use a hash algorithm to forward service packets other than the target service packet in the service packets to be forwarded through member tunnels in the TE ECMP group, excluding dedicated member tunnels.

[0100] In this embodiment, the member tunnels corresponding to TE tunnel1 and TE tunnel2 in the TE ECMP group have been occupied by the target service packets. The member tunnels in the TE ECMP group other than the dedicated member tunnels include TE tunnel3 and TE tunnel4. The service packets to be forwarded, other than the target service packets, include service packets 1-2, service packets 4, and service packets 7-10. The packets can be forwarded through the member tunnels corresponding to TE tunnel3 and TE tunnel4 using a hash algorithm based on the key information of the packets to achieve load balancing.

[0101] In some possible scenarios, the dedicated member tunnels corresponding to TE tunnel1 and TE tunnel2 may be unreachable. In such cases, there are multiple implementation methods to ensure the transmission quality of the target service.

[0102] In one possible implementation, the transmission of at least one service packet other than the target service packet in the service packets to be forwarded can be interrupted, so that the forwarding resources required by each service packet to be forwarded after the interruption are less than or equal to the sum of the resources of the member tunnels corresponding to TE tunnel3 and TE tunnel4. The interrupted service packets to be forwarded are then forwarded through the member tunnels corresponding to TE tunnel3 and TE tunnel4. For example, each service packet to be forwarded can be forwarded through the member tunnels corresponding to TE tunnel3 and TE tunnel4 using a hash algorithm to achieve load balancing.

[0103] In another possible implementation, a dedicated member tunnel is re-determined for the target service from the member tunnels corresponding to TE tunnel3 and TE tunnel4, such that the resources of the determined dedicated member tunnel are greater than or equal to the forwarding resources required by the target service packet.

[0104] Using the methods described above, when a user requires a dedicated TE tunnel for a specific service, a dedicated tunnel can be configured for the target service without needing to open a new VRF, thus avoiding problems caused by frequent VRF activation. Furthermore, when a member tunnel in the tunnel group fails, the above method allows the target service to exclusively use the dedicated member tunnel, thereby ensuring the service quality of the target service.

[0105] In this embodiment, after the target service configuration is cancelled, a rule deletion message can be issued through the network management device, and then PE1 can delete the relevant rules and use a hash algorithm to forward the received service packets through the member tunnels included in the TE ECMP group.

[0106] See attached document Figure 5 This is a schematic diagram illustrating another application scenario provided by an embodiment of this disclosure, combined with... Figure 5The application scenario shown illustrates the application of the packet forwarding method provided in this disclosure embodiment to device PE1. In this embodiment, a tunnel group has been created between device PE1 and device PE2. The tunnel group is a TE ECMP group, which includes four member tunnels: TE tunnel1, TE tunnel2, TE tunnel3, and TE tunnel4. Each member tunnel has a bandwidth of 10Gbps, and the total bandwidth of the TE ECMP group is 40Gbps. Device PE1 implements the packet forwarding method including the following steps:

[0107] S1: PE1 receives service packets to be forwarded from CE1.

[0108] In this embodiment, PE1 receives 10 service streams from CE1, representing 10 services, denoted as Service 1 to Service 10. The service packets of different services carry different source IPv4 addresses, with the source IPv4 addresses for Services 1 to 10 being 100.0.1.1 to 100.9.1.1, respectively. PE1 needs to forward the received service packets to be forwarded through a member tunnel in the TE ECMP group. Among these 10 services, Service 4 with a source IPv4 address of 100.3.1.1 and Service 6 with a source IPv4 address of 100.5.1.1 are the target services.

[0109] S2: PE1 determines the target service packet from the service packets to be forwarded that matches the source IPv4 address of the target service.

[0110] In this embodiment, after receiving the service packets to be forwarded from the above 10 services, PE1 can compare the source IPv4 address of the received service packets to be forwarded with the source IPv4 address of the target service, and then determine the target service packet from the received service packets to be forwarded. The target service packet includes the service packet of service 4 that matches the source IPv4 address 100.3.1.1, and the service packet of service 6 that matches the source IPv4 address 100.5.1.1.

[0111] In this embodiment, before S2 is triggered, TE tunnel1, TE tunnel2, TE tunnel3 and TE tunnel4 jointly participate in load sharing. PE1 can use a hash algorithm to forward the received service packets to be forwarded through each member tunnel in the TE ECMP group to achieve load sharing.

[0112] In this embodiment, S2 can be executed when a preset triggering condition is met. For example, unused resources of the TE ECMP group (e.g., at least one of the remaining available member tunnels and the remaining available bandwidth) can be obtained, and if it is determined that the unused resources are less than or equal to a preset threshold corresponding to the unused resources, S2 is triggered.

[0113] In this embodiment, when TE tunnel3 and TE tunnel4 are unreachable in the TE ECMP group, the remaining available member tunnels in the TE ECMP group are TE tunnel1 and TE tunnel2, the number of remaining available member tunnels is 2, and the preset threshold corresponding to the number of remaining available member tunnels is 2. At this time, the number of remaining available member tunnels is equal to the preset threshold 2, triggering the execution of S2.

[0114] S3: PE1 determines the dedicated member tunnel for forwarding the target service packet from the remaining available member tunnels in the TE ECMP group based on the committed bandwidth, and forwards the target service packet through the dedicated member tunnel in the tunnel group.

[0115] In this embodiment, the committed bandwidth is configured as 10Gbps. The remaining available member tunnels in the TE ECMP group, TEtunnel1 and TE tunnel2, both have a bandwidth of 10Gbps. At this time, a target member tunnel with a bandwidth greater than or equal to the committed bandwidth of 10Gbps can be determined from TE tunnel1 and TE tunnel2 as a dedicated member tunnel. That is, either TE tunnel1 or TE tunnel2 can be determined as a dedicated member tunnel, and the target service packets can be forwarded through this dedicated member tunnel.

[0116] In this embodiment, when TE tunnel3 becomes reachable again, the number of available member tunnels in the TE ECMP group increases from 2 to 3. The number of available member tunnels in the TE ECMP group is greater than the corresponding preset threshold 2. At this time, all service packets to be forwarded received by PE1 are forwarded by selecting tunnels from TE tunnel1, TE tunnel2 and TE tunnel3 using a hash algorithm to achieve load sharing.

[0117] See attached document Figure 6 This is a schematic diagram illustrating another application scenario provided by an embodiment of this disclosure, combined with... Figure 6The application scenario shown illustrates the application of the packet forwarding method provided in this disclosure embodiment to device PE1. In this embodiment, a tunnel group has been created between device PE1 and device PE2. The tunnel group is a TE ECMP group, which includes four member tunnels: TE tunnel1, TE tunnel2, TE tunnel3, and TE tunnel4. The bandwidths of TE tunnel1, TE tunnel2, TE tunnel3, and TE tunnel4 are 1Gbps, 5Gbps, 5Gbps, and 10Gbps, respectively. The total bandwidth of the TE ECMP group is 21Gbps. Device PE1 implements the packet forwarding method including the following steps:

[0118] S1: PE1 receives service packets to be forwarded from CE1.

[0119] In this embodiment, PE1 receives 10 service streams from CE1, representing 10 services (services 1 through 10). Each service's message carries a different source IPv4 address; the source IPv4 addresses for services 1 through 10 are 100.0.1.1 to 100.9.1.1, respectively. PE1 needs to forward the received service messages through a member tunnel in the TE ECMP group. Among these 10 services, service 4 (source IPv4 address 100.3.1.1) and service 6 (source IPv4 address 100.5.1.1) are the target services.

[0120] S2: PE1 determines the target service packet from the service packets to be forwarded that matches the source IPv4 address of the target service.

[0121] In this embodiment, the method for determining the target service packet from the service packets to be forwarded can be found in [reference needed]. Figure 5 S2 of the embodiment will not be described again here.

[0122] In this embodiment, before S2 is triggered, TE tunnel1, TE tunnel2, TE tunnel3 and TE tunnel4 jointly participate in load sharing. PE1 can use a hash algorithm to forward the received service packets to be forwarded through each member tunnel in the TE ECMP group to achieve load sharing.

[0123] In this embodiment, S2 can be executed when a preset triggering condition is met. For example, unused resources of the TE ECMP group (e.g., at least one of the remaining available member tunnels and the remaining available bandwidth) can be obtained, and if it is determined that the unused resources are less than or equal to a preset threshold corresponding to the unused resources, S2 is triggered.

[0124] Example 1: When TE tunnel1 and TE tunnel2 are unreachable in the TE ECMP group, the remaining available member tunnels in the TE ECMP group are TE tunnel3 and TE tunnel4. The number of remaining available member tunnels decreases from 4 to 2. The preset threshold corresponding to the number of remaining available member tunnels is 2. At this time, the number of remaining available member tunnels is equal to the preset threshold 2, triggering the execution of S2.

[0125] Example 2: When TE tunnel1 and TE tunnel4 are unreachable in the TE ECMP group, the remaining available member tunnels in the TE ECMP group are TE tunnel2 and TE tunnel3. The number of remaining available member tunnels decreases from 4 to 2. The preset threshold corresponding to the number of remaining available member tunnels is 2. At this time, the number of remaining available member tunnels is equal to the preset threshold 2, triggering the execution of S2.

[0126] Example 3: When TE tunnel4 is unreachable in the TE ECMP group, the remaining available member tunnels in the TE ECMP group are TE tunnel1, TE tunnel2, and TE tunnel3. The remaining available bandwidth of the TE ECMP group is the sum of the bandwidths of TE tunnel1, TE tunnel2, and TE tunnel3, which is 11Gbps. The number of remaining available member tunnels decreases from 4 to 3. The preset threshold corresponding to the number of remaining available member tunnels is 2, and the preset threshold corresponding to the remaining available bandwidth is 15Gbps. At this time, although the number of remaining available member tunnels in the TE ECMP group is greater than its corresponding preset threshold 2, the remaining available bandwidth of the TE ECMP group (11Gbps) is less than its corresponding preset threshold 15Gbps, triggering the execution of S2.

[0127] S3: PE1 determines the dedicated member tunnel for forwarding the target service packet from the remaining available member tunnels in the TE ECMP group based on the committed bandwidth, and forwards the target service packet through the dedicated member tunnel in the tunnel group.

[0128] Following Example 1 above, with a committed bandwidth configuration of 10Gbps, the remaining available member tunnels in the TE ECMP group, TEtunnel3 and TE tunnel4, have bandwidths of 5Gbps and 10Gbps respectively. In this case, a target member tunnel with a bandwidth greater than or equal to the committed bandwidth of 10Gbps can be selected from the remaining available member tunnels TEtunnel3 and TE tunnel4 as a dedicated member tunnel. That is, TE tunnel4 can be designated as a dedicated member tunnel, and packets with source IPv4 addresses of 100.3.1.1 and 100.5.1.1 can be forwarded through this dedicated member tunnel. In Example 1, after TE tunnel1 becomes reachable again, the number of remaining available member tunnels in the TE ECMP group increases from 2 to 3. This number exceeds the corresponding preset threshold of 2. At this point, all service packets received by PE1 are forwarded using a hash algorithm, selecting a tunnel from TE tunnel1, TE tunnel3, and TE tunnel4 for forwarding to achieve load balancing.

[0129] Following Example 2 above, with a committed bandwidth configuration of 10Gbps, and the remaining available member tunnels in the TE ECMP group, TEtunnel2 and TE tunnel3, have bandwidths of 5Gbps and 5Gbps respectively. In this case, a target member tunnel with a bandwidth greater than or equal to the committed bandwidth of 10Gbps can be selected from the remaining available member tunnels TEtunnel2 and TE tunnel3 as a dedicated member tunnel. That is, TE tunnel2 and TE tunnel3 can be designated as dedicated member tunnels, and packets with source IPv4 addresses of 100.3.1.1 and 100.5.1.1 can be forwarded through these dedicated member tunnels. At this time, the target service (100.3.1.1; 100.5.1.1) is forwarded through TE tunnel2 and TE tunnel3. Since all available member tunnels in the TE ECMP group are exclusively used by the target service, other services will have no available forwarding tunnels, leading to interruptions. This maximizes the service quality guarantee for important services. In Example 2, when TE tunnel1 becomes reachable again, the number of remaining available member tunnels in the TE ECMP group increases from 2 to 3. The number of remaining available member tunnels in the TE ECMP group is greater than the corresponding preset threshold of 2. At this time, all service packets to be forwarded received by PE1 are forwarded by selecting tunnels from TE tunnel1, TE tunnel2 and TE tunnel3 using a hash algorithm to achieve load sharing.

[0130] Following Example 3 above, with a committed bandwidth configuration of 15Gbps, the remaining available member tunnels in the TE ECMP group, TE tunnel1, TE tunnel2, and TE tunnel3, have bandwidths of 1Gbps, 5Gbps, and 5Gbps, respectively. At this point, the total resources of all remaining available member tunnels TE tunnel1, TE tunnel2, and TE tunnel3 in the TE ECMP group (11Gbps) are less than the committed bandwidth of 15Gbps. Therefore, all remaining available member tunnels TE tunnel1, TE tunnel2, and TE tunnel3 are designated as dedicated member tunnels, and packets with source IPv4 addresses of 100.3.1.1 and 100.5.1.1 are forwarded through these dedicated member tunnels. When the target service (100.3.1.1; 100.5.1.1) is forwarded through TE tunnel1, TE tunnel2, and TE tunnel3, since all available member tunnels in the TE ECMP group are exclusively used by the target service, other services have no available forwarding tunnels, leading to interruptions. This maximizes the service quality guarantee for important services. In Example 3, when TE tunnel4 becomes reachable again, the remaining available bandwidth of the TE ECMP group increases from 11Gbps to 21Gbps. The remaining available bandwidth in the TE ECMP group is greater than the promised bandwidth. At this time, all service packets received by PE1 are forwarded from TE tunnel1, TE tunnel2, TE tunnel3 and TE tunnel4 using a hash algorithm to achieve load sharing.

[0131] Secondly, refer to the appendix. Figure 7 This is a schematic diagram of a network device structure provided by an embodiment of the present disclosure, comprising: at least one processor 701, at least one memory 702, and one or more I / O interfaces 703. The one or more I / O interfaces 703 are connected between the processor 701 and the memory 702. The memory 702 stores one or more computer programs, which are executed by the at least one processor 701 to enable the at least one processor 701 to implement the methods described in the first aspect and any possible embodiments thereof.

[0132] The processor 701 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 702 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface 703 (read-write interface) is connected between the processor 701 and the memory 702, enabling information exchange between the processor 701 and the memory 702, including but not limited to a data bus (Bus).

[0133] Thirdly, embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the methods of the first aspect and any possible embodiments of the first aspect.

[0134] Those skilled in the art will understand that all or some of the steps, systems, and devices disclosed above, as functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0135] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be executed by several physical components working together.

[0136] Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit (CPU), digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is 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 (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH) or other disk storage; read-only optical disc (CD-ROM), digital versatile disc (DVD) or other optical disc storage; magnetic cartridges, magnetic tapes, disk storage or other magnetic storage; and any other media that can be used to store desired information and can be accessed by a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0137] This disclosure has disclosed exemplary embodiments, and although specific terminology has been used, it is for general illustrative purposes only and should not be construed as limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in conjunction with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this disclosure as set forth by the appended claims.

Claims

1. A message forwarding method, characterized in that, The method includes: Receive service messages to be forwarded; From the service messages to be forwarded, determine the target service message that matches the message information of the target service; The target service message is forwarded through a dedicated member tunnel in the tunnel group.

2. The method according to claim 1, characterized in that, The method further includes: If the dedicated member tunnel is determined to be unreachable, the transmission of at least one service packet in the service packets to be forwarded, excluding the target service packet, is interrupted, so that the forwarding resources required by each service packet to be forwarded after the interruption are less than or equal to the sum of the resources of the available member tunnels in the tunnel group, excluding the dedicated member tunnel, and the interrupted service packets to be forwarded are forwarded through the available member tunnel.

3. The method according to claim 1, characterized in that, Before forwarding the target service packet through a dedicated member tunnel in the tunnel group, the method further includes: If it is determined that the predetermined dedicated member tunnel for forwarding the target service message is unreachable, the dedicated member tunnel is determined from the available member tunnels in the tunnel group other than the predetermined dedicated member tunnel, wherein the resources of the dedicated member tunnel are greater than or equal to the forwarding resources required by the target service message.

4. The method according to claim 1, characterized in that, Before forwarding the target service packet through a dedicated member tunnel in the tunnel group, the method further includes: According to a preset correspondence, a dedicated member tunnel associated with the target service is determined from the tunnel group. The preset correspondence represents the association between each service and each member tunnel in the tunnel group, and each service includes the target service.

5. The method according to claim 1, characterized in that, Before determining the target service message that matches the message information of the target service from the service messages to be forwarded, the method further includes: Obtain the unused resources of the tunnel group, wherein the unused resources include at least one of the remaining available member tunnels and the remaining available bandwidth; If it is determined that the unused resources are less than or equal to a preset threshold corresponding to the unused resources, the step of determining the target service message that matches the message information of the target service from the service messages to be forwarded is performed.

6. The method according to claim 5, characterized in that, After acquiring the unused resources of the tunnel group, the method further includes: If it is determined that the unused resource is greater than the preset threshold corresponding to the unused resource, the received service packet is forwarded through the available member tunnel in the tunnel group using a hash algorithm.

7. The method according to claim 5, characterized in that, After the step of determining the target service message that matches the message information of the target service from the service messages to be forwarded, the method further includes: The dedicated member tunnel is determined from the remaining available member tunnels in the tunnel group based on the committed resources, wherein the committed resources include at least one of committed bandwidth and committed tunnel number, and the committed resources represent the minimum resources for transmitting the target service message.

8. The method according to claim 7, characterized in that, The step of determining the dedicated member tunnel from the remaining available member tunnels in the tunnel group based on committed resources includes: Based on the committed resources, at least one target member tunnel is determined from the remaining available member tunnels in the tunnel group, wherein the sum of the resources of the at least one target member tunnel is greater than or equal to the committed resources; The at least one target member tunnel is identified as the dedicated member tunnel.

9. The method according to claim 7, characterized in that, The step of determining the dedicated member tunnel from the remaining available member tunnels in the tunnel group based on committed resources includes: If the resources of all remaining available member tunnels in the tunnel group are less than the committed resources, then all remaining available member tunnels are identified as the dedicated member tunnels.

10. The method according to claim 1, characterized in that, After determining the target service message that matches the message information of the target service from the service messages to be forwarded, the method further includes: A hash algorithm is used to forward service packets other than the target service packet in the service packets to be forwarded through member tunnels in the tunnel group, excluding the dedicated member tunnel.

11. The method according to claim 1, characterized in that, The message information includes at least one of the following: Source Internet Protocol (IP) address; Destination IP address; Source media access control MAC address; Destination MAC address; Source User Datagram Protocol (UDP) port number; Destination UDP port number; Source Transmission Control Protocol (TCP) port number; Destination TCP port number; Differential Service Code Point (DSCP).

12. A network device, characterized in that, include: Memory, processor; The memory stores a computer program that can be executed by the processor, and when the computer program is executed by the processor, it implements the message forwarding method according to any one of claims 1 to 11.

13. A computer-readable medium having a computer program stored thereon, the computer program, when executed by a processor, implementing the message forwarding method according to any one of claims 1 to 11.