Method and device for forwarding messages, issuing forwarding instruction information and notification messages

By sensing the resource status of the service node, the forwarding node selects a node with a lighter load to process the data message, solving the problem of excessive pressure on a single node in the existing technology and improving service quality.

CN114124793BActive Publication Date: 2025-09-12HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202010898069.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-31
Publication Date
2025-09-12
Estimated Expiration
2040-08-31

AI Technical Summary

Technical Problem

When multiple service nodes are deployed in a network, the existing method of selecting a data packet processing node can easily lead to excessive data pressure on a single service node, thus affecting service quality.

Method used

The forwarding node senses the service resource status of each service node and selects the node with lighter load to forward data messages to avoid excessive pressure on a single node.

Benefits of technology

It improves the data message processing efficiency and enhances the service quality provided by terminal equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114124793B_ABST
    Figure CN114124793B_ABST
Patent Text Reader

Abstract

Disclosed are a method and device for forwarding messages, publishing forwarding indication information and notification messages, belonging to the field of routing technology. In this method, a forwarding node receives a message, obtains the target business resource status published by each business node among multiple business nodes, selects a target business node from multiple business nodes based on the target business resource status published by each business node, and forwards the message to the target business node. That is, the forwarding node can perceive the business resource status published by the business node, and the business resource status can indicate the resource occupancy of the business resources managed by the business node. The actual processing capacity of the business node can be perceived through the resource occupancy. Therefore, the forwarding node can take the business resource status of each business node into consideration when selecting the target business node, thereby avoiding the situation where the data pressure at a single business node is too high, thereby improving the quality of the services provided by the business node to the terminal device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of routing technology, and in particular to a method and device for forwarding messages, issuing forwarding indication information and notification messages. Background Art

[0002] Currently, to meet the service needs of a large number of users, multiple service nodes can be deployed in the network for the same service. These nodes can all provide the service. In this way, when a forwarding node in the network receives a data packet carrying a service identifier from a terminal device, it forwards the data packet to one of these multiple service nodes. In this scenario, the selection of the service node to process the data packet from these multiple service nodes will, to a certain extent, affect the processing efficiency of the data packet and, consequently, the quality of the service provided to the user.

[0003] In related technologies, when a forwarding node receives a data message, it forwards the data message to one of multiple service nodes in a proportional load-sharing manner. However, this forwarding method can easily result in the selected service node failing to meet the service quality requirements of the terminal device. Summary of the Invention

[0004] The present invention provides a method and device for forwarding messages, issuing forwarding instructions, and annunciation messages, which can meet the service quality requirements of terminal devices. The technical solution is as follows:

[0005] In a first aspect, a method for forwarding a message is provided, the method being applied to a network system. The network system includes a forwarding node and multiple service nodes. In this method, the forwarding node receives a message from a terminal device, the message carrying a target service identifier. The forwarding node then obtains the target service resource status published by each of the multiple service nodes. Based on the target service resource status published by each service node, the forwarding node selects a target service node from the multiple service nodes and forwards the message to the target service node. The target service resource status indicates the resource usage of the target service resources managed by each service node, where the target service resources are resources in the network system capable of processing the service indicated by the target service identifier.

[0006] In an embodiment of the present application, the forwarding node is able to perceive the service resource status published by the service node, and the service resource status is able to indicate the resource usage of the target service resources managed by the service node that can process the service indicated by the target service identifier. Through the resource usage, the actual processing capacity of the service node when processing the service indicated by the target service identifier is perceived. Since the forwarding node is able to perceive the target service resource status of the service node, the forwarding node can take the target service resource status of each service node into consideration when selecting the target service node, thereby avoiding the situation where the data pressure at a single service node is too high, thereby improving the quality of the service provided by the service node to the terminal device.

[0007] It should be noted that this method can also be applied to service chain technology. In service chain technology, if the controller specifies the forwarding path of the message in a loose manner, since the controller only specifies the order of each service function on the service chain, it does not specify which service function instance corresponding to which service function forwarder is implemented by each service function. Therefore, when a service node that can implement a certain service function of the loose forwarding path or the entrance of the service function chain domain (equivalent to the aforementioned forwarding node) receives a message, it can select a service node from these service nodes to implement the target service function based on the service resource status published by each service node that manages the service function instance of the target service function on the loose forwarding path. It can also avoid the situation where the data pressure at a single service node is large, thereby improving the quality of the service provided by the service node to the terminal device. In this scenario, the target service in the method provided in the embodiment of the present application is a service function on the service chain, each service node is a service function forwarder in the service chain technology, and the service resources managed by the service node are one or more service function instances managed by the service function forwarder.

[0008] Based on the method provided in the first aspect, in one possible implementation, before a forwarding node receives a data packet from a terminal device, the forwarding node may also receive a notification message from any service node in the network system. This notification message carries the service resource status of a service resource managed by any service node, and the forwarding node then saves the service resource status of the service resource managed by any service node. In this scenario, the forwarding node may obtain the target service resource status published by each of the multiple service nodes by obtaining the target service resource status of each service node from the saved service resource status.

[0009] By using notification messages published by service nodes, the forwarding nodes are able to perceive the service resource status of the service nodes, thereby implementing the method provided by the embodiments of the present application and improving the feasibility of the method provided by the embodiments of the present application. Optionally, the target service resource status published by each service node can also be obtained by the forwarding node from the controller. In this scenario, each service node publishes the service resource status to the controller, which improves the flexibility of the method provided by the embodiments of the present application.

[0010] Based on the method provided in the first aspect, in one possible implementation, the aforementioned notification message also carries a business resource identifier for each business resource among one or more business resources managed by any business node, the business resource status corresponds to each business resource identifier, and the business resource status corresponding to each business resource identifier indicates the resource usage of the business resource indicated by the corresponding business resource identifier managed by any business node. In this scenario, the implementation method for obtaining the target business resource status of each business node from the saved business resource status can be: from the saved business resource status, obtain the business resource status corresponding to the target business resource published by each business node, and obtain the target business resource status of each business node.

[0011] In embodiments of the present application, the service resource status published by a service node can refer to the service resource status for each service resource. This allows forwarding nodes to select target service nodes based on the service resource status of each service node for the current service, further improving the quality of services provided to terminal devices. Alternatively, the service resource status published by a service node can refer to a unified service resource status for all service resources, thereby increasing the flexible application of the method provided in embodiments of the present application.

[0012] Based on the method provided in the first aspect, in one possible implementation, when any business node supports the Open Shortest Path First (OSPF) protocol, the announcement message is an extended prefix type length value (TLV), the address prefix in the extended prefix TLV carries the business resource identifier of the business resource managed by any business node, and the extended sub-TLV in the extended prefix TLV or the tag bit in the extended prefix TLV carries the business resource status of the business resource managed by any business node.

[0013] Based on the method provided in the first aspect, in one possible implementation, when any business node supports the intermediate system to intermediate system ISIS protocol, the notification message is an extended network reachable type length value TLV, the prefix in the extended network reachable TLV carries the business resource identifier of the business resource managed by any business node, and the sub-TLV in the extended network reachable TLV carries the business resource status of the business resource managed by any business node.

[0014] Based on the method provided in the first aspect, in one possible implementation, when any business node supports the Border Gateway Protocol BGP, the notification message is a BGP update message message, the network layer reachability information NLRI in the BGP update message message carries the business resource identifier of the business resource managed by any business node, and the routing attribute TLV in the BGP update message message carries the business resource status of the business resource managed by any business node.

[0015] Based on the method provided in the first aspect, in a possible implementation, BGP includes multi-protocol MP BGP and non-MP BGP.

[0016] Based on the extension of the fields of existing messages in different protocols, the service node can publish the notification message provided by the embodiment of the present application, thereby improving the compatibility between the method provided by the embodiment of the present application and the existing protocols.

[0017] Based on the method provided in the first aspect, in one possible implementation, before selecting a target service node from multiple service nodes based on the target service resource status published by each service node, the forwarding node may also determine the priority of each service node based on the network performance of each service node, wherein a service node with a higher priority has better network performance, and the network performance of any service node indicates the network performance of the transmission path between the forwarding node and the corresponding service node. In this scenario, the implementation method for selecting a target service node from multiple service nodes based on the service resource status published by each service node is to determine the target service node based on the target service resource status of each service node and the priority of each service node.

[0018] When selecting a target service node, the service resource status of the service node itself and the network performance of the transmission path between the forwarding path and the service node are taken into consideration, thereby further improving the quality of the service provided to the terminal device.

[0019] Based on the method provided in the first aspect, in one possible implementation, the service resource status includes a light load state and an overload state, the overload state indicates that the resource occupancy rate of the target service resources managed by the corresponding service node exceeds a first occupancy rate threshold, and the light load state indicates that the resource occupancy rate of the target service managed by the corresponding service node is lower than a second occupancy rate threshold.

[0020] In this scenario, the target service node is the service node with the highest priority among the service nodes whose service resources are in a lightly loaded state among the multiple service nodes.

[0021] In order to improve the convenience of the method provided in the embodiment of the present application, the service resource state can be divided into a light load state and an overload state, which can improve the efficiency of selecting the target service node.

[0022] Based on the method provided in the first aspect, in one possible implementation, the network performance of any service node includes one or more of the transmission delay on the transmission path between the forwarding node and the corresponding service node, the total cost value of the transmission path between the forwarding node and the corresponding service node, and the remaining bandwidth of the transmission path between the forwarding node and the corresponding service node.

[0023] Any of the above methods can be used to characterize the network performance of any service node, thereby improving the flexibility of the method provided in the embodiment of the present application.

[0024] Based on the method provided in the first aspect, in a possible implementation manner, the forwarding node is a gateway GW, and the multiple service nodes are multiple servers communicating with the GW.

[0025] Based on the method provided in the first aspect, in one possible implementation, the forwarding node is a gateway GW, the multiple service nodes are multiple server cluster master nodes communicating with the GW, each of the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW, and there are two server cluster master nodes among the multiple server cluster master nodes located in different data centers.

[0026] In the embodiment of the present application, the service node can be a server under the GW, or it can be the main node of the server cluster to which the GW is connected through the DCGW, which improves the flexibility of the method provided in the embodiment of the present application. In addition, the various service nodes provided in the embodiment of the present application can be located in different data centers (the data center can also be called a cloud). That is, the forwarding node can perceive the service resource status published by the service nodes in different clouds, expanding the application scenario of the method provided in the embodiment of the present application.

[0027] Based on the method provided in the first aspect, in a possible implementation manner, the target service identifier is an anycast network address or a service name.

[0028] The method provided in the embodiment of the present application can be applied in anycast scenarios, and can also be applied in other scenarios where services need to be provided to terminal devices, thereby improving the flexibility of the method provided in the embodiment of the present application.

[0029] Based on the method provided in the first aspect, in a possible implementation manner, the forwarding node is an ingress node or a service function forwarder SFF of a service chain SFC domain, and the multiple service nodes are multiple SFFs.

[0030] The method adopted in the embodiment of the present application can also be applied in business chain technology, further improving the flexibility of the method provided in the embodiment of the present application.

[0031] A second aspect provides a method for publishing forwarding indication information, which is applied to a controller in a network system, the network system also including a forwarding node and multiple service nodes. In this method, the controller obtains the service resource status published by each of the multiple service nodes, where the service resource status indicates the resource usage of the service resources managed by the publisher. Based on the service resource status published by each service node, the controller publishes forwarding indication information for a message to the forwarding node, where the forwarding indication information is used to instruct the forwarding node how to select a target service node from the multiple service nodes to forward the message.

[0032] The aforementioned message forwarding indication information may be information related to the forwarding path, or may be the service resource status itself, so that the target service node selected by the forwarding node is determined based on the service resource status released by each service node.

[0033] Based on the method provided in the second aspect, in one possible implementation, any of the multiple service nodes manages one or more service resources, each of which is used to implement a service function on a service chain. In this scenario, the message forwarding indication information is a forwarding path for the service chain, which indicates which service resources in which service nodes the data message is processed by.

[0034] The method provided in the embodiment of the present application can be applied to the service chain technology. In the service chain technology, if the controller specifies the forwarding path of the message in a strict manner. At this time, for any service function on the service chain, the controller can select a service function instance managed by a certain service node from each service node to implement the service function based on the service resource status of the service function instance of the service function managed by each service node, thereby determining the strict forwarding path for the service chain. Among them, the strict forwarding path specifies which service function instance of which service node processes the message. The service function instance here is equivalent to the service resource managed by the service node, and the service node can be the service function forwarder in the service chain technology. In this way, the problem of high data processing pressure on some individual service nodes can be avoided, thereby improving the quality of the services provided by the service node to the terminal device.

[0035] A third aspect provides a method for publishing a notification message, which is applied to any service node among multiple service nodes included in a network system, the network system also including a forwarding node or a controller. In this method, the service node publishes a notification message to the forwarding node or controller, the notification message carrying the service resource status of the service resources managed by the service node, and the service resource status indicates the resource usage of the service resources managed by the publisher.

[0036] The notification message is used to instruct the forwarding node to select a target service node from multiple service nodes to forward the message based on the service resource status published by each service node in the multiple service nodes, or to instruct the controller to publish forwarding instruction information of the message to the forwarding node based on the service resource status published by each service node, and the forwarding instruction information is used to instruct the forwarding node how to select a target service node from multiple service nodes to forward the message

[0037] Based on the method provided in the third aspect, in one possible implementation, the notification message also carries a business resource identifier for each business resource in one or more business resources managed by the business node, the business resource status of the business node corresponds to each business resource identifier, and the business resource status corresponding to each business resource identifier indicates the resource usage of the business resource indicated by the corresponding business resource identifier managed by the business node.

[0038] Based on the method provided in the third aspect, in one possible implementation, when the service node supports the Open Shortest Path First (OSPF) protocol, the notification message is an extended prefix type length value (TLV), the address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by the service node, and the extended sub-TLV in the extended prefix TLV or the tag bit in the extended prefix TLV carries the service resource status of the service resource managed by the service node.

[0039] Based on the method provided in the third aspect, in one possible implementation, when the service node supports the intermediate system to intermediate system ISIS protocol, the notification message is an extended network reachable type length value TLV, the prefix in the extended network reachable TLV carries the service resource identifier of the service resource managed by the service node, and the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by the service node.

[0040] Based on the method provided in the third aspect, in a possible implementation, when the service node supports the Border Gateway Protocol BGP, the notification message is a BGP update message message, the network layer reachability information NLRI in the BGP update message message carries the service resource identifier of the service resource managed by the service node, and the routing attribute TLV in the BGP update message message carries the service resource status of the service resource managed by the service node.

[0041] Based on the method provided in the third aspect, in a possible implementation, BGP includes multi-protocol MP BGP and non-MP BGP.

[0042] Based on the method provided in the third aspect, in a possible implementation, in this method, the business node determines the business resource status at the current time; if the business resource status at the current time is different from the business resource status before the current time, the operation of publishing a notification message is executed.

[0043] In an embodiment of the present application, a notification message may be issued only when the status of a service resource changes, thereby saving network resources.

[0044] Based on the method provided in the third aspect, in one possible implementation, the service resource status includes a light load state and an overload state, the overload state indicates that the resource occupancy rate of the service resources managed by the corresponding service node exceeds a first occupancy rate threshold, and the light load state indicates that the resource occupancy rate of the service resources managed by the corresponding service node is lower than a second occupancy rate threshold.

[0045] Based on the method provided in the third aspect, in a possible implementation manner, the service identifier is an anycast network address or a service name.

[0046] Based on the method provided in the third aspect, in a possible implementation manner, the forwarding node is a gateway GW, and the multiple service nodes are multiple servers communicating with the GW.

[0047] Based on the method provided in the third aspect, in one possible implementation, the forwarding node is a gateway GW, the multiple business nodes are multiple server cluster master nodes communicating with the GW, each of the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW, and there are two server cluster master nodes among the multiple server cluster master nodes located in different data centers.

[0048] Based on the method provided in the third aspect, in a possible implementation manner, the forwarding node is an ingress node or a service function forwarder SFF of a service chain SFC domain, and the multiple service nodes are multiple SFFs.

[0049] The technical effects related to other contents in the above-mentioned third aspect can all refer to the technical effects of the corresponding technical solutions in the first and second aspects, and will not be repeated here.

[0050] In a fourth aspect, a forwarding node is provided, wherein the forwarding node has the function of implementing the method and behavior of forwarding a message in the first aspect. The forwarding node includes at least one module, and the at least one module is used to implement the method and behavior of forwarding a message provided in the first aspect.

[0051] In a fifth aspect, a controller is provided, wherein the controller has the function of implementing the method for determining a forwarding path in the second aspect. The controller includes at least one module, wherein the at least one module is configured to implement the method for determining a forwarding path in the second aspect.

[0052] In a sixth aspect, a service node is provided, wherein the service node has the function of implementing the method for publishing a notification message in the third aspect. The service node includes at least one module, and the at least one module is used to implement the method for publishing a notification message provided in the third aspect.

[0053] In a seventh aspect, a network device is provided, wherein the structure of the network device includes a processor and a memory, wherein the memory is used to store a program that supports the network device to execute the method provided by the first aspect, the second aspect, or the third aspect, and to store data involved in implementing the method provided by the first aspect, the second aspect, or the third aspect. The processor is configured to execute the program stored in the memory. The operating device of the storage device may also include a communication bus, which is used to establish a connection between the processor and the memory.

[0054] In an eighth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores instructions, and when the instructions are executed on a computer, the computer executes the method described in the first aspect, the second aspect, or the third aspect.

[0055] In a ninth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method described in the first, second, or third aspect above.

[0056] In a tenth aspect, a network system is provided, which includes a forwarding node and multiple service nodes.

[0057] Any one of the multiple service nodes is used to issue a notification message to the forwarding node, where the notification message carries a service resource status of the service resources managed by the service node, and the service resource status indicates resource usage of the service resources managed by each service node;

[0058] The forwarding node is used to receive a message from a terminal device, the message carrying a target service identifier, obtain the target service resource status published by each service node among multiple service nodes, the target service resource status indicating the resource usage of the target service resources managed by each service node, select a target service node from the multiple service nodes based on the target service resource status published by each service node, and forward the message to the target service node.

[0059] In an eleventh aspect, a network system is provided, which includes a controller, a forwarding node and multiple service nodes.

[0060] Any of the multiple service nodes is used to publish a notification message to the controller, where the notification message carries the service resource status of the service resources managed by the service node, and the service resource status indicates the resource occupancy of the service resources managed by the publisher;

[0061] The controller is used to issue message forwarding instruction information to the forwarding node based on the service resource status issued by each service node. The forwarding instruction information is used to instruct the forwarding node how to select a target service node from multiple service nodes to forward the message.

[0062] The technical effects obtained in the above-mentioned fourth to eleventh aspects can be similar to the technical effects obtained by the corresponding technical means in the first aspect, or the second aspect, or the third aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] Figure 1 This is a schematic diagram of the architecture of a network system provided by an embodiment of the present application;

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

[0065] Figure 3 This is a schematic diagram of a server cluster scenario provided by an embodiment of the present application;

[0066] Figure 4 This is a schematic diagram of a scenario of a strict forwarding path in a service chain provided by an embodiment of the present application;

[0067] Figure 5 This is a schematic diagram of a scenario of a loose forwarding path in a service chain provided by an embodiment of the present application;

[0068] Figure 6 This is a flow chart of a method for a service node to publish service resource status provided by an embodiment of the present application;

[0069] Figure 7 This is a schematic diagram of the format of an extended prefix TLV in the OSPF protocol provided in an embodiment of the present application;

[0070] Figure 8 This is a schematic diagram of the format of an extended network reachable TLV in the IS-IS protocol provided in an embodiment of the present application;

[0071] Figure 9 This is a schematic diagram of the format of a BGP update message in non-MP BGP defined in RFC4271 provided in an embodiment of the present application;

[0072] Figure 10This is a schematic diagram of the format of a BGP update message in MP BGP defined in RFC4271 provided in an embodiment of the present application;

[0073] Figure 11 This is a flow chart of a service node issuing a notification message provided in an embodiment of the present application;

[0074] Figure 12 This is a flow chart of a method for forwarding a message provided in an embodiment of the present application;

[0075] Figure 13 This is a schematic diagram of the structure of a forwarding node provided in an embodiment of the present application;

[0076] Figure 14 This is a schematic diagram of the structure of a controller provided in an embodiment of the present application;

[0077] Figure 15 This is a schematic diagram of the structure of a service node provided in an embodiment of the present application;

[0078] Figure 16 This is a structural diagram of a network device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0079] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0080] Before explaining the embodiments of the present application in detail, the application scenarios of the embodiments of the present application are first explained.

[0081] Currently, the massive amount of data transmission, analysis, and storage generated by the ever-increasing number of terminal devices poses a significant challenge to traditional networks. Terminal devices can be installed with various business applications, which then request specific services from service nodes. Due to the limited resources of a single, decentralized service node, it is difficult to guarantee the quality of the services provided to terminal devices. Therefore, it is necessary to deploy service nodes of varying sizes at different locations close to the terminal devices. These service nodes can provide the same service to meet the needs of a large number of terminal devices. Furthermore, the same service node can offer multiple different services, enabling the provision of personalized services to terminal devices across a global network. In particular, with the development of cloud and edge computing, service nodes can be flexibly deployed on various mobile edge computing (MEC) devices with computing capabilities and on the central cloud, providing a variety of services to terminal devices.

[0082] The method for forwarding messages provided in the embodiments of the present application is applicable to the scenario described above where multiple service nodes are deployed for the same service. In this case, how to select a service node from these multiple service nodes to process the data message will, to a certain extent, affect the processing efficiency of the data message, thereby affecting the quality of the service provided to the terminal device.

[0083] Figure 1 This is a schematic diagram of the architecture of a network system provided by an embodiment of the present application. Figure 1 As shown, the network system 100 includes a terminal device 101, a forwarding node 102, and a service node 103. The terminal device 101 and the forwarding node 102 communicate with each other via a wireless or wired connection. The forwarding node 102 and the service node 103 communicate with each other via a wired or wireless connection.

