CN112087382B - Service routing method and device - Google Patents

Service routing method and device Download PDF

Info

Publication number
CN112087382B
CN112087382B CN201910517956.1A CN201910517956A CN112087382B CN 112087382 B CN112087382 B CN 112087382B CN 201910517956 A CN201910517956 A CN 201910517956A CN 112087382 B CN112087382 B CN 112087382B
Authority
CN
China
Prior art keywords
network
node
service
nodes
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910517956.1A
Other languages
Chinese (zh)
Other versions
CN112087382A (en
Inventor
顾叔衡
庄冠华
孙丰鑫
杨小敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910517956.1A priority Critical patent/CN112087382B/en
Priority to PCT/CN2020/096150 priority patent/WO2020249128A1/en
Publication of CN112087382A publication Critical patent/CN112087382A/en
Application granted granted Critical
Publication of CN112087382B publication Critical patent/CN112087382B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

A service routing method and device are used for solving the problem of unbalanced load of edge computing nodes in the service routing process. The method comprises the following steps: a network entry node receives a first message sent by user equipment, wherein the first message is used for requesting a target service; a network inlet node sends inquiry measurement messages to a plurality of network outlet nodes respectively, and the inquiry measurement messages are used for inquiring the calculation performance and/or the network performance of the network outlet nodes for target service; a network inlet node receives response messages respectively sent by a plurality of network outlet nodes, wherein the response messages carry the calculation performance information and/or the network performance information of the network outlet nodes for target service; the network entry node determines a target network exit node among the plurality of network exit nodes based on the computational performance information and/or the network performance information of the plurality of network exit nodes.

Description

Service routing method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a service routing method and apparatus.
Background
With the rise of 5G, smart cities, internet of things and the like, analysis and storage of mass data pose a huge challenge to network bandwidth, and since many data streams are generated by end devices (such as user equipment), real-time decision making is impossible through cloud computing processing and analysis, so that network delay is serious. Therefore, compared to cloud computing, network latency can be reduced by using an edge computing node (e.g., an access room server or an aggregation room server near a user) to provide services for a user device.
At present, a common service routing method based on edge computing is to use an anycast IP (internet protocol address, IP anycast) technology for addressing between different edge computing stations, that is, edge computing nodes providing the same service expose the same network protocol (IP) address to a network, when a user initiates a service request, the network can search an edge computing node closest to a user equipment in a network layer according to a destination IP address corresponding to the service, and the edge computing node provides the service for the user equipment.
However, edge compute nodes may be unevenly loaded due to uneven distribution of users. For example, for a region with more users, the load of the edge computing node is larger, thereby resulting in a decrease in the success rate of the user equipment access. And for the regions with fewer users, the load of the edge computing nodes is smaller, so that the utilization rate of the edge computing nodes is lower.
Disclosure of Invention
The application provides a service routing method and device, which are used for solving the problem that the loads of edge computing nodes are possibly unbalanced in the current service routing process.
In a first aspect, a remote interference management method according to an embodiment of the present application includes: a network entry node receives a first message sent by user equipment, wherein the first message is used for requesting a target service; a network inlet node sends inquiry measurement messages to a plurality of network outlet nodes respectively, and the inquiry measurement messages are used for inquiring the calculation performance and/or the network performance of the network outlet nodes for target service; a network inlet node receives response messages respectively sent by a plurality of network outlet nodes, wherein the response messages carry the calculation performance information and/or the network performance information of the network outlet nodes for target service; the network entry node determines a target network exit node from the plurality of network exit nodes based on the calculation performance information and/or the network performance information of the plurality of network exit nodes, the target network exit node is used for realizing message routing between the user equipment and the service node, and the service node is used for providing target service for the user equipment.
In the embodiment of the application, a network entry (Ingress) node can trigger to query the network performance such as the server load of a network exit (Egress) node to a target service and the like, the network performance such as the network delay and the like when receiving a first message sent by user equipment, so that the Ingress node can select a proper Egress node by integrating the computing performance of the Egress node to the target service and the network performance.
In one possible design, the query measurement packet may be a network query measurement packet (e.g., an OAM query measurement packet), and the network query measurement packet may include a measurement and a request for computational performance of the target service and/or a measurement and a request for network performance of the target service; the response message is a network query measurement response message (such as an OAM response message). Specifically, if the query measurement packet is used to query the computational performance of the network egress node for the target service, the network query measurement packet may include a measurement and a request for the computational performance of the target service. If the query measurement packet is used to query the network performance of the network egress node for the target service, the network query measurement packet may include a measurement and a request for the network performance of the target service. If the query measurement packet is used to query the computational performance of the network egress node for the target service and the network performance, the network query measurement packet may include a measurement and a request for the computational performance of the target service and a measurement and a request for the network performance of the target service. Through the design, the network inlet node can trigger the network outlet node to measure and report the calculation performance of the target service and the network performance of the target service through the network query measurement message.
In one possible design, when the network entry node determines the target network exit node among the plurality of network exit nodes based on the computation performance information and/or the network performance information of the plurality of network exit nodes for the target service, the network entry node may determine, for any one of the plurality of network exit nodes, the service cost of the network exit node based on the computation performance information and/or the network performance information of the network exit node for the target service; and the network inlet node selects the node with the minimum service cost from the plurality of network outlet nodes as the target network outlet node. In the design, the network entry node determines the network exit node with the minimum service cost to perform service access by comprehensively considering the calculation performance information of each network exit node for the target service and the network performance information, so that a load balancing strategy of an application layer can be realized, the access delay can be reduced by the design, and the utilization rate of the service node can be improved.
In one possible design, the network ingress node may further duplicate the first packet into multiple copies to be sent to multiple network egress nodes, respectively. In the design, the network inlet node distributes the first message to each network outlet node, so that the network outlet node can establish transmission connection in advance, and the network inlet node can timely route the message sent by the user equipment to the target network outlet node after determining the target network outlet node, thereby reducing the message transmission delay.
In one possible design, when a network entry node sends a query measurement message to a plurality of network exit nodes respectively, the query measurement message can be sent to the plurality of network exit nodes as a path associated message of a first message; or, the query measurement packet may be sent to a plurality of network egress nodes as a packet-following packet of the first packet. Through the design, the network outlet node can accurately receive the first message and inquire the measurement message.
In one possible design, after the network entry node determines the target network egress node among the plurality of network egress nodes based on the computational performance information and/or the network performance information of the plurality of network egress nodes, the network entry node may also send a connection reset message (e.g., a TCP _ RST message) to other network egress nodes of the plurality of network egress nodes other than the target network egress node. In the design, the transmission connection established by other network outlet nodes is released through the connection reset message, so that the waste of network resources can be avoided.
In a possible design, when the network entry node receives the first packet sent by the user equipment, specifically: a network entry node receives a message sent by user equipment; the network entry node determines a first message of a message requesting a target service for the user equipment based on a first list, wherein the first list does not include a route forwarding record of which a source network protocol IP address is an IP address of the user equipment and a target IP address is an IP address corresponding to the target service. In the above design, the network entry node may determine whether the received packet is a first packet by querying whether the network entry node itself records a route forwarding record sent by the user equipment to the target service.
In one possible design, before the network entry node sends the query measurement packet to the plurality of network exit nodes, the plurality of network exit nodes may be selected from the M network exit nodes based on a second list, where the second list includes service information of the M network exit nodes, and the service information includes one or more of the following information: the method comprises the steps of user connection number, user connection capacity, local priority scheduling attribute, network delay service level requirement and load service level requirement, wherein M is an integer. In the above design, the network entry node can preferentially select several network exit nodes with better access performance by combining parameters such as the number of user connections and the user connection capacity of each network exit node, so as to further reduce the access delay and improve the utilization rate of the service node.
In a second aspect, a remote interference management method according to an embodiment of the present application includes: a network exit node receives a query measurement message from a network entry node, wherein the query measurement message is used for querying the computing performance and/or the network performance of the network exit node on a target service; the network egress node determining a computational performance and/or a network performance for the target service; and the network outlet node sends a response message to the network inlet node, wherein the response message carries the calculation performance information and/or the network performance information of the network outlet node for the target service.
In the embodiment of the application, the network outlet node can report the calculation performance of the network outlet node to the network inlet node, such as server load and the like of the network outlet node for the target service, network delay and other network performances to the network inlet node when the network inlet node sends the query measurement message, so that the Ingress node can synthesize the calculation performance of the Ingress node for the target service and the network performance to select a proper Ingress node.
In one possible design, the query measurement packet may be a network query measurement packet (e.g., an OAM query measurement packet), and the network query measurement packet may include a measurement and a request for computational performance of the target service and/or a measurement and a request for network performance of the target service; the response message is a network query measurement response message (such as an OAM response message). Specifically, if the query measurement packet is used to query the computational performance of the network egress node for the target service, the network query measurement packet may include a measurement and a request for the computational performance of the target service. If the query measurement packet is used to query the network performance of the network egress node for the target service, the network query measurement packet may include a measurement and a request for the network performance of the target service. If the query measurement packet is used to query the computational performance of the network egress node for the target service and the network performance, the network query measurement packet may include a measurement and a request for the computational performance of the target service and a measurement and a request for the network performance of the target service. Through the design, the network inlet node can trigger the network outlet node to measure and report the calculation performance of the target service and the network performance of the target service through the network query measurement message.
In one possible design, the network egress node receives a first message forwarded by the network ingress node, where the first message is a first message sent by the user equipment to request a target service. In the design, the network inlet node distributes the first message to each network outlet node, so that the network outlet node can establish transmission connection in advance, and the network inlet node can timely route the message sent by the user equipment to the target network outlet node after determining the target network outlet node, thereby reducing the message transmission delay.
In one possible design, the network egress node may further send a first packet to at least one service node, where the service node is a node providing the target service. In the design, the network outlet node distributes the first message to each service node, so that the service node can establish transmission connection in advance, and the network outlet node can timely route the message forwarded by the network inlet node to the service node, thereby reducing message transmission delay.
In one possible design, the network egress node may also receive a connection reset message sent by the network ingress node. In the design, the transmission connection established by other network outlet nodes is released through the connection reset message, so that the waste of network resources can be avoided.
In a third aspect, the present application provides a service routing apparatus, which may be a routing node, or may also be a chip or a chipset in the routing node, where the routing node may be a network ingress node or a network egress node. The apparatus may include a processing unit and a transceiver unit. When the apparatus is a routing node, the processing unit may be a processor, and the transceiving unit may be a communication interface; the apparatus may further include a storage unit, which may be a memory; the storage unit is configured to store instructions, and the processing unit executes the instructions stored by the storage unit to enable the network entry node to perform corresponding functions in the first aspect, or enable the network exit node to perform corresponding functions in the second aspect. When the apparatus is a chip or chipset within a routing node, the processing unit may be a processor, and the transceiving unit may be an input/output interface, a pin or a circuit, etc.; the processing unit executes the instructions stored by the storage unit to cause the network entry node to perform the corresponding functions of the first aspect or to cause the network exit node to perform the corresponding functions of the second aspect. The memory unit may be a memory unit (e.g., register, cache, etc.) within the chip or chipset, or a memory unit (e.g., read only memory, random access memory, etc.) external to the chip or chipset within the routing node.
In a fourth aspect, the present application also provides a computer-readable storage medium including instructions which, when executed on a computer, cause the computer to perform the method of the above aspects.
In a fifth aspect, the present application also provides a computer program product comprising instructions which, when executed, cause the method of the above aspects to be performed.
In a sixth aspect, the present application provides a chip comprising a processor and a communication interface for receiving code instructions and transmitting them to the processor. The processor is used for calling the code instructions transmitted by the communication interface to execute the method of the aspects.
Drawings
Fig. 1 is a schematic structural diagram of a communication system provided in the present application;
fig. 2 is a schematic flow chart of a service routing method provided in the present application;
FIG. 3 is a schematic diagram of a service flood provided herein;
FIG. 4 is a schematic diagram of a service routing process provided herein;
fig. 5 is a schematic structural diagram of a service routing apparatus provided in the present application;
fig. 6 is a schematic structural diagram of another service routing apparatus provided in the present application.
Detailed Description
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
With the rise of 5G, smart cities, internet of things and the like, analysis and storage of mass data pose a huge challenge to network bandwidth, and since many data streams are generated by end devices (such as user equipment), real-time decision making is impossible through cloud computing processing and analysis, so that network delay is serious. Therefore, compared with cloud computing, the method for providing services for the user equipment by using the edge computing node (for example, an access room server or a convergence room server close to the user) can greatly reduce the network overhead and the network waiting time for the service due to the short transmission path and the low time delay.
However, with respect to cloud computing, edge computing has the following specific problems: 1) the number of edge computing nodes is large, and the capacity is small. 2) The edge computing nodes cannot efficiently and mutually assist in the application level.
The specific influence of the above problem on the edge computing node is as follows: 1) the load of the edge computing nodes is unbalanced, so that the access success rate is reduced. 2) The edge compute node utilization is low. 3) The load balancing strategy at the application level causes the access delay to be increased and the efficiency to be reduced.
At present, based on edge computing, a service routing method is to use an anycast IP (internet protocol address) technology for addressing between different edge computing nodes, that is, edge computing nodes providing the same service expose the same virtual network protocol (IP) address to a network and bind the real IP address of the edge computing node, when a user initiates a service request, the network can search an edge computing node closest to a user equipment on a network layer according to a destination IP address (virtual IP address) corresponding to the service, and the edge computing node provides the service for the user equipment. However, with this method, the network cannot sense the load of the edge computing node providing service to the user equipment, and if the node is overloaded, the user request close to the overloaded node will still be routed to the overloaded node, resulting in a failure of service access of the user equipment or a reduction in the service experience of the user. Meanwhile, the overloaded node cannot effectively distribute the service request to the light-load node, so that the utilization rate of other edge computing nodes with smaller loads is low. For example, for a region with more users, the load of the edge computing node is larger, thereby resulting in a decrease in the success rate of the user equipment access. And for the regions with fewer users, the load of the edge computing nodes is smaller, so that the utilization rate of the edge computing nodes is lower.
In another service routing method, a technique (HTTP DNS technique) for querying a domain name address by using a hypertext transfer protocol (HTTP) connection is used to integrate an IP address of a user and a load condition of an edge computing node near the user, and a most suitable edge computing node near the user is selected as a service node of the user. However, in this method, most edge computing nodes are biased to short-connection services, and at least 3 Round Trip Times (RTTs) are required to return a service address at the initial stage of HTTP DNS establishment, so that the service delay is greatly increased, and the cost for edge computing is high.
Based on this, embodiments of the present application provide a service routing method and apparatus, so as to solve the problems in the prior art that a service routing cannot give consideration to load balancing and addressing efficiency is low. The method and the device are based on the same inventive concept, and because the principles of solving the problems of the method and the device are similar, the implementation of the device and the method can be mutually referred, and repeated parts are not repeated.
The embodiment of the application can be applied to a communication system, and the communication system can comprise a routing node and a service node, wherein one routing node can be connected with one or more service nodes. The routing node may be configured to provide service routing, for example, to route a service packet sent by the user equipment to the service node, where a service routing node that the user equipment first accesses may be referred to as an Ingress (Ingress) node, and other service routing nodes may be referred to as Egress (Egress) nodes. The Ingress node may be responsible for routing a packet sent by a user to the Egress node, and the Egress node may be responsible for routing a packet sent by a user to a service node. In a specific implementation, the Egress node may also be an Ingress node itself. The service node refers to a node providing service for a user, and may also be referred to as an edge computing node or the like. Fig. 1 is a schematic structural diagram of a communication system, and it should be understood that fig. 1 is only an exemplary illustration and does not specifically limit the number of service routing nodes and service nodes included in the communication system.
The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
The service routing method provided in the embodiment of the present application may be as shown in fig. 2, and the method may be applied to the communication system shown in fig. 1, where the method specifically includes:
s201, an Ingress node receives a first message sent by user equipment, and the first message is used for requesting a target service. Wherein, at the network layer, the service node may adopt IP ANYCAST technology, that is, the service nodes providing the same service expose the same virtual IP address to the network and bind the real IP address of the service node, so that all service nodes providing the target service correspond to the same virtual IP address. It can be understood that if the target IP address of the first packet may be a virtual IP address corresponding to the target service, the first packet may be considered to be used for requesting the target service.
For convenience of description, the target Service is referred to as Service a, and all nodes providing the target Service are referred to as Service a nodes.
In a specific implementation, after receiving a message of a user equipment, an Ingress node may determine whether the message is a first message of a request Service a of the user equipment based on a first list, where the first list is used to record a route forwarding record of the Ingress node. Wherein the route forwarding record may support various combinations of one-tuple to five-tuple. Taking the quintuple as an example, the route forwarding record may include a source IP address (SRC _ IP), a source PORT (SRC _ PORT), a destination IP address (SERV _ IP, here, a virtual IP address corresponding to a service), a destination PORT (SERV _ PORT), a Protocol (PROTOCAL), and further may include an identifier, an age (age), a maximum age (MaxAge), and the like of the egr node, where MaxAge is used to identify a maximum lifetime supported by the egr node, and when the age of the egr node is greater than MaxAge, the route record, the forwarding record, and the registry record of the egr node may be deleted. Illustratively, the first list may be as shown in Table 1.
TABLE 1
Figure BDA0002095616440000061
Wherein 192.168.1.13 is the real IP address of the Service node providing the Service corresponding to 10.10.10.1 under the Ingress node, and if 10.107.21.12 is the IP address of UE1, 10.10.10.1 is the virtual IP address corresponding to the Service B Service, and 192.168.1.13 is the IP address of the Service node 1, the third route forwarding record in table 1 can be understood as: the Service node 1 connected to the Ingress node provides Service B Service to the UE 1.
Taking a binary group as an example, the route forwarding record may include a source IP address and a destination IP address, and in addition, the route forwarding record may further include an identifier of an egr node, age, MaxAge, and the like, and for example, the first list may be as shown in table 2.
TABLE 2
SRC_IP SERV_IP egress age MaxAge
10.197.29.1 10.10.10.2 R1 2s 10s
10.137.28.2 10.10.10.2 R2 5s 10s
10.107.21.12 10.10.10.1 192.168.1.13 1s 10s
…… …… …… …… ……
Wherein 192.168.1.13 is the real IP address of the Service node providing the Service corresponding to 10.10.10.1 under the Ingress node, and if 10.107.21.12 is the IP address of UE1, 10.10.10.1 is the virtual IP address corresponding to the Service B Service, and 192.168.1.13 is the IP address of the Service node 1, the third route forwarding record in table 1 can be understood as: the Service node 1 connected to the Ingress node provides Service B Service to the UE 1.
After receiving a message sent by a user equipment (a destination IP address of the message is a virtual IP address corresponding to Service a), an Ingress node may determine whether the message is a first message of the user equipment requesting Service a by querying whether a first list includes a route forwarding record sent by the user equipment to the Service a, specifically, if the first list includes the route forwarding record sent by the user equipment to the Service a node, that is, a source IP address in a certain route forwarding record included in the first list is the IP address of the user equipment, and a target IP address is the virtual IP address corresponding to the Service a, it may be determined that the message is not the first message of the user equipment requesting Service a, and otherwise, it may be determined that the message is the first message of the user equipment requesting Service a.
S202, the Ingress node sends query measurement messages to the plurality of Egress nodes respectively, wherein the query measurement messages are used for querying the computing performance and/or network performance of the Egress nodes to the Service A, that is, the query measurement messages are used for querying the computing performance of the Egress nodes to the Service A, or the query measurement messages are used for querying the computing performance and network performance of the Egress nodes to the Service A. The computing performance may be, but is not limited to, server load, service time, etc., and the network performance may be, but is not limited to, network delay, network congestion, etc.
Illustratively, the query measurement message may be a network query measurement message (e.g., an Operation Administration and Maintenance (OAM) query measurement message), where the network query measurement message may include a measurement and request for computing performance of Service a and/or a measurement and request for network performance of Service a. The reply message may be a network query measurement reply message (e.g., an OAM reply message). Specifically, if the query measurement packet is used to query the computational performance of the Egress node for Service a, the network query measurement packet may include a measurement and a request for the computational performance of Service a. If the query measurement message is used to query the network performance of the Egress node for Service a, the network query measurement message may include a measurement and a request for the network performance of Service a. If the query measurement message is used to query the computational performance and network performance of the Egress node for Service a, the network query measurement message may include a measurement and a request for the computational performance of Service a and a measurement and a request for the network performance of Service a.
The plurality of network exits may be randomly selected by Ingress nodes, or may be selected based on a second list, where the second list includes service information of M Egress nodes, and the service information includes one or more of the following information: the Service node comprises a Service address (Service IP, namely a virtual IP address corresponding to a certain Service provided by an Egress node), a user connection number (Connections), a user connection Capacity (Capacity), a local priority scheduling attribute (LocalPref), a network delay (Latency), a network delay Service level requirement (Latency SLA), a load Service level requirement (loadSLA), and an Age (Age), wherein M is an integer. In addition, the service information may include a Cost value (Cost) corresponding to the Egress node.
Illustratively, the second list may be as shown in table 3.
TABLE 3
Figure BDA0002095616440000071
Figure BDA0002095616440000081
For example, the Ingress node may select a plurality of Egress nodes from the M Egress nodes according to the service information of the M Egress nodes recorded in the second list, for example, may select a plurality of Egress nodes with a small Cost from the M Egress nodes, and for example, may select a plurality of Egress nodes with a small Cost and a small connectivity from the M Egress nodes, and so on. Of course, the Ingress node may adopt another selection method to select a plurality of Egress nodes from the M Egress nodes in combination with the service information of each Egress node, which is not listed here.
In some embodiments, after receiving the Service registration request from the Service node, the Egress node may update a local Service registry of the Egress node based on the registration information of the Service node, where the local Service registry may be the registration information of each Service node, the registration information of the Service node may include Service IP of the Service node, host IP (hostpip) of the Service node, Port (Port) of the Service node, Capacity of the Service node, connectivity of the Service node, Latency of the Service node, Age of the Service node, MaxAge of the Service node, and the like, and the local Service registry may be, for example, as shown in table 4, and update the second list of records of the Egress node based on the updated local Service registry. The Egress node may diffuse service information (service flooding) of the Egress node outwards through a network protocol (e.g., Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), etc.), that is, send the service information of the Egress node to other Egress nodes. After receiving the service information of the Egress node, the other Egress nodes update the second list recorded by the Egress nodes based on the service information of the Egress node, and receive the updated service information of the Egress node in an outward diffusion manner. Illustratively, as shown in FIG. 3.
TABLE 4
Service IP HostIP Port Capacity Connections Latency Age MaxAge
10.10.10.1 192.168.1.20 1234 10 6 0ms 42 100s
10.10.10.2 192.168.1.20 5678 10 4 0ms 72 100s
10.10.10.1 192.168.1.22 7846 10 3 0ms 87 100s
The Egress node may be responsible for performing Service load synchronization with the Service a node in real time (that is, the Egress node needs to be responsible for aggregating the capacity and load of all the Service a nodes under the node), and perform network RTT measurement from the Egress node to each Service a node.
In addition, the Ingress node may also copy the first message into multiple copies and send the multiple copies to multiple Egress nodes, respectively.
The Ingress node may send the query measurement packet with the packet when sending the first packet to the Egress node, for example, the query measurement packet may be embedded into a packet header of the first packet to be sent.
Or, when the Ingress node sends the first message to the Egress node, the Ingress node may also send the query measurement message along with the path, that is, the query measurement message is sent as the path-associated message of the first message, that is, the query measurement message and the first message are sent in the same link. Specifically, the Ingress node may send a first message first and then send the query measurement message, or may send the query measurement message first and then send the first message.
S203, the Ingress node receives response messages respectively sent by the Egress nodes, and the response messages carry the calculation performance information and/or the network performance information of the Egress nodes.
In a specific implementation, when the Egress node receives the query measurement message, the Egress node prints a timestamp and returns Connections and capacities of all Service a nodes under the Egress node to the Ingress node.
S204, the Ingress node determines a target Egress node from the plurality of Egress nodes based on the calculation performance information and/or the network performance information of the plurality of Egress nodes, the target network Egress node is used for implementing message routing between the user equipment and the service node, and the service node is used for providing a target service for the user equipment.
Specifically, for any of the multiple Egress nodes, the Ingress node may determine the service cost of the Egress node based on the computational performance and/or the network performance of the Egress node, and select the node with the minimum service cost from the multiple Egress nodes as the target Egress node.
Specifically, after receiving the response messages sent by the multiple Egress nodes, the Ingress node may calculate the service cost of each Egress node, and select the Egress node with the lowest service cost as the target Egress node. In addition, after the target Egress node is determined, other candidate Egress nodes (i.e., other Egress nodes except the target Egress node in the plurality of Egress nodes) may be discarded. For example, if the first message is a TCP _ SYN message, after determining the target Egress node, the Ingress node may send a connection reset TCP _ RST message to other candidate Egress nodes. And after receiving the TCP _ RST message corresponding to the Service A, the other candidate Egress nodes need to forward and clear the flow table.
In specific implementation, for load-sensitive services, the Ingress node may not consider the influence of network performance (e.g., network delay, network congestion, etc.), so that the Egress node with the best computational performance (e.g., the lightest load) may be selected as the target Egress node.
For the delay-sensitive service, the Ingress node may not consider the influence of the computational performance (e.g., server load, etc.), so that the Egress node with the best network performance (e.g., the smallest network delay) may be selected as the target Egress node. Or, the calculation performance and the network performance can be comprehensively considered, and the service cost is obtained through fusion operation, so that the Egress node with the minimum service cost can be selected as the target Egress node.
Taking the calculation performance as the server load and the network performance as the network delay as an example, the Ingress node may combine the following parameters when determining the service cost of the Egress node by integrating the calculation performance and the network performance: delay weight (LatencyWeight), load weight (LoadWeight), LatencySLA, LoadSLA.
As an exemplary illustration, the function of the Ingress node in combination with LatencyWeight, LoadWeight, LatencySLA, LoadSLA calculating the service Cost (Cost) of the Egress node may specifically be:
if(Latency<=LatencySLA)&&(Load<=LoadSLA):
Cost=LatencyWeight*Latency/LatencySLA+LoadWeight*(Connections+1)/Capacity
else
Cost=Maximum
where Cost indicates that the service is not accessible (i.e., service SLA is not satisfied).
Further, if the target Egress node is connected to a plurality of Service a nodes, the target Egress node needs to locally calculate the cost of each Service a node and select the Service a node with the lowest cost to access. In addition, the target Egress node may further add a route forwarding record from the user equipment to the Service a node in the first list of records.
For better understanding of the embodiments of the present application, the service routing process is described in detail below with reference to specific scenarios.
As shown in fig. 4, the service routing process includes:
s401, the Ingress node receives a message sent by the user equipment. The source IP address of the message is the IP address of the user equipment, and the target IP address is the virtual IP address corresponding to Service A. Step S402 is performed.
S402, the Ingress node determines whether the first list includes a route forwarding record from the IP address of the user equipment to the virtual IP address corresponding to Service A. If yes, go to step S403. If not, go to step S404.
And S403, forwarding the message by the Ingress node according to the routing forwarding record from the IP address of the user equipment in the first list to the virtual IP address corresponding to Service A.
S404, the Ingress node sends the message and the OAM inquiry measurement message to a plurality of Egress nodes according to the second list, wherein the OAM inquiry measurement message carries the measurement and request aiming at the calculation performance of Service A and the measurement and request aiming at the network performance of Service A. And adding the IP address of the user equipment to the route forwarding record of the virtual IP address corresponding to the Service A in the first list. Step S405 is performed.
The message and the OAM query measurement message may be sent along with the channel or the packet.
Illustratively, the second list may be updated based on the process shown in FIG. 3.
S405, the Ingress node receives the OAM response packet sent by the Egress nodes. The OAM response message carries calculation performance information and network performance information of the Egress node. Step S406 is performed.
S406, the Ingress node selects the best Egress node. Specifically, the Ingress node may determine a cost value corresponding to each Egress node according to the calculation performance information and the network performance information of each Egress node, and select the Egress node with the smallest cost value as the best Egress node (i.e., the target Egress node).
Based on the same inventive concept as the method embodiment, the embodiment of the present application provides a service routing apparatus, which may have a structure as shown in fig. 5 and includes a processing unit 501, a first transceiver unit 502, and a second transceiver unit 503. The apparatus is specifically configured to implement the functions of the network entry node in the embodiments of fig. 2 to fig. 4, and the apparatus may be the network entry node itself, or may also be a chip or a chip set in the network entry node or a part of a chip for executing the functions of the related method. Specifically, the first transceiver unit 502 is configured to receive a first message sent by the ue, where the first message is used to request a target service. A second transceiving unit 503, configured to send query measurement packets to a plurality of network egress nodes, where the query measurement packets are used to query computation performance and/or network performance of the network egress nodes for a target service, and receive response packets sent by the plurality of network egress nodes, where the response packets carry computation performance information and/or network performance information of the network egress nodes for the target service; a processing unit 501, configured to determine a target network egress node among multiple network egress nodes based on computation performance information and/or network performance information of the multiple network egress nodes, where the target network egress node is configured to implement packet routing between a user equipment and a service node, and the service node is configured to provide a target service for the user equipment.
For example, the query measurement packet may be a network query measurement packet, where the network query measurement packet includes a measurement and a request for computing performance of the target service, and/or a measurement and a request for network performance of the target service; the response message may be a network query measurement response message.
In some embodiments, the processing unit may be specifically configured to: for any network egress node in the plurality of network egress nodes, determining a service cost of the network egress node based on the calculated performance information and/or the network performance information of the network egress node for the target service; and selecting the node with the minimum service cost from the plurality of network egress nodes as the target network egress node.
The second transceiving unit 503 may be further configured to copy the first packet into multiple copies and send the multiple copies to multiple network egress nodes, respectively.
Further, when sending the query measurement packet to each of the plurality of network egress nodes, the second transceiver unit 503 may specifically be configured to: the inquiry measurement message is used as a channel associated message of the first message and is sent to a plurality of network exit nodes; or, the query measurement message is used as a packet-following message of the first message to be sent to a plurality of network exit nodes.
Furthermore, the second transceiving unit 503, after determining the target network egress node among the plurality of network egress nodes based on the computing performance information and/or the network performance information of the plurality of network egress nodes, may further be configured to: and sending connection reset messages to other network outlet nodes except the target network outlet node in the plurality of network outlet nodes.
In an exemplary illustration, the first transceiver unit 502 may specifically be configured to: and receiving a message sent by the user equipment. The processing unit 501 is further configured to determine, based on a first list, that a first packet of a target service is requested by a packet for the user equipment, where the first list does not include a route forwarding record of which a source IP address is an IP address of the user equipment and a destination IP address is an IP address corresponding to the target service.
Before sending the query measurement packet to each of the plurality of network egress nodes, the processing unit 501 may further be configured to: selecting a plurality of network egress nodes from the M network egress nodes based on a second list, the second list including service information of the M network egress nodes, the service information including one or more of the following information: the method comprises the steps of user connection number, user connection capacity, local priority scheduling attribute, network delay service level requirement and load service level requirement, wherein M is an integer.
The division of the modules in the embodiments of the present application is schematic, and only one logical function division is provided, and in actual implementation, there may be another division manner, and in addition, each functional module in each embodiment of the present application may be integrated in one processor, may also exist alone physically, or may also be integrated in one module by two or more modules. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
When the integrated module may be implemented in the form of hardware, the service routing apparatus may be as shown in fig. 6, and the processing unit 501 may be the processor 602. The processor 602 may be a Central Processing Unit (CPU), a digital processing module, or the like. The first transceiver unit 502 may be a first communication interface 601a, the second transceiver unit 503 may be a second communication interface 601b, and the first communication interface 601a and the second communication interface 601b may be transceivers, interface circuits such as transceiver circuits, etc., or transceiver chips, etc. The service routing apparatus further includes: a memory 603 for storing programs executed by the processor 602. The memory 603 may be a nonvolatile memory such as a Hard Disk Drive (HDD) or a solid-state drive (SSD), and may also be a volatile memory (RAM), for example, a random-access memory (RAM). The memory 603 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such.
The processor 602 is configured to execute the program code stored in the memory 603, and is specifically configured to execute the actions of the processing unit 501, which is not described herein again.
In the embodiment of the present application, a specific connection medium between the first communication interface 601a, the second communication interface 601b, the processor 602, and the memory 603 is not limited. In the embodiment of the present application, the memory 603, the processor 602, the first communication interface 601a, and the second communication interface 601b are connected by the bus 604 in fig. 6, the bus is represented by a thick line in fig. 6, and the connection manner between other components is merely illustrative and not limited. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 6, but this is not intended to represent only one bus or type of bus.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various changes and modifications may be made in the embodiments of the present application without departing from the scope of the embodiments of the present application. Thus, if such modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to encompass such modifications and variations.

Claims (16)

1. A service routing method, comprising:
a network entry node receives a first message sent by user equipment, wherein the first message is used for requesting a target service and establishing transmission connection with a service node providing the target service;
the network inlet node duplicates the first message into multiple copies and sends the multiple copies to multiple network outlet nodes respectively;
the network entry node sends query measurement messages to the plurality of network exit nodes respectively, wherein the query measurement messages are used for querying the computing performance and/or the network performance of the network exit nodes for the target service;
the network entry node receives response messages sent by the plurality of network exit nodes respectively, the response messages carry the calculation performance information and/or the network performance information of the network exit nodes for the target service, and the calculation performance information and/or the network performance information of the network exit nodes for the target service include: computing performance information and/or network performance information of all service nodes providing the target service connected by the network egress node;
the network entry node determines a target network exit node among the plurality of network exit nodes based on the computation performance information and/or the network performance information of the plurality of network exit nodes, the target network exit node being configured to implement packet routing between the user equipment and a service node, the service node being configured to provide the target service for the user equipment.
2. The method according to claim 1, wherein the query measurement message is a network query measurement message containing measurements and requests for computational performance of the target service and/or measurements and requests for network performance of the target service;
the response message is a network query measurement response message.
3. The method of claim 1, wherein the network entry node determining a target network exit node among the plurality of network exit nodes based on the computational performance information and/or network performance information of the plurality of network exit nodes for the target service, comprising:
for any of the plurality of network egress nodes, the network ingress node determining a service cost for the network egress node based on the network performance information and/or computational performance information of the network egress node for the target service;
the network entry node selects a node with the smallest service cost from the plurality of network exit nodes as the target network exit node.
4. The method of claim 1, wherein the network entry node sending query measurement packets to a plurality of network exit nodes, respectively, comprises:
the network entry node takes the query measurement message as a path associated message of the first message and sends the path associated message to the plurality of network exit nodes; or
And the network inlet node takes the query measurement message as a packet-following message of the first message and sends the packet-following message to the plurality of network outlet nodes.
5. The method of claim 1, wherein after the network entry node determines a target network exit node among the plurality of network exit nodes based on the computational performance information and/or network performance information of the plurality of network exit nodes, the method further comprises:
and the network inlet node sends a connection reset message to other network outlet nodes except the target network outlet node in the plurality of network outlet nodes.
6. The method of claim 1, wherein the network entry node receiving a first message sent by the user equipment comprises:
the network entry node receives a message sent by the user equipment;
the network entry node determines, based on a first list, that the packet is a first packet of the user equipment requesting the target service, where the first list does not include a routing forwarding record that a source network protocol IP address is an IP address of the user equipment and a destination IP address is an IP address corresponding to the target service.
7. The method according to any of claims 1 to 6, wherein before the network entry node sends the query measurement packet to each of the plurality of network exit nodes, the method further comprises:
the network entry node selects the plurality of network exit nodes among M network exit nodes based on a second list, the second list including service information of the M network exit nodes, the service information including one or more of: the method comprises the steps of user connection number, user connection capacity, local priority scheduling attribute, network delay service level requirement and load service level requirement, wherein M is an integer.
8. A service routing apparatus, comprising:
a first communication interface for data transmission between the service routing apparatus and a user equipment;
a second communication interface for data transmission between the service routing device and a network egress node;
a processor to perform:
receiving a first message sent by the user equipment through the first communication interface, wherein the first message is used for requesting a target service and establishing transmission connection with a service node providing the target service;
the first message is copied into a plurality of copies and is respectively sent to a plurality of network outlet nodes through the second communication interface;
respectively sending query measurement messages to the plurality of network outlet nodes through the second communication interface, wherein the query measurement messages are used for querying the computing performance and/or the network performance of the network outlet nodes for the target service;
receiving, by the second communication interface, response packets sent by the plurality of network egress nodes, where the response packets carry computation performance information and/or network performance information of the network egress node for the target service, and the computation performance information and/or network performance information of the network egress node for the target service includes: computing performance information and/or network performance information of all service nodes providing the target service connected by the network egress node;
determining a target network egress node among the plurality of network egress nodes based on the computing performance information and/or the network performance information of the plurality of network egress nodes, the target network egress node being configured to implement packet routing between the user equipment and a service node, the service node being configured to provide the target service for the user equipment.
9. The service routing device according to claim 8, wherein the query measurement packet is a network query measurement packet, the network query measurement packet containing a measurement and a request for computational performance of the target service and/or a measurement and a request for network performance of the target service;
the response message is a network query measurement response message.
10. The service routing apparatus of claim 8, wherein the processor, when determining a target network egress node among the plurality of network egress nodes based on the computational performance information and/or the network performance information of the plurality of network egress nodes, is specifically configured to:
determining, for any of the plurality of network egress nodes, a service cost for the network egress node based on the network egress node's computational performance information and/or network performance information for the target service;
selecting a node with the smallest service cost from the plurality of network egress nodes as the target network egress node.
11. The service routing device according to claim 8, wherein the processor, when sending the query measurement packet to each of the plurality of network egress nodes through the second communication interface, is specifically configured to:
sending the query measurement message as a channel associated message of the first message to the plurality of network outlet nodes through the second communication interface; or
And sending the query measurement message as a packet-following message of the first message to the plurality of network outlet nodes through the second communication interface.
12. The service routing apparatus of claim 8, wherein the processor, after determining a target network egress node among the plurality of network egress nodes based on the computational performance information and/or network performance information of the plurality of network egress nodes, is further to:
and sending a connection reset message to other network outlet nodes except the target network outlet node in the plurality of network outlet nodes through the second communication interface.
13. The service routing apparatus of claim 8, wherein the processor, in receiving the first packet sent by the user equipment through the first communication interface, comprises:
receiving a message sent by the user equipment through the first communication interface;
determining that the message is the first message of the user equipment requesting the target service based on a first list, wherein the first list does not include a routing forwarding record of which a source network protocol IP address is the IP address of the user equipment and a destination IP address is the IP address corresponding to the target service.
14. The service routing device according to any of claims 8 to 13, wherein the processor, before sending the query measurement packet to each of the plurality of network egress nodes through the second communication interface, further comprises:
selecting the plurality of network egress nodes among the M network egress nodes based on a second list, the second list including service information for the M network egress nodes, the service information including one or more of: the method comprises the steps of user connection number, user connection capacity, local priority scheduling attribute, network delay service level requirement and load service level requirement, wherein M is an integer.
15. A computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the method of any one of claims 1 to 7.
16. A chip, wherein the chip comprises a processor and a communication interface;
the communication interface is used for receiving code instructions and transmitting the code instructions to the processor;
the processor, configured to invoke code instructions transmitted by the communication interface to perform the method of any one of claims 1 to 7.
CN201910517956.1A 2019-06-14 2019-06-14 Service routing method and device Active CN112087382B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910517956.1A CN112087382B (en) 2019-06-14 2019-06-14 Service routing method and device
PCT/CN2020/096150 WO2020249128A1 (en) 2019-06-14 2020-06-15 Service routing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910517956.1A CN112087382B (en) 2019-06-14 2019-06-14 Service routing method and device

