Method, device, system, gateway unit and computer equipment for data packet transmission
Patent Information
- Application Number
- CN202311841567.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-28
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2043-12-28
AI Technical Summary
[0003]本申请实施例的目的是提供一种数据包传输的方法、装置、系统、网关单元及计算机设备,用以解决现有技术的数据包传输方式在多设备多出口的场景下存在通信不稳定的问题
[0017]The above technical solution receives a reverse data packet carrying first address port information sent by the destination terminal. Based on a pre-created address port connection table, it determines whether the address port connection table stores second address port information corresponding to the first address port information. The second address port information corresponding to the first address port information is carried in the first packet of the data stream corresponding to the reverse data packet. If the address port connection table does not store the second address port information corresponding to the first address port information, the reverse data packet is sent to other gateway units connected through the backflow port. The other gateway units determine the target gateway unit among the other gateway units based on the first address port information and their pre-created address port connection tables, and the target gateway unit sends the reverse data packet to the source terminal. This application, by sending the reverse data packet to other gateway units connected through the backflow port when the address port connection table of the gateway unit does not store the second address port information corresponding to the first address port information, allows the other gateway units to determine the target gateway unit to send the reverse data packet to the source terminal. This enables source-to-source data packet routing in scenarios with multiple devices and multiple exits, reducing the possibility of communication interruption caused by gateway units discarding reverse data packets and improving the stability of the communication process.
Smart Images