[0084] In a specific implementation, the terminal device 101 is a user-side device. Various business applications are installed on the terminal device 101. The terminal device can send a service request triggered by any business application to the forwarding node 102. When the forwarding node 102 receives the service request, it determines all business nodes 103 in the network that can provide the service indicated by the service identifier based on the service identifier carried in the service request, and obtains multiple business nodes 103. These multiple business nodes 103 can specifically be servers corresponding to the business application. Then, based on the business resource status published by these multiple business nodes, the forwarding node 102 selects a business transfer point from these multiple business nodes 103 as the target business node, and forwards the business request to the target business node. After receiving the business request, the target business node processes the business request, thereby enabling the target business node to provide the service to the terminal device. The explanation of the business resource status will be explained in detail later and will not be elaborated here.

[0085] The above implementation can be applied to Figure 2 In the server scenario shown or Figure 3 In the server cluster scenario shown in Figure 2 In the scenario shown, a router or other gateway is equivalent to a forwarding node 102, and each server is equivalent to a service node 103. Each server is used to provide the services required for installing an application (APP) on a terminal device. Figure 2 The services required by the APP in the example are equivalent to the service resources managed by the server. Through the above implementation, the router 102 can select a server 103 from the various servers 103 to process the service request, so that the selected server 103 processes the service for the terminal device.

[0086] exist Figure 3In the scenario shown, the gateway (GW) is equivalent to the forwarding node 102, and the server cluster master node connected to each data center gateway (DCGW) is equivalent to the service node 103. Each server in the server cluster can provide the services required for the APP, and the server cluster master node provides a unified communication interface to the outside world. Figure 3 The services required by the APP in the application are equivalent to the service resources managed by each server in the server cluster. The server cluster master node publishes the service resource status of the service resources managed by each server in the server cluster to the GW through the DCGW. Through this implementation, GW 102 can select a server cluster master node connected to DCGW 103 from among the various DCGWs 103 to process the service request, so that a server in the server cluster attached to the selected DCGW 103 can process the service. Figure 3 The application scenario shown can also be called a mobile edge computing scenario.

[0087] In another specific implementation, Figure 1 The illustrated network system can also be applied to service function chain (SFC) technology. For ease of explanation, SFC technology is briefly described here. SFC technology provides ordered service functions (SFs) to the application layer. These SFs are also called services or services. SFs on network devices are logically connected to form an ordered combination of SFs, which is known as a service chain. Service chain information is added to the original data message, allowing the message to sequentially pass through the devices providing the SFs along the path specified in the service chain.

[0088] The service chain includes multiple ordered SFs, including firewalls (FWs), load balancers (LBs), intrusion prevention systems (IPSs), and deep packet inspections. Each SF can be implemented by one or more service function forwarders (SFFs) in the network. SFFs can be network forwarding devices such as routers or switches. An SFF can support one or more SFs, which can be the same or different.

[0089] To avoid confusion between the SFs supported by an SFF and the service functions implemented by the SFs supported by the SFF, each SF supported by the SFF is referred to as an SF instance. Furthermore, the one or more SF instances supported by an SFF can also be interpreted as one or more SF instances corresponding to an SFF, or one or more SF instances managed by an SFF.

[0090] It should be noted that in current SFC technology, the controller can calculate the forwarding path for data packets, which is also called the service function path (SFP). This scheduling method is called centralized scheduling. In centralized scheduling, the controller calculates the forwarding path for data packets in two ways: strict and loose.

[0091] The strict type means that the controller clearly specifies which SF instance corresponds to which SFF to process the data message. Figure 4 This is a schematic diagram of a strict forwarding path provided by an embodiment of the present application. Figure 4 As shown in the figure, in a strict forwarding path, the controller specifies that the SF1 instance corresponding to SFF1 first processes the data message, then the SF2 instance corresponding to SFF2 continues to process the data message, and finally the SF3 instance corresponding to SFF3 processes the data message. In this case, the strict forwarding path is: SFF1 → SF1 instance → SFF1 → SFF2 → SF2 instance → SFF2 → SFF3 → SF3 instance → SFF3.

[0092] When the method provided in the embodiment of the present application is applied to the scenario of the above-mentioned strict forwarding path, each SFF is equivalent to Figure 1 In the service node, the SF instance corresponding to each SFF is the service resource managed by each SFF. Each SFF can publish the service resource status of each corresponding SF instance to the controller, so that the controller can determine the strict forwarding path based on the service resource status of each SF instance corresponding to each SFF.

[0093] The loose type means that the controller does not specify which SFF corresponds to which SF instance to process the data message. It only specifies multiple ordered SFs in the forwarding path of the data message. As for which SFF corresponds to which SF instance to process the data message, the underlying SFF will select it. Figure 5 This is a schematic diagram of a loose forwarding path provided by an embodiment of the present application. Figure 5As shown in the figure, it is assumed that the loose forwarding path sent by the controller is: SF1-SF2. If the data message has been processed by the SF1 instance corresponding to SFF1 (how to determine which SF1 instance corresponding to SFF1 processes the data message is not explained here), SFF1 needs to forward the data message to the next SFF to implement SF2 processing on the data message. Figure 5 As shown in the figure, there are currently three SF2 instances corresponding to SF2, and these three instances are deployed on three SFFs, namely SFF2, SFF3, and SFF4. At this time, SFF1 can select an SFF from these three SFFs to forward the data message, so that the SF2 instance corresponding to the selected SFF can process the data message.

[0094] When the method provided in the embodiment of the present application is applied to the above loose scheduling scenario, Figure 1 The terminal device 101 in the example is still a user-side device, and the terminal device is used to send data messages. The forwarding node 102 can be an SFF that manages an SF instance of a certain service function in a loose forwarding path, or it can be an ingress node in an SFC domain, such as a service classifier. The service node 103 is a plurality of SFFs that manage target SF instances, and the target SF instance is the SF instance of the next service function to be implemented on the loose forwarding path. At this time, when the forwarding node 102 receives the data message, it can determine the service resource status of the target SF instance published by each SFF103 based on the service resource status of each corresponding SF instance published by each SFF103, and obtain the target service resource status published by each SFF103. This allows the forwarding node 102 to select one SFF103 from these multiple SFF103s to continue processing the data message. That is, a service node is selected from multiple service nodes 103 to continue processing the data message.

[0095] It should be noted that Figure 1 The network shown may include a plurality of forwarding nodes 102, Figure 1 In the description, only one forwarding node 102 is used as an example. Figure 1 The service node 103 connected to the forwarding node 102 in the network shown may include multiple service nodes 103. Figure 1 The embodiment of the present application does not limit the number of forwarding nodes included in the network and the number of service nodes connected to each forwarding node.

[0096] in addition, Figure 1The terminal device 101 in the example may also be a mobile phone, tablet computer, desktop computer, etc. The forwarding node 102 may be a device with forwarding function such as a router, switch, gateway, etc. The service node may be a device such as a computer or server.

[0097] It should be noted that Figure 1 The forwarding node shown is a forwarding node close to the user side, that is, the forwarding node is the entry node in the network for the data message sent by the terminal device.

