WO2023035819A1 - 数据加速传输方法、装置、计算机设备和存储介质 - Google Patents

数据加速传输方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
WO2023035819A1
WO2023035819A1 PCT/CN2022/110123 CN2022110123W WO2023035819A1 WO 2023035819 A1 WO2023035819 A1 WO 2023035819A1 CN 2022110123 W CN2022110123 W CN 2022110123W WO 2023035819 A1 WO2023035819 A1 WO 2023035819A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
address
server
acceleration
domain name
Prior art date
Application number
PCT/CN2022/110123
Other languages
English (en)
French (fr)
Inventor
黄海涛
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2023035819A1 publication Critical patent/WO2023035819A1/zh
Priority to US18/314,497 priority Critical patent/US20230275836A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Definitions

  • the present application relates to the technical field of data transmission, and in particular to a data accelerated transmission method, device, computer equipment, computer-readable storage medium and computer program product.
  • the VPN server By establishing an encrypted connection with the VPN server based on a private protocol, the VPN server needs to decrypt the data after receiving it and then use the normal TCP (Transmission Control Protocol, Transmission Control Protocol)/IP (Internet protocol, Internet Interconnection Protocol) protocol to communicate with the real game server After establishing a connection, the VPN server encrypts the real game data and sends it back to the client.
  • TCP Transmission Control Protocol
  • IP Internet protocol, Internet Interconnection Protocol
  • the client when the client establishes a connection with the VPN server, it needs to use a private protocol for communication, and both the client and the server need encryption and decryption work. Encryption and decryption will affect the performance of the VPN server, increase the delay required for communication, lead to low data processing efficiency of the server, and affect the effect of accelerated data transmission.
  • Embodiments of the present application provide a data accelerated transmission method, device, computer equipment, computer-readable storage medium, and computer program product.
  • a method for accelerating data transmission performed by a computer device, the method comprising:
  • routing the data packet sent by the application client of the application to be accelerated to the virtual network device Based on the routing table configured for the application to be accelerated, routing the data packet sent by the application client of the application to be accelerated to the virtual network device;
  • a data acceleration transmission device comprising:
  • a data packet routing module configured to route the data packets sent by the application client of the application to be accelerated to the virtual network device based on the routing table created for the application to be accelerated;
  • a data packet parsing module configured to read a network layer data packet from the virtual network device, and resolve the original access address and data segment in the network layer data packet;
  • a data packet update module configured to use the address of the acceleration server associated with the application client as the update access address of the network layer data packet, and add the original access address to the header of the data segment, to obtain update data package;
  • a data packet sending module configured to send the update data packet to the acceleration server, so that the acceleration server accesses the application server indicated by the original access address based on the original access address in the data header, and makes the The acceleration server returns the response data packet fed back by the application server to the application client.
  • a computer device comprising a memory and one or more processors, the memory storing computer readable instructions which, when executed by the one or more processors, cause the one or more The processor executes the steps of the above data acceleration transmission method.
  • One or more non-transitory computer-readable storage media having stored thereon computer-readable instructions that, when executed by one or more processors, cause the one or more or a plurality of processors execute the steps of the above data acceleration transmission method.
  • a computer program product or computer program comprising computer readable instructions stored on a computer readable storage medium for one or more processors of a computer device to read from the The computer-readable storage medium reads the computer-readable instructions, and the one or more processors execute the computer-readable instructions, so that the computer device executes the steps of the above data acceleration transmission method.
  • Fig. 1 is an application environment diagram of a data accelerated transmission method in an embodiment
  • FIG. 2 is a schematic flow diagram of a data accelerated transmission method in an embodiment
  • Fig. 3 is a schematic diagram of a page for selecting an application to be accelerated in one embodiment
  • Fig. 4 is a schematic diagram of analysis results of network layer packets in another embodiment
  • Fig. 5 is a schematic diagram of comparison before and after updating network layer packets in one embodiment
  • FIG. 6 is a schematic flow chart of a data accelerated transmission method in another embodiment
  • Fig. 7 is a schematic diagram of the selection page of the game to be accelerated in one embodiment
  • Fig. 8 is a schematic diagram of a page for selecting a region server and a node of a game to be accelerated in an embodiment
  • FIG. 9 is a sequence diagram of a data accelerated transmission method in an embodiment
  • FIG. 10 is a schematic flow diagram corresponding to a UDP packet in an embodiment
  • FIG. 11 is a schematic flow diagram corresponding to a TCP data packet in an embodiment
  • Fig. 12 is a structural block diagram of a data accelerated transmission device in an embodiment
  • Figure 13 is a diagram of the internal structure of a computer device in one embodiment.
  • the data accelerated transmission method provided in this application can be applied to the application environment shown in FIG. 1 .
  • the terminal 110 communicates with the acceleration server 120 through the network, and the acceleration server 120 communicates with the application server 130 through the network.
  • the terminal includes an application client 102 , an acceleration client 104 , and a virtual network device 106 created by the acceleration client 104 .
  • the terminal 102 routes the data packet sent by the application client 102 of the application to be accelerated to the virtual network device 106 based on the routing table, which is configured by the acceleration client 104 for the application to be accelerated;
  • the network layer data packet is read in the device 106, and the original access address and data segment in the network layer data packet are parsed;
  • the acceleration client 104 uses the address of the acceleration server 120 corresponding to the application client 102 as an update access of the network layer data packet address, and add the original access address to the head of the data segment to obtain an update data packet;
  • the acceleration client 104 sends the update data packet to the acceleration server 120.
  • the acceleration server 120 accesses the application server 130 indicated by the original access address based on the original access address in the data header, and makes the acceleration server return the response data packet fed back by the application server 130 to the acceleration client 104; 104 updates the source address of the response data packet to the address of the application server, and feeds the response data packet with the updated source address back to the application client 102 through the virtual network device 106 .
  • the terminal 110 can be, but not limited to, various personal computers, notebook computers, smart phones, tablet computers, portable wearable devices and vehicle-mounted terminals, and both the acceleration server 120 and the application server 140 can be composed of independent servers or multiple servers server cluster to achieve.
  • FIG. 2 a method for accelerated data transmission is provided.
  • the application of the method to the accelerated client in FIG. 1 is used as an example for illustration, including the following steps:
  • Step 202 based on the routing table configured for the application to be accelerated, route the data packet sent by the application client of the application to be accelerated to the virtual network device.
  • accelerated data transmission is a data processing method that improves data transmission efficiency and reduces data delay. Due to the influence of the network environment during the data interaction process, line congestion and other situations are prone to occur, resulting in problems such as high interaction delays. Through accelerated data transmission, data interaction efficiency can be submitted.
  • the application to be accelerated is an application that needs to exchange data with the server through the network.
  • the application to be accelerated exists in the form of a specific application client in the terminal.
  • the application client refers to a program that corresponds to the server and provides local services for the client.
  • the application client may be an application downloaded by the terminal for data interaction based on the network, or may be a specific web page for data access based on a browser.
  • the application to be accelerated can be a game application to achieve fast response in the game interaction process, and the application to be accelerated can also be an electronic map application, such as a navigation application, to achieve at least one of map data and navigation data Fast access to data.
  • the routing table is a data table that records the transmission path and receiving object of the data packet.
  • an application client interacts with data, it specifies an access address, and the original routing table in the terminal is used to record the transmission path of the application client, so that the terminal sends data traffic to the specified access address.
  • the routing table configured for the application to be accelerated can route the data packet sent by the application client of the application to be accelerated to the virtual network device, so as to realize the interception of the data packet. Routing refers to the process of data transfer from source objects to accessed objects.
  • the configuration of the routing table essentially modifies the transmission path and receiving objects of the original routing table.
  • the acceleration client configures the routing table in response to the acceleration request for the application to be accelerated, so that the data packets sent by the application client of the application to be accelerated can be routed to the virtual network device based on the configured routing table.
  • the acceleration request is used to request the acceleration client to perform accelerated processing on the data traffic sent by the application to be accelerated, so as to improve the interaction efficiency between the application client and the application server of the application to be accelerated.
  • a data packet refers to a data unit corresponding to interaction data that an application client needs to send to a corresponding application server.
  • a single message is divided into multiple data blocks, and each divided data block is called a data packet, and the data packet contains the address information of the sender and the address information of the receiver.
  • These data packets are then transmitted along different paths in one or more networks, and reassembled at the destination of the visit to realize data interaction.
  • the virtual network device refers to the virtual network device in the kernel of the operating system.
  • the virtual network device is used to assist the acceleration client to send and receive data packets.
  • the acceleration client can read the input data packet from the virtual network device, or Packets are written to the virtual network device and sent out.
  • a virtual network device is implemented in software, and provides exactly the same functions as a hardware network device to the software running on the operating system.
  • a virtual network device is a software device created by an application client in the operating system kernel. After the virtual network device is created, it can always exist in the kernel of the operating system, so as to reduce the creation process of the virtual network device and improve the processing speed.
  • the virtual network device can also be released after each application acceleration is completed, and recreated when the next accelerated data transmission is performed, so as to reduce the space occupied by the operating system kernel when the accelerated data transmission is not needed.
  • the virtual network device may be created by the acceleration client in response to the acceleration request for the application to be accelerated.
  • the acceleration client configures to route the data packet sent by the application client of the application to be accelerated to the routing table of the virtual network device, so that the application client of the application to be accelerated
  • the sent data packets are routed to the virtual network device according to the routing table.
  • multiple candidate application identifiers are displayed on the running page of the acceleration client, and the acceleration client determines the selected applications to be accelerated.
  • the acceleration client determines the selected applications to be accelerated.
  • the acceleration request for the selected application to be accelerated is triggered.
  • the acceleration client creates a virtual network device by responding to the acceleration request for the application to be accelerated, and then configures a routing table based on the virtual network device, so that the data packets sent by the application client are routed to the virtual network device through the routing table.
  • the candidate application identifiers that can be accelerated are displayed on the running page of the acceleration client, and the applications 1 to 9 shown in Figure 3 are candidates corresponding to the applications that can be accelerated Application ID.
  • the user wants to accelerate one of the applications for example, to accelerate the application 9, the user clicks the application identification corresponding to the application 9, and the application identification corresponding to the application 9 changes from the unselected state to the selected state.
  • the state and the unselected state can be distinguished through different display methods such as different border colors/different icon sizes.
  • an acceleration request is triggered for the selected application to be accelerated. Specifically, on the running page of the acceleration client, an acceleration request trigger entry is also displayed.
  • the application represented by the application identification to be accelerated can be triggered by triggering the acceleration request trigger entry. request for acceleration.
  • the acceleration client creates a virtual network device in the operating system kernel in response to the user's acceleration request for the application to be accelerated, and then configures the routing table based on the virtual network device.
  • the application client starts, the data packets sent by the application client It will be routed to the virtual network device based on the routing table to perform the subsequent accelerated transmission process.
  • the candidate application identifier can be the icon corresponding to the candidate game application, and there are multiple accelerated game icons displayed on the running page of the acceleration client.
  • the acceleration client responds to the trigger operation of the acceleration request trigger entry after the user selects the game icon, and executes the accelerated transmission processing of the data packet sent by the game application corresponding to the game icon, thereby enabling By selecting the application to be accelerated on the display page of the acceleration client, the user can quickly and conveniently select the application to be accelerated, such as the game to be accelerated.
  • Step 204 read the network layer data packet from the virtual network device, and parse out the original access address and data segment in the network layer data packet.
  • the network layer data packet refers to the data packet obtained from the network layer, and the network layer data packet is also called a datagram.
  • Datagram is a form of packet switching, which divides the transmitted data into segments and packages them separately, and transmits them as an independent message.
  • the network layer is used to process the packet sending request from the transport layer. After receiving the packet sending request, it loads the packet information into the IP datagram, fills the header, and selects the terminal or server corresponding to the access address. path, and then send the datagram to the appropriate network interface.
  • the network layer also processes the input datagram, first checks the validity of the input datagram, and then performs routing, if the datagram has reached the terminal or server corresponding to the access address, remove the header and leave the remaining The part is processed according to the appropriate transmission protocol; if the datagram has not reached the terminal or server corresponding to the access address, the datagram is forwarded.
  • Each datagram has two parts: a header and a message.
  • the header contains necessary content such as an access address, so that each datagram can accurately reach the destination of the access without going through the same path. Reassemble at the access site to restore the content in the datagram to the original sent data, and obtain the access address from the header by analyzing the network layer data packet.
  • the original access address refers to the address of the server that needs to exchange data with the application client, such as an application server.
  • the number of application servers corresponding to the application client can be one, or two or more. It is determined according to the background configuration data of the application to be accelerated.
  • the data packet sent by the application client includes a data packet requesting domain name resolution and a data packet requesting interaction, wherein the address obtained through analysis in the data packet requesting interaction is the original access address.
  • the original access address includes the original access IP address and the original access port; the original access address and the data segment in the network layer packet are resolved, including:
  • the data segment refers to the data content of the transport layer data packet obtained after parsing the network layer data packet.
  • the network layer data packet is analyzed to obtain the IP header and the transport layer data packet.
  • the IP header includes the access IP address
  • the transport layer data packet is divided into a TCP data packet and a UDP (User Datagram Protocol , User Datagram Protocol) two types of packets.
  • UDP User Datagram Protocol
  • the TCP header/UDP header and data segment can be obtained.
  • the TCP header/UDP header includes the access port, and the access address is composed of the access IP address and the access port.
  • the operating system of the terminal will route the data packets of the application client to the virtual network device based on the configured routing table, so as to accelerate the client to obtain the file descriptor of the virtual network device , where a file descriptor is an index to access a file or data.
  • the network layer data packet is read from the virtual network device to the acceleration client.
  • the network layer data packet is split into a header and a message by analyzing the network layer data packet. Get the original access address from the header.
  • Step 206 Use the address of the acceleration server associated with the application client as the update access address of the network layer data packet, and add the original access address to the header of the data segment to obtain the update data packet.
  • the acceleration server is an intermediate node in the data transmission link, which is respectively connected to the application client, the terminal where the acceleration client is located, and the application server.
  • the address of the acceleration server includes the IP address and port number of the acceleration server. Based on the IP address and port number, accurate network connection and data interaction can be realized.
  • the updated access address refers to the result of updating the original access address of the network layer data packet. By updating the access address, the network layer data packet can be sent to the acceleration server corresponding to the updated access address.
  • the head of the data segment refers to the frontmost position of the data content of the transport layer data packet.
  • the header of the data segment is the content of the data segment that can be identified and extracted by the acceleration server.
  • the content added to the header of the data segment includes the original access address corresponding to the original access address and the original access port.
  • the added content in the header of the data segment may also include relevant information corresponding to the application to be accelerated, which can be based on the interaction Configuration is required.
  • the update data packet is essentially an update of the data packets corresponding to the transport layer and the network layer, as shown in Figure 5, the specific update content includes the update of the data segment content of the transport layer (adding the header content of the data segment),
  • the data header of the transport layer is the update of the access port in the TCP header/UDP header, and the data header of the network layer is the update of the access IP address in the IP header.
  • the updated data packet is transmitted to the acceleration server corresponding to the updated access address, it also needs to be processed at the link layer and the physical layer. Since this application does not involve the improvement of the processing process at the link layer and the physical layer, in This does not expand the description.
  • Step 208 sending the update data packet to the acceleration server, so that the acceleration server accesses the application server indicated by the original access address based on the original access address in the data header, and makes the acceleration server return the response data packet fed back by the application server to the application server. client.
  • the acceleration server is an intermediate node in the data transmission link, and is respectively connected to the target terminal and the application server, and the target terminal refers to the terminal where the application client and the acceleration client are located.
  • the acceleration server can realize cross-regional data transmission. For example, taking game acceleration as an example, when a game player in country A plays a game on a game server in country B, since country A connects to country B as a cross-border connection, the network environment when connecting cross-border Extremely bad, including DNS hijacking, line congestion, operator restrictions, etc., resulting in a high probability of game disconnection, high delay, and inability to log in. These problems seriously affect the user's gaming experience.
  • the acceleration server can realize the interconnection between the network of country A and country B through the layout of nodes.
  • the acceleration server deployed in the acceleration node corresponding to a region in country A-a city in country B performs accelerated data transmission.
  • the acceleration server may be a cloud server.
  • the acceleration server After the acceleration server receives the update data packet, it will analyze the update data packet, extract the original access address at the head of the data segment in the update data packet, and then use the original access address as the access address to reconstruct the network based on the data segment layer data packet, and send the reconstructed network layer data packet to the application server indicated by the original access address.
  • the header of the newly added data segment in the update data packet is a unique field that can be recognized by the acceleration server, and the content of the data segment added in the header of the data segment can be quickly recognized and extracted by the acceleration server.
  • it is only necessary to complete the analysis of the network layer and the transport layer to realize the forwarding of the content of the data segment without encryption and decryption processing.
  • the acceleration server By sending the content of the data segment to be forwarded and the access address to the acceleration server through the update data packet, the acceleration server only performs forwarding processing of the data content through the address update, which greatly improves the use efficiency of the acceleration server.
  • the acceleration server After the acceleration server forwards the data packet to the application server, since the application server is the host corresponding to the original access address, that is, the data transmission arrives at the destination of the access, the application server will check the content of the data segment in the data packet forwarded by the acceleration server Perform response processing, determine the content of the response data, and feed it back to the acceleration server in the form of a data packet.
  • the source address in the data packet received by the acceleration server is the address of the acceleration server, so the feedback response data
  • the package will be sent directly to the acceleration server to realize the interaction between the acceleration server and the application server.
  • the acceleration server After obtaining the response data packet, the acceleration server returns the response data packet fed back by the application server to the application client. Specifically, based on the network connection relationship, the acceleration server will first send the response data packet back to the acceleration client, and then the acceleration client will send it to the application client, thereby realizing a complete data interaction process.
  • the above data acceleration transmission method based on the routing table configured by the acceleration client for the application to be accelerated, routes the data packets sent by the application client of the application to be accelerated to the virtual network device, so as to intercept the data packets and facilitate the acceleration of the client
  • Read the network layer data packet from the virtual network device parse out the original access address and data segment in the network layer data packet, realize the convenient and fast acquisition of the original access address, and use the address of the acceleration server associated with the application client as the
  • the updated access address of the network layer data packet, and the original access address is added to the head of the data segment to obtain the updated data packet, and the updated data packet is sent to the acceleration server, so that the acceleration server accesses based on the original access address in the data header
  • the application server indicated by the original access address, and the acceleration server returns the response data packet fed back by the application server to the application client.
  • the network layer data packet can be read through the routing table and the virtual network device, and the original data packet can be obtained directly from the network layer data packet.
  • the access address effectively improves the acquisition speed of the original access address and facilitates the processing of address data.
  • the acceleration server it only needs to forward the data packet according to the original access address, which significantly simplifies the processing capacity of the acceleration server and can effectively Improve the effect of accelerating data transfer.
  • the accelerated data transmission method further includes: analyzing the network layer data packet to determine the type of the transport layer protocol.
  • the network layer transmits the data packet sent by the source node to the destination node according to the network address, and the transport layer is responsible for reliably transmitting the data to the corresponding port.
  • the transport layer protocol category is divided into two categories, one is the connection-oriented transport protocol (TCP), and the other is the user datagram protocol (UDP).
  • TCP connection-oriented transport protocol
  • UDP user datagram protocol
  • TCP connection-oriented transport protocol
  • UDP user datagram protocol
  • UDP user datagram protocol
  • UDP is a connectionless protocol. The source end and the terminal do not establish a connection before transmitting data. When data transmission is required, the data from the application is captured and directly transmitted over the network.
  • the accelerated data transmission method may further include: determining whether the network layer data packet is a data packet to be accelerated based on the type of the transport layer protocol and the original access address.
  • the transport layer data packet can be obtained, and based on the type of the data header in the transport layer data packet, the type of the transport layer protocol can be determined. Specifically, when the transport layer data packet is a TCP data packet, the corresponding data header is a TCP header, and when the transport layer data packet is a UDP data packet, the corresponding data header is a UDP header.
  • the data packets to be accelerated are data packets that need to be accelerated by the acceleration server to be transmitted to the application server. Based on the transport layer protocol type and the original access address, it is determined whether the network layer data packet is a data packet to be accelerated. Specifically, when the transport layer protocol type is the UDP protocol, determine whether the network layer data packet is a data packet to be accelerated based on the decision logic and the original access address corresponding to the UDP protocol; when the transport layer protocol type is the TCP protocol, Based on the decision logic corresponding to the TCP protocol and the original access address, it is determined whether the network layer data packet is a data packet to be accelerated.
  • the judgment logic corresponding to the UDP protocol may include the judgment of the interactive object type of the network layer data packet and the judgment of the original access address, and the judgment logic corresponding to the TCP protocol includes the judgment of the original access address.
  • the address of the acceleration server associated with the application client is used as the updated access address of the network layer data packet, and the original access address is added to the header of the data segment to obtain an updated data packet, including:
  • the address of the acceleration server associated with the application client is used as the updated access address of the network layer data packet, and the original access address is added to the To the head of the data segment, get the update data packet.
  • the application client uses the address of the acceleration server associated with the application client as the updated access address of the network layer data packet, and adds the original access address to The head of the data segment, get the update data packet.
  • the application client uses the address of the acceleration server associated with the application client as the updated access address of the network layer data packet, and adds the original access address to The head of the data segment, get the update data packet.
  • the network layer data packet as the data packet to be accelerated as the data packet update condition, only the data packet to be accelerated is updated, which can realize the differentiation processing for the data packet and improve the data acceleration transmission efficiency of the data packet.
  • the data packet is transmitted directly according to the access address in the non-accelerated data packet.
  • the network layer data packet is a non-acceleration data packet
  • the IP address blacklist may be an IP address list composed of IP addresses corresponding to rejected interaction objects configured by the application client based on its background data processing logic. The non-acceleration data packets are further judged and processed through the IP address blacklist, which can avoid illegal interaction and improve security during the interaction process.
  • the differentiation of data packets can be realized processing to improve the data acceleration transmission efficiency of data packets.
  • the data packets are not updated, and the data packets are transmitted directly according to the access address of the non-accelerated data packets, so as to reduce the occupation of accelerated processing resources and realize targeted accelerated data transmission processing.
  • the determination process of the data packet to be accelerated includes: when the transport layer protocol type is UDP protocol and it is determined that the network layer data packet is not a domain name resolution request packet, the access IP address and the IP address in the original access address are white The list is matched; when there is a successfully matched IP address in the IP address white list, it is determined that the network layer data packet is a data packet to be accelerated.
  • the protocol type of the transport layer is the UDP protocol
  • the UDP protocol refers to the User Datagram Protocol, which is a connectionless transport layer protocol that provides transaction-oriented simple and unreliable information transmission services.
  • the domain name resolution request packet refers to the data packet whose access address points to the domain name server and needs to be sent to the domain name server, and the domain name server performs domain name resolution and returns the resolved IP address.
  • the IP address whitelist refers to a data table that contains multiple required IP addresses. The IP address in the IP address whitelist indicates that the data packets containing the IP address need to be accelerated data transmission. The matching result includes the existence of the same IP address in the IP address whitelist or the absence of the same IP address in the IP address whitelist.
  • the transport layer protocol type is the UDP protocol
  • the interaction objects corresponding to the network layer data packets there are at least two categories corresponding to the network layer data packets, one is the data packets that need to interact with the application server, The other type is data packets that need domain name resolution.
  • the required processing is to perform domain name resolution to obtain the IP address corresponding to the domain name, which is convenient for the application client to follow the IP address corresponding to the IP address.
  • the application client interacts.
  • the network layer data packet For data packets that need to interact with the application server, according to the IP address in the original access address, match the access IP address in the original access address with the IP address whitelist, and when the matching result is that the same IP exists in the IP address whitelist address, it is determined that the network layer data packet is a data packet to be accelerated. When the matching result is that the same IP address does not exist in the IP address whitelist, it is determined that the network layer data packet is a non-acceleration data packet.
  • the transport layer protocol type is the UDP protocol
  • the IP address whitelist based on the type of the interaction object corresponding to the network layer data packet, combined with the IP address whitelist, it is possible to accurately determine whether the network layer data packet is a data packet to be accelerated , to achieve targeted accelerated data transmission processing.
  • the process of judging whether the network layer data packet is a domain name resolution request packet includes: when the transport layer protocol type is the UDP protocol, analyzing the UDP data packet obtained Port analysis determines the access port in the UDP data packet; according to the relationship between the access port and the target port corresponding to the domain name resolution service, it is judged whether the network layer data packet is a domain name resolution request packet.
  • the transport layer data packet obtained after parsing the network layer data packet is a UDP data packet.
  • Port resolution refers to the process of obtaining port information from the data header of the transport layer data packet by parsing the transport layer data packet, where the port in the data header of the transport layer data packet includes the source port and the access port, and the source port refers to The corresponding sending port when sending a data packet, and the access port refer to the corresponding receiving port when receiving a data packet.
  • the application client determines that the type of the transport layer protocol is the UDP protocol, that is, the transport layer data packet obtained after parsing the network layer data packet is a UDP data packet
  • the application client performs port analysis on the UDP data packet obtained through analysis , to determine the access port in the UDP packet.
  • the access port By comparing the access port with the target port corresponding to the domain name resolution service, if the access port is the same as the target port corresponding to the domain name resolution service, it is determined that the network layer data packet is a domain name resolution request packet; if the access port corresponds to the domain name resolution service If the destination ports are different, it is determined that the network layer data packet is not a domain name resolution request packet.
  • the port number of the target port corresponding to the domain name resolution service is fixed, and the port number is 0053. If the port number of the access port is 0053, it is determined that the network layer data packet is a domain name resolution request packet; if the port number of the access port is not 0053, it is determined that the network layer data packet is not a domain name resolution request packet.
  • the UDP data packet is identified through the application client, and based on the relationship with the target port corresponding to the domain name resolution service, the data header of the UDP data packet includes the access port, so the process of port resolution is simple and easy to identify The speed is fast, and it can quickly and accurately judge whether the network layer data packet is a domain name resolution request packet, thereby improving the data processing efficiency.
  • the accelerated data transmission method further includes: when the network layer data packet is a domain name resolution request packet, obtaining the domain name to be resolved from the data segment; performing domain name resolution processing on the domain name to obtain the IP address corresponding to the domain name Address; when the domain name meets the domain name acceleration conditions, add the IP address to the IP address whitelist.
  • the data segment refers to the data content of the transport layer data packet obtained after parsing the network layer data packet.
  • the data content in the data segment in the domain name resolution request packet includes the domain name with resolution.
  • a domain name is a string of dot-separated names used to identify a computer during data transfer, usually includes the name of an organization, and always includes a two- to three-letter suffix to indicate the type of organization or where the domain resides. country or region.
  • Domain name resolution refers to the process of converting an intuitive domain name into an IP address that can be directly read by the computer.
  • the domain name and IP address are mapped to each other, so that users can access the Internet more conveniently, without having to remember the IP address that can be directly read by the machine number string.
  • the domain name acceleration condition is a condition limited to the domain name determined based on the demand for accelerated data transmission of the application to be accelerated. Specifically, the domain name acceleration condition may directly specify whether the IP corresponding to the specific domain name needs to be accelerated.
  • the application client determines that the network layer data packet is a domain name resolution request packet, the application client obtains the domain name to be resolved from the data segment, and judges whether the domain name meets the domain name acceleration conditions. When the domain name meets the domain name acceleration conditions, the application The client adds the IP address to the IP address whitelist based on the IP address corresponding to the domain name obtained through domain name resolution processing of the domain name.
  • the application client pulls the domain name rules from the background.
  • the domain name rules are based on the rules corresponding to the application to be accelerated.
  • the domain name rules include two types of domain names. The first type is the IP corresponding to the domain name that needs to be accelerated. The second category is that the IP corresponding to the domain name does not need to be accelerated.
  • the application client uses the mapping relationship between the domain name and the IP address in the domain name system to obtain the IP address corresponding to the domain name from the domain name system and add it to the IP address whitelist.
  • the expansion of the IP address white list can be realized, which facilitates more accurate processing in the subsequent processing. Data transfer acceleration.
  • the method of directly restricting the domain name by limiting domain name acceleration conditions can quickly add multiple IP addresses obtained based on domain name resolution. IP address.
  • performing domain name resolution processing on the domain name to obtain the IP address corresponding to the domain name includes: updating the access address in the domain name resolution request packet to the address corresponding to the preset domain name server, and updating the domain name of the access address
  • the resolution request packet is sent to the domain name server; the IP address returned by the domain name server after analyzing the domain name in the domain name resolution request packet is received.
  • the domain name server is a server that provides translation services between IP addresses and domain names.
  • the access address in the domain name resolution request packet can be the address of any domain name server.
  • Different domain name servers have different resolution accuracy for domain names.
  • the default domain name server is that the domain name resolution accuracy conforms to the resolution
  • the preset domain name server can be pre-configured based on the domain name resolution accuracy of the domain name server.
  • the application client updates the access address in the domain name resolution request packet to the address corresponding to the preset domain name server, and sends the domain name resolution request packet with the updated access address to the domain name server, and the domain name server responds to the address in the domain name resolution request packet.
  • the domain name is analyzed to obtain the IP address corresponding to the domain name, and the domain name server returns the IP address to the application client.
  • the application client updates the access IP address in the domain name resolution request packet to the IP address corresponding to the preset domain name server, and sends the domain name resolution request packet of the access IP address update to the virtual network device, the virtual network
  • the device sends the domain name resolution request packet for IP address update to the domain name server.
  • the domain name server analyzes the domain name in the domain name resolution request packet to obtain the IP address corresponding to the domain name, and then returns the IP address to the virtual network device. Read the IP address returned by the domain name server in the virtual network device.
  • the domain name in the domain name resolution request packet is resolved by the designated domain name server, and the IP address obtained by resolution can be guaranteed accuracy.
  • the network layer data packet is a data packet to be accelerated, including:
  • the transport layer protocol type is the TCP protocol
  • the original access IP address in the original access address is matched with the IP address whitelist; according to the matching result, it is judged whether the network layer data packet is a data packet to be accelerated.
  • the process of judging whether the network layer data packet is a data packet to be accelerated includes: when there is a successfully matched IP address in the IP address whitelist, determining that the network layer data packet is a data packet to be accelerated; When there is no IP address that matches successfully, it is determined that the network layer data packet is a non-accelerated data packet.
  • the TCP protocol is a connection-oriented, reliable, and byte-stream-based transport layer communication protocol
  • the transport layer protocol type is the TCP protocol, that is, the transport layer data packet is a TCP data packet.
  • the original access IP address refers to the original access IP obtained through the parsed IP header of the network layer data packet, that is, the IP address of the application server as the interaction object.
  • the application client determines that the type of the transport layer protocol is the TCP protocol, its processing process is the same as that of a common UDP data packet.
  • the application client matches the original access IP address with the IP address whitelist, and judges whether the network layer data packet is a data packet to be accelerated according to the matching result.
  • the matching result is that the same IP address exists in the IP address whitelist, it is determined that the network layer data packet is a data packet to be accelerated.
  • the matching result is that the same IP address does not exist in the IP address whitelist, it is determined that the network layer data packet is a non-acceleration data packet.
  • the protocol type of the transport layer is the TCP protocol
  • the IP address whitelist it is possible to quickly and accurately determine whether the data packet at the network layer is a data packet to be accelerated, and realize targeted accelerated data transmission processing.
  • the address of the acceleration server associated with the application client is used as the update access address of the network layer data packet, and the original access address is added to the header of the data segment to obtain the update data packet, including: Layer data packets are analyzed, and when the transport layer protocol type is determined to be the TCP protocol, the network layer data packets are forwarded to the local server created by the acceleration client; based on the local server, the address of the acceleration server associated with the application client is used as the network layer The updated access address of the data packet, and the original access address is added to the header of the data segment to obtain the updated data packet.
  • the local server is a server created locally by the acceleration client (ie, a terminal where the acceleration client is located) for data processing.
  • the acceleration client ie, a terminal where the acceleration client is located
  • the local server process TCP handshake, wave, flow control and other functions through the system protocol stack.
  • sending the update data packet to the acceleration server includes: sending the update data packet to the acceleration server based on the local server.
  • the application server determines that the type of the transport layer protocol is the TCP protocol based on the analysis of the network layer data packets
  • the application server creates a local server in the terminal operating system, forwards the network layer data packets to the local server, and the local server will apply
  • the address of the acceleration server associated with the client is used as the update access address of the network layer data packet, and the original access address is added to the header of the data segment to obtain an update data packet, and the local server sends the update data packet to the acceleration server.
  • the acceleration client needs to record four addresses: the application client address, the local server address, the acceleration server address, and the application server address. For data packets that do not need acceleration, it is not necessary to record the address of the acceleration server.
  • the acceleration client sends the data packet to the local server according to the address of the local server. After the local server receives the data packet, it sends it to the acceleration server or the application server. When the local server connects and receives the return packet from the acceleration server or the application server, it will query the address relationship recorded at the time of sending, and return the return packet data to the application client.
  • the TCP protocol is a data stream-oriented transmission protocol
  • the access address and source address do not change, it is only necessary to establish a link from the source address to the access address through the local server once.
  • the data flow can be transmitted by connecting the channel.
  • the access address or source address changes, it is necessary to re-establish a connection channel through the local server.
  • the update of the network layer data packet and the sending of the data packet are realized through the local server, which can adapt to the transmission characteristics of the TCP protocol, and realize the construction of the network layer with the TCP protocol on the premise of not responding to the original system architecture. Accelerated transmission of data packets.
  • the accelerated data transmission method further includes: adding the address of the accelerated server associated with the application client and the original access address to the TCP data list.
  • the TCP data list is used to record the relevant information of the TCP data packet, which can specifically include the address of the application client, the address of the local server, the address of the acceleration server and the address of the application server, and provide data for the address update of the local server through the TCP data list Query basis.
  • the application server creates a TCP data list, and records the address of the created local server and the address of the acceleration server in the TCP data list.
  • the source address and the access address that is, the address of the application client and the address of the application server are obtained, and the address of the application client and the address of the application server are added to the TCP data list.
  • the address of the acceleration server associated with the application client is used as the update access address of the network layer data packet, and the original access address is added to the header of the data segment to obtain the update data packet, including:
  • the server checks the TCP data list to obtain the address of the acceleration server and the original access address; based on the local server, the address of the acceleration server is used as the update access address of the network layer data packet, and the original access address is added to the header of the data segment. Get the update package.
  • the local server After the local server receives the network layer data packet corresponding to the TCP protocol, the local server checks the TCP data list to obtain the address of the acceleration server and the original access address, and the local server uses the address of the acceleration server as the update of the network layer data packet access address, and add the original access address to the head of the data segment to obtain an update data packet, and the local server sends the update data packet to the acceleration server.
  • the application client adds the acceleration server address and the application server address to the TCP data list, so that the local server can reverse check the TCP data list, thereby obtaining the acceleration server address and the application server quickly and conveniently, and improving the data packet update rate. processing speed.
  • returning the response data packet fed back by the application server to the application client includes:
  • the acceleration client receives the response data packet returned by the acceleration server, and the response data packet is fed back to the acceleration server by the application server; the acceleration client updates the source address of the response data packet to the address of the application server, and the updated response data The packets are fed back to the application client through the virtual network device.
  • the virtual network device refers to a virtual network device created in the operating system kernel, and the virtual network device is used to assist the acceleration client to send and receive data packets with the application client.
  • the virtual network device can receive the data packet sent by the application client and send the response data packet after the address of the accelerated client is updated to the application client.
  • the acceleration server transmits data with the acceleration client through the virtual network device and performs data interaction with the application client.
  • the acceleration server first feeds back the The response data packet is returned to the acceleration client, the source address of the response data packet is updated to the address of the application server, the access address is updated to the address of the application client, and an updated response data packet is obtained, and the acceleration client passes the updated response data packet through The virtual network device feeds back to the application client.
  • the path for the response data packet to be transmitted back to the application client is defined, so that the fast transmission of the response data packet can be realized.
  • the information represented by the response data packet obtained by the application client is sent back to the application client by the application server.
  • the content of the data packet sent and received will not Affected by the accelerated data transfer process, ensure data accuracy during the accelerated data transfer process.
  • the application to be accelerated is the game to be accelerated; the data accelerated transmission method further includes: in response to the selection operation of the game to be accelerated in the candidate game list, determining the geographical area where the game server of the game to be accelerated is located; The corresponding speed measurement results of the candidate server nodes matching the area determine the target node meeting the speed measurement conditions among the candidate server nodes; determine the acceleration server deployed on the target node as the acceleration server associated with the application client.
  • the candidate game list includes the game identifiers of one or more games capable of accelerated data transmission.
  • the game identifiers may be composed of at least one data information among game icons and game names. Each game identifier represents a specific game.
  • the game ID is the selected game to be accelerated.
  • the geographical area where the game server is located is also called the game area server. For example, if the geographical area where the game server is located is Japan, the game area server can be referred to as the Japanese server for short; if the geographical area where the game server is located is South Korea, the game area server can be referred to as the Korean server for short.
  • the candidate server node is an optional server node, and the server node corresponds to a cross-regional transmission path, such as China-Korea, China-Japan.
  • acceleration nodes are distributed in China, and the configuration areas mainly include East China (the eastern part of China), North China (the area north of the Qinling-Huaihe line and south of the Great Wall in China) and For the three regions of South China (Southern China), for games whose server is Japanese, the candidate server nodes include East China-Tokyo, South China-Tokyo, and North China-Tokyo.
  • the target node meeting the speed measurement condition may be the candidate server node with the best speed measurement result.
  • the speed measurement result refers to sampling a certain number of server nodes in each area for speed measurement, and then selecting the target node with the best speed measurement result according to the node's load, delay and other data, and deploying the server on the server node.
  • the server node can be Cloud server access point.
  • the acceleration client responds to the selection operation of the game to be accelerated in the list of candidate games, and displays the candidate area server of the game to be accelerated, and responds to the selection of the candidate area server.
  • the selection operation of the target area server in the target area server displays the candidate nodes corresponding to the target area server and the speed measurement results corresponding to each candidate node.
  • initiate Accelerate the request and determine the acceleration server deployed on the target node as the acceleration server associated with the application client.
  • the candidate server nodes that match the geographical area, which can realize the transmission of game data packets across geographical areas, and determine the The target nodes that meet the speed measurement conditions among the candidate server nodes are selected to select the best target node, so that the game data transmission can be performed based on the acceleration server deployed on the target node, so as to improve the data acceleration transmission effect of the game data.
  • This application also provides an application scenario of game acceleration in which the game player and the game server are in different countries on the macOS platform.
  • the standard operating system also provides Unix (UnIPlexed Information and Computing Service, a multi-user, multi-process computer operating system) command line and its powerful application tools.
  • This application scenario applies the above-mentioned accelerated data transmission method. Specifically, the application of the accelerated data transmission method in this application scenario is as follows:
  • the data packets on the TUN device are forwarded to the access point of the cloud server, and the data packets are connected to the game server in country B through the dedicated line of the cloud server, thus avoiding problems such as network congestion and operator hijacking. Play foreign server games with low latency and low jitter in the environment of country A, which improves the user's gaming experience.
  • the application of the data accelerated transmission method in the game application scenario includes the following steps:
  • Step 602 in response to the selection operation of the game to be accelerated in the candidate game list, determine the geographical area where the game server of the game to be accelerated is located.
  • Step 604 based on the speed measurement results corresponding to the candidate server nodes that match the geographical area, determine the target node that meets the speed measurement conditions among the candidate server nodes, and determine the acceleration server deployed on the target node as the acceleration server corresponding to the game client .
  • Step 606 based on the routing table configured for the game to be accelerated, route the data packet sent by the game client to be accelerated to the virtual network device.
  • Step 608 read the network layer data packet from the virtual network device, analyze the network layer data packet, obtain the original access IP address and the transport layer data packet, determine the transport layer protocol type, analyze the transport layer data packet, and obtain Raw access port and data segment.
  • Step 610 when the type of the transport layer protocol is the UDP protocol, perform port analysis on the analyzed UDP data packet, and determine the access port in the UDP data packet.
  • Step 612 when the access port is the same as the target port corresponding to the domain name resolution service, determine that the network layer data packet is a domain name resolution request packet, and obtain the domain name to be resolved from the data segment.
  • Step 614 update the access address in the domain name resolution request packet to the address corresponding to the preset domain name server, and send the domain name resolution request packet with the updated access address to the domain name server, and the domain name server in the domain name resolution request packet is received.
  • Step 616 when the domain name meets the domain name acceleration conditions, add the IP address to the IP address white list.
  • Step 618 when the access port is different from the target port corresponding to the domain name resolution service, and the IP address white list includes the access IP address in the original access address, it is determined that the network layer data packet is a data packet to be accelerated.
  • Step 620 use the address of the acceleration server corresponding to the game client as the update access address of the network layer data packet, and add the original access address to the header of the data segment to obtain the update data packet, and send the update data packet to the acceleration server .
  • Step 622 when the protocol type of the transport layer is the TCP protocol, match the original access IP address in the original access address with the IP address white list.
  • Step 624 when the IP address whitelist includes the access IP address in the original access address, it is determined that the network layer data packet is a data packet to be accelerated.
  • Step 626 add the address of the acceleration server corresponding to the game client and the original access address to the TCP data list, and forward the network layer data packet to the local server created by the acceleration client.
  • Step 628 the local server reversely checks the TCP data list, obtains the address of the acceleration server and the original access address, uses the address of the acceleration server as the update access address of the network layer data packet, and adds the original access address to the head of the data segment to obtain Update the data package, and send the update data package to the acceleration server.
  • Step 630 the acceleration server accesses the game server indicated by the original access address based on the original access address in the data header, and makes the acceleration server return the response data packet fed back by the game server to the acceleration client.
  • Step 632 the acceleration client updates the source address of the response data packet to the address of the game server, and feeds the response data packet with the updated source address back to the game client through the virtual network device.
  • the game library that includes the game identifications of the games that can be accelerated is displayed on the page of the accelerated client, such as games 1 to 9 shown in Figure 7, and the game library provided by the user on the accelerated client Select the game that needs to be accelerated, and the user can quickly find the game that needs to be accelerated through keyword search, and display it on the current page.
  • the acceleration client will display the candidate area server (the geographical area where the game server is located) and the candidate acceleration node corresponding to the game to be accelerated.
  • the game is network accelerated.
  • the user can also click the "Smart Acceleration" control after selecting the game and regional server that need to be accelerated, and the acceleration server will automatically assign the optimal acceleration node to perform network acceleration on the game.
  • the acceleration client After the user clicks on the game acceleration, the acceleration client will obtain key information such as the game that needs to be accelerated, the server of the game, and the acceleration node.
  • the user can manually select an acceleration node, or request automatic selection of an acceleration node.
  • Acceleration nodes are used to realize the direct connection between two geographic regions. When the user selects a region server, it is a node for the target geographic region.
  • Candidate acceleration nodes include regions whose starting geographic regions are different but the destination geographic region is the selected region server. multiple acceleration nodes.
  • the initial geographical regions are distributed in China, including three regions of East China, North China and South China according to China's geographical division.
  • the acceleration client obtains the available candidate acceleration nodes from the background according to the selected game and game area server information, samples the transmission data of a certain number of acceleration nodes from each area for speed measurement, and displays the speed measurement results on the corresponding acceleration nodes.
  • the speed measurement results include load data and delay data, so that the optimal acceleration node can be manually or automatically selected as the target node based on the displayed load data and delay data, so as to determine the acceleration server corresponding to the acceleration node.
  • the acceleration client determines the candidate geographic area where the game server of the game to be accelerated is located in response to the selection operation of the game to be accelerated in the candidate game list, and the acceleration client determines the selected geographical area in response to the user's selection operation on the candidate geographic area.
  • the acceleration client displays the speed measurement results corresponding to the candidate server nodes that match the target geographic area, the acceleration client responds to the user's selection of the target server node among the candidate server nodes, determines the target node, and will deploy it on the target
  • the acceleration server of the node is determined to be the acceleration server corresponding to the game client, and the acceleration client configures a routing table for the game to be accelerated, and based on the routing table, routes the data packets sent by the game client to be accelerated to the virtual network device for transmission Speed up processing.
  • the transmission line of the game data packet is determined.
  • the operating system corresponding to the terminal where the game application and the accelerated client are located may be macOS, which is an operating system conforming to the POSIX standard and supports most Unix features, so it can support TUN.
  • the acceleration client creates a TUN device in the terminal operating system and obtains the file descriptor of the TUN device. After creating the TUN device, you need to configure the routing table of the system so that the game data packets sent by the game client can be routed to the TUN device based on the routing table. It should be noted that the TUN can be recreated every time a new game is selected for acceleration, and the created TUN can be released after the game acceleration ends, so as to avoid unnecessary occupation of terminal resources and realize efficient and reasonable utilization of terminal resources.
  • the acceleration client performs differential processing on the data packets on the TUN device. Specifically, the acceleration client performs differential processing on the data packets sent by the game client based on the domain name rules pulled from the background and the black/white list of IP addresses. Among them, the domain name rule is used to deal with the case that the acquired data packet is a DNS data packet.
  • the domain name rule divides the data packet into three types according to the access IP address. The first type needs to accelerate the analysis of the DNS data packet, and the resolution The data packet corresponding to the IP address needs to be accelerated.
  • the specific processing method can be to add the resolved IP address to the IP address whitelist; the second type is to accelerate the resolution of the DNS data packet, and the resolved IP address corresponds to The data packets that do not need to be accelerated; the third type is DNS data packets that do not need to be accelerated and resolved, and the data packets corresponding to the resolved IP addresses do not need to be accelerated.
  • accelerated resolution means that by modifying the access address of the DNS data packet, the DNS data packet is sent to the designated domain name server, and the designated domain name server analyzes the domain name in the DNS data packet to obtain the corresponding IP address of the domain name.
  • the DNS data packet that does not need accelerated resolution is based on the original access address, the DNS data packet is sent to the domain name server corresponding to the access address, and the IP address after the domain name server resolves the domain name is received.
  • the IP address black/white list is for TCP data packets and non-DNS ordinary UDP data packets for corresponding processing. Specifically, if the original access IP address in the data packet belongs to the IP address whitelist, then the data packet is accelerated to be transmitted; if the original access IP address in the data packet belongs to the IP address blacklist, the data packet is intercepted without data Packet sending; if the original access IP address in the data packet is neither in the IP address whitelist nor in the IP address blacklist, then the data packet will be transmitted through a bare-bones traffic connection. The original access address is transmitted according to the existing data transmission method.
  • the timing diagram of the accelerated data transmission process is shown in Figure 9.
  • the terminal includes the game client, the accelerated client, and the created TUN.
  • the game client routes the game data packet to the TUN through the routing table, and the acceleration client reads the game data packet from the TUN.
  • the acceleration client judges that it is the one to be accelerated based on the access IP address in the game data packet
  • the original access IP address that is, the game server address
  • the access address of the game data packet is modified to the acceleration server address, and an updated game data packet is obtained, and sent to the acceleration server
  • the acceleration server obtains the address of the game server by analyzing the header data of the data segment, and sends the game data packet to the game server.
  • the game server makes a corresponding response to the game data packet, and feeds back the response packet to the acceleration server.
  • the acceleration server address is changed to the game server address, and the response data packet is fed back to the game client through TUN.
  • the forwarding of the game data packets is the key point to realize the accelerated transmission of game data.
  • the acceleration client reads the data from the TUN device according to the file descriptor of the TUN device. After obtaining the game data packet, the acceleration client will record the source IP, source port, access IP, and access port of the original data packet as a quadruple, and then perform different operations according to different transport layer protocols. deal with.
  • the update mode of the data packet corresponding to the data packet to be accelerated is related to its corresponding transport layer protocol.
  • the transport layer protocol is the UDP protocol
  • the acceleration client will add the acceleration information including the game server’s access IP address and access port to the head of the data segment in the data packet during each data packet transmission, and Modify the access IP address and access port of the data packet to the IP address and port of the acceleration server, and then send the modified data packet to the acceleration server to establish the acceleration client and the acceleration server, and realize the interaction with the game server based on the acceleration server.
  • the acceleration channel is established through the authentication packet, and only in the first transmission process of the data packet, the acceleration information is added to the header of the data segment of the data packet, and the data packet Modify the access IP address and access port to the IP address and port of the acceleration server, and then send the modified data packet to the acceleration server to establish an accelerated transmission channel between the acceleration client and the acceleration server, and then the subsequent data packets that need to be accelerated All can be directly transmitted to the acceleration server based on the established accelerated transmission channel, and the interaction with the game server is realized based on the accelerated server.
  • TCP transport layer protocol
  • the acceleration client reads the data packets of the transport layer from the TUN, analyzes the data packets of the transport layer, obtains the access IP address and the UDP data packet, and then Identify the port number of the access port in the UDP data packet, judge whether the data packet is a DNS data packet based on the port number, and if the port number is 0053, then determine that the data packet is a DNS data packet.
  • the domain name to be resolved is obtained from the data segment of the data packet through the DNS protocol.
  • the parsing process corresponding to the DNS data packet may be determined based on the category to which the access IP address belongs in the domain name rule.
  • the acceleration client will send the DNS data packets to the designated domain name server, and the acceleration client will receive the After the DNS reply packet returned by the specified domain name server, add the IP address in the reply packet to the IP address whitelist.
  • the acceleration client will send the DNS data packets to the designated domain name server and receive the DNS response returned by the designated domain name server.
  • the IP address in the returned packet is fed back to the game client, and the game client selects an IP address as the access IP based on its own processing logic. If it is the third category, that is, it does not need to accelerate the resolution and the data packet corresponding to the parsed access IP does not need to be accelerated, the accelerated client will directly send the DNS data packet to the domain name server corresponding to the original access address, and the domain name server will return After the DNS returns the packet, the IP address in the returned packet is fed back to the game client, and the game client selects an IP address from the IP address in the returned packet as the access IP based on its own processing logic.
  • the port number of the access port in the UDP data packet is not 0053, that is, it is a common UDP data packet, then it is judged according to the IP address black/white list whether to need accelerated data transmission for processing.
  • the IP address black/white list By matching the original access IP address in the data packet with the IP address whitelist and the IP address blacklist respectively, if the original access IP address in the data packet belongs to the IP address whitelist, then determine the data packet as the data packet to be accelerated , to accelerate the transmission of the data packet to be accelerated; if the original access IP address in the data packet belongs to the IP address blacklist, then intercept the data packet and not send the data packet.
  • the access address of the data packet is first updated to the address of the acceleration server, and then the data packet is sent to the acceleration server, and then the data interaction with the game server is performed through the acceleration server. If the data packet does not need to be accelerated, the data packet is directly sent to the game server through the original network connection through the bare connection of the traffic.
  • the update processing of data packets is similar to the processing of ordinary UDP data packets, but since TCP is connection-oriented, for data packets obtained from TUN, the acceleration client will establish a local server locally on the terminal , through the protocol stack of the local server to handle TCP handshake, wave, flow control and other processes.
  • the acceleration server adds the address of the acceleration server corresponding to the game client and the original access address to the TCP data list for TCP data recording, and forwards the game data packet to the local server created by the acceleration client , after receiving the game data packet, the local server obtains the address of the acceleration server and the original access address by checking the TCP data list in reverse, the local server uses the address of the acceleration server as the update access address of the game data packet, and adds the original access address To the head of the data segment, the update data packet is obtained, and the local server sends the update data packet to the acceleration server to realize the interaction with the game server. After the local server receives the response data packet from the game server, it sends it to the acceleration server. When the local server receives the response data packet, it checks the address relationship recorded at the time of sending, and sends the response data packet back to the game client.
  • the acceleration server After receiving the game data packet, the acceleration server determines the game server address based on the access IP address and access port recorded in the header of the data segment in the game data packet, and then the acceleration server sends the game data packet to the game server, and the game server The response data packet will be sent back to the acceleration server. After receiving the response data packet from the game server, the acceleration server will send it back to the acceleration client. After receiving the response data packet from the acceleration server, the acceleration client will modify the source address to the game server address, and then feed back the response packet with the modified source address to the game client to realize accelerated data interaction between the game client and the game server.
  • the accelerated client needs to record multiple addresses, including the game client address, accelerated client address, accelerated server address, and game server address.
  • the recorded address also includes the local server address.
  • the game data packets generated by the game client are routed to the TUN device, the acceleration client reads the data packets from the TUN device, and different forwarding processes are performed according to different data protocols and acceleration rules.
  • the acceleration server communicates with the TCP/UDP protocol, and communicates with the acceleration server according to different data processing procedures.
  • the acceleration server forwards according to the access address recorded in the data segment header of the data packet.
  • the data address Relationship processing and acceleration logic judgment are all in the acceleration client, which reduces the data processing volume of the acceleration server, realizes the function of network acceleration for the game, and performs differential processing on the game data packets without affecting the normal network access of users , according to the game area server selected by the user, the data packet is forwarded to achieve the goal of game acceleration and meet the acceleration needs of macOS game users.
  • steps in the flow chart of FIG. 2 are displayed sequentially as indicated by the arrows, these steps are not necessarily executed sequentially in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least some of the steps in FIG. 2 may include multiple steps or stages. These steps or stages are not necessarily executed at the same time, but may be executed at different times. The execution order of these steps or stages is also It is not necessarily performed sequentially, but may be performed alternately or alternately with other steps or at least a part of steps or stages in other steps.
  • a data acceleration transmission device 1200 is provided.
  • the device may adopt software modules or hardware modules, or a combination of the two to become a part of computer equipment.
  • the device specifically includes: Packet routing module 1202, data packet parsing module 1204, data packet updating module 1206 and data packet sending module 1208, wherein:
  • a data packet routing module 1202 configured to route the data packets sent by the application client of the application to be accelerated to the virtual network device based on the routing table created for the application to be accelerated;
  • the data packet analysis module 1204 is used to read the network layer data packet from the virtual network device, and resolve the original access address and data segment in the network layer data packet;
  • the data packet update module 1206 is used to use the address of the acceleration server associated with the application client as the updated access address of the network layer data packet, and add the original access address to the header of the data segment to obtain the updated data packet;
  • the data packet sending module 1208 is configured to send the update data packet to the acceleration server, so that the acceleration server accesses the application server indicated by the original access address based on the original access address in the data header, and makes the acceleration server send the response data fed back by the application server The packet is passed back to the application client.
  • the data accelerated transmission device further includes a data packet analysis module; wherein:
  • the data packet parsing module is used to analyze the network layer data packet to determine the transport layer protocol type; the data packet update module is also used to determine that the network layer data packet is a data packet to be accelerated based on the transport layer protocol type and the original access address , using the address of the acceleration server associated with the application client as the update access address of the network layer data packet, and adding the original access address to the head of the data segment to obtain the update data packet.
  • the data accelerated transmission device further includes a data packet judgment module to be accelerated including an IP address matching module and a data packet judgment unit to be accelerated, wherein:
  • the IP address matching module is used to match the access IP address in the original access address with the IP address whitelist when the transport layer protocol type is the UDP protocol and it is determined that the network layer data packet is not a domain name resolution request packet; the data packet to be accelerated
  • the judging unit is configured to judge that the network layer data packet is a data packet to be accelerated when there is a successfully matched IP address in the IP address whitelist.
  • the data packet sending module is also used to determine that the network layer data packet is a non-accelerated data packet when there is an IP address that does not match successfully in the IP address whitelist; according to the access address in the non-accelerated data packet Carry out data packet transmission.
  • the data packet sending module is further configured to, when judging that the access IP address in the non-acceleration data packet is not a black IP address based on the IP address blacklist matched with the application client, according to the non-acceleration data The access address in the packet is used to transmit the data packet.
  • the accelerated data transmission device further includes a process termination module, configured to terminate the process when it is judged that the access IP address in the non-accelerated data packet is a black IP address based on the IP address blacklist matched with the application client. The process of sending non-accelerated packets.
  • the data accelerated transmission device also includes a domain name resolution request packet judging unit, which is used to perform port analysis on the UDP data packet obtained by analysis when the transport layer protocol type is UDP protocol, and determine the access in the UDP data packet.
  • Port According to the relationship between the access port and the target port corresponding to the domain name resolution service, determine whether the network layer data packet is a domain name resolution request packet.
  • the domain name resolution request packet judging unit is also used to compare the access port with the target port corresponding to the domain name resolution service; if the access port is the same as the target port corresponding to the domain name resolution service, then determine the The packet is a domain name resolution request packet; if the access port is different from the target port corresponding to the domain name resolution service, it is determined that the network layer data packet is not a domain name resolution request packet.
  • the accelerated data transmission device further includes a domain name acquisition module, a domain name resolution result acquisition module and an IP address whitelist update module, wherein:
  • the domain name acquisition module is used to obtain the domain name to be resolved from the data segment if the network layer data packet is a domain name resolution request packet; the domain name resolution result acquisition module is used to obtain the IP corresponding to the domain name based on the domain name resolution processing of the domain name Address; an IP address whitelist update module, used to add the IP address to the IP address whitelist when the domain name meets the domain name acceleration conditions.
  • the domain name resolution result acquisition module includes a domain name resolution request package update module and a resolution result receiving module, wherein:
  • the domain name resolution request package updating module is used to update the access address in the domain name resolution request package to the address corresponding to the preset domain name server, and sends the domain name resolution request package of the access address update to the domain name server; the resolution receiving module uses The IP address returned by the receiving domain name server after analyzing the domain name in the domain name resolution request packet.
  • the data packet judging module to be accelerated is also used for matching the original access IP address in the original access address with the IP address whitelist when the transport layer protocol type is the TCP protocol; When there is a successfully matched IP address, it is determined that the network layer data packet is a data packet to be accelerated.
  • the data packet updating module is also used for forwarding the network layer data packet to the local server created by the acceleration client when determining that the transport layer protocol category is the TCP protocol based on the analysis of the network layer data packet; Based on the local server, the address of the acceleration server associated with the application client is used as the update access address of the network layer data packet, and the original access address is added to the head of the data segment to obtain the update data packet; the data packet sending module also uses Based on the local server, the update data packet is sent to the acceleration server.
  • the data acceleration transmission device also includes an address addition module; the address addition module is used to add the address and the original access address of the acceleration server associated with the application client to the TCP data list; the data packet update module includes data The list anti-check unit and the data packet update unit; the data list anti-check unit is used to check the TCP data list based on the local server, and obtains the address and the original access address of the acceleration server; the data packet update unit is used for based on the local server.
  • the address of the acceleration server is used as the update access address of the network layer data packet, and the original access address is added to the header of the data segment to obtain the update data packet.
  • the original access address includes the original access IP address and the original access port; the packet analysis module is also used to analyze the network layer packet to obtain the original access IP address and the transport layer packet; to the transport layer The data packet is analyzed to obtain the original access port and data segment.
  • the data accelerated transmission device also includes a response data packet return module; a response data packet return module, which is used to receive the response data packet returned by the acceleration server, and the response data packet is fed back to the acceleration server by the application server, The source address of the response data packet is updated to the address of the application server, and the response data packet after the source address is updated is fed back to the application client through the virtual network device.
  • the application to be accelerated is a game to be accelerated;
  • the data accelerated transmission device further includes a district server determination module, a target node determination module and an acceleration server determination module, wherein:
  • the district service determination module is used to determine the geographical area where the game server of the game to be accelerated is located in response to the selected operation for the game to be accelerated in the candidate game list; the target node determination module is used to determine based on the candidate server node matching the geographical area The corresponding speed measurement results determine the target node meeting the speed measurement conditions among the candidate server nodes; the acceleration server determination module is used to determine the acceleration server deployed on the target node as the acceleration server associated with the application client.
  • Each module in the above-mentioned accelerated data transmission device may be realized in whole or in part by software, hardware or a combination thereof.
  • the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, and can also be stored in the memory of the computer device in the form of software, so that the processor can invoke and execute the corresponding operations of the above-mentioned modules.
  • a computer device is provided.
  • the computer device may be a terminal, and its internal structure may be as shown in FIG. 13 .
  • the computer device includes a processor, a memory, a communication interface, a display screen and an input device connected through a system bus. Wherein, the processor of the computer device is used to provide calculation and control capabilities.
  • the memory of the computer device includes a non-volatile storage medium and an internal memory.
  • the non-volatile storage medium stores an operating system and computer readable instructions.
  • the internal memory provides an environment for the execution of the operating system and computer readable instructions in the non-volatile storage medium.
  • the communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be realized through WIFI, an operator network, NFC (Near Field Communication) or other technologies.
  • a data acceleration transmission method is realized.
  • the display screen of the computer device may be a liquid crystal display screen or an electronic ink display screen
  • the input device of the computer device may be a touch layer covered on the display screen, or a button, a trackball or a touch pad provided on the casing of the computer device , and can also be an external keyboard, touchpad, or mouse.
  • FIG. 13 is only a block diagram of a part of the structure related to the solution of this application, and does not constitute a limitation on the computer equipment on which the solution of this application is applied.
  • the specific computer equipment can be More or fewer components than shown in the figures may be included, or some components may be combined, or have a different arrangement of components.
  • a computer device including a memory and one or more processors, where computer-readable instructions are stored in the memory, and the above-mentioned methods are implemented when the one or more processors execute the computer-readable instructions Steps in the examples.
  • a computer-readable storage medium which stores computer-readable instructions, and when the computer-readable instructions are executed by one or more processors, the steps in the foregoing method embodiments are implemented.
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • One or more processors of the computer device read the computer instructions from the computer-readable storage medium, and the one or more processors execute the computer instructions, so that the computer device executes the steps in the foregoing method embodiments.
  • Non-volatile memory may include read-only memory (Read-Only Memory, ROM), magnetic tape, floppy disk, flash memory or optical memory, etc.
  • Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • DRAM Dynamic Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种数据加速传输方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。方法包括:基于针对待加速应用所配置的路由表,将待加速应用的应用客户端所发出的数据包路由至虚拟网络设备(202),从虚拟网络设备中读取网络层数据包,解析出网络层数据包中的原始访问地址和数据段(204),将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包(206),将更新数据包发送至加速服务器,以使加速服务器基于数据头中的原始访问地址访问原始访问地址所指示的应用服务器,并使加速服务器将应用服务器反馈的响应数据包回传至应用客户端(208),有效提高数据加速传输效果。上述方法还能够应用于智慧交通,实现地图数据的加速传输。

