WO2023005745A1 - 报文转发方法、装置及系统、计算机可读存储介质 - Google Patents

报文转发方法、装置及系统、计算机可读存储介质 Download PDF

Info

Publication number
WO2023005745A1
WO2023005745A1 PCT/CN2022/106519 CN2022106519W WO2023005745A1 WO 2023005745 A1 WO2023005745 A1 WO 2023005745A1 CN 2022106519 W CN2022106519 W CN 2022106519W WO 2023005745 A1 WO2023005745 A1 WO 2023005745A1
Authority
WO
WIPO (PCT)
Prior art keywords
service node
service
layer
node layer
nodes
Prior art date
Application number
PCT/CN2022/106519
Other languages
English (en)
French (fr)
Inventor
徐玲
彭书萍
陈霞
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023005745A1 publication Critical patent/WO2023005745A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • 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
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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

Definitions

  • the present application relates to the technical field of communications, and in particular to a message forwarding method, device and system, and a computer-readable storage medium.
  • the construction of wireless communication network is centered on the data center (DC).
  • DC data center
  • Each data center is managed using distributed cloud technology to form a hierarchical network system of edge cloud and central cloud.
  • the application server (application server) provided by the data center for the user equipment (UE) is deployed on each edge cloud, so that the application service is deployed closer to the user equipment, reducing the service delay and meeting the delay-sensitive business demand.
  • the infrastructure platform used to implement edge cloud deployment may be called a mobile edge computing (mobile edge computing, MEC) site.
  • the same application service is usually deployed on multiple MEC sites, and different MEC sites work independently.
  • the packets from the user equipment are usually dispatched to the MEC site closest to the user equipment, or the computing power priority network (computing first network, CFN) technology is used to schedule the packets based on the computing power of the MEC site based on the principle of load balancing.
  • the scheduling method is relatively simple.
  • the present application provides a message forwarding method, device and system, and a computer-readable storage medium.
  • a packet forwarding method includes: the first device receives a message sent by the second device, and the message includes an application service identifier.
  • the first device determines the first service node layer from multiple service node layers according to the application service identifier, the service nodes in the first service node layer have the first layer identifier, and the service nodes in the first service node layer are deployed with application services Identify the corresponding target application service.
  • the first device selects a target service node from the first service node layer.
  • the first device sends the packet to the target service node.
  • the device can select the service to process the message according to the layer identifier of the service node after receiving the message. Node, which enriches the message scheduling method.
  • the first device determines an implementation manner of the first service node layer from multiple service node layers according to the application service identifier, including: after the first device determines that one or more service nodes in the second service node layer are overloaded , to obtain the first service node layer, the service nodes in the second service node layer have the second layer identifier, and the priority of the second service node layer is higher than the priority of the first service node layer.
  • the first device may sequentially determine the service node layer in order of priority from high to low according to the application service identifier and layer identifier, and one or more service nodes in the second service node layer with higher priority In the case of overloading, the first device determines the first service node layer with a lower priority, so as to ensure that the finally determined target service node has computing power to process the message and improve the reliability of providing application services.
  • the first service node layer is the service node layer with the highest priority among multiple service node layers.
  • the first service node layer is the service node layer with the highest priority among the multiple service node layers, including: the first service node layer is the service node layer closest to the first device among the multiple service node layers, or, The first service node layer is the service node layer with the shortest delay to the first device among the multiple service node layers.
  • multiple service node layers include an access service node layer, an aggregation service node layer, and a core service node layer, wherein the service nodes in the access service node layer are connected to access network equipment, and the service nodes in the aggregation service node layer The service node is connected to the aggregation network equipment, and the service node in the core service node layer is connected to the core network equipment.
  • the priority of the access service node layer is higher than that of the aggregation service node layer, and the priority of the aggregation service node layer is higher than that of the core network.
  • the priority of the service node tier is higher than that of the core network.
  • the multiple service node layers include a level (level) 1 service node layer and a level2 service node layer, wherein, the service node in the level1 service node layer communicates with level 1 of the intermediate system to intermediate system (ISIS) protocol
  • ISIS intermediate system to intermediate system
  • the gateway connection in the area, the service node in the level2 service node layer is connected to the gateway in the level2 area of the ISIS protocol, the priority of the level1 service node layer is higher than the priority of the level2 service node layer.
  • multiple service node layers include a non-backbone service node layer and a backbone service node layer, wherein the service nodes in the non-backbone service node layer are within the non-backbone area of the open shortest path first (open shortest path first, OSPF) protocol
  • a gateway (gateway, GW) connection the service node in the backbone service node layer is connected to the gateway in the backbone area of the OSPF protocol, and the priority of the non-backbone service node layer is higher than that of the backbone service node layer.
  • each service node layer in the plurality of service node layers corresponds to a delay threshold, and the delay corresponding to the delay threshold is the delay from the corresponding service node layer to the first device, and the corresponding service with a small delay threshold
  • the priority of the node layer is higher than that of the corresponding service node layer with a larger delay threshold.
  • multiple service node layers include an active service node layer and a standby service node layer, and the priority of the active service node layer is higher than that of the standby service node layer, wherein the service node in the active service node layer is the same as the active service node layer.
  • Connecting with a gateway the service nodes in the standby service node layer are connected to the standby gateway, and the priority of the active service node layer is higher than that of the standby service node layer.
  • an implementation manner in which the first device selects the target service node from the first service node layer includes: the first device selects from the first service node layer the internal gateway protocol of the link with the first device (Interior Gateway Protocol, IGP) the target service node with the least overhead.
  • the first device selects the target service node with the shortest time delay to the first device from the first service node layer.
  • the first device takes the service node with the smallest IGP overhead of the link with the first device in the determined service node layer or the service node with the shortest time delay to the first device as the target service node, that is, selects the service node with the lowest network performance.
  • An excellent service node can reduce the transmission delay of the message as much as possible, so as to reduce the overall end-to-end delay, so as to provide users with better application services.
  • the target service node is a service node in the first service node layer that has the smallest IGP overhead of the link with the first device and is not overloaded.
  • the target service node is a service node in the first service node layer that has the shortest time delay to the first device and is not overloaded.
  • the first device takes the service node in the determined service node layer that has the smallest IGP overhead of the link with the first device or has the shortest time delay to the first device and is not overloaded as the target service node. That is to say, this implementation method comprehensively considers the computing power and network performance of service nodes, and preferentially selects service nodes with better network performance during message scheduling.
  • a service node with more sufficient resources can not only enable the service node to effectively provide application services, but also reduce the transmission delay of the message as much as possible, so as to reduce the overall end-to-end delay, so as to provide users with better application services .
  • the first device also receives a notification message, where the notification message includes computing power information corresponding to the application service deployed by the service node, an application service identifier corresponding to the application service deployed by the service node, and a layer identifier of the service node.
  • the notification message also includes next hop information.
  • the notification message comes from the gateway connected to the service node, and the next hop information is the address of the gateway connected to the service node.
  • the notification message comes from the service node, and the next hop information is the address of the service node.
  • the notification message is a border gateway protocol (border gateway protocol, BGP) update (update) message.
  • border gateway protocol border gateway protocol, BGP
  • update update
  • the computing power information and the layer identifier are carried in the routing attribute field of the BGP update message, and the application service identifier is carried in the network layer reachability information field of the BGP update message.
  • the first device stores the computing power information corresponding to the application service deployed by each service node according to the notification message, and establishes a corresponding relationship between the application service identifier and the layer identifier of the service node layer;
  • the first device determines the implementation process of the first service node layer from multiple service node layers according to the application service identifier, including: the first device selects the layer that contains the deployed target application based on the corresponding relationship between the application service identifier and the layer identifier of the service node layer.
  • the first service node tier of service nodes are described in detail below.
  • another implementation manner in which the first device selects the target service node from the first service node layer includes: the first device obtains the target load sharing group from the first service node layer. The first device obtains the target service node from the target load sharing group.
  • This implementation method is based on the consideration that the distance between the corresponding dispatching node and different service nodes may be very different due to the different access locations of the user equipment.
  • the concept of load sharing group is proposed to provide users with better application services. At the same time, the load balancing of multiple service nodes in the same load sharing group is realized to improve the resource utilization of the service nodes.
  • the first device acquires an implementation manner of the target load sharing group from the first service node layer, including:
  • the first device uses the service nodes in the first service node layer whose delay to the first device is smaller than the shared delay threshold corresponding to the first service node layer as the target load sharing group.
  • the first device uses the first m service nodes with the shortest delay to the first device in the first service node layer as the target load sharing group, where m is an integer greater than 1.
  • the first device uses the service node connected to the IGP domain closest to the first device in the first service node layer as the target load sharing group.
  • the first device obtains the implementation method of the target service node from the target load sharing group, including: the first device assigns the target load sharing The service nodes that are not overloaded in the group are used as the target service nodes.
  • the computing power information includes one or more of the heavy and light load status, the number of computing power resources, the utilization rate of computing power resources, the number of device connections, the fusion computing power value, or the task processing delay.
  • a message forwarding method includes: the service node generates a notification message, and the notification message includes computing power information corresponding to the application service deployed by the service node, an application service identifier corresponding to the application service deployed by the service node, and a layer identifier of the service node.
  • the service node sends a notification message to the gateway connected to the service node.
  • the notification message also includes next hop information, where the next hop information is the address of the serving node.
  • the notification message is a BGP update message.
  • the computing power information and the layer identifier are carried in the routing attribute field of the BGP update message, and the application service identifier is carried in the network layer reachability information field of the BGP update message.
  • the notification message further includes a group identifier of the service node, and the group identifier is used to indicate the load sharing group to which the service node belongs.
  • a packet forwarding method includes: the control device stratifies the managed service nodes, and the service nodes belonging to the same service node layer have the same layer identifier.
  • the control device sends corresponding layer identifiers to multiple service nodes respectively.
  • multiple service nodes are layered through the control device, and corresponding layer identifiers are assigned to each service node, so that after receiving the message, the dispatching node can select the service node to process the message according to the layer identifier of the service node.
  • the service node of the text enriches the message scheduling method.
  • an implementation manner for the control device to layer the managed service nodes includes: the control device divides the multiple service nodes into an access service node layer, an aggregation service node layer, and a core service node layer, Among them, the service nodes in the access service node layer are connected to the access network equipment, the service nodes in the aggregation service node layer are connected to the aggregation network equipment, the service nodes in the core service node layer are connected to the core network equipment, and the access service node The priority of the aggregation service node layer is higher than that of the aggregation service node layer, and the priority of the aggregation service node layer is higher than that of the core service node layer.
  • control device divides the multiple service nodes into a level1 service node layer and a level2 service node layer, wherein the level1 service node The service nodes in the layer are connected to the gateways in the level1 area of the ISIS protocol, and the service nodes in the level2 service node layer are connected to the gateways in the level2 area of the ISIS protocol.
  • the priority of the level1 service node layer is higher than that of the level2 service node layer class.
  • control device divides the multiple service nodes into a non-backbone service node layer and a backbone service node layer, wherein the non-backbone service node layer The service node in the service node layer is connected to the gateway in the non-backbone area of the OSPF protocol, and the service node in the backbone service node layer is connected to the gateway in the backbone area of the OSPF protocol.
  • the priority of the non-backbone service node layer is higher than that of the backbone service The priority of the node layer.
  • control device stratifies the managed service nodes includes: the control device divides the multiple service nodes into multiple service node layers according to the time delay from the multiple service nodes to the scheduling node , each service node layer corresponds to a delay threshold, and the delay corresponding to the delay threshold is the delay from the corresponding service node layer to the scheduling node, and the corresponding service node layer with a smaller delay threshold has a higher priority than the corresponding The priority of the service node layer with a large delay threshold.
  • control device divides the multiple service nodes into a layer of active service nodes and a layer of standby service nodes, and the layer of active service nodes The priority of the tier is higher than that of the standby service node tier.
  • a message forwarding apparatus is provided, which is applied to a first device, and the first device is configured to execute the method in the first aspect or any possible design of the first aspect.
  • the first network device includes a unit for executing the method in the first aspect or any possible design of the first aspect.
  • a fifth aspect provides a message forwarding device, which is applied to a service node, and the service node is configured to execute the method in the second aspect or any possible design of the second aspect.
  • the service node includes a unit for executing the method in the second aspect or any possible design of the second aspect.
  • a sixth aspect provides a message forwarding device, which is applied to a control device, and the control device is used to execute the method in the third aspect or any possible design of the third aspect.
  • the control device includes a unit for executing the method in the third aspect or any possible design of the third aspect.
  • a device including: a processor and a memory;
  • the memory is used to store a computer program, and the computer program includes program instructions
  • the processor is configured to invoke the computer program to implement the methods in the above first aspect and various implementation manners thereof.
  • a service node including: a processor and a memory;
  • the memory is used to store a computer program, and the computer program includes program instructions
  • the processor is configured to invoke the computer program to implement the methods in the above second aspect and various implementation manners thereof.
  • a control device including: a processor and a memory;
  • the memory is used to store a computer program, and the computer program includes program instructions
  • the processor is configured to invoke the computer program to implement the above third aspect and the methods in various implementation manners thereof.
  • a message forwarding system includes: a first device and multiple service nodes, the first device includes the device according to any one of the fourth aspect, and the service nodes include: The device according to any one of the fifth aspect.
  • the system further includes: a control device, configured to manage the plurality of service nodes, and the control device includes the device according to any one of the sixth aspect.
  • a computer-readable storage medium is provided, and instructions are stored on the computer-readable storage medium, and when the instructions are executed by a processor of the first device, the above-mentioned first aspect and various implementations thereof are realized The method in the mode; or, when the instruction is executed by the processor of the service node, implement the method in the above second aspect and its implementations; or, when the instruction is executed by the processor of the control device, implement The above third aspect and the methods in each implementation manner thereof.
  • a chip in a twelfth aspect, includes a programmable logic circuit and/or program instructions. When the chip is running, it can realize the above-mentioned first aspect and the methods in its various implementations, or realize the above-mentioned second aspect and its The method in each implementation manner, or realize the above third aspect and the method in each implementation manner.
  • FIG. 1 is a schematic diagram of an application scenario involved in a message forwarding method provided by an embodiment of the present application
  • FIG. 2 is a schematic structural diagram of a hierarchical network system of an edge cloud plus a central cloud provided by an embodiment of the present application;
  • FIG. 3 is a schematic diagram of an application scenario involved in another message forwarding method provided by an embodiment of the present application
  • FIG. 4 is a schematic diagram of a layered deployment of a service node provided by an embodiment of the present application.
  • Fig. 5 is a schematic diagram of layered deployment of another service node provided by the embodiment of the present application.
  • FIG. 6 is a schematic diagram of another layered deployment of service nodes provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of another layered deployment of service nodes provided by the embodiment of the present application.
  • FIG. 8 is a schematic diagram of another layered deployment of service nodes provided by the embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a notification message obtained based on the extension of a BGP update message provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of another notification message obtained based on the extension of the BGP update message provided by the embodiment of the present application.
  • FIG. 11 is a schematic flowchart of a message forwarding method provided in an embodiment of the present application.
  • FIG. 12 is a schematic diagram of a packet scheduling scenario provided by an embodiment of the present application.
  • FIG. 13 is a schematic diagram of another packet scheduling scenario provided by the embodiment of the present application.
  • Fig. 14 is a schematic structural diagram of a first device provided by an embodiment of the present application.
  • Fig. 15 is a schematic structural diagram of another first device provided by the embodiment of the present application.
  • Fig. 16 is a schematic structural diagram of another first device provided by the embodiment of the present application.
  • Fig. 17 is a schematic structural diagram of another first device provided by the embodiment of the present application.
  • FIG. 18 is a schematic structural diagram of a service node provided by an embodiment of the present application.
  • FIG. 19 is a schematic structural diagram of another service node provided by an embodiment of the present application.
  • FIG. 20 is a schematic structural diagram of another service node provided by an embodiment of the present application.
  • Fig. 21 is a schematic structural diagram of another service node provided by the embodiment of the present application.
  • Fig. 22 is a schematic structural diagram of a control device provided by an embodiment of the present application.
  • Fig. 23 is a schematic structural diagram of another control device provided by the embodiment of the present application.
  • Fig. 24 is a schematic structural diagram of another control device provided by the embodiment of the present application.
  • Fig. 25 is a schematic structural diagram of another control device provided by the embodiment of the present application.
  • FIG. 26 is a schematic structural diagram of a message forwarding system provided by an embodiment of the present application.
  • FIG. 1 is a schematic diagram of an application scenario involved in a packet forwarding method provided by an embodiment of the present application.
  • the application scenario includes: user equipment 101, gateways 102A-102C (collectively referred to as gateways 102), and service nodes 103A-103C (collectively referred to as service nodes 103).
  • the service node 103A is connected to the gateway 102A
  • the service node 103B is connected to the gateway 102B
  • the service node 103C is connected to the gateway 102C.
  • the user equipment 101 is equipment deployed on the user side.
  • FIG. 1 is a schematic diagram of an application scenario involved in a packet forwarding method provided by an embodiment of the present application.
  • the application scenario includes: user equipment 101, gateways 102A-102C (collectively referred to as gateways 102), and service nodes 103A-103C (collectively referred to as service nodes 103).
  • the service node 103A is connected to the gateway 102A
  • the gateway 102 and the service node 103 are deployed at the application service provider side, and the communication between the user equipment 101 and the gateway 102 is performed through an operator network.
  • the quantity and deployment manner of each device in FIG. 1 are only used for illustrative purposes, and are not intended to limit the application scenarios involved in the method provided by the embodiment of the present application.
  • the gateway 102 may also be deployed on the operator's side, that is, the gateway 102 is located in the operator's network, and the service node 103 is deployed on the application service provider's side.
  • both the gateway 102 and the service node 103 may be deployed on the operator side.
  • the user equipment 101 may be a mobile phone, a computer, or a smart wearable device.
  • a client is installed on the user equipment 101 .
  • the user equipment 101 can initiate a request based on the client installed on it to enjoy the corresponding application service.
  • application services refer to: services provided to user equipment through various types of applications (applications, APPs), such as computing processing services (especially intensive computing services), application online services, content storage services, etc. .
  • the gateway 102 can be divided into a gateway 102A close to the user equipment 101 , and a gateway 102B and a gateway 102C far away from the user equipment 101 .
  • the gateway 102A close to the user equipment 101 can be used as a scheduling node for scheduling traffic, specifically for determining the target service node for processing the message after receiving the message from the user equipment 101 , and send the message to the target service node.
  • the gateway 102 is deployed at the application service provider side, and the gateway 102A close to the user equipment 101 may also be referred to as an entry node for connecting the user equipment 101 to the application service provider network.
  • other gateways 102 may also be used as scheduling nodes, which is not limited in this embodiment of the present application.
  • the service node 103 may be deployed in one server, or in a server cluster composed of multiple servers.
  • the service node 103 is used to provide a service platform for applications.
  • At least one instance is deployed in each service node 103 , and the instance is used to provide application services for the user equipment 101 .
  • An instance refers to a specific application in which an application service is deployed on different service nodes. Therefore, an application service can correspond to multiple instances.
  • application services may be deployed on multiple service nodes 103 in a distributed manner. For example, in the application scenario shown in FIG. 1 , a first instance is deployed on service node 103A, a second instance is deployed on service node 103B, and a third instance is deployed on service node 103C. The first instance, the second instance The instance and the third instance are instances of the same application service (target application service).
  • the application service is deployed in the service node, that is, the instance of the application service is deployed in the service node.
  • Different service nodes 103 may be configured with computing resources and storage resources (collectively referred to as computing power resources) of the same or different scales.
  • the computing resources include central processing unit (central processing unit, CPU) resources, graphics processing unit (graphics processing unit, GPU) resources and/or tensor processing unit (tensor processing unit, TPU) resources, etc.
  • Storage resources include memory resources and/or disk resources.
  • the application service identifiers of the application services deployed in the service node 103 may be stored in the service node 103 .
  • the application service identifier is used to uniquely identify the corresponding application service, so as to distinguish different application services.
  • an application service identifier capable of uniquely identifying the application service may be uniformly assigned to each application service.
  • the application service identifier may be in the form of an Internet Protocol (Internet Protocol, IP) address, or in other forms, which is not limited in this embodiment of the present application.
  • the gateway 102 has a computing power sensing capability, and can perceive the computing power of the service node 103 .
  • the application service provider network is also a computing power priority network (CFN), and the gateway 102 is also a CFN node.
  • the service node 103 publishes computing power information to the CFN node in real time, or the CFN node periodically obtains real-time computing power information from the service node 103 .
  • the CFN node can also be a router or a switch.
  • the gateway 102 may be a data center gateway, and the service node 103 may be deployed on the edge cloud, for example, the service node 103 may be an MEC site.
  • FIG. 2 is a schematic structural diagram of an edge cloud plus central cloud hierarchical network system provided by an embodiment of the present application.
  • the cloud deployment scenario shown in Figure 2 corresponds to the application scenario shown in Figure 1, wherein the gateway 102 in Figure 1 is mapped to the data center gateway (DCGW) in Figure 2, and the service node 103 in Figure 1 is mapped to 2 edge cloud or central cloud.
  • DCGW data center gateway
  • FIG. 3 is a schematic diagram of an application scenario involved in another packet forwarding method provided in the embodiment of the present application.
  • the application scenario shown in FIG. 3 also includes a control device.
  • the application scenario includes: user equipment 301 , gateways 302A-302C (collectively referred to as gateway 302 ), service nodes 303A-303C (collectively referred to as service node 303 ), and control device 304 .
  • the user equipment 301, gateway 302, and service node 303 in FIG. 3 are similar to the user equipment 101, gateway 102, and service node 103 in FIG. The description will not be repeated here.
  • the control device 304 may be a cloud management and control platform or a software defined network (software defined networking, SDN) controller or the like.
  • the control device 304 is connected to the service node 303 .
  • the control device 304 is used to manage and control the service node 303 .
  • the control device can stratify the managed service nodes to obtain multiple service node layers, and assign layer identifiers to each service node layer, the layer identifiers of service nodes belonging to the same service node layer Same, service nodes belonging to different service node layers have different layer identifiers. Then the control device sends corresponding layer identifiers to multiple service nodes respectively.
  • the service node layer can be understood as a collection of service nodes, including one or more service nodes.
  • control device there are multiple manners for the control device to layer multiple service nodes.
  • the embodiment of the present application uses the following five layering methods as examples for illustration, and of course other layering methods are not excluded.
  • the control device stratifies the service nodes according to the locations of the service nodes.
  • the implementation process of the control device layering the managed service nodes includes: the control device divides the multiple service nodes into an access service node layer, an aggregation service node layer and a core service node layer.
  • the service nodes in the access service node layer are connected to the access network equipment
  • the service nodes in the aggregation service node layer are connected to the aggregation network equipment
  • the service nodes in the core service node layer are connected to the core network equipment.
  • the priority of the access service node layer is higher than that of the aggregation service node layer
  • the priority of the aggregation service node layer is higher than that of the core service node layer.
  • the access network device may be a base station side gateway (cell site gateway, CSG), and the aggregation network device may be an access service A gateway (access service gateway, ASG), the core network device may be a base station controller side gateway (radio network controller site gateway, RSG).
  • FIG. 4 is a schematic diagram of layered deployment of a service node provided by an embodiment of the present application. As shown in Figure 4, the scheduling node is CSG, the service node connected to CSG belongs to the first layer (layer1), the service node connected to ASG belongs to the second layer (layer2), and the service node connected to RSG belongs to the third layer (layer3).
  • the control device layers the service nodes based on IGP deployment, and the IGP adopted by the network is ISIS.
  • the implementation process of the control device layering the multiple managed service nodes includes: the control device divides the multiple service nodes into a level1 service node layer and a level2 service node layer. Wherein, the service nodes in the level1 service node layer are connected to the gateway in the level1 area of the ISIS protocol, and the service nodes in the level2 service node layer are connected to the gateway in the level2 area of the ISIS protocol.
  • the priority of level1 service node layer is higher than that of level2 service node layer.
  • the level1 area of the ISIS protocol includes access network equipment
  • the level2 area of the ISIS protocol includes aggregation network equipment and core network equipment.
  • FIG. 5 is a schematic diagram of layered deployment of another service node provided by the embodiment of the present application.
  • the scheduling node is CSG
  • the service node connected to CSG belongs to the first layer (layer1)
  • the service node connected to ASG and the service node connected to RSG belong to the second layer (layer2).
  • the control device layers the service nodes based on IGP deployment, and the IGP adopted by the network is OSPF.
  • the implementation process for the control device to layer the managed service nodes includes: the control device divides the multiple service nodes into a non-backbone service node layer and a backbone service node layer. Among them, the service nodes in the non-backbone service node layer are connected to the gateway in the non-backbone area (non-area 0) of the OSPF protocol, and the service nodes in the backbone service node layer are connected to the gateway in the backbone area (area 0) of the OSPF protocol .
  • the priority of the non-backbone service node layer is higher than that of the backbone service node layer.
  • non-area 0 of the OSPF protocol includes access network equipment
  • area 0 of the OSPF protocol includes aggregation network equipment and core network equipment.
  • FIG. 6 is a schematic diagram of another layered deployment of service nodes provided by an embodiment of the present application.
  • the scheduling node is CSG
  • the service node connected to CSG belongs to the first layer (layer1)
  • the service node connected to ASG and the service node connected to RSG belong to the second layer (layer2).
  • the control device stratifies the serving nodes based on the delay between the serving nodes and the scheduling nodes.
  • the implementation process for the control device to layer the managed service nodes includes: the control device divides the multiple service nodes into multiple service node layers according to the time delay from the multiple service nodes to the scheduling node.
  • Each service node layer corresponds to a delay threshold, and the delay corresponding to the delay threshold is the delay from the corresponding service node layer to the scheduling node.
  • the priority of the corresponding service node layer with a small delay threshold is higher than the priority of the corresponding service node layer with a large delay threshold.
  • the delay threshold corresponding to the service node layer can be understood as the upper limit of the delay from the service node to the scheduling node in the service node layer.
  • the control device divides multiple service nodes into three service node layers based on three delay thresholds.
  • the three delay thresholds are respectively T1, T2, and T3, where T1 ⁇ T2 ⁇ T3.
  • the three service node layers are service node layer 1, service node 2 and service node 3 respectively.
  • the service node layer 1 corresponds to T1
  • the service node layer 2 corresponds to T2
  • the service node layer 3 corresponds to T3, which means that the delay between the service node in the service node layer 1 and the scheduling node is not greater than T1, and the service node in the service node layer 2
  • the delay to the scheduling node is greater than T1 and not greater than T2
  • the delay from the service node in the service node layer 3 to the scheduling node is greater than T2 and not greater than T3.
  • control device stratifies the service nodes according to the network cloud engine (NCE) delay map, for example, taking the scheduling node as the axis, measuring the delay from each service node to the scheduling node, and then according to multiple The delay from the service node to the scheduling node sets multiple delay thresholds to divide multiple service nodes into multiple service node layers.
  • NCE network cloud engine
  • FIG. 7 is a schematic diagram of another layered deployment of service nodes provided by the embodiment of the present application.
  • the scheduling node is a CSG
  • the service node whose time delay to the scheduling node is not greater than T1 belongs to the first layer (layer1)
  • the service node whose time delay to the scheduling node is greater than T1 and not greater than T2 belongs to the second layer (layer2)
  • the service node whose time delay to the scheduling node is greater than T2 and not greater than T3 belongs to the third layer (layer3).
  • the implementation process of the control device layering the managed service nodes includes: the control device divides the multiple service nodes into a primary service node layer and a standby service node layer.
  • the service nodes in the active service node layer are connected to the active gateway, and the service nodes in the standby service node layer are connected to the standby gateway.
  • the priority of the active service node layer is higher than that of the standby service node layer.
  • the standby gateway can be regarded as a redundant gateway, and the standby service node layer can be regarded as a redundant service node layer.
  • the control device can make the service nodes in the standby service node layer enter a dormant state.
  • the standby gateway will also enter a dormant state ;
  • the control device can wake up the service nodes in the backup service node layer, so as to ensure that application services can be provided to the user equipment.
  • FIG. 8 is a schematic diagram of another layered deployment of service nodes provided by the embodiment of the present application.
  • the service nodes connected to the active gateway belong to the first layer (layer1)
  • the service nodes connected to the backup gateway belong to the second layer (layer2).
  • the above-mentioned process of layering multiple service nodes may also be executed by a scheduling node.
  • the scheduling node can layer multiple service nodes.
  • multiple service nodes are layered through the control device, and corresponding layer identifiers are assigned to each service node, so that after receiving the message, the dispatching node can select the service node for processing according to the layer identifier of the service node.
  • the service node of the message enriches the message scheduling method.
  • the service node After receiving the layer identifier sent by the control device, the service node generates a notification message, the notification message includes the computing power information corresponding to the application service deployed by the service node, the application service information corresponding to the application service deployed by the service node ID and the layer ID of the service node.
  • the service node sends the notification message to the gateway connected to the service node.
  • the application service identifier corresponding to the application service may be a specific value or a specific identifier for the application service, which is used to distinguish different application services.
  • the application service identifier corresponding to the application service is an anycast IP (anycast IP) address corresponding to the application service.
  • the anycast IP addresses corresponding to different application services are different, and the anycast IP addresses corresponding to the same application service deployed on different service nodes are the same.
  • the computing power information includes one or more of the heavy and light load status, the number of computing power resources, the utilization rate of computing power resources, the number of device connections, the fusion computing power value, or the task processing delay.
  • the heavy and light load state of the application service is used to indicate whether the instance of the application service in the service node is in the heavy load state or the light load state.
  • the heavy load state reflects the heavy load of the instance, that is, the computing resources corresponding to the application service are exhausted or are about to be exhausted. Exhausted; the light load state reflects that the load of the instance is small, that is, the available computing resources corresponding to the application service are sufficient.
  • the number of computing power resources corresponding to the application service may include the number of CPU resources, number of GPU resources, or number of TPU resources allocated to the application service in the service node.
  • the utilization rate of computing resource corresponding to the application service may include the utilization rate of the CPU resource, the utilization rate of the GPU resource, or the utilization rate of the TPU resource allocated to the application service by the service node.
  • the number of device connections corresponding to the application service refers to the number of user equipment accessing the service node and requesting the application service.
  • the quantity of computing power resources, the utilization rate of computing power resources, and the number of device connections can be collectively referred to as the detailed indicators of computing power resources.
  • the fusion computing power value corresponding to the application service is a measure of computing power.
  • the integrated computing power value corresponding to the application service may be a fusion value calculated based on detailed indicators of computing power resources such as the number of computing power resources corresponding to the application service, the utilization rate of computing power resources, or the number of device connections.
  • the integrated computing power value corresponding to the application service is negatively correlated with the number of computing power resources corresponding to the application service, positively correlated with the utilization rate of the computing power resources corresponding to the application service, and positively correlated with the number of device connections corresponding to the application service .
  • the task processing delay corresponding to the application service may be the average processing delay, the maximum processing delay or the minimum processing delay of the message requesting the application service by the service node within a period of time.
  • the layer identifier of the service node is used to indicate the service node layer to which the service node belongs.
  • the service node has a first-level identifier, indicating that the service node belongs to the first service node level.
  • the service node has a second layer identifier, indicating that the service node belongs to the second service node layer.
  • the notification message sent by the service node to the gateway connected to the service node also includes next hop information.
  • the next hop information is the address of the service node.
  • the next hop information is used by the gateway connected to the service node to generate a routing table entry. For example, application service A, application service B, and application service C are deployed on the service node.
  • the gateway determines that the load status corresponding to application service A deployed by the service node is not overloaded, and according to the computing power information corresponding to application service B, the gateway determines that the load status corresponding to application service B deployed by the service node is Overload, according to the computing power information corresponding to application service C, it is determined that the load status corresponding to application service C deployed by the service node is overload.
  • the anycast IP address corresponding to application service A is IP1
  • the anycast IP address corresponding to application service B is IP2
  • the anycast IP address corresponding to application service C is IP3.
  • the layer ID of the service node is layer ID1.
  • the IP address of the service node is IP 1.1.1.1.
  • next hop refers to the next device to which the packet whose destination address is the corresponding anycast IP address needs to be forwarded.
  • the outbound interface refers to the interface used by the device to send packets to the next hop.
  • the above notification message is a BGP update message.
  • the computing power information corresponding to the application service deployed by the service node and the layer identifier of the service node are carried in the route attributes (path attributes) field of the BGP update message.
  • the application service identifier corresponding to the application service is carried in the network layer reachability information (network layer reachability information, NLRI) field of the BGP update message.
  • FIG. 9 and FIG. 10 are respectively schematic structural diagrams of a BGP update message-based advertisement message provided by an embodiment of the present application.
  • the BGP update message includes an Ethernet header (Ethernet header), an IP header (IP header), a Transmission Control Protocol (Transmission Control Protocol, TCP) header (TCP header), BGP data Packet and frame check sequence (frame check sequence, FCS).
  • the BGP data packet includes a BGP header and a BGP message field.
  • the BGP header includes a marker (maker) field, a length (length) field and a type (type) field (not shown in the figure).
  • FIG. 9 shows the format of the BGP message field used to advertise routes defined in the request for comments (request for comments, RFC) (referred to as: RFC 4271) document numbered 4271.
  • the BGP message field includes an unreachable route length (withdrawn routes length) field, an unreachable route (withdrawn routes) field, a route attribute total length (total path attribute length) field, a route attribute field, and an NLRI field .
  • FIG. 10 shows the format of the BGP message fields used to advertise routes defined in the RFC4760 document.
  • the BGP message field includes an address family identifier (address family identifier) field, a subsequent address family identifier (subsequent address family identifier) field, and a length of next hop network address (length of next hop network address) field , a next hop network address (next hop network address) field, a reserved (reserved) field, an NLRI field, and a routing attribute field.
  • the communication scenario in the embodiment of the present application is not a virtual private network (virtual private network, VPN) scenario, and the interactive routing and next-hop information between different devices are Internet protocol version 4 (internet protocol version 4, IPv4) type
  • the BGP message format shown in Figure 9 or Figure 10 can be used.
  • the communication scenario in the embodiment of the present application is a VPN scenario, or the exchange routing and next hop information between different devices is of IPv6 type
  • the BGP message format shown in FIG. 10 can be used.
  • the computing power information corresponding to the application service deployed by the service node can be encoded in type length value (type-length-value, TLV) or type value (type-value, TV) and carried in the route attribute field.
  • TLV type length value
  • type-value type-value
  • TV type value
  • it can be extended in the routing attribute field: a flag field with a length of 1 byte, a type field with a length of 1 byte, a length field with a length of 1 byte, and A payload (value) field with a length of 4 bytes.
  • This flag bit field is used to mark the route attribute.
  • This payload field is used to carry computing power information.
  • This type field is used to indicate that the content carried by the load field is computing power information.
  • the layer identifier of the service node may be encoded in TLV or TV and carried in the routing attribute field.
  • it can be extended in the routing attribute field: a flag field with a length of 1 byte, a type field with a length of 1 byte, a length field with a length of 1 byte, and a payload field with a length of 1 byte .
  • This flag bit field is used to mark the route attribute.
  • This payload field is used for bearer layer identification.
  • the type field is used to indicate that the content carried by the payload field is a layer identifier.
  • next hop information is carried in the route attribute field.
  • next hop information is carried in the next hop network address field.
  • the service node periodically sends a notification message to the gateway connected to the service node, so as to provide the gateway connected to the service node with computing power information corresponding to the deployed application service. Or, whenever the computing power information corresponding to the application service deployed by the service node, the application service identifier corresponding to the application service deployed by the service node, or the layer identifier of the service node are updated, the service node sends a message containing the latest Informational notification message.
  • the control device may also group multiple service nodes of the same service node layer to obtain multiple load sharing groups. For example, the control device regards service nodes connected to the same IGP domain in the same service node layer as a load sharing group. Then the control device sends corresponding group identifiers to multiple service nodes respectively.
  • the notification message sent by the service node to the gateway connected to the service node may also include the group identifier of the service node, where the group identifier is used to indicate the load sharing group to which the service node belongs.
  • the group identifier of the service node may be encoded in the routing attribute field by using TLV or TV encoding.
  • it can be extended in the routing attribute field: a flag field with a length of 1 byte, a type field with a length of 1 byte, a length field with a length of 1 byte, and a payload field with a length of 1 byte .
  • This flag bit field is used to mark the route attribute.
  • This payload field is used to carry the group ID.
  • the type field is used to indicate that the content carried by the payload field is a group identifier.
  • FIG. 11 is a schematic flowchart of a packet forwarding method provided by an embodiment of the present application. The method can be applied to any application scenario as shown in FIG. 1 to FIG. 3 . As shown in Figure 11, the method includes:
  • Step 1101 the second device sends a message to the first device, where the message includes an application service identifier.
  • the application service identifier in the message is used to indicate the application service that the message requests to access.
  • the first device is a scheduling node, and may be, for example, the gateway 102A shown in FIG. 1 , the DCGW1 shown in FIG. 2 , or the gateway 302A shown in FIG. 3 .
  • the second device is a user equipment, for example, may be the user equipment 101 shown in FIG. 1 , the user equipment shown in FIG. 2 , or the user equipment 301 shown in FIG. 3 .
  • the second device may also be a device located between the user equipment and the first device, and is configured to forward a packet sent by the user equipment to the first device.
  • the second device may directly send the message to the first device, or the second device may indirectly send the message to the first device through other devices.
  • the message also includes the content of the request processing.
  • the message is a calculation request message, the calculation request message includes content to be calculated, and the calculation request message is used to request calculation processing for the contained content.
  • the message is an online request message, the online request message includes authentication information, and the online request message is used to request the application to go online.
  • the message is a storage request message, the storage request message includes the content to be stored, and the storage request message is used to request to store the contained content in the service node.
  • the message may also be other service messages, and the embodiment of the present application does not limit the type of the message.
  • Step 1102 the first device determines a first service node layer from multiple service node layers according to the application service identifier.
  • the service nodes in the first service node layer have a first layer identifier.
  • the service nodes in the first service node layer are deployed with target application services corresponding to the application service identifiers.
  • the service node layer corresponding to the first-level identifier includes service node A, service node B, and service node C, that is, service node A, service node B, and service node C have the first-level identifier, wherein service node A and service node B is deployed with the target application service, and service node C is not deployed with the target application service, then the first service node layer determined by the first device includes service node A and service node B.
  • the first device after receiving the notification message, stores the computing power information corresponding to the application service deployed by the service node in each notification message, and establishes a correspondence between the application service identifier and the layer identifier of the service node layer, for example See Table 1. Then, based on the correspondence between the application service identifier and the layer identifier of the service node layer, the first device selects the first service node layer including the service node on which the target application service is deployed.
  • the first device pre-stores the corresponding relationship between the layer identifier of the service node layer and the priority of the service node layer.
  • the first device may determine the service node layer in order of priority from high to low according to the application service identifier and the layer identifier, until a service node capable of processing messages is obtained from the determined service node layer, that is, the first device
  • a device first determines the service node layer with the highest priority from multiple service node layers according to the application service identifier and the layer identifier.
  • the application service identifier and the layer identifier determine the service node layer with the second highest priority from multiple service node layers, and so on until a service node capable of processing messages is obtained.
  • the first device determines that the first serving node layer has the following two possible situations.
  • the first service node layer is the service node layer with the highest priority among the multiple service node layers.
  • the first service node layer is the service node layer with the highest priority among the multiple service node layers, which may be: the first service node layer is the service node layer closest to the first device among the multiple service node layers, or , the first service node layer is the service node layer with the shortest delay to the first device among the multiple service node layers.
  • the first service node layer is closest to the first device, which can be understood as the service nodes in the first service node layer are closer to the first device than the service nodes in other service node layers.
  • the first service node layer may be an access service node layer, a level1 service node layer corresponding to the ISIS protocol, or a non-backbone service node layer corresponding to OSPF.
  • the delay from the first service node layer to the first device is the shortest, which can be understood as the delay from the service node to the first device in the first service node layer compared with the time delay from the service node to the first device in other service node layers
  • the extension is shorter.
  • service nodes in the first service node layer belong to the first layer shown in FIG. 7 .
  • the delay from the service node to the first device can be implemented using an Internet packet explorer (packet internet groper, ping), a trace route (trace route) technology, a two-way active measurement protocol (two-way active measurement protocol, TWAMP) or It is measured by in-situ operation administration and maintenance (iOAM) technology, etc., and the embodiment of the present application does not limit the delay measurement method between the service node and the first device.
  • an Internet packet explorer packet internet groper, ping
  • trace route trace route
  • TWAMP two-way active measurement protocol
  • iOAM in-situ operation administration and maintenance
  • the priority of the service node layer may also have nothing to do with the distance from the service node layer to the first device and the delay between the service node layer and the first device.
  • the service node layer with the highest priority may be the active service node layer.
  • the first device determines the implementation of the first service node layer from multiple service node layers according to the application service identifier, including: the first device determines one or more service nodes in the second service node layer After overloading, obtain the first service node layer.
  • the service nodes in the second service node layer have a second layer identifier, and the priority of the second service node layer is higher than that of the first service node layer.
  • the service node overload here may mean that the total computing power resources on the service node are exhausted or are about to be exhausted, that is, the first device determines the total computing power resource consumption of one or more service nodes in the second service node layer After exhausted or about to be exhausted, obtain the first service node layer.
  • the service node overload here may also mean that the computing power resources corresponding to the target application services deployed by the service node are exhausted or are about to be exhausted, that is, the first device determines one or more of the second service node layer After the computing resources corresponding to the target application services deployed by each service node are exhausted or about to be exhausted, the first service node layer is obtained.
  • the overload of the service node means that the computing resources corresponding to the target application services deployed by the service node are exhausted or about to be exhausted as an example.
  • the first device determines whether the service node is overloaded according to computing power information corresponding to the target application service deployed by the service node in the second service node layer.
  • the computing power information includes one or more of the heavy and light load status, the number of computing power resources, the utilization rate of computing power resources, the number of device connections, the fusion computing power value, or the task processing delay.
  • the computing power information includes heavy and light load status
  • the first device may determine whether the service node is overloaded according to the heavy and light load status of the target application service deployed by the service node in the second service node layer. If the target application service deployed by the service node is in a heavy load state, the first device determines that the service node is overloaded; if the target application service deployed by the service node is in a light load state, the first device determines that the service node is not overloaded.
  • the computing power information includes detailed indicators of computing power resources such as the number of computing power resources, the utilization rate of computing power resources, and the number of device connections.
  • the first device can Detailed indicators of computing power resources corresponding to the service to determine whether the service node is overloaded.
  • the computing power information includes a fusion computing power value
  • the first device can determine whether the service node is overloaded according to the fusion computing power value corresponding to the target application service deployed by the service node in the second service node layer. If the fusion computing power value corresponding to the target application service deployed by the service node is greater than the computing power threshold, the first device determines that the service node is overloaded; if the fusion computing power value corresponding to the target application service deployed by the service node is not greater than the computing power threshold , the first device determines that the service node is not overloaded.
  • the computing power information includes task processing delay
  • the first device may determine whether the service node is overloaded according to the task processing delay corresponding to the target application service deployed by the service node in the second service node layer. If the task processing delay corresponding to the target application service deployed by the service node is greater than the processing delay threshold, the first device determines that the service node is overloaded; if the task processing delay corresponding to the target application service deployed by the service node is not greater than the processing time If the threshold is exceeded, the first device determines that the service node is not overloaded.
  • the first device acquires the first service node layer.
  • the first device acquires the first service node layer.
  • the first device acquires the first service node layer after determining that a service node in the second service node layer is overloaded.
  • the service node may be the service node with the smallest IGP overhead of the link between the second service node layer and the first device, or the service node with the shortest time delay to the first device among the second service nodes.
  • the first device determines the second service node layer from multiple service node layers according to the application service identifier, it obtains the service node with the smallest IGP overhead of the link with the first device from the second service node layer Or to the service node with the shortest delay to the first device, if the obtained service node is overloaded, the first device obtains the first service node layer.
  • the first device acquires the second service node layer, reference may be made to the manner in which the first device acquires the first service node layer, which will not be repeated in this embodiment of the present application.
  • FIG. 12 is a schematic diagram of a packet scheduling scenario provided by an embodiment of the present application.
  • the scheduling node after the scheduling node receives the message, it judges whether the service node closest to the scheduling node among the service nodes of the first layer is overloaded; if the service node closest to the scheduling node among the service nodes of the first layer is overloaded, the scheduling The node judges whether the service node closest to the scheduling node among the service nodes of the second layer is overloaded; if the service node closest to the scheduling node among the service nodes of the second layer is overloaded, the scheduling node judges that the service node of the third layer is the closest to the scheduling node Whether the service node of the third layer is overloaded; if the service node closest to the scheduling node among the service nodes of the third layer is not overloaded, the scheduling node sends a message to the service node closest to the scheduling node among the service nodes of the third layer.
  • the dotted lines between devices in FIG. 12 represent links between
  • the first device acquires the first service node layer after determining that multiple service nodes in the second service node layer are overloaded.
  • the multiple service nodes belong to the same load sharing group.
  • the distance between the corresponding scheduling node and different service nodes may vary greatly.
  • multiple access rings belonging to the same service layer can be connected to the same aggregation ring, and the distance from one access ring to another access ring may be very long.
  • the service node attached to this access ring is relatively close, but farther away from the service nodes attached to other access rings, even farther than the service nodes attached to the convergence ring.
  • the scheduling node dispatches the message to the service node connected to other access rings, the response delay of the message will be greater than that of dispatching the message to the service node connected to the convergence ring.
  • the embodiment of the present application proposes a solution of dividing load sharing groups at the same service node layer.
  • each service node layer corresponds to a shared delay threshold.
  • the shared delay threshold corresponding to the service node layer with higher priority is smaller, for example, the shared delay threshold corresponding to the second service node layer is smaller than the shared delay threshold corresponding to the first service node layer.
  • the first device uses the service nodes whose delay between the second service node layer and the first device is less than the shared delay threshold corresponding to the second service node layer as a load sharing group, and the first device determines the service nodes in the load sharing group After all service nodes are overloaded, obtain the first service node layer.
  • the first device uses the first n service nodes in the second service node layer with the shortest delay to the first device as a load sharing group, and the first device determines all service nodes in the load sharing group After overloading, obtain the first service node layer.
  • n is an integer greater than 1.
  • the first device uses the service nodes connected to the IGP domain nearest to the first device in the second service node layer as the load sharing group, and the first device determines that all service nodes in the load sharing group After overloading, obtain the first service node layer.
  • the service node connected to the IGP domain refers to the service node connected to the gateway located in the IGP domain.
  • the first device may first obtain the service node closest to the first device in the second service node layer, and then determine the connection with the service node according to the group identifier of the service node and the group identifiers of other service nodes in the second service node layer.
  • a service node belongs to multiple service nodes of the same load sharing group.
  • FIG. 13 is a schematic diagram of another packet scheduling scenario provided by the embodiment of the present application.
  • the scheduling node After the scheduling node receives the message, it judges whether there is an unoverloaded service node in the load sharing group closest to the scheduling node in the first layer; if the load sharing group closest to the scheduling node in the first layer All service nodes are overloaded, and the scheduling node judges whether there is an unoverloaded service node in the load sharing group closest to the scheduling node in the second layer; if there is a service node in the load sharing group closest to the scheduling node in the second layer , the scheduling node sends a message to the non-overloaded service node in the load sharing group closest to the scheduling node in the second layer.
  • the solid line with the arrow in FIG. 13 represents the transmission path of the message.
  • the first device may obtain the first service node layer after determining that all service nodes in the second service node layer are overloaded.
  • the first device may reschedule subsequent traffic to the service nodes in the second service node layer.
  • Step 1103 the first device selects a target service node from the first service node layer.
  • the implementation process for the first device to select the target service node from the first service node layer includes: the first device selects the IGP of the link with the first device from the first service node layer The target service node with the least overhead. Alternatively, the first device selects the target service node with the shortest time delay to the first device from the first service node layer.
  • the first device takes the service node with the smallest IGP overhead of the link with the first device in the determined service node layer or the service node with the shortest time delay to the first device as the target service node, that is, selects the service node with the lowest network performance.
  • An excellent service node can reduce the transmission delay of the message as much as possible, so as to reduce the overall end-to-end delay, so as to provide users with better application services.
  • the target service node is a service node in the first service node layer that has the smallest IGP overhead of the link with the first device and is not overloaded.
  • the first device may first select the service node with the smallest IGP overhead of the link between the first device and the first device from the first service node layer, and then determine the service node according to the computing power information corresponding to the target application service deployed by the service node Whether it is overloaded, if the service node is not overloaded, use the service node as the target service node.
  • the target service node is a service node in the first service node layer that has the shortest time delay to the first device and is not overloaded.
  • the first device can first select the service node with the shortest delay to the first device from the first service node layer, and then determine whether the service node is overloaded according to the computing power information corresponding to the target application service deployed by the service node. Under the condition that the service node is not overloaded, the service node is used as the target service node.
  • CFN technology is used to schedule packets based on the principle of load balancing, that is, only considering the computing power information corresponding to the application services deployed by the service nodes to select service nodes; in another packet scheduling method , only considering the factors of network performance, all the packets from the user equipment are scheduled to the service node closest to the user equipment. However, if the packets from the user equipment are all scheduled to the service node closest to the user equipment, the nearest service node may be overloaded, causing the service node to fail to provide application services normally. If the CFN technology is used to schedule packets based on the principle of load balancing, there may be a large delay between the service node with a large computing power and the user equipment, resulting in a large end-to-end overall delay.
  • the first device takes the service node in the determined service node layer that has the smallest IGP overhead of the link with the first device or has the shortest time delay to the first device and is not overloaded as the target service node. That is to say, this implementation method comprehensively considers the computing power and network performance of service nodes, and preferentially selects service nodes with better network performance during message scheduling.
  • a service node with more sufficient resources can not only enable the service node to effectively provide application services, but also reduce the transmission delay of the message as much as possible, so as to reduce the overall end-to-end delay, so as to provide users with better application services .
  • the implementation process for the first device to select a target service node from the first service node layer includes: the first device obtains the target load sharing group from the first service node layer. The first device obtains the target service node from the target load sharing group.
  • the first device uses the service nodes in the first service node layer whose delay to the first device is less than the shared delay threshold corresponding to the first service node layer as the target load sharing group.
  • the first device uses the first m service nodes with the shortest delay to the first device in the first service node layer as the target load sharing group, where m is an integer greater than 1.
  • the first device uses the service node connected to the IGP domain closest to the first device in the first service node layer as the target load sharing group.
  • the first device selects a service node in the target load sharing group that is not overloaded as the target service node according to computing power information corresponding to the application service deployed by the service node in the target load sharing group.
  • This implementation method is based on the consideration that the distance between the corresponding dispatching node and different service nodes may be very different due to the different access locations of the user equipment.
  • the concept of load sharing group is proposed to provide users with better application services. At the same time, the load balancing of multiple service nodes in the same load sharing group is realized to improve the resource utilization of the service nodes.
  • Step 1104 the first device sends the message to the target service node.
  • the first device may directly send the message to the target service node, or it may also be that the first device indirectly sends the message to the target service node through other devices.
  • the first device After receiving the notification message, the first device creates a routing table entry based on the notification message, and then sends a message to the target service node based on the routing table entry.
  • the notification message includes next hop information.
  • the notification message received by the first device is from the gateway connected to the service node, and the next hop information in the notification message is the address of the gateway connected to the service node.
  • a BGP neighbor relationship is established between the gateways connected to each service node and the scheduling node.
  • a BGP neighbor relationship is established between gateway 102A and gateway 102B
  • a BGP neighbor relationship is established between gateway 102A and gateway 102C.
  • the first device is the gateway 102A
  • the gateway 102A receives the notification message 1 from the gateway 102B.
  • the notification message 1 includes the computing power information corresponding to the application service deployed by the service node 103B, and the application service corresponding to the application service deployed by the service node 103B. ID, layer ID of service node 103B, and next hop information (address of gateway 102B).
  • the gateway 102A determines that the load state corresponding to the application service A deployed by the service node 103B is not overloaded according to the computing power information corresponding to the application service A, and determines the load status corresponding to the application service B deployed by the service node 103B according to the computing power information corresponding to the application service B.
  • the load state is overloaded, and it is determined according to the computing power information corresponding to the application service C that the load state corresponding to the application service C deployed by the service node 103B is not overloaded.
  • the anycast IP address corresponding to application service A is IP1
  • the anycast IP address corresponding to application service B is IP2
  • the anycast IP address corresponding to application service C is IP3.
  • the layer ID of the service node 103B is layer ID2.
  • the IP address of gateway 102B is IP 2.1.2.1. After gateway 102A receives notification message 1 from gateway 102B, it may generate routing entries as shown in Table 2.
  • the gateway 102A can also receive the notification message 2 from the gateway 102C, the notification message 2 includes the computing power information corresponding to the application service deployed by the service node 103C, the application service identifier corresponding to the application service deployed by the service node 103C, the service Layer identification of node 103C and next hop information (address of gateway 102C). Assume that application service A and application service B are deployed on service node 103C.
  • the gateway 102A determines that the load state corresponding to the application service A deployed by the service node 103C is not overloaded according to the computing power information corresponding to the application service A, and determines the load status corresponding to the application service B deployed by the service node 103C according to the computing power information corresponding to the application service B. The load status is not overloaded.
  • the anycast IP address corresponding to application service A is IP1
  • the anycast IP address corresponding to application service B is IP2.
  • the layer ID of the service node 103C is layer ID3.
  • the IP address of gateway 102C is IP 2.1.3.1.
  • the gateway 102A sends a message to IP 2.1.2.1 (gateway 102B) through the outgoing interface 2, and the gateway 102B sends the message to the service node 102B based on its own routing table entry.
  • the gateway 102A sends a message to IP 2.1.3.1 (gateway 102C) through the outgoing interface 3, and the gateway 102C sends the message to the service node 102C based on its own routing table entry.
  • the gateway can summarize the computing power information corresponding to the application services deployed by the multiple service nodes. And send the aggregated computing power information to the scheduling node.
  • the aggregated computing power information essentially reflects the total computing power of multiple service nodes connected to the gateway. If the gateway receives the message sent by the scheduling node, then the gateway can act as a new scheduling node and further determine the service node that processes the message among the multiple service nodes that are connected to it.
  • the implementation process can refer to the first The process of determining the target service node in the service node layer will not be repeated in this embodiment of the present application.
  • the notification message received by the first device is from the service node, and the next hop information in the notification message is the address of the service node.
  • the first device is the gateway 102A
  • the gateway 102A receives the notification message 3 from the service node 103A
  • the notification message 3 includes computing power information corresponding to the application service deployed by the service node 103A , the application service identifier corresponding to the application service deployed by the service node 103A, the layer identifier of the service node 103A, and the next hop information (the address of the service node 103A).
  • application service A, application service B and application service C are deployed on service node 103A.
  • the gateway 102A determines that the load state corresponding to the application service A deployed by the service node 103A is not overloaded according to the computing power information corresponding to the application service A, and determines the load status corresponding to the application service B deployed by the service node 103A according to the computing power information corresponding to the application service B.
  • the load state is overloaded, and the load state corresponding to the application service C deployed by the service node 103B is determined to be overloaded according to the computing power information corresponding to the application service C.
  • the anycast IP address corresponding to application service A is IP1
  • the anycast IP address corresponding to application service B is IP2
  • the anycast IP address corresponding to application service C is IP3.
  • the layer ID of the service node 103A is layer ID1.
  • the IP address of service node 103A is IP 1.1.1.1.
  • the gateway 102A sends a message to IP 1.1.1.1 (the service node 102A) through the outgoing interface 1.
  • the packet includes the content of the request processing.
  • the target service node may also perform the following steps 1105 to 1106.
  • Step 1105 the target service node processes the content of the request contained in the message.
  • the message is a calculation request message, and the target service node processes the content in the message, which may be to calculate the content to be calculated in the calculation request message.
  • the message is an online request message, and the target service node processes the content in the message, and may perform application online authentication based on the authentication information in the online request message.
  • the message is a storage request message, and the target service node processes the content in the message, which may be to store the content to be stored in the storage request message.
  • Step 1106 the target service node sends the processing result for the content to the first device.
  • the message sent by the first device to the target service node is a calculation request message, and the processing result may be a calculation result.
  • the message sent by the first device to the target service node is an online request message, and the processing result may be an indication for indicating whether to allow the application to go online.
  • the message sent by the first device to the target service node is a storage request message, and the processing result may be a storage success indication or a storage failure indication.
  • Step 1107 the first device sends the processing result to the second device.
  • the scheduling node by layering multiple service nodes and assigning corresponding layer identifiers to each service node, after receiving the message, the scheduling node can The service node used to process the message is selected according to the layer identifier of the service node, which enriches the message scheduling method.
  • the priority of the service node layer is positively related to the network performance of the service nodes in the service node layer.
  • the scheduling node gives priority to the service nodes in the service node layer with high priority, that is, the service node with better network performance can be selected as much as possible. Reduce the transmission delay of packets to reduce the overall end-to-end delay.
  • the service node with better network performance is given priority in message scheduling.
  • Sufficient service nodes can not only enable the service nodes to effectively provide application services, but also reduce the transmission delay of the message as much as possible, so as to reduce the overall end-to-end delay, so as to provide users with better application services.
  • FIG. 14 is a schematic structural diagram of a first device provided by an embodiment of the present application, which can realize the functions of the first device in the embodiment shown in FIG. 11 .
  • the first device 1400 includes: a receiving unit 1401 , a processing unit 1402 and a sending unit 1403 . These units can perform corresponding functions of the first device in the above method embodiments.
  • the receiving unit 1401 is configured to support the first device to execute step 1101 (receive the message sent by the second device) and step 1106 (receive the processing result of the request processing content in the message sent by the target service node) in FIG. 11 ;
  • the processing unit 1402 is used to support the first device to execute step 1102 and step 1103 in FIG.
  • the receiving unit 1401 is used to perform various information reception performed by the first device in the above method embodiment; the processing unit 1402 is used to perform other processing of the first device in the above method embodiment except information sending and receiving; A unit 1403 is configured to send various information performed by the first device in the above method embodiment.
  • the receiving unit 1401 is configured to receive a message sent by the second device, where the message includes an application service identifier.
  • the processing unit 1402 is configured to determine a first service node layer from multiple service node layers according to the application service identifier, and select a target service node from the first service node layer, where the service nodes in the first service node layer have the first A layer identifier, the service node in the first service node layer deploys the target application service corresponding to the application service identifier.
  • the sending unit 1403 is configured to send the message to the target service node. For the specific execution process, please refer to the detailed description of the corresponding steps in the above embodiment shown in FIG. 11 , which will not be repeated here.
  • the division of units in the embodiment of the present application is schematic, and is only a logical function division, and there may be other division methods in actual implementation.
  • Each functional unit in the embodiment of the present application may be integrated into one processing unit, or each unit may physically exist separately, or two or more units may be integrated into one unit.
  • the receiving unit and the sending unit may be the same unit or different units.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • FIG. 15 shows another possible structural diagram of the first device involved in the above embodiment.
  • the first device 1500 can also implement the functions of the first device in the embodiment shown in FIG. 11 .
  • the first device 1500 includes: a storage unit 1501 , a processing unit 1502 and a communication unit 1503 .
  • the communication unit 1503 is used to support communication between the first device 1500 and other network entities, such as communication with the second device or service node shown in FIG. Execute step 1101, step 1104, step 1106 and step 1107 in FIG. 11 .
  • the processing unit 1502 is used to control and manage the actions of the first device 1500, for example, the processing unit 1502 is used to support the first device 1500 to execute step 1102 and step 1103 in FIG. Other processes performed by the device.
  • the storage unit 1501 is configured to store program codes and data of the first device 1500 . For the specific execution process, please refer to the detailed description of the corresponding steps in the above embodiment shown in FIG. 11 , which will not be repeated here.
  • the processing unit 1502 may be a processor, such as a central processing unit (central processing unit, CPU), a general processor, a digital signal processor (digital signal processor, DSP), an application-specific integrated circuit (application-specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can realize or execute various exemplary logical blocks, modules and circuits described in conjunction with the disclosed content of the embodiments of the present application.
  • the processor may also be a combination of computing functions, for example, a combination of one or more microprocessors, a combination of DSP and a microprocessor, and so on.
  • the communication unit 1503 may be a transceiver, and the storage unit 1501 may be a memory.
  • the first device involved in this embodiment of the present application may be the first device 1650 shown in FIG. 16 .
  • the first device 1600 includes: a processor 1602 , a transceiver 1603 , a memory 1601 and a bus 1604 .
  • the processor 1602, the transceiver 1603 and the memory 1601 are connected to each other through a bus 1604;
  • the bus 1604 may be a peripheral component interconnect standard (peripheral component interconnect, PCI) bus or an extended industry standard architecture (extended industry standard architecture, EISA) bus wait.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 16 , but it does not mean that there is only one bus or one type of bus.
  • the first device 1600 may implement the functions of the first device in the embodiment shown in FIG.
  • the processor 1602 and the transceiver 1603 may execute corresponding functions of the first device in the foregoing method examples.
  • the transceiver 1603 is used to support the first device 1600 to execute step 1101 , step 1104 , step 1106 and step 1107 in FIG. 11 .
  • the processor 1602 is configured to support the first device 1600 to execute step 1102 and step 1103 in FIG. 11 , and/or other processes executed by the first device in the technologies described herein.
  • the memory 1601 is used for storing program codes and data of the first device 1600 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above embodiment shown in FIG. 11 , which will not be repeated here.
  • Fig. 17 is a schematic structural diagram of another first device provided by an embodiment of the present application.
  • the first device 1700 may be a router, a switch, a gateway, or a network device with a forwarding function, and the network device 1700 can implement the functions of the first device in the foregoing method embodiments.
  • the first device 1700 includes: a main control board 1701 and an interface board 1702 .
  • the main control board 1701 includes: a processor 1703 and a memory 1704 .
  • the interface board 1702 includes: a processor 1705 , a memory 1706 and an interface card 1707 .
  • the main control board 1701 is coupled to the interface board 1702 .
  • the memory 1706 can be used to store the program codes of the interface board 1702
  • the processor 1705 can be used to call the program codes in the memory 1706 to trigger the interface card 1707 to execute the first method in the foregoing method embodiments.
  • the processor 1705 calls the program code in the memory 1706 to trigger the interface card 1707 to support the first device 1700 to execute steps 1101, 1104, 1106 and 1107 in FIG. 11 .
  • the memory 1704 can be used to store the program code of the main control board 1701, and the processor 1703 can be used to call the program code in the memory 1704 to execute other processes of the first device in the above method embodiments except information sending and receiving.
  • the processor 1703 is configured to support the first device 1700 to execute step 1102 and step 1103 in FIG. 11 , and/or other processes executed by the first device in the technologies described herein.
  • the memory 1704 is used to store program codes and data of the main control board 1701 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above embodiment shown in FIG. 11 , which will not be repeated here.
  • an IPC control channel is established between the main control board 1701 and the interface board 1702, and the main control board 1701 and the interface board 1702 use the IPC control channel for communication.
  • FIG. 18 is a schematic structural diagram of a service node provided by an embodiment of the present application, which can realize the functions of the service node in the embodiment shown in FIG. 11 .
  • the service node 1800 includes: a receiving unit 1801 , a processing unit 1802 and a sending unit 1803 . These units can perform corresponding functions of the service node in the above method embodiments.
  • the receiving unit 1801 is used to support the service node to execute step 1104 in FIG. 11 (receive the message sent by the first device); the processing unit 1802 is used to support the service node to execute step 1105 in FIG.
  • the sending unit 1803 is configured to support the service node to perform step 1106 in FIG. 11 .
  • the receiving unit 1801 is used to receive various information performed by the service node in the above method embodiment; the processing unit 1802 is used to perform other processing of the service node in the above method embodiment except information sending and receiving actions; the sending unit 1803 , for sending various information performed by the service node in the above method embodiment.
  • the receiving unit 1801 is configured to receive a message sent by the first device.
  • the processing unit 1802 is configured to generate a notification message, where the notification message includes computing power information corresponding to the application service deployed by the service node, an application service identifier corresponding to the application service deployed by the service node, and a layer identifier of the service node.
  • the sending unit 1803 is configured to send a notification message to the gateway connected to the service node.
  • the division of units in the embodiment of the present application is schematic, and is only a logical function division, and there may be other division methods in actual implementation.
  • Each functional unit in the embodiment of the present application may be integrated into one processing unit, or each unit may physically exist separately, or two or more units may be integrated into one unit.
  • the receiving unit and the sending unit may be the same unit or different units.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • FIG. 19 shows another possible structural diagram of the service node involved in the above embodiment.
  • the service node 1900 can also implement the function of the service node in the embodiment shown in FIG. 11 .
  • the service node 1900 includes: a storage unit 1901 , a processing unit 1902 and a communication unit 1903 .
  • the communication unit 1903 is used to support the communication between the service node 1900 and other network entities, such as the communication with the gateway shown in FIG. and step 1106 .
  • the processing unit 1902 is used to control and manage the actions of the service node 1900.
  • the processing unit 1902 is used to support the service node 1900 to execute step 1105 in FIG. 11, and/or other processes performed by the service node in the technologies described herein.
  • the storage unit 1901 is configured to store program codes and data of the service node 1900 .
  • For the specific execution process please refer to the detailed description in the foregoing embodiments, and details will not be repeated here.
  • the processing unit 1902 may be a processor, such as a CPU, a general processor, DSP, ASIC, FPGA or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can realize or execute various exemplary logical blocks, modules and circuits described in conjunction with the disclosed content of the embodiments of the present application.
  • the processor may also be a combination of computing functions, for example, a combination of one or more microprocessors, a combination of DSP and a microprocessor, and so on.
  • the communication unit 1903 may be a transceiver, and the storage unit 1901 may be a memory.
  • the service node involved in this embodiment of the present application may be the service node 2000 shown in FIG. 20 .
  • the service node 2000 includes: a processor 2002 , a transceiver 2003 , a memory 2001 and a bus 2004 .
  • the processor 2002, the transceiver 2003 and the memory 2001 are connected to each other through a bus 2004; the bus 2004 may be a PCI bus or an EISA bus or the like.
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 20 , but it does not mean that there is only one bus or one type of bus.
  • the service node 2000 can implement the function of the service node in the embodiment shown in FIG. 11 .
  • the processor 2002 and the transceiver 2003 can execute corresponding functions of the service node in the above method examples.
  • the transceiver 2003 is used to support the service node 2000 to execute step 1104 and step 1106 in FIG. 11 .
  • the processor 2002 is configured to support the service node 2000 to perform step 1105 in FIG. 11 , and/or other processes performed by the service node in the technology described herein.
  • the memory 2001 is used for storing program codes and data of the service node 2000 . For the specific execution process, please refer to the detailed description in the foregoing embodiments, and details will not be repeated here.
  • FIG. 21 is a schematic structural diagram of another service node provided by an embodiment of the present application.
  • the service node 2100 may be a router, a switch, a gateway, or a network device with a forwarding function, and the network device 2100 can implement the function of the service node in the foregoing method embodiments.
  • the service node 2100 includes: a main control board 2101 and an interface board 2102 .
  • the main control board 2101 includes: a processor 2103 and a memory 2104 .
  • the interface board 2102 includes: a processor 2105 , a memory 2106 and an interface card 2107 .
  • the main control board 2101 is coupled to the interface board 2102 .
  • the memory 2106 can be used to store the program code of the interface board 2102, and the processor 2105 is used to call the program code in the memory 2106 to trigger the interface card 2107 to execute the service in the above method embodiment
  • the reception and transmission of various information performed by the node for example, the processor 2105 invokes the program code in the memory 2106 to trigger the interface card 2107 to support the service node 2100 to execute step 1104 and step 1105 in FIG. 11 .
  • the memory 2104 can be used to store the program codes of the main control board 2101, and the processor 2103 can be used to call the program codes in the memory 2104 to execute other processes of the service node in the above method embodiments except information sending and receiving.
  • the processor 2103 is used to support the service node 2100 to perform step 1108 in FIG. 11 , and/or other processes performed by the service node in the technologies described herein.
  • the memory 2104 is used to store program codes and data of the main control board 2101 .
  • specific execution process please refer to the detailed description in the foregoing embodiments, and details will not be repeated here.
  • an IPC control channel is established between the main control board 2101 and the interface board 2102, and the main control board 2101 and the interface board 2102 use the IPC control channel for communication.
  • Fig. 22 is a schematic structural diagram of a control device provided by an embodiment of the present application, which can realize the functions of the control device in the above embodiments.
  • the control device 2200 includes: a processing unit 2201 and a sending unit 2202 . These units can perform corresponding functions of the control device in the above method embodiments.
  • the processing unit 2201 is configured to support the control device to execute the processing procedure performed by the control device in the technology described herein;
  • the sending unit 2202 is configured to support the control device to execute the sending process executed by the control device in the technology described herein.
  • the processing unit 2201 is configured to perform other processing of the control device in the above method embodiments except information sending and receiving actions; the sending unit 2202 is configured to perform various information transmissions performed by the control device in the above method embodiments.
  • the processing unit 2201 is configured to layer the managed service nodes, and service nodes belonging to the same service node layer have the same layer identifier.
  • the sending unit 2202 is configured to send corresponding layer identifiers to multiple service nodes respectively.
  • the division of units in the embodiment of the present application is schematic, and is only a logical function division, and there may be other division methods in actual implementation.
  • Each functional unit in the embodiment of the present application may be integrated into one processing unit, or each unit may physically exist separately, or two or more units may be integrated into one unit.
  • the receiving unit and the sending unit may be the same unit or different units.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • FIG. 23 shows another possible structural schematic diagram of the control device involved in the above embodiment.
  • the control device 2300 can also implement the functions of the control device in the foregoing embodiments.
  • the control device 2300 includes: a storage unit 2301 , a processing unit 2302 and a communication unit 2303 .
  • the communication unit 2303 is used to support the communication between the control device 2300 and other network entities, for example, the communication with the service node.
  • the communication unit 2303 is used to support the control device 2300 to send information to the service node.
  • the processing unit 2302 is configured to control and manage actions of the control device 2300 .
  • the storage unit 2301 is used for storing program codes and data of the control device 2300 . For the specific execution process, please refer to the detailed description in the foregoing embodiments, and details will not be repeated here.
  • the processing unit 2302 may be a processor, such as a CPU, a general-purpose processor, DSP, ASIC, FPGA or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can realize or execute various exemplary logical blocks, modules and circuits described in conjunction with the disclosed content of the embodiments of the present application.
  • the processor may also be a combination of computing functions, for example, a combination of one or more microprocessors, a combination of DSP and a microprocessor, and so on.
  • the communication unit 2303 may be a transceiver, and the storage unit 2301 may be a memory.
  • control device involved in this embodiment of the present application may be the control device 2400 shown in FIG. 24 .
  • the control device 2400 includes: a processor 2402 , a transceiver 2403 , a memory 2401 and a bus 2404 .
  • the processor 2402, the transceiver 2403, and the memory 2401 are connected to each other through a bus 2404; the bus 2404 may be a PCI bus or an EISA bus.
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 24 , but it does not mean that there is only one bus or one type of bus.
  • the control device 2400 can implement the functions of the control device in the foregoing embodiments.
  • the processor 2402 and the transceiver 2403 may execute corresponding functions of the control device in the foregoing method examples.
  • the transceiver 2403 is used to support the control device 2400 to send information to the service node.
  • the processor 2402 is configured to support the control device 2400 to execute the processing procedures performed by the control device in the technologies described herein.
  • the memory 2401 is used for storing program codes and data of the control device 2400 . For the specific execution process, please refer to the detailed description in the foregoing embodiments, and details will not be repeated here.
  • Fig. 25 is a schematic structural diagram of another control device provided by an embodiment of the present application.
  • the control device 2500 may be a router, a switch, a gateway, or a network device with a forwarding function, and the network device 2500 can implement the functions of the control device in the foregoing method embodiments.
  • the control device 2500 includes: a main control board 2501 and an interface board 2502 .
  • the main control board 2501 includes: a processor 2503 and a memory 2504 .
  • the interface board 2502 includes: a processor 2505 , a memory 2506 and an interface card 2507 .
  • the main control board 2501 is coupled to the interface board 2502 .
  • the memory 2506 can be used to store the program code of the interface board 2502, and the processor 2505 is used to call the program code in the memory 2506 to trigger the interface card 2507 to execute the control in the above method embodiment
  • the processor 2505 calls the program code in the memory 2506 to trigger the interface card 2507 to support the control device 2500 to send information to the service node.
  • the memory 2504 can be used to store the program codes of the main control board 2501, and the processor 2503 can be used to call the program codes in the memory 2504 to execute other processes of the control device in the above method embodiments except information sending and receiving.
  • the processor 2503 is configured to support the control device 2500 to execute the processing procedures performed by the control device in the technologies described herein.
  • the memory 2504 is used to store program codes and data of the main control board 2501 .
  • specific execution process please refer to the detailed description in the foregoing embodiments, and details will not be repeated here.
  • an IPC control channel is established between the main control board 2501 and the interface board 2502, and the main control board 2501 and the interface board 2502 use the IPC control channel for communication.
  • FIG. 26 is a schematic structural diagram of a message forwarding system provided by an embodiment of the present application.
  • the system is used to implement the message forwarding method in the foregoing method embodiments.
  • the system includes: a first device 2601 and multiple service nodes 2602 .
  • the first device 2601 and the service node 2602 can respectively implement the functions of the first device and the service node in the embodiment shown in FIG. 11 .
  • the first device performs step 1102, step 1103, step 1104, and step 1107 in FIG. 11, and/or other processes performed by the first device in the technologies described herein.
  • the service node 2602 performs step 1105 and step 1106 in FIG. 11 , and/or other processes performed by the service node in the technology described herein.
  • the system further includes: a control device 2603 configured to manage a plurality of service nodes 2602 , and the control device 2603 is configured to implement the process performed by the control device in the foregoing embodiments.
  • the embodiment of the present application also provides a computer-readable storage medium, where instructions are stored on the computer-readable storage medium, and when the instructions are executed by the processor of the first device (scheduling node), the above-mentioned embodiments are implemented.
  • any device embodiment described above is only illustrative, and the units described as separate components may or may not be physically separated, and the components shown as units may or may not be A physical unit can be located in one place, or it can be distributed to multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • the connection relationship between the modules indicates that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. It can be understood and implemented by those skilled in the art without creative effort.
  • the steps of the method or algorithm described in the disclosed content of the embodiments of the present application may be implemented in the form of hardware, or may be implemented in the form of a processor executing software instructions.
  • the software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (random access memory, RAM), flash memory, read only memory (read only memory, ROM), erasable programmable read-only memory (erasable programmable ROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), hard disk, mobile hard disk, optical disk or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
  • the storage medium may also be a component of the processor.
  • the processor and storage medium can be located in the ASIC.
  • the ASIC may be located in the core network interface device.
  • the processor and the storage medium may also exist in the core network interface device as discrete components.

Abstract

公开了一种报文转发方法、装置及系统、计算机可读存储介质,属于通信技术领域。第一设备接收到第二设备发送的报文后,根据该报文中的应用服务标识从多个服务节点层中确定第一服务节点层。第一服务节点层中的服务节点具有第一层标识,第一服务节点层中的服务节点部署有应用服务标识对应的目标应用服务。然后第一设备从第一服务节点层中选择目标服务节点并向目标服务节点发送报文。通过对多个服务节点进行分层,并为各个服务节点分配对应的层标识,使得设备在接收到报文后,能够根据服务节点的层标识选择用来处理该报文的服务节点,丰富了报文调度方式。

Description

报文转发方法、装置及系统、计算机可读存储介质
本申请要求于2021年07月26日提交的申请号为202110846041.2、发明名称为“报文转发方法、装置及系统、计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种报文转发方法、装置及系统、计算机可读存储介质。
背景技术
无线通信网络的建设是以数据中心(data center,DC)为中心的。各数据中心使用分布式云技术进行管理,形成边缘云(edge cloud)加中心云(central cloud)的分级网络系统。数据中心为用户设备(user equipment,UE)提供的应用服务(application server)部署在各边缘云上,使得应用服务部署到更靠近用户设备的位置,降低了服务时延,可以满足时延敏感业务的需求。用于实现边缘云部署的基础设施平台可称为移动边缘计算(mobile edge computing,MEC)站点。
同一应用服务通常部署在多个MEC站点上,不同MEC站点之间独立工作。目前,通常将来自用户设备的报文调度至离用户设备最近的MEC站点,或者采用算力优先网络(computing first network,CFN)技术,根据MEC站点的算力基于负载均衡原则进行报文调度,调度方式比较单一。
发明内容
本申请提供了一种报文转发方法、装置及系统、计算机可读存储介质。
第一方面,提供了一种报文转发方法。该方法包括:第一设备接收第二设备发送的报文,该报文包括应用服务标识。第一设备根据该应用服务标识从多个服务节点层中确定第一服务节点层,第一服务节点层中的服务节点具有第一层标识,第一服务节点层中的服务节点部署有应用服务标识对应的目标应用服务。第一设备从第一服务节点层中选择目标服务节点。第一设备向目标服务节点发送报文。
本申请中,通过对多个服务节点进行分层,并为各个服务节点分配对应的层标识,使得设备在接收到报文后,能够根据服务节点的层标识选择用来处理该报文的服务节点,丰富了报文调度方式。
可选地,第一设备根据应用服务标识从多个服务节点层中确定第一服务节点层的实现方式,包括:第一设备在确定第二服务节点层中的一个或多个服务节点过载后,获取第一服务节点层,第二服务节点层中的服务节点具有第二层标识,第二服务节点层的优先级高于第一服务节点层的优先级。
本申请中,第一设备可以根据应用服务标识以及层标识,按照优先级由高至低的顺序依 次确定服务节点层,在优先级较高的第二服务节点层中的一个或多个服务节点都过载的情况下,第一设备确定优先级较低的第一服务节点层,以保证最终确定的目标服务节点有算力来处理报文,提高提供应用服务的可靠性。
或者,第一服务节点层为多个服务节点层中优先级最高的服务节点层。
可选地,第一服务节点层为多个服务节点层中优先级最高的服务节点层,包括:第一服务节点层为多个服务节点层中离第一设备最近的服务节点层,或者,第一服务节点层为多个服务节点层中到第一设备的时延最短的服务节点层。
可选地,多个服务节点层包括接入服务节点层、汇聚服务节点层和核心服务节点层,其中,接入服务节点层中的服务节点与接入网设备连接,汇聚服务节点层中的服务节点与汇聚网设备连接,核心服务节点层中的服务节点与核心网设备连接,接入服务节点层的优先级高于汇聚服务节点层的优先级,汇聚服务节点层的优先级高于核心服务节点层的优先级。或者,多个服务节点层包括级别(level)1服务节点层和level2服务节点层,其中,level1服务节点层中的服务节点与中间系统到中间系统(intermediate system to intermediate system,ISIS)协议的level1区域内的网关连接,level2服务节点层中的服务节点与ISIS协议的level2区域内的网关连接,level1服务节点层的优先级高于level2服务节点层的优先级。或者,多个服务节点层包括非骨干服务节点层和骨干服务节点层,其中,非骨干服务节点层中的服务节点与开放式最短路径优先(open shortest path first,OSPF)协议的非骨干区域内的网关(gateway,GW)连接,骨干服务节点层中的服务节点与OSPF协议的骨干区域内的网关连接,非骨干服务节点层的优先级高于骨干服务节点层的优先级。或者,多个服务节点层中的每个服务节点层对应一个时延阈值,时延阈值对应的时延为从对应的服务节点层到第一设备的时延,对应的时延阈值小的服务节点层的优先级高于对应的时延阈值大的服务节点层的优先级。或者,多个服务节点层包括主用服务节点层和备用服务节点层,主用服务节点层的优先级高于备用服务节点层的优先级,其中,主用服务节点层中的服务节点与主用网关连接,备用服务节点层中的服务节点与备用网关连接,主用服务节点层的优先级高于备用服务节点层的优先级。
可选地,第一设备从第一服务节点层中选择目标服务节点的一种实现方式,包括:第一设备从第一服务节点层中选择与第一设备之间的链路的内部网关协议(Interior Gateway Protocol,IGP)开销最小的目标服务节点。或者,第一设备从第一服务节点层中选择到第一设备的时延最短的目标服务节点。
本实现方式中,第一设备将确定的服务节点层中与第一设备之间的链路的IGP开销最小或到第一设备的时延最短的服务节点作为目标服务节点,即选择网络性能较优的服务节点,可以尽可能地减小报文的传输时延,以减小端到端的整体时延,从而为用户提供较好的应用服务。
可选地,另一种实现方式,目标服务节点为第一服务节点层中与第一设备之间的链路的IGP开销最小且未过载的服务节点。或者,目标服务节点为第一服务节点层中到第一设备的时延最短且未过载的服务节点。
本实现方式中,第一设备将确定的服务节点层中与第一设备之间的链路的IGP开销最小或到第一设备的时延最短、且未过载的服务节点作为目标服务节点。即本实现方式综合考虑了服务节点的算力与网络性能,在报文调度时优先选择网络性能较优的服务节点,当网络性能较优的服务节点过载时,选择网络性能次优但算力资源更充足的服务节点,既能使服务节 点有效提供应用服务,又能尽可能地减小报文的传输时延,以减小端到端的整体时延,从而为用户提供较好的应用服务。
可选地,第一设备还接收通告消息,该通告消息包括服务节点所部署的应用服务对应的算力信息、服务节点所部署的应用服务对应的应用服务标识以及服务节点的层标识。
可选地,通告消息还包括下一跳信息。该通告消息来自服务节点连接的网关,下一跳信息为服务节点连接的网关的地址。或者,该通告消息来自服务节点,下一跳信息为服务节点的地址。
可选地,通告消息为边界网关协议(border gateway protocol,BGP)更新(update)消息。
可选地,算力信息和层标识承载于BGP更新消息的路由属性字段,应用服务标识承载于BGP更新消息的网络层可达信息字段。
可选地,第一设备根据通告消息存储每个服务节点所部署的应用服务对应的算力信息,并建立应用服务标识和服务节点层的层标识的对应关系;
第一设备根据应用服务标识从多个服务节点层中确定第一服务节点层的实现过程,包括:第一设备基于应用服务标识和服务节点层的层标识的对应关系,选择包含部署有目标应用服务的服务节点的第一服务节点层。
可选地,第一设备从第一服务节点层中选择目标服务节点的又一种实现方式,包括:第一设备从第一服务节点层中获取目标负载分担组。第一设备从目标负载分担组中获取目标服务节点。
本实现方式基于对用户设备的接入位置不同,对应的调度节点距离不同服务节点的距离差别可能会很大的考虑,提出了负载分担组的概念,在实现为用户提供较好的应用服务的同时,实现同一负载分担组中的多个服务节点的负载均衡,以提高服务节点的资源利用率。
可选地,第一设备从第一服务节点层中获取目标负载分担组的实现方式,包括:
第一设备将第一服务节点层中到第一设备之间的时延小于第一服务节点层对应的分担时延阈值的服务节点作为目标负载分担组。或者,第一设备将第一服务节点层中到第一设备的时延最短的前m个服务节点作为目标负载分担组,m为大于1的整数。或者,第一设备将第一服务节点层中下挂在离第一设备最近的IGP域的服务节点作为目标负载分担组。
可选地,第一设备从目标负载分担组中获取目标服务节点的实现方式,包括:第一设备根据目标负载分担组中的服务节点所部署的应用服务对应的算力信息,将目标负载分担组中未过载的服务节点作为目标服务节点。
可选地,算力信息包括重轻载状态、算力资源的数量、算力资源的利用率、设备连接数、融合算力值或任务处理时延中的一个或多个。
第二方面,提供了一种报文转发方法。该方法包括:服务节点生成通告消息,该通告消息包括服务节点所部署的应用服务对应的算力信息、服务节点所部署的应用服务对应的应用服务标识以及服务节点的层标识。服务节点向该服务节点连接的网关发送通告消息。
可选地,通告消息还包括下一跳信息,下一跳信息为服务节点的地址。
可选地,通告消息为BGP更新消息。
可选地,算力信息和层标识承载于BGP更新消息的路由属性字段,应用服务标识承载于BGP更新消息的网络层可达信息字段。
可选地,通告消息还包括服务节点的组标识,组标识用于指示服务节点所属的负载分担组。
第三方面,提供了一种报文转发方法。该方法包括:控制设备对所管理的多个服务节点进行分层,属于同一个服务节点层的服务节点的层标识相同。控制设备向多个服务节点分别发送对应的层标识。
本申请中,通过控制设备对多个服务节点进行分层,并为各个服务节点分配对应的层标识,使得调度节点在接收到报文后,能够根据服务节点的层标识选择用来处理该报文的服务节点,丰富了报文调度方式。
可选地,控制设备对所管理的多个服务节点进行分层的一种实现方式,包括:控制设备将多个服务节点分为接入服务节点层、汇聚服务节点层和核心服务节点层,其中,接入服务节点层中的服务节点与接入网设备连接,汇聚服务节点层中的服务节点与汇聚网设备连接,核心服务节点层中的服务节点与核心网设备连接,接入服务节点层的优先级高于汇聚服务节点层的优先级,汇聚服务节点层的优先级高于核心服务节点层的优先级。
可选地,控制设备对所管理的多个服务节点进行分层的另一种实现方式,包括:控制设备将多个服务节点分为level1服务节点层和level2服务节点层,其中,level1服务节点层中的服务节点与ISIS协议的level1区域内的网关连接,level2服务节点层中的服务节点与ISIS协议的level2区域内的网关连接,level1服务节点层的优先级高于level2服务节点层的优先级。
可选地,控制设备对所管理的多个服务节点进行分层的又一种实现方式,包括:控制设备将多个服务节点分为非骨干服务节点层和骨干服务节点层,其中,非骨干服务节点层中的服务节点与OSPF协议的非骨干区域内的网关连接,骨干服务节点层中的服务节点与OSPF协议的骨干区域内的网关连接,非骨干服务节点层的优先级高于骨干服务节点层的优先级。
可选地,控制设备对所管理的多个服务节点进行分层的再一种实现方式,包括:控制设备根据多个服务节点到调度节点的时延将多个服务节点分成多个服务节点层,每个服务节点层对应一个时延阈值,时延阈值对应的时延为从对应的服务节点层到调度节点的时延,对应的时延阈值小的服务节点层的优先级高于对应的时延阈值大的服务节点层的优先级。
可选地,控制设备对所管理的多个服务节点进行分层的还一种实现方式,包括:控制设备将多个服务节点分为主用服务节点层和备用服务节点层,主用服务节点层的优先级高于备用服务节点层的优先级。
第四方面,提供了一种报文转发装置,应用于第一设备,所述第一设备用于执行第一方面或第一方面的任意一种可能的设计中的方法。具体地,所述第一网络设备包括用于执行第一方面或第一方面的任意一种可能的设计中的方法的单元。
第五方面,提供了一种报文转发装置,应用于服务节点,所述服务节点用于执行第二方面或第二方面的任意一种可能的设计中的方法。具体地,所述服务节点包括用于执行第二方面或第二方面的任意一种可能的设计中的方法的单元。
第六方面,提供了一种报文转发装置,应用于控制设备,所述控制设备用于执行第三方 面或第三方面的任意一种可能的设计中的方法。具体地,所述控制设备包括用于执行第三方面或第三方面的任意一种可能的设计中的方法的单元。
第七方面,提供了一种设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现上述第一方面及其各实施方式中的方法。
第八方面,提供了一种服务节点,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现上述第二方面及其各实施方式中的方法。
第九方面,提供了一种控制设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现上述第三方面及其各实施方式中的方法。
第十方面,提供了一种报文转发系统,所述系统包括:第一设备和多个服务节点,所述第一设备包括如第四方面任一所述的装置,所述服务节点包括如第五方面任一所述的装置。
可选地,所述系统还包括:控制设备,所述控制设备用于管理所述多个服务节点,所述控制设备包括如第六方面任一所述的装置。
第十一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被第一设备的处理器执行时,实现上述第一方面及其各实施方式中的方法;或者,当所述指令被服务节点的处理器执行时,实现上述第二方面及其各实施方式中的方法;或者,当所述指令被控制设备的处理器执行时,实现上述第三方面及其各实施方式中的方法。
第十二方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法,或者实现上述第二方面及其各实施方式中的方法,或者实现上述第三方面及其各实施方式中的方法。
附图说明
图1是本申请实施例提供的一种报文转发方法涉及的应用场景的示意图;
图2是本申请实施例提供的一种边缘云加中心云的分级网络系统的结构示意图;
图3是本申请实施例提供的另一种报文转发方法涉及的应用场景示意图;
图4是本申请实施例提供的一种服务节点的分层部署示意图;
图5是本申请实施例提供的另一种服务节点的分层部署示意图;
图6是本申请实施例提供的又一种服务节点的分层部署示意图;
图7是本申请实施例提供的再一种服务节点的分层部署示意图;
图8是本申请实施例提供的还一种服务节点的分层部署示意图;
图9是本申请实施例提供的一种基于BGP更新消息扩展得到的通告消息的结构示意图;
图10是本申请实施例提供的另一种基于BGP更新消息扩展得到的通告消息的结构示意图;
图11是本申请实施例提供的一种报文转发方法的流程示意图;
图12是本申请实施例提供的一种报文调度场景示意图;
图13是本申请实施例提供的另一种报文调度场景示意图;
图14是本申请实施例提供的一种第一设备的结构示意图;
图15是本申请实施例提供的另一种第一设备的结构示意图;
图16是本申请实施例提供的又一种第一设备的结构示意图;
图17是本申请实施例提供的再一种第一设备的结构示意图;
图18是本申请实施例提供的一种服务节点的结构示意图;
图19是本申请实施例提供的另一种服务节点的结构示意图;
图20是本申请实施例提供的又一种服务节点的结构示意图;
图21是本申请实施例提供的再一种服务节点的结构示意图;
图22是本申请实施例提供的一种控制设备的结构示意图;
图23是本申请实施例提供的另一种控制设备的结构示意图;
图24是本申请实施例提供的又一种控制设备的结构示意图;
图25是本申请实施例提供的再一种控制设备的结构示意图;
图26是本申请实施例提供的一种报文转发系统的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种报文转发方法涉及的应用场景的示意图。如图1所示,该应用场景包括:用户设备101,网关102A-102C(统称为网关102),以及服务节点103A-103C(统称为服务节点103)。其中,服务节点103A连接网关102A,服务节点103B连接网关102B,服务节点103C连接网关102C。用户设备101为部署在用户侧的设备。可选地,参见图1,网关102和服务节点103部署在应用服务提供商侧,用户设备101与网关102之间通过运营商网络进行通信。图1中各个设备的数量和部署方式仅用作示例性说明,不作为对本申请实施例所提供方法涉及的应用场景的限制。例如,网关102还可以部署在运营商侧,即网关102位于运营商网络中,服务节点103部署在应用服务提供商侧。又例如,网关102和服务节点103都可以部署在运营商侧。
用户设备101可以是手机、电脑或智能可穿戴设备等。用户设备101上安装有客户端。用户设备101能够基于其上安装的客户端发起请求,以享用对应的应用服务。本申请实施例中,应用服务指:通过各个类型的应用(application,APP)为用户设备提供的服务,比如计算处理服务(尤其是密集型计算服务),应用上线服务,内容存储服务,等等。
在如图1所示的应用场景中,根据相对于用户设备101的部署位置,可以将网关102分为靠近用户设备101的网关102A以及远离用户设备101的网关102B和网关102C。本申请实施例中,靠近用户设备101的网关102A可以用作调度节点,用于对流量进行调度,具体用于在接收到来自用户设备101的报文后,确定处理该报文的目标服务节点,并将该报文发送 至该目标服务节点。可选地,网关102部署在应用服务提供商侧,靠近用户设备101的网关102A也可称为将用户设备101接入应用服务提供商网络的入口节点。当然,其它网关102也可以用作调度节点,本申请实施例对此不做限定。
服务节点103可以部署在一个服务器中,或者部署在由多个服务器组成的服务器集群中。服务节点103用于给应用提供服务平台。每个服务节点103中部署有至少一个实例,该实例用于为用户设备101提供应用服务。实例指的是一个应用服务部署在不同的服务节点上的具体的应用。因此,一个应用服务可以对应多个实例。本申请实施例中,应用服务可以分布式地部署在多个服务节点103上。例如,在如图1所示的应用场景中,服务节点103A中部署有第一实例,服务节点103B中部署有第二实例,服务节点103C中部署有第三实例,该第一实例、第二实例和第三实例为同一应用服务(目标应用服务)的实例。本申请实施例中,服务节点中部署有应用服务,也即是指服务节点中部署有该应用服务的实例。
不同的服务节点103可以配置有相同或不同规模的计算资源和存储资源(可统称为算力资源)。其中,计算资源包括中央处理器(central processing unit,CPU)资源、图形处理器(graphics processing unit,GPU)资源和/或张量处理器(tensor processing unit,TPU)资源等。存储资源包括内存资源和/或磁盘资源等。
服务节点103中可以存储有该服务节点103中所部署的应用服务的应用服务标识。应用服务标识用于唯一标识对应的应用服务,以将不同的应用服务区分开。本申请实施例中,可以统一为每个应用服务分配能够唯一标识该应用服务的应用服务标识。应用服务标识可以是互联网协议(Internet Protocol,IP)地址的形式,或者也可以是其它的形式,本申请实施例对此不做限定。
可选地,网关102具备算力感知能力,能够感知服务节点103的计算能力。这种情况下,应用服务提供商网络也即是算力优先网络(CFN),网关102也即是CFN节点。可选地,服务节点103实时发布算力信息给CFN节点,或者,CFN节点周期性地从服务节点103获取实时算力信息。CFN节点除了可以是网关以外,还可以是路由器或交换机等。
可选地,在边缘云部署场景下,网关102可以是数据中心网关,服务节点103可以部署在边缘云上,例如服务节点103可以是MEC站点。例如,图2是本申请实施例提供的一种边缘云加中心云的分级网络系统的结构示意图。图2示出的云部署场景与图1示出的应用场景相对应,其中,图1中的网关102映射为图2中的数据中心网关(DCGW),图1中的服务节点103映射为图2中的边缘云或中心云。
可选地,图3是本申请实施例提供的另一种报文转发方法涉及的应用场景示意图。与图1所示的应用场景不同的是,图3所示的应用场景还包括控制设备。如图3所示,该应用场景包括:用户设备301,网关302A-302C(统称为网关302),服务节点303A-303C(统称为服务节点303),以及控制设备304。图3中的用户设备301、网关302、服务节点303分别与图1中的用户设备101、网关102、服务节点103类似,请参照上述对图1中的用户设备101、网关102、服务节点103的描述,在这里不再重复。
控制设备304可以是云管控平台或软件定义网络(software defined networking,SDN)控制器等。控制设备304与服务节点303连接。控制设备304用于管理和控制服务节点303。
本申请方案中,控制设备可以对所管理的多个服务节点进行分层,得到多个服务节点层,并为每个服务节点层分配层标识,属于同一个服务节点层的服务节点的层标识相同,属于不 同服务节点层的服务节点的层标识不同。然后控制设备向多个服务节点分别发送对应的层标识。其中,服务节点层可理解为服务节点集合,包括一个或多个服务节点。
可选地,控制设备对多个服务节点的分层方式有多种。本申请实施例以以下五种分层方式为例进行说明,当然也不排除还有其它分层方式。
在第一种分层方式中,控制设备根据服务节点的位置对服务节点进行分层。控制设备对所管理的多个服务节点进行分层的实现过程,包括:控制设备将多个服务节点分为接入服务节点层、汇聚服务节点层和核心服务节点层。其中,接入服务节点层中的服务节点与接入网设备连接,汇聚服务节点层中的服务节点与汇聚网设备连接,核心服务节点层中的服务节点与核心网设备连接。接入服务节点层的优先级高于汇聚服务节点层的优先级,汇聚服务节点层的优先级高于核心服务节点层的优先级。
可选地,在无线接入网(radio access network,RAN)IP化(IP RAN)网络中,接入网设备可以是基站侧网关(cell site gateway,CSG),汇聚网设备可以是接入业务网关(access service gateway,ASG),核心网设备可以是基站控制器侧网关(radio network controller site gateway,RSG)。例如,图4是本申请实施例提供的一种服务节点的分层部署示意图。如图4所示,调度节点为CSG,连接CSG的服务节点属于第一层(layer1),连接ASG的服务节点属于第二层(layer2),连接RSG的服务节点属于第三层(layer3)。
在第二种分层方式中,控制设备基于IGP部署对服务节点进行分层,网络采用的IGP为ISIS。控制设备对所管理的多个服务节点进行分层的实现过程,包括:控制设备将多个服务节点分为level1服务节点层和level2服务节点层。其中,level1服务节点层中的服务节点与ISIS协议的level1区域内的网关连接,level2服务节点层中的服务节点与ISIS协议的level2区域内的网关连接。level1服务节点层的优先级高于level2服务节点层的优先级。
可选地,ISIS协议的level1区域包括接入网设备,ISIS协议的level2区域包括汇聚网设备和核心网设备。以IP RAN网络为例,例如,图5是本申请实施例提供的另一种服务节点的分层部署示意图。如图5所示,调度节点为CSG,连接CSG的服务节点属于第一层(layer1),连接ASG的服务节点以及连接RSG的服务节点属于第二层(layer2)。
在第三种分层方式中,控制设备基于IGP部署对服务节点进行分层,网络采用的IGP为OSPF。控制设备对所管理的多个服务节点进行分层的实现过程,包括:控制设备将多个服务节点分为非骨干服务节点层和骨干服务节点层。其中,非骨干服务节点层中的服务节点与OSPF协议的非骨干区域(非area 0)内的网关连接,骨干服务节点层中的服务节点与OSPF协议的骨干区域(area 0)内的网关连接。非骨干服务节点层的优先级高于骨干服务节点层的优先级。
可选地,OSPF协议的非area 0包括接入网设备,OSPF协议的area 0包括汇聚网设备和核心网设备。以IP RAN网络为例,例如,图6是本申请实施例提供的又一种服务节点的分层部署示意图。如图6所示,调度节点为CSG,连接CSG的服务节点属于第一层(layer1),连接ASG的服务节点以及连接RSG的服务节点属于第二层(layer2)。
在第四种分层方式中,控制设备基于服务节点与调度节点之间的时延对服务节点进行分层。控制设备对所管理的多个服务节点进行分层的实现过程,包括:控制设备根据多个服务节点到调度节点的时延将多个服务节点分成多个服务节点层。每个服务节点层对应一个时延阈值,时延阈值对应的时延为从对应的服务节点层到调度节点的时延。对应的时延阈值小的 服务节点层的优先级高于对应的时延阈值大的服务节点层的优先级。
服务节点层对应的时延阈值,可以理解为该服务节点层中的服务节点到调度节点的时延上限。例如,控制设备基于3个时延阈值将多个服务节点分成3个服务节点层。该3个时延阈值分别为T1、T2、T3,T1<T2<T3。该3个服务节点层分别为服务节点层1、服务节点2和服务节点3。其中,服务节点层1对应T1,服务节点层2对应T2,服务节点层3对应T3,表示服务节点层1中的服务节点到调度节点的时延不大于T1,服务节点层2中的服务节点到调度节点的时延大于T1且不大于T2,服务节点层3中的服务节点到调度节点的时延大于T2且不大于T3。
可选地,控制设备根据网络云化引擎(network cloud engine,NCE)时延地图对服务节点进行分层,例如以调度节点为轴,测量各个服务节点到调度节点的时延,然后根据多个服务节点到调度节点的时延设置多个时延阈值,以将多个服务节点分成多个服务节点层。
以IP RAN网络为例,例如,图7是本申请实施例提供的再一种服务节点的分层部署示意图。如图7所示,调度节点为CSG,到调度节点的时延不大于T1的服务节点属于第一层(layer1),到调度节点的时延大于T1且不大于T2的服务节点属于第二层(layer2),到调度节点的时延大于T2且不大于T3的服务节点属于第三层(layer3)。
在第五种分层方式中,控制设备对所管理的多个服务节点进行分层的实现过程,包括:控制设备将多个服务节点分为主用服务节点层和备用服务节点层。其中,主用服务节点层中的服务节点与主用网关连接,备用服务节点层中的服务节点与备用网关连接。主用服务节点层的优先级高于备用服务节点层的优先级。
其中,备用网关可以视为冗余网关,备用服务节点层可以视为冗余服务节点层。在主用服务节点层的算力资源充足时,控制设备可以使备用服务节点层中的服务节点进入休眠状态,相应地,如果长时间没有服务节点与备用网关通信,则备用网关也进入休眠状态;在主用服务节点层的算力资源告急时,控制设备可以唤醒备用服务节点层中的服务节点,以保证能够向用户设备提供应用服务。
例如,图8是本申请实施例提供的还一种服务节点的分层部署示意图。如图8所示,与主用网关连接的服务节点属于第一层(layer1),与备用网关连接的服务节点属于第二层(layer2)。
可替代地,上述对多个服务节点进行分层的流程也可以由调度节点执行。例如在如图1所示的应用场景中,可以由调度节点对多个服务节点进行分层。
本申请实施例中,通过控制设备对多个服务节点进行分层,并为各个服务节点分配对应的层标识,使得调度节点在接收到报文后,能够根据服务节点的层标识选择用来处理该报文的服务节点,丰富了报文调度方式。
进一步地,服务节点在接收到控制设备发送的层标识后,生成通告消息,该通告消息包括该服务节点所部署的应用服务对应的算力信息、该服务节点所部署的应用服务对应的应用服务标识以及该服务节点的层标识。服务节点向该服务节点连接的网关发送该通告消息。
可选地,应用服务对应的应用服务标识可以为针对应用服务的特定值或特定标识,用于区分不同的应用服务。可选地,应用服务对应的应用服务标识为该应用服务对应的任播IP(anycast IP)地址。不同应用服务对应的任播IP地址不同,部署在不同服务节点中的同一应用服务对应的任播IP地址相同。
可选地,算力信息包括重轻载状态、算力资源的数量、算力资源的利用率、设备连接数、融合算力值或任务处理时延中的一个或多个。
应用服务的重轻载状态用于指示服务节点中该应用服务的实例处于重载状态还是轻载状态,重载状态反映实例的负载较大,即该应用服务对应的算力资源耗尽或即将耗尽;轻载状态反映实例的负载较小,即该应用服务对应的可使用的算力资源充足。
应用服务对应的算力资源的数量可以包括服务节点中分配给该应用服务的CPU资源数量、GPU资源数量或TPU资源数量等。应用服务对应的算力资源的利用率可以包括服务节点分配给该应用服务的CPU资源的利用率、GPU资源的利用率或TPU资源的利用率等。应用服务对应的设备连接数指接入服务节点且请求该应用服务的用户设备的数量。算力资源的数量、算力资源的利用率和设备连接数可统称为算力资源详细指标。
应用服务对应的融合算力值是对算力的一种度量。例如,应用服务对应的融合算力值可以是基于该应用服务对应的算力资源的数量、算力资源的利用率或设备连接数等算力资源详细指标计算得到的一个融合值。其中,应用服务对应的融合算力值与该应用服务对应的算力资源的数量负相关,与该应用服务对应的算力资源的利用率正相关,与该应用服务对应的设备连接数正相关。
应用服务对应的任务处理时延可以是服务节点在一段时间内对请求该应用服务的报文的平均处理时延、最大处理时延或最小处理时延。
服务节点的层标识用于指示该服务节点所属的服务节点层。例如本申请实施例中,服务节点具有第一层标识,表示该服务节点属于第一服务节点层。服务节点具有第二层标识,表示该服务节点属于第二服务节点层。
可选地,服务节点向该服务节点连接的网关发送的通告消息还包括下一跳信息。该下一跳信息为该服务节点的地址。该下一跳信息用于该服务节点连接的网关生成路由表项。例如,服务节点部署有应用服务A、应用服务B和应用服务C。网关根据应用服务A对应的算力信息确定服务节点所部署的应用服务A对应的负载状态为未过载,根据应用服务B对应的算力信息确定服务节点所部署的应用服务B对应的负载状态为过载,根据应用服务C对应的算力信息确定服务节点所部署的应用服务C对应的负载状态为过载。应用服务A对应的任播IP地址为IP1,应用服务B对应的任播IP地址为IP2,应用服务C对应的任播IP地址为IP3。服务节点的层标识为layer ID1。服务节点的IP地址为IP 1.1.1.1。服务节点连接的网关接收到该服务节点发送的通告消息后,可以生成如表1所示的路由表项。
表1
Figure PCTCN2022106519-appb-000001
其中,下一跳指的是目的地址为对应的任播IP地址的报文所需转发至的下一个设备。出接口指的是设备用来将报文发送至下一跳的接口。
可选地,上述通告消息为BGP更新消息。服务节点所部署的应用服务对应的算力信息和服务节点的层标识承载于该BGP更新消息的路由属性(path attributes)字段。应用服务对应 的应用服务标识承载于该BGP更新消息的网络层可达信息(network layer reachability information,NLRI)字段。
例如,图9和图10分别是本申请实施例提供的一种基于BGP更新消息扩展得到的通告消息的结构示意图。如图9和图10所示,该BGP更新消息包括以太网头部(Ethernet header)、IP头部(IP header)、传输控制协议(Transmission Control Protocol,TCP)头部(TCP header)、BGP数据包以及帧校验序列(frame check sequence,FCS)。其中,BGP数据包中包括BGP头部以及BGP消息字段。该BGP头部中包括标志(maker)字段、长度(length)字段和类型(type)字段(图中未示出)。
图9示出了编号为4271的请求评论(request for comments,RFC)(简称:RFC 4271)文档中定义的用于发布路由的BGP消息字段的格式。如图9所示,该BGP消息字段中包括不可达路由长度(withdrawn routes length)字段、不可达路由(withdrawn routes)字段、路由属性总长度(total path attribute length)字段、路由属性字段以及NLRI字段。图10示出了RFC4760文档中定义的用于发布路由的BGP消息字段的格式。如图10所示,该BGP消息字段包括地址族标识符(address family identifier)字段、后续地址族标识符(subsequent address family identifier)字段、下一跳网络地址长度(length of next hop network address)字段、下一跳网络地址(next hop network address)字段、保留(reserved)字段、NLRI字段以及路由属性字段。若本申请实施例中的通信场景非虚拟专用网(virtual private network,VPN)场景,且不同设备之间的交互路由和下一跳信息均为互联网协议第4版(internet protocol version 4,IPv4)类型,则可以采用如图9或图10所示的BGP消息格式。若本申请实施例中的通信场景为VPN场景,或不同设备之间的交互路由和下一跳信息为IPv6类型,则可以采用如图10所示的BGP消息格式。
可选地,服务节点所部署的应用服务对应的算力信息可以采用类型长度值(type-length-value,TLV)或类型值(type-value,TV)编码后承载于路由属性字段。例如,可以在路由属性字段中扩展:长度为1个字节的标志位(flag)字段、长度为1个字节的类型(type)字段、长度为1个字节的长度(length)字段以及长度为4个字节的载荷(value)字段。该标志位字段用于标记路由属性。该载荷字段用于承载算力信息。该类型字段用于指示载荷字段承载的内容为算力信息。
可选地,服务节点的层标识可以采用TLV或TV编码后承载于路由属性字段。例如,可以在路由属性字段中扩展:长度为1个字节的标志位字段、长度为1个字节的类型字段、长度为1个字节的长度字段以及长度为1个字节的载荷字段。该标志位字段用于标记路由属性。该载荷字段用于承载层标识。该类型字段用于指示载荷字段承载的内容为层标识。
可选地,当采用如图9所示的BGP消息格式时,下一跳信息承载于路由属性字段。或者,当采用如图10所示的BGP消息格式时,下一跳信息承载于下一跳网络地址字段。
可选地,服务节点周期性地向该服务节点连接的网关发送通告消息,以向该服务节点连接的网关提供所部署的应用服务对应的算力信息。或者,每当服务节点所部署的应用服务对应的算力信息、服务节点所部署的应用服务对应的应用服务标识或服务节点的层标识发生更新,服务节点向该服务节点连接的网关发送包含最新信息的通告消息。
本申请方案中,控制设备还可以对同一服务节点层的多个服务节点进行分组,得到多个负载分担组。例如,控制设备将同一服务节点层中连接同一IGP域的服务节点作为一个负载 分担组。然后控制设备向多个服务节点分别发送对应的组标识。服务节点向该服务节点连接的网关发送的通告消息还可以包括该服务节点的组标识,该组标识用于指示该服务节点所属的负载分担组。
可选地,服务节点的组标识可以采用TLV或TV编码后承载于路由属性字段。例如,可以在路由属性字段中扩展:长度为1个字节的标志位字段、长度为1个字节的类型字段、长度为1个字节的长度字段以及长度为1个字节的载荷字段。该标志位字段用于标记路由属性。该载荷字段用于承载组标识。该类型字段用于指示载荷字段承载的内容为组标识。
本申请实施例基于对多个服务节点进行分层的方案,提供了一种报文转发方法。图11是本申请实施例提供的一种报文转发方法的流程示意图。该方法可以应用于如图1至图3任一所示的应用场景中。如图11所示,该方法包括:
步骤1101、第二设备向第一设备发送报文,该报文包括应用服务标识。
报文中的应用服务标识用于指示该报文所请求访问的应用服务。第一设备为调度节点,例如可以是图1示出的网关102A、图2示出的DCGW1或图3示出的网关302A。可选地,第二设备为用户设备,例如可以是图1示出的用户设备101、图2示出的用户设备或图3示出的用户设备301。或者,第二设备也可以是位于用户设备与第一设备之间的设备,用于转发用户设备向第一设备发送的报文。第二设备向第一设备发送报文,可以是第二设备直接向第一设备发送报文,或者也可以是第二设备通过其它设备间接向第一设备发送报文。
可选地,报文还包括请求处理的内容。例如,该报文为计算请求报文,该计算请求报文中包括待计算的内容,该计算请求报文用于请求对其所包含的内容进行计算处理。又例如,该报文为上线请求报文,该上线请求报文中包括认证信息,上线请求报文用于请求应用上线。又例如,该报文为存储请求报文,该存储请求报文中包括待存储的内容,该存储请求报文用于请求将其所包含的内容存储在服务节点中。该报文还可以是其它业务报文,本申请实施例对报文的类型不作限定。
步骤1102、第一设备根据应用服务标识从多个服务节点层中确定第一服务节点层。
第一服务节点层中的服务节点具有第一层标识。第一服务节点层中的服务节点部署有应用服务标识对应的目标应用服务。例如,第一层标识对应的服务节点层包括服务节点A、服务节点B和服务节点C,即服务节点A、服务节点B和服务节点C具有第一层标识,其中,服务节点A和服务节点B部署有目标应用服务,服务节点C未部署有目标应用服务,则第一设备确定的第一服务节点层包括服务节点A和服务节点B。
可选地,第一设备接收到通告消息后,存储每个通告消息中的服务节点所部署的应用服务对应的算力信息,并建立应用服务标识和服务节点层的层标识的对应关系,例如参见表1。然后,第一设备基于应用服务标识和服务节点层的层标识的对应关系,选择包含部署有目标应用服务的服务节点的第一服务节点层。
可选地,第一设备中预先存储有服务节点层的层标识与服务节点层的优先级的对应关系。第一设备可以根据应用服务标识以及层标识,按照优先级由高至低的顺序依次确定服务节点层,直至从确定的服务节点层中获得能够处理报文的服务节点为止,也即是,第一设备首先根据应用服务标识以及层标识从多个服务节点层中确定优先级最高的服务节点层,如果优先级最高的服务节点层中没有能够处理报文的服务节点,则第一设备再根据应用服务标识以及 层标识从多个服务节点层中确定优先级次高的服务节点层,以此类推,直至获得能够处理报文的服务节点为止。相应地,步骤1102中第一设备确定第一服务节点层有以下两种可能情况。
第一种可能情况,第一服务节点层为多个服务节点层中优先级最高的服务节点层。可选地,第一服务节点层为多个服务节点层中优先级最高的服务节点层,可以是:第一服务节点层为多个服务节点层中离第一设备最近的服务节点层,或者,第一服务节点层为多个服务节点层中到第一设备的时延最短的服务节点层。
第一服务节点层离第一设备最近,可理解为第一服务节点层中的服务节点相较于其它服务节点层中的服务节点离第一设备更近。例如,第一服务节点层可以是接入服务节点层、ISIS协议对应的level1服务节点层或OSPF对应的非骨干服务节点层。
第一服务节点层到第一设备的时延最短,可理解为第一服务节点层中的服务节点到第一设备的时延相较于其它服务节点层中的服务节点到第一设备的时延更短。例如,第一服务节点层中的服务节点属于图7示出的第一层。
可选地,服务节点到第一设备的时延可以采用因特网包探索器(packet internet groper,ping)、跟踪路由(trace route)技术、双向主动测量协议(two-way active measurement protocol,TWAMP)或随路操作管理和维护(in-situ operation administration and maintenance,iOAM)技术等测量得到,本申请实施例对服务节点与第一设备之间的时延测量方式不做限定。
可选地,服务节点层的优先级也可以与服务节点层到第一设备的距离以及服务节点层到第一设备的时延都无关,例如优先级最高的服务节点层可以是主用服务节点层。
第二种可能情况,第一设备根据应用服务标识从多个服务节点层中确定第一服务节点层的实现方式,包括:第一设备在确定第二服务节点层中的一个或多个服务节点过载后,获取第一服务节点层。第二服务节点层中的服务节点具有第二层标识,第二服务节点层的优先级高于第一服务节点层的优先级。这里的服务节点过载可以是指服务节点上的总算力资源耗尽或即将耗尽,也即是,第一设备在确定第二服务节点层中的一个或多个服务节点上的总算力资源耗尽或即将耗尽后,获取第一服务节点层。或者,这里的服务节点过载也可以是指服务节点所部署的目标应用服务对应的算力资源耗尽或即将耗尽,也即是,第一设备在确定第二服务节点层中的一个或多个服务节点所部署的目标应用服务对应的算力资源耗尽或即将耗尽后,获取第一服务节点层。本申请实施例以服务节点过载指服务节点所部署的目标应用服务对应的算力资源耗尽或即将耗尽为例进行说明。
可选地,第一设备根据第二服务节点层中的服务节点所部署的目标应用服务对应的算力信息,确定该服务节点是否过载。可选地,算力信息包括重轻载状态、算力资源的数量、算力资源的利用率、设备连接数、融合算力值或任务处理时延中的一个或多个。
可选地,算力信息包括重轻载状态,第一设备可以根据第二服务节点层中的服务节点所部署的目标应用服务的重轻载状态,确定该服务节点是否过载。如果服务节点所部署的目标应用服务处于重载状态,则第一设备确定该服务节点过载;如果服务节点所部署的目标应用服务处于轻载状态,则第一设备确定该服务节点未过载。
可选地,算力信息包括算力资源的数量、算力资源的利用率和设备连接数等算力资源详细指标,第一设备可以根据第二服务节点层中的服务节点所部署的目标应用服务对应的算力资源详细指标,确定该服务节点是否过载。
可选地,算力信息包括融合算力值,第一设备可以根据第二服务节点层中的服务节点所 部署的目标应用服务对应的融合算力值,确定该服务节点是否过载。如果服务节点所部署的目标应用服务对应的融合算力值大于算力阈值,则第一设备确定该服务节点过载;如果服务节点所部署的目标应用服务对应的融合算力值不大于算力阈值,则第一设备确定该服务节点未过载。
可选地,算力信息包括任务处理时延,第一设备可以根据第二服务节点层中的服务节点所部署的目标应用服务对应的任务处理时延,确定该服务节点是否过载。如果服务节点所部署的目标应用服务对应的任务处理时延大于处理时延阈值,则第一设备确定该服务节点过载;如果服务节点所部署的目标应用服务对应的任务处理时延不大于处理时延阈值,则第一设备确定该服务节点未过载。
可选地,第一设备在确定第二服务节点层中的一个或多个服务节点过载后,获取第一服务节点层,具体可以有以下两种实现方式。
第一种实现方式,第一设备在确定第二服务节点层中的一个服务节点过载后,获取第一服务节点层。该服务节点可以是第二服务节点层中与第一设备之间的链路的IGP开销最小的服务节点,或者是第二服务节点中到第一设备的时延最短的服务节点。
可选地,第一设备根据应用服务标识从多个服务节点层中确定第二服务节点层之后,从第二服务节点层中获取与第一设备之间的链路的IGP开销最小的服务节点或者到第一设备的时延最短的服务节点,如果获取的这个服务节点过载,则第一设备获取第一服务节点层。第一设备获取第二服务节点层的方式可参考上述第一设备获取第一服务节点层的方式,本申请实施例在此不再赘述。
在各个服务节点上所部署的应用服务对应的算力资源分配合理的前提下,对于属于同一服务节点层的多个服务节点,如果一个服务节点过载,那么其它服务节点可能都过载或即将过载,因此在同一服务节点层中调度报文可能没有意义,甚至可能会导致多个服务节点都出现过载震荡。如果第二服务节点层中的服务节点的算力资源在流量突发的情况下总是不够的,那么通过应用本实现方式,可以在确定第二服务节点层中的一个服务节点过载后,直接将报文调度至下一层(第一服务节点层),从而提高网络稳定性。
例如,图12是本申请实施例提供的一种报文调度场景示意图。如图12所示,调度节点接收到报文后,判断第一层的服务节点中离调度节点最近的服务节点是否过载;如果第一层的服务节点中离调度节点最近的服务节点过载,调度节点判断第二层的服务节点中离调度节点最近的服务节点是否过载;如果第二层的服务节点中离调度节点最近的服务节点过载,调度节点判断第三层的服务节点中离调度节点最近的服务节点是否过载;如果第三层的服务节点中离调度节点最近的服务节点未过载,调度节点向第三层的服务节点中离调度节点最近的服务节点发送报文。其中,图12中设备之间的虚线表示设备之间的链路,带箭头的实线表示报文的传输路径。
第二种实现方式,第一设备在确定第二服务节点层中的多个服务节点过载后,获取第一服务节点层。
可选地,该多个服务节点属于同一负载分担组。对于同一服务节点层,由于用户设备的接入位置不同,对应的调度节点距离不同服务节点的距离差别可能会很大。例如,同一汇聚环上可以连接有属于同一服务层的多个接入环,一个接入环到另一个接入环的距离可能很远,调度节点位于其中一个接入环,那么调度节点离下挂在这个接入环的服务节点较近,但是离 下挂在其它接入环的服务节点较远,甚至比下挂在汇聚环的服务节点的距离还远。这种情况下,调度节点将报文调度至下挂在其它接入环的服务节点相较于将报文调度至下挂在汇聚环的服务节点,报文的响应时延反而会更大。基于此,本申请实施例提出了在同一服务节点层划分负载分担组的方案。
在第一种方案中,每个服务节点层对应有一个分担时延阈值。优先级越高的服务节点层对应的分担时延阈值越小,例如第二服务节点层对应的分担时延阈值小于第一服务节点层对应的分担时延阈值。第一设备将第二服务节点层中到第一设备之间的时延小于第二服务节点层对应的分担时延阈值的服务节点作为负载分担组,第一设备在确定该负载分担组中的所有服务节点过载后,获取第一服务节点层。
在第二种方案中,第一设备将第二服务节点层中到第一设备的时延最短的前n个服务节点作为负载分担组,第一设备在确定该负载分担组中的所有服务节点过载后,获取第一服务节点层。n为大于1的整数。
在第三种方案中,第一设备将第二服务节点层中下挂在离第一设备最近的IGP域的服务节点作为负载分担组,第一设备在确定该负载分担组中的所有服务节点过载后,获取第一服务节点层。其中,下挂在IGP域的服务节点指的是下挂在位于该IGP域的网关的服务节点。
可选地,第一设备可以先获取第二服务节点层中离第一设备最近的服务节点,再根据该服务节点的组标识以及第二服务节点层中其它服务节点的组标识,确定与该服务节点属于同一负载分担组的多个服务节点。
例如,图13是本申请实施例提供的另一种报文调度场景示意图。如图13所示,调度节点接收到报文后,判断第一层中离调度节点最近的负载分担组中是否有未过载的服务节点;如果第一层中离调度节点最近的负载分担组中的所有服务节点都过载,调度节点判断第二层中离调度节点最近的负载分担组中是否有未过载的服务节点;如果第二层中离调度节点最近的负载分担组中存在服务节点未过载,调度节点向第二层中离调度节点最近的负载分担组中未过载的服务节点发送报文。其中,图13中带箭头的实线表示报文的传输路径。
或者,第一设备也可以在确定第二服务节点层中的所有服务节点都过载后,再获取第一服务节点层。
值得说明的是,后续如果第二服务节点层中的服务节点未过载,那么第一设备可以将后面的流量再调度至第二服务节点层中的服务节点。
步骤1103、第一设备从第一服务节点层中选择目标服务节点。
在第一种实现方式中,第一设备从第一服务节点层中选择目标服务节点的实现过程,包括:第一设备从第一服务节点层中选择与第一设备之间的链路的IGP开销最小的目标服务节点。或者,第一设备从第一服务节点层中选择到第一设备的时延最短的目标服务节点。
本实现方式中,第一设备将确定的服务节点层中与第一设备之间的链路的IGP开销最小或到第一设备的时延最短的服务节点作为目标服务节点,即选择网络性能较优的服务节点,可以尽可能地减小报文的传输时延,以减小端到端的整体时延,从而为用户提供较好的应用服务。
在第二种实现方式中,目标服务节点为第一服务节点层中与第一设备之间的链路的IGP开销最小且未过载的服务节点。第一设备可以先从第一服务节点层中选择与第一设备之间的链路的IGP开销最小的服务节点,再根据该服务节点所部署的目标应用服务对应的算力信息 确定该服务节点是否过载,在该服务节点未过载的条件下,将该服务节点作为目标服务节点。或者,目标服务节点为第一服务节点层中到第一设备的时延最短且未过载的服务节点。第一设备可以先从第一服务节点层中选择到第一设备的时延最短的服务节点,再根据该服务节点所部署的目标应用服务对应的算力信息确定该服务节点是否过载,在该服务节点未过载的条件下,将该服务节点作为目标服务节点。
目前的一种报文调度方式中,采用CFN技术基于负载均衡原则进行报文调度,即只考虑服务节点所部署的应用服务对应的算力信息来选择服务节点;另一种报文调度方式中,只考虑网络性能的因素,将来自用户设备的报文都调度至离用户设备最近的服务节点。但是,如果将来自用户设备的报文都调度至离用户设备最近的服务节点,可能会出现最近的服务节点过载的情况,导致该服务节点无法正常提供应用服务。如果采用CFN技术基于负载均衡原则进行报文调度,可能会出现算力较大的服务节点与用户设备之间的时延较大的情况,导致端到端的整体时延较大。
本实现方式中,第一设备将确定的服务节点层中与第一设备之间的链路的IGP开销最小或到第一设备的时延最短、且未过载的服务节点作为目标服务节点。即本实现方式综合考虑了服务节点的算力与网络性能,在报文调度时优先选择网络性能较优的服务节点,当网络性能较优的服务节点过载时,选择网络性能次优但算力资源更充足的服务节点,既能使服务节点有效提供应用服务,又能尽可能地减小报文的传输时延,以减小端到端的整体时延,从而为用户提供较好的应用服务。
在第三种实现方式中,第一设备从第一服务节点层中选择目标服务节点的实现过程,包括:第一设备从第一服务节点层中获取目标负载分担组。第一设备从目标负载分担组中获取目标服务节点。
可选地,第一设备将第一服务节点层中到第一设备之间的时延小于第一服务节点层对应的分担时延阈值的服务节点作为目标负载分担组。或者,第一设备将第一服务节点层中到第一设备的时延最短的前m个服务节点作为目标负载分担组,m为大于1的整数。又或者,第一设备将第一服务节点层中下挂在离第一设备最近的IGP域的服务节点作为目标负载分担组。对负载分担组的定义和解释可参考上述步骤1102中的相关描述,本申请实施例在此不再赘述。
可选地,第一设备根据目标负载分担组中的服务节点所部署的应用服务对应的算力信息,将目标负载分担组中未过载的服务节点作为目标服务节点。
本实现方式基于对用户设备的接入位置不同,对应的调度节点距离不同服务节点的距离差别可能会很大的考虑,提出了负载分担组的概念,在实现为用户提供较好的应用服务的同时,实现同一负载分担组中的多个服务节点的负载均衡,以提高服务节点的资源利用率。
步骤1104、第一设备向目标服务节点发送该报文。
第一设备向目标服务节点发送报文,可以是第一设备向目标服务节点直接发送报文,或者也可以是第一设备通过其它设备向目标服务节点间接发送报文。
第一设备在接收到通告消息后,基于该通告消息建立路由表项,然后基于路由表项向目标服务节点发送报文。可选地,通告消息包括下一跳信息。
在第一种实施场景中,第一设备接收到的通告消息来自服务节点连接的网关,则通告消息中的下一跳信息为该服务节点连接的网关的地址。
可选地,各个服务节点连接的网关分别与调度节点之间建立有BGP邻居关系。例如,在如图1所示的应用场景中,网关102A与网关102B之间建立有BGP邻居关系,网关102A与网关102C之间建立有BGP邻居关系。假设第一设备为网关102A,网关102A接收来自网关102B的通告消息1,该通告消息1包括服务节点103B所部署的应用服务对应的算力信息、服务节点103B所部署的应用服务对应的应用服务标识、服务节点103B的层标识以及下一跳信息(网关102B的地址)。假设服务节点103B部署有应用服务A、应用服务B和应用服务C。网关102A根据应用服务A对应的算力信息确定服务节点103B所部署的应用服务A对应的负载状态为未过载,根据应用服务B对应的算力信息确定服务节点103B所部署的应用服务B对应的负载状态为过载,根据应用服务C对应的算力信息确定服务节点103B所部署的应用服务C对应的负载状态为未过载。应用服务A对应的任播IP地址为IP1,应用服务B对应的任播IP地址为IP2,应用服务C对应的任播IP地址为IP3。服务节点103B的层标识为layer ID2。网关102B的IP地址为IP 2.1.2.1。网关102A接收到来自网关102B的通告消息1后,可以生成如表2所示的路由表项。
表2
Figure PCTCN2022106519-appb-000002
类似地,网关102A还可以接收来自网关102C的通告消息2,该通告消息2包括服务节点103C所部署的应用服务对应的算力信息、服务节点103C所部署的应用服务对应的应用服务标识、服务节点103C的层标识以及下一跳信息(网关102C的地址)。假设服务节点103C部署有应用服务A和应用服务B。网关102A根据应用服务A对应的算力信息确定服务节点103C所部署的应用服务A对应的负载状态为未过载,根据应用服务B对应的算力信息确定服务节点103C所部署的应用服务B对应的负载状态为未过载。应用服务A对应的任播IP地址为IP1,应用服务B对应的任播IP地址为IP2。服务节点103C的层标识为layer ID3。网关102C的IP地址为IP 2.1.3.1。网关102A接收到来自网关102C的通告消息2后,可以生成如表3所示的路由表项。
表3
Figure PCTCN2022106519-appb-000003
如果目标服务节点为服务节点102B,则网关102A通过出接口2向IP 2.1.2.1(网关102B)发送报文,网关102B基于自身的路由表项再将报文发送给服务节点102B。如果目标服务节点为服务节点102C,则网关102A通过出接口3向IP 2.1.3.1(网关102C)发送报文,网关102C基于自身的路由表项再将报文发送给服务节点102C。
实际场景中,一个网关上可能下挂有多个服务节点,网关在接收多个服务节点分别发送的通告消息后,可以对该多个服务节点所部署的应用服务对应的算力信息进行汇总,并将汇 总后的算力信息发送给调度节点。该汇总后的算力信息实质上反映了这个网关下挂的多个服务节点的总算力。如果网关接收到调度节点发送的报文,那么网关可以作为新的调度节点,在下挂的多个服务节点中进一步确定处理该报文的服务节点,该实现过程可以参考上述步骤1103中在第一服务节点层中确定目标服务节点的过程,本申请实施例在此不再赘述。
在第二种实施场景中,第一设备接收到的通告消息来自服务节点,则通告消息中的下一跳信息为该服务节点的地址。
例如,在如图1所示的应用场景中,第一设备为网关102A,网关102A接收来自服务节点103A的通告消息3,该通告消息3包括服务节点103A所部署的应用服务对应的算力信息、服务节点103A所部署的应用服务对应的应用服务标识、服务节点103A的层标识以及下一跳信息(服务节点103A的地址)。假设服务节点103A部署有应用服务A、应用服务B和应用服务C。网关102A根据应用服务A对应的算力信息确定服务节点103A所部署的应用服务A对应的负载状态为未过载,根据应用服务B对应的算力信息确定服务节点103A所部署的应用服务B对应的负载状态为过载,根据应用服务C对应的算力信息确定服务节点103B所部署的应用服务C对应的负载状态为过载。应用服务A对应的任播IP地址为IP1,应用服务B对应的任播IP地址为IP2,应用服务C对应的任播IP地址为IP3。服务节点103A的层标识为layer ID1。服务节点103A的IP地址为IP 1.1.1.1。网关102A接收到来自服务节点101A的通告消息后,可以生成如表4所示的路由表项。
表4
Figure PCTCN2022106519-appb-000004
如果目标服务节点为服务节点102A,则网关102A通过出接口1向IP 1.1.1.1(服务节点102A)发送报文。
可选地,报文包括请求处理的内容。目标服务节点在接收到报文后,还可以执行以下步骤1105至步骤1106。
步骤1105、目标服务节点处理该报文中包含的请求处理的内容。
例如,该报文为计算请求报文,目标服务节点处理该报文中的内容,可以是对计算请求报文中待计算的内容进行计算。又例如,该报文为上线请求报文,目标服务节点处理该报文中的内容,可以是基于上线请求报文中的认证信息进行应用上线认证。又例如,该报文为存储请求报文,目标服务节点处理该报文中的内容,可以是对存储请求报文中待存储的内容进行存储。
步骤1106、目标服务节点向第一设备发送针对该内容的处理结果。
例如,第一设备向目标服务节点发送的报文为计算请求报文,该处理结果可以为计算结果。又例如,第一设备向目标服务节点发送的报文为上线请求报文,该处理结果可以为用于指示是否允许应用上线的指示。又例如,第一设备向目标服务节点发送的报文为存储请求报文,该处理结果可以是存储成功指示或存储失败指示。
步骤1107、第一设备向第二设备发送该处理结果。
综上所述,在本申请实施例提供的报文转发方法中,通过对多个服务节点进行分层,并为各个服务节点分配对应的层标识,使得调度节点在接收到报文后,能够根据服务节点的层标识选择用来处理该报文的服务节点,丰富了报文调度方式。服务节点层的优先级与服务节点层中的服务节点的网络性能正相关,调度节点优先选择优先级高的服务节点层中的服务节点,即选择网络性能较优的服务节点,可以尽可能地减小报文的传输时延,以减小端到端的整体时延。另外,通过综合考虑服务节点的算力与网络性能,在报文调度时优先选择网络性能较优的服务节点,当网络性能较优的服务节点过载时,选择网络性能次优但算力资源更充足的服务节点,既能使服务节点有效提供应用服务,又能尽可能地减小报文的传输时延,以减小端到端的整体时延,从而为用户提供较好的应用服务。
本申请实施例提供的报文转发方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内。
图14是本申请实施例提供的一种第一设备的结构示意图,可以实现图11所示的实施例中第一设备的功能。如图14所示,该第一设备1400包括:接收单元1401、处理单元1402和发送单元1403。这些单元可以执行上述方法实施例中第一设备的相应功能。接收单元1401,用于支持第一设备执行图11中的步骤1101(接收第二设备发送的报文)和步骤1106(接收目标服务节点发送的针对报文中的请求处理的内容的处理结果);处理单元1402,用于支持第一设备执行图4中的步骤1102和步骤1103,以及本文所描述的技术中第一设备执行的其它过程;发送单元1403,用于支持第一设备执行图11中的步骤1104和步骤1107。例如,接收单元1401,用于执行上述方法实施例中第一设备执行的各种信息接收;处理单元1402,用于执行上述方法实施例中第一设备除了信息收发动作之外的其它处理;发送单元1403,用于执行上述方法实施例中第一设备执行的各种信息发送。举例来说,接收单元1401,用于接收第二设备发送的报文,该报文包括应用服务标识。处理单元1402,用于根据应用服务标识从多个服务节点层中确定第一服务节点层,并从第一服务节点层中选择目标服务节点,该第一服务节点层中的服务节点具有第一层标识,该第一服务节点层中的服务节点部署有该应用服务标识对应的目标应用服务。发送单元1403,用于向目标服务节点发送报文。具体执行过程请参考上述图11所示实施例中相应步骤的详细描述,这里不再一一赘述。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也可以是不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在采用集成的单元的情况下,图15示出了上述实施例中所涉及的第一设备的另一种可能的结构示意图。该第一设备1500同样可以实现如图11所示的实施例中的第一设备的功能。第一设备1500包括:存储单元1501、处理单元1502和通信单元1503。通信单元1503用于支持第一设备1500与其他网络实体的通信,例如与图11中示出的第二设备或服务节点之间的通信,举例来说,通信单元1503用于支持第一设备1500执行图11中的步骤1101、步骤1104、步骤1106和步骤1107。处理单元1502用于对第一设备1500的动作进行控制管理,例 如,处理单元1502用于支持第一设备1500执行图11中的步骤1102和步骤1103,和/或本文所描述的技术中第一设备执行的其它过程。存储单元1501,用于存储第一设备1500的程序代码和数据。具体执行过程请参考上述图11所示实施例中相应步骤的详细描述,这里不再一一赘述。
其中,处理单元1502可以是处理器,例如可以是中央处理器(central processing unit,CPU)、通用处理器,数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1503可以是收发器,存储单元1501可以是存储器。
当处理单元1502为处理器,通信单元1503为收发器,存储单元1501为存储器时,本申请实施例所涉及的第一设备可以为图16所示的第一设备1650。
参阅图16所示,该第一设备1600包括:处理器1602、收发器1603、存储器1601以及总线1604。其中,处理器1602、收发器1603以及存储器1601通过总线1604相互连接;总线1604可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该第一设备1600可以实现图11所示的实施例中的第一设备的功能。处理器1602和收发器1603可以执行上述方法示例中第一设备的相应功能。收发器1603用于支持第一设备1600执行图11中的步骤1101、步骤1104、步骤1106和步骤1107。处理器1602用于支持第一设备1600执行图11中的步骤1102和步骤1103,和/或本文所描述的技术中第一设备执行的其它过程。存储器1601,用于存储第一设备1600的程序代码和数据。具体执行过程请参考上述图11所示实施例中相应步骤的详细描述,这里不再一一赘述。
图17是本申请实施例提供的还一种第一设备的结构示意图。如图17所示,第一设备1700可以为路由器或交换器或网关或有转发功能的网络设备,网络设备1700能够实现前述方法实施例中的第一设备的功能。所述第一设备1700包括:主控板1701和接口板1702。主控板1701包括:处理器1703和存储器1704。接口板1702包括:处理器1705、存储器1706和接口卡1707。主控板1701和接口板1702耦合。
这些硬件可以执行上述方法示例中的相应功能,例如,存储器1706可以用于存储接口板1702的程序代码,处理器1705用于调用存储器1706中的程序代码触发接口卡1707执行上述方法实施例中第一设备执行的各种信息接收和发送,例如,处理器1705调用存储器1706中的程序代码触发接口卡1707支持第一设备1700执行图11中的步骤1101、步骤1104、步骤1106和步骤1107。存储器1704可以用于存储主控板1701的程序代码,处理器1703用于调用存储器1704中的程序代码执行上述方法实施例中第一设备除了信息收发之外的其他处理。例如,处理器1703用于支持第一设备1700执行图11中的步骤1102和步骤1103,和/或本文所描述的技术中第一设备执行的其它过程。存储器1704用于存储主控板1701的程序代码和数据。具体执行过程请参考上述图11所示实施例中相应步骤的详细描述,这里不再一一赘述。
在一种可能的实现方式中,主控板1701和接口板1702之间建立IPC控制通道,主控板1701和接口板1702之间利用该IPC控制通道进行通信。
图18是本申请实施例提供的一种服务节点的结构示意图,可以实现图11所示的实施例中服务节点的功能。如图18所示,该服务节点1800包括:接收单元1801、处理单元1802和发送单元1803。这些单元可以执行上述方法实施例中服务节点的相应功能。接收单元1801,用于支持服务节点执行图11中的步骤1104(接收第一设备发送的报文);处理单元1802,用于支持服务节点执行图11中的步骤1105,以及本文所描述的技术中服务节点执行的其它过程;发送单元1803,用于支持服务节点执行图11中的步骤1106。例如,接收单元1801,用于执行上述方法实施例中服务节点执行的各种信息接收;处理单元1802,用于执行上述方法实施例中服务节点除了信息收发动作之外的其它处理;发送单元1803,用于执行上述方法实施例中服务节点执行的各种信息发送。举例来说,接收单元1801,用于接收第一设备发送的报文。处理单元1802,用于生成通告消息,该通告消息包括服务节点所部署的应用服务对应的算力信息、服务节点所部署的应用服务对应的应用服务标识以及服务节点的层标识。发送单元1803,用于向该服务节点连接的网关发送通告消息。具体执行过程请参考上述实施例中的详细描述,这里不再一一赘述。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也可以是不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在采用集成的单元的情况下,图19示出了上述实施例中所涉及的服务节点的另一种可能的结构示意图。该服务节点1900同样可以实现如图11所示的实施例中的服务节点的功能。服务节点1900包括:存储单元1901、处理单元1902和通信单元1903。通信单元1903用于支持服务节点1900与其他网络实体的通信,例如与图11中示出的网关之间的通信,举例来说,通信单元1903用于支持服务节点1900执行图11中的步骤1104和步骤1106。处理单元1902用于对服务节点1900的动作进行控制管理,例如,处理单元1902用于支持服务节点1900执行图11中的步骤1105,和/或本文所描述的技术中服务节点执行的其它过程。存储单元1901,用于存储服务节点1900的程序代码和数据。具体执行过程请参考上述实施例中的详细描述,这里不再一一赘述。
其中,处理单元1902可以是处理器,例如可以是CPU、通用处理器,DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1903可以是收发器,存储单元1901可以是存储器。
当处理单元1902为处理器,通信单元1903为收发器,存储单元1901为存储器时,本申请实施例所涉及的服务节点可以为图20所示的服务节点2000。
参阅图20所示,该服务节点2000包括:处理器2002、收发器2003、存储器2001以及总线2004。其中,处理器2002、收发器2003以及存储器2001通过总线2004相互连接;总 线2004可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图20中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该服务节点2000可以实现图11所示的实施例中的服务节点的功能。处理器2002和收发器2003可以执行上述方法示例中服务节点的相应功能。收发器2003用于支持服务节点2000执行图11中的步骤1104和步骤1106。处理器2002用于支持服务节点2000执行图11中的步骤1105,和/或本文所描述的技术中服务节点执行的其它过程。存储器2001,用于存储服务节点2000的程序代码和数据。具体执行过程请参考上述实施例中的详细描述,这里不再一一赘述。
图21是本申请实施例提供的还一种服务节点的结构示意图。如图21所示,服务节点2100可以为路由器或交换器或网关或有转发功能的网络设备,网络设备2100能够实现前述方法实施例中的服务节点的功能。所述服务节点2100包括:主控板2101和接口板2102。主控板2101包括:处理器2103和存储器2104。接口板2102包括:处理器2105、存储器2106和接口卡2107。主控板2101和接口板2102耦合。
这些硬件可以执行上述方法示例中的相应功能,例如,存储器2106可以用于存储接口板2102的程序代码,处理器2105用于调用存储器2106中的程序代码触发接口卡2107执行上述方法实施例中服务节点执行的各种信息接收和发送,例如,处理器2105调用存储器2106中的程序代码触发接口卡2107支持服务节点2100执行图11中的步骤1104和步骤1105。存储器2104可以用于存储主控板2101的程序代码,处理器2103用于调用存储器2104中的程序代码执行上述方法实施例中服务节点除了信息收发之外的其他处理。例如,处理器2103用于支持服务节点2100执行图11中的步骤1108,和/或本文所描述的技术中服务节点执行的其它过程。存储器2104用于存储主控板2101的程序代码和数据。具体执行过程请参考上述实施例中的详细描述,这里不再一一赘述。
在一种可能的实现方式中,主控板2101和接口板2102之间建立IPC控制通道,主控板2101和接口板2102之间利用该IPC控制通道进行通信。
图22是本申请实施例提供的一种控制设备的结构示意图,可以实现上述实施例中控制设备的功能。如图22所示,该控制设备2200包括:处理单元2201和发送单元2202。这些单元可以执行上述方法实施例中控制设备的相应功能。处理单元2201,用于支持控制设备执行本文所描述的技术中控制设备执行的处理过程;发送单元2202,用于支持控制设备执行本文所描述的技术中控制设备执行的发送过程。例如,处理单元2201,用于执行上述方法实施例中控制设备除了信息收发动作之外的其它处理;发送单元2202,用于执行上述方法实施例中控制设备执行的各种信息发送。举例来说,处理单元2201,用于对所管理的多个服务节点进行分层,属于同一个服务节点层的服务节点的层标识相同。发送单元2202,用于向多个服务节点分别发送对应的层标识。具体执行过程请参考上述实施例中的详细描述,这里不再一一赘述。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也可以是不同的单元。上述集成的单元既可以采用 硬件的形式实现,也可以采用软件功能单元的形式实现。
在采用集成的单元的情况下,图23示出了上述实施例中所涉及的控制设备的另一种可能的结构示意图。该控制设备2300同样可以实现上述实施例中的控制设备的功能。控制设备2300包括:存储单元2301、处理单元2302和通信单元2303。通信单元2303用于支持控制设备2300与其他网络实体的通信,例如与服务节点之间的通信,举例来说,通信单元2303用于支持控制设备2300向服务节点发送信息。处理单元2302用于对控制设备2300的动作进行控制管理。存储单元2301,用于存储控制设备2300的程序代码和数据。具体执行过程请参考上述实施例中的详细描述,这里不再一一赘述。
其中,处理单元2302可以是处理器,例如可以是CPU、通用处理器,DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元2303可以是收发器,存储单元2301可以是存储器。
当处理单元2302为处理器,通信单元2303为收发器,存储单元2301为存储器时,本申请实施例所涉及的控制设备可以为图24所示的控制设备2400。
参阅图24所示,该控制设备2400包括:处理器2402、收发器2403、存储器2401以及总线2404。其中,处理器2402、收发器2403以及存储器2401通过总线2404相互连接;总线2404可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图24中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该控制设备2400可以实现上述实施例中的控制设备的功能。处理器2402和收发器2403可以执行上述方法示例中控制设备的相应功能。收发器2403用于支持控制设备2400向服务节点发送信息。处理器2402用于支持控制设备2400执行本文所描述的技术中控制设备执行的处理过程。存储器2401,用于存储控制设备2400的程序代码和数据。具体执行过程请参考上述实施例中的详细描述,这里不再一一赘述。
图25是本申请实施例提供的还一种控制设备的结构示意图。如图25所示,控制设备2500可以为路由器或交换器或网关或有转发功能的网络设备,网络设备2500能够实现前述方法实施例中的控制设备的功能。所述控制设备2500包括:主控板2501和接口板2502。主控板2501包括:处理器2503和存储器2504。接口板2502包括:处理器2505、存储器2506和接口卡2507。主控板2501和接口板2502耦合。
这些硬件可以执行上述方法示例中的相应功能,例如,存储器2506可以用于存储接口板2502的程序代码,处理器2505用于调用存储器2506中的程序代码触发接口卡2507执行上述方法实施例中控制设备执行的各种信息接收和发送,例如,处理器2505调用存储器2506中的程序代码触发接口卡2507支持控制设备2500向服务节点发送信息。存储器2504可以用于存储主控板2501的程序代码,处理器2503用于调用存储器2504中的程序代码执行上述方法实施例中控制设备除了信息收发之外的其他处理。例如,处理器2503用于支持控制设备2500执行本文所描述的技术中控制设备执行的处理过程。存储器2504用于存储主控板2501的程序代码和数据。具体执行过程请参考上述实施例中的详细描述,这里不再一一赘述。
在一种可能的实现方式中,主控板2501和接口板2502之间建立IPC控制通道,主控板2501和接口板2502之间利用该IPC控制通道进行通信。
图26是本申请实施例提供的一种报文转发系统的结构示意图。该系统用于实现前述方法实施例中的报文转发方法。如图26所示,该系统包括:第一设备2601和多个服务节点2602。该第一设备2601和服务节点2602可以分别实现图11所示的实施例中的第一设备和服务节点的功能。例如,第一设备执行图11中的步骤1102、步骤1103、步骤1104和步骤1107,和/或用于本文所描述的技术中第一设备执行的其它过程。服务节点2602执行图11中的步骤1105和步骤1106,和/或用于本文所描述的技术中服务节点执行的其它过程。
可选地,请继续参见图26,该系统还包括:控制设备2603,控制设备2603用于管理多个服务节点2602,控制设备2603用于实现上述实施例中控制设备执行的过程。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被第一设备(调度节点)的处理器执行时,实现上述实施例中第一设备执行的过程;或者,当所述指令被服务节点的处理器执行时,实现上述实施例中服务节点执行的过程;或者,当所述指令被控制设备的处理器执行时,实现上述实施例中控制设备执行的过程。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的第一设备或服务节点实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、硬盘、移动硬盘、光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (50)

  1. 一种报文转发方法,其特征在于,所述方法包括:
    第一设备接收第二设备发送的报文,所述报文包括应用服务标识;
    所述第一设备根据所述应用服务标识从多个服务节点层中确定第一服务节点层,所述第一服务节点层中的服务节点具有第一层标识,所述第一服务节点层中的服务节点部署有所述应用服务标识对应的目标应用服务;
    所述第一设备从所述第一服务节点层中选择目标服务节点;
    所述第一设备向所述目标服务节点发送所述报文。
  2. 根据权利要求1所述的方法,其特征在于,所述第一设备根据所述应用服务标识从多个服务节点层中确定第一服务节点层,包括:
    所述第一设备在确定第二服务节点层中的一个或多个服务节点过载后,获取所述第一服务节点层,所述第二服务节点层中的服务节点具有第二层标识,所述第二服务节点层的优先级高于所述第一服务节点层的优先级。
  3. 根据权利要求1所述的方法,其特征在于,所述第一服务节点层为所述多个服务节点层中优先级最高的服务节点层。
  4. 根据权利要求3所述的方法,其特征在于,所述第一服务节点层为所述多个服务节点层中优先级最高的服务节点层,包括:
    所述第一服务节点层为所述多个服务节点层中离所述第一设备最近的服务节点层,或者,所述第一服务节点层为所述多个服务节点层中到所述第一设备的时延最短的服务节点层。
  5. 根据权利要求1至4任一所述的方法,其特征在于,
    所述多个服务节点层包括接入服务节点层、汇聚服务节点层和核心服务节点层,其中,所述接入服务节点层中的服务节点与接入网设备连接,所述汇聚服务节点层中的服务节点与汇聚网设备连接,所述核心服务节点层中的服务节点与核心网设备连接,所述接入服务节点层的优先级高于所述汇聚服务节点层的优先级,所述汇聚服务节点层的优先级高于所述核心服务节点层的优先级;或者,
    所述多个服务节点层包括级别level1服务节点层和level2服务节点层,其中,所述level1服务节点层中的服务节点与中间系统到中间系统ISIS协议的level1区域内的网关连接,所述level2服务节点层中的服务节点与ISIS协议的level2区域内的网关连接,所述level1服务节点层的优先级高于所述level2服务节点层的优先级;或者,
    所述多个服务节点层包括非骨干服务节点层和骨干服务节点层,其中,所述非骨干服务节点层中的服务节点与开放式最短路径优先OSPF协议的非骨干区域内的网关连接,所述骨干服务节点层中的服务节点与OSPF协议的骨干区域内的网关连接,所述非骨干服务节点层的优先级高于所述骨干服务节点层的优先级;或者,
    所述多个服务节点层中的每个服务节点层对应一个时延阈值,所述时延阈值对应的时延为从对应的服务节点层到所述第一设备的时延,对应的时延阈值小的服务节点层的优先级高于对应的时延阈值大的服务节点层的优先级;或者,
    所述多个服务节点层包括主用服务节点层和备用服务节点层,所述主用服务节点层的优先级高于所述备用服务节点层的优先级。
  6. 根据权利要求1至5任一所述的方法,其特征在于,所述第一设备从所述第一服务节点层中选择目标服务节点,包括:
    所述第一设备从所述第一服务节点层中选择与所述第一设备之间的链路的内部网关协议IGP开销最小的所述目标服务节点;或者,
    所述第一设备从所述第一服务节点层中选择到所述第一设备之间的时延最短的所述目标服务节点。
  7. 根据权利要求1至5任一所述的方法,其特征在于,所述目标服务节点为所述第一服务节点层中与所述第一设备之间的链路的IGP开销最小且未过载的服务节点;或者,所述目标服务节点为所述第一服务节点层中到所述第一设备的时延最短且未过载的服务节点。
  8. 根据权利要求1至7任一所述的方法,其特征在于,所述方法还包括:
    所述第一设备接收通告消息,所述通告消息包括服务节点所部署的应用服务对应的算力信息、所述服务节点所部署的应用服务对应的应用服务标识以及所述服务节点的层标识。
  9. 根据权利要求8所述的方法,其特征在于,所述通告消息还包括下一跳信息,所述通告消息来自所述服务节点连接的网关,所述下一跳信息为所述服务节点连接的网关的地址;或者,所述通告消息来自所述服务节点,所述下一跳信息为所述服务节点的地址。
  10. 根据权利要求8或9所述的方法,其特征在于,所述通告消息为边界网关协议BGP更新消息。
  11. 根据权利要求10所述的方法,其特征在于,所述算力信息和所述层标识承载于所述BGP更新消息的路由属性字段,所述应用服务标识承载于所述BGP更新消息的网络层可达信息字段。
  12. 根据权利要求8至11任一所述的方法,其特征在于,所述方法还包括:
    所述第一设备根据所述通告消息存储每个服务节点所部署的应用服务对应的算力信息,并建立应用服务标识和服务节点层的层标识的对应关系;
    所述第一设备根据所述应用服务标识从多个服务节点层中确定第一服务节点层,包括:
    所述第一设备基于应用服务标识和服务节点层的层标识的对应关系,选择包含部署有所述目标应用服务的服务节点的所述第一服务节点层。
  13. 根据权利要求1至5任一所述的方法,其特征在于,所述第一设备从所述第一服务节点层中选择目标服务节点,包括:
    所述第一设备从所述第一服务节点层中获取目标负载分担组;
    所述第一设备从所述目标负载分担组中获取所述目标服务节点。
  14. 根据权利要求13所述的方法,其特征在于,所述第一设备从所述目标负载分担组中获取所述目标服务节点,包括:
    所述第一设备根据所述目标负载分担组中的服务节点所部署的应用服务对应的算力信息,将所述目标负载分担组中未过载的服务节点作为所述目标服务节点。
  15. 根据权利要求8至12、14任一所述的方法,其特征在于,所述算力信息包括重轻载状态、算力资源的数量、算力资源的利用率、设备连接数、融合算力值或任务处理时延中的一个或多个。
  16. 一种报文转发方法,其特征在于,所述方法包括:
    服务节点生成通告消息,所述通告消息包括所述服务节点所部署的应用服务对应的算力信息、所述服务节点所部署的应用服务对应的应用服务标识以及所述服务节点的层标识;
    所述服务节点向所述服务节点连接的网关发送所述通告消息。
  17. 根据权利要求16所述的方法,其特征在于,所述通告消息还包括下一跳信息,所述下一跳信息为所述服务节点的地址。
  18. 根据权利要求16或17所述的方法,其特征在于,所述通告消息为边界网关协议BGP更新消息。
  19. 根据权利要求18所述的方法,其特征在于,所述算力信息和所述层标识承载于所述BGP更新消息的路由属性字段,所述应用服务标识承载于所述BGP更新消息的网络层可达信息字段。
  20. 根据权利要求16至19任一所述的方法,其特征在于,所述通告消息还包括所述服务节点的组标识,所述组标识用于指示所述服务节点所属的负载分担组。
  21. 一种报文转发方法,其特征在于,所述方法包括:
    控制设备对所管理的多个服务节点进行分层,属于同一个服务节点层的服务节点的层标识相同;
    所述控制设备向所述多个服务节点分别发送对应的层标识。
  22. 根据权利要求21所述的方法,其特征在于,所述控制设备对所管理的多个服务节点进行分层,包括:
    所述控制设备将所述多个服务节点分为接入服务节点层、汇聚服务节点层和核心服务节点层,其中,所述接入服务节点层中的服务节点与接入网设备连接,汇聚服务节点层中的服务节点与汇聚网设备连接,核心服务节点层中的服务节点与核心网设备连接,所述接入服务节点层的优先级高于所述汇聚服务节点层的优先级,所述汇聚服务节点层的优先级高于所述核心服务节点层的优先级。
  23. 根据权利要求21所述的方法,其特征在于,所述控制设备对所管理的多个服务节点进行分层,包括:
    所述控制设备将所述多个服务节点分为级别level1服务节点层和level2服务节点层,其中,所述level1服务节点层中的服务节点与中间系统到中间系统ISIS协议的level1区域内的网关连接,所述level2服务节点层中的服务节点与ISIS协议的level2区域内的网关连接,所述level1服务节点层的优先级高于所述level2服务节点层的优先级。
  24. 根据权利要求21所述的方法,其特征在于,所述控制设备对所管理的多个服务节点进行分层,包括:
    所述控制设备将所述多个服务节点分为非骨干服务节点层和骨干服务节点层,其中,所述非骨干服务节点层中的服务节点与开放式最短路径优先OSPF协议的非骨干区域内的网关连接,所述骨干服务节点层中的服务节点与OSPF协议的骨干区域内的网关连接,所述非骨干服务节点层的优先级高于所述骨干服务节点层的优先级。
  25. 根据权利要求21所述的方法,其特征在于,所述控制设备对所管理的多个服务节点进行分层,包括:
    所述控制设备根据所述多个服务节点到调度节点的时延将所述多个服务节点分成多个服务节点层,每个服务节点层对应一个时延阈值,所述时延阈值对应的时延为从对应的服务节点层到所述调度节点的时延,对应的时延阈值小的服务节点层的优先级高于对应的时延阈值大的服务节点层的优先级。
  26. 根据权利要求21所述的方法,其特征在于,所述控制设备对所管理的多个服务节点进行分层,包括:
    所述控制设备将所述多个服务节点分为主用服务节点层和备用服务节点层,所述主用服务节点层的优先级高于所述备用服务节点层的优先级。
  27. 一种报文转发装置,其特征在于,应用于第一设备,所述装置包括:
    接收单元,用于接收第二设备发送的报文,所述报文包括应用服务标识;
    处理单元,用于根据所述应用服务标识从多个服务节点层中确定第一服务节点层,所述第一服务节点层中的服务节点具有第一层标识,所述第一服务节点层中的服务节点部署有所述应用服务标识对应的目标应用服务;
    所述处理单元,还用于从所述第一服务节点层中选择目标服务节点;
    发送单元,用于向所述目标服务节点发送所述报文。
  28. 根据权利要求27所述的装置,其特征在于,所述处理单元,用于:
    在确定第二服务节点层中的一个或多个服务节点过载后,获取所述第一服务节点层,所述第二服务节点层中的服务节点具有第二层标识,所述第二服务节点层的优先级高于所述第一服务节点层的优先级。
  29. 根据权利要求27所述的装置,其特征在于,所述第一服务节点层为所述多个服务节点层中优先级最高的服务节点层。
  30. 根据权利要求29所述的装置,其特征在于,所述第一服务节点层为所述多个服务节点层中优先级最高的服务节点层,包括:
    所述第一服务节点层为所述多个服务节点层中离所述第一设备最近的服务节点层,或者,所述第一服务节点层为所述多个服务节点层中到所述第一设备的时延最短的服务节点层。
  31. 根据权利要求27至30任一所述的装置,其特征在于,
    所述多个服务节点层包括接入服务节点层、汇聚服务节点层和核心服务节点层,其中,所述接入服务节点层中的服务节点与接入网设备连接,所述汇聚服务节点层中的服务节点与汇聚网设备连接,所述核心服务节点层中的服务节点与核心网设备连接,所述接入服务节点层的优先级高于所述汇聚服务节点层的优先级,所述汇聚服务节点层的优先级高于所述核心服务节点层的优先级;或者,
    所述多个服务节点层包括级别level1服务节点层和level2服务节点层,其中,所述level1服务节点层中的服务节点与中间系统到中间系统ISIS协议的level1区域内的网关连接,所述level2服务节点层中的服务节点与ISIS协议的level2区域内的网关连接,所述level1服务节点层的优先级高于所述level2服务节点层的优先级;或者,
    所述多个服务节点层包括非骨干服务节点层和骨干服务节点层,其中,所述非骨干服务节点层中的服务节点与开放式最短路径优先OSPF协议的非骨干区域内的网关连接,所述骨干服务节点层中的服务节点与OSPF协议的骨干区域内的网关连接,所述非骨干服务节点层的优先级高于所述骨干服务节点层的优先级;或者,
    所述多个服务节点层中的每个服务节点层对应一个时延阈值,所述时延阈值对应的时延为从对应的服务节点层到所述第一设备的时延,对应的时延阈值小的服务节点层的优先级高于对应的时延阈值大的服务节点层的优先级;或者,
    所述多个服务节点层包括主用服务节点层和备用服务节点层,所述主用服务节点层的优先级高于所述备用服务节点层的优先级。
  32. 根据权利要求27至31任一所述的装置,其特征在于,所述处理单元,用于:
    从所述第一服务节点层中选择与所述第一设备之间的链路的内部网关协议IGP开销最小的所述目标服务节点;或者,
    从所述第一服务节点层中选择到所述第一设备的时延最短的所述目标服务节点。
  33. 根据权利要求27至31任一所述的装置,其特征在于,所述目标服务节点为所述第一服务节点层中与所述第一设备之间的链路的IGP开销最小且未过载的服务节点;或者,所述目标服务节点为所述第一服务节点层中到所述第一设备的时延最短且未过载的服务节点。
  34. 根据权利要求27至33任一所述的装置,其特征在于,
    所述接收单元,还用于接收通告消息,所述通告消息包括服务节点所部署的应用服务对应的算力信息、所述服务节点所部署的应用服务对应的应用服务标识以及所述服务节点的层标识。
  35. 根据权利要求34所述的装置,其特征在于,所述通告消息还包括下一跳信息,所述通告消息来自所述服务节点连接的网关,所述下一跳信息为所述服务节点连接的网关的地址;或者,所述通告消息来自所述服务节点,所述下一跳信息为所述服务节点的地址。
  36. 一种报文转发装置,其特征在于,应用于服务节点,所述装置包括:
    处理单元,用于生成通告消息,所述通告消息包括所述服务节点所部署的应用服务对应的算力信息、所述服务节点所部署的应用服务对应的应用服务标识以及所述服务节点的层标识;
    发送单元,用于向所述服务节点连接的网关发送所述通告消息。
  37. 根据权利要求36所述的装置,其特征在于,所述通告消息还包括下一跳信息,所述下一跳信息为所述服务节点的地址。
  38. 根据权利要求36或37所述的装置,其特征在于,所述通告消息为边界网关协议BGP更新消息。
  39. 根据权利要求38所述的装置,其特征在于,所述算力信息和所述层标识承载于所述BGP更新消息的路由属性字段,所述应用服务标识承载于所述BGP更新消息的网络层可达信息字段。
  40. 根据权利要求36至39任一所述的装置,其特征在于,所述通告消息还包括所述服务节点的组标识,所述组标识用于指示所述服务节点所属的负载分担组。
  41. 一种报文转发装置,其特征在于,应用于控制设备,所述装置包括:
    处理单元,用于对所管理的多个服务节点进行分层,属于同一个服务节点层的服务节点的层标识相同;
    发送单元,用于向所述多个服务节点分别发送对应的层标识。
  42. 根据权利要求41所述的装置,其特征在于,所述处理单元,用于:
    将所述多个服务节点分为接入服务节点层、汇聚服务节点层和核心服务节点层,其中, 所述接入服务节点层中的服务节点与接入网设备连接,汇聚服务节点层中的服务节点与汇聚网设备连接,核心服务节点层中的服务节点与核心网设备连接,所述接入服务节点层的优先级高于所述汇聚服务节点层的优先级,所述汇聚服务节点层的优先级高于所述核心服务节点层的优先级。
  43. 根据权利要求41所述的装置,其特征在于,所述处理单元,用于:
    将所述多个服务节点分为级别level1服务节点层和level2服务节点层,其中,所述level1服务节点层中的服务节点与中间系统到中间系统ISIS协议的level1区域内的网关连接,所述level2服务节点层中的服务节点与ISIS协议的level2区域内的网关连接,所述level1服务节点层的优先级高于所述level2服务节点层的优先级。
  44. 根据权利要求41所述的装置,其特征在于,所述处理单元,用于:
    将所述多个服务节点分为非骨干服务节点层和骨干服务节点层,其中,所述非骨干服务节点层中的服务节点与开放式最短路径优先OSPF协议的非骨干区域内的网关连接,所述骨干服务节点层中的服务节点与OSPF协议的骨干区域内的网关连接,所述非骨干服务节点层的优先级高于所述骨干服务节点层的优先级。
  45. 根据权利要求41所述的装置,其特征在于,所述处理单元,用于:
    根据所述多个服务节点到调度节点的时延将所述多个服务节点分成多个服务节点层,每个服务节点层对应一个时延阈值,所述时延阈值对应的时延为从对应的服务节点层到所述调度节点的时延,对应的时延阈值小的服务节点层的优先级高于对应的时延阈值大的服务节点层的优先级。
  46. 根据权利要求41所述的装置,其特征在于,所述处理单元,用于:
    将所述多个服务节点分为主用服务节点层和备用服务节点层,所述主用服务节点层的优先级高于所述备用服务节点层的优先级。
  47. 一种报文转发装置,其特征在于,包括:处理器和存储器;
    所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
    所述处理器,用于调用所述计算机程序,实现如权利要求1至15任一所述的报文转发方法,或者实现如权利要求16至20任一所述的报文转发方法,或者实现如权利要求21至26任一所述的报文转发方法。
  48. 一种报文转发系统,其特征在于,所述系统包括:第一设备和多个服务节点,所述第一设备包括如权利要求27至35任一所述的装置,所述服务节点包括如权利要求36至40任一所述的装置。
  49. 根据权利要求48所述的系统,其特征在于,所述系统还包括:控制设备,所述控制设备用于管理所述多个服务节点,所述控制设备包括如权利要求41至46任一所述的装置。
  50. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令被第一设备的处理器执行时,实现如权利要求1至15任一所述的报文转发方法;或者,当所述指令被服务节点的处理器执行时,实现如权利要求16至20任一所述的报文转发方法;或者,当所述指令被控制设备的处理器执行时,实现如权利要求21至26任一所述的报文转发方法。
PCT/CN2022/106519 2021-07-26 2022-07-19 报文转发方法、装置及系统、计算机可读存储介质 WO2023005745A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110846041.2A CN115695561A (zh) 2021-07-26 2021-07-26 报文转发方法、装置及系统、计算机可读存储介质
CN202110846041.2 2021-07-26

Publications (1)

Publication Number Publication Date
WO2023005745A1 true WO2023005745A1 (zh) 2023-02-02

Family

ID=85044631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/106519 WO2023005745A1 (zh) 2021-07-26 2022-07-19 报文转发方法、装置及系统、计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN115695561A (zh)
WO (1) WO2023005745A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005584A (zh) * 2014-09-30 2017-08-01 Nicira股份有限公司 内联服务交换机
US20200008044A1 (en) * 2019-09-12 2020-01-02 Intel Corporation Multi-access edge computing service for mobile user equipment method and apparatus
US20210028992A1 (en) * 2019-07-26 2021-01-28 Verizon Patent And Licensing Inc. Multi-access edge computing cloud discovery and communications
US20210126840A1 (en) * 2019-10-25 2021-04-29 Verizon Patent And Licensing Inc. Method and system for selection and orchestration of multi-access edge computing resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005584A (zh) * 2014-09-30 2017-08-01 Nicira股份有限公司 内联服务交换机
US20210028992A1 (en) * 2019-07-26 2021-01-28 Verizon Patent And Licensing Inc. Multi-access edge computing cloud discovery and communications
US20200008044A1 (en) * 2019-09-12 2020-01-02 Intel Corporation Multi-access edge computing service for mobile user equipment method and apparatus
CN112492541A (zh) * 2019-09-12 2021-03-12 英特尔公司 用于移动用户设备的多址边缘计算服务的方法和装置
US20210126840A1 (en) * 2019-10-25 2021-04-29 Verizon Patent And Licensing Inc. Method and system for selection and orchestration of multi-access edge computing resources

Also Published As

Publication number Publication date
CN115695561A (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
US9426068B2 (en) Balancing of forwarding and address resolution in overlay networks
Nelson et al. GSTAR: generalized storage-aware routing for mobilityfirst in the future mobile internet
WO2018077238A1 (zh) 一种基于交换机的负载均衡系统及方法
JP6364106B2 (ja) DiameterシグナリングルータにおいてDiameterメッセージをルーティングするための方法、システムおよびコンピュータ読取可能媒体
CN112165725A (zh) 报文处理的方法及设备
CN108234309B (zh) 一种网络数据的传输方法
US20070268821A1 (en) Rpr representation in ospf-te
WO2020253747A1 (zh) 会话管理方法、会话管理功能smf实体、终端及网络侧实体
WO2019119346A1 (zh) 一种通信路径确定方法及网络设备
US20230216775A1 (en) Packet forwarding method, forwarding indication information advertising method, advertisement packet advertising method, and device
EP1441479A2 (en) System and method for communications with reservation of network resources, and terminal therefore
Liu et al. CFN-dyncast: Load Balancing the Edges via the Network
Pirmagomedov et al. Augmented computing at the edge using named data networking
US20240048477A1 (en) Packet forwarding method, apparatus, and system, and computer-readable storage medium
US20230370947A1 (en) Systems, methods, and apparatuses for device routing management
WO2023005745A1 (zh) 报文转发方法、装置及系统、计算机可读存储介质
WO2021176458A1 (en) First node, proxy-agent, and methods performed thereby for handling communications between a publisher node and a subscriber node
CN112751766A (zh) 报文转发方法、装置及计算机存储介质
CN113595915A (zh) 转发报文的方法及相关设备
WO2023274087A1 (zh) 报文转发的方法、装置及系统
Vanini et al. A delay-aware num-driven framework with terminal-based mobility support for heterogeneous wireless multi-hop networks
WO2022247875A1 (zh) 建立连接的方法、装置和系统
WO2022242661A1 (zh) 通信处理方法及相关设备
WO2023169374A1 (zh) 一种路由方法及系统、节点
CN117615017A (zh) 算力请求方法、装置及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22848350

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE