Data forwarding method and apparatus based on application network technology
By dividing the physical network into virtual networks and optimizing routing paths, the problems of low network resource utilization and high complexity of virtual networks are solved, achieving efficient data forwarding and improved user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
- Filing Date
- 2025-05-16
- Publication Date
- 2026-05-07
AI Technical Summary
In existing technologies, building multiple physical networks results in low network resource utilization, fails to meet diverse service quality requirements of users, and virtual networks are highly complex and consume a lot of storage resources.
The physical network is divided into virtual networks with different quality of service requirements. Virtual networks that meet the quality of service requirements are constructed by accelerating nodes and controllers. Link state information is used to optimize routing paths and achieve efficient forwarding of data requests.
It improves network resource utilization, adapts to diverse user service quality requirements, reduces the complexity of virtual networks, reduces storage resource consumption, and enhances user experience.
Smart Images

Figure CN2025095339_07052026_PF_FP_ABST
Abstract
Description
Data forwarding method and apparatus based on applied network technology
[0001] This application claims priority to Chinese Patent Application No. 202411553927.8, filed on November 1, 2024, entitled "Data Forwarding Method and Apparatus Based on Application Network Technology", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This invention relates to the field of communication technology, and in particular to a data forwarding method and apparatus based on application network technology. Background Technology
[0003] Tenants have varying Quality of Service (QoS) requirements. For example, real-time audio and video services prioritize QoS, latency, and packet loss rate; while ordinary internet services prioritize cost. Currently, for differentiated service forwarding, multiple physical networks are provided, each offering a different QoS. As shown in Figure 1, three physical networks can be provided: Gold physical network (premium leased line service), Silver physical network (standard leased line service), and Copper physical network (Internet service). The Gold physical network provides premium leased line service to Gold tenants (those with high QoS requirements, such as low latency); the Silver physical network provides standard leased line service to Silver tenants (those with medium QoS requirements, such as high overall cost-effectiveness); and the Copper physical network provides Internet service to Copper tenants (those with lower QoS requirements, such as low cost). Tenants choose the appropriate differentiated network plane service based on their specific QoS needs.
[0004] However, building multiple physical networks may result in lower utilization of network resources. Summary of the Invention
[0005] This invention provides a data forwarding method and apparatus based on application network technology, which divides the physical network into virtual networks with different service quality requirements. This can make full use of the physical network resources, improve the utilization rate of network resources, and adapt to the diverse service quality requirements of users, thereby improving the user experience.
[0006] In a first aspect, embodiments of the present invention provide a data forwarding method based on application network technology. The method is applied to a first acceleration node, which is deployed in an application network that runs on a physical network. The first acceleration node is connected to a controller. The method includes:
[0007] Obtain the service attribute table sent by the controller. The service attribute table includes the tenant access identifier and the forwarding plane corresponding to the tenant access identifier. The tenant configuration service quality requirements corresponding to the tenant access identifier are determined based on the service quality requirements. The forwarding plane includes at least some acceleration nodes in the application network. Obtain the data request from the terminal. The data request includes the target tenant access identifier. Determine the target forwarding plane based on the target tenant access identifier and the service attribute table. Send the data request to the second acceleration node in the target forwarding plane.
[0008] This solution divides the physical network into virtual networks with different quality of service (QoS) requirements. This fully utilizes the physical network resources, improves network resource utilization, and can adapt to diverse user QoS requirements, thus enhancing user experience. Furthermore, by constructing virtual networks based on QoS requirements, the virtual networks are decoupled from the destination addresses. This eliminates the need to continuously expand the virtual networks based on changes in destination addresses, reducing virtual network complexity and minimizing storage resource consumption.
[0009] In one possible implementation, the target forwarding plane includes a target routing path, which is a path to the second acceleration node. Sending a data request to the second acceleration node in the target forwarding plane includes:
[0010] Based on the target routing path, forward the data request to the second acceleration node in the target forwarding plane.
[0011] In one possible implementation, the second acceleration node is used to forward the data request to the destination; sending the data request to the second acceleration node in the target forwarding plane includes:
[0012] Forward the target routing path and data request to the next acceleration node indicated by the target routing path.
[0013] In this solution, the first acceleration node determines the unique path for forwarding data requests. Subsequent acceleration nodes do not need to query the business attribute table; they can forward data requests based on the parsed unique path, thereby improving forwarding efficiency.
[0014] In one possible implementation, before retrieving the forwarding plane routing table sent by the controller, the method further includes:
[0015] The link status information is reported to the controller. The link status information is used to indicate the link status between the first acceleration node and neighboring acceleration nodes in the application network. The forwarding plane is determined based on at least the link status information.
[0016] In this solution, the controller constructs a virtual network that meets the quality of service requirements based on the link status between the first acceleration node and other acceleration nodes. This makes the constructed virtual network highly valuable for reference, meets the quality of service requirements, and ensures a good user experience.
[0017] For example, the link state information includes at least one of the following: latency, packet loss rate, and remaining bandwidth.
[0018] In one possible implementation, the tenant access identifier is used to indicate the authentication identifier used by the application network; alternatively, the tenant access identifier is used to indicate the IP address used by the application network. It should be noted that the authentication identifier and IP address are provided by the first acceleration node.
[0019] In one possible implementation, the service quality requirement is any one of the gold, silver, or bronze service quality requirements.
[0020] In one possible implementation, the service attribute table includes a configuration table and a routing table. The configuration table includes a tenant access identifier and the service quality requirements configured for the tenant corresponding to the tenant access identifier. The routing table includes the service quality requirements and the forwarding plane determined based on the service quality requirements.
[0021] In one possible implementation, the quality of service requirement is used to specify requirements for at least one of the following: latency, packet loss rate, and link cost.
[0022] Secondly, embodiments of the present invention provide a data forwarding method based on application network technology. The method is applied to a controller, the controller is connected to a first acceleration node, the first acceleration node is deployed in an application network, and the application network runs on a physical network. The method includes:
[0023] The process involves: obtaining service quality requirements; obtaining link status information reported by the first acceleration node; determining the forwarding plane corresponding to the service quality requirements based on the link status information, wherein the forwarding plane includes at least some acceleration nodes in the application network; determining a service attribute table, which indicates the tenant access identifier corresponding to the forwarding plane; configuring service quality requirements for the tenant corresponding to the tenant access identifier; and sending the service attribute table to the first acceleration node, which, upon receiving a data request from a terminal, uses the service attribute table to determine the target forwarding plane based on the target tenant access identifier in the data request and sends the data request to the second acceleration node in the target forwarding plane.
[0024] In this solution, the controller constructs a virtual network that meets service quality requirements through the physical network based on the link status between the first acceleration node and other acceleration nodes. This fully utilizes the network resources of the physical network, improving network resource utilization, and can adapt to diverse user service quality requirements, thus enhancing user experience. Furthermore, constructing the virtual network based on service quality requirements decouples the virtual network from the destination address, eliminating the need to continuously expand the virtual network based on changes in the destination address, reducing the complexity of the virtual network, and minimizing storage resource consumption.
[0025] In one possible implementation, determining the forwarding plane corresponding to the quality of service requirement based on link state information includes: obtaining link state information reported by acceleration nodes other than the first acceleration node in the application network; and determining the forwarding plane corresponding to the quality of service requirement based on the link state information reported by the first acceleration node and the link state information reported by the other acceleration nodes.
[0026] In this scheme, by considering the global context of the application network, a forwarding plane with high reference value can be determined.
[0027] In one possible implementation, the forwarding plane is the routing path between the source node and the destination node, where the source node is the first acceleration node and the destination node is any other acceleration node in the application network besides the first acceleration node.
[0028] In one possible implementation, the tenant access identifier is used to indicate the authentication identifier used by the application network; alternatively, the tenant access identifier is used to indicate the IP address used by the application network. It should be noted that the authentication identifier and IP address are provided by the first acceleration node.
[0029] In one possible implementation, the service quality requirement is any one of the gold, silver, or bronze service quality requirements.
[0030] In one possible implementation, the link state information includes at least one of the following: latency, packet loss rate, and remaining bandwidth.
[0031] In one possible implementation, the service attribute table includes a configuration table and a routing table. The configuration table includes a tenant access identifier and the service quality requirements configured for the tenant corresponding to the tenant access identifier. The routing table includes the service quality requirements and the forwarding plane determined based on the service quality requirements.
[0032] In one possible implementation, the quality of service requirement is used to specify requirements for at least one of the following: latency, packet loss rate, and link cost.
[0033] Thirdly, embodiments of the present invention provide a data forwarding method based on application network technology. The method is applied to a communication system, which includes a controller and a first acceleration node. The first acceleration node is deployed in an application network, which operates on a physical network. The method includes:
[0034] The controller obtains the quality of service requirements; obtains the link status information reported by the first acceleration node, and determines the forwarding plane corresponding to the quality of service requirements based on the link status information. The forwarding plane includes at least some of the acceleration nodes in the application network.
[0035] The controller determines the service attribute table, which includes the tenant access identifier corresponding to the forwarding plane; the service quality requirements configured for the tenant corresponding to the tenant access identifier; and sends the service attribute table to the first acceleration node.
[0036] The first acceleration node receives a data request from the terminal, and the data request includes the target tenant identifier;
[0037] The first acceleration node determines the target forwarding plane based on the target tenant identifier and the service attribute table; and sends a data request to the second acceleration node in the target forwarding plane.
[0038] In this solution, the controller constructs a virtual network that meets service quality requirements through the physical network based on the link status between the first acceleration node and other acceleration nodes. This fully utilizes the network resources of the physical network, improving network resource utilization, and can adapt to diverse user service quality requirements, thus enhancing user experience. Furthermore, constructing the virtual network based on service quality requirements decouples the virtual network from the destination address, eliminating the need to continuously expand the virtual network based on changes in the destination address, reducing the complexity of the virtual network, and minimizing storage resource consumption.
[0039] In one possible implementation, the controller determines the forwarding plane corresponding to the quality of service requirement based on link state information, including: the controller obtaining link state information reported by acceleration nodes other than the first acceleration node in the application network; and determining the forwarding plane corresponding to the quality of service requirement based on the link state information reported by the first acceleration node and the link state information reported by the other acceleration nodes.
[0040] In this scheme, by considering the global context of the application network, a forwarding plane with high reference value can be determined.
[0041] In one possible implementation, the forwarding plane is the routing path between the source node and the destination node, where the source node is the first acceleration node and the destination node is any other acceleration node in the application network besides the first acceleration node.
[0042] In one possible implementation, the target forwarding plane includes a target routing path, which is a path to the second acceleration node. The first acceleration node sends a data request to the second acceleration node in the target forwarding plane, including:
[0043] The first acceleration node forwards the data request to the second acceleration node in the target forwarding plane according to the target routing path.
[0044] In one possible implementation, the second acceleration node is used to forward the data request to the destination; the first acceleration node sends the data request to the second acceleration node in the target forwarding plane, including:
[0045] The first acceleration node forwards the target routing path and data request to the next acceleration node indicated by the target routing path.
[0046] In this solution, the first acceleration node determines the unique path for forwarding data requests. Subsequent acceleration nodes do not need to query the business attribute table; they can forward data requests based on the parsed unique path, thereby improving forwarding efficiency.
[0047] In one possible implementation, the link state information includes at least one of the following: latency, packet loss rate, and remaining bandwidth.
[0048] In one possible implementation, the tenant access identifier is used to indicate the authentication identifier used by the application network; alternatively, the tenant access identifier is used to indicate the IP address used by the application network. It should be noted that the authentication identifier and IP address are provided by the first acceleration node.
[0049] In one possible implementation, the service quality requirement is any one of the gold, silver, or bronze service quality requirements.
[0050] In one possible implementation, the service attribute table includes a configuration table and a routing table. The configuration table includes a tenant access identifier and the service quality requirements configured for the tenant corresponding to the tenant access identifier. The routing table includes the service quality requirements and the forwarding plane determined based on the service quality requirements.
[0051] In one possible implementation, the quality of service requirement is used to specify requirements for at least one of the following: latency, packet loss rate, and link cost.
[0052] Fourthly, embodiments of the present invention provide a data forwarding device based on application network technology. This device includes several modules, each module executing a step in the data forwarding method based on application network technology provided in the first aspect of the present invention. The division of modules is not limited here. For the specific functions performed by each module of this data forwarding device and the beneficial effects achieved, please refer to the functions of each step in the data forwarding method based on application network technology provided in the first aspect of the present invention; further details will not be repeated here.
[0053] For example, a data forwarding device based on application network technology is applied to a first acceleration node, which is deployed in an application network that runs on a physical network. The first acceleration node is connected to a controller, and the device includes:
[0054] The table acquisition module is used to acquire the service attribute table sent by the controller. The service attribute table includes the tenant access identifier and the forwarding plane corresponding to the tenant access identifier. The tenant access identifier is configured with service quality requirements. The forwarding plane is determined based on the service quality requirements. The forwarding plane includes at least some of the acceleration nodes in the application network.
[0055] The request acquisition module is used to acquire data requests from the terminal. The data requests include the target tenant access identifier.
[0056] The plane determination module is used to determine the target forwarding plane based on the target tenant access identifier and the service attribute table;
[0057] The forwarding module is used to send data requests to the second acceleration node in the target forwarding plane.
[0058] In one possible implementation, the target forwarding plane includes a target routing path, which is a path to the second acceleration node. The forwarding module is used to forward data requests to the second acceleration node in the target forwarding plane according to the target routing path.
[0059] In one possible implementation, the second acceleration node is used to forward the data request to the destination; the forwarding module is used to forward the target routing path and the data request to the next acceleration node indicated by the target routing path.
[0060] In one possible implementation, the table acquisition module is also used to report link state information to the controller. The link state information is used to indicate the link state between the first acceleration node and neighboring acceleration nodes in the application network. The forwarding plane is determined at least based on the link state information.
[0061] For example, the link state information includes at least one of the following: latency, packet loss rate, and remaining bandwidth.
[0062] In one possible implementation, the tenant access identifier is used to indicate the authentication identifier used by the application network; alternatively, the tenant access identifier is used to indicate the IP address used by the application network. It should be noted that the authentication identifier and IP address are provided by the first acceleration node.
[0063] In one possible implementation, the service quality requirement is any one of the gold, silver, or bronze service quality requirements.
[0064] In one possible implementation, the service attribute table includes a configuration table and a routing table. The configuration table includes a tenant access identifier and the service quality requirements configured for the tenant corresponding to the tenant access identifier. The routing table includes the service quality requirements and the forwarding plane determined based on the service quality requirements.
[0065] In one possible implementation, the quality of service requirement is used to specify requirements for at least one of the following: latency, packet loss rate, and link cost.
[0066] Fifthly, embodiments of the present invention provide a data forwarding device based on application network technology. This data forwarding device includes several modules, each module executing a step in the data forwarding method based on application network technology provided in the first aspect of the present invention. The division of modules is not limited here. For the specific functions performed by each module of this data forwarding device and the beneficial effects achieved, please refer to the functions of each step in the data forwarding method based on application network technology provided in the first aspect of the present invention; further details will not be repeated here.
[0067] For example, a data forwarding device based on application network technology is applied to a controller, the controller is connected to a first acceleration node, the first acceleration node is deployed in an application network, and the application network runs on a physical network. The device includes:
[0068] The configuration module is used to obtain service quality requirements;
[0069] The status acquisition module is used to acquire the link status information reported by the first acceleration node;
[0070] The plane determination module is used to determine the forwarding plane corresponding to the quality of service requirements based on link state information. The forwarding plane includes at least some of the acceleration nodes in the application network.
[0071] The table determination module is used to determine the service attribute table, which indicates the tenant access identifier corresponding to the forwarding plane; the tenant access identifier corresponds to the tenant configuration service quality requirements.
[0072] The delivery module is used to send the service attribute table to the first acceleration node. The service attribute table is used by the first acceleration node to obtain the target forwarding plane based on the target tenant access identifier in the data request when it receives a data request from the terminal, and then send the data request to the second acceleration node in the target forwarding plane.
[0073] In one possible implementation, the plane determination module is used to obtain link state information reported by acceleration nodes other than the first acceleration node in the application network; and to determine the forwarding plane corresponding to the quality of service requirements based on the link state information reported by the first acceleration node and the link state information reported by the other acceleration nodes.
[0074] In one possible implementation, the forwarding plane is the routing path between the source node and the destination node, where the source node is the first acceleration node and the destination node is any other acceleration node in the application network besides the first acceleration node.
[0075] In one possible implementation, the link state information includes at least one of the following: latency, packet loss rate, and remaining bandwidth.
[0076] In one possible implementation, the tenant access identifier is used to indicate the authentication identifier used by the application network; alternatively, the tenant access identifier is used to indicate the IP address used by the application network. It should be noted that the authentication identifier and IP address are provided by the first acceleration node.
[0077] In one possible implementation, the service quality requirement is any one of the gold, silver, or bronze service quality requirements.
[0078] In one possible implementation, the service attribute table includes a configuration table and a routing table. The configuration table includes a tenant access identifier and the service quality requirements configured for the tenant corresponding to the tenant access identifier. The routing table includes the service quality requirements and the forwarding plane determined based on the service quality requirements.
[0079] In one possible implementation, the quality of service requirement is used to specify requirements for at least one of the following: latency, packet loss rate, and link cost.
[0080] Sixthly, embodiments of the present invention provide a communication system, which includes a controller and a first acceleration node. The first acceleration node is used to execute the various steps of the data forwarding method based on application network technology provided in the first aspect of the present invention, and the controller is used to execute the various steps of the data forwarding method based on application network technology provided in the second aspect of the present invention. For the specific functions performed by the controller and the first acceleration node in this communication system and the beneficial effects achieved, please refer to the functions of the various steps of the data forwarding method based on application network technology provided in the first and second aspects of the present invention, and will not be repeated here.
[0081] For example, the communication system includes a controller and a first acceleration node, the first acceleration node being deployed in an application network that runs on a physical network;
[0082] The controller is used to obtain service quality requirements;
[0083] The controller is used to obtain the link status information reported by the first acceleration node, and based on the link status information, determine the forwarding plane corresponding to the quality of service requirements. The forwarding plane includes at least some of the acceleration nodes in the application network.
[0084] The controller is used to determine the service attribute table, which includes the tenant access identifier corresponding to the forwarding plane and the service quality requirements configured for the tenant corresponding to the tenant access identifier.
[0085] The controller is used to send the business attribute table to the first acceleration node;
[0086] The first acceleration node is used to obtain data requests from the terminal. The data request includes the target tenant identifier. Based on the target tenant identifier and the service attribute table, the target forwarding plane is determined. The data request is then sent to the second acceleration node in the target forwarding plane.
[0087] In one possible implementation, the controller is used to obtain link state information reported by other acceleration nodes in the application network besides the first acceleration node; and to determine the forwarding plane corresponding to the quality of service requirements based on the link state information reported by the first acceleration node and the link state information reported by other acceleration nodes.
[0088] In one possible implementation, the forwarding plane is the routing path between the source node and the destination node, where the source node is the first acceleration node and the destination node is any other acceleration node in the application network besides the first acceleration node.
[0089] In one possible implementation, the target forwarding plane includes a target routing path, which is a path to the second acceleration node. The first acceleration node is used to forward data requests to the second acceleration node in the target forwarding plane according to the target routing path.
[0090] In one possible implementation, the second acceleration node is used to forward the data request to the destination; the first acceleration node is used to forward the target routing path and the data request to the next acceleration node indicated by the target routing path.
[0091] In one possible implementation, the link state information includes at least one of the following: latency, packet loss rate, and remaining bandwidth.
[0092] In one possible implementation, the tenant access identifier is used to indicate the authentication identifier used by the application network; alternatively, the tenant access identifier is used to indicate the IP address used by the application network. It should be noted that the authentication identifier and IP address are provided by the first acceleration node.
[0093] In one possible implementation, the service quality requirement is any one of the gold, silver, or bronze service quality requirements.
[0094] In one possible implementation, the service attribute table includes a configuration table and a routing table. The configuration table includes a tenant access identifier and the service quality requirements configured for the tenant corresponding to the tenant access identifier. The routing table includes the service quality requirements and the forwarding plane determined based on the service quality requirements.
[0095] In one possible implementation, the quality of service requirement is used to specify requirements for at least one of the following: latency, packet loss rate, and link cost.
[0096] In a seventh aspect, embodiments of the present invention provide a data forwarding apparatus based on application network technology, comprising: at least one memory for storing a program; and at least one processor for executing the program stored in the memory, wherein when the program stored in the memory is executed, the processor is configured to execute the method provided in the first aspect, the second aspect, or the third aspect.
[0097] Eighthly, embodiments of the present invention provide a data forwarding apparatus based on applied network technology, wherein the apparatus executes computer program instructions to perform the methods provided in the first, second, or third aspects. Exemplarily, the apparatus may be a chip or a processor.
[0098] In one example, the device may include a processor that can be coupled to memory, read instructions from the memory, and execute the methods provided in the first, second, or third aspect according to those instructions. The memory may be integrated into the chip or processor, or it may be independent of the chip or processor.
[0099] In a ninth aspect, embodiments of the present invention provide a computing device cluster, including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the computing device cluster to perform the methods provided in the first aspect, the second aspect, or the third aspect.
[0100] In a tenth aspect, embodiments of the present invention provide a computer storage medium storing instructions that, when executed on a computer, cause the computer to perform the methods provided in the first, second, or third aspects.
[0101] Eleventhly, embodiments of the present invention provide a computer program product containing instructions that, when executed on a computer, cause the computer to perform the methods provided in the first, second, or third aspects. Attached Figure Description
[0102] Figure 1 is a schematic diagram showing the correspondence between the service quality requirements provided by the relevant technologies and the physical network;
[0103] Figure 2 is a schematic diagram of the correspondence between service quality requirements and physical networks provided in an embodiment of the present invention;
[0104] Figure 3 is a schematic diagram of the architecture of the service system provided in an embodiment of the present invention;
[0105] Figure 4a is a schematic diagram of the physical network running the application network provided in the embodiment of the present invention;
[0106] Figure 4b is a schematic diagram of a physical node operation acceleration node provided in an embodiment of the present invention;
[0107] Figure 4c is a schematic diagram of another physical node running acceleration node provided in an embodiment of the present invention;
[0108] Figure 4d is a schematic diagram of another physical node running acceleration node provided in an embodiment of the present invention;
[0109] Figure 4e is a schematic diagram of the connection relationship between physical nodes and server clusters provided in an embodiment of the present invention;
[0110] Figure 5a is a schematic diagram of a data forwarding scheme based on application network technology provided in an embodiment of the present invention;
[0111] Figure 5b is a flowchart illustrating a data forwarding method based on application network technology provided in an embodiment of the present invention;
[0112] Figure 5c is a flowchart illustrating another data forwarding method based on application network technology provided in an embodiment of the present invention;
[0113] Figure 6 is a schematic diagram of the central controller 340 determining the forwarding plane according to an embodiment of the present invention;
[0114] Figure 7a is a schematic diagram of the routing table provided in an embodiment of the present invention;
[0115] Figure 7b is a schematic diagram of the storage method for the correspondence between tenant access identifiers and service quality requirements provided in an embodiment of the present invention;
[0116] Figure 7c is a schematic diagram of the business attribute table provided in an embodiment of the present invention;
[0117] Figure 8a is a schematic diagram of the storage method for the correspondence between EIP and egress acceleration nodes provided in an embodiment of the present invention;
[0118] Figure 8b is a schematic diagram of the storage method for the correspondence between AIP and egress acceleration nodes provided in an embodiment of the present invention;
[0119] Figure 9 is a schematic diagram of the stored content in the first acceleration node 332 provided in an embodiment of the present invention;
[0120] Figure 10a is a schematic diagram of the content stored in the first acceleration node 332 when the tenant access identifier is APPIID according to an embodiment of the present invention;
[0121] Figure 10b is a schematic diagram of the contents stored in the first acceleration node 332 when the tenant access identifier is AIP, according to an embodiment of the present invention;
[0122] Figure 11a is a schematic diagram of determining the target routing path when the tenant access identifier is APPIID, according to an embodiment of the present invention;
[0123] Figure 11b is a schematic diagram of determining the target routing path when the tenant access identifier is AIP, according to an embodiment of the present invention;
[0124] Figure 12 is a schematic diagram of forwarding data requests according to the target routing path provided in an embodiment of the present invention;
[0125] Figure 13 is a schematic diagram of a data forwarding device based on application network technology provided in an embodiment of the present invention;
[0126] Figure 14 is a schematic diagram of another data forwarding device based on application network technology provided in an embodiment of the present invention;
[0127] Figure 15 is a schematic diagram of the structure of the computing device provided in an embodiment of the present invention;
[0128] Figure 16 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present invention;
[0129] Figure 17 is a schematic diagram of computing devices in a computer cluster connected via a network according to an embodiment of the present invention; Detailed Implementation
[0130] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be described below with reference to the accompanying drawings.
[0131] In the description of the embodiments of the present invention, the words "exemplary," "for example," or "for instance" are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design that is described as "exemplary," "for example," or "for instance" in the embodiments of the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Rather, the use of the words "exemplary," "for example," or "for instance" is intended to present the relevant concepts in a specific manner.
[0132] In the description of the embodiments of this invention, the term "and / or" is merely a description of the association relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, B existing alone, and A and B existing simultaneously. Furthermore, unless otherwise stated, the term "multiple" means two or more. For example, multiple systems refer to two or more systems, and multiple terminals refer to two or more terminals.
[0133] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and their variations all mean "including but not limited to," unless otherwise specifically emphasized.
[0134] The following explanations cover some of the terms used in this embodiment. It should be noted that these explanations are for the convenience of those skilled in the art and are not intended to limit the scope of protection claimed by this invention.
[0135] Internet Protocol (IP) is a network layer protocol in the TCP / IP architecture. The purpose of IP is to improve network scalability: firstly, to solve internet problems and achieve interconnection of large-scale, heterogeneous networks; and secondly, to separate the coupling between top-level network applications and underlying network technologies, facilitating their independent development. Based on end-to-end design principles, IP provides only one connectionless, unreliable, best-effort packet transmission service to hosts.
[0136] Access IP (AIP): The IP address used to access the network.
[0137] Application Identification (APPID): Used to uniquely identify an application or software.
[0138] Application Code (APPCode): Used to ensure the security and uniqueness of an application. Besides ensuring the uniqueness of an application within a platform or service, APPCode can also be used to provide additional security verification and access control. The APPID and APPCode identifiers work together to ensure the security and legitimacy of an application.
[0139] A routing table, also known as a Routing Information Base (RIB), is a spreadsheet (file) or database stored in a router or networked computer. It stores paths to specific network addresses (and in some cases, routing metrics). The routing table contains topology information about the surrounding network. The primary goal of establishing a routing table is to implement routing protocols and static route selection.
[0140] Application Delivery Network (ADN): Utilizing appropriate network optimization / acceleration equipment, it ensures that users' business applications can be delivered quickly, securely, and reliably to internal employees and external service groups. As the definition suggests, the purpose of application delivery is to guarantee the reliability, availability, and security of critical business operations. Application delivery should be a convergence of various technologies; for example, WAN acceleration, load balancing, and Web application firewalls have different product supports and focuses for different application needs.
[0141] Quality of Service (QoS) refers to a network's ability to provide better service for specified network communications by utilizing various underlying technologies. It is a network security mechanism and a technology used to solve problems such as network latency and congestion.
[0142] A Service Level Agreement (SLA) is a mutually agreed-upon agreement or contract between a service provider and its customer regarding the quality, standard, and performance of the service.
[0143] The Central Controller is responsible for managing acceleration nodes, collecting latency / packet loss rate and QoS measurement data, and performing multi-factor overlay path optimization calculations and routing table entries based on QoS, cost, and bandwidth. As the central brain, it is responsible for network service scheduling of acceleration nodes.
[0144] Accelerate Node: Responsible for QoS measurement, identifying tenant traffic, and mapping the corresponding gold, silver, and bronze routing planes for overlay tunnel backbone forwarding.
[0145] Software Development Kit (SDK) tunneling refers to a network communication technology that uses an SDK to implement an encrypted tunnel. This tunnel is used to take over communication between the client and server and fully encrypt the traffic. This technology establishes an encrypted tunnel with the SDK and a protection node, implementing a one-chain-one-key approach, and encrypting and verifying each TCP connection to enhance data transmission security and resistance to attacks.
[0146] Origin site: refers to a website or server that provides specific information, services, or resources that can be referenced, linked, or used by other websites or users.
[0147] A physical network (underlay network) is composed of physical devices and physical links. Common physical devices include switches, routers, and firewalls, which are connected by specific links to form a traditional physical network.
[0148] Application networks: These are overlay networks, essentially computer networks built on top of underlay networks. Nodes (i.e., logical nodes) in an overlay network can be considered as being connected by virtual or logical links, where each link corresponds to a path.
[0149] To address the technical problems raised in the background section, this invention provides a data forwarding method based on application network technology.
[0150] As shown in Figure 2, this method routes M (positive integers greater than or equal to 2) QoS requirements through a single physical network, generating M virtual networks (also called forwarding planes). These M virtual networks are used to implement differentiated QoS, which can fully utilize the network resources of the physical network, improve network resource utilization, and adapt to diverse user QoS requirements, thereby enhancing user experience. It should be noted that this is only a brief description of the method; detailed information about the method is described below.
[0151] The following describes the service systems that may be applied to the data forwarding method based on application network technology provided in this embodiment of the invention. Figure 3 shows an example architecture diagram of a service system provided in this embodiment of the invention. The data forwarding method based on application network technology provided in this embodiment of the invention can be applied to the system architecture diagram shown in Figure 3. As shown in Figure 3, the service system includes a terminal 310, a server cluster 320, and a physical network 330.
[0152] In this embodiment, terminal 310, also known as user equipment (UE), is a device that provides data connectivity to a user. For example, it can be, but is not limited to, various personal computers, laptops, smartphones, tablets, mobile internet devices (MIDs), and wearable devices such as smartwatches, smart bracelets, and pedometers. Exemplary embodiments of terminal 310 involved in this solution include, but are not limited to, devices running iOS, Android, Windows, Harmony OS, or other operating systems. This invention does not specifically limit the type of terminal 310.
[0153] The system can have multiple server clusters 320, each providing various services to users. There can be one or more server clusters 320, and the services provided by different server clusters 320 can be the same or different, depending on the specific requirements. A server cluster 320 can be implemented using a standalone server or a cluster of multiple servers. In some possible implementations, the servers involved in this solution can be used to provide cloud services. These servers can be servers capable of establishing communication connections with other devices and providing computing and / or storage functions to those devices, or they can be hyperterminals. The servers involved in this solution can be hardware servers or embedded in a virtualization environment. For example, the servers involved in this solution can be virtual machines running on a hardware server that includes one or more other virtual machines. Server cluster 320 can function as a cloud platform (a software platform using application virtualization technology, integrating multiple functions such as software search, download, use, management, and backup). In practical use, computing device cluster 320 can be configured as data center 321, and also as cloud management platform 322. Data center 321 can deploy nodes, which can be virtual machine instances, container instances, physical servers, etc. The number of nodes in data center 321 is typically massive. Cloud management platform 322 can be deployed independently on servers or virtual machines in data center 321, or distributed across multiple servers or virtual machines in data center 321. It can also be partially deployed independently or distributedly in devices in an edge environment (also called edge devices), while another part can be deployed independently or distributedly in data center 321. An edge environment is an environment geographically close to the user's terminal computing device, including edge devices such as edge servers and edge stations with computing capabilities.
[0154] In this system, terminal 310 communicates with server cluster 320 via physical network 330. Physical network 330 can be an interconnection network. Physical network 330 can include multiple physical nodes 331, which are interconnected via physical links, such as network cables. Each physical node 331 is a physical device. For example, as shown in FIG4a, physical network 330 can run application network, such as an AND network, which includes N (greater than or equal to 2) acceleration nodes 332. For each acceleration node 332 in the application network, as shown in FIG4b, acceleration node 332 can run on one physical node 331. As shown in FIG4c, acceleration node 332 can also run on multiple physical nodes 331, with multiple physical nodes 331 carrying the functions implemented by acceleration node 332. Correspondingly, as shown in FIG4b, one physical node 331 can run one acceleration node 332. As shown in FIG4d, one physical node 331 can also run multiple acceleration nodes 333. In this embodiment of the invention, the acceleration node 332 can be a virtual node such as a container or a virtual machine. In a scenario where one acceleration node 332 is deployed on one physical node 331, the acceleration node 332 can also be a physical node 331. In practical applications, the cloud management platform 322 can apply for computing resources on the application network and run the acceleration node 332. The computing resources can be virtual nodes such as containers or virtual machines, or physical nodes 331.
[0155] It should be noted that the physical network 330 is the lower layer, and the application network is the upper layer; the upper layer does not need to concern itself with the lower layer. Therefore, in the upper-layer application network, a direct connection between any two acceleration nodes 332, i.e., at the application layer level, has only one hop. However, when mapped to the lower-layer physical network 330, it may involve multiple physical devices, which is actually a multi-hop route. But when developing applications based on the application network, it is not necessary to consider the connection status of each physical node 331 in the lower-layer physical network 330; only the interconnection relationship between the acceleration nodes 332 in the deployed application network needs to be considered. The acceleration nodes 332 in the application network achieve data forwarding in the application network by encapsulating the source IP and destination IP mapped to the physical nodes 331 in the physical network 330. In this embodiment of the invention, each physical node 331 in at least some of the physical nodes 331 in the physical network 330 can connect to several server clusters 320. For example, the server clusters 320 can be in the cloud. The acceleration node 332 deployed on the physical node 331 connecting to the server cluster 320 can serve as the egress acceleration node of the application network. The server cluster 320 connected to the egress acceleration node can be one or more. For example, as shown in Figure 4e, acceleration node 2 connects to one server cluster 320, and acceleration node 4 connects to two server clusters.
[0156] In addition, the physical network 330 is connected to a central controller 340, which is used to manage the acceleration nodes 332 in the application network running on the physical network 330.
[0157] Figure 5a illustrates a scenario diagram of the data forwarding scheme based on application network technology provided by an embodiment of the present invention, and Figure 5b is a flowchart of Figure 5a; as shown in Figures 5a and 5b, the data forwarding method based on application network technology provided by an embodiment of the present invention may include the following steps:
[0158] Step 1: The central controller 340 obtains the service quality requirements.
[0159] Step 2: The first acceleration node 332A (any acceleration node 332 in the application network) reports link status information;
[0160] Step 3: The central controller 340 obtains the link status information reported by the first acceleration node 332, and determines the forwarding plane corresponding to the quality of service requirements based on the link status information. The forwarding plane includes at least some of the acceleration nodes 332 in the application network.
[0161] Step 4: The central controller 340 determines the service attribute table, which includes the tenant access identifier and the forwarding plane corresponding to the tenant access identifier; the tenant configuration service quality requirements corresponding to the tenant access identifier.
[0162] Step 5: The central controller 340 sends the service attribute table to the first acceleration node 332A.
[0163] Step 6: Terminal 310 sends a data request to the first acceleration node 332A. The data request includes the target tenant identifier.
[0164] Step 7: The first acceleration node 332A receives a data request from the terminal 310.
[0165] Step 8: The first acceleration node 332A determines the target forwarding plane based on the target tenant identifier and service attribute table in the data request.
[0166] Step 9: The first acceleration node 332A sends a data request to the second acceleration node 332B in the target forwarding plane.
[0167] The above solution divides the physical network into virtual networks with different quality of service requirements, which can make full use of the physical network resources, improve the utilization rate of network resources, and adapt to the diverse quality of service requirements of users, thereby improving the user experience.
[0168] This is merely an overview of the method; for a detailed description of the method, please refer to Figure 5c.
[0169] Next, in conjunction with the service system provided above, a data forwarding method based on application network technology provided by the embodiments of the present invention will be described in detail.
[0170] Figure 5c is a flowchart illustrating the data forwarding method based on application network technology provided in an embodiment of the present invention. This embodiment can be applied to the central controller 340 and the first acceleration node 332A in the physical network 330, where the first acceleration node 332A is any acceleration node 332 in the application network. As shown in Figure 5c, the data forwarding method based on application network technology provided in this embodiment of the present invention includes at least the following steps:
[0171] Step 501: The central controller 340 obtains M service quality requirements.
[0172] In practical implementation, the central controller 340 can obtain M pre-configured Quality of Service (QoS) requirements. These M QoS requirements reflect the diverse service needs provided to users. Each QoS requirement is an SLA (Service Level Agreement). The QoS requirements specify the requirements for latency, packet loss rate, and / or link cost. Link cost specifies the construction cost and bandwidth of the physical link traversed when any two acceleration nodes 332 communicate in the application network; for example, it can be the ratio of construction cost to bandwidth. For latency, the requirement can be latency priority or latency greater than a preset threshold, such as 120 milliseconds. For packet loss rate, the requirement can be packet loss rate priority or packet loss rate greater than a preset threshold, such as 1%. For link cost, the requirement can be no more than 10 yuan / M (megabytes of data). For example, the M QoS requirements may include, but are not limited to: latency priority, packet loss rate priority, latency priority but packet loss rate not exceeding 1%, latency priority but link cost not exceeding 10 yuan / M, packet loss rate priority but latency not exceeding 120 milliseconds, and packet loss rate priority but link cost not exceeding 10 yuan / M. Furthermore, service quality requirements can be defined as Gold, Silver, and Bronze based on their level. Gold service quality requirements emphasize low latency, Silver service quality requirements balance latency and cost, and Bronze service quality requirements prioritize low cost. It should be noted that these requirements can be defined according to specific circumstances. For example, Gold service quality requirements could prioritize latency but allow a packet loss rate of no more than 1%, or prioritize packet loss rate but allow latency of no more than 120 milliseconds; Silver service quality requirements could prioritize latency but allow link costs of no more than 10 yuan / M, or prioritize packet loss rate but allow costs of no more than 10 yuan / M; and Bronze service quality requirements could allow link costs of no more than 5 yuan / M. These Gold, Silver, and Bronze service quality requirements are merely examples and do not constitute specific limitations. In practical applications, various service quality requirements can be set according to actual needs to meet diverse user service quality requirements.
[0173] In some possible implementations, the service provider, such as a cloud vendor, can access the central controller 340 to configure M quality of service requirements. In other possible implementations, the tenant can access the central controller 340 to configure the quality of service requirements.
[0174] Step 502: The first acceleration node 332A sends link status information to the central controller 340. The link status information includes the link status of the communication channel with each neighboring acceleration node 332.
[0175] In practical applications, the central controller 340 receives link status information sent by each acceleration node 332 in the application network. The process of each acceleration node 332 collecting link status information is the same. This embodiment of the invention takes the first acceleration node 332A as an example for explanation.
[0176] The central controller 340 receives link status information sent by the first acceleration node 332A. This link status information includes the link status between the first acceleration node 332A and each neighboring acceleration node 332. The neighboring acceleration nodes 332 of the first acceleration node 332A refer to the acceleration nodes 332 connected to the first acceleration node 332A. Taking a fully interconnected network of all acceleration nodes 332 as an example, the neighboring acceleration nodes 332 of the first acceleration node 332A refer to all other acceleration nodes 332 besides the first acceleration node 332A. Link status can be understood as the status of the connection between the first acceleration node 332A and its neighboring acceleration nodes 332. For example, link status includes at least one of the following: latency, packet loss rate, remaining bandwidth, and link cost. Link cost can be understood as the cost of physical network cabling. It should be noted that link status is used to evaluate the communication quality of the link.
[0177] In this embodiment of the invention, the first acceleration node 332A can implement link state measurement functionality. The first acceleration node 332A includes a local controller and at least one forwarding node (or compass). The local controller controls the compass to perform link state measurement (or "QoS measurement") between the acceleration nodes 332. For example, when the first acceleration node 332A performs QoS measurement on the link between each neighboring acceleration node 332, it continuously sends q probe packets (q being an integer greater than or equal to 2) to its neighboring acceleration node 332. The first acceleration node calculates transmission delay, jitter, and packet loss rate based on the responses to these q probe packets. Optionally, the first acceleration node 332A performs a weighted average of the transmission delay, jitter, and packet loss rate, using the weighted average value to describe the link state between the first acceleration node 332A and the neighboring acceleration node 332. The compass primarily undertakes data plane traffic forwarding functionality. The compass can be a forwarding module that implements forwarding functionality through software.
[0178] For example, the central controller 340 sends a measurement task to the local controller in the first acceleration node 332A. All acceleration nodes 332 in the application network are fully interconnected. The first acceleration node 332A performs QoS measurements on the links between its neighboring acceleration nodes 332. The first acceleration node 332A collects link state information, which includes the link state (described by QoS values) from the first acceleration node 332A to each neighboring acceleration node 332 and the link identifier corresponding to that link state (e.g., acceleration node 332A → acceleration node 332B). Optionally, the compass in the first acceleration node 332A periodically (e.g., every second) performs QoS measurements, collects link state information (represented by QoS values), and stores the collected link state information in the local controller. The local controller periodically (e.g., every minute) reports the link state information to the central controller 340.
[0179] Step 503: The central controller 340 determines the forwarding plane corresponding to each of the M quality of service requirements based at least on the link status information reported by the first acceleration node. The forwarding plane includes at least some of the acceleration nodes 332 in the application network.
[0180] In practical applications, the central controller 340 can obtain the link status information reported by each acceleration node in the application network. Based on the link status information reported by each acceleration node 332 in the application network and the differences between the M quality of service requirements, the central controller 340 can determine the forwarding plane (i.e., virtual network) corresponding to each of the M quality of service requirements for each acceleration node 332. The process of determining the forwarding plane corresponding to each of the M quality of service requirements for each acceleration node 332 is the same. In this embodiment of the invention, the first acceleration node 332A is used as an example for illustration.
[0181] In practical implementation, the central controller 340, based on the link status information reported by each acceleration node in the application network, takes the first acceleration node 332A as the starting point to virtualize the application network, and obtains the forwarding plane corresponding to each of the M service quality requirements. The service quality requirements corresponding to different forwarding planes are different, thereby meeting the diverse service needs of users. It should be noted that the forwarding plane is used to describe the connection relationship between the first acceleration node 332A and other acceleration nodes 332. The connection relationship between the first acceleration node 332A and other acceleration nodes 332 in the M forwarding planes is different.
[0182] In this embodiment of the invention, all acceleration nodes 332 in the application network are fully interconnected. For the first acceleration node 332A, the central controller 340, based on the link state information reported by each acceleration node in the application network, determines the forwarding plane corresponding to each of the M quality of service (QoS) requirements between the first acceleration node 332A and each other acceleration node 332 in the application network. The forwarding plane corresponding to each QoS requirement describes the routing path between the first acceleration node 332A and each other acceleration node 332 in the application network under the corresponding QoS requirement. For example, as shown in FIG6, the central controller 340, based on the link state information reported by each acceleration node in the application network, with the first acceleration node 332A as the source node and each other acceleration node 332 in the application network as the destination node, determines the routing path corresponding to each of the M QoS requirements, thereby determining the forwarding plane corresponding to each of the M QoS requirements.
[0183] For example, assuming the quality of service requirement is a latency of less than 120 milliseconds, the central controller 340, for the first acceleration node 332A, needs to determine the routing path between the first acceleration node 332A and the target acceleration node 332 (any other acceleration node 332 in the application network). Considering that the latency of the direct connection link between the first acceleration node 332A and the target acceleration node 332 in the application network is less than 120 milliseconds, the routing path is determined to be a direct route from the first acceleration node 332A to the target acceleration node 332. Otherwise, other acceleration nodes 332 are searched so that the latency of the links formed from the first acceleration node 332A to other acceleration nodes 332 (there can be multiple) and from other acceleration nodes 332 to the target acceleration node 332 is less than 120 milliseconds. It should be noted that this example is only one possible case for determining the link between any two acceleration nodes 332 based on the quality of service requirement. In practical applications, a scheme for determining the link between any two acceleration nodes 332 based on the quality of service requirement can be flexibly designed according to the actual situation.
[0184] For example, for the first acceleration node 332A in the application network, the forwarding plane corresponding to each of the M quality of service requirements can be carried by a routing table. For example, as shown in Figure 7a, the entries in the routing table are quality of service requirements, source node, destination node, and routing path. The quality of service requirements are the corresponding requirements in the routing table, the source node is the first acceleration node 332A, and the destination nodes are each of the source node's neighboring acceleration nodes 332. It should be noted that the above routing table entries are merely examples and do not constitute a specific limitation; in some possible implementations, the source node can be omitted. The routing path can be used to indicate the sequential passage of acceleration nodes 332 between the source node and the destination node.
[0185] In some possible cases, one quality of service (QoS) requirement corresponds to one routing table. Therefore, for the first acceleration node 332A in the application network, the central controller 340 can determine the routing table corresponding to each of the M QoS requirements for that first acceleration node. Assume the N acceleration nodes 332A are denoted as Acceleration Node 1, Acceleration Node 2, ..., Acceleration Node N, and the M QoS requirements are denoted as QoS Requirement 1, QoS Requirement 2, ..., QoS Requirement M, and the routing tables corresponding to QoS Requirement 1, QoS Requirement 2, ..., QoS Requirement M are denoted as Routing Table 1, Routing Table 2, ..., Routing Table M; then for acceleration node 1... Accelerator node 1 is the source node, and acceleration nodes 2, ..., N are the destination nodes. Correspondingly, routing table 1 records the path from acceleration node 1 to acceleration node 2 in service quality requirement 1, the path from acceleration node 1 to acceleration node 3 in service quality requirement 1, ..., routing table 2 records the path from acceleration node 1 to acceleration node 2 in service quality requirement 2, the path from acceleration node 1 to acceleration node 3 in service quality requirement 2, ..., and routing table 3 to routing table M are similar and will not be described in detail. The routing tables for acceleration nodes 2, ..., N are similar to those for acceleration node 1 and will not be described in detail.
[0186] It is worth noting that the aforementioned forwarding plane, which refers to the routing path between the first acceleration node 332A and each other acceleration node 332 in the application network corresponding to the quality of service requirements, is merely an example. In other possible embodiments, the forwarding plane can be several acceleration nodes 332 that the first acceleration node 332A can connect to. For example, for any of the M quality of service requirements, the central controller 340 can directly determine several acceleration nodes 332 that are compatible with the quality of service requirements as the forwarding plane based on the link status information reported by the first acceleration node 332A (without considering the link status information reported by other acceleration nodes 332). In addition, the score of several acceleration nodes 332 that are compatible with the quality of service requirements can also be determined based on the link status information reported by the first acceleration node 332A. The higher the score, the better the link status with the first acceleration node 332A, such as low latency and low packet loss rate.
[0187] Step 504: The terminal sends a tenant access request to the central controller 340. The tenant access request is used to request access to the application network and configure the target service quality requirement among the M service quality requirements.
[0188] For example, a tenant access request may include the identifier of the application network and the target quality of service requirements.
[0189] Step 505: The central controller 340 determines the target tenant access identifier corresponding to the target service quality requirement based on the tenant access request.
[0190] In practical implementation, a tenant can access the central controller 340 through terminal 310, apply for access to the acceleration node 332, and configure any one of the M service quality requirements (for ease of description and distinction, it can be referred to as the target service quality requirement). In practical implementation, the central controller 340 assigns a target tenant access identifier to the tenant, establishes a correspondence between the target tenant access identifier and the target service quality requirement configured by the tenant corresponding to the target tenant access identifier, and stores the correspondence between the target tenant access identifier and the target service quality requirement configured by the tenant corresponding to the target tenant access identifier.
[0191] In practice, tenants can access the terminal 310 in two ways: IP access and SDK access.
[0192] In the IP access method, a tenant access request can apply to the central controller 340 for an IP address (referred to as an AIP in this embodiment) to access the physical network 330. Correspondingly, the target tenant access identifier can be used to indicate the IP address used in the application network: the AIP. It should be noted that the AIP is exclusively used by the tenant and is provided by the acceleration node 332. In specific implementation, each acceleration node 332 in the application network provides several AIPs. The central controller 340 generates a mapping between AIPs and source IPs. The source IP can be a public IP address or an Elastic IP Address (EIP). For example, an EIP can be an IP address of a cloud region (a geographical region defined globally by a cloud service provider). This embodiment uses an EIP as an example. The tenant access request includes an EIP (which can be referred to as the target EIP for ease of description and distinction). In response to the tenant access request, the central controller 340 selects an unassigned AIP from the AIPs corresponding to the target EIP as the target tenant access identifier.
[0193] In the SDK-based access method, a tenant access request can request an authentication identifier from the central controller 340 to access the physical network 330. The central controller 340 assigns a target tenant access identifier (indicating the authentication identifier for accessing the physical network 330) to the terminal 310, thereby enabling access to the physical network 330. For example, the target tenant access identifier can be an APPID, or it can be both an APPID and an APPCode. For example, the terminal 310 is configured with an SDK plugin, which pre-configures the address of the central controller 340. The terminal 310 accesses the central controller 340 through the SDK plugin; that is, the central controller 340 receives the tenant access request sent by the terminal 310 and assigns an APPID to the tenant based on the request. It should be noted that the APPID is exclusively used by the tenant and is provided by the acceleration node 332. In a specific implementation, each acceleration node 332 in the application network provides several APPIDs. In response to a tenant access request, the central controller 340 selects an unassigned APPID as the target tenant access identifier based on the APPIDs provided by the acceleration node 332.
[0194] In practical applications, a table (which can be called the first mapping table for ease of description and distinction) can be used to carry the target tenant access identifier and the service quality requirements configured for the tenant corresponding to the target tenant access identifier, as shown in Figure 7b. The entries in the first mapping table are the tenant access identifier and the service quality requirements. Considering that the number of tenants accessing the physical network 330 is generally massive, the first mapping table can record each tenant access identifier and the service quality requirements configured for the tenant corresponding to the tenant access identifier. The above-mentioned first mapping table is only one possible naming method. In other possible scenarios, the first mapping table can also be called a configuration table.
[0195] Step 506: The central controller 340 sends the target tenant access identifier to the terminal 310.
[0196] Step 507: The central controller 340 determines the service attribute table, which includes the target tenant access identifier and the target forwarding plane corresponding to the target tenant access identifier. The target forwarding plane corresponds to the target quality of service requirements.
[0197] For example, the service attribute table may include the forwarding plane corresponding to each of the M service quality requirements and the service quality requirements configured by the tenant corresponding to the tenant access identifier; for instance, as shown in Figure 7c, the service attribute table may include the routing table (forwarding plane) for each of the M service quality requirements and the first mapping table. In practical applications, after determining the routing table for each of the M service quality requirements, the central controller 340 can send the routing table corresponding to each of the M service quality requirements to the first acceleration node 332A; subsequently, after determining the first mapping table, the central controller 340 can send the first mapping table to the first acceleration node 332A.
[0198] It should be noted that in practical applications, a massive number of tenants will apply to access the application network, and the central controller 340 needs to record the forwarding plane corresponding to the massive number of tenant access identifiers through the service attribute table.
[0199] Step 508: The central controller 340 sends the service attribute table to the first acceleration node 332A.
[0200] Step 509: Terminal 310 determines the data request, which includes the target tenant access identifier.
[0201] For example, a data request is used to request the destination to process a service, which could be data query, data storage, video download, etc. The destination is the end that provides the service, such as the cloud or a server.
[0202] In some possible scenarios, the target tenant access identifier is used to indicate the authentication identifier of the access application network, such as the APPID provided by the first acceleration node 332A; the destination address in the data request is EIP.
[0203] In other possible scenarios, the target tenant access identifier is used to indicate the IP address used to access the physical network. For example, it can be the AIP provided by the first acceleration node 332A, and the destination address in the data request is the AIP.
[0204] Step 510: Terminal 310 sends a data request to the first acceleration node 332A.
[0205] Step 511: The first acceleration node 332A determines the target forwarding plane based on the target tenant access identifier and service attribute table.
[0206] In some possible scenarios, the target tenant access identifier is used to indicate the authentication identifier of the access application network, such as the APPID provided by the first acceleration node 332A; or, the target tenant access identifier is used to indicate the IP address used to access the physical network, such as the AIP provided by the first acceleration node 332A. In practical applications, after the first acceleration node 332A determines that the verification of the target tenant access identifier is successful (e.g., the target tenant access identifier is provided by the first acceleration node 332A), the first acceleration node 332A determines the target forwarding plane based on the target tenant access identifier and the service attribute table.
[0207] The first acceleration node 332A stores a first mapping table as shown in Figure 7b (used to store tenant access identifiers and the service quality requirements configured for the tenants corresponding to the tenant access identifiers). Additionally, the first acceleration node 332A stores a forwarding plane, such as a routing table, corresponding to each of the M service quality requirements. Based on the matching of the first mapping table and the tenant access identifier in the data request, the matching service quality requirement in the first mapping table is determined. This matching service quality requirement is taken as the target service quality requirement, and the forwarding plane corresponding to the target service quality requirement is taken as the target forwarding plane. For example, the target forwarding plane can be a route path starting from the first acceleration node 332A and ending at other acceleration nodes 332 under the target service quality requirement. The target forwarding plane can be carried by a routing table, which represents the service quality requirement, source node, destination node, and route path.
[0208] Step 512: The first acceleration node 332A sends a data request to the second acceleration node 332B in the target forwarding plane.
[0209] In some possible scenarios, the second acceleration node 332B can be an acceleration node 332 that serves as the exit point in the target forwarding plane, used to forward data requests to the destination, such as the cloud, server, or terminal.
[0210] In this scenario, the first acceleration node 332A can store a location routing table. The entries in the location routing table are the target IP address and the exit acceleration node 332 of the application network (for ease of description and distinction, it can be called the exit acceleration node 332). This table indicates the exit acceleration node 332 corresponding to the target IP address, which is the IP address of the device to which the data is to be routed. For example, it could be an IP address from the cloud, a server, or a terminal. It should be noted that the central controller 340 sends the service attribute table related to the first acceleration node 332A to the first acceleration node 332A, while sending the location routing table to all acceleration nodes 332.
[0211] In this embodiment of the invention, the central controller 340 determines the correspondence between the target IP address and the egress acceleration node 332 and records the correspondence in the location mapping table.
[0212] For example, as shown in Figure 8a, in a scenario where the tenant access identifier is AIP, the target IP address is AIP, the location routing table consists of a second mapping table and a third mapping table, the entries in the third mapping table are AIP and EIP, and the entries in the second mapping table are EIP and egress acceleration node 332.
[0213] For example, as shown in Figure 8b, in a scenario where the tenant access identifier is APPID and the target IP address is EIP, the entries in the location routing table are EIP and the egress acceleration node 332, which is the second mapping table.
[0214] For example, the central controller 340 can determine the egress acceleration node 332 corresponding to the target IP address in the following ways:
[0215] When the target IP address is the IP address of a cloud region (a geographical region defined by a cloud service provider globally), the central controller 340 determines the acceleration node 332 deployed in that cloud region as the egress acceleration node 332; when the target IP address is the IP address of a terminal (or server), the central controller 340 searches the IP address database, determines the physical location, and determines the acceleration node 332 closest to that physical location as the egress acceleration node 332.
[0216] It is worth noting that the location routing table is independent of the business attribute table. It can be issued earlier or later than the business attribute table, depending on the actual situation.
[0217] In this embodiment, the location routing table includes a second acceleration node 332B corresponding to the IP address of the destination in the data request. The first acceleration node 332A can then match the IP address of the destination in the data request with the location routing table to determine the second acceleration node 332B. The second acceleration node 332B is used to indicate the exit point of the data request in the application network. The second acceleration node 332B is the exit acceleration node corresponding to the target IP address that matches the IP address of the destination in the location routing table.
[0218] For example, in a scenario where the tenant access identifier is used to indicate the destination IP address (AIP) used by the access application network, the destination IP address in the data request is the tenant access identifier, such as AIP. As shown in Figure 8a, the first acceleration node 332A stores a second mapping table (used to store the egress acceleration node corresponding to the EIP) and a third mapping table (the EIP corresponding to the AIP). The first acceleration node 332A matches the AIP in the third mapping table with the destination IP in the data request to determine the matching EIP. Based on the matching EIP, it matches the EIP in the second mapping table to determine the matching egress acceleration node, and uses the matching egress acceleration node as the second acceleration node 332B.
[0219] For example, in a scenario where the tenant access identifier is used to indicate the authentication identifier used by the access application network, the destination IP address in the data request is an EIP; then, as shown in Figure 8b, the first acceleration node 332A stores a second mapping table (used to store the egress acceleration node corresponding to the EIP). The first acceleration node 332A determines the matching egress acceleration node based on the matching of the EIP in the second mapping table and the destination IP in the data request, and uses the matching egress acceleration node as the second acceleration node 332B.
[0220] Subsequently, the first acceleration node 332A, using the first acceleration node 332 as the source node and the second acceleration node 332B as the destination node, queries the forwarding plane corresponding to the target quality of service requirement, such as querying the routing table corresponding to the target quality of service requirement, to determine the routing path between the first acceleration node 332A and the second acceleration node 332B. This routing path is then used as the target routing path. For example, the target routing path can be used to indicate each acceleration node 332 sequentially traversed by the first acceleration node 332A to the second acceleration node 332B in the physical network 330. It should be noted that when the routing table entries are the quality of service requirement, source node, destination node, and routing path shown in Figure 7a, and the source node is the first acceleration node 332A, then the target routing path between the first acceleration node 332A and the second acceleration node 332B is the routing path in the row where the source node and destination node are the second acceleration node 332B.
[0221] In some possible scenarios, as shown in Figure 9, for the first acceleration node 332A in the application network, the first acceleration node 332A stores the forwarding plane (routing table) corresponding to each of the M quality of service requirements, the quality of service requirements configured by the tenant corresponding to the tenant access identifier, and the egress acceleration node 332 corresponding to the target IP address. In a specific implementation, as shown in Figure 10a, in the scenario where the tenant access identifier is APPID, for the first acceleration node 332A, the first acceleration node 332A stores the routing table, the first mapping table, and the second mapping table corresponding to each of the M quality of service requirements; as shown in Figure 10b, in the scenario where the tenant access identifier is AIP, for the first acceleration node 332A, the first acceleration node 332A stores the routing table, the first mapping table, the second mapping table, and the third mapping table corresponding to each of the M quality of service requirements.
[0222] Figure 11a is a schematic diagram of a scenario for determining a target routing path provided by an embodiment of the present invention. As shown in Figure 11a, the data request includes a tunnel header and an EIP. The tunnel header includes an APPID. The APPID is matched with the APPID in the first mapping table to obtain the matching quality of service requirements. The EIP in the data request is matched with the EIP in the second mapping table to obtain the matching egress acceleration node. The matching egress acceleration node is used as the destination node and matched with the destination node in the routing table corresponding to the matching quality of service requirements to determine the matching routing path as the target routing path.
[0223] Figure 11b is a schematic diagram of the scenario for determining the target routing path provided by the present invention. As shown in Figure 11b, the data request includes an AIP. The AIP is matched with the AIP in the first mapping table to obtain the matching quality of service requirements. The AIP in the data request is matched with the AIP in the third mapping table to obtain the matching EIP. The matching EIP is matched with the EIP in the second mapping table. The matched egress acceleration node is taken as the destination node and matched with the destination node in the routing table corresponding to the matched quality of service requirements to determine the matched routing path as the target routing path.
[0224] For example, the target routing path is used to indicate each acceleration node 332 sequentially traversed from the first acceleration node 332A to the second acceleration node 332B in the application network. When the application network forwards a data request according to the target routing path, the first acceleration node 332A forwards the data request and the target routing path to the next network node 332 indicated by the target routing path.
[0225] For example, as shown in Figure 12, assume the target routing path is: Acceleration Node 1 → Acceleration Node 2 → Acceleration Node 3; after receiving the data request, Acceleration Node 1 determines the target routing path and forwards the data request and the target routing path together to Acceleration Node 2; Acceleration Node 2 forwards the data request and the target routing path together to Acceleration Node 3.
[0226] In other possible scenarios, the target forwarding plane is used to describe the acceleration node 332 connected to the first acceleration node 332A, and the second acceleration node 332B can be any acceleration node 332 in the target forwarding plane. In specific implementations, the first acceleration node 332A selects the acceleration node 332 with the lower load in the target forwarding plane as the second acceleration node 332B based on load balancing principles. When the acceleration node 332A in the target forwarding plane has a score, the acceleration node 332 with the highest score can be selected as the second acceleration node 332B. In this scenario, the central controller 340 needs to determine the correspondence between the target IP address in the aforementioned location routing table and the acceleration nodes 332 in the target forwarding plane. Subsequently, the first acceleration node 332B selects the acceleration node 332 corresponding to the destination IP address from the target forwarding plane as the second acceleration node 332B based on the destination IP address.
[0227] This solution divides the physical network into virtual networks with different quality of service (QoS) requirements. This fully utilizes the physical network resources, improves network resource utilization, and can adapt to diverse user QoS requirements, thus enhancing user experience. Furthermore, by constructing virtual networks based on QoS requirements, the virtual networks are decoupled from the destination addresses. This eliminates the need to continuously expand the virtual networks based on changes in destination addresses, reducing virtual network complexity and minimizing storage resource consumption.
[0228] The present invention also provides an acceleration node 332, which is deployed in an application network. The acceleration node 332 is any acceleration node in the application network, which runs on a physical network 330, as shown in Figure 13. The acceleration node 332 includes:
[0229] The table acquisition module is used to acquire the service attribute table sent by the controller. The service attribute table includes the tenant access identifier and the forwarding plane corresponding to the tenant access identifier. The tenant access identifier is configured with service quality requirements. The forwarding plane is determined based on the service quality requirements. The forwarding plane includes at least some of the acceleration nodes in the application network.
[0230] The request acquisition module is used to acquire data requests from the terminal. The data requests include the target tenant access identifier.
[0231] The plane determination module is used to determine the target forwarding plane based on the target tenant access identifier and the service attribute table;
[0232] The forwarding module is used to send data requests to the second acceleration node in the target forwarding plane.
[0233] The table retrieval module, request retrieval module, plane determination module, and forwarding module can all be implemented in software or hardware. For example, the implementation of the table retrieval module will be described below. Similarly, the implementation methods of the request retrieval module, plane determination module, and forwarding module can refer to the implementation method of the table retrieval module.
[0234] As an example of a software functional unit, a table retrieval module may include code running on a compute instance. A compute instance may include at least one of a physical host (computing device), a virtual machine, or a container. Furthermore, the aforementioned compute instance may be one or more. For example, the table retrieval module may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within the same availability zone (AZ) or in different AZs, each AZ comprising one or more geographically proximate data centers. Typically, a region may include multiple AZs.
[0235] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.
[0236] As an example of a hardware functional unit, a table retrieval module may include at least one computing device, such as a server. Alternatively, a table retrieval module may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The aforementioned PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.
[0237] The table acquisition module includes multiple computing devices that can be distributed within the same region or in different regions. Similarly, the multiple computing devices can be distributed within the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices can be distributed within the same Virtual Private Cloud (VPC) or multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0238] It should be noted that, in other embodiments, the table acquisition module can be used to execute any step in the data forwarding method based on application network technology, the request acquisition module can be used to execute any step in the data forwarding method based on application network technology, the steps implemented by the plane determination module can be specified as needed, and the steps implemented by the forwarding module can be specified as needed. By implementing different steps in the data forwarding method based on application network technology through the table acquisition module, the request acquisition module, the plane determination module, and the forwarding module, all functions of the acceleration node 332 can be realized.
[0239] The present invention also provides a data forwarding device based on application network technology. This device operates on a controller, which may be a central controller 340. The central controller 340 is connected to acceleration nodes 332, which are deployed in an application network that runs on a physical network 330. As shown in Figure 14, the device includes:
[0240] The configuration module is used to obtain the configured service quality requirements;
[0241] The status acquisition module is used to acquire the link status information reported by the first acceleration node;
[0242] The plane determination module is used to determine the forwarding plane corresponding to the quality of service requirements based on link state information. The forwarding plane includes at least some of the acceleration nodes in the application network.
[0243] The table determination module is used to determine the service attribute table, which indicates the tenant access identifier corresponding to the forwarding plane; the tenant access identifier corresponds to the tenant configuration service quality requirements.
[0244] The delivery module is used to send the service attribute table to the first acceleration node. The service attribute table is used by the first acceleration node to obtain the target forwarding plane based on the target tenant access identifier in the data request when it receives a data request from the terminal, and then send the data request to the second acceleration node in the target forwarding plane.
[0245] The configuration module, status acquisition module, plane determination module, table determination module, and distribution module can all be implemented in software or hardware. For example, the implementation methods of the configuration module, status acquisition module, plane determination module, table determination module, and distribution module can be referenced to the implementation method of the receiving module in Figure 13.
[0246] The present invention also provides a computing device. As shown in FIG15, the computing device 1500 includes: a bus 1502, a processor 1504, a memory 1506, and a communication interface 1508. The processor 1504, the memory 1506, and the communication interface 1508 communicate with each other via the bus 1502. The physical node 331 may be a server or a terminal device. It should be understood that the present invention does not limit the number of processors and memories in the physical node 331.
[0247] Bus 1502 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 15, but this does not imply that there is only one bus or one type of bus. Bus 1502 can include pathways for transmitting information between various components of physical node 331 (e.g., memory 1506, processor 1504, communication interface 1508).
[0248] Processor 1504 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0249] The memory 1506 may include volatile memory, such as random access memory (RAM). The processor 1504 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0250] The memory 1506 stores executable program code, which the processor 1504 executes to implement the functions of the aforementioned table retrieval module, request retrieval module, plane determination module, and forwarding module, thereby realizing the steps executed by the acceleration node 332 in the data forwarding method based on application network technology. That is, the memory 1506 stores instructions for executing the data forwarding method based on application network technology, which are then executed by the acceleration node 332. And / or,
[0251] The processor 1504 executes the executable program code to implement the functions of the aforementioned configuration module, status acquisition module, plane determination module, table determination module, and distribution module, thereby realizing the steps executed by the central controller 340 in the data forwarding method based on application network technology. That is, the memory 1506 stores the instructions for executing the data forwarding method based on application network technology executed by the central controller 340.
[0252] The communication interface 1508 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication with other devices or communication networks.
[0253] This invention also provides a computing device cluster. As shown in FIG16, the computing device cluster includes at least one computing device 1500. The computing device may be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0254] In some possible implementations, one or more computing devices 1500 in the computing device cluster can also be used to execute some instructions in the acceleration node 332 and / or the data forwarding device based on application network technology for executing the data forwarding method based on application network technology. In other words, a combination of one or more computing devices 1500 can jointly execute the instructions of the data forwarding method based on application network technology.
[0255] In some possible implementations, the memory 106 of one or more computing devices 1500 in the computing device cluster may also store partial instructions for executing functions of the acceleration node 332 and / or the data forwarding device based on application network technology. For example, instructions for implementing the functions of the data forwarding device based on application network technology, or instructions for implementing the functions of the acceleration node 332. In other words, a combination of one or more computing devices 1500 can jointly execute instructions for executing the data forwarding method based on application network technology.
[0256] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 17 illustrates one possible implementation. As shown in Figure 17, two computing devices 1500A and 1500B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this type of possible implementation, the memory 106 in computing device 1500A stores instructions for executing the functions of the table retrieval module. Simultaneously, the memory 106 in computing device 1500B stores instructions for executing the functions of the request retrieval module, the plane determination module, and the forwarding module.
[0257] The connection method between the computing device clusters shown in Figure 17 can be considered as follows: taking into account that the data forwarding method based on application network technology provided by the present invention needs to forward a large number of data requests, the functions implemented by the request acquisition module, the plane determination module, and the forwarding module are considered to be executed by the computing device 1500A.
[0258] It should be understood that the functions of computing device 1500A shown in Figure 17 can also be performed by multiple computing devices 1500. Similarly, the functions of computing device 1500B can also be performed by multiple computing devices 1500.
[0259] In some other possible implementations, the memory 106 in computing device 1500A stores the functions of the configuration module, the status acquisition module, and the plane determination module, while the memory 106 in computing device 1500B stores the functions of the table determination module and the distribution module. Here, the connection method between the computing device clusters can be considered because the data forwarding method based on application network technology provided by this invention needs to process a large number of tenant access requests; therefore, the functions implemented by the configuration module, the status acquisition module, and the plane determination module are considered to be executed by computing device 1500A.
[0260] In some other possible implementations, the memory 106 in computing device 1500A stores the functions of an execution table acquisition module, a request acquisition module, a plane determination module, and a forwarding module, while the memory 106 in computing device 1500B stores the functions of a configuration module, a status acquisition module, a plane determination module, a table determination module, and a distribution module.
[0261] This invention also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any available medium. When the computer program product runs on at least one computing device, it causes the at least one computing device to perform a data forwarding method based on applied network technology.
[0262] This invention also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute a data forwarding method based on application network technology.
[0263] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0264] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0265] The basic principles of the present invention have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in the present invention are merely examples and not limitations, and should not be considered as essential features of the various embodiments of the present disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of the present disclosure to the necessity of employing the specific details described above.
[0266] The block diagrams of devices, apparatuses, devices, and systems disclosed herein are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.
[0267] It should also be noted that in the apparatus, devices, and methods of this disclosure, the components or steps can be disassembled and / or recombined. These disassemblies and / or recombinations should be considered as equivalent solutions to this disclosure.
[0268] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations therein.
[0269] It is understood that the various numerical designations used in the embodiments of the present invention are merely for descriptive convenience and are not intended to limit the scope of the embodiments of the present invention.
Claims
1. A data forwarding method based on application network technology, characterized in that, The method is applied to a first acceleration node, which is deployed in an application network that runs on a physical network. The first acceleration node is connected to a controller. The method includes: The service attribute table sent by the controller is obtained. The service attribute table includes a tenant access identifier and a forwarding plane corresponding to the tenant access identifier. The tenant access identifier is configured with quality of service requirements. The forwarding plane is determined based on the quality of service requirements. The forwarding plane includes at least some acceleration nodes in the application network. Obtain a data request from the terminal, the data request including the target tenant access identifier; The target forwarding plane is determined based on the target tenant access identifier and the service attribute table; The data request is sent to the second acceleration node in the target forwarding plane.
2. The method according to claim 1, characterized in that, The target forwarding plane includes a target routing path, which is a path to the second acceleration node. The second acceleration node is used to forward the data request to the destination. Sending the data request to the second acceleration node in the target forwarding plane includes: The target routing path and the data request are forwarded to the next acceleration node indicated by the target routing path.
3. The method according to claim 1 or 2, characterized in that, Before obtaining the forwarding plane routing table sent by the controller, the method further includes: The link status information is reported to the controller. The link status information is used to indicate the link status between the first acceleration node and neighboring acceleration nodes in the application network. The forwarding plane is determined based on the link status information.
4. The method according to claim 3, characterized in that, The link status information includes at least one of the following: Latency, packet loss rate, and remaining bandwidth.
5. The method according to any one of claims 1 to 4, characterized in that, The tenant access identifier is used to indicate the authentication identifier used to access the application network; or, the tenant access identifier is used to indicate the IP address used to access the application network.
6. The method according to any one of claims 1 to 5, characterized in that, The service attribute table includes a configuration table and a routing table. The configuration table includes the tenant access identifier and the service quality requirements configured for the tenant corresponding to the tenant access identifier. The routing table includes the service quality requirements and a forwarding plane determined based on the service quality requirements.
7. The method according to any one of claims 1 to 6, characterized in that, The service quality requirements are used to describe the requirement for at least one of the following: Latency, packet loss rate, and link cost.
8. A data forwarding method based on application network technology, characterized in that, The method is applied to a controller connected to a first acceleration node deployed in an application network that runs on a physical network. The method includes: Obtain service quality requirements; Obtain the link status information reported by the first acceleration node; Based on the link state information, the forwarding plane corresponding to the quality of service requirement is determined, and the forwarding plane includes at least some acceleration nodes in the application network; A service attribute table is determined, which is used to indicate the tenant access identifier corresponding to the forwarding plane; the tenant corresponding to the tenant access identifier configures the quality of service requirements. The business attribute table is sent to the first acceleration node.
9. The method according to claim 8, characterized in that, The step of determining the forwarding plane corresponding to the quality of service requirement based on the link state information includes: Obtain link status information reported by acceleration nodes other than the first acceleration node in the application network; Based on the link status information reported by the first acceleration node and the link status information reported by the other acceleration nodes, the forwarding plane corresponding to the quality of service requirement is determined.
10. The method according to claim 8 or 9, characterized in that, The forwarding plane is the routing path between the source node and the destination node, where the source node is the first acceleration node and the destination node is another acceleration node in the application network besides the first acceleration node.
11. The method according to claims 8 to 10, characterized in that, The service attribute table includes a configuration table and a routing table. The configuration table includes the tenant access identifier and the service quality requirements configured for the tenant corresponding to the tenant access identifier. The routing table includes the service quality requirements and the forwarding plane determined based on the service quality requirements.
12. The method according to claims 8 to 11, characterized in that, The link status information includes at least one of the following: Latency, packet loss rate, and remaining bandwidth.
13. The method according to any one of claims 8 to 12, characterized in that, The service quality requirements are used to describe the requirement for at least one of the following: Latency, packet loss rate, and link cost.
14. The method according to claims 8 to 13, characterized in that, The tenant access identifier is used to indicate the authentication identifier used to access the application network; or, the tenant access identifier is used to indicate the IP address used to access the application network.
15. A data forwarding method based on application network technology, characterized in that, The method is applied to a communication system, the communication system including a controller and a first acceleration node, the first acceleration node being deployed in an application network that runs on a physical network, the method comprising: The controller obtains the configured quality of service requirements; The controller obtains the link status information reported by the first acceleration node, and determines the forwarding plane corresponding to the quality of service requirement based on the link status information. The forwarding plane includes at least some of the acceleration nodes in the application network. The controller determines a service attribute table, which includes the tenant access identifier corresponding to the forwarding plane; the tenant corresponding to the tenant access identifier configures the quality of service requirements. The controller sends the service attribute table to the first acceleration node; The first acceleration node obtains a data request from the terminal, the data request including a target tenant identifier; The first acceleration node determines the target forwarding plane based on the target tenant identifier and the service attribute table; and sends the data request to the second acceleration node in the target forwarding plane.
16. A data forwarding device based on application network technology, characterized in that, The device is applied to a first acceleration node, which is deployed in an application network that runs on a physical network. The first acceleration node is connected to a controller. The device includes: The table acquisition module is used to acquire a service attribute table sent by the controller. The service attribute table includes a tenant access identifier and a forwarding plane corresponding to the tenant access identifier. The tenant access identifier is configured with quality of service requirements. The forwarding plane is determined based on the quality of service requirements. The forwarding plane includes at least some acceleration nodes in the application network. The request acquisition module is used to acquire data requests from the terminal, the data requests including the target tenant access identifier; The plane determination module is used to determine the target forwarding plane based on the target tenant access identifier and the service attribute table; The forwarding module is used to send the data request to the second acceleration node in the target forwarding plane.
17. A data forwarding device based on application network technology, characterized in that, The device is applied to a controller, the controller being connected to a first acceleration node, the first acceleration node being deployed in an application network that runs on a physical network, and the device comprising: The configuration module is used to obtain the configured service quality requirements; The status acquisition module is used to acquire the link status information reported by the first acceleration node; A plane determination module is used to determine the forwarding plane corresponding to the quality of service requirement based on the link state information, wherein the forwarding plane includes at least some acceleration nodes in the application network; The table determination module is used to determine a service attribute table, which is used to indicate the tenant access identifier corresponding to the forwarding plane; the tenant corresponding to the tenant access identifier configures the quality of service requirements. The distribution module is used to send the business attribute table to the first acceleration node.
18. A communication system, characterized in that, The communication system includes a controller and a first acceleration node, the first acceleration node being deployed in an application network that runs on a physical network; The controller is used to obtain service quality requirements; The controller is configured to obtain link status information reported by the first acceleration node, and determine the forwarding plane corresponding to the quality of service requirement based on the link status information. The forwarding plane includes at least some of the acceleration nodes in the application network. The controller is used to determine a service attribute table, which includes a tenant access identifier corresponding to the forwarding plane; the tenant corresponding to the tenant access identifier configures the quality of service requirements. The controller is used to send the business attribute table to the first acceleration node; The first acceleration node is used to obtain data requests from the terminal, the data requests including a target tenant identifier, and to determine a target forwarding plane based on the target tenant identifier and the service attribute table; The data request is sent to the second acceleration node in the target forwarding plane.
19. A network device, characterized in that, The network device includes a processor and a memory; The processor is configured to execute instructions stored in the memory to cause the network device to perform the method as described in any one of claims 1 to 7.
20. A controller, characterized in that, The controller includes a processor and a memory; The processor is configured to execute instructions stored in the memory such that the controller performs the method as described in any one of claims 8 to 14.
21. A computing device cluster, characterized in that, It includes at least one computing device, each computing device including a processor and memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method as described in any one of claims 1 to 15.
22. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster causes the computing device cluster to perform the method as described in any one of claims 1 to 15.
23. A computer-readable storage medium, characterized in that, Includes computer program instructions, which, when executed by a cluster of computing devices, perform the method as described in any one of claims 1 to 15.
Citation Information
Patent Citations
Routing selection method based on differentiated service
CN103746915A
Routing method and apparatus
CN111630817A
Data forwarding method and related device
CN115225631A
Method for determining user plane path and communication apparatus
WO2023035872A1