Figure CN117811988B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data transmission technology, and specifically to a method, apparatus, system, gateway unit, and computer equipment for data packet transmission. Background Technology
[0002] Due to the diverse service requirements of network devices, the complexity of network topologies has increased significantly. Many network devices require guaranteed data flow from source to source in multi-ingress and multi-egress application scenarios to ensure the operation of upper-layer services. However, existing technologies typically employ load balancing to allocate bandwidth efficiently when transmitting reverse data packets, polling for a specific route as the routing result. Consequently, reverse data packets may be forwarded through different paths. When a reverse data packet reaches the gateway, the gateway may discard it due to inconsistencies between the information in the reverse data packet and the initial packet information recorded by the gateway, leading to communication interruption. Therefore, existing data packet transmission methods suffer from communication instability in scenarios with multiple devices and multiple egress points. Summary of the Invention
[0003] The purpose of this application is to provide a method, apparatus, system, gateway unit, and computer device for data packet transmission, in order to solve the problem of unstable communication in the existing data packet transmission method in scenarios with multiple devices and multiple exits.
[0004] To achieve the above objectives, the first aspect of this application provides a method for data packet transmission, executed in a gateway unit, the method comprising:
[0005] Receive the reverse data packet sent by the destination terminal, wherein the reverse data packet carries the first address and port information;
[0006] Based on the pre-created address port connection table, it is determined whether the address port connection table stores the second address port information corresponding to the first address port information. The second address port information corresponding to the first address port information is carried by the first packet of the data stream corresponding to the reverse data packet.
[0007] If the address port connection table does not store the second address port information corresponding to the first address port information, the reverse data packet is sent to the other gateway units connected through the backflow port. The other gateway units then determine the target gateway unit based on the first address port information and the address port connection table pre-created by the other gateway units, and the target gateway unit sends the reverse data packet to the source terminal.
[0008] In this embodiment of the application, the method further includes: when the address port connection table stores the second address port information corresponding to the first address port information, determining the first packet ingress interface, wherein the first packet ingress interface is the intranet port through which the gateway unit receives the first packet of the data stream corresponding to the reverse data packet; and sending the reverse data packet to the source terminal through the first packet ingress interface.
[0009] In this embodiment, the address port connection table includes second address port information carried in the first packets of multiple data streams. Based on the pre-created address port connection table, determining whether the address port connection table stores second address port information corresponding to first address port information includes: matching the first address port information with the second address port information carried in the first packets of multiple data streams respectively; if the first address port information matches any second address port information successfully, determining that the address port connection table stores second address port information corresponding to the first address port information; if the first address port information does not match any second address port information successfully, determining that the address port connection table does not store second address port information corresponding to the first address port information.
[0010] In this embodiment, the first address port information includes first source information, first communication protocol information, and first destination information; the second address port information includes second source information, second communication protocol information, and second destination information. Matching the first address port information with the second address port information carried in the first packets of multiple data streams includes: for any second address port information carried in the first packets of multiple data streams, determining whether the first source information and the second destination information are the same, whether the first destination information and the second source information are the same, and whether the first communication protocol information and the second communication protocol information are the same; if the first source information and the second destination information are the same, or if the first destination information and the second source information are the same, and the first communication protocol information and the second communication protocol information are the same, then determining that the first address port information has successfully matched any second address port information.
[0011] In this embodiment of the application, the creation of the address port connection table includes: upon receiving the first packet of a data stream sent by any source terminal, obtaining the second address port information carried in the first packet of the data stream; and storing the second address port information to create the address port connection table.
[0012] A second aspect of this application provides a data packet transmission apparatus, comprising: a reverse data packet receiving module for receiving a reverse data packet sent by a destination terminal, wherein the reverse data packet carries first address port information; an address port information comparison module for determining, based on a pre-created address port connection table, whether the address port connection table stores second address port information corresponding to the first address port information, wherein the second address port information corresponding to the first address port information is carried by the first packet of the data stream corresponding to the reverse data packet; and a reverse data packet forwarding module for sending the reverse data packet to other gateway units connected through a backflow port when the address port connection table does not store second address port information corresponding to the first address port information, so that the other gateway units determine the target gateway unit among the other gateway units according to the first address port information and the address port connection table pre-created by the other gateway units, and the target gateway unit sends the reverse data packet to the source terminal.
[0013] A third aspect of this application provides a gateway unit configured to perform the above-described data packet transmission method.
[0014] A fourth aspect of this application provides a computer device, including: the aforementioned data packet transmission apparatus or the aforementioned gateway unit; and other gateway units connected to the gateway unit via a drainage return port.
[0015] A fifth aspect of this application provides a data packet transmission system, comprising: a source terminal; a destination terminal; and the aforementioned computer equipment.
[0016] A sixth aspect of this application provides a machine-readable storage medium storing instructions that cause a machine to perform the aforementioned data packet transmission method.
[0017] The above technical solution receives a reverse data packet carrying first address port information sent by the destination terminal. Based on a pre-created address port connection table, it determines whether the address port connection table stores second address port information corresponding to the first address port information. The second address port information corresponding to the first address port information is carried in the first packet of the data stream corresponding to the reverse data packet. If the address port connection table does not store the second address port information corresponding to the first address port information, the reverse data packet is sent to other gateway units connected through the backflow port. The other gateway units determine the target gateway unit among the other gateway units based on the first address port information and their pre-created address port connection tables, and the target gateway unit sends the reverse data packet to the source terminal. This application, by sending the reverse data packet to other gateway units connected through the backflow port when the address port connection table of the gateway unit does not store the second address port information corresponding to the first address port information, allows the other gateway units to determine the target gateway unit to send the reverse data packet to the source terminal. This enables source-to-source data packet routing in scenarios with multiple devices and multiple exits, reducing the possibility of communication interruption caused by gateway units discarding reverse data packets and improving the stability of the communication process.
[0018] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description
[0019] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings:
[0020] Figure 1 A flowchart illustrating a data packet transmission method according to an embodiment of this application is shown schematically;
[0021] Figure 2 A flowchart illustrating a data packet transmission method according to a specific embodiment of this application is shown schematically.
[0022] Figure 3 The diagram illustrates a structural block diagram of a data packet transmission apparatus according to an embodiment of this application. Detailed Implementation
[0023] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0024] It should be noted that if the embodiments of this application involve directional indicators (such as up, down, left, right, front, back, etc.), the directional indicators are only used to explain the relative positional relationship and movement of the components in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indicators will also change accordingly.
[0025] Furthermore, if the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, features defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.
[0026] Figure 1 A flowchart illustrating a data packet transmission method according to an embodiment of this application is shown schematically. Figure 1 As shown in the figure, this application provides a method for data packet transmission. Taking the application of this method to a gateway unit as an example, the method may include the following steps:
[0027] Step S101: Receive the reverse data packet sent by the destination terminal, wherein the reverse data packet carries the first address and port information.
[0028] Step S102: Based on the pre-created address port connection table, determine whether the address port connection table stores the second address port information corresponding to the first address port information. The second address port information corresponding to the first address port information is carried by the first packet of the data stream corresponding to the reverse data packet.
[0029] Step S103: If the address port connection table does not store the second address port information corresponding to the first address port information, the reverse data packet is sent to the other gateway units connected through the backflow port. The other gateway units determine the target gateway unit in the other gateway units according to the first address port information and the address port connection table pre-created by the other gateway units, and the target gateway unit sends the reverse data packet to the source terminal.
[0030] Upon receiving the first data packet from the source terminal, the gateway unit can obtain the second address and port information carried in the first data packet. Based on this information, it establishes a connection between the source terminal and the corresponding destination terminal, and then sends the first data packet to the destination terminal through this connection. If multiple data packets are exchanged within the same connection, the destination terminal can send a reverse data packet, which is then transmitted to the source terminal via the gateway unit. Due to load balancing strategies, the gateway unit receiving the reverse data packet may be different from the gateway unit that sent the first data packet. In this case, because the information in the reverse data packet is inconsistent with the information in the first data packet recorded by the gateway unit, the gateway unit receiving the reverse data packet will discard it, causing communication between the source and destination terminals to be interrupted.
[0031] To address the aforementioned issues, in this embodiment, the gateway unit can receive a reverse data packet carrying first address port information sent by the destination terminal. The first address port information includes first source information, first communication protocol information, and first destination information. Furthermore, the gateway unit stores a pre-created address port connection table. The address port connection table is created based on the second address port information of the first packet of the data stream received by the gateway unit. Further, the gateway unit can determine, based on the first address port information of the reverse data packet and the address port connection table, whether the address port connection table stores the second address port information corresponding to the first address port information, i.e., whether it stores the second address port information carried in the first packet of the data stream corresponding to the reverse data packet.
[0032] If the address port connection table does not store the second address port information corresponding to the first address port information, the gateway unit can send the reverse data packet to other gateway units connected to it via the backflow injection port. It should be noted that, in order for the gateway unit to forward the reverse data packet to other gateway units when the address port connection table does not store the second address port information corresponding to the first address port information, the backflow injection port of the gateway unit can be associated with multiple data outflow interfaces of the gateway unit, preventing these interfaces from performing normal data packet forwarding procedures.
[0033] Subsequently, based on the first address port information and the address port connection tables pre-created by the other gateway units, the other gateway units can determine the address port connection table storing the second address port information corresponding to the first address port information, and then identify the gateway unit corresponding to that address port connection table as the target gateway unit. In this way, the target gateway unit can further determine its first packet ingress interface, that is, the internal network port on which the target gateway unit receives the first packet of the data stream corresponding to the reverse data packet. Through the target gateway unit's first packet ingress interface, the target gateway unit can send the reverse data packet to the source terminal, thereby achieving source-to-source data packet routing. If the address port connection tables pre-created by the other gateway units do not store the second address port information corresponding to the first address port information, then the other gateway units discard the reverse data packet.
[0034] The above technical solution receives a reverse data packet carrying first address port information sent by the destination terminal. Based on a pre-created address port connection table, it determines whether the address port connection table stores second address port information corresponding to the first address port information. The second address port information corresponding to the first address port information is carried in the first packet of the data stream corresponding to the reverse data packet. If the address port connection table does not store the second address port information corresponding to the first address port information, the reverse data packet is sent to other gateway units connected through the backflow port. The other gateway units determine the target gateway unit among the other gateway units based on the first address port information and their pre-created address port connection tables, and the target gateway unit sends the reverse data packet to the source terminal. This application, by sending the reverse data packet to other gateway units connected through the backflow port when the address port connection table of the gateway unit does not store the second address port information corresponding to the first address port information, allows the other gateway units to determine the target gateway unit to send the reverse data packet to the source terminal. This enables source-to-source data packet routing in scenarios with multiple devices and multiple exits, reducing the possibility of communication interruption caused by gateway units discarding reverse data packets and improving the stability of the communication process.
[0035] In this embodiment of the application, the creation of the address port connection table may include: upon receiving the first packet of a data stream sent by any source terminal, obtaining the second address port information carried in the first packet of the data stream; storing the second address port information to create the address port connection table.
[0036] In this embodiment, the gateway unit can receive multiple data stream header packets sent by multiple source terminals. Upon receiving a data stream header packet sent by any source terminal, the gateway unit can obtain the second address port information carried in the data stream header packet, establish a connection between the arbitrary source terminal and the corresponding destination terminal based on the second address port information, and store the second address port information to obtain an address port connection table. Thus, when the gateway unit receives a reverse data packet sent by the destination terminal, it can determine, based on the address port connection table, whether the connection between the source terminal and the destination terminal was established by the gateway unit.
[0037] In this embodiment, the address port connection table includes second address port information carried in the first packets of multiple data streams. Based on the pre-created address port connection table, determining whether the address port connection table stores second address port information corresponding to first address port information may include: matching the first address port information with the second address port information carried in the first packets of multiple data streams respectively; if the first address port information successfully matches any second address port information, determining that the address port connection table stores second address port information corresponding to the first address port information; if the first address port information fails to match any second address port information, determining that the address port connection table does not store second address port information corresponding to the first address port information.
[0038] In this embodiment, the address port connection table of the gateway unit includes second address port information carried by the first packets of multiple data streams received by the gateway unit. The gateway unit can match the first address port information with the second address port information carried by the first packets of multiple data streams respectively. If the first address port information successfully matches any second address port information among the second address port information carried by the first packets of multiple data streams, the gateway unit can determine that the address port connection table stores the second address port information corresponding to the first address port information, that is, determine that the connection between the source terminal and the destination terminal is established by the gateway unit. If the first address port information fails to match any second address port information, the gateway unit can determine that the address port connection table does not store the second address port information corresponding to the first address port information, that is, determine that the connection between the source terminal and the destination terminal is not established by the gateway unit. In this way, the gateway unit can determine whether it is necessary to forward the reverse data packet to other gateway units.
[0039] In this embodiment, the first address port information includes first source information, first communication protocol information, and first destination information; the second address port information includes second source information, second communication protocol information, and second destination information. Matching the first address port information with the second address port information carried in the first packets of multiple data streams can include: for any second address port information carried in the first packets of multiple data streams, determining whether the first source information and the second destination information are the same, whether the first destination information and the second source information are the same, and whether the first communication protocol information and the second communication protocol information are the same; if the first source information and the second destination information are the same, or if the first destination information and the second source information are the same and the first communication protocol information and the second communication protocol information are the same, then determining that the first address port information has successfully matched any second address port information.
[0040] In this embodiment, the gateway unit can match the first address port information with the second address port information carried in the first packets of multiple data streams, respectively. Specifically, the first address port information includes first source information, first communication protocol information, and first destination information. The first source information includes the IP address and data transmission port of the destination terminal, the first destination information includes the IP address and data reception port of the source terminal, and the first communication protocol information refers to the communication protocol number of the reverse data packet. The second address port information carried in the first packet of each data stream includes second source information, second communication protocol information, and second destination information. The second source information includes the IP address and data transmission port of the source terminal, the second destination information includes the IP address and data reception port of the destination terminal, and the second communication protocol information refers to the communication protocol number of the first packet of the data stream.
[0041] For any second address port information carried in the first packet of multiple data streams, the gateway unit can determine whether the first source information and the second destination information are the same, whether the first destination information and the second source information are the same, and whether the first communication protocol information and the second communication protocol information are the same. If the first source information and the second destination information are the same, or if both the first and second communication protocol information are the same, the gateway unit can determine that the first address port information matches any second address port information successfully, the address port connection table stores the second address port information corresponding to the first address port information, and the connection between the source terminal and the destination terminal is established by the gateway unit. If the first source information and the second destination information are the same, or if the first destination information and the second source information are the same, or if the first and second communication protocol information are different, the gateway unit can determine that the first address port information does not match any second address port information successfully, the address port connection table does not store the second address port information corresponding to the first address port information, and the connection between the source terminal and the destination terminal is not established by the gateway unit.
[0042] In this embodiment of the application, the method may further include: if the address port connection table stores the second address port information corresponding to the first address port information, determining the first packet ingress interface, wherein the first packet ingress interface is the intranet port through which the gateway unit receives the first packet of the data stream corresponding to the reverse data packet; and sending the reverse data packet to the source terminal through the first packet ingress interface.
[0043] In this embodiment, when the address port connection table stores the second address port information corresponding to the first address port information, the gateway unit can be identified as the gateway unit that receives the first packet of the data stream corresponding to the reverse data packet and establishes the connection between the source terminal and the destination terminal. Therefore, the gateway unit can determine the internal network port that receives the first packet of the data stream corresponding to the reverse data packet and send the reverse data packet to the source terminal through the first packet ingress interface to achieve source-to-source data packet return.
[0044] Figure 2 A flowchart illustrating a method for data packet transmission according to a specific embodiment of this application is shown schematically. Figure 2 As shown in a specific embodiment of this application, the data packet transmission method includes:
[0045] S1: Gateway unit a and gateway unit b create a backflow injection port and connect the backflow injection ports of gateway unit a and gateway unit b.
[0046] S2: Receive the first packet of the data stream through the internal network port of gateway unit a, and create a connection based on the second address and port information of the first packet of the data stream.
[0047] S3: Upon receiving a reverse data packet, check the address and port connection table of gateway unit a to determine if the connection was created by gateway unit a. If yes, proceed to S4; otherwise, proceed to S5.
[0048] S4: Send the reverse data packet from the first packet inlet interface of gateway unit a.
[0049] S5: Send the reverse data packet to gateway unit b through the backflow injection port.
[0050] S6: Check the address and port connection table of gateway unit b to determine if the connection was created by gateway unit b. If yes, proceed to S7; otherwise, proceed to S8.
[0051] S7: Conduct a safety check.
[0052] S8: Discard the reverse packet.
[0053] In a specific embodiment of this application, gateway unit a and gateway unit b each create a backflow port ethm, and connect the two backflow ports ethm via a network cable. Gateway unit a and gateway unit b also create an internal network port ethc and an external network port ethd, respectively. When gateway unit a receives the first packet of a data stream on its internal network port ethc, it creates a connection between the source terminal and the destination terminal based on the second address and port information of the first packet, and sends the first packet out from the external network port ethd. The created connection is not synchronized to gateway unit b. When gateway unit a receives a reverse data packet from the external network port ethd, it searches its address and port connection table and determines whether the connection between the destination terminal and the source terminal of the reverse data packet was created by gateway unit a based on the first address and port information of the reverse data packet. If the connection was created by gateway unit a, the reverse data packet is sent to the source terminal from the first packet ingress interface. If the connection was not created by gateway unit a, the reverse data packet is sent to gateway unit b through the backflow port ethm. Gateway unit b receives the reverse data packet from the backhaul port ethm. Based on the first address and port information of the reverse data packet, it looks up the address and port connection table of gateway unit b to determine whether the connection between the destination terminal and the source terminal of the reverse data packet was created by gateway unit b. If the connection was created by gateway unit b, it checks the firewall security functions and then sends the packet from the first incoming interface of that connection. Otherwise, gateway unit b discards the reverse data packet.
[0054] In summary, the technical solution provided in this application has the following advantages compared with the prior art:
[0055] 1) Enable source-to-source transmission under network conditions with multiple devices and multiple exits.
[0056] 2) The performance loss of synchronous connection between gateway units is low.
[0057] 3) The possibility of communication interruption due to the gateway unit discarding reverse data packets is low, which can improve the stability of the communication process.
[0058] This application also provides a gateway unit configured to perform the above-described data packet transmission method.
[0059] Figure 3 This schematically illustrates a structural block diagram of a data packet transmission apparatus according to an embodiment of this application. Figure 3 As shown in the illustration, this application also provides a data packet transmission apparatus, comprising:
[0060] The reverse data packet receiving module 310 is used to receive the reverse data packet sent by the destination terminal, wherein the reverse data packet carries the first address and port information;
[0061] The address port information comparison module 320 is used to determine, based on the pre-created address port connection table, whether the address port connection table stores the second address port information corresponding to the first address port information. The second address port information corresponding to the first address port information is carried by the first packet of the data stream corresponding to the reverse data packet.
[0062] The reverse data packet forwarding module 330 is used to send the reverse data packet to the other gateway units connected through the diversion and injection port when the address port connection table does not store the second address port information corresponding to the first address port information. The other gateway units then determine the target gateway unit among the other gateway units based on the first address port information and the address port connection table pre-created by the other gateway units, and the target gateway unit sends the reverse data packet to the source terminal.
[0063] The above technical solution receives a reverse data packet carrying first address port information sent by the destination terminal. Based on a pre-created address port connection table, it determines whether the address port connection table stores second address port information corresponding to the first address port information. The second address port information corresponding to the first address port information is carried in the first packet of the data stream corresponding to the reverse data packet. If the address port connection table does not store the second address port information corresponding to the first address port information, the reverse data packet is sent to other gateway units connected through the backflow port. The other gateway units determine the target gateway unit among the other gateway units based on the first address port information and their pre-created address port connection tables, and the target gateway unit sends the reverse data packet to the source terminal. This application, by sending the reverse data packet to other gateway units connected through the backflow port when the address port connection table of the gateway unit does not store the second address port information corresponding to the first address port information, allows the other gateway units to determine the target gateway unit to send the reverse data packet to the source terminal. This enables source-to-source data packet routing in scenarios with multiple devices and multiple exits, reducing the possibility of communication interruption caused by gateway units discarding reverse data packets and improving the stability of the communication process.
[0064] In one embodiment, the data packet transmission apparatus further includes a reverse data packet sending module, configured to: determine the first packet ingress interface when the address port connection table stores the second address port information corresponding to the first address port information, wherein the first packet ingress interface is the intranet port through which the gateway unit receives the first packet of the data stream corresponding to the reverse data packet; and send the reverse data packet to the source terminal through the first packet ingress interface.
[0065] In one embodiment, the address port information comparison module 320 is further configured to: match the first address port information with the second address port information carried in the first packets of multiple data streams respectively; if the first address port information is successfully matched with any second address port information, determine that the address port connection table stores the second address port information corresponding to the first address port information; if the first address port information is not successfully matched with any second address port information, determine that the address port connection table does not store the second address port information corresponding to the first address port information.
[0066] In one embodiment, the address port information comparison module 320 is further configured to: for any second address port information carried in the first packet of multiple data streams, determine whether the first source information is the same as the second destination information, whether the first destination information is the same as the second source information, and whether the first communication protocol information is the same as the second communication protocol information; and determine that the first address port information matches any second address port information successfully if the first source information is the same as the second destination information, the first destination information is the same as the second source information, and the first communication protocol information is the same as the second communication protocol information.
[0067] In one embodiment, the data packet transmission apparatus further includes an address port connection table creation module, configured to: upon receiving a data stream first packet sent by any source terminal, obtain second address port information carried in the data stream first packet; and store the second address port information to create an address port connection table.
[0068] This application also provides a computer device, including: the above-described data packet transmission apparatus or the above-described gateway unit; and other gateway units connected to the gateway unit via a drainage return port.
[0069] This application also provides a data packet transmission system, including: a source terminal; a destination terminal; and the aforementioned computer equipment.
[0070] This application also provides a machine-readable storage medium storing instructions that cause a machine to perform the above-described data packet transmission method.
[0071] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0072] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0073] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0074] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0075] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0076] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0077] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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 technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0078] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0079] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A method of data packet transmission, characterized by, Executed in the gateway unit, the method includes: Receive a reverse data packet sent by the destination terminal, wherein the reverse data packet carries first address and port information; Based on the pre-created address port connection table, it is determined whether the address port connection table stores the second address port information corresponding to the first address port information. The second address port information corresponding to the first address port information is carried by the first packet of the data stream corresponding to the reverse data packet. If the address port connection table does not store the second address port information corresponding to the first address port information, the reverse data packet is sent to the other gateway units connected through the backflow port. The backflow port is associated with multiple data outflow interfaces of the gateway unit, and the multiple data outflow interfaces do not perform normal data packet forwarding procedures. The other gateway units determine the target gateway unit among the other gateway units based on the first address port information and the address port connection table pre-created by the other gateway units. The target gateway unit determines the first packet inflow interface and sends the reverse data packet to the source terminal through the first packet inflow interface. The first packet inflow interface is the internal network port of the target gateway unit that receives the first packet of the data flow corresponding to the reverse data packet.
2. The method of claim 1, wherein, The method further includes: If the address port connection table stores the second address port information corresponding to the first address port information, the first packet ingress interface is determined. The first packet ingress interface is the internal network port through which the gateway unit receives the first packet of the data stream corresponding to the reverse data packet. The reverse data packet is sent to the source terminal through the first packet inlet interface.
3. The method of claim 1, wherein, The address port connection table includes second address port information carried in the first packet of multiple data streams. The step of determining whether the address port connection table stores second address port information corresponding to the first address port information, based on a pre-created address port connection table, includes: The first address and port information is matched with the second address and port information carried in the first packets of the multiple data streams, respectively; If the first address port information is successfully matched with any second address port information, it is determined that the address port connection table stores the second address port information corresponding to the first address port information; If the first address port information fails to match any second address port information, it is determined that the address port connection table does not store the second address port information corresponding to the first address port information.
4. The method of claim 3, wherein, The first address port information includes first source information, first communication protocol information, and first destination information; the second address port information includes second source information, second communication protocol information, and second destination information. The step of matching the first address and port information with the second address and port information carried in the first packets of the plurality of data streams includes: For any second address port information carried in the first packet of the plurality of data streams, determine whether the first source information is the same as the second destination information, whether the first destination information is the same as the second source information, and whether the first communication protocol information is the same as the second communication protocol information. If the first source information is the same as the second destination information, or if the first destination information is the same as the second source information and the first communication protocol information is the same as the second communication protocol information, then it is determined that the first address port information is successfully matched with any second address port information.
5. The method of claim 1, wherein, The creation of the address port connection table includes: Upon receiving the first packet of a data stream sent by any source terminal, the second address and port information carried in the first packet of the data stream is obtained; Store the second address port information to create the address port connection table.
6. An apparatus for data packet transmission, the apparatus comprising: include: A reverse data packet receiving module is used to receive a reverse data packet sent by a destination terminal, wherein the reverse data packet carries first address and port information; The address port information comparison module is used to determine, based on a pre-created address port connection table, whether the address port connection table stores the second address port information corresponding to the first address port information. The second address port information corresponding to the first address port information is carried by the first packet of the data stream corresponding to the reverse data packet. The reverse packet forwarding module is used to send the reverse packet to other gateway units connected through a backflow port when the address port connection table does not store the second address port information corresponding to the first address port information. The backflow port is associated with multiple data outflow interfaces of the gateway unit, and the multiple data outflow interfaces do not perform normal packet forwarding procedures. The other gateway units determine the target gateway unit among the other gateway units based on the first address port information and the address port connection table pre-created by the other gateway units. The target gateway unit determines the first packet inflow interface and sends the reverse packet to the source terminal through the first packet inflow interface. The first packet inflow interface is the internal network port of the target gateway unit that receives the first packet of the data flow corresponding to the reverse packet.
7. A gateway unit, characterized in that, Configured to perform the method of data packet transmission according to any one of claims 1 to 5.
8. A computer device, characterized in that, include: The data packet transmission apparatus according to claim 6 or the gateway unit according to claim 7; as well as The remaining gateway units are connected to the gateway unit via the drainage return port.
9. A data packet transmission system, characterized in that, include: Source terminal; Destination terminal; as well as The computer device according to claim 8.
10. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores instructions for causing the machine to perform the method of data packet transmission according to any one of claims 1 to 5.
Citation Information
Patent Citations
System and method for reduced frame flooding
US20030118035A1
Packet Forwarding Using an Approximate Ingress Table and an Exact Egress Table
US20130064246A1