CN101252591A - Apparatus and method for realizing uplink and downlink data separation - Google Patents

Apparatus and method for realizing uplink and downlink data separation Download PDF

Info

Publication number
CN101252591A
CN101252591A CNA2008101033933A CN200810103393A CN101252591A CN 101252591 A CN101252591 A CN 101252591A CN A2008101033933 A CNA2008101033933 A CN A2008101033933A CN 200810103393 A CN200810103393 A CN 200810103393A CN 101252591 A CN101252591 A CN 101252591A
Authority
CN
China
Prior art keywords
server
packet
client
load equalizer
address
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CNA2008101033933A
Other languages
Chinese (zh)
Other versions
CN101252591B (en
Inventor
杨坚
奚宏生
殷保群
杨晓强
王飞
赵兵选
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
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 University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN2008101033933A priority Critical patent/CN101252591B/en
Publication of CN101252591A publication Critical patent/CN101252591A/en
Application granted granted Critical
Publication of CN101252591B publication Critical patent/CN101252591B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention provides a method and a device which are used for realizing the separation of the data in an upper row from the data in a lower row. The method mainly comprises that a load balancer obtains the relative information for communication between the load balancer and a client and between the load balancer and a server by a transmission layer protocol; wherein the relative information includes IP addresses and port information and the load balancer transmits the relative information to the server; the load balancer receives the data packets transmitted by the client through the transmission layer protocol and then transfers the data packets to the server according to the relative information, and the server directly transmits the data packets to the client according to the relative information. The invention can realize the separation of the data in the upper row from the data in the lower row in cluster systems such as IPTV using the load balancer, reduce the pressure of the load balancer and greatly improve the toughness of the systems.

Description

Realize the method and apparatus of up-downgoing data separating
Technical field
The present invention relates to network communication field, relate in particular to a kind of method and apparatus of realizing the up-downgoing data separating.
Background technology
Along with the fast development of economy and technology, Internet (internet) has brought huge variation for people's work, life and amusement with its rich in natural resources, personalized service and interactivity easily.Along with the continuous progress in epoch, the TV programme that people wish at any time, any place watches them to like, and hope realizes the true interaction between medium supplier and the media consumer's.Therefore, the business function of the timing of traditional television technology and One-to-All Broadcast can not satisfy the demand of people.In this case, IPTV (IPTV) technology is arisen at the historic moment.
IPTV is a kind of emerging technology based on Internet, is the brand-new medium form of a kind of personalization, interactive services.It is a kind of infrastructure of utilizing broadband network, with domestic television set (perhaps computer) as main terminal equipment, multiple technologies such as integrate Internet, multimedia and communicate by letter provide the new technology of the multiple interactive digital media services that comprise Digital Television to the domestic consumer by the Internet agreement.It has merged the correlation properties of traditional television technology and broadband internet, will be the professional of guiding with communication and is that the business of guiding is closely linked with the content.It not only can make the user can receiving broadcast signal, and it is interactive that user and content supplier are realized, can also easily TV service, Internet be browsed and functions such as multiple online information consulting, amusement, education combine, realize " integration of three networks " of telecommunications network, cable television network and Internet net.
Because IPTV is mainly the user streaming media service is provided, need expend a large amount of bandwidth resources, service end need have the ability of standing big load pressure for a long time, and therefore, IPTV is much higher to the requirement of the traditional Web server end of the requirement comparison of the disposal ability of server end and the network bandwidth.At present, the server end of IPTV mainly adopts group system, promptly provides streaming media service with group system to a large number of users.In group system, because there is restriction in the disposal ability (comprising I/O ability, CPU processing speed and memory size) of server, the network bandwidth of each clustered node also is conditional.Therefore, how each clustered node in the group system is coordinated, made it become an organic whole, it is very important coming for short-term and long-term user provide service.And load-balancing technique is the effective way that addresses this problem.Pass through load-balancing technique, can be according to the load state of each clustered node in user's request content and the group system, reasonably select node to provide service, thereby can significantly improve the speed that the user obtains data, solve the concurrent problem of mass data for user's request.
In the IPTV system, mainly adopt an independent load equalizer to realize load balancing.From the flow direction of data, the data volume of the upstream data from the client to the clustered node (for example control information etc.) is less, and the data volume of the downlink data from the clustered node to the client (for example RTP packet etc.) is very big.For client, as seen whole SiteServer LBS has only load equalizer, if all users' upstream data and downlink data all pass through load equalizer and transmit, so load equalizer will bear for a long time, the pressure of high load capacity, like this, load equalizer will become the bottleneck of entire I PTV system.
Summary of the invention
The purpose of the embodiment of the invention provides a kind of method and apparatus of realizing the up-downgoing data separating, thereby can solve the problem that can not be applied to various complicated test environments in the prior art scheme, need artificial participation.
The purpose of the embodiment of the invention is achieved through the following technical solutions:
A kind of method that realizes the up-downgoing data separating comprises:
Load equalizer obtains the relevant information that communicates by transport layer protocol between itself and client, the server, and this relevant information comprises IP address and port information, and described load equalizer sends to described server with this relevant information;
After described load equalizer receives the packet of described client by the transport layer protocol transmission, according to described relevant information described packet is transmitted to described server, described server directly sends to described client according to described relevant information with packet.
A kind of load equalizer comprises:
The relevant information processing module is used to obtain the relevant information that communicates by transport layer protocol between itself and client, the server, and this relevant information comprises IP address and port information, and this relevant information is sent to described server;
The packet forwarding module is used for according to described relevant information described packet being transmitted to described server behind the packet that receives described client transmission.
A kind of server comprises:
Relevant information is preserved module, is used to receive and preserve the relevant information that communicates by transport layer protocol between load equalizer that load equalizer sends over and client, the server, and this relevant information comprises IP address, port numbers and sequence number information;
The client-side information acquisition module, the described relevant information of the packet correspondence that is used for sending is as required preserved the relevant information that module is preserved, and obtains IP address, port numbers and the sequence number information of corresponding described client;
Address conversion module, be used for the source IP address of described packet is revised as the IP address of load equalizer, the source port of described packet is revised as load equalizer is used for port with client communication, the purpose IP address of described packet is revised as the IP address of client, the destination interface of described packet is revised as the port of client, for the tcp data bag, the sequence number that also sequence number of described tcp data bag is revised as described tcp data bag deducts the value of being obtained after the difference between the initial sequence number of the initial sequence number of described server and load equalizer;
The packet sending module is used for amended described packet is directly sent to described client.
The technical scheme that provides by the invention described above embodiment as can be seen, the present invention has realized having used separating of upstream data and downlink data in the group systems such as IPTV of load equalizer, has alleviated the pressure of load equalizer, has improved the robustness of system greatly.
Description of drawings
Fig. 1 is for being example with TCP, the principle schematic of the method for the described realization up-downgoing of embodiment of the invention data separating;
Fig. 2 is for being example with TCP, the concrete process chart of the method for the described realization up-downgoing of embodiment of the invention data separating;
Fig. 3 is for being example with UDP, the principle schematic of the method for the described realization up-downgoing of embodiment of the invention data separating;
Fig. 4 is for being example with UDP, the concrete process chart of the method for the described realization up-downgoing of embodiment of the invention data separating;
The structural representation of a kind of embodiment of the load equalizer of the realization up-downgoing data separating that Fig. 5 provides for the embodiment of the invention;
The structural representation of a kind of embodiment of the server of the realization up-downgoing data separating that Fig. 6 provides for the embodiment of the invention.
Embodiment
In embodiments of the present invention, realize the upstream data of group system and separating of downlink data in order to be implemented in transport layer, load equalizer at first needs to obtain the relevant information that communicates by transport layer protocol between itself and client, the server, this relevant information comprises IP address and port information, and described load equalizer sends to described server with this relevant information.Described server is preserved this relevant information.
After described load equalizer receives the packet of described client by the transport layer protocol transmission, according to the request content of described packet, the loading condition and the distribution situation of request content in server cluster of server, obtain the IP address and the port information of corresponding described server.Described load equalizer is revised as the source IP address of described packet the IP address of load equalizer, the source port of described packet is revised as load equalizer is used for port with server communication, the purpose IP address of described packet is revised as the IP address of server, the destination interface of described packet is revised as the port of server, for the tcp data bag, the affirmation that also affirmation of described tcp data bag number is revised as described tcp data bag number adds the value of being obtained after the difference between the initial sequence number of the initial sequence number of the above server and load equalizer.Described load equalizer is transmitted to described server with amended described packet by transport layer protocol.
The relevant information of the described preservation of the packet correspondence that described server sends is as required obtained the IP address and the port information of corresponding described client.Described server is revised as the source IP address of described packet the IP address of load equalizer, the source port of described packet is revised as load equalizer is used for port with client communication, the purpose IP address of described packet is revised as the IP address of client, the destination interface of described packet is revised as the port of client, for the tcp data bag, the sequence number that also sequence number of described tcp data bag is revised as described tcp data bag deducts the value of being obtained after the difference between the initial sequence number of the initial sequence number of described server and load equalizer.Described server directly sends to described client with amended described packet.
Above-mentioned transport layer protocol mainly comprises: TCP (Transmission Control Protocol, transmission control protocol) and UDP (User Datagram Protocol, User Datagram Protoco (UDP)) two kinds is that example illustrates the method for the invention with TCP and UDP respectively below.
With TCP is example, the principle schematic of the method for the described realization up-downgoing of embodiment of the invention data separating as shown in Figure 1, concrete handling process comprises the steps: as shown in Figure 2
Set up TCP by three-way handshake between step 21, client and the load equalizer and connect, load equalizer is set up data structure TCP_CONDITION and is preserved the relevant information that TCP connects.
Client at first sends to load equalizer and is used to set up first handshake data bag that TCP connects, after the LOCAL_IN hook of Netfilter on the load equalizer (network filter) is caught this first handshake data bag, this packet is not given the ICP/IP protocol stack of system, but analyze its IP head and TCP head, propose the relevant information that the TCP between client and the load equalizer connects from this IP head and TCP head, this relevant information can comprise: client source IP, the client source port, initial sequence number when client is initiated to connect, the selected port that is used for carrying out the TCP connection of load equalizer with client, the state of TCP between client and the load equalizer etc.
Load equalizer is also set up a data structure TCP_CONDITION, is used for preserving the relevant information that TCP that said extracted comes out connects.Then, load equalizer is to client echo reply packet, after client receives this reply data bag, to load equalizer echo reply packet.
Client is after the reply data bag of receiving from load equalizer, send the affirmation packet to load equalizer, this packet is caught and is abandoned by the LOCAL_IN hook of the Netfilter on the load equalizer equally, so far, the connection of the TCP between client and the load equalizer is just set up and is finished.
Step 22, load equalizer connect by the TCP between three-way handshake foundation and the multimedia server, and the relevant information that this TCP is connected also is kept among the above-mentioned TCP_CONDITION.
Client sends data request packet to load equalizer, and this data request packet is detained this packet after being caught by the Netfilter on the load equalizer.The load information of each multimedia server (being clustered node) of collecting according to the content (as film name etc.) and the load equalizer of this data request packet selects a suitable multimedia server to come to be above-mentioned client service.Load equalizer need be write down the IP address and the port numbers of this multimedia server.
Then, load equalizer connects by the TCP between three-way handshake foundation and the above-mentioned multimedia server, and the relevant information that this TCP is connected also is kept among the above-mentioned TCP_CONDITION.Connect to the TCP of multimedia server for load equalizer, the initial sequence number that load equalizer adopts is a client and the sequence number of customer end adopted during the TCP of load equalizer foundation is connected.
So, comprise following parameter among the above-mentioned TCP_CONDITION:
Saddr; // client source IP;
Sport; // client source port;
ClientSourceseq; Initial sequence number when // client is initiated to connect;
Diff; The difference of the initial column that load equalizer was adopted when the initial sequence number of // multimedia server and load equalizer were set up TCP and are connected with client number;
Port_connect_server; The selected port that is used for carrying out the TCP connection of // load equalizer with multimedia server;
Port_connect_client; The selected port that is used for carrying out the TCP connection of // load equalizer with client;
Daddr; The IP address of the target multimedia server that // negative equalizer is selected;
Dport; The port numbers of the target multimedia server that // load equalizer is selected;
ServerSourceseq; The initial sequence number that // server is selected for use;
Tcpstatus; The state of // this TCP connection;
ClientFinACK; // one is used to finish the numerical value that TCP connects, and has only the ACK that receives when client to think just that greater than this value server confirms that client finishes, at this moment can this TCP connection of safety shutdown;
ServerFinACK; // one is used to finish the numerical value that TCP connects, and has only the ACK that receives when server to think just that greater than this value client confirms that server finishes, at this moment can this TCP connection of safety shutdown;
Wherein the state of TCP connection has following several:
TCPstatus_NEW, the expression client has just sent and has been used to set up first packet that TCP connects;
TCPstatus_CLIENTCONNECTOK, the expression client has sent the 3rd packet of shaking hands, and client can be accepted and transmission information;
TCPstatus_SERVERCONNECTOK, shaking hands of expression client and server end finished, and server end sent information in the past;
TCPstatus_CLIENT_SET_FIN, the expression client initiatively finishes, and has sent a FIN message, the waiting for server reaction;
TCPstatus_SERVER_SET_FIN, the expression server end initiatively finishes, and has sent a FIN message, waits for the client reaction;
TCPstatus_CLIENT_SET_FIN_SERVERCLOSE, the expression client has sent the FIN message, and server normal termination;
TCPstatus_SERVER_SET_FIN_CLIENTCLOSE, the expression server has sent the FIN message, and client normal termination;
TCPstatus_CLIENTCLOSE, the expression client is received the ACK message of server, finishes, and can not receive data again;
TCPstatus_SERVERCLOSE, the expression server is received the ACK message of client, finishes, and can not receive data again;
TCPstatus_SERVERCLOSE_CLIENTCLOSE, all finish at the expression two ends, can discharge connection.
Load equalizer also carries out Hash with parameters such as the saddr among the above-mentioned TCP_CONDITION, sport, port_connect_client, generates a Hash table Hash_CLIENT_BALANCER_TCP.Parameters such as the daddr among the above-mentioned TCP_CONDITION, dport, port_connect_server are carried out Hash, generate among another Hash table Hash_BALANCER_SERVER_TCP.Above-mentioned two Hash tables are carried out related preservation with above-mentioned TCP_CONDITION.So, can both go out above-mentioned TCP_CONDITION by index by above-mentioned two Hash tables.
Step 23: load equalizer sends to multimedia server with above-mentioned TCP_CONDITION, and load equalizer is transmitted to multimedia server after according to this TCP_CONDITION up packet being carried out address transition.Multimedia server directly sends to client after according to this TCP_CONDITION descending packet being carried out address transition.
Load equalizer sends to multimedia server by udp protocol with above-mentioned TCP_CONDITION.Simultaneously start overtime retransmission mechanism, can arrive multimedia server with the packet of the information of guaranteeing to comprise TCP_CONDITION, and multimedia server can be preserved the TCP_CONDITION that receives get off at load equalizer.
The up packet that client sends to multimedia server at first sends to load equalizer, after Netfilter on the load equalizer captures this packet, its saddr, sport, port_connect_client are carried out Hash, according in above-mentioned Hash table Hash_CLIENT_BALANCER_TCP, finding above-mentioned TCP_CONDITION.According to above-mentioned TCP_CONDITION, change the source IP of this packet the IP of load equalizer into, source port number changes port_connect_server into, and Target IP changes daddr into, and target port changes dport into, will confirm that sequence number adds the value of diff.Recomputate verification and after, amended data request packet is sent to multimedia server by Transmission Control Protocol.
The purpose that load equalizer carries out above-mentioned processing is for the packet that allows multimedia server " think " that it is received all is from load equalizer, and irrelevant with client, has accomplished transparent to multimedia server.
All packets that Netfilter on the multimedia server sends all multimedia servers are intercepted and captured and are checked, if mail to the packet of the port_connect_server port of load equalizer, then this packet is made amendment, change the target ip address of this packet into saddr, destination port number changes sport into, source IP address changes the IP of load equalizer into, source port number changes port_connect_client into, the TCP sequence number of this packet is deducted the value of diff, other parameters remain unchanged, recomputating verification and afterwards, this packet is sent.Because the Target IP of this packet and IP and the port numbers that destination port number all is client so these packets directly arrive client after can passing through route, and can not passed through load equalizer.So just realized separating of upstream data and downlink data.For client, its meeting " is thought " packet that receives from load equalizer, and irrelevant with the multimedia server on backstage, thereby has accomplished transparent to client.
With UDP is example, the principle schematic of the method for the described realization up-downgoing of embodiment of the invention data separating as shown in Figure 3, concrete handling process comprises the steps: as shown in Figure 4
Step 41, client send the UDP message bag that is used for request of data to load equalizer, load equalizer set up that data structure UDP_CONDITION preserves and client between the relevant information of UDP message bag.
Client at first sends the UDP message bag that is used for request of data to load equalizer, after Netfilter on the load equalizer catches this UDP message bag, judge the transport layer protocol territory of this packet, if assert this packet is the UDP message bag that mails to the load equalizer particular port, just this UDP message bag is detained.Load equalizer extracts the relevant information of this UDP message bag, and this relevant information can comprise: the IP of client, the port numbers of client, load equalizer be selected to be used for port that communicates with client etc.
Load equalizer is also set up a data structure UDP_CONDITION, is used for preserving the relevant information of the UDP message bag that said extracted comes out.Analyze the request content of UDP message then, according to request content, current load state and the distribution situation of content in server cluster of server, select a suitable multimedia server to provide service to this request, and write down the IP address and the port numbers of this multimedia server, it is kept among the data structure UDP_CONDITION.
Then, load equalizer sends to the multimedia server of before having selected with data structure UDP_CONDITION by udp protocol.
So, comprise following parameter among the above-mentioned UDP CONDITION:
Saddr; The IP of // client;
Sport; The port numbers of // client;
Port_connect_server; // load equalizer is used for the port numbers of communicating by letter with the backstage multimedia server;
Port_connect_client; // load equalizer is used for the port numbers with client communication;
Daddr; The IP of // multimedia server;
Dport; The port numbers of // multimedia server.
Load equalizer also carries out Hash with parameters such as the saddr among the above-mentioned UDP_CONDITION, sport, port_connect_client, generates a Hash table Hash_CLIENT_BALANCER_UDP.Parameters such as the daddr among the above-mentioned UDP_CONDITION, dport, port_connect_server are carried out Hash, generate among another Hash table Hash_BALANCER_SERVER_UDP.Above-mentioned two Hash tables are carried out related preservation with above-mentioned UDP_CONDITION.So, can both go out above-mentioned UDP_CONDITION by index by above-mentioned two Hash tables.
Step 42: load equalizer sends to multimedia server with above-mentioned UDP_CONDITION, and load equalizer is transmitted to multimedia server after according to this UDP_CONDITION up packet being carried out address transition.Multimedia server directly sends to client after according to this UDP_CONDITION descending packet being carried out address transition.
Load equalizer sends to multimedia server by udp protocol with above-mentioned UDP_CONDITION.Simultaneously start overtime retransmission mechanism, can arrive multimedia server with the packet of the information of guaranteeing to comprise UDP_CONDITION, and multimedia server can be preserved the UDP_CONDITION that receives get off at load equalizer.
The up UDP message bag that client sends to multimedia server at first sends to load equalizer, after the LOCAL IN hook of Netfilter on the load equalizer captures this UDP message bag, its saddr, sport, port connect client are carried out Hash, according to finding above-mentioned UDP_CONDITION among the above-mentioned Hash table Hash_CLIENT_BALANCER_UDP.According to above-mentioned UDP_CONDITION, change the source IP of this packet the IP of load equalizer into, source port number changes port_connect_server into, and Target IP changes daddr into, and target port changes dport into.Recomputate verification and after, amended UDP message bag is sent to multimedia server.
The purpose that load equalizer carries out above-mentioned processing is for the packet that allows multimedia server " think " that it is received all is from load equalizer, and irrelevant with client, has accomplished transparent to multimedia server.
All packets that the LOCAL_OUT hook of Netfilter on the multimedia server sends all multimedia servers are intercepted and captured and are checked, if mail to the UDP message bag of the port_connect_server port of load equalizer, then this UDP message bag is made amendment, change the target ip address of this UDP message bag into saddr, destination port number changes sport into, source IP address changes the IP of load equalizer into, source port number changes port_connect_client into, other parameters remain unchanged, recomputating verification and afterwards, this UDP message bag is sent.Because the Target IP of this UDP message bag and IP and the port numbers that destination port number all is client so these packets directly arrive client after can passing through route, and can not passed through load equalizer.So just realized separating of upstream data and downlink data.For client, its meeting " is thought " packet that receives from load equalizer, and irrelevant with the multimedia server on backstage, thereby has accomplished transparent to client.
The device of the realization up-downgoing data separating that the embodiment of the invention provides comprises load equalizer and server, and the structure of a kind of embodiment of above-mentioned load equalizer comprises as shown in Figure 5 as lower module:
The relevant information processing module is used to obtain the relevant information that communicates by transport layer protocol between itself and client, the server, and this relevant information comprises IP address and port information, and this relevant information is sent to described server;
The packet forwarding module is used for according to described relevant information described packet being transmitted to described server after receiving the packet of described client by the transport layer protocol transmission.Comprise: server info acquisition module, address conversion module and packet sending module.
Wherein, server info acquisition module in the described packet forwarding module, be used for after receiving the packet of described client by the transport layer protocol transmission, according to the request content of described packet, the loading condition of server and the request content distribution situation in the server, obtain the IP address and the port information of corresponding described server;
Wherein, address conversion module, be used for the source IP address of described packet is revised as the IP address of load equalizer, the source port of described packet is revised as load equalizer is used for port with server communication, the purpose IP address of described packet is revised as the IP address of described server, the destination interface of described packet is revised as the port of described server, for the tcp data bag, the affirmation that also affirmation of described tcp data bag number is revised as described tcp data bag number adds the value of being obtained after the difference between the initial sequence number of the initial sequence number of the above server and load equalizer;
Wherein, the packet sending module in the described packet forwarding module is used for amended described packet is transmitted to described server by transport layer protocol.
The structure of a kind of embodiment of above-mentioned server comprises as shown in Figure 6 as lower module:
Relevant information is preserved module, is used to receive and preserve the relevant information that communicates by transport layer protocol between load equalizer that load equalizer sends over and client, the server, and this relevant information comprises IP address, port information and sequence number information;
The client-side information acquisition module, the described relevant information of the packet correspondence that is used for sending is as required preserved the relevant information that module is preserved, and obtains IP address, port numbers and the sequence number information of corresponding described client;
Address conversion module, be used for the source IP address of described packet is revised as the IP address of load equalizer, the source port of described packet is revised as load equalizer is used for port with client communication, the purpose IP address of described packet is revised as the IP address of client, the destination interface of described packet is revised as the port of client, for the tcp data bag, the sequence number that the sequence number of described tcp data bag is revised as described tcp data bag deducts the value of being obtained after the difference between the initial sequence number of the initial sequence number of described server and load equalizer;
The packet sending module is used for amended described packet is directly sent to described client.
In sum, use apparatus and method of the present invention after, realized having used separating of upstream data and downlink data in the group systems such as IPTV of load equalizer, alleviated the pressure of load equalizer, improved the robustness of system greatly.
The present invention both realized server transparent fully to client, also realized client transparent fully to multimedia server.The present invention has avoided the copy of packet from the kernel spacing to the user's space improved the execution efficient of system greatly in the content of system kernel analysis user request.
The above; only for the preferable embodiment of the present invention, but protection scope of the present invention is not limited thereto, and anyly is familiar with those skilled in the art in the technical scope that the present invention discloses; the variation that can expect easily or replacement all should be encompassed within protection scope of the present invention.Therefore, protection scope of the present invention should be as the criterion with the protection range of claim.

Claims (10)

1. a method that realizes the up-downgoing data separating is characterized in that, comprising:
Load equalizer obtains the relevant information that communicates by transport layer protocol between itself and client, the server, and this relevant information comprises IP address and port information, and described load equalizer sends to described server with this relevant information;
After described load equalizer receives the packet of described client by the transport layer protocol transmission, according to described relevant information described packet is transmitted to described server, described server directly sends to described client according to described relevant information with packet.
2. method according to claim 1, it is characterized in that, described load equalizer obtains the relevant information that communicates by transport layer protocol between itself and client, the server, this relevant information comprises address and port information, described load equalizer sends to server with this relevant information, specifically comprises:
After load equalizer receives the packet that client sends by transport layer protocol, from this packet, extract and client between the relevant information of communicating by letter, this relevant information is stored in the data structure;
Described load equalizer is according to the loading condition of the content in the described packet, server and the request content distribution situation in the server, select server for described client, send packet by described transport layer protocol to described server, from the packet that server returns, extract and server between the relevant information that communicates, this relevant information is stored in the described data structure;
Described load equalizer sends to described server by described transmission control protocol with described data structure.
3. method according to claim 2 is characterized in that, when communicating by transmission control protocol TCP between load equalizer and client, the server, described relevant information comprises:
The IP address of client and the initial sequence number of port, client, load equalizer carry out port that TCP is connected, load equalizer with server and carry out port, the IP address of server and the initial sequence number of port, server that TCP connects, the state that TCP is connected with client.
4. method according to claim 2 is characterized in that, when communicating by User Datagram Protoco (UDP) UDP between load equalizer and client, the server, described relevant information comprises:
The IP address of client and port numbers, load equalizer carry out port, load equalizer that UDP communicates by letter with server and carry out the port of UDP communication, the IP address and the port of server with client.
5. according to each described method of claim 1 to 4, it is characterized in that, described load equalizer is transmitted to described server according to described relevant information with described packet after receiving the packet of described client by the transport layer protocol transmission, specifically comprises:
Described load equalizer is inquired about described relevant information according to source IP address, source port and the destination interface of described packet after receiving the packet of described client by the transport layer protocol transmission, obtains the IP address and the port information of corresponding described server;
Described load equalizer is revised as the source IP address of described packet the IP address of load equalizer, the source port of described packet is revised as load equalizer is used for port with server communication, with the IP address that server is revised as in the purpose IP address of described packet, the destination interface of described packet is revised as the port of server;
Described load equalizer is transmitted to described server with amended described packet.
6. method according to claim 5, it is characterized in that, when communicating by TCP between load equalizer and client, the server, the affirmation that described load equalizer also number is revised as the affirmation of described packet described packet number adds the value of being obtained after the difference between the initial sequence number of the initial sequence number of the above server and load equalizer.
7. according to each described method of claim 1 to 4, it is characterized in that described server directly sends to described client according to described relevant information with packet, specifically comprises:
The source IP address of the packet that described server sends as required, source port and the described relevant information of destination interface information inquiry are obtained the address and the port information of corresponding described client;
Described server is revised as the source IP address of described packet the IP address of load equalizer, the source port of described packet is revised as load equalizer is used for port with client communication, the purpose IP address of described packet is revised as the IP address of client, the destination interface of described packet is revised as the port of client, and the sequence number that the sequence number of described packet is revised as described packet deducts the value of being obtained after the difference between the initial sequence number of the initial sequence number of described server and load equalizer;
Described server directly sends to described client with amended described packet.
8. a load equalizer is characterized in that, comprising:
The relevant information processing module is used to obtain the relevant information that communicates by transport layer protocol between itself and client, the server, and this relevant information comprises IP address and port information, and this relevant information is sent to described server;
The packet forwarding module is used for according to described relevant information described packet being transmitted to described server behind the packet that receives described client transmission.
9. load equalizer according to claim 8 is characterized in that, described packet forwarding module specifically comprises:
The server info acquisition module, be used for after receiving the packet of described client by the transport layer protocol transmission, according to the request content of described packet, the loading condition of server and the request content distribution situation in the server, obtain the IP address and the port information of corresponding described server;
Address conversion module, be used for the source IP address of described packet is revised as the IP address of load equalizer, the source port of described packet is revised as load equalizer is used for port with server communication, the purpose IP address of described packet is revised as the IP address of described server, the destination interface of described packet is revised as the port of described server, for the tcp data bag, the affirmation that also affirmation of described tcp data bag number is revised as described tcp data bag number adds the value of being obtained after the difference between the initial sequence number of the initial sequence number of the above server and load equalizer;
The packet sending module is used for amended described packet is transmitted to described server by transport layer protocol.
10. a server is characterized in that, comprising:
Relevant information is preserved module, is used to receive and preserve the relevant information that communicates by transport layer protocol between load equalizer that load equalizer sends over and client, the server, and this relevant information comprises IP address, port numbers and sequence number information;
The client-side information acquisition module, the described relevant information of the packet correspondence that is used for sending is as required preserved the relevant information that module is preserved, and obtains IP address, port numbers and the sequence number information of corresponding described client;
Address conversion module, be used for the source IP address of described packet is revised as the IP address of load equalizer, the source port of described packet is revised as load equalizer is used for port with client communication, the purpose IP address of described packet is revised as the IP address of client, the destination interface of described packet is revised as the port of client, for the tcp data bag, the sequence number that also sequence number of described tcp data bag is revised as described tcp data bag deducts the value of being obtained after the difference between the initial sequence number of the initial sequence number of described server and load equalizer;
The packet sending module is used for amended described packet is directly sent to described client.
CN2008101033933A 2008-04-03 2008-04-03 Apparatus and method for realizing uplink and downlink data separation Expired - Fee Related CN101252591B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101033933A CN101252591B (en) 2008-04-03 2008-04-03 Apparatus and method for realizing uplink and downlink data separation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101033933A CN101252591B (en) 2008-04-03 2008-04-03 Apparatus and method for realizing uplink and downlink data separation

Publications (2)

Publication Number Publication Date
CN101252591A true CN101252591A (en) 2008-08-27
CN101252591B CN101252591B (en) 2011-05-04

Family

ID=39955775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101033933A Expired - Fee Related CN101252591B (en) 2008-04-03 2008-04-03 Apparatus and method for realizing uplink and downlink data separation

Country Status (1)

Country Link
CN (1) CN101252591B (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101808119A (en) * 2010-03-04 2010-08-18 杭州华三通信技术有限公司 Method and equipment for multiple storage array load balancing
WO2011063718A1 (en) * 2009-11-24 2011-06-03 华为技术有限公司 Method, system and load equalizer apparatus for processing request messages
CN102523302A (en) * 2011-12-26 2012-06-27 成都市华为赛门铁克科技有限公司 Load balance method for virtual machine cluster, server and system
CN103220354A (en) * 2013-04-18 2013-07-24 广东宜通世纪科技股份有限公司 Method for achieving load balancing of server cluster
CN103297407A (en) * 2012-03-02 2013-09-11 百度在线网络技术(北京)有限公司 Method and device for transmitting IPv6 address and port of client-side to back-end server
WO2013152614A1 (en) * 2012-04-13 2013-10-17 腾讯科技(深圳)有限公司 System and method for network access based on application layer data
CN103384255A (en) * 2011-12-31 2013-11-06 华为数字技术(成都)有限公司 Load balancing method, server and system for virtual machine cluster
CN103391271A (en) * 2012-05-08 2013-11-13 深圳市腾讯计算机系统有限公司 Method and device for forwarding data packages
CN103491016A (en) * 2012-06-08 2014-01-01 百度在线网络技术(北京)有限公司 Method, system and device for transferring source address in UDP load balancing system
CN103491053A (en) * 2012-06-08 2014-01-01 北京百度网讯科技有限公司 UDP load balancing method, UDP load balancing system and UDP load balancing device
CN103780502A (en) * 2012-10-17 2014-05-07 阿里巴巴集团控股有限公司 System, method and device for data interaction under load balancing
CN103841139A (en) * 2012-11-22 2014-06-04 深圳市腾讯计算机系统有限公司 Data transmission method, device and system
CN104348637A (en) * 2013-07-26 2015-02-11 中国科学院声学研究所 Method for maintaining TCP connection in fault switching
CN107087023A (en) * 2017-04-06 2017-08-22 平安科技(深圳)有限公司 Data forwarding method and system
CN107888643A (en) * 2016-09-30 2018-04-06 北京神州泰岳软件股份有限公司 A kind of UDP load-balancing methods, device and system
CN108123890A (en) * 2016-11-30 2018-06-05 阿里巴巴集团控股有限公司 Chain circuit detecting method, device and electronic equipment in a kind of SiteServer LBS
CN108494757A (en) * 2018-03-14 2018-09-04 武汉大学 A kind of router concealed communication method based on OpenWrt systems
CN108848175A (en) * 2018-06-25 2018-11-20 网宿科技股份有限公司 A kind of method and device creating TCP connection
CN112532534A (en) * 2020-11-25 2021-03-19 腾讯科技(深圳)有限公司 Data transmission method and device and computer readable storage medium
WO2021083284A1 (en) * 2019-10-31 2021-05-06 贵州白山云科技股份有限公司 Load balancing method and apparatus, medium and device
US11310123B2 (en) 2017-11-03 2022-04-19 Huawei Technologies Co., Ltd. Method for managing service in network function virtualization architecture, and apparatus
WO2023232016A1 (en) * 2022-05-31 2023-12-07 华为云计算技术有限公司 Cloud service system and service processing method based on cloud service system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1158615C (en) * 2001-09-06 2004-07-21 华为技术有限公司 Load balancing method and equipment for convective medium server
CN1495634A (en) * 2002-06-27 2004-05-12 上海汉唐科技有限公司 Server clustering load balancing method and system
CN1276629C (en) * 2003-11-21 2006-09-20 清华大学深圳研究生院 Flow-media cluster service content scheduling method based on Netfilter architecture
CN1972311A (en) * 2006-12-08 2007-05-30 华中科技大学 A stream media server system based on cluster balanced load

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011063718A1 (en) * 2009-11-24 2011-06-03 华为技术有限公司 Method, system and load equalizer apparatus for processing request messages
US9357028B2 (en) 2009-11-24 2016-05-31 Huawei Technologies Co., Ltd. Method and system for processing request message, and load balancer device
CN101808119A (en) * 2010-03-04 2010-08-18 杭州华三通信技术有限公司 Method and equipment for multiple storage array load balancing
CN102523302A (en) * 2011-12-26 2012-06-27 成都市华为赛门铁克科技有限公司 Load balance method for virtual machine cluster, server and system
WO2013097484A1 (en) * 2011-12-26 2013-07-04 华为技术有限公司 Method, server and system for balancing loads of virtual machine cluster
CN103384255A (en) * 2011-12-31 2013-11-06 华为数字技术(成都)有限公司 Load balancing method, server and system for virtual machine cluster
CN103384255B (en) * 2011-12-31 2016-08-10 华为数字技术(成都)有限公司 The load-balancing method of cluster virtual machine, server and system
CN103297407B (en) * 2012-03-02 2016-05-25 百度在线网络技术(北京)有限公司 Transmit client ip v6 address and port method and the device to back-end server
CN103297407A (en) * 2012-03-02 2013-09-11 百度在线网络技术(北京)有限公司 Method and device for transmitting IPv6 address and port of client-side to back-end server
WO2013152614A1 (en) * 2012-04-13 2013-10-17 腾讯科技(深圳)有限公司 System and method for network access based on application layer data
CN103379130A (en) * 2012-04-13 2013-10-30 深圳市腾讯计算机系统有限公司 Network access system and method based on application layer data
US9819730B2 (en) 2012-04-13 2017-11-14 Tencent Technology (Shenzhen) Company Limited System and method for network access based on application layer data
CN103391271A (en) * 2012-05-08 2013-11-13 深圳市腾讯计算机系统有限公司 Method and device for forwarding data packages
CN103391271B (en) * 2012-05-08 2015-12-16 深圳市腾讯计算机系统有限公司 Data packet forwarding method and device
CN103491016A (en) * 2012-06-08 2014-01-01 百度在线网络技术(北京)有限公司 Method, system and device for transferring source address in UDP load balancing system
CN103491053A (en) * 2012-06-08 2014-01-01 北京百度网讯科技有限公司 UDP load balancing method, UDP load balancing system and UDP load balancing device
US10135915B2 (en) 2012-10-17 2018-11-20 Alibaba Group Holding Limited System, method and apparatus of data interaction under load balancing
CN103780502A (en) * 2012-10-17 2014-05-07 阿里巴巴集团控股有限公司 System, method and device for data interaction under load balancing
CN103841139A (en) * 2012-11-22 2014-06-04 深圳市腾讯计算机系统有限公司 Data transmission method, device and system
CN103841139B (en) * 2012-11-22 2018-02-02 深圳市腾讯计算机系统有限公司 Transmit the methods, devices and systems of data
CN103220354A (en) * 2013-04-18 2013-07-24 广东宜通世纪科技股份有限公司 Method for achieving load balancing of server cluster
CN104348637A (en) * 2013-07-26 2015-02-11 中国科学院声学研究所 Method for maintaining TCP connection in fault switching
CN107888643A (en) * 2016-09-30 2018-04-06 北京神州泰岳软件股份有限公司 A kind of UDP load-balancing methods, device and system
CN108123890A (en) * 2016-11-30 2018-06-05 阿里巴巴集团控股有限公司 Chain circuit detecting method, device and electronic equipment in a kind of SiteServer LBS
CN107087023A (en) * 2017-04-06 2017-08-22 平安科技(深圳)有限公司 Data forwarding method and system
CN107087023B (en) * 2017-04-06 2019-11-05 平安科技(深圳)有限公司 Data forwarding method and system
US10693785B2 (en) 2017-04-06 2020-06-23 Ping An Technology (Shenzhen) Co., Ltd. Method and system for forwarding data, virtual load balancer, and readable storage medium
US11310123B2 (en) 2017-11-03 2022-04-19 Huawei Technologies Co., Ltd. Method for managing service in network function virtualization architecture, and apparatus
CN108494757A (en) * 2018-03-14 2018-09-04 武汉大学 A kind of router concealed communication method based on OpenWrt systems
CN108848175A (en) * 2018-06-25 2018-11-20 网宿科技股份有限公司 A kind of method and device creating TCP connection
WO2021083284A1 (en) * 2019-10-31 2021-05-06 贵州白山云科技股份有限公司 Load balancing method and apparatus, medium and device
CN112532534A (en) * 2020-11-25 2021-03-19 腾讯科技(深圳)有限公司 Data transmission method and device and computer readable storage medium
CN112532534B (en) * 2020-11-25 2024-04-23 腾讯科技(深圳)有限公司 Data transmission method, device and computer readable storage medium
WO2023232016A1 (en) * 2022-05-31 2023-12-07 华为云计算技术有限公司 Cloud service system and service processing method based on cloud service system

Also Published As

Publication number Publication date
CN101252591B (en) 2011-05-04

Similar Documents

Publication Publication Date Title
CN101252591B (en) Apparatus and method for realizing uplink and downlink data separation
CN110121059B (en) Monitoring video processing method, device and storage medium
CN109525460B (en) Method and device for monitoring number resources of video network
CN109474715B (en) Resource configuration method and device based on video network
WO2001055863A1 (en) A system and method for performing broadcast-enabled disk drive replication in a distributed data delivery network
US20200021859A1 (en) Multicast implementation method and related network device
CN102325124B (en) A kind of application identification Apparatus and method for supporting drainage function
CN108632559B (en) A kind of video data handling procedure and device
CN101997822A (en) Streaming media content delivery method, system and equipment
CN108989837A (en) A kind of method and apparatus of picture interception
CN108307212B (en) A kind of file order method and device
CN110062295A (en) A kind of file resource acquisition methods and system
CN110381119A (en) A kind of acquisition methods of log information, system and device and storage medium
CN110113558A (en) Data processing method, device, system and computer readable storage medium
CN101262413B (en) Method, system and device for media buffer
CN110502548A (en) A kind of search result recommended method, device and computer readable storage medium
CN110213334A (en) A kind of transmission method and device of shared file
CN104469538B (en) RTP video streaming data packet recombination methods towards picture image quality compared with small loss
US20140380395A1 (en) Gateway, and method, computer program and storage means corresponding thereto
CN109768986A (en) A kind of method and apparatus of response view networking service demand signalling
CN102761608A (en) UDP (User Datagram Protocol) conversation multiplexing method and load balancing equipment
CN109347930A (en) A kind of task processing method and device
CN111212255B (en) Monitoring resource obtaining method and device and computer readable storage medium
CN110446058B (en) Video acquisition method, system, device and computer readable storage medium
CN109889380A (en) A kind of transmission rate processing method and system of data packet

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110504

Termination date: 20150403

EXPY Termination of patent right or utility model