[0098] in addition, Figure 1 Other forwarding nodes ( Figure 1 (not shown in the figure), in this scenario, after determining the target service node, the forwarding node 102 forwards the data message to other forwarding nodes, and the other forwarding nodes forward the data message to the target service node.

[0099] exist Figure 1 In the network system shown, since the current service network and the underlying network that carries the service are completely decoupled, the underlying network that carries the service can only select the target service node to forward the message according to the principle of proximity or the principle of balanced load sharing. However, if the forwarding node selects the target service node according to the principle of proximity or the principle of balanced load sharing, it is easy for a large number of data messages to be forwarded to the same service node, which in turn leads to high data processing pressure at a single service node. To avoid this situation, in an embodiment of the present application, the forwarding node can perceive the service resource status of the service node. The service resource status can indicate the resource usage of the service resources managed by the service node. The service resources are resources that can process the service. The actual processing capacity of the service node can be perceived through this resource usage. For example, when the service resource status indicates that the service resources of the service node are more occupied, it indicates that the service node's current ability to process more data messages is low. When the service resource status indicates that the service resources of the service node are less occupied, it indicates that the service node's current ability to process more data messages is high. Since the forwarding node can perceive the service resource status of the service node, the forwarding node can take the service resource status of each service node into consideration when selecting the target service node, thereby avoiding the situation where the data pressure at a single service node is too high. In this way, the method for forwarding messages provided in the embodiment of the present application can be applied in the scenario where the service network and the underlying network of the service carrier are integrated, thereby achieving the technical effect of reducing the data processing pressure of the service nodes in the service network by forwarding messages by the forwarding node in the service carrier network.

[0100] Based on the above, it can be seen that the technical solution provided by the embodiments of this application includes two parts. One part describes how a forwarding node perceives the service resource status published by a service node. The other part describes how a forwarding node selects a target service node based on the service resource status published by each service node. The following two embodiments illustrate these two parts, respectively.

[0101] Figure 6 This is a flow chart of a method for a service node to publish service resource status provided by an embodiment of the present application. Figure 1 Any service node in the network system shown. Figure 6 As shown, the method includes the following steps.

[0102] Step 601: A service node determines a service resource status at a current time. The service resource status of the service node indicates resource usage of service resources managed by the service node.

[0103] In the embodiment of the present application, in order to enable the forwarding node to take the current service resource status of each service node into consideration when forwarding data packets, the service node can detect the current service resource status in real time, so as to publish its own service resource status in the following step 602.

[0104] In a specific implementation, the service node may periodically determine the current service resource status. The period for the service node to determine the service resource status may be arbitrarily set and is not limited in the present embodiment.

[0105] In addition, in a specific implementation, the service resource status in the embodiment of the present application includes an overload state and a light load state. The overload state refers to the current resource occupancy rate of the service resources managed by the service node exceeding the first occupancy rate threshold, indicating that the current service to be processed exceeds the actual processing capacity of the service node. The light load state refers to the current resource occupancy rate of the service resources managed by the service node below the second occupancy rate threshold, indicating that the service to be processed has not exceeded the actual processing capacity of the service node.

[0106] The resource occupancy rate can be represented by the number of data packets to be processed, and the first occupancy rate threshold and the second occupancy rate threshold can be represented by quantity thresholds. In this scenario, a specific implementation method for determining the service resource status can be: the service node determines the number of data packets to be processed corresponding to the service resources it manages, and if the number of data packets to be processed exceeds the first quantity threshold, the service resource status at the current time is determined to be an overloaded state; if the number of data packets to be processed is lower than the second quantity threshold, the service resource status at the current time is determined to be a lightly loaded state.

[0107] In addition, the service resource state in this application may refer to a unified service resource state of all service resources managed by the service node. In this scenario, the number of pending data packets corresponding to the service resources managed by the service node includes the number of pending data packets corresponding to all service resources managed by the service node.

[0108] Optionally, the service resource status in this application may also refer to the service resource status of a service node on a certain service resource. In this scenario, the number of pending data packets corresponding to the service resources managed by the service node includes the number of pending data packets corresponding to each service resource. In other words, the service resource status of a service node includes the service resource status corresponding to each service resource managed by the service node.

[0109] In addition, the service node can also characterize resource usage based on other factors. The embodiments of the present application do not limit the specific implementation method of resource usage. For example, resource usage can also be characterized based on the capacity of the available memory of the service node. In this case, the resource occupancy rate is characterized by the capacity of the available memory, and the first occupancy rate threshold and the second occupancy rate threshold are characterized by the capacity threshold. If the capacity of the available memory exceeds the first capacity threshold, the service resource state at the current time is determined to be a lightly loaded state. If the capacity of the available memory is lower than the second capacity threshold, the service resource state at the current time is determined to be an overloaded state.

[0110] The first occupancy rate threshold and the second occupancy rate threshold may be the same or different, and this embodiment of the present application does not limit this.

[0111] In addition, the service resource status provided in the embodiments of the present application can also be directly reflected using the resource utilization rate of the service resources managed by the service node. In this case, determining the resource utilization rate is equivalent to determining the service resource status. For example, for a service node, if the resource utilization rate of the service resources managed by the service node is determined to be 50%, the service resource status is determined to be 50%. In this implementation, the service node does not need to determine a more coarse-grained status based on the resource utilization rate, and directly uses the specific value of the determined resource utilization rate as a service resource status.

[0112] Step 602: The service node publishes a notification message, which carries the service resource status of the service resources managed by the service node.

[0113] In a specific implementation, after determining the service resource status in step 601, the service node can send the notification message to the forwarding node to publish the notification message. This has the technical effect of: after determining the current service resource status, the service node can publish the service notification message without performing any other operations, thereby improving the efficiency of publishing the notification message.

[0114] In another specific implementation, a service node may only issue a notification message when the service resource status changes. That is, after determining the current service resource status in step 601, the service node must also determine whether the current service resource status differs from the previous service resource status. If the current service resource status differs from the previous service resource status, the notification message issue operation is triggered. If the current service resource status differs from the previous service resource status, the notification message issue operation is not triggered. This has the technical effect of reducing the number of notification messages issued by the service node, thereby reducing network resource usage.

[0115] For example, if the service resource status includes a light load state and an overload state, if the service resource status determined at the current time is one of the light load state and the overload state, but the service resource status determined before the current time is the other of the light load state and the overload state, then the operation of issuing a notification message may be triggered. If the service resource status determined before the current time and the service resource status determined at the current time are the same service resource status, then the operation of issuing a notification message is not triggered.

[0116] It should be noted that, when the service resource status of a service node includes the service resource status corresponding to each service resource managed by the service node, the difference between the service resource status at the current time and the service resource status before the current time may mean that the service resource status at the current time of any service resource is different from the service resource status before the current time. In this case, the published notification message may carry not only the service resource status at the current time of the service resource whose service resource status has changed, but also the service resource status of other service resources whose service resource status has not changed, or may not carry the service resource status of other service resources whose service resource status has not changed.

[0117] In addition, when a service node issues a notification message carrying a service resource status, the notification message may also include a service resource identifier for each of one or more service resources managed by the service node. Optionally, the service resource status of the service node and the service resource identifiers of the service resources managed by the service node may also be issued in different types of notification messages, which are not specifically limited in the embodiments of the present application.

[0118] In addition, when the business resource status provided in the embodiment of the present application is the business resource status for a certain business resource, the business resource identifier carried in the notification message and the business resource status are in a one-to-one correspondence. That is, the notification message carries the business resource identifier of each business resource in one or more business resources managed by any business node, and the business resource status corresponds to each business resource identifier. The correspondence between the business resource status and each business resource identifier here means that each business resource identifier corresponds to a business resource status, and the business resource status corresponding to each business identifier indicates the resource usage of the business resource indicated by the corresponding business resource identifier managed by the business node.

[0119] Optionally, when the service resource status provided in the embodiment of the present application is a unified service resource status for all service resources managed by the service node, all service resource identifiers carried in the notification message correspond to the same service resource status, which will not be described in detail here.

[0120] In an embodiment of the present application, the existing protocol can be extended to enable a service node to publish a notification message, and the notification message carries both the service resource status of the service node and the service resource identifier of the service resource managed by the service node. It should be noted that the following examples are all described using the example of a notification message carrying both the service resource status of the service node and the service resource identifier of the service resource managed by the service node. As described above, the service resource identifier and service resource status carried in the notification message may or may not correspond one-to-one. The following examples are not limiting.

[0121] For example, when the service node supports the Open Shortest Path First (OSPF) protocol, the aforementioned notification message is an extended prefix type-length-value (TLV), the address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by the service node, and the extended sub-TLV in the extended prefix TLV or the flags in the extended prefix TLV carry the service resource status of the service resource managed by the service node.

[0122] Figure 7 This is a schematic diagram of the format of an extended prefix TLV in the OSPF protocol provided by an embodiment of the present application. Figure 7As shown, the extended prefix TLV includes a type field, a length field, a route type field, a prefix length field, a flag field, an address prefix field, a sub-TVL, and the like.

[0123] exist Figure 7 In the extended prefix TLV shown, some fields can be extended from the address prefix field to carry the service resource identifier of the service resource managed by the service node. Some fields can be extended from the tag field to carry the service resource status of the service resource managed by the service node. Alternatively, a sub-TLV can be extended to carry the service resource status of the service resource managed by the service node.

[0124] The above is only one possible extension method for the extended prefix TLV. The embodiment of the present application does not limit the extension method of the extended prefix TLV. It only requires that the extended prefix TLV can carry the business resource identifier of the business resource managed by the business node and the business resource status of the business resource managed by the business node. For example, optionally, two sub-TLVs can be extended in the extended prefix TLV to carry the business resource 0 identifier of the business resource managed by the business node and the business resource status of the business resource managed by the business node.

[0125] For example, when the service node supports the Intermediate System to Intermediate System (ISIS) protocol, the aforementioned notification message is the extended IP reachability type length value TLV, the prefix in the extended IP reachability TLV carries the service resource identifier of the service resource managed by the service node, and the sub-TLV in the extended IP reachability TLV carries the service resource status of the service resource managed by the service node.

[0126] Figure 8 This is a schematic diagram of the format of an extended network reachable TLV in an IS-IS protocol provided in an embodiment of the present application. The extended network reachable TLV is an extended network reachable TLV of type 135, such as Figure 8 As shown, the extended network reachable TLV includes a metric field, a prefix field, a sub-TLV field, etc.

[0127] The above is only one possible extension method for the extended network reachable TLV. The embodiment of the present application does not limit the extension method of the extended network reachable TLV. It only requires that the extended extended network reachable TLV can carry the business resource identifier of the business resource managed by the business node and the business resource status of the business resource managed by the business node. For example, optionally, two sub-TLVs can be extended in the extended network reachable TLV to carry the business resource identifier of the business resource managed by the business node and the business resource status of the business resource managed by the business node, respectively.

[0128] As another example, when the service node supports the Border Gateway Protocol (BGP), the aforementioned notification message is a BGP update message message. The network layer reachability information (NLRI) in the BGP update message message carries the service resource identifier of the service resource managed by the service node, and the path attribute TLV in the BGP update message message carries the service resource status of the service resource managed by any service node.

[0129] Currently, BGP includes multiprotocol (MP) BGP and non-MP BGP. Figure 9 This is a schematic diagram of the format of a BGP update message in a non-MP BGP defined in a request for comments (RFC) 4271 provided in an embodiment of the present application. Figure 9 As shown, the BGP update message includes a withdrawn routes length field, a withdrawn routes field, a path attribute length field, a path attribute field, an NLRI field, a path attribute flag field, and a route attribute TLV field.

[0130] At this time, you can Figure 9 The NLRI field carries the service resource identifier of the service resource managed by the service node. Figure 9 The routing attribute TLV in carries the service resource status of the service resource managed by the service node.

[0131] The above is only one possible extension method for the BGP update message message in non-MP BGP. The embodiment of the present application does not limit the extension method of the BGP update message message in non-MP BGP. It only requires that the BGP update message message in the extended non-MP BGP can carry the business resource identifier of the business resource managed by the business node and the business resource status of the business resource managed by the business node.

[0132] In addition, in non-MP BGP scenarios, if a service node no longer manages a service resource, the service resource identifier of the service resource no longer managed can be carried in the Figure 9 The service node is set to the withdraw route field in the service resource identifier to notify the forwarding node that the service node no longer manages the service resource indicated by the service resource identifier.

[0133] Figure 10 This is a schematic diagram of the format of a BGP update message message in MP BGP defined in Request for Comments (RFC) 4271, provided in an embodiment of the present application. As shown in Figure 6, the BGP update message message in MP BGP includes an address family identifier field, a subsequent address family identifier subsequence field, a length of nexthop network address field, a nexthop network address field, a reserved field, an NLRI field, a path attribute flag field, and a path attribute TLV field.

[0134] At this time, you can Figure 10 The NLRI field carries the service resource identifier of the service resource managed by the service node. Figure 10 The routing attribute TLV in carries the service resource status of the service resource managed by the service node.

[0135] The above is only one possible extension method for the BGP update message in MP BGP. The embodiment of the present application does not limit the extension method of the BGP update message in MP BGP. It only requires that the BGP update message in the extended MP BGP can carry the service resource identifier of the service resource managed by the service node and the service resource status of the service resource managed by the service node.

[0136] In addition, in an MP BGP scenario, if a service node no longer manages a service resource, it can carry the service resource identifier of the no longer managed service resource in the withdrawal route field of the MP unreachability NLRI (MP_UNreach_NLRI) to notify the forwarding node that the service node no longer manages the service resource indicated by the service resource identifier. The specific format of the MP_UNreach_NLRI is not described in detail here.

[0137] The above is an extension of existing notification messages in several protocols to obtain the notification message provided in the embodiments of the present application. Optionally, a new message can also be defined in various protocols to represent the notification message provided in the embodiments of the present application. It is only necessary to redefine the service resource identifier of the service resource managed by the service node and the service resource status of the service resource managed by the service node in the message. Examples are not given here one by one.

[0138] It should be noted that anycast technology in current related art refers to communication between a sender and a group of nearest receivers in the IPv6 protocol. The definition of anycast in related art is: when a unicast address is assigned to more than one interface, packets sent to that interface are routed by forwarding nodes to the "nearest" destination interface as measured by the routing protocol.

[0139] The message forwarding method provided in the embodiments of this application can also be applied to the aforementioned anycast technology. This represents an improvement to the related anycast technology. The anycast technology involved in the embodiments of this application allows a terminal device to send a data message to a target service node within a group of service nodes. This target service node is selected by a forwarding node in the routing system based on the service resource status published by each service node, and each service node is transparent to the terminal device.

[0140] When the method for forwarding a message provided in an embodiment of the present application is applied to the above-mentioned improved anycast technology, the target service identifier carried in the message sent by the terminal device is the anycast network (anycast IP) address.

[0141] Optionally, in an embodiment of the present application, the service identifier may be specifically the name of the service or other symbols other than the anycast address that can uniquely identify the service, such as a service identity (ID), etc., which will not be explained one by one here.

[0142] Figure 11 This is a flow chart of a service node issuing a notification message provided by an embodiment of the present application. Figure 11As shown, the network includes a gateway (GW), data center gateways (DCGW) 1 and DCGW2, service node 1, and service node 2. The GW is connected to DCGW1 and DCGW2, respectively. DCGW1 is connected to service node 1, and DCGW2 is connected to service node 2. The GW is the gateway on the terminal device side.

[0143] like Figure 11 As shown, both service node 1 and service node 2 manage service resources corresponding to the service with anycast address 10.10.10.8. Therefore, service node 1 can use the anycast address 10.10.10.8 as the service resource identifier of the service resource corresponding to the service with anycast address 10.10.10.8, and then publish the service resource status of service node 1 and the anycast address to GW through DCGW1. The service resource status published by service node 1 indicates the resource usage of the service resource corresponding to the service with anycast address 10.10.10.8 managed by service node 1. Similarly, service node 2 can publish the service resource status of service node 2 and the anycast address to GW through DCGW2. The service resource status published by service node 2 indicates the resource usage of the service resource corresponding to the service with anycast address 10.10.10.8 managed by service node 2. In this way, GW can perceive the service resource status of service node 1 and service node 2.

[0144] In addition, if Figure 11 As shown, in order to enable service node 1 and service node 2 to publish notification messages, a speaker module can be deployed at service node 1 and service node 2 respectively. Through the speaker module, service node 1 and service node 2 can publish notification messages to the outside.

[0145] Figure 11 The service node is an example of a server corresponding to a service application installed on a terminal device. Optionally, in another specific implementation method, in a centralized scheduling scenario of a service chain, if the controller issues a loose forwarding path, the loose forwarding path includes ordered SFs. It is assumed that the forwarding node is an SFF or an entrance to an SFC domain that manages a first SF instance corresponding to a first SF on a loose forwarding path, and the service node is a plurality of SFFs that manage a second SF instance corresponding to a second SF on a loose forwarding path. In the case where the forwarding node is an SFF that manages a first SF instance corresponding to a first SF on a loose forwarding path, the second SF is the next SF of the first SF on the loose forwarding path. In the case where the forwarding node is an entrance to an SFC domain, the second SF is the first SF on the loose forwarding path.

[0146] In this scenario, each service node can issue a notification message indicating the service resource status of the second SF instance it manages to the forwarding node. This allows the forwarding node to flexibly schedule services based on the service resource status of each service node, preventing excessive load on a single SFF. The specific implementation of how each service node issues a notification message indicating the service resource status of the second SF instance it manages can be found in the previous section and will not be further elaborated here.

[0147] It should be noted that the above embodiment is described by taking the example of a service node issuing a notification message to a forwarding node. In this scenario, the notification message is used to instruct the forwarding node to select a target service node from multiple service nodes to forward the message based on the service resource status issued by each service node in the multiple service nodes. Optionally, the service node may also issue the notification message to the controller. The notification message carries the service resource status of the service resources managed by the service node. The service resource status indicates the resource usage of the service resources managed by the publisher. In this scenario, the notification message is used to instruct the controller to issue forwarding instruction information of the message to the forwarding node based on the service resource status issued by each service node. The forwarding instruction information is used to instruct the forwarding node how to select a target service node from multiple service nodes to forward the message.

[0148] For example, the forwarding instruction information may be the service resource status published by each service node, so that the forwarding node selects a target service node from among the multiple service nodes to forward the message based on the service resource status published by each service node. In this case, the forwarding node is equivalent to obtaining the service resource status published by each service node from the controller.

[0149] As another example, the forwarding indication information can be the forwarding path of the message. In this case, the controller selects a target service node from multiple service nodes to forward the message based on the service resource status published by each service node. Therefore, the controller can determine the forwarding path of the message. This example is specifically applicable to the strict forwarding path scenario in the aforementioned SFC technology, and will not be repeated here.

[0150] In summary, in the embodiments of the present application, a service node can publish the service resource status of its managed service resources to a forwarding node, thereby enabling the forwarding node to perceive the service resource status of the service node. Therefore, the forwarding node can take the service resource status of each service node into consideration when selecting a target service node, thereby avoiding the situation where a single service node is overwhelmed with data.

[0151] Figure 6 The embodiment shown is used to explain how a forwarding node perceives the service resource status of a service node. The following explains how a forwarding node forwards data packets based on the service resource status published by each service node.

[0152] Figure 12 This is a flow chart of a method for forwarding a message provided by an embodiment of the present application. Figure 12 As shown, the method includes the following steps.

[0153] Step 1201: The forwarding node receives a message from a terminal device, where the message carries a target service identifier.

[0154] The target service identifier carried in the message is used to indicate that the message currently needs to be processed by the service indicated by the target service identifier. Figure 2 As can be seen from the illustrated embodiment, the target service identifier may be an anycast address, or may be a service name, or other symbols other than the anycast address that can uniquely identify the service.

[0155] Since there are multiple different service nodes in the network that manage service resources and can provide the service indicated by the target service identifier, the forwarding node needs to select a service node from these multiple different service nodes to process the data message when receiving the data message.

[0156] For example, for Figure 11 When the GW receives a data message sent by a terminal device, the GW needs to determine whether the data message should be processed by service node 1 or service node 2. The specific determination method will be described in detail in the following step 1202.

[0157] Step 1202: The forwarding node obtains the target service resource status published by each service node among the multiple service nodes. The target service resource status indicates the resource usage of the target service resource managed by each service node. The target service resource is the resource in the network system that can process the service indicated by the target service identifier.

[0158] based on Figure 2 As can be seen from the illustrated embodiment, the forwarding node can obtain the service resource status of the service resources managed by each service node based on the notification messages issued by each service node. In this way, the forwarding node can store the service resource status of the service resources managed by each service node. Therefore, in one specific implementation, in step 1202, the forwarding node can obtain the target service resource status of each service node from the stored service resource status.

[0159] Optionally, in another specific implementation, if the service node issues a notification message to a control node in the network, the forwarding node may obtain the target service resource status of each service node from the control node. Detailed description is omitted here.

[0160] In addition, based on Figure 2 As can be seen from the illustrated embodiment, the service resource status published by a service node can be a unified service resource status for all service resources managed by the service node. In this scenario, in step 1202, the forwarding node can directly use the service resource status published by each service node as the target service resource status published by each service node. Alternatively, the service resource status published by a service node can be the service resource status for each service resource among all service resources managed by the service node. In this scenario, in step 1202, the forwarding node can obtain the service resource status corresponding to the target service resource published by each service node from the service resource status of each service resource among all service resources managed by each service node, thereby obtaining the target service resource status of each service node.

[0161] Step 1203: The forwarding node selects a target service node from the multiple service nodes according to the target service resource status published by each service node.

[0162] In a specific implementation, when the service resource status includes a light load status and an overload status, the forwarding node may select a service node whose target service resource status is a light load status from the multiple service nodes as the target service node.

[0163] For example, in Figure 11 In the network shown, when a forwarding node receives a data packet, if the target service resource status of service node 1 is overloaded, the forwarding node determines service node 2 as the target service node. Alternatively, if the target service resource status of service node 2 is overloaded, the forwarding node determines service node 1 as the target service node.

[0164] Optionally, if there are two or more service nodes whose target service resource status is a light-loaded state among multiple service nodes, the forwarding node needs to continue to select a service node as the target service node. Therefore, in a specific implementation method, in order to reduce the transmission delay of the data message and thus improve the service response speed of the data message, the forwarding node can determine the priority of each service node based on the network performance of each service node. Among them, the higher the priority of the service node, the better the network performance. The network performance of any service node indicates the network performance on the transmission path between the forwarding node and the corresponding service node. In this way, the target service node finally selected by the forwarding node is the service node with the highest priority among the service nodes whose target service resource status is a light-loaded state among the multiple service nodes.

[0165] In this scenario, the forwarding node selects the target service node by checking the target service resource status of each service node in descending order of priority, and determining the service node whose target service resource status is lightly loaded for the first time as the target service node.

[0166] For example, in the managed service resources, there are three service nodes for the service indicated by the target service identifier in processing step 1201, labeled service node 1, service node 2, and service node 3. The priority of these three service nodes is ranked as follows: service node 1 > service node 2 > service node 3. Furthermore, the target service resource status of service node 1 is overloaded, the target service resource status of service node 2 is lightly loaded, and the target service resource status of service node 3 is lightly loaded. At this point, the forwarding node first checks, in descending order of priority, the service node with a lightly loaded target service resource status that is service node 2. Therefore, the forwarding node selects service node 2 as the target service node.

[0167] In addition, the network performance of any of the above-mentioned service nodes includes one or more of the transmission delay on the transmission path between the forwarding node and the corresponding service node, the total cost (metric) of the transmission path between the forwarding node and the corresponding service node, and the remaining bandwidth of the transmission path between the forwarding node and the corresponding service node.

[0168] For example, for multiple service nodes that manage service resources to process the service indicated by the target service identifier in step 1201, the total cost value of the transmission path from the forwarding node to each service node is determined. The service nodes are then sorted in ascending order of total cost value to obtain the service nodes sorted in descending order of priority. The total cost value of the transmission path from the forwarding node to each service node can be determined based on the forwarding table entries on the forwarding nodes, which will not be described in detail here.

[0169] For another example, for multiple service nodes that manage service resources to process the service indicated by the service identifier in step 1201, the transmission delay along the transmission path from the forwarding node to each service node is determined. The service nodes are then sorted in ascending order of transmission delay to obtain the service nodes sorted in descending order of priority. The transmission delay along the transmission path from the forwarding node to each service node can be determined using flow-based detection technology, which will not be described in detail here.

[0170] In addition, for a service node connected to a forwarding node, the priority of the service node can be directly set to the highest.

[0171] In addition, optionally, if there are two or more service nodes in the multiple service nodes whose service resource status is lightly loaded, in another specific implementation, the forwarding node may select a service node from the service nodes in the lightly loaded service resource status as the target service node according to a preset load sharing ratio. Figure 11 In the network shown, the GW determines that the service resource status of both service nodes 1 and 2 is lightly loaded. Assume that the preset load sharing ratio is service node 1:service node 2 = 2:3. In this case, the forwarding node selects a service node based on a 40% probability of selecting service node 1 and a 60% probability of selecting service node 2. Therefore, if the service resource status of both service nodes is lightly loaded for an extended period, 40% of the traffic will flow to service node 1 and 60% to service node 2 during this period.

[0172] In addition, when the service resource status is represented by a specific value of resource occupancy, the forwarding node can set an occupancy threshold and then determine which service nodes can process the data message based on the occupancy threshold. The specific implementation method will not be described in detail.

[0173] Step 1204: The forwarding node forwards the message to the target service node.

[0174] After determining the target service node in step 1202, the forwarding node can forward the message to the target service node. The specific process of the forwarding node forwarding the message to the target service node will not be described in detail here.

[0175] In summary, in this application example, the forwarding node is able to perceive the service resource status published by the service node, which indicates the resource usage of the service resources managed by the service node. Because the forwarding node is able to perceive the service resource status published by the service node, the forwarding node can take the service resource status of each service node into consideration when selecting the target service node, thereby avoiding the situation where a single service node is under heavy data pressure.

[0176] Figure 12 The embodiment shown can be applied in Figure 2 or Figure 3 In the scenario shown, or applied to Figure 5In the scenario of the loose forwarding path in the business chain shown. When the method provided in the embodiment of the present application is applied to the strict forwarding path scenario in the business chain, the controller can obtain the business resource status of one or more business function instances (equivalent to business resources) managed by each SFF (equivalent to a business node). The controller determines the strict forwarding path for the business chain based on the business resource status of one or more business function instances managed by each SFF, and publishes the strict forwarding path as the aforementioned forwarding indication information to each node in the SFC domain. Among them, for any business function on any business chain, the controller selects a business function instance managed by an SFF from each SFF that manages the business function instance to implement the specific implementation method of the business function, which can be referred to. Figure 12 The implementation method of selecting the target service node in the embodiment will not be described in detail here.

[0177] Figure 13 This is a schematic diagram of the structure of a forwarding node provided in an embodiment of the present application. Figure 13 As shown, the forwarding node 1300 includes:

[0178] The receiving module 1301 is used to receive a message from a terminal device, which carries a target service identifier. Figure 12 Step 1201 in the embodiment will not be described in detail here.

[0179] The acquisition module 1302 is used to obtain the target service resource status published by each service node in the multiple service nodes. The target service resource status indicates the resource usage of the target service resource managed by each service node. The target service resource is the resource in the network system that can process the service indicated by the target service identifier. For specific implementation methods, please refer to Figure 12 Step 1202 in the embodiment will not be described in detail here.

[0180] The selection module 1303 is used to select a target service node from multiple service nodes according to the target service resource status published by each service node. Figure 12 Step 1203 in the embodiment will not be described in detail here.

[0181] The sending module 1304 is used to forward the message to the target service node. Figure 12 Step 1204 in the embodiment will not be described in detail here.

[0182] Optionally,

[0183] The receiving module is further used to receive a notification message sent from any service node in the network system, the notification message carries the service resource status of the service resources managed by any service node, and saves the service resource status published by any service node;

[0184] The acquisition module is used to:

[0185] The target business resource state of each business node is obtained from the saved business resource state.

[0186] Optionally,

[0187] The notification message also carries a service resource identifier of each service resource in one or more service resources managed by any service node, a service resource status corresponding to each service resource identifier, and a service resource status corresponding to each service resource identifier indicating resource usage of the service resource indicated by the corresponding service resource identifier managed by any service node;

[0188] The acquisition module is used to:

[0189] From the saved business resource states, the business resource states corresponding to the target business resources issued by each business node are obtained to obtain the target business resource states of each business node.

[0190] Optionally,

[0191] When any service node supports the Open Shortest Path First (OSPF) protocol, the notification message is an extended prefix type length value (TLV). The address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by any service node. The extended sub-TLV in the extended prefix TLV or the tag bit in the extended prefix TLV carries the service resource status of the service resource managed by any service node.

[0192] Optionally,

[0193] When any service node supports the Intermediate System to Intermediate System (ISIS) protocol, the notification message is an extended network reachable type length value (TLV). The prefix in the extended network reachable TLV carries the service resource identifier of the service resource managed by any service node, and the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by any service node.

[0194] Optionally, when any business node supports the Border Gateway Protocol BGP, the notification message is a BGP update message message, the network layer reachability information NLRI in the BGP update message message carries the business resource identifier of the business resources managed by any business node, and the routing attribute TLV in the BGP update message message carries the business resource status of the business resources managed by any business node.

[0195] Optionally, BGP includes multi-protocol MP BGP and non-MP BGP.

[0196] Optionally,

[0197] The forwarding node also includes:

[0198] a determination module, configured for the forwarding node to determine the priority of each service node based on the network performance of each service node, wherein a service node with a higher priority has better network performance, and the network performance of any service node indicates the network performance on the transmission path between the forwarding node and the corresponding service node;

[0199] Select modules for:

[0200] The target service node is determined according to the target service resource status of each service node and the priority of each service node.

[0201] Optionally, the target business resource status includes a light load status and an overload status, the overload status indicates that the resource occupancy rate of the target business resource managed by the corresponding business node exceeds a first occupancy rate threshold, and the light load status indicates that the resource occupancy rate of the target business resource managed by the corresponding business node is lower than a second occupancy rate threshold.

[0202] Optionally, the network performance of any business node includes one or more of the transmission delay on the transmission path between the forwarding node and the corresponding business node, the total cost of the transmission path between the forwarding node and the corresponding business node, and the remaining bandwidth of the transmission path between the forwarding node and the corresponding business node.

[0203] Optionally, the forwarding node is a gateway GW, and the multiple service nodes are multiple servers communicating with the GW.

[0204] Optionally, the forwarding node is a gateway GW, and the multiple business nodes are multiple server cluster master nodes communicating with the GW. Each of the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW, and there are two server cluster master nodes among the multiple server cluster master nodes located in different data centers.

[0205] Optionally, the target service identifier is an anycast network address or a service name.

[0206] Optionally, the forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF, and multiple service nodes are multiple SFFs.

[0207] In summary, in the present application example, the forwarding node is able to perceive the service resource status of the service node, which indicates the resource usage of the service resources managed by the service node. Because the forwarding node is able to perceive the service resource status of the service node, the forwarding node can take the service resource status of each service node into consideration when selecting the target service node, thereby avoiding the situation where a single service node is under heavy data pressure.

[0208] It should be noted that the aforementioned embodiments illustrate the division of the functional modules into the forwarding node when forwarding messages. In actual applications, the aforementioned functions can be assigned to different functional modules as needed, i.e., the internal structure of the forwarding node can be divided into different functional modules to perform all or part of the functions described above. Furthermore, the forwarding node and the message forwarding method embodiments provided in the aforementioned embodiments are based on the same concept. The specific implementation process is detailed in the method embodiments and will not be further described here.

[0209] Figure 14 This is a schematic diagram of the structure of a controller provided in an embodiment of the present application. The controller is a controller in a network system. The network system also includes multiple service nodes. Any of the multiple service nodes manages one or more service resources. Each service resource is used to implement a service function on the service chain. Figure 14 As shown, the controller 1400 includes:

[0210] The acquisition module 1401 is used to obtain the service resource status published by each service node in the plurality of service nodes. The service resource status indicates the resource usage of the service resources managed by the publisher. The specific implementation method can refer to the above content related to the service chain, which will not be repeated here.

[0211] Publishing module 1402 is configured to publish message forwarding instruction information to the forwarding node based on the service resource status published by each service node. This forwarding instruction information is used to instruct the forwarding node on how to select a target service node from multiple service nodes to forward the message. For detailed implementation details, please refer to the aforementioned content related to the service chain and will not be repeated here.

[0212] Optionally, any one of the multiple service nodes manages one or more service resources, and each of the one or more service resources is used to implement a service function on the service chain;

[0213] The message forwarding indication information is a forwarding path for the service chain, and the forwarding path indicates which service resources in which service nodes the data message passes through for processing.

[0214] The method provided in the embodiment of the present application can be applied to the service chain technology. In the service chain technology, if the controller specifies the forwarding path of the message in a strict manner. At this time, for any service function on the service chain, the controller can select a service function instance managed by a certain service node from each service node to implement the service function based on the service resource status of the service function instance of the service function managed by each service node, thereby determining the strict forwarding path for the service chain. Among them, the strict forwarding path specifies which service function instance of which service node processes the message. The service function instance here is equivalent to the service resource managed by the service node, and the service node can be the service function forwarder in the service chain technology. In this way, the problem of high data processing pressure on some individual service nodes can be avoided, thereby improving the quality of the services provided by the service node to the terminal device.

[0215] It should be noted that the controller provided in the above embodiment, when determining a forwarding path, uses the division of the aforementioned functional modules as an example only. In actual applications, the aforementioned functions can be assigned to different functional modules as needed, that is, the internal structure of the controller can be divided into different functional modules to complete all or part of the functions described above. In addition, the controller provided in the above embodiment and the method embodiment for determining a forwarding path are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0216] Figure 15 This is a schematic diagram of the structure of a service node provided by an embodiment of the present application. The service node is any service node among the multiple service nodes included in the network system, and the network system also includes a forwarding node or a controller. Figure 15 As shown, the service node 1500 includes:

[0217] The publishing module 1501 is used to publish a notification message to the forwarding node or controller. The notification message carries the service resource status of the service resource managed by the service node. The service resource status indicates the resource usage of the service resource managed by the publisher. For specific implementation methods, please refer to Figure 6 Step 602 in the embodiment will not be described in detail here.

[0218] Among them, the notification message is used to instruct the forwarding node to select a target business node from multiple business nodes to forward the message based on the business resource status published by each business node in the multiple business nodes, or to instruct the controller to publish forwarding indication information of the message to the forwarding node based on the business resource status published by each business node, and the forwarding indication information is used to instruct the forwarding node how to select a target business node from multiple business nodes to forward the message.

[0219] Optionally, the notification message also carries the business resource identifier of each business resource in one or more business resources managed by the business node. The business resource status of the business node corresponds to each business resource identifier. The business resource status corresponding to each business resource identifier indicates the resource usage of the business resource indicated by the corresponding business resource identifier managed by the business node.

[0220] Optionally, when the service node supports the Open Shortest Path First (OSPF) protocol, the notification message is an extended prefix type length value (TLV), the address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by the service node, and the extended sub-TLV in the extended prefix TLV or the tag bit in the extended prefix TLV carries the service resource status of the service resource managed by the service node.

[0221] Optionally, when the service node supports the Intermediate System to Intermediate System ISIS protocol, the notification message is an extended network reachable type length value TLV, the prefix in the extended network reachable TLV carries the service resource identifier of the service resource managed by the service node, and the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by the service node.