Description

数据加速传输方法、装置、计算机设备和存储介质
相关申请的交叉引用
本申请要求于2021年09月08日提交中国专利局,申请号为202111049966.0,申请名称为“数据加速传输方法、装置、计算机设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据传输技术领域,特别是涉及一种数据加速传输方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术
随着互联网技术的发展,数据的快速安全传输成为了数据交互过程中的重要需求。以游戏场景为例,当网络环境恶劣时,经常出现DNS(Domain Name System,域名系统)劫持,线路拥堵等问题,大概率会导致出现游戏掉线、延迟过高、无法登录等问题,这些问题严重影响用户的游戏体验。为解决这一问题,提出了使用VPN(Virtual Private Network,虚拟专用网络)的方式进行数据传输。通过与VPN服务器基于私有协议建立加密连接,VPN服务器收到数据以后需要解密然后用正常的TCP(Transmission Control Protocol,传输控制协议)/IP(Internet protocol,网际互连协议)协议与真正的游戏服务器建连,VPN服务器收到真正的游戏数据以后加密发回给客户端。
然而,客户端与VPN服务器建立连接时需要使用私有协议进行通信并且客户端与服务端都需要加解密的工作。加密解密会影响VPN服务器的性能,增加通信所需的时延,导致服务器的数据处理效率低,影响数据加速传输的效果。
发明内容
本申请的实施例提供一种数据加速传输方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
一种数据加速传输方法,由计算机设备执行,所述方法包括:
基于针对待加速应用所配置的路由表,将所述待加速应用的应用客户端所发出的数据包路由至虚拟网络设备;
从所述虚拟网络设备中读取网络层数据包,解析出所述网络层数据包中的原始访问地址和数据段;
将所述应用客户端所关联的加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据包;及
将所述更新数据包发送至所述加速服务器,以使所述加速服务器基于所述数据头中的 原始访问地址访问所述原始访问地址所指示的应用服务器,并使所述加速服务器将所述应用服务器反馈的响应数据包回传至所述应用客户端。
一种数据加速传输装置,所述装置包括:
数据包路由模块,用于基于针对待加速应用所创建的路由表,将所述待加速应用的应用客户端所发出的数据包路由至虚拟网络设备;
数据包解析模块,用于从所述虚拟网络设备中读取网络层数据包,解析出所述网络层数据包中的原始访问地址和数据段;
数据包更新模块,用于将所述应用客户端所关联的加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据包;及
数据包发送模块,用于将所述更新数据包发送至所述加速服务器,以使所述加速服务器基于所述数据头中的原始访问地址访问所述原始访问地址所指示的应用服务器,并使所述加速服务器将所述应用服务器反馈的响应数据包回传至所述应用客户端。
一种计算机设备,包括存储器和一个或多个处理器,所述存储器存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述数据加速传输方法的步骤。
一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行上述数据加速传输方法的步骤。
一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机可读指令,所述计算机可读指令存储在计算机可读存储介质中,计算机设备的一个或多个处理器从所述计算机可读存储介质读取所述计算机可读指令,所述一个或多个处理器执行所述计算机可读指令,使得所述计算机设备执行上述数据加速传输方法的步骤。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征、访问和优点将从说明书、附图以及权利要求书变得明显。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据加速传输方法的应用环境图;
图2为一个实施例中数据加速传输方法的流程示意图;
图3为一个实施例中选择待加速应用的页面示意图;
图4为另一个实施例中网络层数据包的解析结果示意图;
图5为一个实施例中网络层数据包更新前后的对比示意图;
图6为另一个实施例中数据加速传输方法的流程示意图;
图7为一个实施例中待加速游戏的选择页面示意图;
图8为一个实施例中待加速游戏的区服和节点选择的页面示意图;
图9为一个实施例中数据加速传输方法的时序图;
图10为一个实施例中UDP数据包对应的流程示意图;
图11为一个实施例中TCP数据包对应的流程示意图;
图12为一个实施例中数据加速传输装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据加速传输方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与加速服务器120进行通信,加速服务器120通过网络与应用服务器130进行通信。终端包括应用客户端102、加速客户端104、以及由加速客户端104创建的虚拟网络设备106。终端102基于路由表,将待加速应用的应用客户端102所发出的数据包路由至虚拟网络设备106,该路由表由加速客户端104针对待加速应用所配置得到;加速客户端104从虚拟网络设备106中读取网络层数据包,解析出网络层数据包中的原始访问地址和数据段;加速客户端104将应用客户端102所对应的加速服务器120的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包;加速客户端104将更新数据包发送至加速服务器120。加速服务器120基于所述数据头中的原始访问地址访问原始访问地址所指示的应用服务器130,并使所述加速服务器将应用服务器130反馈的响应数据包回传至加速客户端104;加速客户端104将响应数据包的源地址更新为应用服务器的地址,将源地址更新后的响应数据包通过虚拟网络设备106反馈至应用客户端102。
其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备和车载终端,加速服务器120和应用服务器140均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据加速传输方法,以该方法应用于图1中的加速客户端为例进行说明,包括以下步骤:
步骤202,基于针对待加速应用所配置的路由表,将待加速应用的应用客户端所发出的数据包路由至虚拟网络设备。
其中,数据加速传输是提高数据传输效率,降低数据延迟的一种数据处理方式。由于 在数据交互过程中,受到网络环境的影响,容易出现线路拥堵等情况,导致出现交互延迟过高等问题,通过数据加速传输,能够提交数据交互效率。
待加速应用为需要通过网络与服务器进行数据交互的应用程序。待加速应用在进行数据交互过程中,在终端中以具体的应用客户端的形式存在。应用客户端是指与服务器相对应,为客户提供本地服务的程序。应用客户端具体可以是终端下载的用于基于网络进行数据交互的应用程序,也可以是基于浏览器进行数据访问的具体网页。在一个具体的应用中,待加速应用可以是游戏应用,实现游戏交互过程的快速响应,待加速应用也可以是电子地图应用,如导航应用等,以实现地图数据和导航数据中的至少一种数据的快速获取。
路由表是记录数据包的传输路径和接收对象的数据表。一般来说,应用客户端在进行数据交互时,会指定访问地址,终端中原始的路由表用于记录应用客户端的传输路径,使得终端将数据流量发送至指定访问地址。
针对待加速应用所配置的路由表,能够使得将待加速应用的应用客户端所发出的数据包路由至虚拟网络设备,实现数据包的拦截。路由是指从源对象到访问对象的数据传输过程。
其中,路由表的配置,实质上是对原始的路由表的传输路径和接收对象修改。具体地,加速客户端通过响应于针对待加速应用的加速请求,配置路由表,以使得能够基于配置的路由表,将待加速应用的应用客户端所发出的数据包路由至虚拟网络设备。其中,加速请求用于请求加速客户端对待加速应用所发出的数据流量进行加速处理,以提高待加速应用的应用客户端与应用服务器之间的交互效率。
数据包是指应用客户端需要发送至对应的应用服务器的交互数据所对应的数据单位。在数据交互过程中,单个消息被划分为多个数据块,划分得到的每一个数据块均称为数据包,数据包包含发送者的地址信息和接收者的地址信息。这些数据包然后沿着不同的路径在一个或多个网络中传输,并且在访问的目的地重新组合,实现数据交互。
虚拟网络设备是指操作系统内核中的虚拟的网络设备,虚拟网络设备用于辅助加速客户端进行数据包的收发处理,加速客户端可以从虚拟网络设备中读取输入的数据包,也可以将数据包写入至虚拟网络设备并发送出去。虚拟网络设备用软件实现,并向运行于操作系统的软件提供与硬件的网络设备完全相同的功能。虚拟网络设备是由应用客户端在操作系统内核中创建的软件设备。虚拟网络设备可以是创建后一直存在于操作系统内核,以减少虚拟网络设备创建过程,提高处理速度。虚拟网络设备也可以是每完成一次应用加速后释放该虚拟网络设备,在下一次进行数据加速传输时重新创建,以减少在不需要进行数据加速传输时对操作系统内核的空间的占用。具体地,虚拟网络设备可以是由加速客户端通过响应于针对待加速应用的加速请求进行创建的。
具体地,加速客户端通过响应于针对待加速应用的加速请求,配置使得将待加速应用的应用客户端所发出的数据包路由至虚拟网络设备的路由表,以使得待加速应用的应用客户端所发出的数据包,按照路由表,路由至虚拟网络设备。通过响应加速请求的方式进行 路由表的配置,能够明确路由表的配置时机以及配置路由表这一动作的触发方式,提高对待加速应用的传输加速的响应速度。
在一个具体的应用中,如图3所示,在加速客户端的运行页面中,显示有多个候选应用标识,加速客户端响应于用户对候选应用标识中待加速应用标识的选中操作,确定选中的待加速应用。在用户选中待加速应用标识的过程中,在用户对显示的加速请求触发入口的触发操作时,触发针对选中的待加速应用的加速请求。加速客户端通过响应针对待加速应用的加速请求创建虚拟网络设备,然后基于虚拟网络设备,配置路由表,以使得通过路由表将应用客户端所发出的数据包路由至虚拟网络设备。进一步地,当用户在终端启动加速客户端时,在加速客户端的运行页面中显示可以被加速的候选应用标识,如图3所示的应用1至应用9即为可以被加速的应用对应的候选应用标识。当用户想要对其中某一个应用进行加速处理时,例如对应用9进行加速,则用户通过点击应用9所对应的应用标识,应用9所对应的应用标识从未选中状态变为选中状态,选中状态和未选中状态具体可以通过不同的边框颜色/不同的图标大小等不同的显示方式来区分。在用户选中待加速应用标识后,对选中的待加速应用进行加速请求触发。具体地,在加速客户端的运行页面中,还显示有加速请求触发入口,当用户选中待加速应用标识后,可以通过对加速请求触发入口的触发操作,触发针对待加速应用标识所表征的应用9的加速请求。加速客户端通过响应于用户针对待加速应用的加速请求,在操作系统内核中创建虚拟网络设备,然后基于虚拟网络设备来配置路由表,当应用客户端启动后,应用客户端所发出的数据包会基于路由表路由至虚拟网络设备执行后续的加速传输过程。
在一个具体的实施例中,以游戏场景为例,候选应用标识可以是候选游戏应用对应的图标,在加速客户端的运行页面中显示有多个可加速的游戏图标,当用户想要对某个游戏进行加速处理时,可以打开加速客户端,通过在游戏应用图标的显示区域中直接选中该游戏,或是通过输入游戏名称直接查找并选中该游戏后,用户通过点击显示的加速请求触发入口,触发对该游戏的加速请求,加速客户端响应于用户在选中游戏图标后对加速请求触发入口的触发操作,执行对该游戏图标对应的游戏应用所发出的数据包的加速传输处理,从而能够使得用户通过在加速客户端的显示页面进行对待加速应用进行选中操作,实现对待加速应用如待加速游戏的快速便捷选择。
步骤204,从虚拟网络设备中读取网络层数据包,解析出网络层数据包中的原始访问地址和数据段。
网络层数据包是指从网络层获取到的数据包,网络层数据包又叫数据报。数据报是分组交换的一种形式,是把所传送的数据分段后分别打包,作为一个独立的报文传送出去。在数据报的发送过程中,网络层用于处理来自传输层的分组发送请求,收到分组发送请求后,将分组信息装入IP数据报,填充报头,选择去往访问地址对应终端或服务器的路径,然后将数据报发往适当的网络接口。在数据报的接收过程中,网络层还处理输入数据报,首先检查输入数据报的合法性,然后进行寻径,假如该数据报已到达访问地址对应终端或 服务器,则去掉报头,将剩下部分按照适当的传输协议进行处理;假如该数据报尚未到访问地址对应终端或服务器,则转发该数据报。每个数据报都有报头和报文这两个部分,报头中有访问地址等必要内容,使每个数据报不经过同样的路径都能准确地到达访问的目的地。在访问地重新组合将数据报中的内容还原成原来发送的数据,通过对网络层数据包进行解析,能够从报头中获取访问地址。
原始访问地址是指需要与应用客户端进行数据交互的服务器的地址,如应用服务器,其中,与应用客户端对应的应用服务器的数量可以是一个,也可以是两个或两个以上,具体可以根据待加速应用的后台配置数据来确定。其中,应用客户端所发送的数据包包括请求进行域名解析的数据包以及请求进行交互的数据包,其中,请求进行交互的数据包中解析得到的地址即为原始访问地址。
在其中一个实施例中,原始访问地址包括原始访问IP地址和原始访问端口;解析出网络层数据包中的原始访问地址和数据段,包括:
对网络层数据包进行解析,得到原始访问IP地址和传输层数据包;对传输层数据包进行解析,得到原始访问端口和数据段。
数据段是指对网络层数据包进行解析之后得到的传输层数据包的数据内容。具体地,如图4所示,对网络层数据包进行解析,可以得到IP头以及传输层数据包,IP头中包括访问IP地址,传输层数据包分为TCP数据包和UDP(User Datagram Protocol,用户数据报协议)数据包两类。对传输层数据包进行解析,可以得到TCP头/UDP头以及数据段。TCP头/UDP头中包括访问端口,由访问IP地址和访问端口构成访问地址。
具体地,由于应用客户端的数据包是进行路由表进行传输的,终端的操作系统会基于配置的路由表将应用客户端数据包路由至虚拟网络设备,加速客户端获取虚拟网络设备的文件描述符,其中,文件描述符是访问文件或数据的索引。基于文件描述符,从虚拟网络设备中将网络层数据包读取到加速客户端,在加速客户端中,通过对网络层数据包进行解析,将网络层数据包拆分为报头和报文,从报头中获取原始访问地址。
步骤206,将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包。
其中,加速服务器是数据传输链路中的中间节点,分别连接于应用客户端和加速客户端所在的终端以及应用服务器,通过加速服务器,可以显著减少数据传输过程中经过的网络节点的数量,从而提高数据传输效率,实现数据加速传输。加速服务器的地址包括加速服务器的IP地址和端口号,基于IP地址和端口号,可以实现准确的网络连接与数据交互。更新访问地址是指对网络层数据包的原始访问地址进行更新后的结果。通过更新访问地址可以将网络层数据包发送至更新访问地址对应的加速服务器。
数据段的头部是指传输层数据包的数据内容的最前面位置。数据段的头部是可被加速服务器识别并提取的数据段内容。数据段的头部所添加的内容包括原始访问地址对应的原始访问地址以及原始访问端口,此外,数据段的头部所添加的呢绒还可以包括与待加速应 用对应的相关信息,具体可以根据交互需要进行配置。
更新数据包实质上是对传输层以及网络层所对应的数据包的更新,如图5所示,具体的更新内容包括传输层的数据段内容的更新(增加了数据段的头部内容),传输层数据头即TCP头/UDP头中访问端口的更新,以及网络层数据头即IP头中访问IP地址的更新。更新的数据包在传输至更新访问地址所对应的加速服务器的过程中,还需要经过链路层以及物理层地处理,由于本申请不涉及对链路层以及物理层地处理过程的改进,在此不展开描述。
步骤208,将更新数据包发送至加速服务器,以使加速服务器基于数据头中的原始访问地址访问原始访问地址所指示的应用服务器,并使加速服务器将应用服务器反馈的响应数据包回传至应用客户端。
其中,加速服务器是数据传输链路中的中间节点,分别连接于目标终端以及应用服务器,目标终端是指应用客户端和加速客户端所在的终端。具体地,加速服务器可以实现跨区域的数据传输,例如以游戏加速为例,A国游戏玩家玩游戏服务器在B国的游戏时,由于A国连接B国为跨国连接,在跨国连接时网络环境异常恶劣,其中包括DNS劫持、线路拥堵、运营商限制等,导致大概率会出现游戏掉线、延迟过高、无法登录等问题,这些问题严重影响用户的游戏体验。而加速服务器可以通过节点的布局,实现A国与B国网络的互联,例如,当用户位于A国,用户所玩游戏的游戏区服为B服(即服务器部署在B国)时,可以通过在A国某地区-B国某城市所对应的加速节点中部署的加速服务器进行数据加速传输。在一个具体的应用中,加速服务器可以是云服务器。
加速服务器在接收到更新数据包之后,会对更新数据包进行解析处理,提取出更新数据包中位于数据段头部的原始访问地址,然后以原始访问地址为访问地址,基于数据段重新构建网络层数据包,并将重构的网络层数据包发送至原始访问地址所指示的应用服务器。其中,在更新数据包中新增的数据段的头部是可被加速服务器识别的特有字段,在数据段的头部增加的数据段内容,可快速被加速服务器识别并提取,在加速服务器的处理过程中,只需要完成网络层以及传输层的解析即可实现数据段内容的转发,无需进行加解密处理。通过将待转发的数据段内容以及访问地址通过更新数据包发送至加速服务器,加速服务器只单纯通过地址更新进行数据内容的转发处理即可,大大提高了加速服务器的使用效率。
加速服务器将数据包转发至应用服务器之后,由于应用服务器为原始访问地址所对应的主机,即此次数据传输到达访问的目的地,应用服务器会针对加速服务器所转发的数据包中的数据段内容进行响应处理,并确定响应的数据内容,并以数据包的形式反馈至加速服务器,需要说明的是,加速服务器所接收到的数据包中的源地址为加速服务器的地址,所以反馈的响应数据包会直接发送至加速服务器,实现加速服务器与应用服务器之间的交互。加速服务器在获取到响应数据包之后,将应用服务器反馈的响应数据包回传至应用客户端。具体地,基于网络连接关系,加速服务器会先将该响应数据包发回给加速客户端, 然后由加速客户端发送至应用客户端,从而实现了完整的数据交互过程。
上述数据加速传输方法,基于加速客户端针对待加速应用所配置的路由表,将待加速应用的应用客户端所发出的数据包路由至虚拟网络设备,实现对数据包的拦截,便于加速客户端从虚拟网络设备中读取网络层数据包,解析出网络层数据包中的原始访问地址和数据段,实现了原始访问地址的便捷快速获取,通过将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包,实现将更新数据包发送至加速服务器,从而使得加速服务器基于数据头中的原始访问地址访问原始访问地址所指示的应用服务器,并使加速服务器将应用服务器反馈的响应数据包回传至应用客户端。在整个方案中,通过将地址数据的处理过程加速客户端来实现,对于加速客户端来说,通过路由表和虚拟网络设备来读取网络层数据包,能够直接从网络层数据包中获取原始访问地址,有效提高了原始访问地址的获取速度,便于进行地址数据的处理,对于加速服务器来说,只需要根据原始访问地址进行数据包的转发处理,显著简化了加速服务器的处理量,能够有效提高加速数据传输的效果。
在一个实施例中,数据加速传输方法还包括:对网络层数据包进行解析,确定传输层协议类别。
其中,网络层是根据网络地址将源结点发出的数据包传送到访问的目的结点,而传输层则负责将数据可靠地传送到相应的端口。传输层协议类别分为两类,一类是面向连接的传输协议(TCP),另一类是用户数据报协议(UDP)。其中,TCP的特点是数据传输之前必须先建立连接,数据传输完成之后释放连接,每条传输连接只能有两个端点,只能进行点对点的连接。UDP是无连接协议,传输数据之前源端和终端不建立连接,当需要进行数据传送时,通过抓取来自应用程序的数据,直接进行网络传输。
进一步地,数据加速传输方法还可以包括:基于传输层协议类别和原始访问地址,判定网络层数据包是否为待加速数据包。
具体地,通过对网络层数据包进行解析,可以得到传输层数据包,基于传输层数据包中的数据头的类型,即可确定传输层协议类别。具体来说,当传输层数据包为TCP数据包时,对应的数据头为TCP头,当传输层数据包为UDP数据包时,对应的数据头为UDP头。
待加速数据包是需要通过加速服务器加速传输至应用服务器的数据包。基于传输层协议类别和原始访问地址,来确定网络层数据包是否为待加速数据包。具体来说,当传输层协议类别为UDP协议时,基于UDP协议所对应的判定逻辑和原始访问地址,来确定网络层数据包是否为待加速数据包,当传输层协议类别为TCP协议时,基于TCP协议所对应的判定逻辑和原始访问地址,来确定网络层数据包是否为待加速数据包。其中,UDP协议所对应的判定逻辑可以包括网络层数据包的交互对象类别的判定和原始访问地址的判定,TCP协议所对应的判定逻辑包括原始访问地址的判定。
进一步地,将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包,包括:
当基于传输层协议类别和原始访问地址,判定网络层数据包为待加速数据包时,将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包。
具体地,当应用客户端判定网络层数据包为待加速数据包时,应用客户端将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包。以网络层数据包为待加速数据包作为数据包更新的条件,只对待加速数据包进行数据包更新,能够实现针对数据包的分化处理,提高数据包的数据加速传输效率。
进一步地,当网络层数据包为非加速数据包时,直接按照该非加速数据包中的访问地址进行数据包的传输。具体来说,当网络层数据包为非加速数据包时,还可以基于与应用客户端相匹配的IP地址黑名单,来判断该加速数据包中的访问IP地址是否为黑IP地址,若是,则终止该数据包的发送进程。若否,则按照该数据包中的访问地址进行数据包的传输。其中,IP地址黑名单可以是应用客户端基于其后台数据处理逻辑所配置的拒绝交互对象所对应IP地址构成的IP地址名单。通过IP地址黑名单对非加速数据包进行进一步地判断和处理,能够避免出现非法交互,提高交互过程中的安全性。
在本实施例中,通过在应用客户端进行网络层数据包是否为待加速数据包的判断,并限定数据包更新的前提条件为网络层数据包为待加速数据包,能够实现数据包的分化处理,提高数据包的数据加速传输效率。对非加速数据包,不对其进行数据包的更新,直接按照非加速数据包的访问地址进行数据包的传输,以减小对加速处理资源的占用,实现针对性的数据加速传输处理。
在一个实施例中,待加速数据包的判定过程包括:当传输层协议类别为UDP协议且判定网络层数据包不为域名解析请求包时,将原始访问地址中的访问IP地址与IP地址白名单进行匹配;当IP地址白名单中存在匹配成功的IP地址时,判定网络层数据包为待加速数据包。
具体来说,当传输层协议类别为UDP协议时,判断网络层数据包是否为域名解析请求包;若网络层数据包不为域名解析请求包,则将原始访问地址中的访问IP地址与IP地址白名单进行匹配;基于匹配结果,确定网络层数据包是否为待加速数据包。
其中,UDP协议是指用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。域名解析请求包是指访问地址指向域名服务器,需要发送至域名服务器,由域名服务器进行域名解析并返回解析得到的IP地址的数据包。IP地址白名单是指包含多个需要IP地址的数据表,IP地址白名单中的IP地址表示包含该IP地址的数据包需要进行数据加速传输。匹配结果包括IP地址白名单中存在相同的IP地址或IP地址白名单中不存在相同的IP地址两种。
具体地,当传输层协议类别为UDP协议时,按照网络层数据包所对应的交互对象,网络层数据包所对应的类别至少有两类,一类是需要与应用服务器进行交互的数据包,另一 类是需要进行域名解析的数据包。对于需要进行域名解析的数据包,是不需要与应用服务器进行交互的,其所需的处理是进行域名解析,得到域名所对应的IP地址,便于应用客户端按照IP地址与IP地址所对应的应用客户端进行交互。对于需要与应用服务器进行交互的数据包,根据原始访问地址中的IP地址,将原始访问地址中的访问IP地址与IP地址白名单进行匹配,当匹配结果为IP地址白名单中存在相同的IP地址时,判定网络层数据包为待加速数据包。当匹配结果为IP地址白名单中不存在相同的IP地址时,判定网络层数据包为非加速数据包。
在本实施例中,针对传输层协议类别为UDP协议的情况,基于网络层数据包所对应的交互对象的类别,结合IP地址白名单,能够准确地判断网络层数据包是否为待加速数据包,实现针对性的数据加速传输处理。
在其中一个实施例中,当传输层协议类别为UDP协议时,判断网络层数据包是否为域名解析请求包的过程包括:当传输层协议类别为UDP协议时,对解析得到的UDP数据包进行端口解析,确定UDP数据包中的访问端口;根据访问端口与域名解析服务对应的目标端口的关系,判断网络层数据包是否为域名解析请求包。
其中,传输层协议类别为UDP协议时,表征对网络层数据包进行解析后得到的传输层数据包为UDP数据包。端口解析是指通过对传输层数据包进行解析,从传输层数据包的数据头中获取端口信息的过程,其中传输层数据包的数据头中的端口包括源端口和访问端口,源端口是指发送数据包时所对应的发送端口,访问端口,是指接收数据包时所对应的接收端口。
具体地,当应用客户端判定传输层协议类别为UDP协议,即对网络层数据包进行解析后得到的传输层数据包为UDP数据包时,应用客户端对解析得到的UDP数据包进行端口解析,确定UDP数据包中的访问端口。通过将访问端口与域名解析服务对应的目标端口进行比对,若访问端口与域名解析服务对应的目标端口相同,则判定网络层数据包为域名解析请求包,若访问端口与域名解析服务对应的目标端口不同,则判定网络层数据包不为域名解析请求包。
在一个具体的应用中,与域名解析服务对应的目标端口的端口号是固定的,端口号为0053。若访问端口的端口号为0053,则判定网络层数据包为域名解析请求包;若访问端口的端口号不为0053,则判定网络层数据包不为域名解析请求包。
在本实施例中,通过应用客户端对UDP数据包进行端口识别,并基于与域名解析服务对应的目标端口的关系,UDP数据包的数据头中包括访问端口,因此端口解析的过程简单,识别速度快,能够快速准确地判断网络层数据包是否为域名解析请求包,从而提高数据处理效率。
在一个实施例中,数据加速传输方法还包括:在网络层数据包为域名解析请求包的情况下,从数据段中获取待解析的域名;对域名进行域名解析处理,得到与域名对应的IP地址;当域名符合域名加速条件时,将IP地址添加至IP地址白名单。
其中,数据段是指对网络层数据包进行解析之后得到的传输层数据包的数据内容。在域名解析请求包中数据段中的数据内容包括带解析的域名。域名是由一串用点分隔的名字组成的,用于在数据传输时对计算机的定位标识,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。域名解析是指将直观的域名转换为计算机可以直接读取的IP地址的过程,域名和IP地址相互映射,便于用户更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。域名加速条件是基于待加速应用的对数据加速传输的需求所确定的针对域名进行限定的条件。具体地,域名加速条件可以是直接指定具体的域名所对应的IP是否需要进行加速。
具体地,若应用客户端判定网络层数据包为域名解析请求包,应用客户端则从数据段中获取待解析的域名,并判断域名是否符合域名加速条件,当域名符合域名加速条件时,应用客户端基于对域名的域名解析处理所得到与域名对应的IP地址,将IP地址添加至IP地址白名单。
在一个具体的应用中,应用客户端从后台拉取域名规则,域名规则是按照待加速应用对应的规则,域名规则包括两类域名,第一类是域名所对应的IP是需要加速的,第二类是域名所对应的IP是不需要进行加速的。当待解析的域名为第一类域名时,即为域名符合域名加速条件,当待解析的域名为第二类域名时,即为域名不符合域名加速条件。应用客户端利用网域名称系统中域名和IP地址相互映射的关系,从网域名称系统中获取到域名对应的IP地址并添加至IP地址白名单。
在本实施例中,通过在域名符合域名加速条件的情况下,将域名解析得到的IP地址添加至IP地址白名单,能够实现IP地址白名单的扩充,便于在后续处理过程中实现更精准的数据传输加速。并且,基于域名解析得到的IP地址可能有多个,相较于直接基于IP地址更新IP地址白名单,通过限定域名加速条件直接对域名进行限定的方式,能够快速添加基于域名解析得到的多个IP地址。
在一个实施例中,对域名进行域名解析处理,得到与域名对应的IP地址,包括:将域名解析请求包中的访问地址更新为预设的域名服务器对应的地址,并将访问地址更新的域名解析请求包发送至域名服务器;接收域名服务器对域名解析请求包中的域名进行解析后返回的IP地址。
其中,域名服务器是提供IP地址和域名之间的转换服务的服务器。域名服务器是多样的,域名解析请求包中的访问地址可以是其中任意一个域名服务器的地址,不同的域名服务器对域名的解析准确度会存在差异,预设的域名服务器是域名解析准确度符合解析准确度条件的域名服务器,预设的域名服务器可以预先基于域名服务器的域名解析准确度配置得到。
具体地,应用客户端将域名解析请求包中的访问地址更新为预设的域名服务器对应的地址,并将访问地址更新的域名解析请求包发送至域名服务器,域名服务器对域名解析请求包中的域名进行解析,得到域名对应的IP地址,域名服务器将IP地址返回至应用客户 端。
在一个具体的应用中,应用客户端将域名解析请求包中的访问IP地址更新为预设的域名服务器对应的IP地址,并将访问IP地址更新的域名解析请求包发送虚拟网络设备,虚拟网络设备将访问IP地址更新的域名解析请求包发送至域名服务器,域名服务器对域名解析请求包中的域名进行解析,得到域名对应的IP地址,然后将IP地址返回至虚拟网络设备,应用客户端从虚拟网络设备中读取域名服务器返回的IP地址。
在本实施例中,通过将域名解析请求包中的访问地址更新为预设的域名服务器对应的地址,由指定的域名服务器对域名解析请求包中的域名进行解析,能够确保解析得到的IP地址的准确性。
在一个实施例中,基于传输层协议类别和原始访问地址,判断网络层数据包是否为待加速数据包,包括:
当传输层协议类别为TCP协议时,将原始访问地址中的原始访问IP地址与IP地址白名单进行匹配;根据匹配结果,判断网络层数据包是否为待加速数据包。
具体来说,判断网络层数据包是否为待加速数据包的过程包括:当IP地址白名单中存在匹配成功的IP地址时,判定网络层数据包为待加速数据包;当IP地址白名单中不存在匹配成功的IP地址时,判定网络层数据包为非加速数据包。
其中,TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,传输层协议类别为TCP协议,即传输层数据包为TCP数据包。原始访问IP地址,是指通过网络层数据包解析后的IP头获取的原始访问IP,即作为交互对象的应用服务器的IP地址。
具体地,当应用客户端判断传输层协议类别为TCP协议时,其处理过程与普通的UDP数据包相同。应用客户端将原始访问IP地址与IP地址白名单进行匹配,根据匹配结果,判断网络层数据包是否为待加速数据包。当匹配结果为IP地址白名单中存在相同的IP地址时,判定网络层数据包为待加速数据包。当匹配结果为IP地址白名单中不存在相同的IP地址时,判定网络层数据包为非加速数据包。
在本实施例中,针对传输层协议类别为TCP协议的情况,基于IP地址白名单,能够快速准确地判断网络层数据包是否为待加速数据包,实现针对性的数据加速传输处理。
在一个实施例中,将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包,包括:当对网络层数据包进行解析,确定传输层协议类别为TCP协议时,将网络层数据包转发至由加速客户端创建的本地服务器;基于本地服务器,将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包。
其中,本地服务器是加速客户端在本地(即加速客户端所在的终端)所创建的用于进行数据处理的服务器。以使本地服务器通过系统协议栈去处理TCP的握手、挥手、流量控制等功能。
进一步地,将更新数据包发送至加速服务器,包括:基于本地服务器,将更新数据包 发送至加速服务器。
具体地,当应用服务器基于对网络层数据包的解析,确定传输层协议类别为TCP协议时,应用服务器在终端操作系统中创建本地服务器,将网络层数据包转发至本地服务器,本地服务器将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包,本地服务器将更新数据包发送至加速服务器。
在一个具体的应用中,针对TCP数据包的处理过程中,加速客户端需要记录四个地址:应用客户端地址、本地服务器地址、加速服务器地址以及应用服务器地址。对于不需要加速的数据包,则不需要记录加速服务器地址。加速客户端按照本地服务器地址将数据包发往本地服务器,本地服务器收到数据包以后,发往加速服务器或者应用服务器。当本地服务器连接收到加速服务器或者应用服务器的回包以后,会查询发送时记录的地址关系,将回包数据回传给应用客户端。需要说明的是,由于TCP协议是面向数据流的传输协议,在数据加速传输过程中,在访问地址和源地址不发生变化的情况下,只需要通过本地服务器建立一次从源地址到访问地址的连接通道即可进行数据流的传输。当访问地址或源地址发生变化时,则需要通过本地服务器重新建立一次连接通道。
在本实施例中,通过本地服务器来实现网络层数据包的更新和数据包的发送,能够适应TCP协议的传输特性,在不响应原有系统架构的前提下,实现对以TCP协议构建网络层数据包的加速传输。
在其中一个实施例中,数据加速传输方法还包括:将应用客户端所关联的加速服务器的地址和原始访问地址添加至TCP数据列表。
其中,TCP数据列表是用于记录TCP数据包的相关信息的,具体可以包括应用客户端地址、本地服务器地址、加速服务器地址以及应用服务器地址,通过TCP数据列表,为本地服务器进行地址更新提供数据查询依据。
具体地,应用服务器通过创建TCP数据列表,并在TCP数据列表中记录创建的本地服务器的地址以及加速服务器的地址。通过对网络层数据包进行解析,得到源地址和访问地址,即应用客户端地址和应用服务器地址,并将应用客户端地址和应用服务器地址添加至TCP数据列表。
进一步地,基于本地服务器,将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包,包括:基于本地服务器,反查TCP数据列表,得到加速服务器的地址和原始访问地址;基于本地服务器,将加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包。
具体地,本地服务器在接收到与TCP协议对应网络层数据包之后,本地服务器反查TCP数据列表,得到加速服务器的地址和原始访问地址,本地服务器将加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数 据包,本地服务器将更新数据包发送至加速服务器。
在本实施例中,由应用客户端将加速服务器地址和应用服务器地址添加至TCP数据列表,使得本地服务器能够反查TCP数据列表,从而快速便捷地得到加速服务器地址和应用服务器,提高数据包更新的处理速度。
在其中一个实施例中,将应用服务器反馈的响应数据包回传至应用客户端,包括:
加速客户端接收加速服务器回传的响应数据包,该响应数据包由应用服务器反馈至加速服务器;加速客户端将响应数据包的源地址更新为应用服务器的地址,将源地址更新后的响应数据包通过虚拟网络设备反馈至应用客户端。
其中,虚拟网络设备是指在操作系统内核中创建的虚拟的网络设备,虚拟网络设备用于辅助加速客户端进行与应用客户端之间的数据包的收发处理。虚拟网络设备能够接收应用客户端发送的数据包以及并将加速客户端更新地址后的响应数据包发送至应用客户端。
基于数据加速传输的传输链路,加速服务器是通过虚拟网络设备与加速客户端进行数据传输以及与应用客户端进行数据交互,为了实现响应数据包的快速便捷传输,加速服务器先将应用服务器反馈的响应数据包回传至加速客户端将响应数据包的源地址更新为应用服务器的地址,将访问地址更新为应用客户端的地址,得到更新的响应数据包,加速客户端将更新的响应数据包通过虚拟网络设备反馈至应用客户端。
在本实施例中,通过虚拟网络设备和加速客户端,明确了响应数据包回传至应用客户端的路径,能够实现响应数据包的快速传输。通过对源地址和访问地址进行更新,使得应用客户端所获取到的响应数据包所表征的信息为应用服务器回传至应用客户端,对于应用客户端来说,其收发的数据包内容不会受到数据加速传输过程的影响,确保数据加速传输过程中的数据准确性。
在一个实施例中,待加速应用为待加速游戏;数据加速传输方法还包括:响应于针对候选游戏列表中待加速游戏的选中操作,确定待加速游戏的游戏服务器所在的地理区域;基于与地理区域相匹配的候选服务器节点各自对应的测速结果,确定候选服务器节点中符合测速条件的目标节点;将部署于目标节点的加速服务器确定为与应用客户端所关联的加速服务器。
其中,候选游戏列表包括能够进行数据加速传输的一个或多个游戏的游戏标识,游戏标识可以由游戏图标、游戏名称中的至少一个数据信息构成,每一个游戏标识表征一个具体的游戏,当用户从候选游戏列表中选择一个游戏标识时,该游戏标识即为选中的待加速游戏。游戏服务器所在的地理区域又称游戏区服。例如,若游戏服务器所在的地理区域为日本,则游戏区服可以简称为日服,若游戏服务器所在的地理区域为韩国,则游戏区服可以简称为韩服。候选服务器节点是可供选择的服务器节点,服务器节点与跨区域的传输路径相对应,例如中国-韩国,中国-日本。具体地,以游戏用户位于中国为例,加速节点在中国是分布式配置的,配置区域主要包括华东(中国东部地区)、华北(中国境内秦岭—淮河线以北、长城以南的地区)和华南(中国南部地区)三大区域,针对游戏区服为日服 的游戏,候选服务器节点包括华东-东京,华南-东京,华北-东京三大类。符合测速条件的目标节点可以是测速结果最优的候选服务器节点。测速结果是指针对各个区域中抽样取一定数量的服务器节点进行测速,然后根据节点的负载、延迟等数据,选择测速结果最优的目标节点,服务器部署于服务器节点,具体地,服务器节点可以是云服务器接入点。
具体地,在加速客户端的显示页面中,显示候选游戏列表,加速客户端响应于针对候选游戏列表中待加速游戏的选中操作,显示待加速游戏的候选区服,响应与用于对候选区服中的目标区服的选中操作,显示与目标区服对应的候选节点以及每一个候选节点对应的测速结果,响应于用户基于测速结果对候选节点中目标节点的选中操作,发起针对待加速游戏的加速请求,并将部署于目标节点的加速服务器确定为与应用客户端所关联的加速服务器。
在本实施例中,以游戏场景为例,基于候选游戏列表,能够便于用户对待加速游戏进行选择。基于待加速游戏的游戏服务器所在的地理区域,确定地理区域相匹配的候选服务器节点,能够实现游戏数据包跨地理区域的传输,通过与地理区域相匹配的候选服务器节点各自对应的测速结果,确定候选服务器节点中符合测速条件的目标节点,筛选出最佳的目标节点,从而能够基于部署于目标节点的加速服务器进行游戏数据传输,以提高游戏数据的数据加速传输效果。
本申请还提供一种在macOS平台上的游戏玩家与游戏服务器处于不同国家的游戏加速的应用场景,macOS是基于图形用户界面操作系统,该系统是符合POSIX(Portabel Operating System Interface,操作系统接口)标准的操作系统并且提供了Unix(UnIPlexed Information and Computing Service,一种多用户、多进程的计算机操作系统)命令行及其强大的应用工具,该应用场景应用上述的数据加速传输方法。具体地,该数据加速传输方法在该应用场景的应用如下:
A国游戏玩家玩游戏服务器在B国的游戏时(简称外服游戏),由于A国连接B国的网络环境异常恶劣,其中包括DNS劫持,线路拥堵,运营商限制等导致用户大概率会出现游戏掉线,延迟过高,无法登录等问题,这些问题严重影响用户的游戏体验。使得在macOS上游玩外服游戏变得很困难,游戏体验差。而本方案在A国的环境下,在macOS平台创建一个TUN设备,通过修改路由表,将用户通过游戏客户端所产生的数据包路由到TUN设备。然后通过加速应用端将TUN设备上的数据包,转发至云服务器接入点,数据包走云服务器专线与B国的游戏服务器连接,这样就避免了网络拥堵,运营商劫持等问题,实现了在A国环境下低延迟,低抖动的游玩外服游戏,提升了用户的游戏体验。
具体来说,如图6所示,数据加速传输方法在该游戏应用场景的应用包括以下步骤:
步骤602,响应于针对候选游戏列表中待加速游戏的选中操作,确定待加速游戏的游戏服务器所在的地理区域。
步骤604,基于与地理区域相匹配的候选服务器节点各自对应的测速结果,确定候选服务器节点中符合测速条件的目标节点,将部署于目标节点的加速服务器确定为与游戏客 户端所对应的加速服务器。
步骤606,基于针对待加速游戏所配置的路由表,将待加速的游戏客户端所发出的数据包路由至虚拟网络设备。
步骤608,从虚拟网络设备中读取网络层数据包,对网络层数据包进行解析,得到原始访问IP地址和传输层数据包,并确定传输层协议类别,对传输层数据包进行解析,得到原始访问端口和数据段。
步骤610,当传输层协议类别为UDP协议时,对解析得到的UDP数据包进行端口解析,确定UDP数据包中的访问端口。
步骤612,当访问端口与域名解析服务对应的目标端口相同时,判定网络层数据包为域名解析请求包,从数据段中获取待解析的域名。
步骤614,将域名解析请求包中的访问地址更新为预设的域名服务器对应的地址,并将访问地址更新的域名解析请求包发送至域名服务器,接收域名服务器对域名解析请求包中的域名进行解析后返回的IP地址。
步骤616,当域名符合域名加速条件时,将IP地址添加至IP地址白名单。
步骤618,当访问端口与域名解析服务对应的目标端口不同,且IP地址白名单中包括原始访问地址中的访问IP地址时,判定网络层数据包为待加速数据包。
步骤620,将游戏客户端所对应的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包,将更新数据包发送至加速服务器。
步骤622,当传输层协议类别为TCP协议时,将原始访问地址中的原始访问IP地址与IP地址白名单进行匹配。
步骤624,当IP地址白名单中包括原始访问地址中的访问IP地址,判定网络层数据包为待加速数据包。
步骤626,将游戏客户端所对应的加速服务器的地址和原始访问地址添加至TCP数据列表将网络层数据包转发至由加速客户端创建的本地服务器。
步骤628,本地服务器反查TCP数据列表,得到加速服务器的地址和原始访问地址,将加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包,将更新数据包发送至加速服务器。
步骤630,加速服务器基于数据头中的原始访问地址访问原始访问地址所指示的游戏服务器,并使加速服务器将游戏服务器反馈的响应数据包回传至加速客户端。
步骤632,加速客户端将响应数据包的源地址更新为游戏服务器的地址,将源地址更新后的响应数据包通过虚拟网络设备反馈至游戏客户端。
在一个具体的应用中,在加速客户端的页面中显示包括有可加速的各游戏的游戏标识的游戏库,如图7所示的游戏1至游戏9,用户在加速客户端所提供的游戏库中选择需要加速的游戏,用户通过关键字搜索可以快速找到需要加速的游戏,并在当前页面进行显示。 用户选中需要加速的游戏之后,加速客户端会显示待加速游戏所对应的候选区服(游戏服务器所在的地理区域)与候选加速节点,用户通过对区服和加速节点依次进行选择,直接触发对该游戏进行网络加速。在其他具体的应用中,用户也可以在选中需要加速的游戏和区服后,通过点击“智能加速”控件,由加速服务器自动分配最优的加速节点,对该游戏进行网络加速。
在用户点击游戏加速以后,加速客户端会获取到需要加速的游戏、游戏的区服以及加速节点等关键信息。在实际的应用中,用户可以手动选择加速节点,也可以请求自动选择加速节点。加速节点用于实现两个地理区域之间的直接连接,在用户对区服的选择即为对目的地理区域的节点,候选的加速节点包括起始地理区域不同但目的地理区域为选中的区服的多个加速节点。在一个具体的应用中,如图8所示,起始地理区域在中国分布式配置的,包括按照中国地理位置分区中的华东、华北和华南三大区域。加速客户端根据选择的游戏与游戏区服信息从后台获取到可用的候选加速节点,从各个区域中抽样取一定数量的加速节点的传输数据进行测速,并将测速结果显示在相应加速节点对应的区域,测速结果包括负载数据和延迟数据,以便基于进行显示的负载数据和延迟数据手动或自动选择最优的加速节点作为目标节点,从而确定加速节点对应的加速服务器。
具体地,加速客户端响应于针对候选游戏列表中待加速游戏的选中操作,确定待加速游戏的游戏服务器所在的候选地理区域,加速客户端响应于用户对候选地理区域的选中操作,确定选中的目标地理区域,加速客户端显示与目标地理区域相匹配的候选服务器节点各自对应的测速结果,加速客户端响应于用户对候选服务器节点中目标服务器节点的选中操作,确定目标节点,将部署于目标节点的加速服务器确定为与游戏客户端所对应的加速服务器,加速客户端针对待加速游戏,配置路由表,并基于路由表将待加速游戏客户端所发出的数据包路由至虚拟网络设备进行传输加速处理。
通过确定加速服务器即确定了游戏数据包的传输线路,为实现数据包按照该确定好的传输线路进行传输,还需要进行相应的加速配置。具体地,游戏应用和加速客户端所在的终端对应的操纵系统可以是macOS,macOS是符合POSIX标准的操作系统,支持大部分的unix特性,因此能够支持TUN。加速客户端在终端的操作系统中创建一个TUN设备,获取TUN设备的文件描述符。在创建TUN设备之后,需要配置系统的路由表,使得游戏客户端所发出的游戏数据包能够基于路由表路由至TUN设备。需要说明的是,可以在每次选择新的游戏进行加速都重新创建一次TUN,在游戏加速结束后释放创建的TUN,以避免对终端资源的不必要占用,实现对终端资源的高效合理利用。
为提高数据传输效率,在数据包的加速传输过程中,通过加速客户端对TUN设备上的数据包进行差分处理。具体地,加速客户端基于从后台拉取的域名规则以及IP地址黑/白名单对游戏客户端发出的数据包进行差分处理。其中,域名规则用于针对获取的数据包为DNS数据包的情况进行相应处理,域名规则按访问IP地址将数据包分为三类,第一类是需要对DNS数据包进行加速解析,且解析出来的IP地址所对应的数据包需要加速,具 体处理方式可以是将解析出来的IP地址添加至IP地址白名单;第二类是需要对DNS数据包进行加速解析,且解析出来的IP地址对应的数据包不需要加速;第三类是不需要加速解析的DNS数据包,且解析回来的IP地址对应的数据包不需要加速。其中,加速解析是指通过修改DNS数据包的访问地址,将DNS数据包发送至指定的域名服务器,由指定的域名服务器对DNS数据包中的域名进行解析,得到域名对应的IP地址。不需要加速解析的DNS数据包是基于原有的访问地址,将DNS数据包发送至访问地址对应的域名服务器,接收该域名服务器对域名进行解析后的IP地址。
IP地址黑/白名单则是针对TCP数据包以及非DNS的普通UDP数据包的情况进行相应处理。具体地,若数据包中的原始访问IP地址属于IP地址白名单,则对该数据包进行加速传输;若数据包中的原始访问IP地址属于IP地址黑名单,则拦截该数据包不进行数据包发送;若数据包中的原始访问IP地址既不属于IP地址白名单也不属于IP地址黑名单,则对该数据包进行流量裸连传输,流量裸连是指不通过加速服务器,直接基于原始的访问地址按照现有的数据传输方式进行传输。
数据加速传输过程的时序图如图9所示,终端包括游戏客户端、加速客户端以及创建的TUN。具体地,游戏客户端将游戏数据包通过路由表路由至TUN,加速客户端从TUN中读取游戏数据包,当加速客户端基于游戏数据包中的访问IP地址,判断其为待加速传输的数据包时,将原始的访问IP地址即游戏服务器地址添加至数据段的头部位置,并将游戏数据包的访问地址修改为加速服务器地址,得到更新的游戏数据包,并发送至加速服务器,加速服务器通过解析数据段头部数据,得到游戏服务器地址,将游戏数据包发送至游戏服务器。游戏服务器针对游戏数据包做出相应的响应,并反馈响应数据包至加速服务器,加速服务器将响应数据包回传至加速客户端,加速客户端对响应数据包进行源地址修改,将源地址由加速服务器地址修改为游戏服务器地址,并通过TUN将响应数据包反馈至游戏客户端。其中,针对游戏客户端要发送的游戏数据包,游戏数据包的转发是实现游戏数据加速传输的关键点,加速客户端根据TUN设备的文件描述符,从TUN设备读取到的数据为游戏客户端要发送的游戏数据包,获取到游戏数据包以后,加速客户端会记录原始数据包的源IP、源端口、访问IP以及访问端口作为四元组,然后根据不同的传输层协议进行不同的处理。
其中,待加速数据包对应的数据包更新方式与其对应的传输层协议相关。如果是传输层协议为UDP协议,则在每一次数据包的传输过程中,加速客户端都会把包括游戏服务器的访问IP地址和访问端口的加速信息添加到数据包中数据段的头部,并将数据包的访问IP地址和访问端口修改为加速服务器的IP地址和端口,然后将修改后的数据包发送至加速服务器从而建立加速客户端与加速服务器,基于加速服务器实现与游戏服务器的交互。如果是传输层协议为TCP,则是通过鉴权包的方式建立加速通道,仅在第一次数据包的传输过程中,将加速信息添加到数据包的数据段的头部,并将数据包的访问IP地址和访问端口修改为加速服务器的IP地址和端口,然后将修改后的数据包发送至加速服务器从而 建立加速客户端与加速服务器之间的加速传输通道,后续需要加速传输的数据包均可以基于建立的加速传输通道直接传输至加速服务器,基于加速服务器实现与游戏服务器的交互。
具体地,当传输层协议为UDP协议时,如图10所示,加速客户端通过从TUN读取传输层的数据包,对传输层数据包进行解析,得到访问IP地址和UDP数据包,然后识别UDP数据包中的访问端口的端口号,基于端口号判断数据包书否为DNS数据包,若端口号为0053,则确定该数据包为DNS数据包。通过DNS协议从数据包的数据段中获取到需要解析的域名。该DNS数据包对应的解析过程,可以基于访问IP地址在域名规则中所属的类别来确定。具体来说,如果是第一类,即需要加速解析并且解析出来的访问IP对应的数据包也需要加速,则加速客户端会将DNS数据包发送至指定的域名服务器,加速客户端在接收该指定的域名服务器返回的DNS回包以后,将该回包中的IP地址添加到IP地址白名单中。如果是第二类,即需要加速解析并且解析出来的访问IP对应的数据包不需要加速,则加速客户端会将DNS数据包发送至指定的域名服务器,接收该指定的域名服务器返回的DNS回包以后,将该回包中的IP地址反馈至游戏客户端,由游戏客户端基于自身的处理逻辑选择一个IP地址作为访问IP。如果是第三类,即不需要加速解析并且解析出来的访问IP对应的数据包不需要加速,则加速客户端直接将DNS数据包发送至原始访问地址对应的域名服务器,接收到该域名服务器返回的DNS回包以后,将该回包中的IP地址反馈至游戏客户端,由游戏客户端基于自身的处理逻辑,从回包中的IP地址选择一个IP地址作为访问IP。
如果UDP数据包中的访问端口的端口号不为0053,即为普通的UDP数据包,则根据IP地址黑/白名单判断是否需要数据加速传输进行处理。通过将数据包中的原始访问IP地址分别与IP地址白名单和IP地址黑名单进行匹配,若数据包中的原始访问IP地址属于IP地址白名单,则将该数据包确定为待加速数据包,对该待加速数据包进行加速传输;若数据包中的原始访问IP地址属于IP地址黑名单,则拦截该数据包不进行数据包发送。针对待加速数据包的加速传输,首先会更新数据包的访问地址为加速服务器的地址,然后将该数据包发送至加速服务器,再经由加速服务器与游戏服务器进行数据交互。如果数据包不需要进行加速传输,则通过流量裸连直接将数据包通过原始的网络连接方式发送至游戏服务器。
当传输层协议为TCP协议时,数据包的更新处理与普通UDP数据包的处理类似,但是由于TCP是面向连接的,对于从TUN获取到数据包,加速客户端会在终端本地建立一个本地服务器,通过本地服务器的协议栈去处理TCP的握手、挥手、流量控制等过程。具体地,如图11所示,加速服务器将游戏客户端所对应的加速服务器的地址和原始访问地址添加至TCP数据列表进行TCP数据记录,将游戏数据包转发至由加速客户端创建的本地服务器,本地服务器在收到游戏数据包之后,通过反查TCP数据列表,得到加速服务器的地址和原始访问地址,本地服务器将加速服务器的地址作为游戏数据包的更新访问地址,并将原始 访问地址添加至数据段的头部,得到更新数据包,本地服务器将更新数据包发送至加速服务器实现与游戏服务器的交互。本地服务器收到游戏服务器的响应数据包以后,发往加速服务器,当本地服务器收到响应数据包以后,会查发送时记录的地址关系,将响应数据包发回给游戏客户端。
加速服务器在接收到游戏数据包后,基于游戏数据包中数据段的头部中记录的访问IP地址和访问端口,确定游戏服务器地址,然后加速服务器将游戏数据包发往游戏服务器,而游戏服务器的响应数据包则会发回到加速服务器,加速服务器收到游戏服务器的响应数据包以后会发回给加速客户端,加速客户端收到加速服务器的响应数据包后,修改源地址为游戏服务器的地址,然后将源地址修改后的响应数据包反馈至游戏客户端,实现游戏客户端与游戏服务器之间的加速数据交互。在数据包的加速传输过程中,加速客户端需要记录多个地址,包括游戏客户端地址、加速客户端地址、加速服务器地址以及游戏服务器地址,对于TCP协议数据包,记录的地址还包括本地服务器地址。对于不需要加速的数据包,则不需要记录加速服务器地址。
通过上述处理,基于配置的路由表,将游戏客户端生成的游戏数据包路由到TUN设备,加速客户端从TUN设备中读取数据包,根据不同的数据协议以及加速规则做不同的转发处理。按照加速服务器通信使用的是TCP/UDP协议,按照不同的数据处理流程与加速服务器进行通信,加速服务器根据数据包的数据段头部记载的访问地址做转发,在整个数据处理过程中,数据地址关系处理,加速逻辑判断都在加速客户端中,减小了加速服务器的数据处理量,实现了对游戏的网络加速的功能,在不影响用户正常网络访问的情况下对游戏数据包进行差分处理,根据用户选择的游戏区服对数据包进行转发,达到游戏加速的目标,满足了macOS游戏用户的加速需求。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种数据加速传输装置1200,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:数据包路由模块1202、数据包解析模块1204、数据包更新模块1206以及数据包发送模块1208,其中:
数据包路由模块1202,用于基于针对待加速应用所创建的路由表,将待加速应用的应用客户端所发出的数据包路由至虚拟网络设备;
数据包解析模块1204,用于从虚拟网络设备中读取网络层数据包,解析出网络层数据包中的原始访问地址和数据段;
数据包更新模块1206,用于将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包;及
数据包发送模块1208,用于将更新数据包发送至加速服务器,以使加速服务器基于数据头中的原始访问地址访问原始访问地址所指示的应用服务器,并使加速服务器将应用服务器反馈的响应数据包回传至应用客户端。
在其中一个实施例中,数据加速传输装置还包括数据包解析模块;其中:
数据包解析模块用于对网络层数据包进行解析,确定传输层协议类别;数据包更新模块,还用于当基于传输层协议类别和原始访问地址,判定网络层数据包为待加速数据包时,将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包。
在其中一个实施例中,数据加速传输装置还包括待加速数据包判断模块包括IP地址匹配模块以及待加速数据包判断单元,其中:
IP地址匹配模块,用于当传输层协议类别为UDP协议且判定网络层数据包不为域名解析请求包时,将原始访问地址中的访问IP地址与IP地址白名单进行匹配;待加速数据包判断单元,用于当IP地址白名单中存在匹配成功的IP地址时,判定网络层数据包为待加速数据包。
在其中一个实施例中,数据包发送模块,还用于当IP地址白名单中存在不匹配成功的IP地址时,判定网络层数据包为非加速数据包;按照非加速数据包中的访问地址进行数据包的传输。
在其中一个实施例中,数据包发送模块,还用于当基于与应用客户端相匹配的IP地址黑名单,判断非加速数据包中的访问IP地址不为黑IP地址时,按照非加速数据包中的访问地址进行数据包的传输。
在其中一个实施例中,数据加速传输装置还包括进程终止模块,用于当基于与应用客户端相匹配的IP地址黑名单,判断非加速数据包中的访问IP地址为黑IP地址时,终止非加速数据包的发送进程。
在其中一个实施例中,数据加速传输装置还包括域名解析请求包判断单元,用于当传输层协议类别为UDP协议时,对解析得到的UDP数据包进行端口解析,确定UDP数据包中的访问端口;根据访问端口与域名解析服务对应的目标端口的关系,判断网络层数据包是否为域名解析请求包。
在其中一个实施例中,域名解析请求包判断单元,还用于将访问端口与域名解析服务对应的目标端口进行比对;若访问端口与域名解析服务对应的目标端口相同,则判定网络层数据包为域名解析请求包;若访问端口与域名解析服务对应的目标端口不同,则判定网络层数据包不为域名解析请求包。
在其中一个实施例中,数据加速传输装置还包括域名获取模块,域名解析结果获取模块以及IP地址白名单更新模块,其中:
域名获取模块,用于若网络层数据包为域名解析请求包,则从数据段中获取待解析的域名;域名解析结果获取模块,用于基于对域名的域名解析处理,得到与域名对应的IP地址;IP地址白名单更新模块,用于当域名符合域名加速条件时,将IP地址添加至IP地址白名单。
在其中一个实施例中,域名解析结果获取模块包括域名解析请求包更新模块和解析结果接收模块,其中:
域名解析请求包更新模块,用于将域名解析请求包中的访问地址更新为预设的域名服务器对应的地址,并将访问地址更新的域名解析请求包发送至域名服务器;解析结果接收模块,用于接收域名服务器对域名解析请求包中的域名进行解析后返回的IP地址。
在其中一个实施例中,待加速数据包判断模块还用于当传输层协议类别为TCP协议时,将原始访问地址中的原始访问IP地址与IP地址白名单进行匹配;当IP地址白名单中存在匹配成功的IP地址时,判定网络层数据包为待加速数据包。
在其中一个实施例中,数据包更新模块还用于当基于对网络层数据包的解析,确定传输层协议类别为TCP协议时,将网络层数据包转发至由加速客户端创建的本地服务器;基于本地服务器,将应用客户端所关联的加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包;数据包发送模块,还用于基于本地服务器,将更新数据包发送至加速服务器。
在其中一个实施例中,数据加速传输装置还包括地址添加模块;地址添加模块,用于将应用客户端所关联的加速服务器的地址和原始访问地址添加至TCP数据列表;数据包更新模块包括数据列表反查单元和数据包更新单元;数据列表反查单元,用于基于本地服务器,反查TCP数据列表,得到加速服务器的地址和原始访问地址;数据包更新单元,用于基于本地服务器,将加速服务器的地址作为网络层数据包的更新访问地址,并将原始访问地址添加至数据段的头部,得到更新数据包。
在其中一个实施例中,原始访问地址包括原始访问IP地址和原始访问端口;数据包解析模块,还用于对网络层数据包进行解析,得到原始访问IP地址和传输层数据包;对传输层数据包进行解析,得到原始访问端口和数据段。
在其中一个实施例中,数据加速传输装置还包括响应数据包回传模块;响应数据包回传模块,用于接收加速服务器回传的响应数据包,响应数据包由应用服务器反馈至加速服务器,将响应数据包的源地址更新为应用服务器的地址,将源地址更新后的响应数据包通过虚拟网络设备反馈至应用客户端。
在其中一个实施例中,待加速应用为待加速游戏;数据加速传输装置还包括区服确定模块、目标节点确定模块以及加速服务器确定模块,其中:
区服确定模块,用于响应于针对候选游戏列表中待加速游戏的选中操作,确定待加速游戏的游戏服务器所在的地理区域;目标节点确定模块,用于基于与地理区域相匹配的候选服务器节点各自对应的测速结果,确定候选服务器节点中符合测速条件的目标节点;加 速服务器确定模块,用于将部署于目标节点的加速服务器确定为与应用客户端所关联的加速服务器。
关于数据加速传输装置的具体实施例可以参见上文中对于数据加速传输方法的实施例,在此不再赘述。上述数据加速传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机可读指令被处理器执行时以实现一种数据加速传输方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和一个或多个处理器,存储器中存储有计算机可读指令,该一个或多个处理器执行计算机可读指令时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机可读指令,该计算机可读指令被一个或多个处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的一个或多个处理器从计算机可读存储介质读取该计算机指令,该一个或多个处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括 随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (20)

  1. 一种数据加速传输方法,其特征在于,由计算机设备执行,所述方法包括:
    基于针对待加速应用所配置的路由表,将所述待加速应用的应用客户端所发出的数据包路由至虚拟网络设备;
    从所述虚拟网络设备中读取网络层数据包,解析出所述网络层数据包中的原始访问地址和数据段;
    将所述应用客户端所关联的加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据包;及
    将所述更新数据包发送至所述加速服务器,以使所述加速服务器基于所述数据头中的原始访问地址访问所述原始访问地址所指示的应用服务器,并使所述加速服务器将所述应用服务器反馈的响应数据包回传至所述应用客户端。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    对所述网络层数据包进行解析,确定传输层协议类别;
    所述将所述应用客户端所关联的加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据包,包括:
    当基于所述传输层协议类别和所述原始访问地址,判定所述网络层数据包为待加速数据包时,将所述应用客户端所关联的加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据包。
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    当所述传输层协议类别为UDP协议且判定所述网络层数据包不为域名解析请求包时,将所述原始访问地址中的访问IP地址与IP地址白名单进行匹配;及
    当所述IP地址白名单中存在匹配成功的IP地址时,判定所述网络层数据包为待加速数据包。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    当所述IP地址白名单中存在不匹配成功的IP地址时,判定所述网络层数据包为非加速数据包;及
    按照所述非加速数据包中的访问地址进行数据包的传输。
  5. 根据权利要求4所述的方法,其特征在于,所述按照所述非加速数据包中的访问地址进行数据包的传输,包括:
    当基于与所述应用客户端相匹配的IP地址黑名单,判断所述非加速数据包中的访问IP地址不为黑IP地址时,按照所述非加速数据包中的访问地址进行数据包的传输。
  6. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    当基于与所述应用客户端相匹配的IP地址黑名单,判断所述非加速数据包中的访问IP地址为黑IP地址时,终止所述非加速数据包的发送进程。
  7. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    当所述传输层协议类别为UDP协议时,对解析得到的UDP数据包进行端口解析,确定所述UDP数据包中的访问端口;及
    根据所述访问端口与域名解析服务对应的目标端口的关系,判断所述网络层数据包是否为域名解析请求包。
  8. 根据权利要求7所述的方法,其特征在于,所述根据所述访问端口与域名解析服务对应的目标端口的关系,判断所述网络层数据包是否为域名解析请求包,包括:
    将所述访问端口与所述域名解析服务对应的目标端口进行比对;
    若所述访问端口与所述域名解析服务对应的目标端口相同,则判定所述网络层数据包为域名解析请求包;及
    若所述访问端口与所述域名解析服务对应的目标端口不同,则判定所述网络层数据包不为域名解析请求包。
  9. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    在所述网络层数据包为域名解析请求包的情况下,从所述数据段中获取待解析的域名;
    对所述域名进行域名解析处理,得到与所述域名对应的IP地址;及
    当所述域名符合域名加速条件时,将所述IP地址添加至所述IP地址白名单。
  10. 根据权利要求9所述的方法,其特征在于,所述对所述域名进行域名解析处理,得到与所述域名对应的IP地址,包括:
    将所述域名解析请求包中的访问地址更新为预设的域名服务器对应的地址,并将访问地址更新的域名解析请求包发送至所述域名服务器;及
    接收所述域名服务器对所述域名解析请求包中的域名进行解析后返回的IP地址。
  11. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    当所述传输层协议类别为TCP协议时,将所述原始访问地址中的原始访问IP地址与IP地址白名单进行匹配;及
    当所述IP地址白名单中存在匹配成功的IP地址时,判定所述网络层数据包为待加速数据包。
  12. 根据权利要求1所述的方法,其特征在于,所述将所述应用客户端所关联的加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据包,包括:
    当对所述网络层数据包进行解析,确定传输层协议类别为TCP协议时,将所述网络层数据包转发至由加速客户端创建的本地服务器;
    基于所述本地服务器,将所述应用客户端所关联的加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据包;及
    所述将所述更新数据包发送至所述加速服务器,包括:
    基于所述本地服务器,将所述更新数据包发送至所述加速服务器。
  13. 根据权利要求12所述的方法,其特征在于,所述方法还包括:
    将所述应用客户端所关联的加速服务器的地址和所述原始访问地址添加至TCP数据列表;
    所述基于所述本地服务器,将所述应用客户端所关联的加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据包,包括:
    基于所述本地服务器,反查所述TCP数据列表,得到所述加速服务器的地址和所述原始访问地址;及
    基于所述本地服务器,将所述加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据包。
  14. 根据权利要求1所述的方法,其特征在于,所述原始访问地址包括原始访问IP地址和原始访问端口;所述解析出所述网络层数据包中的原始访问地址和数据段,包括:
    对所述网络层数据包进行解析,得到原始访问IP地址和传输层数据包;及
    对所述传输层数据包进行解析,得到原始访问端口和数据段。
  15. 根据权利要求1所述的方法,其特征在于,所述将所述应用服务器反馈的响应数据包回传至所述应用客户端,包括:
    接收所述加速服务器回传的响应数据包,所述响应数据包由所述应用服务器反馈至所述加速服务器;及
    将所述响应数据包的源地址更新为所述应用服务器的地址,将源地址更新后的响应数据包通过虚拟网络设备反馈至所述应用客户端。
  16. 根据权利要求1至15中任一项所述的方法,其特征在于,所述待加速应用为待加速游戏;所述方法还包括:
    响应于针对候选游戏列表中待加速游戏的选中操作,确定所述待加速游戏的游戏服务器所在的地理区域;
    基于与所述地理区域相匹配的候选服务器节点各自的测速结果,确定所述候选服务器节点中符合测速条件的目标节点;及
    将部署于所述目标节点的加速服务器确定为与所述应用客户端关联的加速服务器。
  17. 一种数据加速传输装置,其特征在于,所述装置包括:
    数据包路由模块,用于基于针对待加速应用所创建的路由表,将所述待加速应用的应用客户端所发出的数据包路由至虚拟网络设备;
    数据包解析模块,用于从所述虚拟网络设备中读取网络层数据包,解析出所述网络层数据包中的原始访问地址和数据段;
    数据包更新模块,用于将所述应用客户端所关联的加速服务器的地址作为所述网络层数据包的更新访问地址,并将所述原始访问地址添加至所述数据段的头部,得到更新数据 包;及
    数据包发送模块,用于将所述更新数据包发送至所述加速服务器,以使所述加速服务器基于所述数据头中的原始访问地址访问所述原始访问地址所指示的应用服务器,并使所述加速服务器将所述应用服务器反馈的响应数据包回传至所述应用客户端。
  18. 一种计算机设备,包括存储器和一个或多个处理器,所述存储器存储有计算机程序,其特征在于,所述一个或多个处理器执行所述计算机程序时实现权利要求1至16中任一项所述的方法的步骤。
  19. 一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被一个或多个处理器执行时实现权利要求1至16中任一项所述的方法的步骤。
  20. 一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被一个或多个处理器执行时实现权利要求1至16中任一项所述的方法的步骤。