Publications (2)

Publication Number Publication Date
CN112087382A CN112087382A (en) 2020-12-15
CN112087382B true CN112087382B (en) 2022-03-29

Family

ID=73734403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910517956.1A Active CN112087382B (en) 2019-06-14 2019-06-14 Service routing method and device

Country Status (2)

Country Link
CN (1) CN112087382B (en)
WO (1) WO2020249128A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866107B (en) * 2021-01-25 2023-07-18 网宿科技股份有限公司 IP address notification method, traffic guidance method and network equipment
CN116155829A (en) * 2021-11-19 2023-05-23 贵州白山云科技股份有限公司 Network traffic processing method and device, medium and electronic equipment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178235B1 (en) * 1996-12-13 2001-01-23 Telefonaktiebolaget Lm Ericsson Dynamic traffic distribution
CN101287105B (en) * 2008-06-03 2011-05-25 中兴通讯股份有限公司 Load balancing method and apparatus for edge EPG server, implementing method for user login
CN102752128B (en) * 2012-04-19 2015-07-08 杭州华三通信技术有限公司 Multi-protocol label switching (MPLS) traffic engineering (TE) tunnel fault detection method and device thereof
US9071514B1 (en) * 2012-12-17 2015-06-30 Juniper Networks, Inc. Application-specific connectivity loss detection for multicast virtual private networks
CN105991459B (en) * 2015-02-15 2019-05-10 上海帝联信息科技股份有限公司 CDN node returns source route distribution method, device and system
US10374944B2 (en) * 2017-09-25 2019-08-06 Futurewei Technologies, Inc. Quality of service for data transmission
CN108494612B (en) * 2018-01-19 2021-06-08 西安电子科技大学 Network system for providing mobile edge computing service and service method thereof
CN108282801B (en) * 2018-01-26 2021-03-30 重庆邮电大学 Switching management method based on mobile edge calculation
CN109361600B (en) * 2018-04-20 2021-08-10 中国移动通信有限公司研究院 Method and equipment for acquiring path identifier