[0222] Optionally, when the service node supports the Border Gateway Protocol BGP, the notification message is a BGP update message message, the network layer reachability information NLRI in the BGP update message message carries the service resource identifier of the service resource managed by the service node, and the routing attribute TLV in the BGP update message message carries the service resource status of the service resource managed by the service node.

[0223] Optionally, BGP includes multi-protocol MP BGP and non-MP BGP.

[0224] Alternatively, as Figure 15 As shown, the service node 1500 also includes:

[0225] Determination module 1502 is used by the service node to determine the service resource status at the current time; the specific implementation method can refer to Figure 6 Step 601 in the embodiment will not be described in detail here.

[0226] The publishing module 1501 is configured to execute an operation of publishing a notification message if the service resource status at the current time is different from the service resource status before the current time.

[0227] Optionally, the service resource status includes a light load status and an overload status, the overload status indicates that the resource occupancy rate of the service resources managed by the corresponding service node exceeds a first occupancy rate threshold, and the light load status indicates that the resource occupancy rate of the service resources managed by the corresponding service node is lower than a second occupancy rate threshold.

[0228] Optionally, the forwarding node is a gateway GW, and the multiple service nodes are multiple servers communicating with the GW.

[0229] Optionally, the forwarding node is a gateway GW, and the multiple business nodes are multiple server cluster master nodes communicating with the GW. Each of the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW, and there are two server cluster master nodes among the multiple server cluster master nodes located in different data centers.

[0230] Optionally, the forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF, and multiple service nodes are multiple SFFs.

[0231] In summary, in this application example, the forwarding node is able to perceive the service resource status of the service node, which indicates the resource usage of the service node. Because the forwarding node is able to perceive the service resource status of the service node, the forwarding node can take the service resource status of each service node into consideration when selecting the target service node, thereby avoiding the situation where a single service node is under high data pressure.

[0232] It should be noted that the aforementioned embodiments illustrate the division of the aforementioned functional modules into different functional modules when the service node issues a notification message. In actual applications, the aforementioned functions can be assigned to different functional modules as needed, i.e., the internal structure of the service node can be divided into different functional modules to complete all or part of the functions described above. Furthermore, the service node and the method embodiment for issuing a notification message share the same concept. The specific implementation process is detailed in the method embodiment and will not be further described here.

[0233] Figure 16 This is a schematic diagram of the structure of a network device provided in an embodiment of the present application. In the aforementioned embodiment, the forwarding node, service node and controller can be Figure 16 See the network devices shown in the figure. Figure 16 The network device includes at least one processor 1601 , a communication bus 1602 , a memory 1603 and at least one communication interface 1604 .

[0234] The processor 1601 may be a general-purpose central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.

[0235] For example, when the network device is a forwarding node in the aforementioned embodiment, the processor 1601 is used to select a target service node for sending a message based on the target service resource status published by each service node. The specific implementation method can be referred to Figure 12 Steps 1202 and 1203 in the embodiment. When the network device is a controller in the aforementioned embodiment, the processor 1601 is used to determine the strict forwarding path for the service chain based on the service resource status published by each service node. For specific implementation methods, please refer to the explanation of the service chain in the aforementioned network system architecture. When the network device is a service node in the aforementioned embodiment, the processor 1601 is used to determine the service resource status. For specific implementation methods, please refer to Figure 6 Step 601 in the embodiment.

[0236] The communication bus 1602 may include a pathway for transmitting information between the aforementioned components.

[0237] The memory 1603 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1603 may exist independently and be connected to the processor 1601 via the communication bus 1602. The memory 1603 may also be integrated with the processor 1601.

[0238] Memory 1603 is used to store program code for executing the solution of the present application, and is controlled by processor 1601 for execution. Processor 1601 is used to execute the program code stored in memory 1603. The program code may include one or more software modules. The forwarding nodes, service nodes, and control nodes in the aforementioned embodiments can all determine data for developing applications through processor 1601 and one or more software modules in the program code in memory 1603.

[0239] The communication interface 1604 uses any transceiver or other device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc.

[0240] For example, when the network device is a forwarding node in the aforementioned embodiment, communication interface 1604 is used to receive service resource status published by each service node, receive messages from terminal devices, and send the messages to the selected target service node. When the network device is a controller in the aforementioned embodiment, communication interface 1604 is used to receive service resource status published by each service node and send the network entry node to the determined forwarding path. When the network device is a service node in the aforementioned embodiment, communication interface 1604 is used to publish notification messages containing service resource status.

[0241] In a specific implementation, as an embodiment, the network device may include multiple processors, such as Figure 16 1 and 1605. Each of these processors can be a single-CPU processor or a multi-CPU processor. A processor herein can refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0242] The aforementioned network device can be a general-purpose network device or a dedicated network device. In a specific implementation, the network device can be a desktop computer, a portable computer, a network server, a personal digital assistant (PDA), a mobile phone, a tablet computer, a wireless terminal device, a router, a switch, or other communication device or embedded device. The embodiments of the present application do not limit the type of network device.

[0243] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital versatile disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).

[0244] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.

[0245] The above description is an embodiment provided for this application and is not intended to limit this application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this application should be included in the scope of protection of this application.

Claims

1. A method for forwarding a message, applied to a network system, wherein the network system includes a forwarding node and a plurality of service nodes, characterized in that: The method comprises: The forwarding node receives a message from a terminal device, wherein the message carries a target service identifier; The forwarding node obtains a target service resource status published by each service node among the multiple service nodes, where the target service resource status indicates resource usage of a target service resource managed by each service node, where the target service resource is a resource in the network system that can process the service indicated by the target service identifier; The forwarding node determines the priority of each service node according to the network performance of each service node. A service node with a higher priority has better network performance. The network performance of any service node indicates the network performance on the transmission path between the forwarding node and the corresponding service node. The forwarding node selects a target service node from the multiple service nodes according to the target service resource status published by each service node and the priority of each service node; The forwarding node forwards the message to the target service node.

2. The method according to claim 1, wherein Before the forwarding node receives the message from the terminal device, the method further includes: The forwarding node receives a notification message sent from any service node in the network system, where the notification message carries a service resource status of a service resource managed by any service node; The forwarding node stores the service resource status published by any service node; The forwarding node obtains the target service resource status published by each service node among the multiple service nodes, including: The forwarding node obtains the target service resource status of each service node from the stored service resource status.

3. The method according to claim 2, wherein The notification message also carries a service resource identifier of each service resource among the one or more service resources managed by any service node, the service resource status corresponds to each service resource identifier, and the service resource status corresponding to each service resource identifier indicates the resource usage of the service resource indicated by the corresponding service resource identifier managed by any service node; The acquiring the target service resource state of each service node from the stored service resource state includes: The business resource status corresponding to the target business resource and issued by each business node is acquired from the stored business resource status to obtain the target business resource status of each business node.

4. The method according to claim 2 or 3, wherein: When any of the service nodes supports the Open Shortest Path First (OSPF) protocol, the notification message is an extended prefix type length value (TLV), the address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by any of the service nodes, and the extended sub-TLV in the extended prefix TLV or the tag bit in the extended prefix TLV carries the service resource status of the service resource managed by any of the service nodes.

5. The method according to claim 2 or 3, wherein: When any of the service nodes supports the Intermediate System to Intermediate System (ISIS) protocol, the notification message is an extended network reachable type length value TLV, the prefix in the extended network reachable TLV carries the service resource identifier of the service resource managed by any of the service nodes, and the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by any of the service nodes.

6. The method according to claim 2 or 3, wherein: In the case where any of the service nodes supports the Border Gateway Protocol BGP, the notification message is a BGP update message message, the network layer reachability information NLRI in the BGP update message message carries the service resource identifier of the service resource managed by any of the service nodes, and the routing attribute TLV in the BGP update message message carries the service resource status of the service resource managed by any of the service nodes.

7. The method according to claim 6, wherein The BGP includes multi-protocol MP BGP and non-MP BGP.

8. The method according to claim 1, wherein The network performance of any of the service nodes includes one or more of the transmission delay on the transmission path between the forwarding node and the corresponding service node, the total cost of the transmission path between the forwarding node and the corresponding service node, and the remaining bandwidth of the transmission path between the forwarding node and the corresponding service node.

9. The method according to any one of claims 1 to 8, wherein: The target service resource status includes a light load status and an overload status. The overload status indicates that the resource occupancy rate of the target service resource managed by the corresponding service node exceeds a first occupancy rate threshold, and the light load status indicates that the resource occupancy rate of the target service resource managed by the corresponding service node is lower than a second occupancy rate threshold.

10. The method according to any one of claims 1 to 9, characterized in that: The forwarding node is a gateway GW, and the multiple service nodes are multiple servers communicating with the GW.

11. The method according to any one of claims 1 to 9, characterized in that: The forwarding node is a gateway GW, and the multiple business nodes are multiple server cluster master nodes communicating with the GW. Each of the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW, and there are two server cluster master nodes among the multiple server cluster master nodes located in different data centers.

12. The method according to claim 10 or 11, wherein: The target service identifier is an anycast network address or a service name.

13. The method according to any one of claims 1 to 9, characterized in that: The forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF, and the multiple service nodes are multiple SFFs.

14. A method for issuing forwarding instruction information, characterized in that: A controller applied to a network system, the network system further comprising a forwarding node and multiple service nodes, wherein any of the multiple service nodes manages one or more service resources, each of the one or more service resources being used to implement a service function on a service chain; The method comprises: The controller obtains a service resource status published by each of the plurality of service nodes, wherein the service resource status indicates a resource usage of a service resource managed by the publisher; The controller publishes message forwarding indication information to the forwarding node based on the service resource status published by each service node and the priority of each service node. The priority of each service node is determined according to the network performance of each service node. The higher the priority of the service node, the better the network performance of the service node. The network performance of any service node indicates the network performance on the transmission path between the forwarding node and the corresponding service node. The forwarding indication information is a forwarding path for the service chain, and the forwarding path indicates which service resources in which service nodes the data message is processed by.

15. A method for issuing a notification message, characterized in that: Applicable to any service node among multiple service nodes included in a network system, the network system also including a forwarding node or a controller, the service node managing one or more service resources, each of the one or more service resources being used to implement a service function on a service chain; The method comprises: The service node issues a notification message to the forwarding node or the controller, wherein the notification message carries a service resource status of the service resources managed by the service node, and the service resource status indicates resource usage of the service resources managed by the publisher; Among them, the notification message is used to instruct the forwarding node to select a target business node from the multiple business nodes to forward the message based on the business resource status published by each business node in the multiple business nodes and the priority of each business node, or to instruct the controller to publish forwarding indication information of the message to the forwarding node based on the business resource status published by each business node and the priority of each business node; the priority of each business node is determined according to the network performance of each business node, and the higher the priority of the business node, the better the network performance. The network performance of any business node indicates the network performance on the transmission path between the forwarding node and the corresponding business node. The forwarding indication information is a forwarding path for the business chain, and the forwarding path indicates which business resources in which business nodes the data message is processed.

16. The method according to claim 15, wherein The notification message also carries the business resource identifier of each business resource in one or more business resources managed by the business node. The business resource status of the business node corresponds to each business resource identifier. The business resource status corresponding to each business resource identifier indicates the resource usage of the business resource indicated by the corresponding business resource identifier managed by the business node.

17. The method according to claim 15 or 16, wherein: When the service node supports the Open Shortest Path First (OSPF) protocol, the notification message is an extended prefix type length value (TLV), the address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by the service node, and the extended sub-TLV in the extended prefix TLV or the tag bit in the extended prefix TLV carries the service resource status of the service resource managed by the service node.

18. The method according to claim 15 or 16, wherein: When the service node supports the Intermediate System to Intermediate System (ISIS) protocol, the notification message is an extended network reachable type length value TLV, the prefix in the extended network reachable TLV carries the service resource identifier of the service resource managed by the service node, and the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by the service node.

19. The method according to claim 15 or 16, wherein: When the service node supports the Border Gateway Protocol BGP, the notification message is a BGP update message message, the network layer reachability information NLRI in the BGP update message message carries the service resource identifier of the service resource managed by the service node, and the routing attribute TLV in the BGP update message message carries the service resource status of the service resource managed by the service node.

20. The method according to claim 19, wherein The BGP includes multi-protocol MP BGP and non-MP BGP.

21. The method according to any one of claims 15 to 20, wherein: The method further comprises: The service node determines the service resource status at the current time; If the service resource state at the current time is different from the service resource state before the current time, the operation of publishing the notification message is performed.

22. The method according to any one of claims 15 to 21, wherein: The service resource status includes a light load status and an overload status. The overload status indicates that the resource occupancy rate of the service resources managed by the corresponding service node exceeds a first occupancy rate threshold, and the light load status indicates that the resource occupancy rate of the service resources managed by the corresponding service node is lower than a second occupancy rate threshold.

23. The method according to any one of claims 15 to 22, wherein: The forwarding node is a gateway GW, and the multiple service nodes are multiple servers communicating with the GW.

24. The method according to any one of claims 15 to 22, wherein: The forwarding node is a gateway GW, and the multiple business nodes are multiple server cluster master nodes communicating with the GW. Each of the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW, and there are two server cluster master nodes among the multiple server cluster master nodes located in different data centers.

25. The method according to any one of claims 15 to 22, wherein: The forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF, and the multiple service nodes are multiple SFFs.

26. A forwarding node, characterized in that: The forwarding node includes: A receiving module, configured to receive a message from a terminal device, wherein the message carries a target service identifier; an acquisition module, configured to acquire a target service resource status published by each service node among a plurality of service nodes, wherein the target service resource status indicates resource usage of a target service resource managed by each service node, wherein the target service resource is a resource in a network system capable of processing the service indicated by the target service identifier; a determination module, configured to determine the priority of each service node based on the network performance of each service node, wherein a service node with a higher priority has better network performance, and the network performance of any service node indicates the network performance on the transmission path between the forwarding node and the corresponding service node; A selection module, configured to select a target service node from the plurality of service nodes according to the target service resource status published by each service node and the priority of each service node; The sending module is used to forward the message to the target service node.

27. The forwarding node according to claim 26, wherein: The receiving module is further configured to receive a notification message sent from any service node in the network system, the notification message carrying the service resource status of the service resources managed by any service node, and save the service resource status published by any service node; The acquisition module is used to: The target service resource state of each service node is obtained from the stored service resource state.

28. The forwarding node according to claim 27, wherein: The notification message also carries a service resource identifier of each service resource among the one or more service resources managed by any service node, the service resource status corresponds to each service resource identifier, and the service resource status corresponding to each service resource identifier indicates the resource usage of the service resource indicated by the corresponding service resource identifier managed by any service node; The acquisition module is used to: The business resource status corresponding to the target business resource and issued by each business node is acquired from the stored business resource status to obtain the target business resource status of each business node.

29. The forwarding node according to claim 27 or 28, characterized in that: When any of the service nodes supports the Open Shortest Path First (OSPF) protocol, the notification message is an extended prefix type length value (TLV), the address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by any of the service nodes, and the extended sub-TLV in the extended prefix TLV or the tag bit in the extended prefix TLV carries the service resource status of the service resource managed by any of the service nodes.

30. The forwarding node according to claim 27 or 28, characterized in that: When any of the service nodes supports the Intermediate System to Intermediate System (ISIS) protocol, the notification message is an extended network reachable type length value TLV, the prefix in the extended network reachable TLV carries the service resource identifier of the service resource managed by any of the service nodes, and the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by any of the service nodes.

31. The forwarding node according to claim 27 or 28, wherein: In the case where any of the service nodes supports the Border Gateway Protocol BGP, the notification message is a BGP update message message, the network layer reachability information NLRI in the BGP update message message carries the service resource identifier of the service resource managed by any of the service nodes, and the routing attribute TLV in the BGP update message message carries the service resource status of the service resource managed by any of the service nodes.

32. The forwarding node according to claim 31, wherein: The BGP includes multi-protocol MP BGP and non-MP BGP.

33. The forwarding node according to claim 26, wherein: The network performance of any of the service nodes includes one or more of the transmission delay on the transmission path between the forwarding node and the corresponding service node, the total cost of the transmission path between the forwarding node and the corresponding service node, and the remaining bandwidth of the transmission path between the forwarding node and the corresponding service node.

34. The forwarding node according to any one of claims 26 to 33, wherein: The target service resource status includes a light load status and an overload status. The overload status indicates that the resource occupancy rate of the target service resource managed by the corresponding service node exceeds a first occupancy rate threshold, and the light load status indicates that the resource occupancy rate of the target service resource managed by the corresponding service node is lower than a second occupancy rate threshold.

35. The forwarding node according to any one of claims 26 to 34, characterized in that: The forwarding node is a gateway GW, and the multiple service nodes are multiple servers communicating with the GW.

36. The forwarding node according to any one of claims 26 to 34, characterized in that: The forwarding node is a gateway GW, and the multiple business nodes are multiple server cluster master nodes communicating with the GW. Each of the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW, and there are two server cluster master nodes among the multiple server cluster master nodes located in different data centers.

37. The forwarding node according to claim 35 or 36, wherein: The target service identifier is an anycast network address or a service name.

38. The forwarding node according to any one of claims 26 to 34, characterized in that: The forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF, and the multiple service nodes are multiple SFFs.

39. A controller, characterized in that: The controller is a controller in a network system, the network system further comprising a forwarding node and a plurality of service nodes, any of the plurality of service nodes managing one or more service resources, each of the one or more service resources being used to implement a service function on a service chain; The controller includes: An acquisition module, configured to acquire a service resource status published by each of the plurality of service nodes, wherein the service resource status indicates a resource usage of a service resource managed by the publisher; A publishing module is used to publish forwarding indication information of the message to the forwarding node based on the business resource status published by each business node and the priority of each business node. The priority of each business node is determined according to the network performance of each business node. The higher the priority of the business node, the better the network performance. The network performance of any business node indicates the network performance on the transmission path between the forwarding node and the corresponding business node. The forwarding indication information is a forwarding path for the business chain. The forwarding path indicates which business resources in which business nodes the data message is processed by.

40. A service node, characterized in that: The service node is any service node among multiple service nodes included in the network system, and the network system further includes a forwarding node or a controller. The service node manages one or more service resources, and each of the one or more service resources is used to implement a service function on the service chain; The service nodes include: a publishing module, configured to publish a notification message to the forwarding node or the controller, wherein the notification message carries a service resource status of the service resources managed by the service node, and the service resource status indicates resource usage of the service resources managed by the publisher; Among them, the notification message is used to instruct the forwarding node to select a target business node from the multiple business nodes to forward the message based on the business resource status published by each business node in the multiple business nodes and the priority of each business node, or to instruct the controller to publish forwarding indication information of the message to the forwarding node based on the business resource status published by each business node and the priority of each business node; the priority of each business node is determined according to the network performance of each business node, and the higher the priority of the business node, the better the network performance. The network performance of any business node indicates the network performance on the transmission path between the forwarding node and the corresponding business node, and the forwarding indication information is used to instruct the forwarding node how to select the target business node from the multiple business nodes to forward the message.

41. The service node according to claim 40, wherein: The notification message also carries the business resource identifier of each business resource in one or more business resources managed by the business node. The business resource status of the business node corresponds to each business resource identifier. The business resource status corresponding to each business resource identifier indicates the resource usage of the business resource indicated by the corresponding business resource identifier managed by the business node.

42. The service node according to claim 40 or 41, wherein: When the service node supports the Open Shortest Path First (OSPF) protocol, the notification message is an extended prefix type length value (TLV), the address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by the service node, and the extended sub-TLV in the extended prefix TLV or the tag bit in the extended prefix TLV carries the service resource status of the service resource managed by the service node.

43. The service node according to claim 40 or 41, wherein: When the service node supports the Intermediate System to Intermediate System (ISIS) protocol, the notification message is an extended network reachable type length value TLV, the prefix in the extended network reachable TLV carries the service resource identifier of the service resource managed by the service node, and the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by the service node.

44. The service node according to claim 40 or 41, wherein: When the service node supports the Border Gateway Protocol BGP, the notification message is a BGP update message message, the network layer reachability information NLRI in the BGP update message message carries the service resource identifier of the service resource managed by the service node, and the routing attribute TLV in the BGP update message message carries the service resource status of the service resource managed by the service node.

45. The service node according to claim 44, wherein: The BGP includes multi-protocol MP BGP and non-MP BGP.

46. ​​The service node according to any one of claims 40 to 45, wherein: The service node also includes: A determination module, configured for the service node to determine the service resource status at the current time; The publishing module is configured to execute the operation of publishing the notification message if the service resource status at the current time is different from the service resource status before the current time.

47. The service node according to any one of claims 40 to 46, wherein: The service resource status includes a light load status and an overload status. The overload status indicates that the resource occupancy rate of the service resources managed by the corresponding service node exceeds a first occupancy rate threshold, and the light load status indicates that the resource occupancy rate of the service resources managed by the corresponding service node is lower than a second occupancy rate threshold.

48. The service node according to any one of claims 40 to 47, wherein: The forwarding node is a gateway GW, and the multiple service nodes are multiple servers communicating with the GW.

49. The service node according to any one of claims 40 to 47, wherein: The forwarding node is a gateway GW, and the multiple business nodes are multiple server cluster master nodes communicating with the GW. Each of the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW, and there are two server cluster master nodes among the multiple server cluster master nodes located in different data centers.

50. The service node according to any one of claims 40 to 47, wherein: The forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF, and the multiple service nodes are multiple SFFs.

51. A network system, characterized in that The network system includes a forwarding node and multiple service nodes: Any one of the multiple service nodes is configured to publish a notification message to the forwarding node, where the notification message carries a service resource status of a service resource managed by the service node, where the service resource status indicates resource usage of the service resource managed by the publisher; The forwarding node is used to receive a message from a terminal device, where the message carries a target service identifier, obtain a target service resource status published by each service node among multiple service nodes, where the target service resource status indicates resource usage of the target service resources managed by each service node, where the target service resources are resources in the network system that can process the service indicated by the target service identifier, and determine the priority of each service node based on the network performance of each service node. The higher the priority of the service node, the better the network performance of the service node. The network performance of any service node indicates the network performance on the transmission path between the forwarding node and the corresponding service node. Based on the target service resource status published by each service node and the priority of each service node, a target service node is selected from the multiple service nodes, and the message is forwarded to the target service node.

52. A network system, characterized in that: The network system includes a controller, a forwarding node, and multiple service nodes, wherein any of the multiple service nodes manages one or more service resources, and each of the one or more service resources is used to implement a service function on the service chain: Any one of the multiple service nodes is configured to publish a notification message to the controller, where the notification message carries a service resource status of a service resource managed by the service node, where the service resource status indicates resource usage of the service resource managed by the publisher; The controller is used to publish message forwarding indication information to the forwarding node based on the service resource status published by each service node and the priority of each service node. The priority of each service node is determined according to the network performance of each service node. The service node with a higher priority has better network performance. The network performance of any service node indicates the network performance on the transmission path between the forwarding node and the corresponding service node. The message forwarding indication information is a forwarding path for the service chain. The forwarding path indicates which service resources in which service nodes the data message is processed by.

53. A computer-readable storage medium storing instructions, which, when executed on a computer, causes the computer to execute the method of any one of claims 1 to 13, or claim 14, or claims 15 to 25.

Citation Information

Patent Citations

  • Method, device and system for processing service request

    CN104980468A

  • Service data acquisition method, device and system

    CN106657367A

  • Message processing method and apparatus

    CN107979539A

  • Resource allocation method, device and system, equipment and medium

    CN110858161A