PCT/CN2022/110123 2021-09-08 2022-08-04 数据加速传输方法、装置、计算机设备和存储介质 WO2023035819A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/314,497 US20230275836A1 (en) 2021-09-08 2023-05-09 Accelerated data transmission method and apparatus, computer device, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111049966.0 2021-09-08
CN202111049966.0A CN113507393B (zh) 2021-09-08 2021-09-08 数据加速传输方法、装置、计算机设备和存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/314,497 Continuation US20230275836A1 (en) 2021-09-08 2023-05-09 Accelerated data transmission method and apparatus, computer device, and storage medium

Publications (1)

Publication Number Publication Date
WO2023035819A1 true WO2023035819A1 (zh) 2023-03-16

Family

ID=78016917

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/110123 WO2023035819A1 (zh) 2021-09-08 2022-08-04 数据加速传输方法、装置、计算机设备和存储介质

Country Status (3)

Country Link
US (1) US20230275836A1 (zh)
CN (1) CN113507393B (zh)
WO (1) WO2023035819A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116546557A (zh) * 2023-06-29 2023-08-04 阿里巴巴(中国)有限公司 数据包处理方法、系统、设备和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507393B (zh) * 2021-09-08 2021-12-07 腾讯科技(深圳)有限公司 数据加速传输方法、装置、计算机设备和存储介质
CN113992410B (zh) * 2021-10-28 2022-07-15 北京永信至诚科技股份有限公司 一种私有加密数据识别方法及系统
CN114422563A (zh) * 2021-12-29 2022-04-29 海南同享数字科技有限公司 一种页面调用后台数据方法、装置、设备及存储介质
CN118121927A (zh) * 2022-11-28 2024-06-04 荣耀终端有限公司 游戏管理的方法及终端设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580192A (zh) * 2014-12-31 2015-04-29 网宿科技股份有限公司 应用程序的网络访问请求的处理方法和装置
CN105791315A (zh) * 2016-04-25 2016-07-20 网宿科技股份有限公司 一种udp协议加速方法和系统
WO2019043687A2 (en) * 2017-08-28 2019-03-07 Luminati Networks Ltd. SYSTEM AND METHOD FOR IMPROVING CONTENT EXTRACTION BY SELECTING TUNNEL DEVICES
CN110478897A (zh) * 2019-08-28 2019-11-22 太仓市同维电子有限公司 一种基于vpn技术的智能网关游戏加速方法
CN112152828A (zh) * 2019-06-27 2020-12-29 腾讯科技(深圳)有限公司 一种游戏加速方法、装置、vpn终端及存储介质
CN112245907A (zh) * 2020-11-10 2021-01-22 网易(杭州)网络有限公司 游戏数据加速方法、存储介质、电子设备及系统
CN113507393A (zh) * 2021-09-08 2021-10-15 腾讯科技(深圳)有限公司 数据加速传输方法、装置、计算机设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957208B (zh) * 2014-04-29 2018-03-27 北京奇虎科技有限公司 网络游戏的加速方法和系统以及网游加速服务器
CN107071034B (zh) * 2017-04-20 2019-10-11 网宿科技股份有限公司 一种数据包传输方法和系统
CN110891056A (zh) * 2019-11-20 2020-03-17 杭州迪普科技股份有限公司 Https请求认证方法及装置、电子设备、存储介质
CN112511377B (zh) * 2020-11-16 2022-02-01 成都云智天下科技股份有限公司 一种基于arq和udp协议的tcp网络加速方法
CN112600952B (zh) * 2020-12-10 2022-09-27 四川迅游网络科技股份有限公司 一种移动端网络加速分流方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580192A (zh) * 2014-12-31 2015-04-29 网宿科技股份有限公司 应用程序的网络访问请求的处理方法和装置
CN105791315A (zh) * 2016-04-25 2016-07-20 网宿科技股份有限公司 一种udp协议加速方法和系统
WO2019043687A2 (en) * 2017-08-28 2019-03-07 Luminati Networks Ltd. SYSTEM AND METHOD FOR IMPROVING CONTENT EXTRACTION BY SELECTING TUNNEL DEVICES
CN112152828A (zh) * 2019-06-27 2020-12-29 腾讯科技(深圳)有限公司 一种游戏加速方法、装置、vpn终端及存储介质
CN110478897A (zh) * 2019-08-28 2019-11-22 太仓市同维电子有限公司 一种基于vpn技术的智能网关游戏加速方法
CN112245907A (zh) * 2020-11-10 2021-01-22 网易(杭州)网络有限公司 游戏数据加速方法、存储介质、电子设备及系统
CN113507393A (zh) * 2021-09-08 2021-10-15 腾讯科技(深圳)有限公司 数据加速传输方法、装置、计算机设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116546557A (zh) * 2023-06-29 2023-08-04 阿里巴巴(中国)有限公司 数据包处理方法、系统、设备和存储介质
CN116546557B (zh) * 2023-06-29 2023-11-17 阿里巴巴(中国)有限公司 数据包处理方法、系统、设备和存储介质