Also Published As

Publication number Publication date
CN112087382A (en) 2020-12-15
WO2020249128A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
WO2020228505A1 (en) Method, device, and system for selecting mobile edge computing node
WO2020228469A1 (en) Method, apparatus and system for selecting mobile edge computing node
WO2020253266A1 (en) Method for providing edge service, apparatus and device
EP3528440B1 (en) Path selection method and system, network acceleration node, and network acceleration system
US8694675B2 (en) Generalized dual-mode data forwarding plane for information-centric network
CN107517228B (en) Dynamic acceleration method and device in content distribution network
US10333835B2 (en) Packet transmission method, apparatus, and system
US9270598B1 (en) Congestion control using congestion prefix information in a named data networking environment
JP7313480B2 (en) Congestion Avoidance in Slice-Based Networks
KR20170066583A (en) Software-defined network-based method and system for implementing content distribution network
WO2013029569A1 (en) A Generalized Dual-Mode Data Forwarding Plane for Information-Centric Network
WO2011116726A2 (en) Method and system for network caching, domain name system redirection sub-system thereof
JP2023523473A (en) User plane function determination method, information provision method, device and medium
US11502956B2 (en) Method for content caching in information-centric network virtualization
Park et al. Smart base station-assisted partial-flow device-to-device offloading system for video streaming services
Cheng et al. Application-aware SDN routing for big data networking
CN112087382B (en) Service routing method and device
CN116633934A (en) Load balancing method, device, node and storage medium
Nguyen et al. Adaptive caching for beneficial content distribution in information-centric networking
CN115412482B (en) Calculation force routing method and device, electronic equipment and storage medium
CN115665262A (en) Request processing method and device, electronic equipment and storage medium
CN110601989A (en) Network traffic balancing method and device
CN112104566B (en) Processing method and device for load balancing
Saifullah et al. Open flow-based server load balancing using improved server health reports
JP5894981B2 (en) Accessing a network of nodes distributed across a communication architecture using a topology server with multiple criteria selection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant