CN109088892A - 数据传输方法、系统以及代理服务器 - Google Patents
数据传输方法、系统以及代理服务器 Download PDFInfo
- Publication number
- CN109088892A CN109088892A CN201811223257.8A CN201811223257A CN109088892A CN 109088892 A CN109088892 A CN 109088892A CN 201811223257 A CN201811223257 A CN 201811223257A CN 109088892 A CN109088892 A CN 109088892A
- Authority
- CN
- China
- Prior art keywords
- tcp connection
- message
- client
- sequence number
- proxy server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000005540 biological transmission Effects 0.000 title claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 48
- 238000012790 confirmation Methods 0.000 claims description 49
- 238000013507 mapping Methods 0.000 claims description 26
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 239000010410 layer Substances 0.000 description 60
- 230000008569 process Effects 0.000 description 14
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 7
- 101000928956 Homo sapiens Activated CDC42 kinase 1 Proteins 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 238000013268 sustained release Methods 0.000 description 2
- 239000012730 sustained-release form Substances 0.000 description 2
- 101100288236 Arabidopsis thaliana KRP4 gene Proteins 0.000 description 1
- 101100433979 Bos taurus TNK2 gene Proteins 0.000 description 1
- 101000821100 Homo sapiens Synapsin-1 Proteins 0.000 description 1
- 101000821096 Homo sapiens Synapsin-2 Proteins 0.000 description 1
- 102100021905 Synapsin-1 Human genes 0.000 description 1
- 102100021994 Synapsin-2 Human genes 0.000 description 1
- 101100385394 Zea mays ACK2 gene Proteins 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1006—Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明实施方式涉及互联网技术领域,公开了一种数据传输方法、系统以及代理服务器。本发明实施方式中,数据传输方法包括:通过与客户端建立的第一TCP连接,接收客户端发送的请求报文;根据请求报文,选择后端服务器,并与选择的后端服务器建立第二TCP连接;令请求报文携带第一TCP连接的标识信息,并通过第二TCP连接将请求报文发送至后端服务器,供后端服务器根据第一TCP连接的标识信息,将生成的响应报文直接反馈给客户端;其中,第一TCP连接的标识信息中包括客户端的地址。本发明实施方式减少了报文的拷贝次数,降低了代理服务器的CPU资源以及网卡资源的消耗,并降低了服务器集群内部的网络带宽消耗。
Description
技术领域
本发明实施方式涉及互联网技术领域,特别涉及数据传输方法、系统以及代理服务器。
背景技术
随着网站、应用访问量的增加,一台服务器已经不能满足应用的需求,而需要多台服务器集群,这时就会用到应用级代理的负载均衡。即图1所示,代理服务器位于客户端和被访问的后端服务器之间,对于客户端来说代理扮演服务器的角色,对于后端服务器来说代理扮演客户端的角色。其中,客户端首先和代理服务器进行三次握手(SYN1、SYN-ACK1以及ACK1信息交互的过程),建立TCP连接,然后代理服务器选择后端服务器,再和后端服务器进行三次握手(SYN2、SYN-ACK2以及ACK2信息交互的过程),建立TCP连接,连接建立完成后,代理服务器透明的进行数据的双向传递,作为一个中间人协助客户端和后端服务器完成网络通信。
然而,本发明发明人发现,应用级代理的负载均衡虽然保证了现有网络的兼容性,并可以在应用层实现复杂的协议处理,但却牺牲了服务器性能以及内部网络的带宽能力。在应用级代理的负载均衡下,报文存在三次拷贝,分别为后端服务器向代理服务器发送报文过程,代理服务器接收后端服务器报文过程,代理服务器向客户端发送报文过程。这三次拷贝本身不消耗网卡性能,但是伴随着三次收发包的过程,会消耗网卡性能以及网络带宽。并且,对于代理服务器而言,发生一次拷贝的同时伴随着一次内核层到应用层的上下文切换,内存拷贝特别是内核层/应用层之间的内存拷贝,会消耗大量的CPU资源,且上下文切换同样会消耗大量的资源,这个过程明显造成代理服务器的内部性能消耗过大。
发明内容
本发明实施方式的目的在于提供一种数据传输方法、系统及代理服务器,减少了报文的拷贝次数,降低了代理服务器的CPU资源以及网卡资源的消耗,并降低了服务器集群内部的网络带宽消耗。
为解决上述技术问题,本发明的实施方式提供了一种数据传输方法,应用于代理服务器,方法包括:
通过与客户端建立的第一TCP连接,接收客户端发送的请求报文;
根据请求报文,选择后端服务器,并与选择的后端服务器建立第二TCP连接;
令请求报文携带第一TCP连接的标识信息,并通过第二TCP连接将请求报文发送至后端服务器,供后端服务器根据第一TCP连接的标识信息,将生成的响应报文直接反馈给客户端;其中,第一TCP连接的标识信息中包括客户端的地址。
本发明的实施方式还提供了一种数据传输方法,应用于后端服务器,方法包括:
通过与代理服务器建立的第二TCP连接,接收代理服务器发送的请求报文;
根据请求报文中的携带的第一TCP连接的标识信息,将生成的响应报文直接反馈给客户端;其中,第一TCP连接为客户端与代理服务器建立的TCP连接;第一TCP连接的标识信息中包括客户端的地址。
本发明的实施方式还提供了一种代理服务器,包括:
至少一个处理器;以及,
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述应用于代理服务器的数据传输方法。
本发明的实施方式还提供了计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述应用于代理服务器的数据传输方法。
本发明的实施方式还提供了一种数据传输系统,包括:代理服务器以及若干个后端服务器;
代理服务器包括,
接收模块,用于通过与客户端建立的第一TCP连接,接收客户端发送的请求报文;
选择模块,用于根据请求报文,选择后端服务器,并与选择的后端服务器建立第二TCP连接;
前端模块,用于令请求报文携带第一TCP连接的标识信息,并通过第二TCP连接将请求报文发送至后端服务器;
后端服务器包括,
后端模块,用于根据第一TCP连接的标识信息,将生成的响应报文直接反馈给客户端;其中,第一TCP连接的标识信息中包括客户端的地址。
本发明实施方式相对于现有技术而言,代理服务器与客户端、后端服务器建立连接后,代理服务器会修改客户端传输过来的请求报文,令请求报文中携带代理服务器与客户端所建立的连接的标识信息,以便于后端服务器在接收到请求报文时,能够基于请求报文携带的标识信息内的客户端的地址,在不经由代理服务器转发的情况下,将响应报文直接反馈给客户端。通过这种方式,后端服务器的响应报文无需经过代理服务器的应用层和/或内核层进行中转,从而不仅能够降低服务器集群内部的网络带宽消耗、降低代理服务器的网卡资源的消耗,而且能够避免响应报文在代理服务器内的拷贝,达到降低代理服务器的CPU资源的消耗的目的。
另外,令请求报文携带第一TCP连接的标识信息,并通过第二TCP连接将请求报文发送至后端服务器,具体包括:在内核层将第一TCP连接的标识信息写入请求报文的TCP选项,并由内核层通过第二TCP连接将写入有第一TCP连接的标识信息的请求报文发送至后端服务器。这样,代理服务器在内核层实现请求报文的修改以及转发,能够避免请求报文在应用层到内核层的上下文切换,进一步地降低了代理服务器的CPU资源消耗。
另外,由内核层通过第二TCP连接将写入有第一TCP连接的标识信息的请求报文发送至后端服务器后,还包括:由内核层通知应用层释放第一TCP连接以及第二TCP连接对应的资源,从而能及时地释放无用资源,为提高代理服务器的资源利用率提供了基础。
另外,与选择的后端服务器建立第二TCP连接后,还包括:生成第一TCP连接与第二TCP连接的映射逻辑;其中,映射逻辑至少包括第一差值以及第二差值,且第一差值为代理服务器到后端服务器的syn报文的序列号与客户端到代理服务器的syn报文的序列号的差值;第二差值为后端服务器到代理服务器的syn-ack报文的序列号与代理服务器到客户端的syn-ack报文的序列号的差值。这样,解决了客户端到代理服务器所使用的不同序列号的问题,为后续客户端与代理服务器的正常交互提供了基础。
另外,令请求报文携带第一TCP连接的标识信息,并通过第二TCP连接将请求报文发送至后端服务器后,还包括:接收客户端的确认报文;获取确认报文的序列号以及确认报文的确认序列号;将确认报文的序列号与第一差值求和,获取新序列号,并使用新序列号更新确认报文的序列号;以及,将确认报文的确认序列号与第二差值求和,获取新确认序列号,并使用新确认序列号更新确认报文的确认序列号;将更新后的确认报文转发至对应的后端服务器。这样,解决了代理服务器到后端服务器所使用的不同序列号的问题,为后续代理服务器与后端服务器的正常交互提供了基础。
另外,预设时长内未接收到客户端的报文时,在内核层断开第一TCP连接,并删除第一TCP连接的标识信息,从而能及时地释放无用资源,为提高代理服务器的资源利用率提供了基础。
附图说明
一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是现有技术中应用级代理的负载均衡的整体流程图;
图2是第一实施方式中数据传输方法的整体流程图;
图3是第一实施方式中应用于代理服务器的数据传输方法的流程图;
图4是第一实施方式中数据传输方法的整体架构示意图;
图5是第一实施方式中应用于后端服务器的数据传输方法的流程图;
图6是第二实施方式中数据传输方法的整体流程图;
图7是第二实施方式中应用于代理服务器的数据传输方法的流程图;
图8是第二实施方式中数据传输方法的整体架构示意图;
图9是第三实施方式中代理服务器的示意图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种数据传输方法,具体流程如图2所示。本实施方式中的数据传输方法涉及到客户端、代理服务器以及后端服务器,以下对本实施方式中数据传输方法进行具体说明:
本实施方式中,应用于代理服务器的数据传输方法具体流程如图3所示,以下进行具体说明:
代理服务器执行步骤101,通过与客户端建立的第一TCP连接,接收客户端发送的请求报文。
具体地说,客户端通过<ip_client,port_client>与代理服务器<ip_front1,port_front1>进行TCP三次握手,建立第一TCP连接。并且,代理服务器接收客户端发送的请求报文。如,代理服务器接收到的来自客户端的请求报文可以为HTTP请求报文。下文以请求报文为HTTP请求报文为例,对后续步骤进行说明。
代理服务器执行步骤102,根据请求报文,选择后端服务器,并与选择的后端服务器建立第二TCP连接。
具体地说,代理服务器通过<ip_front2,port_front2>与后端服务器<ip_back,port_back>进行TCP三次握手,建立第二TCP连接。由于代理服务器需要对收到的HTTP请求报文进行解析,根据负载均衡算法选择后端服务器,这些步骤是在应用层完成的,因此代理服务器的内核层在接收到请求报文后,需要将接收到的HTTP请求报文上传至应用层,以便于应用层进行后端服务器的选择。其中,代理服务器根据负载均衡算法选择后端服务器已经是相关领域内比较成熟的技术(如,HAProxy、Nginx等),因而本实施方式并不对此进行过多说明。
代理服务器执行步骤103,令请求报文携带第一TCP连接的标识信息,并通过第二TCP连接将请求报文发送至后端服务器。
具体地说,代理服务器生成第一TCP连接的标识信息,第一TCP连接的标识信息可以为端口信息,如,第一TCP连接的标识信息可以为<ip_client,port_client,ip_front1,port_front1>。更具体地说,代理服务器对HTTP请求报文进行修改,将第一TCP连接的标识信息写入HTTP请求报文的TCP选项中,然后将HTTP请求报文通过第二TCP连接将请求报文发送至后端服务器。
本实施方式中,步骤103在代理服务器的内核层实现,即,代理服务器内设有一在内核层的前端模块,该前端模块用于修改请求报文,令请求报文携带第一TCP连接的标识信息,并由该前端模块通过第二TCP连接将请求报文发送至后端服务器,更具体的,后端服务器内设有一在内核层的后端模块,由该内核层的前端模块将请求报文发送至同样位于内核层的后端模块。这样,请求报文直接在代理服务器的内核层直接进行修改,并在内核层中发送至后端服务器,而不经过代理服务器的应用层的处理,避免了数据在应用层与内核层间的上下文切换,有效地降低了代理服务器的CPU资源消耗。
图4清楚明确地示出了本实施方式中客户端、代理服务器与后端服务器之间的信息交互关系。不难看出,客户端与代理服务器建立第一TCP连接后,将HTTP请求报文发送至代理服务器,代理服务器根据请求报文选择后端服务器,与后端服务器建立第二TCP连接。并且,代理服务器的前端模块令请求报文携带第一TCP连接的标识信息,并通过第二TCP连接将请求报文发送至后端服务器的后端模块。其中,后端服务器的后端模块也在内核层,因此,请求报文的传输直接在代理服务器以及后端服务器的内核层实现,有效地降低了整个服务器集群(包括代理服务器以及多个后端服务器的服务器集群)的资源消耗。
需要注意的是,在实际操作时,前端模块还可以伪装成客户端与代理服务器的应用层完成TCP的四次挥手,通知应用层释放第一TCP连接对应的资源、前端模块可以伪装成后端服务器与代理服务器的应用层完成TCP的四次挥手,通知应用层第二TCP连接对应的资源(如,应用层分配的包括socket描述符、存储资源等资源,以便于代理服务器及时地释放无用资源,这样,能够提高代理服务器的资源利用率。同时,上述操作无需涉及客户端与后端服务器,因此该操作相对于客户端与后端服务器而言是透明的。
需要注意的是,由于客户端到代理服务器和代理服务器到后端服务器使用完全不同的序列号,因此必须有一种机制将两个连接上传送的报文的序列号进行互相的转换——映射。所以,代理服务器还生成第一TCP连接与第二TCP连接的映射逻辑。该映射逻辑至少包括第一差值seq_delta1以及第二差值ack_seq_delta1。其中,第一差值为代理服务器到后端服务器的syn报文的序列号与客户端到代理服务器的syn报文的序列号的差值;第二差值为后端服务器到代理服务器的syn-ack报文的序列号与代理服务器到客户端的syn-ack报文的序列号的差值。这样,基于TCP是全双工的通信协议,反方向的处理是对称的这一特点,代理服务器还将生成的第一TCP连接与第二TCP连接的映射逻辑发送后端服务器,以便于后端服务器进行序列号转换,能够保证后续客户端正确接收报文。
以下对应用于后端服务器的数据传输方法的具体实现进行说明,具体流程如图5所示:
后端服务器执行步骤201,通过与代理服务器建立的第二TCP连接,接收代理服务器发送的请求报文。
后端服务器执行步骤202,根据请求报文中的携带的第一TCP连接的标识信息,将生成的响应报文直接反馈给客户端。
具体地说,任何报文都是先到达内核层,再从内核层分发至应用层。因此,后端服务器位于内核层的后端模块接收到代理服务器内核层的前端模块发送的请求报文后,后端服务器内核层的后端模块会将请求报文传输至后端服务器的应用层进行处理,令后端服务器的应用层生成该请求报文对应的响应报文,并且,后端服务器的应用层会将响应报文下发至后端服务器的内核层的后端模块,以便于后端服务器内核层的后端模块将生成的响应报文直接反馈给客户端。
更具体地说,后端模块将生成的响应报文直接反馈给客户端时,后端模块需要对响应报文进行一些处理,如,将响应报文的端口信息由<ip_back,port_back,ip_front2,port_front2>,修改为<ip_front1,port_front1,ip_client,port_client>,即,将响应报文的目的IP地址修改为ip_client,以实现响应报文被直接发送给客户端。并且,对于客户端来说,与客户端建立TCP连接的为代理服务器,因此还需要将响应报文的端口信息修改为<ip_front1,port_front1,ip_client,port_client>,能够令客户端认为响应报文是代理服务器下发的。
需要注意的是,由于客户端到代理服务器和代理服务器到后端服务器使用完全不同的序列号,因此后端服务器在接收到代理服务器发送的第一TCP连接与第二TCP连接的映射逻辑后,在发送响应报文前,后端服务器还修改响应报文的序列号以及确认序列号,以保证客户端数据的准确接收。其中,由于报文的长度不会被修改,因此序列号映射仅仅需要固定的偏移。因此,假设响应报文的序列号为seq,确认序列号为ack_seq,则响应报文的序列号修改为seq与ack_seq_delta1的差值,响应报文的确认序列号修改为ack_seq与seq_delta1的差值。
与现有技术相比,本实施方式中,代理服务器与客户端、后端服务器建立连接后,代理服务器会通过内核层的前端模块修改报文,并直接通过前端模块将请求报文发给后端模块,不经过应用层的处理,避免了数据在应用层与内核层间的上下文切换,有效地降低了代理服务器的CPU资源消耗。并且,代理服务器的前端模块传输过来的请求报文中携带有代理服务器与客户端所建立的连接的标识信息,能够令后端服务器在接收到请求报文时,基于请求报文携带的标识信息内的客户端的地址,将响应报文直接反馈给客户端。通过这种方式,后端服务器的响应报文无需经过代理服务器进行中转,从而不仅能够降低服务器集群内部的网络带宽消耗、降低代理服务器的网卡资源的消耗,减少报文在服务器集群内部的消耗时间,提升服务质量,而且能够避免响应报文在代理服务器内的拷贝,达到降低代理服务器的CPU资源的消耗的目的。
值得一提的是,若本实施方式中的代理服务器在预设时长内未接收到客户端的报文,则代理服务器在内核层断开第一TCP连接,并删除第一TCP连接的标识信息,从而能及时地进行信息更新,释放无用资源,为提高代理服务器存储资源的利用率提供了基础。在实际操作时,代理服务器在删除第一TCP连接的标识信息时,还可以一并删除第一TCP连接与第二TCP连接的映射逻辑,能够进一步地提高代理服务器存储资源的利用率。同理,后端服务器也可以在长时间未收到代理服务器通过第二TCP连接发送的报文时,删除第一TCP连接的标识信息,并删除第一TCP连接与第二TCP连接的映射逻辑,来提高自身存储资源的利用率。其中,预设时长可以由技术人员预设并保存在代理服务器中。
本发明的第二实施方式涉及一种数据传输方法,具体流程如图6示。第二实施方式详述了客户端接收到响应报文后的交互流程,以下进行具体说明:
如图7所示,为应用于代理服务器的数据传输方法具体流程图。其中,流程图7中的步骤301至步骤303与第一实施方式中的步骤101至步骤103大致相同,为减少重复,本实施方式并不对步骤301至步骤303进行详细介绍,本领域技术人员可以参考步骤101至步骤103记载的内容实现步骤301至步骤303,以下仅对步骤304以及步骤305进行具体说明:
步骤304,接收客户端的确认报文。
具体地说,客户端接收到响应报文后,需要回复确认报文,确认报文包含的端口信息为<ip_client,port_client,ip_front1,port_front1>。由于该确认报文的IP地址是ip_front1,所以确认报文首先会被发送到代理服务器。
步骤305,根据预先生成的第一TCP连接与第二TCP连接的映射逻辑,修改确认报文,并将修改后的确认报文转发至对应的后端服务器。
具体地说,代理服务器根据预先生成的第一TCP连接与第二TCP连接的映射逻辑,修改确认报文的方式可以为:假设确认报文序列号为seq1,确认序列号为ack_seq1,则代理服务器将确认报文的序列号修改为seq1+seq_delta1,确认序列号修改为ack_seq1+ack_seq_delta1。
本实施方式中,映射逻辑还可以包括第一TCP连接与第二TCP连接的对应关系。这样,代理服务器还可以根据映射逻辑中的第一TCP连接与第二TCP连接的对应关系,将确认报文的四元组修改为<ip_front2,port_front2,ip_back,port_back>。不难看出,由于修改后的确认报文目的IP地址是ip_back,所以该确认报文被转发到后端服务器。
值得一提的是,若后端服务器发出的FIN报文,则表明后端服务器想要与客户端断开TCP连接,此时后端服务器依旧可以根据映射逻辑将发出的FIN报文进行修改,将修改后的FIN报文转发给客户端,同时反馈给代理服务器,以便于客户端在收到FIN报文后,回复ACK确认报文至代理服务器,令代理服务器根据映射逻辑将客户端发出的ACK确认报文转发给后端服务器,以此类推,从而完成TCP四次挥手,实现第一TCP连接、第二TCP连接在内核层的关闭。
需要注意的是,若第一TCP连接、第二TCP连接在内核层上关闭了,代理服务器还可以激活超时定时器,延迟释放第一TCP连接的标识信息以及第一TCP连接与第二TCP连接的映射逻辑。同时,后端服务器也可以激活超时定时器,延迟释放第一TCP连接的标识信息以及第一TCP连接与第二TCP连接的映射逻辑,从而能够实现各服务器资源的及时清理、释放,提高服务器集群内部的资源利用率。
图8清楚明确地示出了本实施方式中客户端、代理服务器与后端服务器之间的信息交互关系。不难看出,客户端与代理服务器、后端服务器后续的信息交互(步骤304、步骤305)直接在内核层进行路由转发,其工作在网络层,因此极大地节约了CPU资源的使用。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种代理服务器,如图9所示,包括:至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401实现上述应用于代理服务器的数据传输方法。
其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
本发明第四实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述上述应用于代理服务器的数据传输方法。
本发明第五实施方式涉及一种后端服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器实现上述应用于代理服务器的数据传输方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述上述应用于后端服务器的数据传输方法。
本发明第七实施方式涉及一种数据传输系统,包括:代理服务器以及若干个后端服务器。以下进行具体说明:
本实施方式中的代理服务器包括,接收模块,用于通过与客户端建立的第一TCP连接,接收客户端发送的请求报文。选择模块,用于根据请求报文,选择后端服务器,并与选择的后端服务器建立第二TCP连接。前端模块,用于令请求报文携带第一TCP连接的标识信息,并通过第二TCP连接将请求报文发送至后端服务器。
本实施方式中的后端服务器包括,后端模块,用于根据第一TCP连接的标识信息,将生成的响应报文直接反馈给客户端;其中,第一TCP连接的标识信息中包括客户端的地址。
具体地说,前端模块、后端模块均工作在各自服务器的内核层,前端模块在内核层将第一TCP连接的标识信息写入请求报文的TCP选项,并在内核层通过第二TCP连接将写入有第一TCP连接的标识信息的请求报文发送至后端服务器。
更具体地说,后端模块还用于接收代理服务器发送的第一TCP连接与第二TCP连接的映射逻辑。并且,后端模块还用于根据第一TCP连接与第二TCP连接的映射逻辑,修改响应报文,并将响应报文的目的IP修改为客户端的地址。
需要注意的是,前端模块还可以在内核层断开第一TCP连接,并删除第一TCP连接的标识信息;后端模块还用于在内核层断开第二TCP连接,并删除第二TCP连接的标识信。也就是说,当客户端和后端服务器都关闭连接时,前端模块和后端模块需要释放资源并删除连接记录表项,以提高各自服务器的资源利用率。如:
1、后端服务器关闭连接。后端模块在收到FIN报文后记录状态,拷贝FIN报文并转发至前端模块。同时,后端模块修改FIN报文,并将修改的FIN报文直接发送给客户端。前端模块收到FIN报文后记录状态,客户端收到FIN报文后回复ACK确认报文至前端模块,前端模块修改ACK确认报文然后转发到后端模块,实现后端服务器的连接关闭。
2、客户端关闭连接。客户端发送FIN报文到前端模块,前端模块修改FIN报文,并转发到后端模块,前端模块记录状态为连接关闭,且前端模块删除第一TCP连接的标识信息。后端模块接收到FIN报文后,也删除第二TCP连接的标识信息,同时,后端服务器收到FIN报文后回复ACK确认报文,后端模块修改ACK确认报文并直接发送给客户端,实现客户端的连接关闭。
值得一提的是,前端模块和后端模块可以设置超时定时器进行标识信息的延迟删除。如,前端模块记录状态为连接关闭,且前端模块激活超时定时器延迟删除第一TCP连接的标识信息。后端模块接收到FIN报文后,也激活超时定时器延迟删除第二TCP连接的标识信息。当前端模块和后端模块的超时定时器触发,则前端模块删除第一TCP连接的标识信息,后端模块删除第二TCP连接的标识信息。这样,能够令整个服务器集群兼容性较好,容错率较高。
不难发现,本实施方式为与第二实施方式相对应的系统实施例,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
即,本领域技术人员可以理解,实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (15)
1.一种数据传输方法,其特征在于,应用于代理服务器,所述方法包括:
通过与客户端建立的第一TCP连接,接收所述客户端发送的请求报文;
根据所述请求报文,选择后端服务器,并与选择的所述后端服务器建立第二TCP连接;
令所述请求报文携带所述第一TCP连接的标识信息,并通过所述第二TCP连接将所述请求报文发送至所述后端服务器,供所述后端服务器根据所述第一TCP连接的标识信息,将生成的响应报文直接反馈给所述客户端;其中,所述第一TCP连接的标识信息中包括所述客户端的地址。
2.根据权利要求1所述的数据传输方法,其特征在于,所述令所述请求报文携带所述第一TCP连接的标识信息,并通过所述第二TCP连接将所述请求报文发送至所述后端服务器,具体包括:
在内核层将所述第一TCP连接的标识信息写入所述请求报文的TCP选项,并由所述内核层通过所述第二TCP连接将写入有所述第一TCP连接的标识信息的所述请求报文发送至所述后端服务器。
3.根据权利要求2所述的数据传输方法,其特征在于,所述由所述内核层通过所述第二TCP连接将写入有所述第一TCP连接的标识信息的所述请求报文发送至所述后端服务器后,还包括:
由所述内核层通知应用层断开所述第一TCP连接以及所述第二TCP连接。
4.根据权利要求1所述的数据传输方法,其特征在于,所述与选择的所述后端服务器建立第二TCP连接后,还包括:
生成所述第一TCP连接与所述第二TCP连接的映射逻辑;其中,所述映射逻辑至少包括第一差值以及第二差值,且所述第一差值为所述代理服务器到所述后端服务器的syn报文的序列号与所述客户端到所述代理服务器的syn报文的序列号的差值;所述第二差值为所述后端服务器到所述代理服务器的syn-ack报文的序列号与所述代理服务器到所述客户端的syn-ack报文的序列号的差值。
5.根据权利要求4所述的数据传输方法,其特征在于,所述令所述请求报文携带所述第一TCP连接的标识信息,并通过所述第二TCP连接将所述请求报文发送至所述后端服务器后,还包括:
接收所述客户端的确认报文;
获取所述确认报文的序列号以及所述确认报文的确认序列号;
将所述确认报文的序列号与所述第一差值求和,获取新序列号,并使用所述新序列号更新所述确认报文的序列号;以及,将所述确认报文的确认序列号与所述第二差值求和,获取新确认序列号,并使用所述新确认序列号更新所述确认报文的确认序列号;
将更新后的所述确认报文转发至对应的所述后端服务器。
6.根据权利要求1所述的数据传输方法,其特征在于,还包括:
预设时长内未接收到所述客户端的报文时,在所述内核层断开所述第一TCP连接,并删除所述第一TCP连接的标识信息。
7.一种数据传输方法,其特征在于,应用于后端服务器,所述方法包括:
通过与代理服务器建立的第二TCP连接,接收所述代理服务器发送的请求报文;
根据所述请求报文中的携带的第一TCP连接的标识信息,将生成的响应报文直接反馈给客户端;其中,所述第一TCP连接为客户端与代理服务器建立的TCP连接;所述第一TCP连接的标识信息中包括所述客户端的地址。
8.根据权利要求7所述的数据传输方法,其特征在于,所述与代理服务器建立的第二TCP连接后,还包括:
接收所述代理服务器发送的所述第一TCP连接与所述第二TCP连接的映射逻辑;
所述将生成的响应报文直接反馈给客户端,具体包括:
根据所述第一TCP连接与所述第二TCP连接的映射逻辑,修改所述响应报文;以及,将所述响应报文的目的IP修改为所述客户端的地址;
在内核层将修改后的所述响应报文转发到所述客户端。
9.根据权利要求8所述的数据传输方法,其特征在于,所述映射逻辑包括第一差值以及第二差值;其中,所述第一差值为所述代理服务器到所述后端服务器的syn报文的序列号与所述客户端到所述代理服务器的syn报文的序列号的差值;所述第二差值为所述后端服务器到所述代理服务器的syn-ack报文的序列号与所述代理服务器到所述客户端的syn-ack报文的序列号的差值;
所述根据所述第一TCP连接与所述第二TCP连接的映射逻辑,修改生成的所述响应报文,具体包括:
获取所述响应报文的序列号以及所述响应报文的确认序列号;
将所述响应报文的序列号与所述第二差值作差,获取新序列号,并使用所述新序列号更新所述响应报文的序列号;
将所述响应报文的确认序列号与所述第一差值作差,获取新确认序列号,并使用所述新确认序列号更新所述响应报文的确认序列号。
10.一种代理服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一所述的数据传输方法。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的数据传输方法。
12.一种数据传输系统,其特征在于,包括:代理服务器以及若干个后端服务器;
所述代理服务器包括,
接收模块,用于通过与客户端建立的第一TCP连接,接收所述客户端发送的请求报文;
选择模块,用于根据所述请求报文,选择后端服务器,并与选择的所述后端服务器建立第二TCP连接;
前端模块,用于令所述请求报文携带所述第一TCP连接的标识信息,并通过所述第二TCP连接将所述请求报文发送至所述后端服务器;
所述后端服务器包括,
后端模块,用于根据所述第一TCP连接的标识信息,将生成的响应报文直接反馈给所述客户端;其中,所述第一TCP连接的标识信息中包括所述客户端的地址。
13.根据权利要求12所述的数据传输系统,其特征在于,
所述前端模块在内核层将所述第一TCP连接的标识信息写入所述请求报文的TCP选项,并由所述内核层通过所述第二TCP连接将写入有所述第一TCP连接的标识信息的所述请求报文发送至所述后端服务器。
14.根据权利要求12或13所述的数据传输系统,其特征在于,
所述后端模块还用于接收所述代理服务器发送的所述第一TCP连接与所述第二TCP连接的映射逻辑;
所述后端模块还用于根据所述第一TCP连接与所述第二TCP连接的映射逻辑,修改所述响应报文;以及,将所述响应报文的目的IP修改为所述客户端的地址;
其中,所述后端模块在内核层将修改后的所述响应报文转发到所述客户端。
15.根据权利要求13所述的数据传输系统,其特征在于,
所述前端模块还用于在所述内核层断开所述第一TCP连接,并删除所述第一TCP连接的标识信息;
所述后端模块还用于在所述内核层断开所述第二TCP连接,并删除所述第二TCP连接的标识信息。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811223257.8A CN109088892B (zh) | 2018-10-19 | 2018-10-19 | 数据传输方法、系统以及代理服务器 |
PCT/CN2018/113025 WO2020077680A1 (zh) | 2018-10-19 | 2018-10-31 | 数据传输方法、系统以及代理服务器 |
US16/771,618 US11290544B2 (en) | 2018-10-19 | 2018-10-31 | Data transmission methods applied to a proxy server or a backend server, and data transmission system |
EP18936942.4A EP3873062A4 (en) | 2018-10-19 | 2018-10-31 | DATA TRANSMISSION PROCEDURE, SYSTEM AND PROXY SERVER |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811223257.8A CN109088892B (zh) | 2018-10-19 | 2018-10-19 | 数据传输方法、系统以及代理服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109088892A true CN109088892A (zh) | 2018-12-25 |
CN109088892B CN109088892B (zh) | 2021-02-12 |
Family
ID=64843949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811223257.8A Expired - Fee Related CN109088892B (zh) | 2018-10-19 | 2018-10-19 | 数据传输方法、系统以及代理服务器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11290544B2 (zh) |
EP (1) | EP3873062A4 (zh) |
CN (1) | CN109088892B (zh) |
WO (1) | WO2020077680A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110049024A (zh) * | 2019-03-29 | 2019-07-23 | 网宿科技股份有限公司 | 一种数据传输方法、中转服务器及接入网点服务器 |
CN110460641A (zh) * | 2019-07-16 | 2019-11-15 | 华为技术有限公司 | 数据传输方法、装置及系统 |
CN110572438A (zh) * | 2019-08-14 | 2019-12-13 | 北京天融信网络安全技术有限公司 | 一种网络连接建立方法、装置、网络设备和存储介质 |
CN111163130A (zh) * | 2019-12-06 | 2020-05-15 | 深圳智链物联科技有限公司 | 一种网络服务系统及其数据传输方法 |
WO2020143095A1 (zh) * | 2019-01-08 | 2020-07-16 | 网宿科技股份有限公司 | 一种通信连接的建立方法及代理服务器 |
CN111526137A (zh) * | 2020-04-15 | 2020-08-11 | 中科驭数(北京)科技有限公司 | 兼容服务器和客户端模式的网络加速器及数据处理方法 |
CN111682983A (zh) * | 2020-06-04 | 2020-09-18 | 北京达佳互联信息技术有限公司 | 界面显示方法、装置、终端及服务器 |
CN113542450A (zh) * | 2021-07-21 | 2021-10-22 | 北京威努特技术有限公司 | 一种工控防火墙支持ftp穿越nat的实现方法及系统 |
CN113645236A (zh) * | 2021-08-10 | 2021-11-12 | 北京天融信网络安全技术有限公司 | 一种报文处理方法、装置及存储介质 |
CN115297165A (zh) * | 2022-09-29 | 2022-11-04 | 浙江齐安信息科技有限公司 | 代理装置及数据处理方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11223567B2 (en) * | 2019-01-18 | 2022-01-11 | Cisco Technology, Inc. | Transmission control protocol session mobility |
AU2019446557A1 (en) * | 2019-05-23 | 2021-11-25 | Citrix Systems, Inc. | Secure web application delivery platform |
CN112637236B (zh) * | 2020-12-31 | 2022-08-16 | 河南信大网御科技有限公司 | 脱离协议栈的http代理方法、架构及介质 |
CN113472875A (zh) * | 2021-06-28 | 2021-10-01 | 深信服科技股份有限公司 | 一种连接复用方法、装置、电子设备及存储介质 |
US20230336793A1 (en) * | 2022-04-14 | 2023-10-19 | Oxylabs, Uab | Streaming proxy service |
CN114640704B (zh) * | 2022-05-18 | 2022-08-19 | 山东云天安全技术有限公司 | 通讯数据获取方法、系统、计算机设备及可读存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7269654B2 (en) * | 2000-06-23 | 2007-09-11 | Microsoft Corporation | System and method for enhancing a server's ability to withstand a “SYN flood” denial of service attack |
CN101296238A (zh) * | 2008-06-17 | 2008-10-29 | 杭州华三通信技术有限公司 | 一种保持安全套接层会话持续性的方法及设备 |
CN101635663A (zh) * | 2008-07-21 | 2010-01-27 | 华为技术有限公司 | 数据传输方法、系统及网络设备 |
CN101924771A (zh) * | 2010-08-26 | 2010-12-22 | 北京天融信科技有限公司 | 一种用于加速应用代理的核心级tcp连接粘合方法 |
US20130080561A1 (en) * | 2011-09-27 | 2013-03-28 | International Business Machines Corporation | Using transmission control protocol/internet protocol (tcp/ip) to setup high speed out of band data communication connections |
CN103491065A (zh) * | 2012-06-14 | 2014-01-01 | 中兴通讯股份有限公司 | 一种透明代理及其实现方法 |
CN104767781A (zh) * | 2014-01-08 | 2015-07-08 | 杭州迪普科技有限公司 | 一种tcp代理装置以及方法 |
CN105554065A (zh) * | 2015-12-03 | 2016-05-04 | 华为技术有限公司 | 处理报文的方法、转换单元和应用单元 |
CN105897849A (zh) * | 2015-12-22 | 2016-08-24 | 乐视云计算有限公司 | 跨进程服务方法和系统及代理服务器 |
CN105915658A (zh) * | 2016-07-04 | 2016-08-31 | 上海优刻得信息科技有限公司 | 获取客户端ip地址的数据调用方法、数据传输方法 |
CN107979592A (zh) * | 2013-09-30 | 2018-05-01 | 腾讯科技(深圳)有限公司 | 一种发送业务请求消息的方法及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5941988A (en) | 1997-01-27 | 1999-08-24 | International Business Machines Corporation | Session and transport layer proxies via TCP glue |
US20040260745A1 (en) * | 2003-06-18 | 2004-12-23 | Gage Christopher A. S. | Load balancer performance using affinity modification |
JP2009164948A (ja) | 2008-01-08 | 2009-07-23 | Nec Corp | 通信システム、サーバ、端末、パケット転送方法およびプログラム |
US8266204B2 (en) * | 2010-03-15 | 2012-09-11 | Microsoft Corporation | Direct addressability and direct server return |
US9015233B2 (en) | 2012-06-29 | 2015-04-21 | At&T Intellectual Property I, L.P. | System and method for segregating layer seven control and data traffic |
US9026783B2 (en) * | 2013-03-07 | 2015-05-05 | Google Inc. | Low latency server-side redirection of UDP-based transport protocols traversing a client-side NAT firewall |
CN103533080A (zh) | 2013-10-25 | 2014-01-22 | 北京奇虎科技有限公司 | 用于lvs的服务器调度方法及装置 |
US10412159B1 (en) * | 2014-02-07 | 2019-09-10 | Amazon Technologies, Inc. | Direct load balancing using a multipath protocol |
US9912637B2 (en) * | 2014-09-30 | 2018-03-06 | A 10 Networks, Incorporated | Use of packet header extension for layer-3 direct server return |
CN106470238A (zh) * | 2015-08-20 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 应用于服务器负载均衡中的连接建立方法及装置 |
CN105162883B (zh) * | 2015-09-25 | 2019-06-07 | 网宿科技股份有限公司 | 网络负载均衡处理系统及其方法和装置 |
JP6505171B2 (ja) * | 2016-08-25 | 2019-04-24 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム |
US10742746B2 (en) * | 2016-12-21 | 2020-08-11 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
-
2018
- 2018-10-19 CN CN201811223257.8A patent/CN109088892B/zh not_active Expired - Fee Related
- 2018-10-31 US US16/771,618 patent/US11290544B2/en active Active
- 2018-10-31 EP EP18936942.4A patent/EP3873062A4/en not_active Withdrawn
- 2018-10-31 WO PCT/CN2018/113025 patent/WO2020077680A1/zh unknown
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7269654B2 (en) * | 2000-06-23 | 2007-09-11 | Microsoft Corporation | System and method for enhancing a server's ability to withstand a “SYN flood” denial of service attack |
CN101296238A (zh) * | 2008-06-17 | 2008-10-29 | 杭州华三通信技术有限公司 | 一种保持安全套接层会话持续性的方法及设备 |
CN101635663A (zh) * | 2008-07-21 | 2010-01-27 | 华为技术有限公司 | 数据传输方法、系统及网络设备 |
CN101924771A (zh) * | 2010-08-26 | 2010-12-22 | 北京天融信科技有限公司 | 一种用于加速应用代理的核心级tcp连接粘合方法 |
US20130080561A1 (en) * | 2011-09-27 | 2013-03-28 | International Business Machines Corporation | Using transmission control protocol/internet protocol (tcp/ip) to setup high speed out of band data communication connections |
CN103491065A (zh) * | 2012-06-14 | 2014-01-01 | 中兴通讯股份有限公司 | 一种透明代理及其实现方法 |
CN107979592A (zh) * | 2013-09-30 | 2018-05-01 | 腾讯科技(深圳)有限公司 | 一种发送业务请求消息的方法及装置 |
CN104767781A (zh) * | 2014-01-08 | 2015-07-08 | 杭州迪普科技有限公司 | 一种tcp代理装置以及方法 |
CN105554065A (zh) * | 2015-12-03 | 2016-05-04 | 华为技术有限公司 | 处理报文的方法、转换单元和应用单元 |
CN105897849A (zh) * | 2015-12-22 | 2016-08-24 | 乐视云计算有限公司 | 跨进程服务方法和系统及代理服务器 |
CN105915658A (zh) * | 2016-07-04 | 2016-08-31 | 上海优刻得信息科技有限公司 | 获取客户端ip地址的数据调用方法、数据传输方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020143095A1 (zh) * | 2019-01-08 | 2020-07-16 | 网宿科技股份有限公司 | 一种通信连接的建立方法及代理服务器 |
CN110049024B (zh) * | 2019-03-29 | 2021-12-17 | 网宿科技股份有限公司 | 一种数据传输方法、中转服务器及接入网点服务器 |
CN110049024A (zh) * | 2019-03-29 | 2019-07-23 | 网宿科技股份有限公司 | 一种数据传输方法、中转服务器及接入网点服务器 |
CN110460641A (zh) * | 2019-07-16 | 2019-11-15 | 华为技术有限公司 | 数据传输方法、装置及系统 |
CN110572438A (zh) * | 2019-08-14 | 2019-12-13 | 北京天融信网络安全技术有限公司 | 一种网络连接建立方法、装置、网络设备和存储介质 |
CN111163130A (zh) * | 2019-12-06 | 2020-05-15 | 深圳智链物联科技有限公司 | 一种网络服务系统及其数据传输方法 |
CN111163130B (zh) * | 2019-12-06 | 2022-08-23 | 深圳智链物联科技有限公司 | 一种网络服务系统及其数据传输方法 |
CN111526137A (zh) * | 2020-04-15 | 2020-08-11 | 中科驭数(北京)科技有限公司 | 兼容服务器和客户端模式的网络加速器及数据处理方法 |
CN111526137B (zh) * | 2020-04-15 | 2020-12-25 | 中科驭数(北京)科技有限公司 | 兼容服务器和客户端模式的网络加速器及数据处理方法 |
CN111682983A (zh) * | 2020-06-04 | 2020-09-18 | 北京达佳互联信息技术有限公司 | 界面显示方法、装置、终端及服务器 |
CN113542450A (zh) * | 2021-07-21 | 2021-10-22 | 北京威努特技术有限公司 | 一种工控防火墙支持ftp穿越nat的实现方法及系统 |
CN113645236A (zh) * | 2021-08-10 | 2021-11-12 | 北京天融信网络安全技术有限公司 | 一种报文处理方法、装置及存储介质 |
CN113645236B (zh) * | 2021-08-10 | 2022-11-29 | 北京天融信网络安全技术有限公司 | 一种报文处理方法、装置及存储介质 |
CN115297165A (zh) * | 2022-09-29 | 2022-11-04 | 浙江齐安信息科技有限公司 | 代理装置及数据处理方法 |
CN115297165B (zh) * | 2022-09-29 | 2023-01-06 | 浙江齐安信息科技有限公司 | 代理装置及数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
US11290544B2 (en) | 2022-03-29 |
EP3873062A4 (en) | 2022-02-23 |
US20200358857A1 (en) | 2020-11-12 |
EP3873062A1 (en) | 2021-09-01 |
WO2020077680A1 (zh) | 2020-04-23 |
CN109088892B (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109088892A (zh) | 数据传输方法、系统以及代理服务器 | |
WO2022105884A1 (zh) | 数据传输方法、装置、网络设备、存储介质 | |
TW391105B (en) | Means and method for establishing an always connected link to mobile computers | |
US20140280949A1 (en) | Load balancing for a virtual networking system | |
CN105337923B (zh) | 数据分发方法和系统及数据发送装置和数据接收装置 | |
JP2000132443A (ja) | コンピュータ、情報共有システム、及びレプリカ同一性保持方法 | |
GB2473079A (en) | Remote backup using journals relayed via Stagers | |
WO2024037296A1 (zh) | 基于协议族的quic数据传输方法及装置 | |
CN109842609A (zh) | 用于网络地址转换的通信系统和方法 | |
CN110062004A (zh) | 一种基于物联网协议的报文处理系统及方法 | |
CN109327511A (zh) | 一种基于http协议的数据请求方法和服务器 | |
JP4410608B2 (ja) | Webサービス提供方法 | |
TWI331467B (en) | Time-to-disconnect enforcement when communicating with wireless devices that have transient network addresses | |
CN109587235A (zh) | 一种基于网络库的数据访问方法、客户端、系统及介质 | |
CN110196843A (zh) | 一种基于容器集群的文件分发方法及容器集群 | |
US20170048304A1 (en) | Pre-boot file transfer system | |
CN110417632A (zh) | 一种网络通信方法、系统及服务器 | |
CN100486248C (zh) | 一种实时环境下的零拷贝通信方法 | |
CN109413224A (zh) | 报文转发方法和装置 | |
CN111698274B (zh) | 数据处理方法及装置 | |
CN109067752B (zh) | 一种利用rdma消息实现兼容tcp/ip协议的方法 | |
KR100597405B1 (ko) | 소켓 어플리케이션 프로그램을 이용한 데이터 중계 시스템및 데이터 중계 방법 | |
CN110609746B (zh) | 管理网络系统的方法、设备和计算机可读介质 | |
CN109274774A (zh) | 一种数据存储方法、装置和计算机可读存储介质 | |
CN109688085B (zh) | 传输控制协议代理方法、存储介质及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210212 |