Also Published As

Publication number Publication date
CN113507393B (zh) 2021-12-07
CN113507393A (zh) 2021-10-15
US20230275836A1 (en) 2023-08-31

Similar Documents

Publication Publication Date Title
WO2023035819A1 (zh) 数据加速传输方法、装置、计算机设备和存储介质
US20210119961A1 (en) Resolution of domain name requests in heterogeneous network environments
US10003576B2 (en) Rule-based routing to resources through a network
US20200366639A1 (en) Fully qualified domain name-based traffic control for virtual private network access control
EP4009593A1 (en) Data transmission method and apparatus, network card and storage medium
US9917889B2 (en) Enterprise service bus routing system
US8762554B2 (en) Secure resource name resolution
US8549286B2 (en) Method and system for forwarding data between private networks
CN109729187B (zh) 一种代理通信方法、系统、装置及存储介质
US11595306B2 (en) Executing workloads across multiple cloud service providers
CN104506450A (zh) 媒体资源反馈方法及装置
CN113556413A (zh) 一种报文处理方法及装置
CN116860488A (zh) 一种进程通信方法和相关装置
CN109587028B (zh) 一种控制客户端流量的方法和装置
CN114710560A (zh) 数据处理方法、系统及代理设备、终端设备
US20180367452A1 (en) Information centric networking over multi-access network interfaces
US10567518B2 (en) Automatic discovery and onboarding of electronic devices
US20230198938A1 (en) Using entity name mapping for routing network traffic having encrypted server name identification (sni) headers
CN113676540B (zh) 一种连接建立方法及装置
WO2023230953A1 (en) System for disambiguating composite egress traffic for routing and other control
US20230216790A1 (en) Apparatus and method for providing virtual private network service in icn network
CN112866106B (zh) 一种兴趣包缓存方法、装置、设备及存储介质
CN117857527A (zh) 基于http协议的本地代理实现虚拟机访问元数据服务的方法
CN115037572A (zh) 一种应用请求的识别方法和装置
CN116633832A (zh) 超文本传输安全协议测试方法、装置、软件程序及介质

Legal Events

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

Ref document number: 22866293

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE