CN101252591B - Apparatus and method for realizing uplink and downlink data separation - Google Patents
Apparatus and method for realizing uplink and downlink data separation Download PDFInfo
- Publication number
- CN101252591B CN101252591B CN2008101033933A CN200810103393A CN101252591B CN 101252591 B CN101252591 B CN 101252591B CN 2008101033933 A CN2008101033933 A CN 2008101033933A CN 200810103393 A CN200810103393 A CN 200810103393A CN 101252591 B CN101252591 B CN 101252591B
- Authority
- CN
- China
- Prior art keywords
- server
- data packet
- client
- load balancer
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000000926 separation method Methods 0.000 title claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 12
- 238000012790 confirmation Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 230000010365 information processing Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种实现上下行数据分离的方法和装置。该方法主要包括:负载均衡器获取其和客户端、服务器之间通过传输层协议进行通信的相关信息,该相关信息包括IP地址和端口信息,所述负载均衡器将该相关信息发送给所述服务器;所述负载均衡器接收到所述客户端通过传输层协议发送的数据包后,根据所述相关信息将所述数据包转发给所述服务器,所述服务器根据所述相关信息将数据包直接发送给所述客户端。利用本发明,可以实现应用了负载均衡器的IPTV等集群系统中上行数据和下行数据的分离,减轻了负载均衡器的压力,大大提高了系统的健壮性。
The invention provides a method and device for realizing the separation of uplink and downlink data. The method mainly includes: the load balancer obtains information related to communication between the load balancer and the client and the server through the transport layer protocol, the related information includes IP address and port information, and the load balancer sends the related information to the Server; after the load balancer receives the data packet sent by the client through the transport layer protocol, it forwards the data packet to the server according to the relevant information, and the server forwards the data packet according to the relevant information directly to the client. The present invention can realize the separation of uplink data and downlink data in cluster systems such as IPTV where the load balancer is applied, reduces the pressure of the load balancer, and greatly improves the robustness of the system.
Description
技术领域technical field
本发明涉及网络通信领域,尤其涉及一种实现上下行数据分离的方法和装置。The invention relates to the field of network communication, in particular to a method and device for realizing the separation of uplink and downlink data.
背景技术Background technique
随着经济和技术的快速发展,Internet(因特网)以其丰富的资源、个性化的服务以及方便的交互性,给人们的工作、生活和娱乐带来了巨大的变化。随着时代的不断进步,人们希望在任何时候、任何地点观看他们喜欢的电视节目,并且希望实现媒体提供者和媒体消费者之间的真实互动。因此,传统电视技术的定时和单向广播的业务功能已经不能满足人们的上述需求。在这种情况下,IPTV(交互式网络电视)技术应运而生。With the rapid development of economy and technology, the Internet (Internet) has brought great changes to people's work, life and entertainment with its rich resources, personalized service and convenient interaction. With the continuous progress of the times, people hope to watch their favorite TV programs anytime and anywhere, and hope to realize the real interaction between media providers and media consumers. Therefore, the timing of traditional TV technology and the service function of one-way broadcasting can no longer meet the above-mentioned needs of people. In this case, IPTV (Interactive Internet Television) technology came into being.
IPTV是一种基于Internet的新兴技术,是一种个性化、交互式服务的崭新媒体形态。它是一种利用宽带网络的基础设施,以家用电视机(或者计算机)作为主要终端设备,集Internet、多媒体和通信等多种技术于一体,通过Internet协议向家庭用户提供包括数字电视在内的多种交互式数字媒体服务的新技术。它融合了传统电视技术和宽带互联网的相关特性,将以通信为导向的业务和以内容为导向的业务紧密结合在一起。它不仅可以使用户能够接收广播信号,而且可以使用户和内容提供商实现互动,还可以非常容易地将电视服务、Internet浏览以及多种在线信息咨询、娱乐、教育等功能结合在一起,实现电信网、有线电视网和Internet网的“三网融合”。IPTV is a new Internet-based technology and a brand-new media form of personalized and interactive services. It is an infrastructure that utilizes broadband networks, uses home TVs (or computers) as the main terminal equipment, integrates various technologies such as the Internet, multimedia, and communications, and provides home users with digital TVs including digital TVs through the Internet protocol. New technologies for various interactive digital media services. It combines traditional TV technology and related characteristics of broadband Internet, and closely combines communication-oriented services and content-oriented services. It not only enables users to receive broadcast signals, but also allows users to interact with content providers. It can also easily combine TV services, Internet browsing, and a variety of online information consultation, entertainment, education and other functions to realize telecommunications. Network, cable TV network and Internet network "triple play".
由于IPTV主要为用户提供流媒体服务,需要耗费大量的带宽资源,服务端需要具有长期忍受大负荷压力的能力,因此,IPTV对服务器端的处理能力和网络带宽的要求比对传统的Web服务器端的要求要高得多。目前,IPTV的服务器端主要采用集群系统,即用集群系统给大量用户提供流媒体服务。在集群系统中,由于服务器的处理能力(包括I/O能力、CPU处理速度和内存大小)存在限制,每个集群节点的网络带宽也是有限制的。因此,如何将集群系统中的每一个集群节点协调起来,使其成为一个有机的整体,来为短期和长期的用户提供服务是非常重要的。而负载均衡技术是解决这一问题的有效途径。通过负载均衡技术,可以根据用户的请求内容以及集群系统中各个集群节点的负载状况,合理的选择节点为用户的请求提供服务,从而可以大幅提高用户获取数据的速度,解决海量数据并发的问题。Because IPTV mainly provides streaming media services for users, it needs to consume a lot of bandwidth resources, and the server needs to have the ability to endure heavy load pressure for a long time. Therefore, the requirements of IPTV for the processing capacity and network bandwidth of the server are compared with those of the traditional Web server. much higher. At present, the server side of IPTV mainly adopts the trunking system, that is, the trunking system is used to provide streaming media services to a large number of users. In the cluster system, due to the limitation of the processing capability of the server (including I/O capability, CPU processing speed and memory size), the network bandwidth of each cluster node is also limited. Therefore, how to coordinate each cluster node in the cluster system to make it an organic whole to provide services for short-term and long-term users is very important. The load balancing technology is an effective way to solve this problem. Through the load balancing technology, according to the content of the user's request and the load status of each cluster node in the cluster system, a reasonable node is selected to provide services for the user's request, which can greatly improve the speed of the user's data acquisition and solve the problem of massive data concurrency.
在IPTV系统中,主要采用一个单独的负载均衡器来实现负载均衡。从数据的流向来看,从客户端到集群节点的上行数据(例如控制信息等)的数据量较小,而从集群节点到客户端的下行数据(例如RTP数据包等)的数据量非常大。对于客户端而言,整个负载均衡系统只有负载均衡器可见,如果所有用户的上行数据和下行数据都经过负载均衡器来转发,那么负载均衡器将承受长时间、高负荷的压力,这样,负载均衡器将成为整个IPTV系统的瓶颈。In the IPTV system, a separate load balancer is mainly used to achieve load balancing. From the perspective of data flow, the amount of uplink data (such as control information, etc.) from the client to the cluster node is small, while the amount of downlink data (such as RTP data packets, etc.) from the cluster node to the client is very large. For the client, only the load balancer is visible in the entire load balancing system. If all users' uplink data and downlink data are forwarded by the load balancer, the load balancer will be under long-term and high-load pressure. In this way, the load The equalizer will become the bottleneck of the entire IPTV system.
发明内容Contents of the invention
本发明实施例的目的是提供一种实现上下行数据分离的方法和装置,从而可以解决现有技术方案中不能应用于各种复杂测试环境、需要人工参与的问题。The purpose of the embodiments of the present invention is to provide a method and device for realizing the separation of uplink and downlink data, so as to solve the problems in the prior art solutions that cannot be applied to various complex test environments and require manual participation.
本发明实施例的目的是通过以下技术方案实现的:The purpose of the embodiments of the present invention is achieved through the following technical solutions:
一种实现上下行数据分离的方法,包括:A method for realizing the separation of uplink and downlink data, comprising:
负载均衡器获取其和客户端、服务器之间通过传输层协议进行通信的相关信息,该相关信息包括IP地址和端口信息,所述负载均衡器将该相关信息发送给所述服务器;The load balancer obtains relevant information about communicating with the client and the server through the transport layer protocol, the relevant information includes IP address and port information, and the load balancer sends the relevant information to the server;
所述负载均衡器接收到所述客户端通过传输层协议发送的数据包后,根据所述相关信息将所述数据包转发给所述服务器,所述服务器根据所述相关信息将数据包直接发送给所述客户端。After receiving the data packet sent by the client through the transport layer protocol, the load balancer forwards the data packet to the server according to the relevant information, and the server directly sends the data packet according to the relevant information to the client.
一种负载均衡器,包括:A load balancer comprising:
相关信息处理模块,用于获取其和客户端、服务器之间通过传输层协议进行通信的相关信息,该相关信息包括IP地址和端口信息,将该相关信息发送给所述服务器;A related information processing module is used to obtain related information communicated with the client and the server through the transport layer protocol, the related information includes IP address and port information, and sends the related information to the server;
数据包转发模块,用于在接收到所述客户端发送的数据包后,根据所述相关信息将所述数据包转发给所述服务器。The data packet forwarding module is configured to forward the data packet to the server according to the relevant information after receiving the data packet sent by the client.
一种服务器,包括:A server comprising:
相关信息保存模块,用于接收并保存负载均衡器发送过来的负载均衡器和客户端、服务器之间通过传输层协议进行通信的相关信息,该相关信息包括IP地址、端口号和序列号信息;The relevant information storage module is used to receive and store the relevant information about the communication between the load balancer, the client and the server through the transport layer protocol sent by the load balancer, and the relevant information includes IP address, port number and serial number information;
客户端信息获取模块,用于根据需要发出的数据包对应的所述相关信息保存模块中保存的相关信息,获取对应的所述客户端的IP地址、端口号和序列号信息;The client information acquisition module is used to obtain the corresponding IP address, port number and serial number information of the client according to the relevant information stored in the relevant information storage module corresponding to the data packet sent as needed;
地址转换模块,用于将所述数据包的源IP地址修改为负载均衡器的IP地址,将所述数据包的源端口修改为负载均衡器用于和客户端通信的端口,将所述数据包的目的IP地址修改为客户端的IP地址,将所述数据包的目的端口修改为客户端的端口,对于TCP数据包,还将所述TCP数据包的序列号修改为所述TCP数据包的序列号减去所述服务器的初始序列号和负载均衡器的初始序列号之间的差值之后所获取的值;The address conversion module is used to modify the source IP address of the data packet to the IP address of the load balancer, modify the source port of the data packet to a port used by the load balancer for communicating with the client, and convert the data packet Modify the destination IP address of the client to the IP address of the client, modify the destination port of the data packet to the port of the client, and for the TCP data packet, also modify the serial number of the TCP data packet to the serial number of the TCP data packet the value obtained after subtracting the difference between the server's initial sequence number and the load balancer's initial sequence number;
数据包发送模块,用于将修改后的所述数据包直接发送给所述客户端。A data packet sending module, configured to directly send the modified data packet to the client.
由上述本发明实施例提供的技术方案可以看出,本发明实现了应用了负载均衡器的IPTV等集群系统中上行数据和下行数据的分离,减轻了负载均衡器的压力,大大提高了系统的健壮性。It can be seen from the technical solutions provided by the above-mentioned embodiments of the present invention that the present invention realizes the separation of uplink data and downlink data in cluster systems such as IPTV using a load balancer, reduces the pressure on the load balancer, and greatly improves the performance of the system. robustness.
附图说明Description of drawings
图1为以TCP为例,本发明实施例所述实现上下行数据分离的方法的原理示意图;FIG. 1 is a schematic diagram of a method for realizing separation of uplink and downlink data according to an embodiment of the present invention, taking TCP as an example;
图2为以TCP为例,本发明实施例所述实现上下行数据分离的方法的具体处理流程图;Fig. 2 is a specific processing flowchart of the method for realizing the separation of uplink and downlink data described in the embodiment of the present invention, taking TCP as an example;
图3为以UDP为例,本发明实施例所述实现上下行数据分离的方法的原理示意图;FIG. 3 is a schematic diagram of a method for separating uplink and downlink data according to an embodiment of the present invention, taking UDP as an example;
图4为以UDP为例,本发明实施例所述实现上下行数据分离的方法的具体处理流程图;Fig. 4 is a specific processing flowchart of the method for realizing the separation of uplink and downlink data described in the embodiment of the present invention, taking UDP as an example;
图5为本发明实施例提供的实现上下行数据分离的负载均衡器的一种实施例的结构示意图;FIG. 5 is a schematic structural diagram of an embodiment of a load balancer for realizing separation of uplink and downlink data provided by an embodiment of the present invention;
图6为本发明实施例提供的实现上下行数据分离的服务器的一种实施例的结构示意图。FIG. 6 is a schematic structural diagram of an embodiment of a server for realizing separation of uplink and downlink data provided by an embodiment of the present invention.
具体实施方式Detailed ways
在本发明实施例中,为了实现在传输层实现集群系统的上行数据和下行数据的分离,负载均衡器首先需要获取其和客户端、服务器之间通过传输层协议进行通信的相关信息,该相关信息包括IP地址和端口信息,所述负载均衡器将该相关信息发送给所述服务器。所述服务器将该相关信息保存。In the embodiment of the present invention, in order to realize the separation of uplink data and downlink data of the cluster system at the transport layer, the load balancer first needs to obtain relevant information about communication between it and the client and server through the transport layer protocol. The information includes IP address and port information, and the load balancer sends the relevant information to the server. The server saves the relevant information.
所述负载均衡器接收到所述客户端通过传输层协议发送的数据包后,根据所述数据包的请求内容、服务器的负载情况和请求内容在服务器集群中的分布情况,获取对应的所述服务器的IP地址和端口信息。所述负载均衡器将所述数据包的源IP地址修改为负载均衡器的IP地址,将所述数据包的源端口修改为负载均衡器用于和服务器通信的端口,将所述数据包的目的IP地址修改为服务器的IP地址,将所述数据包的目的端口修改为服务器的端口,对于TCP数据包,还将所述TCP数据包的确认号修改为所述TCP数据包的确认号加上所述服务器的初始序列号和负载均衡器的初始序列号之间的差值之后所获取的值。所述负载均衡器将修改后的所述数据包通过传输层协议转发给所述服务器。After the load balancer receives the data packet sent by the client through the transport layer protocol, according to the request content of the data packet, the load condition of the server and the distribution of the request content in the server cluster, obtain the corresponding Server IP address and port information. The load balancer modifies the source IP address of the data packet to the IP address of the load balancer, modifies the source port of the data packet to the port used by the load balancer to communicate with the server, and changes the purpose of the data packet to Modify the IP address to the IP address of the server, modify the destination port of the data packet to the port of the server, and for the TCP data packet, also modify the confirmation number of the TCP data packet to the confirmation number of the TCP data packet plus The value obtained after the difference between the server's initial sequence number and the load balancer's initial sequence number. The load balancer forwards the modified data packet to the server through a transport layer protocol.
所述服务器根据需要发出的数据包对应的所述保存的相关信息,获取对应的所述客户端的IP地址和端口信息。所述服务器将所述数据包的源IP地址修改为负载均衡器的IP地址,将所述数据包的源端口修改为负载均衡器用于和客户端通信的端口,将所述数据包的目的IP地址修改为客户端的IP地址,将所述数据包的目的端口修改为客户端的端口,对于TCP数据包,还将所述TCP数据包的序列号修改为所述TCP数据包的序列号减去所述服务器的初始序列号和负载均衡器的初始序列号之间的差值之后所获取的值。所述服务器将修改后的所述数据包直接发送给所述客户端。The server obtains the corresponding IP address and port information of the client according to the stored relevant information corresponding to the data packets to be sent. The server modifies the source IP address of the data packet to the IP address of the load balancer, modifies the source port of the data packet to the port used by the load balancer to communicate with the client, and modifies the destination IP address of the data packet to The address is modified to the IP address of the client, the destination port of the data packet is modified to the port of the client, and for the TCP data packet, the serial number of the TCP data packet is also modified to be the serial number of the TCP data packet minus the The value obtained after the difference between the server's initial sequence number and the load balancer's initial sequence number. The server directly sends the modified data packet to the client.
上述传输层协议主要包括:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)两种,下面分别以TCP和UDP为例来说明本发明所述方法。Above-mentioned transport layer agreement mainly comprises: TCP (Transmission Control Protocol, Transmission Control Protocol) and UDP (User Datagram Protocol, User Datagram Protocol) two kinds, take TCP and UDP as examples below to illustrate the method of the present invention respectively.
以TCP为例,本发明实施例所述实现上下行数据分离的方法的原理示意图如图1所示,具体处理流程如图2所示,包括如下步骤:Taking TCP as an example, the schematic diagram of the principle of the method for realizing the separation of uplink and downlink data according to the embodiment of the present invention is shown in Figure 1, and the specific processing flow is shown in Figure 2, including the following steps:
步骤21、客户端和负载均衡器之间通过三次握手建立TCP连接,负载均衡器建立数据结构TCP_CONDITION来保存TCP连接的相关信息。Step 21: The client and the load balancer establish a TCP connection through a three-way handshake, and the load balancer establishes a data structure TCP_CONDITION to store information about the TCP connection.
客户端首先向负载均衡器发送用于建立TCP连接的第一个握手数据包,负载均衡器上的Netfilter(网络过滤器)的LOCAL_IN钩子捕获该的第一个握手数据包后,并不把该数据包交给系统的TCP/IP协议栈,而是分析其IP头和TCP头,从该IP头和TCP头中提出客户端和负载均衡器之间的TCP连接的相关信息,该相关信息可以包括:客户端源IP、客户端源端口、客户端发起连接时的初始序列号、负载均衡器所选的用于同客户端进行TCP连接的端口、客户端和负载均衡器之间的TCP的状态等。The client first sends the first handshake packet for establishing a TCP connection to the load balancer. After the LOCAL_IN hook of the Netfilter (network filter) on the load balancer captures the first handshake packet, it does not send the The data packet is delivered to the TCP/IP protocol stack of the system, but its IP header and TCP header are analyzed, and the relevant information of the TCP connection between the client and the load balancer is proposed from the IP header and TCP header, and the relevant information can be Including: client source IP, client source port, initial sequence number when the client initiates a connection, port selected by the load balancer for TCP connection with the client, TCP connection between the client and the load balancer status etc.
负载均衡器还建立一个数据结构TCP_CONDITION,用来保存上述提取出来的TCP连接的相关信息。然后,负载均衡器向客户端返回应答数据包,客户端接收到该应答数据包后,向负载均衡器返回应答数据包。The load balancer also establishes a data structure TCP_CONDITION, which is used to save the relevant information of the extracted TCP connection. Then, the load balancer returns a response data packet to the client, and after receiving the response data packet, the client returns a response data packet to the load balancer.
客户端在收到来自负载均衡器的应答数据包之后,向负载均衡器发送确认数据包,该数据包同样被负载均衡器上的Netfilter的LOCAL_IN钩子捕获并丢弃,至此,客户端和负载均衡器之间的TCP连接便建立完成。After receiving the response packet from the load balancer, the client sends a confirmation packet to the load balancer, which is also captured and discarded by the LOCAL_IN hook of Netfilter on the load balancer. So far, the client and the load balancer The TCP connection between them is established.
步骤22、负载均衡器通过三次握手建立和多媒体服务器之间的TCP连接,将该TCP连接的相关信息也保存在上述TCP_CONDITION中。Step 22, the load balancer establishes a TCP connection with the multimedia server through a three-way handshake, and saves the relevant information of the TCP connection in the above-mentioned TCP_CONDITION.
客户端向负载均衡器发送数据请求包,该数据请求包被负载均衡器上的Netfilter捕获后,扣下该数据包。依据该数据请求包的内容(如影片名等)和负载均衡器收集到的各个多媒体服务器(即集群节点)的负载信息,选择一台合适的多媒体服务器来为上述客户端服务。负载均衡器需要记下该多媒体服务器的IP地址和端口号。The client sends a data request packet to the load balancer. After the data request packet is captured by the Netfilter on the load balancer, the data packet is withheld. According to the content of the data request packet (such as movie name, etc.) and the load information of each multimedia server (ie cluster node) collected by the load balancer, a suitable multimedia server is selected to serve the above-mentioned client. The load balancer needs to note down the IP address and port number of the multimedia server.
然后,负载均衡器通过三次握手建立和上述多媒体服务器之间的TCP连接,将该TCP连接的相关信息也保存在上述TCP_CONDITION中。对于负载均衡器到多媒体服务器的TCP连接,负载均衡器采用的初始序列号为客户端与负载均衡器建立的TCP连接中客户端采用的序列号。Then, the load balancer establishes a TCP connection with the above-mentioned multimedia server through a three-way handshake, and saves relevant information of the TCP connection in the above-mentioned TCP_CONDITION. For the TCP connection from the load balancer to the multimedia server, the initial sequence number used by the load balancer is the sequence number used by the client in the TCP connection established between the client and the load balancer.
于是,上述TCP_CONDITION中包含如下参数:Therefore, the above TCP_CONDITION contains the following parameters:
saddr;//客户端源IP;saddr;//Client source IP;
sport;//客户端源端口;sport;//Client source port;
ClientSourceseq;//客户端发起连接时的初始序列号;ClientSourceseq;//The initial sequence number when the client initiates a connection;
diff;//多媒体服务器的初始序列号与负载均衡器同客户端建立TCP连接时候负载均衡器所采用的初始列号的差值;diff;//The difference between the initial serial number of the multimedia server and the initial column number used by the load balancer when the load balancer establishes a TCP connection with the client;
port_connect_server;//负载均衡器所选的用于同多媒体服务器进行TCP连接的端口;port_connect_server; //The port selected by the load balancer for TCP connection with the multimedia server;
port_connect_client;//负载均衡器所选的用于同客户端进行TCP连接的端口;port_connect_client; //The port selected by the load balancer for TCP connection with the client;
daddr;//负均衡器选定的目标多媒体服务器的IP地址;daddr; //The IP address of the target multimedia server selected by the negative balancer;
dport;//负载均衡器选定的目标多媒体服务器的端口号;dport; //The port number of the target multimedia server selected by the load balancer;
ServerSourceseq;//服务器选用的初始序列号;ServerSourceseq;//The initial sequence number selected by the server;
tcpstatus;//该TCP连接的状态;tcpstatus;//The status of the TCP connection;
ClientFinACK;//一个用于结束TCP连接的数值,只有当客户端收到的ACK大于这个值才认为服务器确认客户端完成,此时可以安全关闭该TCP连接;ClientFinACK;//A value used to end the TCP connection. Only when the ACK received by the client is greater than this value, the server considers that the client is complete, and the TCP connection can be closed safely at this time;
ServerFinACK;//一个用于结束TCP连接的数值,只有当服务器收到的ACK大于这个值才认为客户端确认服务器完成,此时可以安全关闭该TCP连接;ServerFinACK;//A value used to end the TCP connection. Only when the ACK received by the server is greater than this value, the client considers that the server is confirmed to be completed. At this time, the TCP connection can be closed safely;
其中TCP连接的状态有如下几种:The status of the TCP connection is as follows:
TCPstatus_NEW,表示客户端只是发送了用于建立TCP连接的第一个数据包;TCPstatus_NEW, indicating that the client just sent the first packet for establishing a TCP connection;
TCPstatus_CLIENTCONNECTOK,表示客户端已经发送了握手的第三个数据包,客户端可以接受和发送信息;TCPstatus_CLIENTCONNECTOK, indicating that the client has sent the third data packet of the handshake, and the client can accept and send information;
TCPstatus_SERVERCONNECTOK,表示客户端和服务器端的握手已经完成,可以往服务器端发送信息;TCPstatus_SERVERCONNECTOK, indicating that the handshake between the client and the server has been completed, and information can be sent to the server;
TCPstatus_CLIENT_SET_FIN,表示客户端主动结束,发送了一个FIN报文,等待服务器反应;TCPstatus_CLIENT_SET_FIN, indicating that the client actively terminated, sent a FIN message, and waited for the server to respond;
TCPstatus_SERVER_SET_FIN,表示服务器端主动结束,发送了一个FIN报文,等待客户端反应;TCPstatus_SERVER_SET_FIN, indicating that the server has actively ended and sent a FIN message, waiting for the client to respond;
TCPstatus_CLIENT_SET_FIN_SERVERCLOSE,表示客户端发送了FIN报文,而服务器已经正常结束;TCPstatus_CLIENT_SET_FIN_SERVERCLOSE, indicating that the client has sent a FIN message, but the server has ended normally;
TCPstatus_SERVER_SET_FIN_CLIENTCLOSE,表示服务器发送了FIN报文,而客户端已经正常结束;TCPstatus_SERVER_SET_FIN_CLIENTCLOSE, indicating that the server has sent a FIN message, and the client has ended normally;
TCPstatus_CLIENTCLOSE,表示客户端收到服务器的ACK报文,已经结束,不能再接收数据;TCPstatus_CLIENTCLOSE, indicating that the client has received the ACK message from the server and has ended and can no longer receive data;
TCPstatus_SERVERCLOSE,表示服务器收到客户端的ACK报文,已经结束,不能再接收数据;TCPstatus_SERVERCLOSE, indicating that the server has received the ACK message from the client, and it has ended and can no longer receive data;
TCPstatus_SERVERCLOSE_CLIENTCLOSE,表示两端都已经结束,可以释放连接。TCPstatus_SERVERCLOSE_CLIENTCLOSE, indicating that both ends have ended and the connection can be released.
负载均衡器还将上述TCP_CONDITION中的saddr、sport、port_connect_client等参数进行哈希,生成一个哈希表Hash_CLIENT_BALANCER_TCP。将上述TCP_CONDITION中的daddr、dport、port_connect_server等参数进行哈希,生成另一个哈希表Hash_BALANCER_SERVER_TCP中。将上述两个哈希表和上述TCP_CONDITION进行关联保存。于是,通过上述两个哈希表都能索引出上述TCP_CONDITION。The load balancer also hashes the saddr, sport, port_connect_client and other parameters in the above TCP_CONDITION to generate a hash table Hash_CLIENT_BALANCER_TCP. Hash the daddr, dport, port_connect_server and other parameters in the above TCP_CONDITION to generate another hash table Hash_BALANCER_SERVER_TCP. Store the above two hash tables in association with the above TCP_CONDITION. Therefore, the above TCP_CONDITION can be indexed through the above two hash tables.
步骤23:负载均衡器将上述TCP_CONDITION发送给多媒体服务器,负载均衡器根据该TCP_CONDITION对上行的数据包进行地址转换后,转发给多媒体服务器。多媒体服务器根据该TCP_CONDITION对下行的数据包进行地址转换后,直接发送给客户端。Step 23: The load balancer sends the above TCP_CONDITION to the multimedia server, and the load balancer performs address translation on the uplink data packet according to the TCP_CONDITION, and forwards it to the multimedia server. The multimedia server converts the address of the downlink data packet according to the TCP_CONDITION, and sends it directly to the client.
负载均衡器通过UDP协议,将上述TCP_CONDITION发送给多媒体服务器。同时在负载均衡器启动超时重传机制,以确保包含TCP_CONDITION的信息的数据包能到达多媒体服务器,而多媒体服务器会把收到的TCP_CONDITION保存下来。The load balancer sends the above TCP_CONDITION to the multimedia server through the UDP protocol. At the same time, the timeout retransmission mechanism is started on the load balancer to ensure that the data packet containing the TCP_CONDITION information can reach the multimedia server, and the multimedia server will save the received TCP_CONDITION.
客户端发送给多媒体服务器的上行的数据包首先发送给负载均衡器,负载均衡器上的Netfilter捕获到该数据包后,对其saddr、sport、port_connect_client进行哈希,根据在上述哈希表Hash_CLIENT_BALANCER_TCP中找到上述TCP_CONDITION。依据上述TCP_CONDITION,将该数据包的源IP改为负载均衡器的IP,源端口号改为port_connect_server,目标IP改为daddr,目标端口改为dport,将确认序列号加上diff的值。在重新计算校验和后,将修改后的数据请求包通过TCP协议发送给多媒体服务器。The upstream data packet sent by the client to the multimedia server is first sent to the load balancer. After the Netfilter on the load balancer captures the data packet, it hashes its saddr, sport, port_connect_client, according to the above hash table Hash_CLIENT_BALANCER_TCP Find the above TCP_CONDITION. According to the above TCP_CONDITION, change the source IP of the packet to the IP of the load balancer, the source port number to port_connect_server, the destination IP to daddr, the destination port to dport, and add the value of diff to the confirmation sequence number. After the checksum is recalculated, the modified data request packet is sent to the multimedia server through the TCP protocol.
负载均衡器进行上述处理的目的是为了让多媒体服务器“认为”它收到的数据包都是来自负载均衡器,而与客户端无关,做到了对多媒体服务器的透明。The purpose of the above-mentioned processing by the load balancer is to make the multimedia server "think" that the data packets it receives are from the load balancer, regardless of the client, so that it is transparent to the multimedia server.
多媒体服务器上的Netfilter对所有多媒体服务器发出的所有数据包进行截获和检查,如果是发往负载均衡器的port_connect_server端口的数据包,则对该数据包进行修改,将该数据包的目标IP地址改为saddr,目标端口号改为sport,源IP地址改为负载均衡器的IP,源端口号改为port_connect_client,将该数据包的TCP序列号减去diff的值,其他参数保持不变,在重新计算校验和之后,将该数据包发出。由于该数据包的目标IP和目标端口号都是客户端的IP和端口号,所以这些数据包会经过路由后直接到达客户端,而不会经过负载均衡器。这样就实现了上行数据和下行数据的分离。对于客户端来说,它会“认为”接收到的数据包来自负载均衡器,而与后台的多媒体服务器无关,从而做到了对客户端的透明。Netfilter on the multimedia server intercepts and checks all data packets sent by all multimedia servers. If it is a data packet sent to the port_connect_server port of the load balancer, the data packet is modified, and the destination IP address of the data packet is changed to For saddr, the target port number is changed to sport, the source IP address is changed to the IP of the load balancer, the source port number is changed to port_connect_client, the TCP sequence number of the data packet is subtracted from the value of diff, and other parameters remain unchanged. After calculating the checksum, send the packet. Since the destination IP and destination port number of the data packet are both the IP and port number of the client, these data packets will directly reach the client after being routed without going through the load balancer. In this way, the separation of uplink data and downlink data is realized. For the client, it will "think" that the received data packet comes from the load balancer, and has nothing to do with the background multimedia server, thus achieving transparency to the client.
以UDP为例,本发明实施例所述实现上下行数据分离的方法的原理示意图如图3所示,具体处理流程如图4所示,包括如下步骤:Taking UDP as an example, the principle schematic diagram of the method for realizing the separation of uplink and downlink data according to the embodiment of the present invention is shown in Figure 3, and the specific processing flow is shown in Figure 4, including the following steps:
步骤41、客户端向负载均衡器发送用于数据请求的UDP数据包,负载均衡器建立数据结构UDP_CONDITION来保存和客户端之间的UDP数据包的相关信息。Step 41, the client sends a UDP data packet for data request to the load balancer, and the load balancer establishes a data structure UDP_CONDITION to save the relevant information of the UDP data packet between the client and the client.
客户端首先向负载均衡器发送用于数据请求的UDP数据包,负载均衡器上的Netfilter捕获该UDP数据包后,判断该数据包的传输层协议域,如果认定该数据包是发往负载均衡器特定端口的UDP数据包,便将该UDP数据包扣留下来。负载均衡器提取该UDP数据包的相关信息,该相关信息可以包括:客户端的IP、客户端的端口号、负载均衡器所选的用于同客户端进行通信的端口等。The client first sends a UDP data packet for data requests to the load balancer. After the Netfilter on the load balancer captures the UDP data packet, it judges the transport layer protocol domain of the data packet. If it is determined that the data packet is sent to the load balancer If there is a UDP packet on a specific port of the server, the UDP packet will be withheld. The load balancer extracts relevant information of the UDP data packet, and the relevant information may include: the IP of the client, the port number of the client, the port selected by the load balancer for communicating with the client, and the like.
负载均衡器还建立一个数据结构UDP_CONDITION,用来保存上述提取出来的UDP数据包的相关信息。然后分析UDP报文的请求内容,依据请求内容、服务器当前的负载状况和内容在服务器集群中的分布状况,选择一台合适的多媒体服务器对该请求提供服务,并记录该多媒体服务器的IP地址和端口号,将其保存在数据结构UDP_CONDITION中。The load balancer also establishes a data structure UDP_CONDITION, which is used to save the relevant information of the above-mentioned extracted UDP data packets. Then analyze the request content of the UDP message, select a suitable multimedia server to provide services for the request according to the request content, the current load status of the server and the distribution of the content in the server cluster, and record the IP address and Port number, which is stored in the data structure UDP_CONDITION.
然后,负载均衡器将数据结构UDP_CONDITION通过UDP协议发送给先前选出的多媒体服务器。Then, the load balancer sends the data structure UDP_CONDITION to the previously selected multimedia server through the UDP protocol.
于是,上述UDP CONDITION中包含如下参数:Therefore, the above UDP CONDITION contains the following parameters:
saddr;//客户端的IP;saddr; // client IP;
sport;//客户端的端口号;sport;//The port number of the client;
port_connect_server;//负载均衡器用于和后台多媒体服务器通信的端口号;port_connect_server; //The port number used by the load balancer to communicate with the background multimedia server;
port_connect_client;//负载均衡器用于和客户端通信的端口号;port_connect_client; //The port number used by the load balancer to communicate with the client;
daddr;//多媒体服务器的IP;daddr; //IP of the multimedia server;
dport;//多媒体服务器的端口号。dport;//The port number of the multimedia server.
负载均衡器还将上述UDP_CONDITION中的saddr、sport、port_connect_client等参数进行哈希,生成一个哈希表Hash_CLIENT_BALANCER_UDP。将上述UDP_CONDITION中的daddr、dport、port_connect_server等参数进行哈希,生成另一个哈希表Hash_BALANCER_SERVER_UDP中。将上述两个哈希表和上述UDP_CONDITION进行关联保存。于是,通过上述两个哈希表都能索引出上述UDP_CONDITION。The load balancer also hashes the saddr, sport, port_connect_client and other parameters in the above UDP_CONDITION to generate a hash table Hash_CLIENT_BALANCER_UDP. Hash the daddr, dport, port_connect_server and other parameters in the above UDP_CONDITION to generate another hash table Hash_BALANCER_SERVER_UDP. Associate and save the above two hash tables and the above UDP_CONDITION. Therefore, the above UDP_CONDITION can be indexed through the above two hash tables.
步骤42:负载均衡器将上述UDP_CONDITION发送给多媒体服务器,负载均衡器根据该UDP_CONDITION对上行的数据包进行地址转换后,转发给多媒体服务器。多媒体服务器根据该UDP_CONDITION对下行的数据包进行地址转换后,直接发送给客户端。Step 42: The load balancer sends the above UDP_CONDITION to the multimedia server, and the load balancer performs address translation on the uplink data packet according to the UDP_CONDITION, and forwards it to the multimedia server. The multimedia server converts the address of the downlink data packet according to the UDP_CONDITION and sends it directly to the client.
负载均衡器通过UDP协议,将上述UDP_CONDITION发送给多媒体服务器。同时在负载均衡器启动超时重传机制,以确保包含UDP_CONDITION的信息的数据包能到达多媒体服务器,而多媒体服务器会把收到的UDP_CONDITION保存下来。The load balancer sends the above UDP_CONDITION to the multimedia server through the UDP protocol. At the same time, the timeout retransmission mechanism is started on the load balancer to ensure that the data packet containing the UDP_CONDITION information can reach the multimedia server, and the multimedia server will save the received UDP_CONDITION.
客户端发送给多媒体服务器的上行的UDP数据包首先发送给负载均衡器,负载均衡器上的Netfilter的LOCAL IN钩子捕获到该UDP数据包后,对其saddr、sport、port connect client进行哈希,根据上述哈希表Hash_CLIENT_BALANCER_UDP中找到上述UDP_CONDITION。依据上述UDP_CONDITION,将该数据包的源IP改为负载均衡器的IP,源端口号改为port_connect_server,目标IP改为daddr,目标端口改为dport。在重新计算校验和后,将修改后的UDP数据包发送给多媒体服务器。The uplink UDP packet sent by the client to the multimedia server is first sent to the load balancer. After the LOCAL IN hook of Netfilter on the load balancer captures the UDP packet, it hashes its saddr, sport, port connect client, Find the above UDP_CONDITION according to the above hash table Hash_CLIENT_BALANCER_UDP. According to the above UDP_CONDITION, change the source IP of the packet to the IP of the load balancer, the source port number to port_connect_server, the destination IP to daddr, and the destination port to dport. After the checksum is recalculated, the modified UDP packet is sent to the multimedia server.
负载均衡器进行上述处理的目的是为了让多媒体服务器“认为”它收到的数据包都是来自负载均衡器,而与客户端无关,做到了对多媒体服务器的透明。The purpose of the above-mentioned processing by the load balancer is to make the multimedia server "think" that the data packets it receives are from the load balancer, regardless of the client, so that it is transparent to the multimedia server.
多媒体服务器上的Netfilter的LOCAL_OUT钩子对所有多媒体服务器发出的所有数据包进行截获和检查,如果是发往负载均衡器的port_connect_server端口的UDP数据包,则对该UDP数据包进行修改,将该UDP数据包的目标IP地址改为saddr,目标端口号改为sport,源IP地址改为负载均衡器的IP,源端口号改为port_connect_client,其他参数保持不变,在重新计算校验和之后,将该UDP数据包发出。由于该UDP数据包的目标IP和目标端口号都是客户端的IP和端口号,所以这些数据包会经过路由后直接到达客户端,而不会经过负载均衡器。这样就实现了上行数据和下行数据的分离。对于客户端来说,它会“认为”接收到的数据包来自负载均衡器,而与后台的多媒体服务器无关,从而做到了对客户端的透明。The LOCAL_OUT hook of Netfilter on the multimedia server intercepts and checks all data packets sent by all multimedia servers. If it is a UDP data packet sent to the port_connect_server port of the load balancer, the UDP data packet is modified, and the UDP data packet The destination IP address of the packet is changed to saddr, the destination port number is changed to sport, the source IP address is changed to the IP of the load balancer, the source port number is changed to port_connect_client, and other parameters remain unchanged. After recalculating the checksum, the UDP packets are sent. Since the destination IP and destination port number of the UDP data packet are both the IP and port number of the client, these data packets will directly reach the client after being routed without passing through the load balancer. In this way, the separation of uplink data and downlink data is realized. For the client, it will "think" that the received data packet comes from the load balancer, and has nothing to do with the background multimedia server, thus achieving transparency to the client.
本发明实施例提供的实现上下行数据分离的装置包括负载均衡器和服务器,上述负载均衡器的一种实施例的结构如图5所示,包括如下模块:The device for realizing the separation of uplink and downlink data provided by the embodiment of the present invention includes a load balancer and a server. The structure of an embodiment of the above load balancer is shown in Figure 5, including the following modules:
相关信息处理模块,用于获取其和客户端、服务器之间通过传输层协议进行通信的相关信息,该相关信息包括IP地址和端口信息,将该相关信息发送给所述服务器;A related information processing module is used to obtain related information communicated with the client and the server through the transport layer protocol, the related information includes IP address and port information, and sends the related information to the server;
数据包转发模块,用于在接收到所述客户端通过传输层协议发送的数据包后,根据所述相关信息将所述数据包转发给所述服务器。包括:服务器信息获取模块、地址转换模块和数据包发送模块。The data packet forwarding module is configured to forward the data packet to the server according to the relevant information after receiving the data packet sent by the client through the transport layer protocol. Including: server information acquisition module, address conversion module and data packet sending module.
其中,所述数据包转发模块中的服务器信息获取模块,用于在接收到所述客户端通过传输层协议发送的数据包后,根据所述数据包的请求内容、服务器的负载情况和服务器中的请求内容分布情况,获取对应的所述服务器的IP地址和端口信息;Wherein, the server information acquisition module in the data packet forwarding module is configured to, after receiving the data packet sent by the client through the transport layer protocol, according to the request content of the data packet, the load condition of the server and the distribution of the request content, and obtain the corresponding IP address and port information of the server;
其中,地址转换模块,用于将所述数据包的源IP地址修改为负载均衡器的IP地址,将所述数据包的源端口修改为负载均衡器用于和服务器通信的端口,将所述数据包的目的IP地址修改为所述服务器的IP地址,将所述数据包的目的端口修改为所述服务器的端口,对于TCP数据包,还将所述TCP数据包的确认号修改为所述TCP数据包的确认号加上所述服务器的初始序列号和负载均衡器的初始序列号之间的差值之后所获取的值;Wherein, the address translation module is used to modify the source IP address of the data packet to the IP address of the load balancer, modify the source port of the data packet to the port used by the load balancer to communicate with the server, and convert the data The destination IP address of the packet is modified to the IP address of the server, the destination port of the data packet is modified to the port of the server, and for the TCP data packet, the confirmation number of the TCP data packet is also modified to the TCP The value obtained by adding the difference between the initial sequence number of the server and the initial sequence number of the load balancer to the acknowledgment number of the data packet;
其中,所述数据包转发模块中的数据包发送模块,用于将修改后的所述数据包通过传输层协议转发给所述服务器。Wherein, the data packet sending module in the data packet forwarding module is configured to forward the modified data packet to the server through a transport layer protocol.
上述服务器的一种实施例的结构如图6所示,包括如下模块:The structure of an embodiment of the above-mentioned server is shown in Figure 6, including the following modules:
相关信息保存模块,用于接收并保存负载均衡器发送过来的负载均衡器和客户端、服务器之间通过传输层协议进行通信的相关信息,该相关信息包括IP地址、端口信息和序列号信息;The relevant information storage module is used to receive and store the relevant information about the communication between the load balancer, the client and the server through the transport layer protocol sent by the load balancer, the relevant information includes IP address, port information and serial number information;
客户端信息获取模块,用于根据需要发出的数据包对应的所述相关信息保存模块中保存的相关信息,获取对应的所述客户端的IP地址、端口号和序列号信息;The client information acquisition module is used to obtain the corresponding IP address, port number and serial number information of the client according to the relevant information stored in the relevant information storage module corresponding to the data packet sent as needed;
地址转换模块,用于将所述数据包的源IP地址修改为负载均衡器的IP地址,将所述数据包的源端口修改为负载均衡器用于和客户端通信的端口,将所述数据包的目的IP地址修改为客户端的IP地址,将所述数据包的目的端口修改为客户端的端口,对于TCP数据包,将所述TCP数据包的序列号修改为所述TCP数据包的序列号减去所述服务器的初始序列号和负载均衡器的初始序列号之间的差值之后所获取的值;The address conversion module is used to modify the source IP address of the data packet to the IP address of the load balancer, modify the source port of the data packet to a port used by the load balancer for communicating with the client, and convert the data packet Modify the destination IP address of the client to the IP address of the client, modify the destination port of the data packet to the port of the client, and for the TCP data packet, modify the serial number of the TCP data packet to the serial number of the TCP data packet minus The value obtained after subtracting the difference between the server's initial sequence number and the load balancer's initial sequence number;
数据包发送模块,用于将修改后的所述数据包直接发送给所述客户端。A data packet sending module, configured to directly send the modified data packet to the client.
综上所述,应用本发明所述装置和方法后,实现了应用了负载均衡器的IPTV等集群系统中上行数据和下行数据的分离,减轻了负载均衡器的压力,大大提高了系统的健壮性。In summary, after applying the device and method of the present invention, the separation of uplink data and downlink data in cluster systems such as IPTV using a load balancer has been realized, the pressure on the load balancer has been reduced, and the robustness of the system has been greatly improved. sex.
本发明既实现了服务器对客户端的完全透明,也实现了客户端对多媒体服务器的完全透明。本发明在系统内核分析用户请求的内容,避免了将数据包从内核空间到用户空间的拷贝,大大提高了系统的执行效率。The invention not only realizes the complete transparency of the server to the client, but also realizes the complete transparency of the client to the multimedia server. The invention analyzes the content requested by the user in the system kernel, avoids copying the data packet from the kernel space to the user space, and greatly improves the execution efficiency of the system.
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。The above is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art within the technical scope disclosed in the present invention can easily think of changes or Replacement should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be determined by the protection scope of the claims.
Claims (8)
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 CN101252591A (en) | 2008-08-27 |
CN101252591B true 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) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075409B (en) * | 2009-11-24 | 2013-03-20 | 华为技术有限公司 | Method and system for processing request message as well as load balancer equipment |
CN101808119A (en) * | 2010-03-04 | 2010-08-18 | 杭州华三通信技术有限公司 | Method and equipment for multiple storage array load balancing |
CN102523302B (en) * | 2011-12-26 | 2015-08-19 | 华为数字技术(成都)有限公司 | The load-balancing method of cluster virtual machine, server and system |
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 |
CN103379130A (en) | 2012-04-13 | 2013-10-30 | 深圳市腾讯计算机系统有限公司 | Network access system and method based on application layer data |
CN103391271B (en) * | 2012-05-08 | 2015-12-16 | 深圳市腾讯计算机系统有限公司 | Data packet forwarding method and device |
CN103491053A (en) * | 2012-06-08 | 2014-01-01 | 北京百度网讯科技有限公司 | UDP load balancing method, UDP load balancing system and UDP load balancing device |
CN103491016B (en) * | 2012-06-08 | 2017-11-17 | 百度在线网络技术(北京)有限公司 | Source address transmission method, system and device in UDP SiteServer LBSs |
CN103780502A (en) * | 2012-10-17 | 2014-05-07 | 阿里巴巴集团控股有限公司 | System, method and device for data interaction under load balancing |
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 |
CN104348637B (en) * | 2013-07-26 | 2018-07-03 | 中国科学院声学研究所 | A kind of method that TCP connection is kept in failover |
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 |
CN107087023B (en) | 2017-04-06 | 2019-11-05 | 平安科技(深圳)有限公司 | Data forwarding method and system |
CN108011846B (en) | 2017-11-03 | 2022-07-26 | 华为技术有限公司 | Method and device for managing services in network function virtualization architecture |
CN108494757A (en) * | 2018-03-14 | 2018-09-04 | 武汉大学 | A kind of router concealed communication method based on OpenWrt systems |
CN108848175B (en) * | 2018-06-25 | 2021-11-02 | 网宿科技股份有限公司 | A method and device for creating a TCP connection |
CN112751898B (en) * | 2019-10-31 | 2024-05-14 | 贵州白山云科技股份有限公司 | Load balancing method, device, medium and equipment |
CN112532534B (en) * | 2020-11-25 | 2024-04-23 | 腾讯科技(深圳)有限公司 | Data transmission method, device and computer readable storage medium |
CN114697338A (en) * | 2020-12-28 | 2022-07-01 | 北京金山云网络技术有限公司 | Data transmission method and device for cloud computing and server-side equipment |
CN117201497A (en) * | 2022-05-31 | 2023-12-08 | 华为云计算技术有限公司 | Cloud service system and business processing method based on cloud service system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1403934A (en) * | 2001-09-06 | 2003-03-19 | 华为技术有限公司 | Load balancing method and equipment for convective medium server |
CN1495634A (en) * | 2002-06-27 | 2004-05-12 | 上海汉唐科技有限公司 | Server clustering load balancing method and system |
CN1545275A (en) * | 2003-11-21 | 2004-11-10 | 清华大学深圳研究生院 | 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 |
-
2008
- 2008-04-03 CN CN2008101033933A patent/CN101252591B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1403934A (en) * | 2001-09-06 | 2003-03-19 | 华为技术有限公司 | Load balancing method and equipment for convective medium server |
CN1495634A (en) * | 2002-06-27 | 2004-05-12 | 上海汉唐科技有限公司 | Server clustering load balancing method and system |
CN1545275A (en) * | 2003-11-21 | 2004-11-10 | 清华大学深圳研究生院 | 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 |
Also Published As
Publication number | Publication date |
---|---|
CN101252591A (en) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101252591B (en) | Apparatus and method for realizing uplink and downlink data separation | |
USRE44918E1 (en) | Method and apparatus for equalizing load of streaming media server | |
EP2171600B1 (en) | Assisted peer-to-peer media streaming | |
CN102232286B (en) | Set up network equipment and the method for IPTV session | |
WO2018133454A1 (en) | Method for controlling remote service access path, and relevant apparatus | |
CN106878310B (en) | Method for real-time streaming data distribution in named data network | |
US20070073878A1 (en) | System and method for lowering proxy bandwidth utilization | |
US20080209065A1 (en) | Method for sending stream media, signaling forwarding device and stream media system | |
JP5678198B2 (en) | Mobile Internet service realization method, gateway, proxy and system | |
CN111479121A (en) | Live broadcasting method and system based on streaming media server | |
US20100235464A1 (en) | Handoff and optimization of a network protocol stack | |
KR102324919B1 (en) | Data distribution method and distribution server | |
CN115002023B (en) | Link aggregation method, link aggregation device, electronic equipment and storage medium | |
US20110173248A1 (en) | Method for providing on-path content distribution | |
US20140016532A1 (en) | Multicast transmission using a unicast protocol | |
WO2009092240A1 (en) | A communication device and application method, system thereof | |
CN105897853A (en) | Peer-to-peer network connection method and device | |
US20090106436A1 (en) | Methods and systems for offload processing | |
CN116506369A (en) | A dual-stack network traffic scheduling method | |
JP2011515980A (en) | System and method for querying the status of a peer-to-peer multimedia connection in a communication system | |
CN105100147A (en) | Controlmethod and device based on separation of content provider and service provider | |
CN112788367A (en) | Streaming media scheduling method, system and scheduling component | |
CN112788050A (en) | System and method for realizing low-delay live broadcast based on content distribution network | |
CN110620907A (en) | Monitoring calling method and device, electronic equipment and storage medium | |
Li et al. | Network services and protocols for multimedia communications |
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 |