Data transmission architecture, method, device and storage medium
By deploying tunnel access points between public network access points and servers, and optimizing data transmission with QUIC and VxLAN tunnels, packet loss problem in cross-region data interaction is solved, fast retransmission and high-reliability transmission are achieved, and user experience is improved.
Patent Information
- Application Number
- CN202310376714.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-31
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2043-03-31
AI Technical Summary
In the Internet across regions and/or across operators, packet loss is prone to occur when the data between mobile terminals and other terminals or devices interacts, resulting in an increase in data transmission delay and affecting the user experience.
Deploy the tunnel access point between the public network access point and the server, use the QUIC tunnel to receive the client's data requests, and send it to the server through the VxLAN tunnel. The QUIC tunnel is built based on the QUIC protocol and has the ability to quickly retransmit. The VxLAN tunnel transmits data according to the priority field of the transmitted data.
It effectively shortens the data transmission delay between the client and the server, and improves the data transmission quality and user experience.
Smart Images

Figure CN116389192B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a data transmission architecture and its method, device and storage medium. Background Art
[0002] Generally speaking, the quality of data exchange between a mobile terminal and other terminals or devices on the internet within the same operator and region is relatively good. However, when a mobile terminal exchanges data with other terminals or devices on the internet across different regions and / or operators, packet loss often occurs. Furthermore, when data transmission links are too long, packet loss and retransmissions further increase data transmission latency, significantly impacting data transmission quality. Therefore, further solutions are needed to optimize long-link transmission networks to reduce data transmission latency and improve user experience. Summary of the Invention
[0003] Various aspects of the present application provide a data transmission architecture and method, device, and storage medium thereof for optimizing long-link transmission networks to reduce data transmission delays and thereby improve user service experience.
[0004] An embodiment of the present application also provides a data transmission architecture, which includes a client, a public network access point, a tunnel access point and a server, wherein: the tunnel access point is deployed on a transmission link between the public network access point and the server, and the tunnel access point is deployed within a preset distance range close to the public network access point; the tunnel access point is used to receive a target data request from the client through a Fast User Datagram Protocol Internet Protocol QUIC tunnel, and send the target data request to the server through a Virtual Extended Local Area Network VxLAN tunnel; wherein the QUIC tunnel is constructed based on the QUIC protocol, and the VxLAN tunnel transmits data according to a priority field of the transmitted data.
[0005] An embodiment of the present application provides a data transmission method, which is applied to a data transmission architecture, and includes: the client sending target QUIC tunnel protocol data to the tunnel access point, wherein the target QUIC tunnel protocol data is the target data request of the client as the payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the address of the client, and the target address of the target QUIC tunnel protocol data is the address of the server that responds to the target data request; the tunnel access point receives the target QUIC tunnel protocol data, processes the target QUIC tunnel protocol data to obtain data to be forwarded, and forwards the data to be forwarded to the server corresponding to the target address, wherein the data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data, and the target data request; the server receives the data to be forwarded, parses the data to be forwarded to obtain the source address of the target QUIC tunnel protocol data and the target data request, and returns the target data to the client corresponding to the source address of the target QUIC tunnel protocol data in response to the target data request.
[0006] An embodiment of the present application also provides a data transmission method, which is applied to a client and includes: sending target QUIC tunnel protocol data to the tunnel access point, so that the tunnel access point processes the target QUIC tunnel protocol data to obtain data to be forwarded, and forwarding the data to be forwarded to the server corresponding to the target address; wherein, the target QUIC tunnel protocol data is the target data request of the client as the payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the address of the client, and the target address of the target QUIC tunnel protocol data is the address of the server that responds to the target data request, and the data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request.
[0007] An embodiment of the present application also provides a data transmission method, which is applied to a tunnel entry point and includes: receiving target QUIC tunnel protocol data from a client, the target QUIC tunnel protocol data is the target data request of the client as the payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the address of the client, and the target address of the target QUIC tunnel protocol data is the address of the server that responds to the target data request; processing the target QUIC tunnel protocol data to obtain data to be forwarded; forwarding the data to be forwarded to the server corresponding to the target address, the data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request, so that the data to be forwarded is parsed to obtain the source address of the target QUIC tunnel protocol data and the target data request, and returning the target data to the client corresponding to the source address of the target QUIC tunnel protocol data in response to the target data request.
[0008] An embodiment of the present application also provides a data transmission method, which is applied to a server and includes: receiving data to be forwarded from a tunnel access point, the data to be forwarded being obtained by the tunnel access point based on target QUIC tunnel protocol data from a client, the data to be forwarded including the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data, and a target data request, the target QUIC tunnel protocol data using the client's target data request as the payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data being the address of the client, and the target address of the target QUIC tunnel protocol data being the address of a server that responds to the target data request; parsing the data to be forwarded to obtain the source address of the target QUIC tunnel protocol data and the target data request; and returning the target data to the client corresponding to the source address of the target QUIC tunnel protocol data in response to the target data request.
[0009] An embodiment of the present application also provides an electronic device, comprising: a processor, a memory, and a bus, wherein the memory stores machine-readable instructions executable by the processor, the processor and the memory communicate via the bus, and when the machine-readable instructions are executed by the processor, the steps in the data transmission method provided in the embodiment of the present application are executed.
[0010] An embodiment of the present application further provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor implements the steps of the data transmission method provided in the embodiment of the present application.
[0011] In an embodiment of the present application, a data transmission architecture can be provided, which includes a client, a public network access point, a tunnel access point, and a server. The tunnel access point is deployed on the transmission link between the public network access point and the server, and the tunnel access point is deployed within a preset distance range close to the public network access point. This allows the longer transmission link between the client and the server to be split into a transmission link between the client and the tunnel access point and a transmission link between the tunnel access point and the server. In addition, the tunnel access point can receive the client's target data request through a QUIC tunnel. The QUIC tunnel is constructed based on the QUIC protocol and has fast retransmission recovery capabilities. Moreover, this transmission link is short, and even if retransmission occurs, the retransmission time required is also short. The transmission link that sends the target data request to the server through the VxLAN tunnel is based on the priority field of the transmitted data, so its data transmission reliability is high, which can greatly shorten the overall data transmission delay from the client to the server, improve the data transmission quality between the client and the server, and effectively enhance the user's service experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0013] Figure 1 A schematic diagram of a data transmission architecture provided by the prior art;
[0014] Figure 2 A flowchart of a data transmission method provided by the prior art;
[0015] Figure 3 A schematic diagram of a data transmission architecture provided in accordance with an embodiment of the present application;
[0016] Figure 4 A flowchart of a data transmission method provided by an exemplary embodiment of the present application;
[0017] Figure 5 A schematic diagram of the process of applying the data transmission method provided by the exemplary embodiment of the present application to an actual scenario;
[0018] Figure 6 This is a schematic diagram of the data format obtained by encapsulation according to the QUIC protocol in the data transmission method provided in an embodiment of the present application;
[0019] Figure 7 A schematic diagram of a process of applying the data transmission method provided in an embodiment of the present application to a client;
[0020] Figure 8 A schematic diagram of a process for applying the data transmission method provided in an embodiment of the present application to a tunnel access point;
[0021] Figure 9 A flow chart of the data transmission method provided in an embodiment of the present application being applied to a server;
[0022] Figure 10 A schematic diagram of the structure of a client provided by an exemplary embodiment of the present application;
[0023] Figure 11 A schematic diagram of the structure of a tunnel access point provided by an exemplary embodiment of the present application;
[0024] Figure 12 A schematic diagram of the structure of a server provided for an exemplary embodiment of the present application;
[0025] Figure 13 A schematic structural diagram of an electronic device provided as an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0026] The following description sets forth many specific details to facilitate a thorough understanding of the present application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the scope of the present application. Therefore, the present application is not limited to the specific implementations disclosed below.
[0027] The terms used in one or more embodiments of the present application are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of the present application. The singular forms "a", "the" and "the" used in one or more embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of the present application refers to and includes any or all possible combinations of one or more associated listed items.
[0028] It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of the present application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of one or more embodiments of the present application, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0029] First, the terms involved in one or more embodiments of the present application are explained.
[0030] Quick UDP Internet Connection (QUIC): A reliable transport protocol based on the User Datagram Protocol (UDP). The QUIC protocol defines a layer on top of UDP that adds error handling, reliability, flow control, and built-in security (via TLS 1.3). QUIC establishes a connection between two endpoints and supports multiplexing of connections.
[0031] Virtual Extensible Local Area Network (VxLAN): A network virtualization technology that improves scalability in large-scale cloud computing deployments and serves as an extension of VLANs. VxLAN is a powerful tool that can extend Layer 2 networks through Layer 3 networks. It does this by encapsulating traffic and extending it to Layer 3 gateways.
[0032] Figure 1 This diagram illustrates a data transmission network architecture in the prior art. A client connects to the mobile data network provided by a public access point, then transmits data to a server over the public network link. This transmission link has two unstable sections: one section between the client and the operator's public access point, and the other, the long-distance transmission link from the local public network to the server. Packet loss in either section triggers retransmissions across the entire end-to-end network. This significantly increases recovery time and results in a poor user experience.
[0033] To address this, existing technologies use Content Delivery Network (CDN) to optimize application networks, deploying intermediate source CDNs and edge CDNs, and pushing static data such as images, videos, and other unchanging data files to edge CDNs to accelerate client access. Figure 2 This diagram illustrates data transmission using CDNs in existing technologies. While this approach can speed up access and reduce data transmission latency for static data, it's unsuitable for transmitting dynamic data, such as API response results and real-time responses, and is also costly.
[0034] In response to the many shortcomings of current data transmission links, the network architecture provided by the embodiments of the present application considers deploying a tunnel access point on the transmission link between a public network access point and a server within a preset distance range close to the public network access point. The tunnel access point is used to receive the client's target data request through a Quick User Datagram Protocol (QUIC) tunnel and send the target data request to the server through a virtual extended local area network (VxLAN) tunnel. The QUIC tunnel is built based on the QUIC protocol and has a fast retransmission capability. Moreover, the transmission link is short, and even if retransmission occurs, the retransmission time required is also short. The VxLAN tunnel transmits data according to the priority field of the transmitted data, which can reliably transmit the transmitted data. This can greatly shorten the overall data transmission delay from the client to the server, improve the data transmission quality between the client and the server, and effectively enhance the user's service experience. Specifically, in this application, a data transmission method is provided. This application also relates to a data transmission network architecture, a data transmission device, an electronic device, and a computer-readable storage medium, which are described in detail in the following embodiments.
[0035] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0036] Figure 3 This is a schematic diagram of a data transmission network architecture provided by an exemplary embodiment of the present application. Figure 3 As shown, the network architecture includes a client 310, a public network access point 320, a tunnel access point 330 and a server 340, wherein:
[0037] The tunnel access point 330 is deployed on the transmission link between the public network access point 320 and the server 340, and the tunnel access point 330 is deployed within a preset distance range close to the public network access point 320;
[0038] The tunnel presence point 330 is used to receive the target data request from the client 310 through the QUIC tunnel, and send the target data request to the server 340 through the VxLAN tunnel;
[0039] Among them, the QUIC tunnel is built based on the QUIC protocol, and the VxLAN tunnel transmits data according to the priority field of the transmitted data.
[0040] The public network access point 320 is used to provide a mobile data network for the client 310, enabling the client 310 to establish a QUIC tunnel with the tunnel access point 330 through the mobile data network for data transmission. In addition, the tunnel access point can also provide IP addresses of multiple operators, thus providing access points of corresponding operators to clients belonging to different operators, eliminating the need for clients to travel long distances to connect to access points of specific operators or specific areas.
[0041] In some exemplary embodiments, the network architecture may also include a load balancing device 350, which is a front-end load balancing device for the server 340. Usually in actual applications, there can be multiple servers 340, and these multiple servers 340 can be called a server cluster. In front of the server cluster, there is usually a load balancing server. The task of the load balancing device is to serve as the entrance for the traffic of multiple servers 340. From the perspective of load balancing, the most suitable server is selected for the client 310 that sends the target data request from the multiple servers 340 (for example, a server with less current data processing pressure can be selected for the client 310), and the client's request is forwarded to it for processing, thereby realizing transparent forwarding from the client to the server that can truly respond to its target data request. Specifically, the network architecture provided by the embodiment of the present application also includes a load balancing device, which is a front-end load balancing device for the server. The load balancing device is used to:
[0042] Receive data to be forwarded from the tunnel entry point, where the data to be forwarded is obtained by encapsulating the target data request in the VxLAN encapsulation format;
[0043] Parse the data to be forwarded and the VxLAN header in the data to be forwarded to obtain the target address and target data request;
[0044] The target data request is sent to a server corresponding to the target address of the target data request.
[0045] Among them, the QUIC tunnel is built based on the QUIC protocol. The QUIC protocol itself can confirm whether the data transmitted to the client has been successfully received through ACK after data transmission. If the ACK message returned by the client is not received within the preset transmission time period, the packet loss retransmission mechanism can be triggered to resend the data to the client. Moreover, since the tunnel access point is deployed on the transmission link between the public network access point and the server and is close to the public network access point, because the client needs to pass through the public network access point when accessing the public network, the tunnel access point is also deployed close to the client side. This can further shorten the retransmission time when retransmitting lost packets between the tunnel access point and the client, thereby effectively reducing the end-to-end delay from the client to the server as a whole.
[0046] Among them, the VxLAN tunnel can transmit data according to the priority field of the transmitted data, that is, the service type (Type of Service, ToS) field can be set in the common IP header field in the transmitted data. For some specified tunnel data packets, the service type corresponding to the high priority can be set, so that the ToS field of the transmitted data can be identified in the path device of the transmission device (tunnel access point and load balancing device), and then the ToS field is mapped to the corresponding priority, and the high-priority transmission data is forwarded first, thereby effectively reducing the packet loss rate of the high-priority transmission data and improving the reliability of data transmission.
[0047] The technical solution of the data transmission network architecture and the technical solution of the data transmission method belong to the same concept. For details not described in detail in the technical solution of the data transmission network architecture, please refer to the description of the technical solution of the data transmission method below.
[0048] In an embodiment of the present application, a data transmission architecture can be provided, which includes a client, a public network access point, a tunnel access point, and a server. The tunnel access point is deployed on the transmission link between the public network access point and the server, and the tunnel access point is deployed within a preset distance range close to the public network access point. This allows the longer transmission link between the client and the server to be split into a transmission link between the client and the tunnel access point and a transmission link between the tunnel access point and the server. In addition, the tunnel access point can receive the client's target data request through a QUIC tunnel. The QUIC tunnel is constructed based on the QUIC protocol and has fast retransmission recovery capabilities. Moreover, this transmission link is short, and even if retransmission occurs, the retransmission time required is also short. The transmission link that sends the target data request to the server through the VxLAN tunnel is based on the priority field of the transmitted data, so its data transmission reliability is high, which can greatly shorten the overall data transmission delay from the client to the server, improve the data transmission quality between the client and the server, and effectively enhance the user's service experience.
[0049] See also Figure 4 , Figure 4 A flowchart of a data transmission method provided according to an embodiment of the present application is shown. The method is applied to a data transmission network architecture, which includes a client, a tunnel access point and a server, and specifically includes the following steps.
[0050] In step 410, the client sends the target QUIC tunnel protocol data to the tunnel access point.
[0051] Among them, the target QUIC tunnel protocol data takes the client's target data request as the payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the address of the client, and the target address of the target QUIC tunnel protocol data is the address of the server that responds to the target data request.
[0052] Optionally, the QUIC tunnel between the client and the tunnel access point can use the QUIC transport protocol as the transport layer and implement the QUIC tunnel protocol on top of it. The data format encapsulated with the QUIC tunnel protocol can be found in Figure 5 .like Figure 5 As shown in the figure, the data encapsulated by the QUIC tunnel protocol may include IP, UDP, QUIC HDR, TUNNEL HDR and Payload. Among them, the IP part of the data may include information such as the source IP address, the destination IP address, and the ToS field. The UDP part of the data may include information such as the source port number and the destination port number. QUIC HDR stands for the Stream Frame defined in the QUIC Internet Engineering Task Force (Request For Comments, RFC). TUNNEL HDR stands for the Tunnel Frame extended in the Stream Frame. HDR is the abbreviation of the Frame Header. Payload is the effective load. Figure 5 The Tunneled Packets shown in the figure are used to carry the client's original data message, that is, the target data request. Figure 5 It can be seen that since the client's original data message is encapsulated in the TunnelFrame, and the TunnelFrame is encapsulated in the StreamFrame, the data encapsulated based on this data format also has the fast retransmission capability of the QUIC protocol in the QUIC tunnel.
[0053] The client and tunnel access point (AP) can transmit control and data information over the QUIC tunnel. Control information can include tunnel initialization information, stream group closure information, error information, tunnel closure information, and renegotiation version information. The tunnel initialization information is used to initialize the QUIC tunnel and carries information such as the QUIC tunnel version and the type of network protocol transmitted within the QUIC tunnel (TCP, UDP, QUIC, etc.). The stream group closure information is used to close the stream group used for data transmission (QUIC tunnels are grouped for data transmission, and the corresponding stream group can be selected for data transmission) and promptly release the resources of the stream group after data transmission has completed. Error information is used to notify the client or server of detailed error information when communication errors occur. The tunnel closure information is used to close the QUIC tunnel between the client and the AP, and promptly release the QUIC tunnel resources after data transmission has completed. The renegotiation version information is sent by the client and server after the connection is established. If the server does not support the version carried in the initialization information, it will renegotiate the version number (QUIC tunnel version and network protocol type transmitted within the QUIC tunnel).
[0054] Data information may include transmission data information and stream group configuration information. The transmission data information carries the data transmitted by the client to the server, i.e., the target data request. The stream group configuration information sets the stream group to which the QUIC tunnel connection between the client and the tunnel access point belongs. Different clients can send transmission data to the tunnel access point through different stream groups.
[0055] In some exemplary embodiments, before sending the target QUIC tunnel protocol data to the tunnel access point, the client needs to establish a QUIC tunnel with the tunnel access point. Specifically, the client sends the target QUIC tunnel protocol data to the tunnel access point, including:
[0056] The client sends a QUIC tunneling protocol token to the tunnel access point, so that the tunnel access point enables QUIC tunneling protocol support for the transmission link between the client and the tunnel access point based on the QUIC tunneling protocol token;
[0057] When the transmission link between the client and the tunnel access point supports the QUIC tunneling protocol, the client sends handshake parameters to the tunnel access point to complete the connection options and parameter settings of the transmission link between the client and the tunnel access point;
[0058] The client sends initialization information to the tunnel access point to initialize the tunnel version, transmission protocol and server address of the transmission link between the client and the tunnel access point;
[0059] After initializing the transmission link between the client and the tunnel access point, the client sends the target QUIC tunnel protocol data to the tunnel access point.
[0060] In some exemplary embodiments, the client may process the target QUIC tunnel protocol data sent to the tunnel POP by:
[0061] S1: The client establishes a QUIC tunnel with the tunnel access point.
[0062] The client sends an ALPN token (i.e., QUIC Tunneling Protocol Token) to the tunnel access point, so that the tunnel access point enables QUIC tunneling protocol support for the client, and then sends handshake parameters to the tunnel access point to complete the connection options and parameter settings of the transmission link between the client and the tunnel access point. The connection options can be used to inform the tunnel access point to which load balancing device to forward the data sent by the client. After that, the client sends initialization information to the tunnel access point to set the tunnel version, transmission protocol and server address of the transmission link between the client and the tunnel access point. The server is the server that responds to the client's data request.
[0063] S2. The client sends the target QUIC tunnel protocol data to the tunnel access point.
[0064] After the client receives the confirmation information from the tunnel access point, it can send the target QUIC tunnel protocol data to the tunnel access point. It should be noted that a QUIC tunnel usually has multiple Stream groups. The QUIC tunnel connection established by a client and a tunnel access point belongs to one of the multiple Stream groups. When the client transmits data with the tunnel access point, it can transmit the data to the tunnel access point through the corresponding Stream group. Therefore, before the client sends the target QUIC tunnel protocol data to the tunnel access point, it can also send stream group setting information to the tunnel access point to indicate which stream group of the QUIC tunnel is used to send the transmission data to the tunnel access point. The stream group setting information can also carry the transmission protocol type / IP / port information to the server, so that the server can return the data requested by the client to the client based on this information. The client then sends the target QUIC tunnel protocol data to the tunnel access point by transmitting the data information.
[0065] S3. The client sends a stream group close message to the tunnel access point to close the QUIC tunnel connection between the client and the tunnel access point.
[0066] S4. When the client no longer needs data transmission, it closes the QUIC tunnel between the client and the tunnel access point by sending a tunnel closing message to release QUIC tunnel resources.
[0067] In step 420, the tunnel access point receives the target QUIC tunnel protocol data, processes the target QUIC tunnel protocol data, obtains the data to be forwarded, and forwards the data to be forwarded to the server corresponding to the target address.
[0068] Among them, the data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request.
[0069] In some exemplary embodiments, since data is transmitted between the tunnel access point and the server via a VxLAN tunnel, and data is transmitted between the tunnel access point and the client via a QUIC tunnel, the data formats transmitted by these transmission links are different. Therefore, after receiving the data from the client, the tunnel access point needs to process the target QUIC tunnel protocol data from the client to obtain data suitable for VxLAN tunnel transmission. Specifically, the tunnel access point processes the target QUIC tunnel protocol data to obtain data to be forwarded, including:
[0070] The tunnel access point parses the target QUIC tunnel protocol data to obtain the source address of the target QUIC tunnel protocol data, the destination address of the target QUIC tunnel protocol data, and the target data request;
[0071] The tunnel entry point encapsulates the target data request in accordance with the VxLAN encapsulation format based on the source address of the target QUIC tunnel protocol data and the target address of the target QUIC tunnel protocol data to obtain the data to be forwarded. The data packet to be forwarded contains a VxLAN header. The source address in the VxLAN header is the address of the tunnel entry point, and the destination address in the VxLAN header is the destination address of the target QUIC tunnel protocol data.
[0072] In some exemplary embodiments, in order to select a server for the client that can respond to the client's data request in a timely manner, the data transmission network architecture also includes a load balancing device of the server, which is used to receive the data to be forwarded, and parse the data to be forwarded and the VxLAN header in the data to be forwarded to obtain the target address and target data request of the target QUIC tunnel protocol data, and send the target data request to the server corresponding to the target address of the target QUIC tunnel protocol data.
[0073] In some exemplary embodiments, after receiving the target QUIC tunnel protocol data, the tunnel access point can parse the data and obtain the source address (including IP address and source port number), destination address (including target IP address and destination port number), and payload, i.e., the target data request that the client actually wants to transmit. The address of the next node to which the tunnel access point is to forward data, i.e., the target address of the data to be forwarded by the tunnel access point, can be determined from the target address (indicated server address) carried in the original target QUIC tunnel protocol data using the mapping relationship between the load balancing device and the server to obtain the address of the load balancing device that matches it. Based on the source IP address, source port number, target IP address, and destination port number, the IP and UDP headers are encapsulated as the IP and UDP headers of the data to be transmitted. In this case, the client's IP address and port number can be used as the source IP address and source port number, while the load balancing device address and port number are used as the target IP address and destination port number. The target data request is used as the payload, and then a layer of VxLAN header is encapsulated to convert it into a VxLAN encapsulation format. In the VxLAN header, the IP address and port number of the tunnel entry point serve as the source IP address and port number, while the IP address and port number of the load balancing device serve as the destination IP address and port number. After receiving the data to be forwarded, the load balancing device parses the VxLAN header and forwards the payload of the data to the corresponding server. The source address of the data forwarded to the server is the client's address, and the destination address is the server's address.
[0074] Figure 6 This is a schematic diagram of the data transmission method provided in the embodiment of the present application being applied to an actual scenario. Figure 6 In [1], data transmitted between the client and the tunnel access point is encapsulated using the QUIC tunneling protocol, while data transmitted between the tunnel access point and the load balancer is encapsulated using the VxLAN tunneling protocol. The format of data transmitted between the tunnel access point and the load balancer also specifies the VxLAN tunnel identifier (VNI). Data transmitted between the load balancer and the server removes the VxLAN header and directly transmits the original target data request sent by the client.
[0075] In step 430, the server receives the data to be forwarded, parses the data to be forwarded to obtain the source address and target data request of the target QUIC tunnel protocol data, and returns the target data to the client corresponding to the source address of the target QUIC tunnel protocol data in response to the target data request.
[0076] In some exemplary embodiments, after receiving the data to be forwarded, the server may return the target data requested by the client to the client step by step (through the load balancing device and the tunnel access point in sequence) along the transmission link between the server and the client. Specifically, the server returns the target data to the client corresponding to the source address, including:
[0077] The server sends the target data to the load balancing device. The target data includes a source address and a target address. The source address of the target data is the address of the server, and the target address of the target data is the address of the client corresponding to the target data request.
[0078] The load balancing device processes the target data according to the VxLAN encapsulation format based on the address of the load balancing device and the address of the tunnel access point to obtain first target data, and sends the first target data to the tunnel access point, where the source address of the first target data is the address of the load balancing device, the target address of the first target data is the address of the tunnel access point, and the first target data further includes a VxLAN header, where the target address of the VxLAN header is the address of the tunnel access point;
[0079] The tunnel access point receives the first target data, parses the first target data, obtains the payload data of the first target data, and encapsulates the payload data of the first target data according to the QUIC tunnel protocol based on the source address and target address of the first target data, and then sends the encapsulated data to the client corresponding to the target address of the target data.
[0080] It's important to note that the mapping between the load balancing device and the server, as well as the tunnel access point and the load balancing device, can be established through socket association. Upon receiving a data request from a client, the server establishes a socket with the address of the corresponding load balancing device. The request is read from the socket, and data returned to the client is also sent from this socket, with the destination address being the load balancing device address recorded in the socket. The load balancing device also implements the same logic, recording the session information when it is sent. Upon receiving the response packet, it swaps the source and destination addresses to search for the session and obtain the address of the tunnel access point to be forwarded.
[0081] In some exemplary embodiments, the server may forward the target data to its load balancing device in response to the target data request. In this case, the source address of the target data is the server address, and the target address is the client address. After the load balancing device receives the target data, since the transmission link between the load balancing device and the tunnel access point is a VxLAN tunnel, the source address of the target data can be modified to the address of the load balancing device, and a VxLAN header can be added. The target data is processed according to the VxLAN encapsulation format to obtain the first target data. The target address of the VxLAN header is the address of the tunnel access point. The load balancing device then forwards the first target data to the tunnel access point. The transmission link between the tunnel access point and the client is a QUIC tunnel. Therefore, after receiving the first target data, the tunnel access point can also remove the VxLAN header from the first target data and convert the format of the first target data after removing the VxLAN header to obtain data that encapsulates the payload data of the first target data according to the QUIC tunnel protocol. Finally, the encapsulated data is sent to the client corresponding to the target address of the target data.
[0082] The technical solution of the data transmission network method and the technical solution of the data transmission architecture belong to the same concept. For details not described in detail in the technical solution of the data transmission network method, please refer to the description of the technical solution of the above-mentioned data transmission architecture.
[0083] Using the data transmission method provided in the embodiment of the present application, the tunnel access point is deployed on the transmission link between the public network access point and the server, and the tunnel access point is deployed within a preset distance range close to the public network access point side, so that the longer transmission link between the client and the server can be split into a transmission link between the client and the tunnel access point and a transmission link between the tunnel access point and the server. In addition, the tunnel access point can receive the client's target data request through the QUIC tunnel. The QUIC tunnel is constructed based on the QUIC protocol and has a fast retransmission recovery capability. Moreover, this transmission link is short, and even if retransmission occurs, the retransmission time required is short. Since the transmission link that sends the target data request to the server through the VxLAN tunnel transmits data according to the priority field of the transmitted data, its data transmission reliability is high, which can greatly shorten the data transmission delay from the client to the server as a whole, improve the data transmission quality between the client and the server, and effectively improve the user's service experience.
[0084] It should be noted that the execution entity of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution entity of steps 410 to 430 can be device A; for another example, the execution entity of steps 410 to 420 can be device A, and the execution entity of step 430 can be device B; and so on.
[0085] In addition, some of the processes described in the above embodiments and the accompanying drawings include multiple operations that appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel. The sequence numbers of the operations, such as 410 and 420, are merely used to distinguish between different operations and do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel.
[0086] Figure 7 A flowchart of a data transmission method provided in accordance with an embodiment of the present application and applied to a client is shown, which specifically includes the following steps.
[0087] Step 710: Send the target QUIC tunnel protocol data to the tunnel access point, so that the tunnel access point processes the target QUIC tunnel protocol data, obtains the data to be forwarded, and forwards the data to be forwarded to the server corresponding to the target address.
[0088] Among them, the target QUIC tunnel protocol data takes the client's target data request as the payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the address of the client, the target address of the target QUIC tunnel protocol data is the address of the server that responds to the target data request, and the data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request.
[0089] The technical solution of the data transmission network method and the technical solution of the data transmission architecture and method belong to the same concept. For details not described in detail in the technical solution of the data transmission network method, please refer to the description of the technical solution of the above-mentioned data transmission architecture and method.
[0090] Figure 8 A flowchart of a data transmission method provided in accordance with an embodiment of the present application and applied to a tunnel point of entry is shown, which specifically includes the following steps.
[0091] Step 810, receiving target QUIC tunnel protocol data from the client.
[0092] The target QUIC tunnel protocol data takes the client's target data request as the payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the client's address, and the target address of the target QUIC tunnel protocol data is the address of the server that responds to the target data request.
[0093] Step 820: Process the target QUIC tunnel protocol data to obtain data to be forwarded.
[0094] Step 830: forward the data to be forwarded to the server corresponding to the target address.
[0095] The data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request, so that the server parses the data to be forwarded to obtain the source address and target data request of the target QUIC tunnel protocol data, and responds to the target data request to return the target data to the client corresponding to the source address of the target QUIC tunnel protocol data.
[0096] The technical solution of the data transmission network method and the technical solution of the data transmission architecture and method belong to the same concept. For details not described in detail in the technical solution of the data transmission network method, please refer to the description of the technical solution of the above-mentioned data transmission architecture and method.
[0097] Figure 9 A flowchart of a data transmission method provided in accordance with an embodiment of the present application and applied to a server is shown, which specifically includes the following steps.
[0098] Step 910: Receive data to be forwarded from the tunnel access point.
[0099] The data to be forwarded is obtained by the tunnel access point based on the target QUIC tunnel protocol data from the client. The data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request. The target QUIC tunnel protocol data uses the client's target data request as the payload of the QUIC tunnel protocol. The source address of the target QUIC tunnel protocol data is the address of the client, and the target address of the target QUIC tunnel protocol data is the address of the server that responds to the target data request.
[0100] Step 920: parse the data to be forwarded to obtain the source address and target data request of the target QUIC tunnel protocol data.
[0101] Step 930, in response to the target data request, returns the target data to the client corresponding to the source address of the target QUIC tunnel protocol data.
[0102] The technical solution of the data transmission network method and the technical solution of the data transmission architecture and method belong to the same concept. For details not described in detail in the technical solution of the data transmission network method, please refer to the description of the technical solution of the above-mentioned data transmission architecture and method.
[0103] Figure 10 This is a schematic diagram of the structure of a client 1000 provided by an exemplary embodiment of the present application. Figure 10 As shown, the client includes:
[0104] a sending module 1010, configured to send target QUIC tunnel protocol data to the tunnel point of presence, so that the tunnel point of presence processes the target QUIC tunnel protocol data to obtain data to be forwarded, and forward the data to be forwarded to a server corresponding to the target address;
[0105] Among them, the target QUIC tunnel protocol data uses the client's target data request as the payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the address of the client, the target address of the target QUIC tunnel protocol data is the address of the server that responds to the target data request, and the data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request.
[0106] The client can implement Figure 7 For details, please refer to the method of the embodiment of the method. Figure 7 The data transmission method of the illustrated embodiment will not be described in detail.
[0107] Figure 11 A schematic diagram of a tunnel point of presence 1100 provided in an exemplary embodiment of the present application includes:
[0108] a receiving module 1110, configured to receive target QUIC tunnel protocol data from a client, wherein the target QUIC tunnel protocol data is a target data request of the client as a payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the address of the client, and the destination address of the target QUIC tunnel protocol data is the address of a server that responds to the target data request;
[0109] A processing module 1120 is configured to process the target QUIC tunnel protocol data to obtain data to be forwarded;
[0110] The forwarding module 1130 is used to forward the data to be forwarded to the server corresponding to the target address, where the data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request, so that the server parses the data to be forwarded to obtain the source address of the target QUIC tunnel protocol data and the target data request, and returns the target data to the client corresponding to the source address of the target QUIC tunnel protocol data in response to the target data request.
[0111] Tunnel entry point can achieve Figure 8 For details, please refer to the method of the embodiment of the method. Figure 8 The data transmission method of the illustrated embodiment will not be described in detail.
[0112] Figure 12 A schematic diagram of the structure of a server 1200 provided in an exemplary embodiment of the present application includes:
[0113] a receiving module 1210, configured to receive data to be forwarded from a tunnel point of presence, the data to be forwarded being processed by the tunnel point of presence based on target QUIC tunnel protocol data from a client, the data to be forwarded including a source address of the target QUIC tunnel protocol data, a target address of the target QUIC tunnel protocol data, and a target data request, wherein the target QUIC tunnel protocol data uses the target data request of the client as a payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the address of the client, and the target address of the target QUIC tunnel protocol data is the address of a server that responds to the target data request;
[0114] A parsing module 1220 is configured to parse the data to be forwarded to obtain a source address of the target QUIC tunnel protocol data and the target data request;
[0115] The response module 1230 is used to respond to the target data request and return the target data to the client corresponding to the source address of the target QUIC tunnel protocol data.
[0116] The server can achieve Figure 9 For details, please refer to the method of the embodiment of the method. Figure 9 The data transmission method of the illustrated embodiment will not be described in detail.
[0117] Figure 13 This is a schematic diagram of the structure of an electronic device provided by an exemplary embodiment of the present application. Figure 13 As shown, the device includes: a memory 131 and a processor 132.
[0118] The memory 131 is used to store computer programs and may be configured to store various other data to support operations on the computing device. Examples of such data include instructions for any application or method operating on the computing device, contact data, phone book data, messages, images, videos, etc.
[0119] The processor 132 is coupled to the memory 131 and is configured to execute the computer program in the memory 131 to perform the steps of the above-mentioned data transmission method.
[0120] Further, if Figure 13 As shown, the electronic device also includes: a communication component 133, a display 134, a power component 135, an audio component 136 and other components. Figure 13 Only some components are shown schematically, which does not mean that the electronic device only includes Figure 13 In addition, depending on the implementation form of the traffic playback device, Figure 13 The components in the dotted box are optional components, not mandatory components. For example, when the electronic device is implemented as a terminal device such as a smartphone, tablet computer or desktop computer, it may include Figure 13 Components in the dotted box; when the electronic device is implemented as a conventional server, cloud server, data center or server array and other server-side devices, it may not include Figure 13 Components within the dotted box.
[0121] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor is enabled to implement the steps in the above-mentioned data transmission method embodiment.
[0122] above Figure 13 The communication component is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component may also include a near field communication (NFC) module, radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra wideband (Ultra WideBand, UWB) technology, Bluetooth (BT) technology, etc.
[0123] above Figure 13The memory in the memory can be implemented by any type of volatile or non-volatile memory device or a combination of them, such as static random-access memory (SRAM), electrically erasable programmable read only memory (EEPROM), electrically erasable programmable read only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0124] above Figure 13 The display in the embodiment includes a screen, which may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touches, slides, and gestures on the touch panel. The touch sensors may not only sense the boundaries of a touch or slide action, but also detect the duration and pressure associated with the touch or slide action.
[0125] above Figure 13 The power supply component in a device provides power to various components of the device in which the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.
[0126] above Figure 13 The audio component in the device may be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC), and when the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal may be further stored in a memory or sent via a communication component. In some embodiments, the audio component further includes a speaker for outputting audio signals.
[0127] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0128] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0129] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0130] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 The steps for the function specified in one or more boxes.
[0131] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0132] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0133] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media such as modulated data signals and carrier waves.
[0134] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0135] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.
Claims
1. A data transmission network architecture, characterized in that: The network architecture includes a client, a public network access point, a tunnel access point, and a server, wherein: The tunnel access point is deployed on the transmission link between the public network access point and the server, and the tunnel access point is deployed within a preset distance range close to the public network access point; The tunnel access point is used to receive the target data request of the client through a fast user datagram protocol Internet protocol QUIC tunnel, and send the target data request to the server through a virtual extended local area network VxLAN tunnel; Among them, the QUIC tunnel is constructed based on the QUIC protocol, and the VxLAN tunnel transmits data according to the priority field of the transmitted data.
2. The network architecture according to claim 1, wherein: The network architecture further includes a load balancing device, which is a pre-load balancing device of the server and is used to: Receive data to be forwarded from the tunnel access point, where the data to be forwarded is obtained by encapsulating the target data request in a VxLAN encapsulation format; Parsing the data to be forwarded and a VxLAN header in the data to be forwarded to obtain a target address of the target data request and the target data request; The target data request is sent to a server corresponding to the target address of the target data request.
3. A data transmission method, characterized in that: The method is applied to the data transmission network architecture according to claim 1, and the method includes: The client sends target QUIC tunnel protocol data to the tunnel presence point, wherein the target QUIC tunnel protocol data is the target data request of the client as the payload of the QUIC tunnel protocol, the source address in the target QUIC tunnel protocol data is the address of the client, and the destination address in the target QUIC tunnel protocol data is the address of the server that responds to the target data request; The tunnel access point receives the target QUIC tunnel protocol data, processes the target QUIC tunnel protocol data to obtain data to be forwarded, and forwards the data to be forwarded to a server corresponding to the target address, where the data to be forwarded includes a source address of the target QUIC tunnel protocol data, a target address of the target QUIC tunnel protocol data, and the target data request; The server receives the data to be forwarded, parses the data to be forwarded to obtain the source address of the target QUIC tunnel protocol data and the target data request, and returns the target data to the client corresponding to the source address of the target QUIC tunnel protocol data in response to the target data request.
4. The method according to claim 3, wherein The tunnel access point processes the target QUIC tunnel protocol data to obtain data to be forwarded, including: The tunnel access point parses the target QUIC tunnel protocol data to obtain a source address of the target QUIC tunnel protocol data, a target address of the target QUIC tunnel protocol data, and the target data request; The tunnel entry point encapsulates the target data request in accordance with the VxLAN encapsulation format based on the source address of the target QUIC tunnel protocol data and the target address of the target QUIC tunnel protocol data to obtain the data to be forwarded. The data to be forwarded contains a VxLAN header. The source address in the VxLAN header is the address of the tunnel entry point, and the target address in the VxLAN header is the target address of the target QUIC tunnel protocol data.
5. The method according to claim 4, wherein The data transmission network architecture also includes a load balancing device of the server, which is used to receive the data to be forwarded and parse the data to be forwarded and the VxLAN header in the data to be forwarded to obtain the target address of the target QUIC tunnel protocol data and the target data request, and send the target data request to the server corresponding to the target address of the target QUIC tunnel protocol data.
6. The method according to claim 5, wherein The server returns the target data to the client corresponding to the source address, including: The server sends the target data to the load balancing device, wherein the target data includes a source address and a target address, wherein the source address of the target data is the address of the server, and the target address of the target data is the address of the client corresponding to the target data request; The load balancing device processes the target data according to a VxLAN encapsulation format based on the address of the load balancing device and the address of the tunnel access point to obtain first target data, and sends the first target data to the tunnel access point, where the source address of the first target data is the address of the load balancing device, the target address of the first target data is the address of the tunnel access point, and the first target data further includes a VxLAN header, where the target address of the VxLAN header is the address of the tunnel access point; The tunnel access point receives the first target data, parses the first target data to obtain the payload data of the first target data, and encapsulates the payload data of the first target data according to the QUIC tunnel protocol based on the source address and target address of the first target data, and then sends the encapsulated data to the client corresponding to the target address of the target data.
7. The method according to any one of claims 3 to 6, wherein: The client sends target QUIC tunnel protocol data to the tunnel point of presence, including: The client sends a QUIC tunneling protocol token to the tunnel access point, so that the tunnel access point enables QUIC tunneling protocol support for a transmission link between the client and the tunnel access point based on the QUIC tunneling protocol token; In a case where the transmission link between the client and the tunnel POP supports the QUIC tunneling protocol, the client sends handshake parameters to the tunnel POP to complete connection options and parameter settings for the transmission link between the client and the tunnel POP; The client sends initialization information to the tunnel access point, which is used to initialize and set the tunnel version, transmission protocol and server address between the client and the tunnel access point; After initializing the transmission link between the client and the tunnel presence point, the client sends the target QUIC tunnel protocol data to the tunnel presence point.
8. A data transmission method, characterized in that: The method is applied to the client according to claim 1, and the method includes: Sending the target QUIC tunnel protocol data to the tunnel presence point, so that the tunnel presence point processes the target QUIC tunnel protocol data to obtain data to be forwarded, and forwarding the data to be forwarded to a server corresponding to the target address; Among them, the target QUIC tunnel protocol data uses the client's target data request as the payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data is the address of the client, the target address of the target QUIC tunnel protocol data is the address of the server that responds to the target data request, and the data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request.
9. A data transmission method, characterized in that: The method is applied to the tunnel access point according to claim 1, and the method comprises: receiving target QUIC tunnel protocol data from a client, the target QUIC tunnel protocol data being a target data request of the client as a payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data being the address of the client, and the destination address of the target QUIC tunnel protocol data being the address of a server that responds to the target data request; Processing the target QUIC tunnel protocol data to obtain data to be forwarded; The data to be forwarded is forwarded to the server corresponding to the target address, wherein the data to be forwarded includes the source address of the target QUIC tunnel protocol data, the target address of the target QUIC tunnel protocol data and the target data request, so that the server parses the data to be forwarded to obtain the source address of the target QUIC tunnel protocol data and the target data request, and returns the target data to the client corresponding to the source address of the target QUIC tunnel protocol data in response to the target data request.
10. A data transmission method, characterized in that: The method is applied to the server according to claim 1, and the method includes: receiving data to be forwarded from a tunnel point of presence, the data to be forwarded being processed by the tunnel point of presence based on target QUIC tunnel protocol data from a client, the data to be forwarded including a source address of the target QUIC tunnel protocol data, a target address of the target QUIC tunnel protocol data, and a target data request, the target QUIC tunnel protocol data being the target data request of the client as a payload of the QUIC tunnel protocol, the source address of the target QUIC tunnel protocol data being the address of the client, and the target address of the target QUIC tunnel protocol data being the address of a server that responds to the target data request; Parsing the data to be forwarded to obtain the source address of the target QUIC tunnel protocol data and the target data request; In response to the target data request, the target data is returned to the client corresponding to the source address of the target QUIC tunnel protocol data.
11. An electronic device, characterized in that: include: A processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, the processor and the memory communicate via a bus, and when the machine-readable instructions are executed by the processor, the steps in the data transmission method according to any one of claims 3 to 10 are performed.
12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which, when executed by a processor, executes the steps of the data transmission method according to any one of claims 3 to 10.
Citation Information
Patent Citations
Network access method and equipment
CN112671811A
Container networking using communication tunnels
US20200036796A1