Communication link construction method and communication method
Patent Information
- Application Number
- CN202511023134.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-24
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2045-07-24
AI Technical Summary
[0038] The above scheme has at least the following beneficial effects: The client sends a SYN packet to the first TCP acceleration device; the first TCP acceleration device receives the SYN packet, joins the SCPS protocol, and forwards the SYN packet to the second TCP acceleration device; the second TCP acceleration device receives the SYN packet and sends it to the server; the server receives the SYN packet and returns a SYN+ACK packet to the second TCP acceleration device; the second TCP acceleration device receives the SYN+ACK packet, and when it determines that the other side supports the SCPS protocol, sends an ACK packet to the server, forwards the SYN+ACK packet to the first TCP acceleration device, and joins the SCPS protocol; the first TCP acceleration device receives the SYN+ACK packet and sends it to the client; the client receives the SYN+ACK packet, and when it determines that the other side supports the SCPS protocol, completes the handshake negotiation; the server receives the ACK packet and completes the handshake negotiation. Through the TCP acceleration device and optimized handshake negotiation process, the efficiency of handshake negotiation is improved. During data transmission, the TCP acceleration device deployed on the sending end immediately replies with an ACK packet after checking the packet, without waiting for a reply from the receiving end, thereby improving data transmission efficiency.
Smart Images

Figure CN120856807B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to a method for constructing a communication link and a communication method. Background Technology
[0002] For communication systems using the TCP protocol, the client and server establish a bidirectional data transmission channel through a three-way handshake process. First, the client sends a SYN packet to the server, entering the SYN_SENT state. Second, after receiving the SYN packet from the client, the server sends a SYN+ACK packet to the client, entering the SYN_RECV state. Third, upon receiving the SYN+ACK packet from the server, the client sends an ACK packet to the server, entering the Established state. At this point, the client and server have established a bidirectional data transmission channel.
[0003] During the data transmission and reception phase, the sender divides the data into multiple smaller segments and generates a sequence number for each segment. The receiver returns an acknowledgment number for each correctly received data segment; this acknowledgment number is typically the sequence number of the next expected data segment.
[0004] In this communication system, TCP negotiation is completed through the above three handshake messages, and each data transmission requires confirmation. In the field of satellite communication, this scenario takes into account the high latency of satellites, and the transmission rate is inversely proportional to the latency. The higher the latency, the lower the transmission speed, and high latency affects the data transmission rate. Summary of the Invention
[0005] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.
[0006] The purpose of this application is to at least partially solve one of the technical problems existing in the related technologies. The embodiments of this application provide a communication link construction method and a communication method, which can improve data transmission efficiency.
[0007] An embodiment of the first aspect of this application provides a method for constructing a communication link, comprising:
[0008] The client sends a SYN packet to the first TCP acceleration device;
[0009] The first TCP acceleration device receives the SYN packet sent by the client and joins the SCPS protocol;
[0010] The first TCP acceleration device forwards SYN packets to the second TCP acceleration device via satellite;
[0011] The second TCP acceleration device receives the SYN packet relayed by the satellite and sends a SYN packet to the server;
[0012] The server receives the SYN packet sent by the second TCP acceleration device and returns a SYN+ACK packet to the second TCP acceleration device based on the SYN packet sent by the second TCP acceleration device.
[0013] The second TCP acceleration device receives the SYN+ACK packet returned by the server. When the SYN packet relayed from the satellite determines that the first TCP acceleration device supports the SCPS protocol, it sends an ACK packet to the server and forwards the SYN+ACK packet to the first TCP acceleration device via the satellite and joins the SCPS protocol.
[0014] The first TCP acceleration device receives the SYN+ACK packet relayed by the satellite and sends a SYN+ACK packet to the client;
[0015] The client receives a SYN+ACK packet sent by the first TCP acceleration device. When the client determines from the SYN+ACK packet sent by the first TCP acceleration device that the second TCP acceleration device supports the SCPS protocol, the client completes the handshake negotiation.
[0016] The server receives the ACK message and completes the handshake negotiation.
[0017] According to certain embodiments of the first aspect of this application, the first TCP acceleration device and the second TCP acceleration device transmit data via satellite.
[0018] According to certain embodiments of the first aspect of this application, the first TCP acceleration device is provided with an SCPS gateway.
[0019] According to certain embodiments of the first aspect of this application, the second TCP acceleration device is provided with an SCPS gateway.
[0020] A second aspect of this application provides a communication method, comprising:
[0021] A communication link is constructed between the client and the server using the communication link construction method described in any one of claims 1 to 4;
[0022] The client sends a data packet to the first TCP acceleration device;
[0023] The first TCP acceleration device receives the data packet sent by the client and returns an ACK packet to the client;
[0024] The first TCP acceleration device forwards data packets to the second TCP acceleration device via satellite;
[0025] The second TCP acceleration device receives the data packets relayed by the satellite and sends the data packets to the server;
[0026] The server receives the data packets sent by the second TCP acceleration device and returns an ACK packet to the second TCP acceleration device.
[0027] A third aspect of this application provides a communication method comprising:
[0028] A communication link is constructed between the client and the server using the communication link construction method described in any one of claims 1 to 4;
[0029] The server sends data packets to the second TCP acceleration device;
[0030] The second TCP acceleration device receives the data packet sent by the server and returns an ACK packet to the server;
[0031] The second TCP acceleration device forwards data packets to the first TCP acceleration device via satellite;
[0032] The first TCP acceleration device receives the data packets relayed by the satellite and sends the data packets to the client;
[0033] The client receives the data packets sent by the first TCP acceleration device and returns an ACK packet to the first TCP acceleration device.
[0034] According to a fourth aspect of this application, a communication system includes a client, a satellite, and a server. The client and the server communicate via the satellite. A first TCP acceleration device is deployed between the client and the satellite, and a second TCP acceleration device is deployed between the server and the satellite. The client and the server establish a communication link using the communication link construction method described in the first aspect of this application.
[0035] According to a fifth aspect of this application, a communication system includes a client, a satellite, and a server. The client and the server communicate via the satellite. A first TCP acceleration device is deployed between the client and the satellite, and a second TCP acceleration device is deployed between the server and the satellite. The client and the server communicate using the communication method described in an embodiment of a second aspect of this application or an embodiment of a third aspect of this application.
[0036] A sixth aspect of this application provides an electronic device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the communication link construction method as described in the first aspect of this application, the communication method as described in the second aspect of this application, or the communication method as described in the third aspect of this application.
[0037] A seventh aspect of this application provides a computer storage medium storing computer-executable instructions for performing a communication link construction method as described in an embodiment of the first aspect of this application, a communication method as described in an embodiment of the second aspect of this application, or a communication method as described in an embodiment of the third aspect of this application.
[0038] The above scheme has at least the following beneficial effects: The client sends a SYN packet to the first TCP acceleration device; the first TCP acceleration device receives the SYN packet, joins the SCPS protocol, and forwards the SYN packet to the second TCP acceleration device; the second TCP acceleration device receives the SYN packet and sends it to the server; the server receives the SYN packet and returns a SYN+ACK packet to the second TCP acceleration device; the second TCP acceleration device receives the SYN+ACK packet, and when it determines that the other side supports the SCPS protocol, sends an ACK packet to the server, forwards the SYN+ACK packet to the first TCP acceleration device, and joins the SCPS protocol; the first TCP acceleration device receives the SYN+ACK packet and sends it to the client; the client receives the SYN+ACK packet, and when it determines that the other side supports the SCPS protocol, completes the handshake negotiation; the server receives the ACK packet and completes the handshake negotiation. Through the TCP acceleration device and optimized handshake negotiation process, the efficiency of handshake negotiation is improved. During data transmission, the TCP acceleration device deployed on the sending end immediately replies with an ACK packet after checking the packet, without waiting for a reply from the receiving end, thereby improving data transmission efficiency. Attached Figure Description
[0039] The accompanying drawings are used to provide a further understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.
[0040] Figure 1 This is a schematic diagram of a three-way handshake in a communication system using the TCP protocol;
[0041] Figure 2 This is a schematic diagram of a communication link construction method provided in an embodiment of this application;
[0042] Figure 3 This is a schematic diagram of the communication method provided in an embodiment of this application. Detailed Implementation
[0043] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0044] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, or the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0045] Reference Figure 1 For communication systems using the TCP protocol, the two communicating parties (client and server) establish a bidirectional data transmission channel through a three-way handshake process. First, the client sends a SYN packet to the server, entering the SYN_SENT state. Second, after receiving the SYN packet from the client, the server sends a SYN+ACK packet to the client, entering the SYN_RECV state. Third, upon receiving the SYN+ACK packet from the server, the client sends an ACK packet to the server, entering the Established state. At this point, the client and server have established a bidirectional data transmission channel.
[0046] During the data transmission and reception phase, the sender divides the data into multiple smaller segments (typically a maximum of 1460 bytes) and generates a sequence number for each segment. The receiver returns an acknowledgment number for each correctly received data segment; this acknowledgment number is usually the sequence number of the next expected data segment.
[0047] In this communication system, TCP negotiation is completed through the above three handshake messages, and subsequent data transmissions require confirmation. In the field of satellite communication, this scenario takes into account the high latency of satellites, and the transmission rate is inversely proportional to the latency. The higher the latency, the lower the transmission speed, and high latency affects the data transmission rate.
[0048] To address the above problems, embodiments of this application provide a communication link construction method and a communication method.
[0049] The embodiments of this application will be further described below with reference to the accompanying drawings.
[0050] The embodiments of this application provide a method for constructing a communication link.
[0051] The communication link construction method is applied to a communication system. The communication system includes a client, a satellite, and a server. The client and the server communicate via satellite. A first TCP acceleration device is deployed between the client and the satellite, and a second TCP acceleration device is deployed between the server and the satellite.
[0052] Reference Figure 2 The communication link construction method includes the following steps:
[0053] The client sends a SYN packet to the first TCP acceleration device;
[0054] The first TCP acceleration device receives the SYN packet sent by the client and adds it to the SCPS protocol. Adding the SCPS protocol indicates that the first TCP acceleration device supports the SCPS protocol.
[0055] The first TCP acceleration device forwards SYN packets to the second TCP acceleration device via satellite;
[0056] The second TCP acceleration device receives the SYN packet relayed by the satellite and sends the SYN packet to the server.
[0057] The server receives the SYN packet sent by the second TCP acceleration device and returns a SYN+ACK packet to the second TCP acceleration device based on the SYN packet sent by the second TCP acceleration device.
[0058] The second TCP acceleration device receives the SYN+ACK message returned by the server. When the SYN message relayed from the satellite determines that the first TCP acceleration device supports the SCPS protocol, it sends an ACK message to the server. The SYN+ACK message is forwarded to the first TCP acceleration device via the satellite and the SCPS protocol is added. The addition of the SCPS protocol indicates that the second TCP acceleration device supports the SCPS protocol.
[0059] The first TCP acceleration device receives the SYN+ACK packet relayed by the satellite and sends a SYN+ACK packet to the client.
[0060] The client receives a SYN+ACK packet sent by the first TCP acceleration device. When the SYN+ACK packet sent by the first TCP acceleration device confirms that the second TCP acceleration device supports the SCPS protocol, the handshake negotiation is completed.
[0061] The server receives the ACK message and completes the handshake negotiation.
[0062] It should be noted that when the second TCP acceleration device receives the SYN+ACK packet from the server, it sends an ACK packet to the server and simultaneously forwards the SYN+ACK packet to the first TCP acceleration device via satellite. The steps of the server sending the ACK packet and forwarding the SYN+ACK packet to the first TCP acceleration device via satellite can be performed synchronously; this improves the efficiency of the handshake negotiation.
[0063] It should be noted that the server completes the handshake negotiation upon receiving the ACK packet from the second TCP acceleration device, without waiting for client confirmation. Similarly, the client completes the handshake negotiation upon receiving the SYN+ACK packet from the first TCP acceleration device and confirming from it that the second TCP acceleration device supports the SCPS protocol, without waiting for server confirmation. This improves the efficiency of the handshake negotiation.
[0064] For a SYN packet, the flag is SYN=1, indicating a synchronization request and a request to establish a connection. The initial sequence number is seq=x, where x is a 32-bit sequence number randomly generated by the client to mark the starting position for subsequent data transmission.
[0065] For a SYN+ACK message, the flags are SYN=1 (indicating the server is synchronizing its own sequence number) + ACK=1 (indicating acknowledgment of receipt of the client's request). The acknowledgment number is ack=x+1, indicating that the client's message with sequence number x has been received, and the next message should start from x+1. The initial sequence number is seq=y, where y is a randomly generated 32-bit sequence number used by the server to mark the starting position of its subsequent data transmissions.
[0066] For an ACK message, the flag is ACK=1, indicating that the server's response has been acknowledged. The acknowledgment number is ack=y+1, indicating that the server's message with sequence number y has been received, and the next message should start from y+1. The sequence number is seq=x+1, which is based on the client's initial sequence number x and automatically increments by 1.
[0067] During the TCP connection establishment process, the first TCP acceleration device and the second TCP acceleration device transmit data through satellite.
[0068] The embodiments of this application provide communication methods.
[0069] The communication method is applied to a communication system. The communication system includes a client, a satellite, and a server. The client and the server communicate via satellite. A first TCP acceleration device is deployed between the client and the satellite, and a second TCP acceleration device is deployed between the server and the satellite.
[0070] Reference Figure 3After a communication link is established between the client and the server, the client and the server can communicate on that communication link.
[0071] The communication method includes the steps of the client sending data to the server, including the following steps:
[0072] The client sends a data packet to the first TCP acceleration device;
[0073] The first TCP acceleration device receives the data packets sent by the client and returns an ACK packet to the client;
[0074] The first TCP acceleration device forwards data packets to the second TCP acceleration device via satellite;
[0075] The second TCP acceleration device receives data packets relayed by the satellite and sends data packets to the server;
[0076] The server receives the data packets sent by the second TCP acceleration device and returns an ACK packet to the second TCP acceleration device.
[0077] When a client sends a data packet, the TCP acceleration device deployed on the client side checks the packet and immediately replies with an ACK packet, without waiting for a response from the server. This improves the client's data sending efficiency.
[0078] Reference Figure 3 The communication method includes the step of the server sending data to the client, including the following steps:
[0079] The server sends data packets to the second TCP acceleration device;
[0080] The second TCP acceleration device receives data packets sent by the server and returns ACK packets to the server.
[0081] The second TCP acceleration device forwards data packets to the first TCP acceleration device via satellite;
[0082] The first TCP acceleration device receives data packets relayed by the satellite and sends data packets to the client;
[0083] The client receives the data packet sent by the first TCP acceleration device and returns an ACK packet to the first TCP acceleration device.
[0084] The server sends data packets, and the TCP acceleration device deployed on the server side checks the packets and immediately replies with an ACK packet, without waiting for a response from the client. This improves the server's data sending efficiency.
[0085] Embodiments of this application provide a communication system.
[0086] The communication system includes a client, a satellite, and a server. The client and the server communicate with each other via the satellite. A first TCP acceleration device is deployed between the client and the satellite, and a second TCP acceleration device is deployed between the server and the satellite.
[0087] The client is connected to the first TCP acceleration device via a terrestrial wired connection, and the server is connected to the second TCP acceleration device via a terrestrial wired connection.
[0088] The first TCP acceleration device is equipped with an SCPS gateway. The second TCP acceleration device is equipped with an SCPS gateway.
[0089] An SCPS gateway is a gateway device that supports the SCPS (Space Communications Protocol Specifications) protocol. Its core function is to connect space communication networks and terrestrial communication networks, enabling protocol adaptation, data forwarding, and communication coordination between the two types of networks.
[0090] Reference Figure 2 The communication system uses the following communication link construction method to construct the communication link.
[0091] The client sends a SYN packet to the first TCP acceleration device;
[0092] The first TCP acceleration device receives the SYN packet sent by the client and adds it to the SCPS protocol. Adding the SCPS protocol indicates that the first TCP acceleration device supports the SCPS protocol.
[0093] The first TCP acceleration device forwards SYN packets to the second TCP acceleration device via satellite;
[0094] The second TCP acceleration device receives the SYN packet relayed by the satellite and sends the SYN packet to the server.
[0095] The server receives the SYN packet sent by the second TCP acceleration device and returns a SYN+ACK packet to the second TCP acceleration device based on the SYN packet sent by the second TCP acceleration device.
[0096] The second TCP acceleration device receives the SYN+ACK message returned by the server. When the SYN message relayed from the satellite determines that the first TCP acceleration device supports the SCPS protocol, it sends an ACK message to the server. The SYN+ACK message is forwarded to the first TCP acceleration device via the satellite and the SCPS protocol is added. The addition of the SCPS protocol indicates that the second TCP acceleration device supports the SCPS protocol.
[0097] The first TCP acceleration device receives the SYN+ACK packet relayed by the satellite and sends a SYN+ACK packet to the client.
[0098] The client receives a SYN+ACK packet sent by the first TCP acceleration device. When the SYN+ACK packet sent by the first TCP acceleration device confirms that the second TCP acceleration device supports the SCPS protocol, the handshake negotiation is completed.
[0099] The server receives the ACK message and completes the handshake negotiation.
[0100] It should be noted that when the second TCP acceleration device receives the SYN+ACK packet from the server, it sends an ACK packet to the server and simultaneously forwards the SYN+ACK packet to the first TCP acceleration device via satellite. The steps of the server sending the ACK packet and forwarding the SYN+ACK packet to the first TCP acceleration device via satellite can be performed synchronously; this improves the efficiency of the handshake negotiation.
[0101] It should be noted that the server completes the handshake negotiation upon receiving the ACK packet from the second TCP acceleration device, without waiting for client confirmation. Similarly, the client completes the handshake negotiation upon receiving the SYN+ACK packet from the first TCP acceleration device and confirming from it that the second TCP acceleration device supports the SCPS protocol, without waiting for server confirmation. This improves the efficiency of the handshake negotiation.
[0102] For a SYN packet, the flag is SYN=1, indicating a synchronization request and a request to establish a connection. The initial sequence number is seq=x, where x is a 32-bit sequence number randomly generated by the client to mark the starting position for subsequent data transmission.
[0103] For a SYN+ACK message, the flags are SYN=1 (indicating the server is synchronizing its own sequence number) + ACK=1 (indicating acknowledgment of receipt of the client's request). The acknowledgment number is ack=x+1, indicating that the client's message with sequence number x has been received, and the next message should start from x+1. The initial sequence number is seq=y, where y is a randomly generated 32-bit sequence number used by the server to mark the starting position of its subsequent data transmissions.
[0104] For an ACK message, the flag is ACK=1, indicating that the server's response has been acknowledged. The acknowledgment number is ack=y+1, indicating that the server's message with sequence number y has been received, and the next message should start from y+1. The sequence number is seq=x+1, which is based on the client's initial sequence number x and automatically increments by 1.
[0105] During the TCP connection establishment process, the first TCP acceleration device and the second TCP acceleration device transmit data through satellite.
[0106] After establishing a communication link between the client and the server, the communication system uses the following communication methods to communicate on that link.
[0107] Reference Figure 3 The process of the client sending data to the server is as follows:
[0108] The client sends a data packet to the first TCP acceleration device;
[0109] The first TCP acceleration device receives the data packets sent by the client and returns an ACK packet to the client;
[0110] The first TCP acceleration device forwards data packets to the second TCP acceleration device via satellite;
[0111] The second TCP acceleration device receives data packets relayed by the satellite and sends data packets to the server;
[0112] The server receives the data packets sent by the second TCP acceleration device and returns an ACK packet to the second TCP acceleration device.
[0113] When a client sends a data packet, the TCP acceleration device deployed on the client side checks the packet and immediately replies with an ACK packet, without waiting for a response from the server. This improves the client's data sending efficiency.
[0114] Reference Figure 3 The process of the server sending data to the client is as follows:
[0115] The server sends data packets to the second TCP acceleration device;
[0116] The second TCP acceleration device receives data packets sent by the server and returns ACK packets to the server.
[0117] The second TCP acceleration device forwards data packets to the first TCP acceleration device via satellite;
[0118] The first TCP acceleration device receives data packets relayed by the satellite and sends data packets to the client;
[0119] The client receives the data packet sent by the first TCP acceleration device and returns an ACK packet to the first TCP acceleration device.
[0120] The server sends data packets, and the TCP acceleration device deployed on the server side checks the packets and immediately replies with an ACK packet, without waiting for a response from the client. This improves the server's data sending efficiency.
[0121] Embodiments of this application provide an electronic device. The electronic device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the communication link construction method and communication method as described above.
[0122] This electronic device can be any smart terminal, including computers.
[0123] In general, for the hardware structure of electronic devices, the processor can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, to execute relevant programs and implement the technical solutions provided in the embodiments of this application.
[0124] The memory can be implemented in the form of read-only memory (ROM), static storage device, dynamic storage device, or random access memory (RAM). The memory can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory and is called and executed by the processor.
[0125] Input / output interfaces are used to implement information input and output.
[0126] The communication interface is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0127] The bus transmits information between various components of a device, such as the processor, memory, input / output interfaces, and communication interfaces. The processor, memory, input / output interfaces, and communication interfaces communicate with each other within the device via the bus.
[0128] Embodiments of this application provide a computer storage medium. The computer storage medium stores computer-executable instructions for executing the communication link construction method and communication method described above.
[0129] It will be understood by those skilled in the art that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, it is well known to those skilled in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium. In the foregoing description of this specification, references to terms such as "one embodiment," "another embodiment," or "some embodiments," etc., indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of this application. In this specification, illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0130] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.
[0131] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0132] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0133] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0134] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed between each other may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms. Although embodiments of this application have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions, and variations can be made to these embodiments without departing from the principles and spirit of this application, the scope of which is defined by the claims and their equivalents.
[0135] The above is a detailed description of the preferred embodiments of this application, but this application is not limited to the embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application, and these equivalent modifications or substitutions are all included within the scope defined by the claims of this application.
Claims
1. A method for constructing a communication link, characterized in that, include: The client sends a SYN packet to the first TCP acceleration device; The first TCP acceleration device receives the SYN packet sent by the client and joins the SCPS protocol; The first TCP acceleration device forwards SYN packets to the second TCP acceleration device via satellite; The second TCP acceleration device receives the SYN packet relayed by the satellite and sends a SYN packet to the server; The server receives the SYN packet sent by the second TCP acceleration device and returns a SYN+ACK packet to the second TCP acceleration device based on the SYN packet sent by the second TCP acceleration device. The second TCP acceleration device receives the SYN+ACK packet returned by the server. When the SYN packet relayed from the satellite determines that the first TCP acceleration device supports the SCPS protocol, it sends an ACK packet to the server and forwards the SYN+ACK packet to the first TCP acceleration device via the satellite, thus joining the SCPS protocol. Specifically, when the second TCP acceleration device receives the SYN+ACK packet sent by the server, it sends an ACK packet to the server and simultaneously forwards the SYN+ACK packet to the first TCP acceleration device via the satellite. The first TCP acceleration device receives the SYN+ACK packet relayed by the satellite and sends a SYN+ACK packet to the client; The client receives a SYN+ACK packet sent by the first TCP acceleration device. When the client determines from the SYN+ACK packet sent by the first TCP acceleration device that the second TCP acceleration device supports the SCPS protocol, the client completes the handshake negotiation. The server receives the ACK message and completes the handshake negotiation. The server completes the handshake negotiation upon receiving the ACK packet from the second TCP acceleration device, without waiting for client confirmation. The client completes the handshake negotiation upon receiving the SYN+ACK packet from the first TCP acceleration device and determining from the SYN+ACK packet that the second TCP acceleration device supports the SCPS protocol, without waiting for server confirmation.
2. The communication link construction method according to claim 1, characterized in that, The first TCP acceleration device and the second TCP acceleration device transmit data via satellite.
3. The communication link construction method according to claim 1, characterized in that, The first TCP acceleration device is equipped with an SCPS gateway.
4. The communication link construction method according to claim 1, characterized in that, The second TCP acceleration device is equipped with an SCPS gateway.
5. A communication method, characterized in that, include: A communication link is constructed between the client and the server using the communication link construction method described in any one of claims 1 to 4; The client sends a data packet to the first TCP acceleration device; The first TCP acceleration device receives the data packet sent by the client and returns an ACK packet to the client; The first TCP acceleration device forwards data packets to the second TCP acceleration device via satellite; The second TCP acceleration device receives the data packets relayed by the satellite and sends the data packets to the server; The server receives the data packets sent by the second TCP acceleration device and returns an ACK packet to the second TCP acceleration device.
6. A communication method, characterized in that, include: A communication link is constructed between the client and the server using the communication link construction method described in any one of claims 1 to 4; The server sends data packets to the second TCP acceleration device; The second TCP acceleration device receives the data packet sent by the server and returns an ACK packet to the server; The second TCP acceleration device forwards data packets to the first TCP acceleration device via satellite; The first TCP acceleration device receives the data packets relayed by the satellite and sends the data packets to the client; The client receives the data packets sent by the first TCP acceleration device and returns an ACK packet to the first TCP acceleration device.
7. A communication system, characterized in that, The system includes a client, a satellite, and a server. The client and the server communicate via the satellite. A first TCP acceleration device is deployed between the client and the satellite, and a second TCP acceleration device is deployed between the server and the satellite. The client and the server establish a communication link using the communication link construction method described in any one of claims 1 to 4.
8. A communication system, characterized in that, The system includes a client, a satellite, and a server. The client and the server communicate via the satellite. A first TCP acceleration device is deployed between the client and the satellite, and a second TCP acceleration device is deployed between the server and the satellite. The client and the server communicate using the communication method described in claim 5 or 6.
9. An electronic device, characterized in that, include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the communication link construction method as described in any one of claims 1 to 4, the communication method as described in claim 5, or the communication method as described in claim 6.
10. A computer storage medium, characterized in that, The device stores computer-executable instructions for performing the communication link construction method as described in any one of claims 1 to 4, the communication method as described in claim 5, or the communication method as described in claim 6.
Citation Information
Patent Citations
Method for realizing TCP transmission in satellite network environment and corresponding gateway
CN105897665A
Satellite channel high-speed reliable data transmission method based on DPDK
CN110190893A