应用于服务器负载均衡中的连接建立方法及装置制造方法及图纸

技术编号:14741964 阅读:91 留言:0更新日期:2017-03-01 17:01
本申请公开了一种应用于服务器负载均衡中的连接建立方法及装置,所述方法包括:负载均衡服务器接收客户端发送的同步报文;根据同步报文中的客户端连接信息,计算得到序列值;向客户端回复写入真实服务器连接信息的同步确认报文,并将所述序列值作为同步确认报文中的序列号;接收客户端回复的确认报文,并根据确认报文中的确认号,计算得到客户端连接信息;构建写入客户端连接信息的自定义报文;将自定义报文发送至真实服务器,以便于真实服务器从自定义报文中解析获得客户端连接信息;根据客户端连接信息实现与客户端传输控制协议TCP连接的建立。本申请实施例降低了连接建立过程中的资源消耗,能够有效防御攻击者攻击。

【技术实现步骤摘要】

本申请属于通信
,具体地说,涉及一种应用于服务器负载均衡中的连接建立方法及装置
技术介绍
服务器负载均衡是指由负载均衡服务器将客户端的访问流量均衡到多个后端的真实服务器的技术,以实现对真实服务器负载的均衡效果。在进行负载均衡时,由于加入了负载均衡服务器,客户端发送的请求报文需要经由负载均衡服务器转发给真实服务器,因此,报文处理的流程也发生了变化。在现有的一种服务器负载均衡模式中,报文处理流程是客户端将请求报文发送至负载均衡服务器,再由负载均衡服务器将客户端请求报文转发至调用的真实服务器,然后真实服务器直接向客户端回复应答报文。而在发送请求报文之前,需要先建立客户端与服务端的传输控制协议(英文全称:TransmissionControlProtocol,简称:TCP)连接,现有技术中,按照TCP的协议规定,TCP连接建立需要经过三次握手,在上述提供的现有服务器负载均衡模式中,TCP连接建立过程为:客户端发送同步(英文全称:Synchronous,简称:SYN)报文至负载均衡服务器,同步报文中的选项字段携带待协商的客户端连接信息;负载均衡服务器将所述同步报文转发至真实服务器,真实服务器创建数据区保存客户端连接信息,建立与客户端的TCP半连接;真实服务器向所述客户端回复同步确认(英文全称:SynchronousAcknowledgement,简称:SYN+ACK)报文,同步确认报文中携带待协商的真实服务器连接信息;客户端回复确认(英文全称:Acknowledgement,简称:ACK)报文给负载均衡服务器;负载均衡服务器将确认报文转发至真实服务器;真实服务器接收到客户端的确认报文时,将与客户端建立的TCP半连接转换为TCP连接。但是,现有的这种TCP连接建立过程,攻击者容易利用协议缺陷进行攻击。如果攻击者大量发送同步报文,就会造成服务器创建多个数据区,建立大量TCP半连接消耗系统资源,导致正常的请求无法得到处理,影响系统服务。
技术实现思路
有鉴于此,本申请提供了应用于服务器负载均衡中的连接建立方法及装置,用以解决存在攻击时,系统资源消耗较多,导致正常的请求无法得到处理,影响系统服务的技术问题。为了解决上述技术问题,本申请公开了一种应用于服务器负载均衡中的连接建立方法,包括:负载均衡服务器接收客户端发送的同步SYN报文;根据所述同步报文中的客户端连接信息,计算得到序列值;向所述客户端回复写入真实服务器连接信息的同步确认同步确认报文,并将所述序列值作为所述同步确认报文中的序列号;接收客户端回复的确认确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息;构建写入所述客户端连接信息的自定义报文;将所述自定义报文发送至所述真实服务器,以便于所述真实服务器从所述自定义报文中解析获得所述客户端连接信息;根据所述客户端连接信息实现与所述客户端传输控制协议TCP连接的建立。优选地,所述构建写入所述客户端连接信息的自定义报文包括:在所述客户端回复的确认报文中添加建连标识符,以及将所述客户端连接信息写入所述确认报文中,获得构建的自定义报文;所述建连标识符用于识别所述自定义报文。优选地,所述自定义报文为自定义同步报文;所述构建写入所述客户端连接信息的自定义报文包括:将所述客户端的同步报文中的序列号作为所述自定义同步报文的序列号;将所述负载均衡服务器的同步确认报文中的序列号作为所述自定义同步报文的确认号;将所述客户端连接信息写入所述自定义同步报文中,并在所述自定义同步报文中添加自定义字段以写入所述负载均衡服务器的地址;所述将所述自定义报文发送至所述真实服务器,以便于所述真实服务器从所述自定义报文中解析获得所述客户端连接信息;根据所述客户端连接信息实现与所述客户端TCP连接的建立包括:将所述自定义同步报文发送至所述真实服务器,以便于所述真实服务器根据所述自定义同步报文中的客户端连接信息,建立与客户端的TCP半连接,并根据所述负载均衡服务器地址向所述负载均衡服务器回复同步确认报文,其中,所述真实服务器回复的同步确认报文的序列号为所述自定义同步报文的确认号;接收到真实服务器回复的所述同步确认报文之后,将所述客户端回复的所述确认报文发送至所述真实服务器,以便于所述真实服务器将所述TCP半连接转换为TCP连接。优选地,所述接收客户端回复的确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息包括:接收客户端回复的携带请求数据的确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息;所述构建写入所述客户端连接信息的自定义报文包括:构建写入所述客户端连接信息,且携带所述请求数据的自定义报文;所述将所述自定义报文发送至所述真实服务器,以便于所述真实服务器从所述自定义报文中解析获得所述客户端连接信息;根据所述客户端连接信息实现与所述客户端TCP连接的建立包括:将所述自定义报文发送至所述真实服务器,以便于所述真实服务器从所述自定义报文中解析获得所述客户端连接信息以及所述请求数据;根据所述客户端连接信息实现与所述客户端TCP连接的建立;基于所述TCP连接,向所述客户端回复所述请求数据的应答报文。优选地,所述根据所述同步报文中的客户端连接信息,计算得到序列值包括:将所述同步报文中的客户端连接信息,采用同步cookie技术的cookie处理函数进行处理,将计算得到的cookie值作为序列值;所述接收客户端回复的确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息包括:接收客户端回复的确认报文,并根据所述确认报文中的确认号,计算得到所述cookie值;对所述cookie值进行校验,并在校验通过之后,获得所述客户端连接信息。一种应用于服务器负载均衡中的连接建立方法,包括:客户端向负载均衡服务器发送携带所述客户端连接信息的同步报文;接收所述负载均衡服务器回复的同步确认报文;其中,所述同步确认报文的序列号为所述负载均衡服务器根据所述同步报文中的客户端连接信息,计算得到的序列值;所述同步确认报文携带真实服务器连接信息;向所述负载均衡服务器回复确认报文,以便于所述负载均衡服务器根据所述确认报文中的确认号,计算得到所述客户端连接信息;构建写入所述客户端连接信息的自定义报文;将所述自定义报文发送至所述真实服务器,由所述真实服务器从所述自定义报文中解析获得所述客户端连接信息;根据所述客户端连接信息实现与所述客户端TCP连接的建立。一种应用于服务器负载均衡中的连接建立方法,包括:真实服务器接收负载均衡服务器发送的自定义报文,所述自定义报文按照如下方式获得:所述负载均衡服务器接收客户端发送的同步报文;根据所述同步报文中的客户端连接信息,计算得到序列值;向所述客户端回复写入真实服务器连接信息的同步确认报文,并将所述序列值作为所述同步确认报文中的序列号;接收客户端回复的确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息;构建写入所述客户端连接信息的自定义报文;从所述自定义报文中解析获得所述客户端连接信息;根据所述客户端连接信息实现与所述客户端TCP连接的建立。一种应用于服务器负载均衡中的连接建立装置,包括:第一接收模块,用于接收客户端发送的同步报文;计算模块,用于根据所述同步报文本文档来自技高网
...
应用于服务器负载均衡中的连接建立方法及装置

