WO2014023003A1 - Procédé, appareil et système pour commander une transmission de données - Google Patents

Procédé, appareil et système pour commander une transmission de données Download PDF

Info

Publication number
WO2014023003A1
WO2014023003A1 PCT/CN2012/079887 CN2012079887W WO2014023003A1 WO 2014023003 A1 WO2014023003 A1 WO 2014023003A1 CN 2012079887 W CN2012079887 W CN 2012079887W WO 2014023003 A1 WO2014023003 A1 WO 2014023003A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
data message
address
server
information
Prior art date
Application number
PCT/CN2012/079887
Other languages
English (en)
Chinese (zh)
Inventor
卢胜文
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2012/079887 priority Critical patent/WO2014023003A1/fr
Priority to CN201280002537.0A priority patent/CN103201989B/zh
Publication of WO2014023003A1 publication Critical patent/WO2014023003A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • the present invention relates to the field of communications and, more particularly, to a method, apparatus and system for controlling data transmission. Background technique
  • a set of servers can be grouped into a cluster of servers (also known as virtual server clusters) that provide scalable, highly available network services.
  • a group of servers are connected to each other through a high-speed local area network or a geographically distributed wide area network, and have a load balancer at their front end.
  • the load balancer can seamlessly dispatch data packets from the client device to the real server.
  • the structure of the server cluster is transparent, and the client device accesses the network service provided by the server cluster just like access.
  • a high-performance, highly available server As a way for the load balancer to dispatch data packets to the real server (destination server), there are known data message based address information (L3/4 layer) and load balancing scheduling solution based on content request (L7 layer) distribution. .
  • the load balancer includes a gateway device for receiving data packets of the service, and a load balancing processor for performing load balancing on the data packet by executing various programs, in which, in order to schedule the data packet To the specified server, for each data message, the load balancing processor needs to parse its L3/4 layer information (for example, Internet Protocol (IP) address and port) or L7 layer information (Uniform Resource Locator).
  • L3/4 layer information for example, Internet Protocol (IP) address and port
  • L7 layer information Uniform Resource Locator
  • Embodiments of the present invention provide a method, apparatus, and system for controlling data transmission, which can improve access speed and reduce the burden of a load balancing processor.
  • a method for controlling data transmission comprising: transmitting a first data message from a client device to a load balancing processor; receiving a message sent by the load balancing processor Control information, where the control information is based on the first data packet by the load balancing processor
  • the control information includes server information indicating a destination server of the first data message; when receiving the second data message And controlling transmission of the second data packet according to the control information.
  • the server information is used to indicate an internal internet protocol IP address and an internal port of the destination server of the first data message.
  • the server information is determined according to the L3/4 layer information of the first data packet
  • the control information is Controlling the transmission of the second data packet, specifically: when the quintuple of the second data packet is the same as the quintuple of the first data packet, according to the server information, to the first datagram
  • the destination server sends the second data packet, where the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol number.
  • the server information is based on the L3/4 layer information of the first data packet and the L7 If the layer information is determined, or the server information is determined according to the L7 layer information of the first data packet, and the control information further includes an L7 layer resolution indication identifier, the second data packet is controlled according to the control information.
  • the transmission is specifically: when the quintuple of the second data packet is the same as the quintuple of the first data packet, performing L7 layer information on the second data packet according to the L7 layer resolution indication identifier.
  • the server information includes a first control information entry,
  • the first control information entry is used to indicate a correspondence between a quintu of the first data packet and an internal IP address and an internal port of the destination server of the first data packet.
  • the method further includes: after receiving the first control information entry, starting a timer, and determining that the second data packet is not received before the timer expires; or determining that the client device and the first The communication connection established between the destination servers of the data message for transmitting the first data message ends; deleting the first control information entry.
  • the server information is further used to indicate an external IP address and an external port of the destination server of the first data packet
  • the transmission of the second data packet is controlled according to the control information, specifically:
  • the source IP address of the second data packet is the same as the internal IP address of the destination server, and the source port of the second data packet is the same as the internal port information of the destination server, and the destination IP address of the second data packet is The address is the same as the source IP address of the first data packet, and the destination port of the second data packet is the same as the source port of the first data packet, and the transport layer protocol number of the second data packet is When the transport layer protocol number of the first data packet is the same, sending the first to the client device according to the external IP address and the external port of the destination server of the first data packet. Two data messages.
  • the server information includes a second control information entry, where the second control information entry is used to indicate an internal IP address of the destination server of the first data packet, the first An internal port of the destination server of the data packet, a source IP address of the first data packet, a source port of the first data packet, and a transport layer protocol number of the first data packet and the first data packet Correspondence between the external IP address of the destination server and the external port.
  • the method further includes: after receiving the second control information entry, starting a timer, and determining, before the timer expires Receiving the second data message; or determining that the communication connection established between the client device and the destination server of the first data message for transmitting the first data message ends; deleting the second control Information item.
  • an apparatus for controlling data transmission comprising: a sending unit, configured to send a first data message from a client device to a load balancing processor; Receiving the control information sent by the load balancing processor, and transmitting the control information to the processing unit, where the control information is the L3/4 layer information and/or the first load of the first data message by the load balancing processor Determining, by the L7 layer information of a data packet, the control information includes server information for indicating a destination server of the first data packet, and configured to transmit the second data to the processing unit when receiving the second data packet a data message; a processing unit, configured to acquire the control information and the second data message from the receiving unit, and control, according to the control information, the sending unit to transmit the second data message.
  • the server information is used to indicate an internal internet protocol IP address and an internal port of the destination server of the first data message.
  • the server information is determined according to the L3/4 layer information of the first data packet, and the processing unit is specifically used to When the quintuple of the second data packet is the same as the quintuple of the first data packet, according to the server information, the sending unit is controlled to send the second data packet to the destination server of the first data packet.
  • the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol number.
  • the server information is based on the L3/4 layer information of the first data packet and the L7 If the layer information is determined, or the server information is determined according to the L7 layer information of the first data packet, and the control information further includes an L7 layer resolution indication identifier, the processing unit is specifically configured to use the second data packet.
  • the quintuple is the same as the quintuple of the first data packet
  • the L7 layer information is parsed by the L7 layer to obtain the second data packet according to the L7 layer resolution indication identifier.
  • URL information of the Uniform Resource Locator URL address of the destination server where the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol number; if the URL information is not empty, And controlling the sending unit to send the second data packet and the URL information to the load balancing processor, so that the load balancing processor determines the second number according to the URL information. And sending, by the destination server of the packet, the second data packet to the destination server of the second data packet; or, if the URL information is empty, controlling the sending unit to the first according to the server information The destination server of the data packet sends the second data packet.
  • the server information includes a first control information entry,
  • the first control information entry is used to indicate a quintuple of the first data packet and the first Correspondence between the internal IP address of the destination server of a data packet and the internal port.
  • the processing unit The method is further configured to: after determining that the receiving unit receives the first control information entry, start a timer, and determine that the second data packet is not received before the timer expires; or is used to determine the client device And ending the communication connection established between the destination server of the first data packet and transmitting the first data packet; and deleting the first control information entry.
  • the server information is further used to indicate an external IP address and an external port of the destination server of the first data packet, where the processing unit is specifically configured to use a source IP address of the second data packet and the destination
  • the internal IP address of the server is the same, and the source port of the second data packet is the same as the source port of the destination data server, and the destination IP address of the second data packet is the same as the source IP address of the first data packet.
  • the destination port of the second data packet is the same as the source port of the first data packet
  • the transport layer protocol number of the second data packet is the same as the transport layer protocol number of the first data packet.
  • the server information includes a second control information entry, where the second control information entry is used to indicate an internal IP address of the destination server of the first data packet, the first An internal port of the destination server of the data packet, a source IP address of the first data packet, a source port of the first data packet, and a transport layer protocol number of the first data packet and the first data packet Correspondence between the external IP address of the destination server and the external port.
  • the processing unit is further configured to: after determining that the receiving unit receives the second control information entry, start a timer, and determine The second data packet is not received before the timer expires; or is used to determine a communication connection established between the client device and the destination server of the first data packet for transmitting the first data packet End; used to delete the second control information entry.
  • the third aspect provides a system for controlling data transmission, where the system includes: a load balancing processing module, configured to acquire a first data packet from a network card module, and according to L3/4 layer information of the first data packet, And the L7 layer information of the first data packet, determining server information for indicating the destination server of the first data packet, sending control information including the server information to the network card module; and using a network card module for loading
  • the equalization processing module sends the first data packet from the user equipment, and obtains the control information from the load balancing processing module.
  • the second data packet is controlled according to the control information. transmission.
  • the server information is used to indicate an internal internet protocol IP address and an internal port of the destination server of the first data message.
  • the server information is determined by the load balancing processing module according to the L3/4 layer information of the first data packet
  • the NIC module is configured to: when the quintuple of the second data packet is the same as the quintuple of the first data packet, send the second data to the destination server of the first data packet according to the server information
  • the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol number.
  • the server information is that the load balancing processing module is based on the L3/ of the first data packet. Determined by the layer 4 information and the L7 layer information, or the server information is determined by the load balancing processing module according to the L7 layer information of the first data packet, and the control information further includes an L7 layer resolution indication identifier, and the network card module is Specifically, when the quintuple of the second data packet is the same as the quintuple of the first data packet, performing L7 layer information parsing on the second data packet according to the L7 layer parsing indication identifier, Obtaining URL information of a Uniform Resource Locator URL address of the destination server of the second data packet, where the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol number; If the URL information is not empty, sending the second data packet and the URL information to
  • the server information includes the first control The information entry, the first control information entry is used to indicate a correspondence between a quintu of the first data packet and an internal IP address and an internal port of the destination server of the first data packet.
  • the network card module And the method is further configured to: after receiving the first control information entry, start a timer, and determine that the second data message is not received before the timer expires; or to determine the client device and the first The communication connection established between the destination server of the data packet for transmitting the first data packet ends; and the first control information entry is deleted.
  • the server information is further used to indicate an external IP address and an external port of the destination server of the first data packet
  • the network card module is specifically configured to use the source IP address of the second data packet and the destination
  • the internal IP address of the server is the same, and the source port of the second data packet is the same as the source port of the destination data server, and the destination IP address of the second data packet is the same as the source IP address of the first data packet.
  • the destination port of the second data packet is the same as the source port of the first data packet
  • the transport layer protocol number of the second data packet is the same as the transport layer protocol number of the first data packet.
  • the server information includes a second control information entry, where the second control information entry is used to indicate an internal IP address of the destination server of the first data packet, the first An internal port of the destination server of the data packet, a source IP address of the first data packet, a source port of the first data packet, and a transport layer protocol number of the first data packet and the first data packet Correspondence between the external IP address of the destination server and the external port.
  • the network card module is further configured to: after receiving the second control information entry, start a timer, and determine that the timer expires The second data message is not received before; or is used to determine a communication established between the client device and the destination server of the first data message for transmitting the first data message End of connection; used to delete the second control information entry.
  • control information is determined by the load balancing processor according to the first data packet, and the control information is sent to the network card device, and the network card device receives the second datagram.
  • the second data message can be transmitted according to the control information, thereby reducing the processing of the load balancing processor, thereby improving the access speed and reducing the load of the load balancing processor.
  • 1 is a schematic flow chart of a method of controlling data transmission according to an embodiment of the present invention.
  • 2 is a schematic block diagram of an apparatus for controlling data transmission in accordance with an embodiment of the present invention.
  • FIG. 3 is a schematic block diagram of a system for controlling data transmission in accordance with an embodiment of the present invention. detailed description
  • FIG. 1 shows a schematic flow diagram of a method 100 of controlling data transmission in accordance with an embodiment of the present invention, as described from the perspective of a network card device. As shown in FIG. 1, the method 100 includes:
  • S110 Send a first data packet from the client device to the load balancing processor.
  • S120. Receive control information sent by the load balancing processor, where the control information is that the load balancing processor is configured according to the first data packet. Determined by the L3/4 layer information and/or the L7 layer information of the first data message, the control information includes server information indicating a destination server of the first data message;
  • the client device may be a computer, a smart phone, or the like.
  • the communication device when the user accesses the service through the client device, the client device sends a data message to a server (hereinafter, referred to as a destination server) that provides the service.
  • a server hereinafter, referred to as a destination server
  • the server may be, for example, a web server, an FTP server, an enterprise critical application server, and other mission-critical servers.
  • the destination server and other servers form a server cluster to expand the bandwidth of the network device and the server, increase the throughput, strengthen the network data processing capability, and improve the flexibility and availability of the network.
  • each server has a different IP address (internal IP address, which will be described later) and a port (internal port, which will be described later).
  • the server cluster has one or more unified external (e.g., client-facing devices) IP addresses (described later as external IP addresses) and ports (described later as external ports).
  • a load balancer (a gateway device including a data packet for receiving a service, and a load balancing processor for performing load balancing on the data packet by executing various programs) is disposed in the server cluster and the client device.
  • a large amount of concurrent access or data traffic can be shared to multiple servers for processing, reducing the time for the client device to wait for a response, and also sharing the operation of a single heavy load to multiple servers for parallel processing, each node After the device is processed, the results are summarized and returned to the client device, so that the system processing capability is greatly improved.
  • the externally facing IP address of the load balancer is the same as the externally facing IP address of the server cluster to which it is connected.
  • load balancing can be implemented by a software load balancing solution, where one or more additional applications are installed on an operating system of one or more servers to implement load balancing.
  • load balancing can be implemented by a software load balancing solution, where one or more additional applications are installed on an operating system of one or more servers to implement load balancing.
  • DNS domain name system load balancing
  • the processor of the server implements load balancing by executing the software, which is equivalent to a load balancing processor.
  • the load balancer can also be directly installed between the server and the external network, independent of the operating system of the server.
  • NAT Network Address Translation
  • the load balancer rewrites data from the client device.
  • the target address/source address of the packet is sent to each server according to a preset load balancing algorithm; and when the response data packet from the server passes through the load balancer, the load balancer rewrites The source address/destination address of the response data message is returned to the client to complete the entire load scheduling process.
  • DR Direct routing
  • load balancing that is, the load balancer sends data packets to the server by rewriting the media access control layer (MAC, Media Access Control) address from the client device data message. And the server returns the response data packet directly to the client device according to the MAC address of the client device.
  • MAC media access control layer
  • IP tunnel (TUN, TUNNEL) load balancing that is, the load balancer forwards data packets from the client device to the server through the IP tunnel, and the server directly returns the response data packet to the client device.
  • the load balancer can map one external address to multiple internal addresses (corresponding to each server), and dynamically use one of the internal addresses for each communication connection to achieve load balancing. It should be understood that the above-described load balancing modes are merely illustrative, and the present invention is not limited thereto, and other methods for load balancing fall within the scope of protection of the present invention.
  • the client device can send the first data packet of the service according to the externally unified IP address and port of the server cluster (that is, the external IP address and the external port).
  • the first data message first arrives at the load balancer (received by the network card device).
  • the network card device of the load balancer receives the first data packet, and the network card device can send the first data packet to a load balancing processor of the load balancer (hereinafter, for convenience of description, the cartridge The processor is used, so that the processor can determine the destination server of the data packet from the server cluster by using any of the foregoing load balancing algorithms.
  • the processor may perform load balancing according to different layers of the network (network seven layers), specifically, load balancing according to L3/4 layer information of the data packet (ie, as described below). Case 1), load balancing may also be performed according to the L7 layer of the data message, or the L3/4 layer information and the L7 layer information (i.e., Case 2 described below).
  • the L3/4 layer may include an L3 layer, or an L4 layer, or an L3 layer and an L4 layer.
  • the L3 layer information may include IP address information of a network layer in an Open System Interconnect (OSI) network model
  • the L4 layer information may include a Transmission Layer Control Control Protocol/User Datagram Protocol (TCP) in the OSI network model. /UDP, Transfer Control Protocol/ User Datagram Protocol) Port information. Therefore, the L3/4 layer information may include an external IP address of the service server transmitting the service (in relation to the destination IP address of the data packet) Same), external port (same as the destination port of the data packet) and other information.
  • the L7 layer information may include application layer information, specifically, a URL address carried in the data message.
  • the processor After receiving the first data packet sent by the network card device, the processor parses the L3/4 layer of the data packet, for example, performs a shallow packet inspection (SPI, Shallow Packet Inspection) on the data packet to obtain the data packet.
  • the L3/4 layer information of the data packet for example, the source IP address, the destination IP address, the source port, the destination port, and the like
  • the method for performing load balancing processing by the processor according to the L3/4 layer information It is the same as the prior art, and the description thereof is omitted here to avoid redundancy.
  • the control information is a result of the load balancing process, and may be, for example, server information indicating a destination server.
  • the processor may directly control, according to the result of the load balancing process, the sending device (for example, the network card device) to send the first data packet to correspond to the result of the load balancing process.
  • the sending device for example, the network card device
  • the destination server and send the server information to the NIC device.
  • the server information may be used to indicate an internal internet protocol IP address and an internal port of the destination server of the first data message.
  • the processor can send the internal IP address and the internal port of the destination server of the first data packet to the network card device.
  • the network card device can obtain an internal IP address and an internal port of the destination server from the processor.
  • the network card device can receive the second data packet sent by the sending end.
  • the sending end can be the client device or the server, and the present invention is not specifically limited.
  • DR load balancing is adopted in the load balancer.
  • IP TUN-type load balancing the packet returned by the server (destination server) to the client device does not pass through the load balancer. Therefore, the sender of the second data packet is a client device; for example, in a load balancer.
  • the server that the server (the destination server) returns to the client device needs to pass the load balancer. Therefore, the sender of the second data packet can be the client device or the server (the destination server). ).
  • the load balancer adopts NAT-type load balancing will be described as an example.
  • the network card device may control transmission of the second data packet according to the control information.
  • the server information is based on the first data packet. If the L3/4 layer information is determined, then
  • the controlling the transmission of the second data packet according to the control information is specifically:
  • the second data packet is sent to the destination server of the first data packet according to the server information, where The quintuple is the source IP address, source port, destination IP address, destination port, and transport layer protocol number.
  • the sending end is a client device
  • the destination IP address, source IP address, destination port, source port, and transport layer protocol number (TCP connection or UDP connection) of the second data packet are The destination IP address, the source IP address, the destination port, the source port, and the transport layer protocol number (TCP connection or UDP connection) of the first data packet are the same.
  • the load balancing processor performs load balancing processing based on the L3/4 layer information.
  • the processing of the second data packet is the L3/4 layer information (including the destination IP address, the source IP address, the destination port, the source port, and the transport layer protocol number of the second data packet) and the first data packet.
  • the processing of the second data packet is the same as that of the destination server of the first data packet (ie, the second data packet and the first data packet belong to the client device and the destination server) The same communication connection between).
  • the network card device can modify the destination IP address of the second data packet to the internal IP address of the destination server (of the first data packet), and modify the destination port of the second data packet to the An internal port of the destination server of the data packet to send the second data packet to the destination server (of the first data message).
  • the above is an example of determining whether the target server and the second data packet of the first data packet belong to the same communication connection between the client device and the destination server according to the quintuple of the data packet, but
  • the present invention is not limited thereto.
  • the load balancer is only connected to one server cluster, and the server cluster has only one unified external IP address, the destination IP address for the data packet arriving at the load balancer. It is the same as the destination port. Therefore, it can be determined only whether the source IP address, source port, and transport layer protocol number are the same.
  • the description of the same or similar cases will be omitted.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the processor may perform load balancing processing (corresponding to DR-type load balancing or IP TUN-type load balancing) according to the L3/4 layer information of the first data packet, and determining the destination server, the processor may
  • the control information table entry in the positive direction is generated only according to the L3/4 layer information of the first data packet.
  • the forward direction refers to the direction from the client device to the server.
  • the forward direction control information entry may include, for example, a source IP address of the first data packet, a source port, a destination IP address, a destination port, and Corresponding relationship between the transport layer protocol number of the first data packet (hereinafter, referred to as the first quintuple for convenience of explanation) and the destination server information (for example, including the IP address and port of the destination server), and thus, at S130, The NIC device may search according to the source IP address, the source port, the destination IP address, the destination port of the second data packet, and the transport layer protocol number of the second data packet (hereinafter, for convenience of description, the second quintuple)
  • the control information entry may be determined when the second quintuple is the same as the first quintuple described in the control information entry, and the destination server information indicating the destination server of the second data packet is The server information corresponding to the first quintuple.
  • the network card device can modify the destination IP address of the second data packet to the IP address of the destination server (indicated by the control information corresponding to the first quintuple), and the purpose of the second data packet.
  • the port is modified to be the port of the destination server (indicated by the control information corresponding to the first quintuple), and the second datagram can be sent to the destination server (indicated by the control information corresponding to the first quintuple) Text.
  • the server information is further used to indicate an external IP address and an external port of the destination server of the first data packet
  • the controlling the transmission of the second data packet according to the control information is specifically:
  • the source IP address of the second data packet is the same as the internal IP address of the destination server, and the source port of the second data packet is the same as the internal port information of the destination server, and the destination of the second data packet is The IP address is the same as the source IP address of the first data packet, and the destination port of the second data packet is the same as the source port of the first data packet, and the transport layer protocol number of the second data packet is When the transport layer protocol number of the first data packet is the same, the sending unit controls the sending unit to send the second data packet to the client device according to the external IP address of the destination server of the first data packet and the external port.
  • the sending end is a server (corresponding to NAT-type load balancing)
  • the source IP address of the second data packet The address is the same as the internal IP address of the destination server determined by the processor after the first data is equalized.
  • the destination port of the second data packet is the same as the source IP address of the first data packet, and the second data packet is the second data packet.
  • the source port is the same as the internal port of the destination server determined by the processor after equalizing the first data, and the second data packet transport layer protocol number and the first data The transport layer protocol number of the packet is the same.
  • the load balancing processor performs load balancing processing based on the L3/4 layer information, and determines that the second data packet is the response data generated by the destination server and corresponding to the first data packet.
  • the message ie, the second data message and the first data message belong to the same communication connection between the client device and the destination server).
  • the network card device can modify the source IP address of the second data packet to be the external IP address of the destination server (same as the destination IP address of the first data packet), and the source port of the second data packet.
  • the external port of the destination server is the same as the destination port of the first data packet, and the second data packet is sent to the client device that sends the first data packet.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the server information includes a second control information entry, where the second control information entry is used to indicate an internal IP address of the destination server of the first data packet, an internal port of the destination server of the first data packet, and the The source IP address of the data packet, the source port of the first data packet, and the correspondence between the transport layer protocol number of the first data packet and the external IP address and the external port of the destination server of the first data packet .
  • the processor may be configured according to the L3/4 layer information of the first data packet. Generate control information entries in both forward and reverse directions.
  • the forward direction refers to the direction from the client device to the server.
  • the forward direction control information entry may include, for example, a source IP address of the first data packet, a source port, a destination IP address, a destination port, and The correspondence between the transport layer protocol number of the first data packet (hereinafter, for convenience of description, the first quintuple) and the destination server information (for example, including the IP address and port of the destination server), so that the network card device can According to the source IP address of the second data, the source port, the destination IP address, the destination port, and the transport layer protocol number of the second data packet (hereinafter, for convenience of description, the cartridge is called the second quintuple),
  • the control information entry may be determined when the second quintuple is the same as the first quintuple described in the control information entry, and the destination server information indicating the destination server of the second data packet is The server information corresponding to the first quintuple.
  • the network card device can modify the destination IP address of the second data packet to the IP address of the destination server (indicated by the control information corresponding to the first quintuple), and the purpose of the second data packet.
  • the port is modified to this (indicated by the control information corresponding to the first quintuple)
  • the port of the server is capable of transmitting the second data message to the destination server (indicated by the control information corresponding to the first quintuple).
  • the reverse direction refers to the direction from the server to the client device.
  • the reverse direction control information entry may include, for example, an internal IP address of the destination server, an internal port of the destination server, and a source of the first data packet.
  • the server has the same external IP address, and the destination port of the first data packet (same as the external port of the destination server), so that the network card device can use the source IP address, source port, and destination of the second data.
  • the network card device can modify the source IP address of the second data packet to the destination IP address of the first data packet corresponding to the third quintuple indicated by the control information entry (with the external IP address of the destination server)
  • the destination port of the second data packet is modified to be the destination port of the first data packet corresponding to the first quintuple (the same as the external port of the destination server) indicated by the control information entry. Therefore, the second data packet can be sent to the client device that sends the first data packet.
  • the above determines that the second data packet can be controlled according to the control information according to the source IP address, the source port, the destination IP address, the destination port, and the transport layer protocol number of the second data packet. It should be understood that the present invention is not limited thereto, and other methods for determining whether the second data message can be transmitted according to the control information (for example, determining that the first data message and the second data message belong to the same client) The method of the same communication connection between the device and the same server) falls within the scope of the present invention. Hereinafter, the description of the same or similar cases will be omitted.
  • the method after receiving the control information entry, the method further includes:
  • the method further includes:
  • the second control information entry is deleted.
  • the network card device after acquiring the control information entry (including the first control information entry and the second control information entry) from the processor, the network card device does not receive the message after a long time (for example, 30 minutes after the timer expires).
  • the data packet that can be transmitted according to the control information included in the control information table (for example, the second data packet) can be considered as having ended the communication connection of the first data packet, so that the control information entry can be deleted (
  • the first control information table item and the second control information table item are included.
  • the network card device obtains the control information entry (including the first control information entry and the second control information entry) from the processor, after detecting the data packet indicating the end of the communication connection, the network data device can consider the first data packet.
  • the associated communication connection has been completed, so that the control information entry (including the first control information entry and the second control information entry) can be deleted.
  • the description of the same or similar cases will be omitted.
  • the processor parses the L3/4 layer of the data packet, for example, performs a shallow packet inspection (SPI, Shallow Packet Inspection) on the data packet to obtain the data packet.
  • L3/4 layer information of the data packet for example, source IP address, destination IP address, source port, destination port, etc.
  • parsing the L7 layer of the data text for example, deep-text detection of the data text (DPI, Deep Packet Inspection), thereby obtaining L7 layer information of the data packet (for example, the URL of the data packet, etc.).
  • the processor performs load balancing processing only according to the L3/4 layer information, and the The method of performing load balancing processing based on the L3/4 layer information is the same as that of the prior art, and the description thereof is omitted here to avoid redundancy.
  • the processor may perform load balancing processing according to the L7 layer information, and the method for performing load balancing processing according to the L7 layer information is the same as the prior art.
  • the description thereof is omitted.
  • control information may include, for example, server information indicating the destination server, and indicating that the network card device needs to indicate the subsequent data packet.
  • the processor may directly control, according to the result of the load balancing process, the sending device (for example, the network card device) to send the first data packet to correspond to the result of the load balancing process.
  • the destination server The destination server. And send this control information to the NIC device.
  • the server information may be used to indicate an internal IP address and an internal port of the destination server.
  • the processor can send the internal IP address and the internal port of the destination server of the first data packet to the network card device.
  • the network card device can obtain the IP address, the port, and the L7 layer resolution indication identifier of the destination server from the processor.
  • the network card device can receive the second data packet sent by the sending end.
  • the sending end can be the client device or the server, and the present invention is not particularly limited.
  • DR load balancing is adopted in the load balancer.
  • IP TUN-type load balancing the packet returned by the server (destination server) to the client device does not pass through the load balancer. Therefore, the sender of the second data packet is a client device; for example, in a load balancer.
  • the server that the server (the destination server) returns to the client device needs to pass the load balancer. Therefore, the sender of the second data packet can be the client device or the server (the destination server). ).
  • the load balancer adopts NAT-type load balancing will be described as an example.
  • the network card device after receiving the second data packet, the network card device can control the transmission of the second data packet according to the control information.
  • the server information is determined according to L3/4 layer information and L7 layer information of the first data packet, or
  • control information further includes an L7 layer resolution indication identifier, and the shell
  • the controlling the transmission of the second data packet according to the control information is specifically:
  • the L7 layer parses the indication identifier, and performs L7 layer information parsing on the second data packet to obtain a URL information of a Uniform Resource Locator URL address of the destination server of the second data packet, where the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol number;
  • the second data message is sent to the destination server of the first data message according to the server information.
  • the transmitting end is a client device
  • the destination IP address, source IP address, destination port, source port, and transport layer protocol number (TCP connection or UDP connection) of the second data packet are The destination IP address, the source IP address, the destination port, the source port, and the transport layer protocol number (TCP connection or UDP connection) of the first data packet are the same.
  • the load balancing processor performs load balancing processing based on the L3/4 layer information.
  • the processing of the second data packet is the L3/4 layer information (including the destination IP address, the source IP address, the destination port, the source port, and the transport layer protocol number of the second data packet) and the first data packet.
  • the processing of the second data packet is the same as that of the destination server of the first data packet (ie, the second data packet and the first data packet belong to the client device and the destination server) The same communication connection between).
  • the NIC device can obtain the L7 layer information of the second data packet, that is, the URL address of the second data packet, according to the L7 layer resolution indication identifier. If the URL address of the second data packet is obtained, the second data packet and the URL address are sent to the processor, so that the processor does not need to perform L7 layer parsing on the second data packet, and can directly according to the URL.
  • the address is subjected to load balancing processing.
  • the process of parsing the URL is performed by the network card device, that is, by hardware analysis, the parsing speed is improved and the processing is reduced compared with the manner of using the software to parse by the processor. The burden of the device.
  • the processor may be configured by using a sending device (for example, , the gateway device), sending the second data packet.
  • a sending device for example, , the gateway device
  • the second data packet may be sent according to the server information, the process and the network.
  • the process performed in the card device S130 is the same, and the description thereof is omitted here.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the processor may be configured according to the first data packet.
  • the L3/4 layer information only generates the control information entries in the above positive direction.
  • the server information is further used to indicate an external IP address and an external port of the destination server of the first data packet
  • the controlling the transmission of the second data packet according to the control information is specifically:
  • the source IP address of the second data packet is the same as the internal IP address of the destination server, and the source port of the second data packet is the same as the internal port information of the destination server, and the destination of the second data packet is The IP address is the same as the source IP address of the first data packet, and the destination port of the second data packet is the same as the source port of the first data packet, and the transport layer protocol number of the second data packet is When the transport layer protocol number of the first data packet is the same, the sending unit controls the sending unit to send the second data packet according to the external IP address of the destination server of the first data packet and the external port.
  • the sending end is a server (corresponding to NAT-type load balancing)
  • the source IP address of the second data packet is the same as the source IP address of the first data packet
  • the source IP address of the second data packet The address is the same as the internal IP address of the destination server determined by the processor after the first data is equalized.
  • the destination port of the second data packet is the same as the source IP address of the first data packet, and the second data packet is the second data packet.
  • the source port is the same as the internal port of the destination server determined by the processor after the first data is equalized, and the transport layer protocol number of the second data packet is the same as the transport layer protocol number of the first data packet,
  • the load balancing processor performs load balancing processing based on the L3/4 layer information, and determines that the second data packet is a response data packet corresponding to the first data packet generated by the destination server (that is, the second data packet) And the first data message belongs to the same communication connection between the client device and the destination server).
  • the network card device can modify the source IP address of the second data packet to be the external IP address of the destination server (same as the destination IP address of the first data packet), and the source port of the second data packet.
  • the external port of the destination server is the same as the destination port of the first data packet, and the second data packet is sent to the client device that sends the first data packet.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet. The correspondence between the internal IP address of the destination server and the internal port.
  • the server information includes a second control information entry, where the second control information entry is used to indicate an internal IP address of the destination server of the first data packet, an internal port of the destination server of the first data packet, and the The source IP address of the data, the source port of the first data, and the correspondence between the transport layer protocol number of the first data packet and the external IP address and the external port of the destination server of the first data packet .
  • the processor may be configured according to the L3/4 layer information of the first data packet.
  • the control information entry in the forward and reverse directions is generated.
  • the method after receiving the control information entry, the method further includes:
  • the method further includes:
  • the second control information entry is deleted.
  • the load balancer adopts NAT-type load balancing
  • the load balancer may also adopt the DR-type load balancing or the IP TUN type. Load balancing.
  • the packet returned by the server (destination server) to the client device does not pass through the load balancer. Therefore, the sender of the second data packet is the client device.
  • the load balancing processor determines the control information according to the first data packet, and sends the control information to the network card device, where the network card device receives After the second data packet is sent to the second data packet, the second data packet can be directly sent to the destination server according to the control information, or the second data packet can be obtained in the second data packet.
  • the URL information notifies the load balancing processor that the load balancing processor does not need to parse the second data packet, thereby reducing the processing of the load balancing processor, improving the access speed, and reducing the load of the load balancing processor.
  • FIG. 2 shows a schematic block diagram of an apparatus 200 for controlling data transmission in accordance with an embodiment of the present invention.
  • the apparatus 200 includes:
  • the sending unit 210 is configured to send, to the load balancing processor, the first data packet from the client device.
  • the receiving unit 220 is configured to receive the control information sent by the load balancing processor, and transmit the control information to the processing unit 230, where the control information is the L3/4 layer of the first data packet by the load balancing processor. Determining information and/or L7 layer information of the first data message, the control information including server information indicating a destination server of the first data message;
  • the processing unit 230 For transmitting the second data message to the processing unit 230 when receiving the second data message; the processing unit 230 is configured to obtain the control information and the second data message from the receiving unit 220, and according to the Controlling information, controlling the sending unit to transmit the second data packet;
  • the client device may send the first datagram of the service according to the externally unified IP address and port of the server cluster (ie, the external IP address and the external port).
  • Text first data message
  • the data message first arrives at the load balancer (received by the network card device).
  • the receiving unit 220 of the network card device can receive the first data packet
  • the sending unit 210 of the network card device can send the first data packet to the load balancing processor of the load balancer (hereinafter, for convenience of description, the cartridge
  • the processor can determine the destination server of the data packet from the server cluster by using any of the foregoing load balancing methods.
  • the processor can perform load balancing according to different layers of the network (network seven layers). Specifically, load balancing can be performed according to the L3/4 layer of the data packet, or load balancing can be performed according to the L7 layer of the data packet.
  • the L3/4 layer may include an L3 layer, or an L4 layer, or an L3 layer. And L4 layer.
  • the L3 layer information may include IP address information of a network layer in the OSI network model, and the L4 layer information may include TCP/UDP port information in the OSI network model. Therefore, the L3/4 layer information may include information such as an IP address, a port, and the like of a service server that transmits the service.
  • the L7 layer information may include application layer information, specifically, a URL address carried in the data message.
  • the processor parses the L3/4 layer of the data packet, for example, performs SPI on the data packet to obtain L3/4 layer information of the data packet (for example, the source IP address, the destination IP address, the source port, the destination port, and the like, in the embodiment of the present invention, the method for the processor to perform load balancing processing according to the L3/4 layer information is the same as the prior art, where , the description is omitted.
  • the control information may be server information indicating a destination server.
  • the processor may directly control, according to the result of the load balancing process, the sending device (for example, the network card device) to send the first data packet to correspond to the result of the load balancing process.
  • the sending device for example, the network card device
  • the destination server and send the server information to the network card device.
  • the server information is used to indicate an internal internet protocol IP address and an internal port of the destination server of the first data packet.
  • the server information is determined according to the L3/4 layer information of the first data packet.
  • the processing unit 230 is specifically configured to control, according to the server information, the purpose of the sending unit to the first data packet when the quintuple of the second data text is the same as the quintuple of the first data file
  • the server sends the second data packet, where the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol number.
  • the processor can send the internal IP address and the internal port of the destination server to the network card device. Internal internal IP address and internal port.
  • the receiving unit 220 of the network card device may receive the second data packet sent by the sending end.
  • the sending end may be the client device or the server, and the present invention is not particularly limited, for example, in a load balancer.
  • the packet returned by the server (the destination server) to the client device does not pass through the load balancer.
  • the sender of the second data packet is the client device; for example, When the load balancer adopts NAT-type load balancing, the packet sent by the server (the destination server) to the client device needs to pass through the load balancer. Therefore, the sender of the second data packet can be a client device, or For the server (destination server).
  • the load balancer adopts NAT type load balancing will be described as an example. The transmission of the second data message.
  • the load balancing processor processes the load based on the L3/4 layer information.
  • the L3/4 layer information (including the destination IP address, the source IP address, the destination port, the source port, and the transport layer protocol number of the second data packet) is the same as that for the first data packet, and the first The destination server of the second data packet is the same as the destination server of the first data packet (ie, the second data packet and the first data packet belong to the same communication connection between the client device and the destination server).
  • the processing unit 230 of the network card device can control the sending unit 210 to modify the destination IP address of the second data packet to the IP address of the destination server (of the first data packet), and the second data packet is The destination port is modified to be the port of the destination server (of the first data packet), and the second data packet can be sent to the destination server (of the first data packet).
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the processor may be configured according to the first data packet.
  • the L3/4 layer information only generates the control information entries in the positive direction.
  • the forward direction refers to the direction from the client device to the server.
  • the forward direction control information entry may include, for example, a source IP address of the first data packet, a source port, a destination IP address, a destination port, and The correspondence between the transport layer protocol number of the first data packet (hereinafter, referred to as the first quintuple for convenience of explanation) and the destination server information (for example, including the IP address and port of the destination server), thereby processing unit 230
  • the source layer address, the source port, the destination IP address, the destination port, and the transport layer protocol number of the second data packet may be used according to the second data packet.
  • the second quintuple is called, and the control information table item is found.
  • the processing unit 230 may modify the destination IP address of the second data packet to the IP address of the destination server (indicated by the control information corresponding to the first quintuple), and the purpose of the second data packet.
  • the port is modified to be the port of the destination server (indicated by the control information corresponding to the first quintuple), and the second datagram can be sent to the destination server (indicated by the control information corresponding to the first quintuple) Text.
  • the server information is further used to indicate an external IP address and an external port of the destination server of the first data packet
  • the processing unit is configured to: when the source IP address of the second data packet is the same as the internal IP address of the destination server, and the source port of the second data packet is the same as the internal port information of the destination server, and the The destination IP address of the second data packet is the same as the source IP address of the first data packet, and the destination port of the second data packet is the same as the source port of the first data packet, and the second data packet is the second data packet.
  • the sending unit is controlled to send the first unit to the client device according to the external IP address and the external port of the destination server of the first data packet. Two data messages.
  • the sending end is a server (corresponding to NAT-type load balancing)
  • the source IP address of the second data packet is the same as the source IP address of the first data packet
  • the source IP address of the second data packet The address is the same as the internal IP address of the destination server determined by the processor after the first data is equalized.
  • the destination port of the second data packet is the same as the source IP address of the first data packet, and the second data packet is the second data packet.
  • the source port is the same as the internal port of the destination server determined by the processor after the first data is equalized, and the transport layer protocol number of the second data packet is the same as the transport layer protocol number of the first data packet,
  • the load balancing processor performs load balancing processing based on the L3/4 layer information, and determines that the second data packet is a response data packet corresponding to the first data packet generated by the destination server (that is, the second data packet) And the first data message belongs to the same communication connection between the client device and the destination server).
  • the sending unit 220 may modify the source IP address of the second data packet to the external IP address of the destination server of the first data packet (same as the destination IP address of the first data packet), and the first The source port of the second data packet is modified to be the external port of the destination server of the first data packet (same as the destination port of the first data packet), so that the first datagram can be sent to The client device sends the second data packet.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the server information includes a second control information entry, where the second control information entry is used to indicate an internal IP address of the destination server of the first data packet, an internal port of the destination server of the first data packet, a source IP address of the first data packet, a source port of the first data packet, and a transport layer protocol number of the first data packet, and an external IP address and an external port of the destination server of the first data packet Correspondence relationship.
  • the processor may be configured according to the L3/4 layer information of the first data packet. Generate control information entries in both forward and reverse directions.
  • the forward direction refers to the direction from the client device to the server.
  • the forward direction control information entry may include, for example, a source IP address of the first data packet, a source port, a destination IP address, a destination port, and The correspondence between the transport layer protocol number of the first data packet (hereinafter, referred to as the first quintuple for convenience of explanation) and the destination server information (for example, including the IP address and port of the destination server), thereby processing unit 230
  • the source IP address, the source port, the destination IP address, the destination port, and the transport layer protocol number of the second data packet (hereinafter, referred to as the second quintuple for convenience of description) may be searched according to the source IP address, the source port, the destination IP address, the destination port, and the second data packet.
  • the control information entry may be determined when the second quintuple is the same as the first quintuple described in the control information entry, and the destination server information indicating the destination server of the second data packet is The server information corresponding to the first quintuple. Therefore, the sending unit 210 may modify the destination IP address of the second data packet to the IP address of the destination server (indicated by the control information corresponding to the first quintuple), and the purpose of the second data packet.
  • the port is modified to be the port of the destination server (indicated by the control information corresponding to the first quintuple), and the second datagram can be sent to the destination server (indicated by the control information corresponding to the first quintuple) Text.
  • the reverse direction refers to the direction from the server to the client device.
  • the reverse direction control information entry may include, for example, an internal IP address of the destination server, an internal port of the destination server, and a source of the first data packet.
  • the external IP address of the server is the same), the destination of the first data packet Corresponding relationship between the port (same as the external port of the destination server), so that the processing unit 230 can use the source IP address, the source port, the destination IP address, the destination port, and the transport layer of the second data packet according to the second data
  • the protocol number (the second quintuple) is used to find the control information entry.
  • the second quintuple When the second quintuple is the same as the third quintuple described in the control information entry, the second quintuple can be determined to send the second
  • the server of the data message is the destination server of the first data message corresponding to the first quintuple. Therefore, the sending unit 210 may modify the source IP address of the second data packet to the destination IP address of the first data packet corresponding to the third quintuple indicated by the control information entry (with the external IP address of the destination server)
  • the destination port of the second data packet is modified to be the destination port of the first data packet corresponding to the first quintuple (the same as the external port of the destination server) indicated by the control information entry. Therefore, the second data message can be sent to the client device that sends the first data packet.
  • the processing unit 230 is further configured to: after determining that the receiving unit 220 receives the first control information entry, start a timer, and determine that the timer is not received before the timer expires.
  • the second data message or
  • processing unit 230 is further configured to: after determining that the receiving unit 220 receives the second control information entry, start a timer, and determine that the second data message is not received before the timer expires; or
  • the processing unit 230 acquires the control information entry (including the first control information entry and the second control information entry) from the processor by the receiving unit 220, the processing unit 230 is for a long time (after the timer expires, for example, 30) If the data packet that can be transmitted according to the control information included in the control information table (for example, the second data packet) is not received, the communication connection to which the first data packet belongs may be considered to be deleted. Control information entry (including the first control information entry and the second control information entry).
  • the processing unit 230 detects that the communication connection is ended. After the data packet, the communication connection to which the first data packet belongs is considered to be ended, so that the control information entry (including the first control information entry and the second control information entry) can be deleted.
  • the description of the same or similar cases will be omitted.
  • the above determines that the second data packet can be controlled according to the control information according to the source IP address, the source port, the destination IP address, the destination port, and the transport layer protocol number of the second data packet. It should be understood that the present invention is not limited thereto, and other methods for determining whether the second data message can be transmitted according to the control information (for example, determining that the first data message and the second data message belong to the same client) The method of the same communication connection between the device and the same server) falls within the scope of the present invention.
  • the processor is used for L7 layer information according to data packets, or L3/4 layer information and
  • the processor parses the L3/4 layer of the data packet, for example, performs SPI on the data packet to obtain the L3/ of the data packet.
  • Layer 4 information for example, the source IP address, the destination IP address, the source port, the destination port, and so on
  • the L7 layer of the data packet is parsed, for example, DPI is performed on the data packet to obtain the data packet.
  • L7 layer information for example, the URL of the data message, etc.
  • the processor performs load balancing processing only according to the L3/4 layer information, and the The method of performing load balancing processing based on the L3/4 layer information is the same as that of the prior art, and the description thereof is omitted here to avoid redundancy.
  • the processor may perform load balancing processing according to the L7 layer information, and the method for performing load balancing processing according to the L7 layer information It is the same as the prior art, and the description thereof is omitted here to avoid redundancy.
  • the control information may be server information indicating the destination server, and the network card device is required to send subsequent data packets (mainly the data packets sent by the client device to the server).
  • the processor may directly control, according to the result of the load balancing process, the sending device (for example, the network card device) to send the first data packet to correspond to the result of the load balancing process.
  • the destination server And send this control information to the NIC device.
  • the server information is used to indicate an internal address of the destination server and Internal port.
  • the processor may send the internal IP address and the internal port of the destination server and the L7 layer resolution indication identifier to the network card device.
  • the sending unit 210 of the network card device may acquire, from the processor, an internal IP address, an internal port, and an L7 layer resolution indication identifier of the destination server within the server cluster.
  • the sending unit 210 of the network card device may receive the second data packet sent by the sending end.
  • the sending end may be the client device or the server, and the present invention is not particularly limited.
  • the DR is adopted in the load balancer.
  • the sender of the second data packet is the client device; for example, in load balancing.
  • the server that the server (the destination server) returns to the client device needs to pass the load balancer. Therefore, the sender of the second data packet can be a client device or a server. Destination server).
  • the load balancer adopts NAT-type load balancing will be described as an example.
  • the processing unit 230 of the network card device determines whether the transmission of the second data message can be transmitted based on the server information acquired from the processor.
  • the server information is determined according to L3/4 layer information and L7 layer information of the first data packet, or
  • the server information is determined according to the L7 layer information of the first data packet.
  • the server information is used to indicate an internal internet protocol IP address and an internal port of the destination server of the first data packet, and the control information further includes an L7 layer resolution indication identifier,
  • the processing unit is configured to: when the quintuple of the second data packet is the same as the quintuple of the first data packet, perform L7 layer information on the second data packet according to the L7 layer resolution indication identifier Parsing, to obtain URL information of a Uniform Resource Locator URL address of the destination server for indicating the second data packet, where the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer Agreement number;
  • the sending information is sent to the load balancing processor to send the second data packet and the URL information, so that the load balancing processor determines the second data according to the URL information.
  • a destination server of the packet and sending the second data packet to the destination server of the second data packet; or
  • the sending unit is controlled to send the second data packet to the destination server of the first data packet according to the server information.
  • the transmitting end is a client device
  • the destination IP address, source IP address, destination port, source port, and transport layer protocol number (TCP connection or UDP connection) of the second data packet are The destination IP address, the source IP address, the destination port, the source port, and the transport layer protocol number (TCP connection or UDP connection) of the first data packet are the same.
  • the processor performs load balancing processing based on the L3/4 layer information.
  • the processing of the second data packet is the L3/4 layer information (including the destination IP address, the source IP address, the destination port, the source port, and the transport layer protocol number of the second data packet) and the processing basis for the first data packet.
  • the processing unit 230 may determine that the destination server of the second data packet is the same as the destination server of the first data packet (ie, the second data packet and the first data packet belong to the client device and the destination server. The same communication connection between).
  • the processing unit 230 of the network card device can obtain the L7 layer information of the second data packet, that is, the URL address of the second data packet, according to the L7 layer resolution indication identifier.
  • the sending unit 210 sends the second data packet and the URL address to the processor, so that the processor does not need to perform L7 layer parsing on the second data packet.
  • the load balancing process can be performed directly according to the URL address.
  • the process of parsing the URL is performed by the network card device, that is, by hardware analysis, the resolution speed is improved compared with the method of using the software to parse by the processor. And reduce the burden on the processor.
  • the processor may be configured by using a sending device (for example, , the gateway device), sending the second data packet.
  • a sending device for example, , the gateway device
  • control sending unit 210 may send the second data packet according to the server information.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the processor may be configured according to the L3 of the first data packet. /4 layer information, only the control information entries in the above positive direction are generated.
  • the server information is further used to indicate an external IP address and an external port of the destination server of the first data packet
  • the processing unit 230 is specifically configured to: when the source IP address of the second data packet is the same as the internal IP address of the destination server, and the source port of the second data packet is the same as the internal port information of the destination server, and the The destination IP address of the second data packet is the same as the source IP address of the first data packet, and the destination port of the second data packet is the same as the source port of the first data packet, and the second data packet is When the transport layer protocol number of the text is the same as the transport layer protocol number of the first data packet, the sending unit is controlled to send the sending unit to the client device according to the external IP address and the external port of the destination server of the first data packet. Second data message.
  • the sending end is a server (corresponding to NAT-type load balancing)
  • the source IP address of the second data packet is the same as the source IP address of the first data packet
  • the source IP address of the second data packet The address is the same as the internal IP address of the destination server determined by the processor after the first data is equalized.
  • the destination port of the second data packet is the same as the source IP address of the first data packet, and the second data packet is the second data packet.
  • the source port is the same as the internal port of the destination server determined by the processor after the first data is equalized, and the transport layer protocol number of the second data packet is the same as the transport layer protocol number of the first data packet,
  • the load balancing processor performs load balancing processing based on the L3/4 layer information, and determines that the second data packet is a response data packet corresponding to the first data packet generated by the destination server (that is, the second data packet) And the first data message belongs to the same communication connection between the client device and the destination server).
  • the sending unit 220 may modify the source IP address of the second data packet to the external IP address of the destination server of the first data packet (same as the destination IP address of the first data packet), and the first The source port of the second data packet is modified to be the external port of the destination server of the first data packet (same as the destination port of the first data packet), so that the client device (which sends the first data packet) can be Send the second data packet.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the server information includes a second control information entry, where the second control information entry is used to indicate an internal IP address of the destination server of the first data packet, an internal port of the destination server of the first data packet, a source IP address of the first data packet, a source port of the first data packet, and a transport layer protocol number of the first data packet, and an external IP address and an external port of the destination server of the first data packet Correspondence relationship.
  • the processor performs load balancing according to the L3/4 layer information of the first data packet.
  • the control information entries in the forward and reverse directions can be generated according to the L3/4 layer information of the first data packet.
  • the processing unit 230 is further configured to: after determining that the receiving unit 220 receives the first control information entry, start a timer, and determine that the timer expires The second data message has not been received before; or
  • processing unit 230 is further configured to: after determining that the receiving unit 220 receives the second control information entry, start a timer, and determine that the second data message is not received before the timer expires; or
  • the load balancer adopts NAT-type load balancing
  • the load balancer may also adopt the DR-type load balancing or the IP TUN type. Load balancing.
  • the packet returned by the server (destination server) to the client device does not pass through the load balancer. Therefore, the sender of the second data packet is the client device.
  • the units in 200 and the other operations and/or functions described above are respectively implemented to implement the corresponding flow of method 100 in FIG.
  • the device for controlling data transmission determines the control information according to the first data packet by the load balancing processor, and sends the control information to the network card device, and the network card device receives the second data packet and determines that After the second data packet is transmitted according to the control information, the second data packet may be directly sent to the destination server according to the control information, or the URL information in the second data packet may be obtained and notified to the load balancing processor.
  • the load balancing processor does not need to parse the second data packet, thereby reducing the processing of the load balancing processor, improving the access speed, and reducing the load of the load balancing processor.
  • FIG. 3 shows a schematic block diagram of a system 300 for controlling data transmission in accordance with an embodiment of the present invention. As shown in Figure 3, the system includes:
  • the load balancing processing module 310 is configured to obtain the first data packet from the network card module 320, and determine, according to the L3/4 layer information of the first data packet and/or the L7 layer information of the first data packet, Instructing server information of the destination server of the first data packet, and sending control information including the server information to the network card module;
  • the NIC module 320 is configured to send the first data packet from the user equipment to the load balancing processing module 310, and obtain the control information from the load balancing processing module 310.
  • the control Information controlling the transmission of the second data message.
  • the client device may send the first datagram of the service according to the externally unified IP address and port of the server cluster (ie, the external IP address and the external port).
  • Text first data message
  • the data message first arrives at the load balancer (received by the network card device).
  • the NIC module 320 can send the first data packet to the load balancing processing module 310 of the load balancer, so that the equalization processing module 310 can adopt a preset algorithm, and use any of the foregoing load balancing methods to obtain a slave server cluster. Determine the destination server for this data message.
  • the equalization processing module 310 can perform load balancing according to different layers of the network (network seven layers), specifically, load balancing according to the L3/4 layer of the data packet, or according to the datagram.
  • the L7 layer of the text performs load balancing.
  • the L3/4 layer may include an L3 layer, or an L4 layer, or an L3 layer and an L4 layer.
  • the L3 layer information may include IP address information of the network layer in the OSI network model, and the L4 layer information may include TCP/UDP port information in the OSI network model. Therefore, the L3/4 layer information may include information such as an IP address, a port, and the like of a service server that transmits the service.
  • the L7 layer information may include application layer information, specifically, a URL address carried in the data packet.
  • the equalization processing module 310 parses the L3/4 layer of the data packet, for example, performs SPI on the data packet to obtain the L3/4 of the data packet.
  • the equalization processing module 310 performs load balancing processing according to the L3/4 layer information, in the layer information (for example, the source IP address, the destination IP address, the source port, the destination port, and the like). The method is the same as that of the prior art, and the description thereof is omitted here to avoid redundancy.
  • the control information may be server information indicating a destination server.
  • the equalization processing module 310 can directly control the sending device (for example, the network card module 320) to send the first data packet to the load balancing process according to the result of the load balancing process.
  • the result corresponds to the destination server. And sending the server information to the network card module 320.
  • the server information is used to indicate an internal internet protocol IP address and an internal port of the destination server of the first data packet.
  • the server information is determined by the load balancing processing module 310 according to the L3/4 layer information of the first data packet,
  • the NIC module 320 is configured to send the quintuple of the second data packet to the destination server of the first data packet according to the server information when the quintuple of the second data packet is the same as the quintuple of the first data packet.
  • the second data packet, where the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol number.
  • the equalization processing module 310 can send the internal IP address and the internal port of the destination server in the server cluster to the network card module 320.
  • the network card module 320 can obtain the internal IP address and the internal port of the destination server within the server cluster from the equalization processing module 310.
  • the network card module 320 can receive the second data packet sent by the sending end.
  • the sending end can be the client device or the server, and the invention is not particularly limited.
  • the DR is used in the load balancer.
  • load balancing or IP TUN load balancing the packets returned by the server (destination server) to the client device do not pass through the load balancer. Therefore, the sender of the second data packet is the client device; for example, in load balancing.
  • the server that the server (the destination server) returns to the client device needs to pass the load balancer. Therefore, the sender of the second data packet can be a client device or a server. Destination server).
  • the load balancer adopts NAT-type load balancing will be described as an example.
  • the network card module 320 controls the transmission of the second data message based on the server information acquired from the equalization processing module 310.
  • the transmitting end is a client device
  • the destination IP address, source IP address, destination port, source port, and transport layer protocol number (TCP connection or UDP connection) of the second data packet are Destination IP address, source IP address, destination port, and source of the first data packet
  • the port and the transport layer protocol number (TCP connection or UDP connection) are the same, because the load balancing processor performs load balancing processing based on the L3/4 layer information, and the processing basis of the second data packet is L3/4 layer information (including the first
  • the destination IP address, the source IP address, the destination port, the source port, and the transport layer protocol number of the second data packet are the same as those for the first data packet, and the destination server of the second data packet can be determined.
  • the destination server of the data packet is the same (that is, the second data packet and the first data packet belong to the same communication connection between the client device and the destination server).
  • the network card module 320 can modify the destination IP address of the second data packet to the IP address of the destination server (of the first data packet), and modify the destination port of the second data packet to the a port of the destination server of the data packet, to send the second data packet to the destination server (of the first data message).
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the load balancing processing module 310 may perform load balancing processing (corresponding to DR-type load balancing or IP TUN-type load balancing) according to the L3/4 layer information of the first data packet, and determine the destination server, according to the first The L3/4 layer information of the data packet only generates the control information entry in the positive direction.
  • load balancing processing corresponding to DR-type load balancing or IP TUN-type load balancing
  • the forward direction refers to the direction from the client device to the server.
  • the forward direction control information entry may include, for example, a source IP address of the first data packet, a source port, a destination IP address, a destination port, and The transport layer protocol number of the first data message (hereinafter, for convenience of description, the first quintuple) and the destination server information (for example, including the IP address and port of the destination server), so that the network card module 320
  • the source IP address, the source port, the destination IP address, the destination port, and the transport layer protocol number of the second data packet (hereinafter, referred to as the second quintuple for convenience of description) may be searched according to the source IP address, the source port, the destination IP address, the destination port, and the second data packet.
  • the control information entry may be determined when the second quintuple is the same as the first quintuple described in the control information entry, and the destination server information indicating the destination server of the second data packet is The server information corresponding to the first quintuple. Therefore, the network card module 320 can modify the destination IP address of the second data packet to the IP address of the destination server (indicated by the control information corresponding to the first quintuple), and the second data packet is The destination port is modified to be the port of the destination server (indicated by the control information corresponding to the first quintuple), and can be directed to the control information corresponding to the first quintuple The destination server sends the second data packet.
  • the server information is further used to indicate an external IP address and an external port of the destination server of the first data packet
  • the NIC module is specifically configured to: when the source IP address of the second data packet is the same as the internal IP address of the destination server, and the source port of the second data packet is the same as the internal port information of the destination server, and the The destination IP address of the second data packet is the same as the source IP address of the first data packet, and the destination port of the second data packet is the same as the source port of the first data packet, and the second data packet is the second data packet.
  • the transport layer protocol number is the same as the transport layer protocol number of the first data packet
  • the second data packet is sent according to the external IP address and the external port of the destination server of the first data packet.
  • the sending end is a server (corresponding to NAT-type load balancing)
  • the source IP address of the second data packet is the same as the source IP address of the first data packet
  • the source IP address of the second data packet The address is the same as the internal IP address of the destination server determined by the processor after the first data is equalized.
  • the destination port of the second data packet is the same as the source IP address of the first data packet, and the second data packet is the second data packet.
  • the source port is the same as the internal port of the destination server determined by the processor after equalizing the first data
  • the second data packet transport layer protocol number is the same as the transport layer protocol number of the first data packet, due to the load
  • the equalization processor performs load balancing processing based on the L3/4 layer information, and determines that the second data packet is a response data packet corresponding to the first data packet generated by the destination server (ie, the second data packet is The first data packet belongs to the same communication connection between the client device and the destination server).
  • the network card module 320 can modify the source IP address of the second data packet to the destination IP address of the external IP address of the destination server of the first data packet (same as the destination IP address of the first data packet), and Modifying the source port of the second data packet to the external port of the destination server of the first data packet (same as the destination port of the first data packet), so as to be able to send the first data packet
  • the client device sends the second data packet.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the server information includes a second control information entry, where the second control information entry is used to indicate an internal IP address of the destination server of the first data packet, an internal port of the destination server of the first data packet, The source IP address of the first data packet and the source end of the first data packet Correspondence between the port and the transport layer protocol number of the first data packet and the external IP address and the external port of the destination server of the first data packet.
  • the load balancing processing module 310 may be configured according to the L3/4 of the first data packet. Layer information, generating control information entries in both forward and reverse directions.
  • the forward direction refers to the direction from the client device to the server.
  • the forward direction control information entry may include, for example, a source IP address of the first data packet, a source port, a destination IP address, a destination port, and The transport layer protocol number of the first data message (hereinafter, for convenience of description, the first quintuple) and the destination server information (for example, including the IP address and port of the destination server), so that the network card module 320
  • the source IP address, the source port, the destination IP address, the destination port, and the transport layer protocol number of the second data packet (hereinafter, referred to as the second quintuple for convenience of description) may be searched according to the source IP address, the source port, the destination IP address, the destination port, and the second data packet.
  • the control information entry may be determined when the second quintuple is the same as the first quintuple described in the control information entry, and the destination server information indicating the destination server of the second data packet is The server information corresponding to the first quintuple. Therefore, the network card module 320 can modify the destination IP address of the second data packet to the IP address of the destination server (indicated by the control information corresponding to the first quintuple), and the second data packet is The destination port is modified to be the port of the destination server (indicated by the control information corresponding to the first quintuple), and the second server is capable of transmitting the second data to the destination server (indicated by the control information corresponding to the first quintuple) Message.
  • the reverse direction refers to the direction from the server to the client device.
  • the reverse direction control information entry may include, for example, an internal IP address of the destination server, an internal port of the destination server, and a source of the first data packet.
  • the server has the same external IP address, and the destination port of the first data packet (same as the external port of the destination server), so that the network card module 320 can use the source IP address, source port, and destination of the second data.
  • An address (which is the same as the external IP address of the destination server), and the destination port of the second data packet is modified to be the destination port of the first data packet corresponding to the first quintuple indicated by the control information entry ( The same as the external port of the destination server, so that the second data packet can be sent to the client device that sends the first data packet.
  • the description of the same or similar cases will be omitted.
  • the network card module 320 is further configured to: after receiving the first control information entry, start a timer, and determine that the second datagram is not received before the timer expires. Text; or
  • NIC module 320 is further configured to: after receiving the second control information entry, start the timer, and determine that the second data packet is not received before the timer expires; or
  • the NIC module 320 is for a long time (after the timer expires, for example, 30 minutes)
  • the data packet (for example, the second data packet) that can be transmitted according to the control information included in the control information table is not received, and the communication connection to which the first data packet belongs is considered to be ended, so that the control can be deleted.
  • the information item (including the first control information item and the second control information item).
  • the NIC module 320 After the NIC module 320 obtains the control information entry (including the first control information entry and the second control information entry) from the load balancing processing module 310, after detecting the data packet indicating the end of the communication connection, the NIC module 320 may consider The communication connection to which the data packet belongs is ended, so that the control information entry (including the first control information entry and the second control information entry) can be deleted.
  • the description of the same or similar cases will be omitted.
  • the above determines that the second data packet can be controlled according to the control information according to the source IP address, the source port, the destination IP address, the destination port, and the transport layer protocol number of the second data packet. It should be understood that the present invention is not limited thereto, and other methods for determining whether the second data message can be transmitted according to the control information (for example, determining that the first data message and the second data message belong to the same client) The same communication connection between the device and the same server The method) falls within the scope of protection of the present invention.
  • the processor is configured to perform load balancing according to the L7 layer information of the data packet, or the L3/4 layer information and the L7 layer information.
  • the load balancing processing module 310 parses the L3/4 layer of the data packet, for example, performs SPI on the data packet to obtain the L3/4 of the data packet.
  • the layer information for example, the source IP address, the destination IP address, the source port, the destination port, and the like
  • the L7 layer of the data packet is parsed, for example, DPI is performed on the data packet, thereby acquiring the data packet.
  • L7 layer information for example, the URL of the data message, etc.
  • the L7 layer information of the first data packet may be empty (that is, there is no URL or the like).
  • the load balancing processing module 310 performs load balancing processing only according to the L3/4 layer information.
  • the method of performing load balancing processing based on the L3/4 layer information is the same as that of the prior art. Here, in order to avoid redundancy, the description thereof will be omitted.
  • the load balancing processing module 310 may perform load balancing processing according to the L7 layer information, and perform load balancing according to the L7 layer information.
  • the method of processing is the same as that of the prior art, and the description thereof is omitted here to avoid redundancy.
  • the control information may include, for example, server information indicating the destination server, and indicating that the network card module 320 needs to send subsequent data packets (mainly data sent by the client device to the server). Message) The L7 layer resolution indication flag for L7 layer parsing.
  • the load balancing processing module 310 can directly control the sending device (for example, the network card module 320) to send the first data packet to the load balancing processing according to the result of the load balancing processing. The result corresponds to the destination server. And sending the control information to the network card module 320.
  • the server information is used to indicate an internal internet protocol IP address and an internal port of the destination server of the first data packet.
  • the server information is determined by the load balancing processing module according to the L3/4 layer information and the L7 layer information of the first data packet, or
  • the server information is determined by the load balancing processing module according to the L7 layer information of the first data packet, where the control information further includes an L7 layer resolution indication identifier,
  • the NIC module is specifically configured to: when the quintuple of the second data packet is the same as the quintuple of the first data packet, perform L7 layer signaling on the second data packet according to the L7 layer resolution indication identifier Parsing to obtain a uniform resource locator for indicating the destination server of the second data packet
  • the quintuple is a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol number;
  • the second data message is sent to the destination server of the first data message according to the server information.
  • the load balancing processing module 310 can send the internal IP address and the internal port of the destination server in the server cluster to the network card module 320.
  • the NIC module 320 may obtain the internal IP address, the internal port, and the L7 layer resolution indication identifier of the destination server in the server cluster from the load balancing processing module 310, and the load balancing processing module 310 may be the IP address and port of the destination server. And the L7 layer resolution indication identifier.
  • the NIC module 320 can receive the second data packet sent by the sending end.
  • the sending end can be the client device or the server, and the present invention is not particularly limited.
  • the load balancer adopts DR load balancing or In the IP TUN load balancing mode, the server (destination server) returns the packet to the client device without passing through the load balancer. Therefore, the sender of the second data packet is the client device; for example, the NAT is used in the load balancer.
  • the packet sent by the server (destination server) to the client device needs to pass through the load balancer. Therefore, the sender of the second data packet may be a client device or a server (destination server). .
  • the load balancer adopts NAT-type load balancing will be described as an example.
  • the network card module 320 transmits the transmission of the second data message based on the server information acquired from the load balancing processing module 310.
  • the sending end is a client device
  • the destination IP address, source IP address, destination port, source port, and transport layer protocol number (TCP connection or UDP connection) of the second data packet are The destination IP address, the source IP address, the destination port, the source port, and the transport layer protocol number (TCP connection or UDP connection) of the first data packet are the same, because the load balancing processing module 310 performs load balancing processing based on the L3/4 layer information.
  • the network card module 320 For processing the second data packet, that is, L3/4 layer information (including the destination IP address, source IP address, and destination end of the second data packet)
  • the port, the source port, and the transport layer protocol number are the same as the processing for the first data packet
  • the network card module 320 can determine that the destination server of the second data packet is the same as the destination server of the first data packet (ie, The two data messages and the first data message belong to the same communication connection between the client device and the destination server.
  • the NIC module 320 can obtain the L7 layer information of the second data packet, that is, the URL address of the second data packet, according to the L7 layer resolution indication identifier.
  • the network card module 320 can obtain the URL address of the second data packet, the second data packet and the URL address are sent to the load balancing processing module 310, so that the load balancing processing module 310 does not need to perform the second data packet.
  • the load balancing process can be directly performed according to the URL address.
  • the process of parsing the URL is performed by the network card module 320, that is, by hardware parsing, and by means of the software that is parsed by the load balancing processing module 310. In comparison, the resolution speed is increased and the burden on the load balancing processing module 310 is reduced.
  • the load balancing processing module 310 may send The device (eg, the gateway device) sends the second data message. .
  • the second data packet may be sent according to the server information.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the load balancing processing module 310 may perform load balancing processing (corresponding to DR-type load balancing or IP TUN-type load balancing) according to the L7 layer information of the first data packet, and determine the destination server, according to the first datagram. For the L3/4 layer information of the text, only the control information entries in the positive direction described above are generated.
  • the server information is further used to indicate an external IP address and an external port of the destination server of the first data packet
  • the NIC module is specifically configured to: when the source IP address of the second data packet is the same as the internal IP address of the destination server, and the source port of the second data packet is the same as the internal port information of the destination server, and the The destination IP address of the second data packet is the same as the source IP address of the first data packet, and the destination port of the second data packet is the same as the source port of the first data packet, and the second data packet is the second data packet.
  • the transport layer protocol number is the same as the transport layer protocol number of the first data packet
  • the sending end is a server (corresponding to NAT-type load balancing)
  • the source IP address of the second data packet determines that the internal IP address of the destination server is the same after the equalization processing of the first data, and the destination port of the second data packet is the same as the source IP address of the first data packet, and the second The source port of the data packet is the same as the internal port of the destination server determined by the load balancing processing module 310 after the equalization processing on the first data, and the second data packet transport layer protocol number and the transport layer of the first data packet.
  • the protocol number is the same.
  • the load balancing processing module 310 performs load balancing processing based on the L3/4 layer information, and determines that the second data packet is a response data packet corresponding to the first data packet generated by the destination server.
  • the second data packet and the first data packet belong to the same communication connection between the client device and the destination server.
  • the network card module 320 can modify the source IP address of the second data packet to the destination IP address of the external IP address of the destination server of the first data packet (same as the destination IP address of the first data packet), and Modifying the source port of the second data packet to the external port of the destination server of the first data packet (same as the destination port of the first data packet), so as to be able to send the first data packet
  • the client device sends the second data packet.
  • the server information includes a first control information entry, where the first control information entry is used to indicate a quintuple of the first data packet and the first data packet.
  • the server information includes a second control information entry, where the second control information entry is used to indicate an internal IP address of the destination server of the first data packet, an internal port of the destination server of the first data packet, a source IP address of the first data packet, a source port of the first data packet, and a transport layer protocol number of the first data packet, and an external IP address and an external port of the destination server of the first data packet Correspondence relationship.
  • the load balancing processing module 310 may be configured according to the L3/4 of the first data packet. Layer information, generating control information entries in both the forward and reverse directions.
  • the network card module 320 is further configured to: after receiving the first control information entry, start a timer, and determine that the timer is not received before the timer expires. To the second data message; or
  • NIC module 320 is further configured to: after receiving the second control information entry, start the timer, and determine that the second data packet is not received before the timer expires; or
  • the load balancer adopts NAT-type load balancing
  • the load balancer may also adopt the DR-type load balancing or the IP TUN type. Load balancing.
  • the packet returned by the server (destination server) to the client device does not pass through the load balancer. Therefore, the sender of the second data packet is the client device.
  • the units in system 300 and the other operations and/or functions described above are respectively implemented to implement the corresponding processes of method 100 in FIG.
  • the device for controlling data transmission determines the control information according to the first data packet by the load balancing processor, and sends the control information to the network card device, and the network card device receives the second data packet and determines that After the second data packet is transmitted according to the control information, the second data packet may be directly sent to the destination server according to the control information, or the URL information in the second data packet may be obtained and notified to the load balancing processor.
  • the load balancing processor does not need to parse the second data packet, thereby reducing the processing of the load balancing processor, improving the access speed, and reducing the load of the load balancing processor.
  • the size of the sequence numbers of the above processes does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not be taken to the embodiments of the present invention.
  • the implementation process constitutes any limitation.
  • Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
  • the disclosed systems, devices, and methods may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or otherwise.
  • the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present invention which is essential to the prior art or part of the technical solution, may be embodied in the form of a software product stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and the like, which can store program codes. .

Abstract

La présente invention porte sur un procédé, un appareil et un système pour commander une transmission de données, qui peuvent améliorer la vitesse d'accès et réduire la charge d'un processeur d'équilibrage de charge. Le procédé comprend : l'envoi d'un premier paquet de données depuis un dispositif client vers le processeur d'équilibrage de charge ; la réception d'informations de commande envoyées par le processeur d'équilibrage de charge, les informations de commande étant déterminées par le processeur d'équilibrage de charge en fonction d'informations L3/4 du premier paquet de données et/ou d'informations L7 du premier paquet de données, et comprenant des informations de serveur pour indiquer un serveur cible du premier paquet de données ; et après qu'un second paquet de données soit reçu, la commande d'une transmission du second paquet de données en fonction des informations de commande. Le processeur d'équilibrage de charge détermine des informations de commande en fonction du premier paquet de données, et délivre les informations de commande à un dispositif de carte réseau ; le dispositif de carte réseau peut transmettre le second paquet de données en fonction des informations de commande lors de la réception du second paquet de données, ce qui réduit un traitement par le processeur d'équilibrage de charge, améliorant ainsi la vitesse d'accès et réduisant la charge du processeur d'équilibrage de charge.
PCT/CN2012/079887 2012-08-09 2012-08-09 Procédé, appareil et système pour commander une transmission de données WO2014023003A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2012/079887 WO2014023003A1 (fr) 2012-08-09 2012-08-09 Procédé, appareil et système pour commander une transmission de données
CN201280002537.0A CN103201989B (zh) 2012-08-09 2012-08-09 控制数据传输的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/079887 WO2014023003A1 (fr) 2012-08-09 2012-08-09 Procédé, appareil et système pour commander une transmission de données

Publications (1)

Publication Number Publication Date
WO2014023003A1 true WO2014023003A1 (fr) 2014-02-13

Family

ID=48723125

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/079887 WO2014023003A1 (fr) 2012-08-09 2012-08-09 Procédé, appareil et système pour commander une transmission de données

Country Status (2)

Country Link
CN (1) CN103201989B (fr)
WO (1) WO2014023003A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106230992A (zh) * 2016-09-28 2016-12-14 中国银联股份有限公司 一种负载均衡方法和负载均衡节点
CN114363256A (zh) * 2020-09-28 2022-04-15 华为云计算技术有限公司 基于网卡的报文解析方法以及相关装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158755B (zh) * 2014-07-30 2017-12-05 华为技术有限公司 传输报文的方法、装置和系统
EP3214807A4 (fr) * 2014-11-28 2017-10-18 Huawei Technologies Co., Ltd. Dispositif et procédé de traitement de services
CN105554065B (zh) * 2015-12-03 2019-06-18 华为技术有限公司 处理报文的方法、转换单元和应用单元
CN107493254B (zh) * 2016-06-12 2021-12-28 中兴通讯股份有限公司 Tcp报文转发的方法、装置和系统
CN107493239A (zh) * 2016-06-12 2017-12-19 中兴通讯股份有限公司 Udp报文转发方法、设备和系统
US10419330B2 (en) * 2016-07-21 2019-09-17 Alibaba Group Holding Limited Express route transmissions between virtual machines and cloud service computing devices
CN106131204A (zh) * 2016-07-22 2016-11-16 无锡华云数据技术服务有限公司 应用于负载均衡系统的报文快速分发方法及其系统
CN107948088B (zh) * 2018-01-05 2021-10-01 宝牧科技(天津)有限公司 一种网络应用层负载均衡的方法
CN111147381B (zh) * 2018-11-02 2022-01-18 华为技术有限公司 流量均衡方法和装置
CN109361602B (zh) * 2018-11-12 2021-06-22 网宿科技股份有限公司 一种基于OpenStack云平台转发报文的方法和系统
CN113691410B (zh) * 2020-05-19 2023-05-12 花瓣云科技有限公司 网络性能数据的获取方法、装置和服务器
CN117354368A (zh) * 2023-12-05 2024-01-05 北京轻网科技股份有限公司 七层代理下客户端信息透传方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442493A (zh) * 2008-12-26 2009-05-27 华为技术有限公司 Ip报文分发方法、集群系统和负载均衡器
EP2159983A1 (fr) * 2008-08-26 2010-03-03 BRITISH TELECOMMUNICATIONS public limited company Réseau de distribution de contenu
CN101808118A (zh) * 2010-03-02 2010-08-18 浪潮(北京)电子信息产业有限公司 服务器访问方法、装置和系统
CN102131239A (zh) * 2010-10-27 2011-07-20 华为技术有限公司 业务处理单元和方法以及业务控制网关和负载均衡方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004073269A1 (ja) * 2003-02-13 2006-06-01 富士通株式会社 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
CN100372323C (zh) * 2003-06-12 2008-02-27 华为技术有限公司 一种访问服务器群的方法
CN101335709B (zh) * 2008-08-07 2010-09-22 杭州华三通信技术有限公司 在流量分析服务器之间实现负载分担的方法和分流设备
CN102118433A (zh) * 2010-12-27 2011-07-06 网宿科技股份有限公司 多层次的分布式集群系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2159983A1 (fr) * 2008-08-26 2010-03-03 BRITISH TELECOMMUNICATIONS public limited company Réseau de distribution de contenu
CN101442493A (zh) * 2008-12-26 2009-05-27 华为技术有限公司 Ip报文分发方法、集群系统和负载均衡器
CN101808118A (zh) * 2010-03-02 2010-08-18 浪潮(北京)电子信息产业有限公司 服务器访问方法、装置和系统
CN102131239A (zh) * 2010-10-27 2011-07-20 华为技术有限公司 业务处理单元和方法以及业务控制网关和负载均衡方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106230992A (zh) * 2016-09-28 2016-12-14 中国银联股份有限公司 一种负载均衡方法和负载均衡节点
CN106230992B (zh) * 2016-09-28 2019-04-26 中国银联股份有限公司 一种负载均衡方法和负载均衡节点
CN114363256A (zh) * 2020-09-28 2022-04-15 华为云计算技术有限公司 基于网卡的报文解析方法以及相关装置

Also Published As

Publication number Publication date
CN103201989A (zh) 2013-07-10
CN103201989B (zh) 2016-05-25

Similar Documents

Publication Publication Date Title
WO2014023003A1 (fr) Procédé, appareil et système pour commander une transmission de données
JP7004405B2 (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
US20220070095A1 (en) Data transmission method and apparatus, network adapter, and storage medium
US10135717B2 (en) Transferring data in a gateway
US8913613B2 (en) Method and system for classification and management of inter-blade network traffic in a blade server
US9871720B1 (en) Using packet duplication with encapsulation in a packet-switched network to increase reliability
US9460289B2 (en) Securing a virtual environment
CA2968964C (fr) Systemes et procedes de transparence d'adresse ip de source
WO2017000878A1 (fr) Traitement de message
US9338192B1 (en) Connection management using connection request transfer protocol
US9712649B2 (en) CCN fragmentation gateway
WO2016062169A1 (fr) Procédé et appareil d'émission de messages
WO2017050117A1 (fr) Système, procédé, et appareil de traitement d'équilibrage de charge de réseau
EP2815546A1 (fr) Construction d'un dvpn à grande échelle
WO2012151904A1 (fr) Procédé et dispositif d'acheminement de paquet de données
CN106302322B (zh) 一种虚拟机数据流管理方法和系统
JP2016509822A (ja) イーサネットパケットの転送
WO2021008591A1 (fr) Procédé, dispositif et système de transmission de données
JP2009302847A (ja) ネットワーク仮想化システムおよびプログラム
WO2022089169A1 (fr) Procédé et appareil d'envoi d'informations de routage de calcul, dispositif, et support de stockage
CN112994928B (zh) 一种虚拟机的管理方法、装置及系统
JP2013126219A (ja) 転送サーバおよび転送プログラム
CN109981463B (zh) 信息处理方法、装置、网关及存储介质
JP6279970B2 (ja) プロセッサ、通信装置、通信システム、通信方法およびコンピュータプログラム
WO2024001701A1 (fr) Procédé, appareil et système de traitement de données

Legal Events

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

Ref document number: 12882814

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12882814

Country of ref document: EP

Kind code of ref document: A1