【技术保护点】
一种应用于服务器负载均衡中的连接建立方法,其特征在于,包括:负载均衡服务器接收客户端发送的同步报文;根据所述同步报文中的客户端连接信息,计算得到序列值;向所述客户端回复写入真实服务器连接信息的同步确认报文,并将所述序列值作为所述同步确认报文中的序列号;接收客户端回复的确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息;构建写入所述客户端连接信息的自定义报文;将所述自定义报文发送至所述真实服务器,以便于所述真实服务器从所述自定义报文中解析获得所述客户端连接信息,根据所述客户端连接信息实现与所述客户端传输控制协议TCP连接的建立。

【技术特征摘要】
1.一种应用于服务器负载均衡中的连接建立方法,其特征在于,包括:负载均衡服务器接收客户端发送的同步报文;根据所述同步报文中的客户端连接信息,计算得到序列值;向所述客户端回复写入真实服务器连接信息的同步确认报文,并将所述序列值作为所述同步确认报文中的序列号;接收客户端回复的确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息;构建写入所述客户端连接信息的自定义报文;将所述自定义报文发送至所述真实服务器,以便于所述真实服务器从所述自定义报文中解析获得所述客户端连接信息,根据所述客户端连接信息实现与所述客户端传输控制协议TCP连接的建立。2.如权利要求1所述的方法,其特征在于,所述构建写入所述客户端连接信息的自定义报文包括:在所述客户端回复的确认报文中添加建连标识符,以及将所述客户端连接信息写入所述确认报文中,获得构建的自定义报文;所述建连标识符用于识别所述自定义报文。3.如权利要求1所述的方法,其特征在于,所述自定义报文为自定义同步报文;所述构建写入所述客户端连接信息的自定义报文包括:将所述客户端的同步报文中的序列号作为所述自定义同步报文的序列号;将所述负载均衡服务器的同步确认报文中的序列号作为所述自定义同步报文的确认号;将所述客户端连接信息写入所述自定义同步报文中,并在所述自定义同步报文中添加自定义字段以写入所述负载均衡服务器的地址;所述将所述自定义报文发送至所述真实服务器,以便于所述真实服务器
\t从所述自定义报文中解析获得所述客户端连接信息;根据所述客户端连接信息实现与所述客户端TCP连接的建立包括:将所述自定义同步报文发送至所述真实服务器,以便于所述真实服务器根据所述自定义同步报文中的客户端连接信息,建立与客户端的TCP半连接,并根据所述负载均衡服务器地址向所述负载均衡服务器回复同步确认报文,其中,所述真实服务器回复的同步确认报文的序列号为所述自定义同步报文的确认号;接收到真实服务器回复的所述同步确认报文之后,将所述客户端回复的所述确认报文发送至所述真实服务器,以便于所述真实服务器将所述TCP半连接转换为TCP连接。4.如权利要求1所述的方法,其特征在于,所述接收客户端回复的确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息包括:接收客户端回复的携带请求数据的确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息;所述构建写入所述客户端连接信息的自定义报文包括:构建写入所述客户端连接信息,且携带所述请求数据的自定义报文;所述将所述自定义报文发送至所述真实服务器,以便于所述真实服务器从所述自定义报文中解析获得所述客户端连接信息;根据所述客户端连接信息实现与所述客户端TCP连接的建立包括:将所述自定义报文发送至所述真实服务器,以便于所述真实服务器从所述自定义报文中解析获得所述客户端连接信息以及所述请求数据;根据所述客户端连接信息实现与所述客户端TCP连接的建立;基于所述TCP连接,向所述客户端回复所述请求数据的应答报文。5.如权利要求1~4任一项所述的方法,其特征在于,所述根据所述同步报文中的客户端连接信息,计算得到序列值包括:将所述同步报文中的客户端连接信息,采用同步cookie技术的cookie处理函数进行处理,将计算得到的cookie值作为序列值;所述接收客户端回复的确认报文,并根据所述确认报文中的确认号,计算得到所述客户端连接信息包括:接收客户端回复的确认报文,并根据所述确认报文中的确认号,计算得到所述cookie值;对所述cookie值进行校验,并在校验通过之后,获得所述客户端连接信息。6.一种应用于服务器负载均衡中的连接建立方法,其特征在于,包括:客户端向负载均衡服务器发送携带所述客户端连接信息的同步报文;接收所述负载均衡服务器回复的同步确认报文;其中,所述同步确认报文的序列号为所述负载均衡服务器根据所述同步报文中的客户端连接信息,计算得到的序列值;所述同步确认报文携带真实服务器连接信息;向所述负载均衡服务器回复确认报文,以便于所述负载均衡服务器根据所述确认报文中的确认号,计算得到所述客户端连接信息;构建写入所述客户端连接信息的自定义报文;将所述自定义报文发送至所述真实服务器,由所述真实服务器从所述自定义报文中解析获得所述客户端连接信息,根据所述客户端连接信息实现与所述客户端TCP连接的建立。7.一种应用于服务器负载均衡中的连接建立方法,其特征在于,包括:真实服务器接收负载均衡服务器发送的自定义报文,所述自定义报文按照如下方式获得:所述负载均衡服务器接收客户端发送的同步报文;根据所述同步报文中的客户端连接信息,计算得到序列值;向所述客户端回复写入真实服务器连接信息的同步确认报文,并将所述序列值作为所述同步确认报文中的序列号;接收客户端回复的确认报文,并根据所...

【专利技术属性】
技术研发人员:薛蹦蹦吴佳明李易
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1