【技术实现步骤摘要】
本专利技术涉及网络安全
,尤其涉及一种用于加速应用代理的核心级TCP连 接粘合方法。
技术介绍
应用级代理广泛应用于HTTP代理、HTTP缓存、基于应用的负载均衡、深度内容检 测、网关病毒过滤等领域,扮演着当今重要的网络服务角色。统计显示当前互联网的安全问 题越来越多的来自应用层,应用级代理在未来将扮演越来越重要的角色。传统的应用级代理都采用应用层连接粘合代理,如图1所示,应用代理位于客户 端和被访问的服务器之间。对于客户端来说代理扮演服务器的角色,对于服务器来说代理 扮演客户端的角色。客户端首先和代理建立socket连接,然后代理再和服务器建立socket 连接。连接建立完成后,代理透明的进行数据的双向传递,作为一个中间人协助客户端和服 务器完成网络通信。传统的应用代理的优势是保持了对现有网络的兼容性,并且可以在应用层实现复 杂的协议处理。限制其大规模应用的核心问题是性能问题,表现为吐量小、通信延时长。原 因在于对于每一个报文应用代理都会发生两次拷贝,首先是报文从客户端拷贝到应用代 理,然后应用代理再拷贝给服务器。发生一次拷贝的同时伴随着一次内核态到用户态的上 下文切换。内存拷贝特别是内核态/用户态之间的内存拷贝消耗大量的CPU资源,上下文 切换同样会消耗大量的资源。这个过程同时明显的增加了通信延迟。目前可用的应用代理加速方法,比如Iinux下的sendfile,只能用于把缓存的文 件传递给服务器,可以避免内存拷贝、减少内核态/用户态的上下文切换。在HTTP缓存、基 于文件扫描的病毒过滤比较有用。对于HTTP代理、基于应用的负载均衡、基于数据流的 ...
【技术保护点】
一种加速应用代理的核心级TCP连接粘合方法,其特征在于,包括:客户端与代理服务器进行协商建立TCP连接;其中,在协商时,所述代理服务器通告所述客户端不支持时间戳和窗口扩大因子TCP选项,并记录交互报文的TCP序号、所述客户端支持的最大报文段长度信息MSS以及所述客户端是否支持选择确认TCP选项;所述代理服务器接收到所述客户端发送的http请求报文时,与服务器进行协商建立TCP连接后,向所述服务器转发所述http请求报文;其中,在与所述服务器进行协商建立TCP连接时,记录交互报文的TCP序号,并基于所述代理服务器与所述客户端间的协商结果,调整所述代理服务器与所述服务器间的TCP选项,包括:修改TCP选项中的MSS为所述客户端支持的MSS,并剥离所述客户端不支持的TCP选项,包括时间戳、窗口扩大因子、选择确认选项;所述服务器向所述代理服务器传送http响应头报文,并在所述http响应头报文传送至内核态的IP协议栈时,通过粘合模块检测所述http响应头报文是否符合预先配置的粘合条件,若符合,则进行TCP连接粘合。
【技术特征摘要】
一种加速应用代理的核心级TCP连接粘合方法,其特征在于,包括客户端与代理服务器进行协商建立TCP连接;其中,在协商时,所述代理服务器通告所述客户端不支持时间戳和窗口扩大因子TCP选项,并记录交互报文的TCP序号、所述客户端支持的最大报文段长度信息MSS以及所述客户端是否支持选择确认TCP选项;所述代理服务器接收到所述客户端发送的http请求报文时,与服务器进行协商建立TCP连接后,向所述服务器转发所述http请求报文;其中,在与所述服务器进行协商建立TCP连接时,记录交互报文的TCP序号,并基于所述代理服务器与所述客户端间的协商结果,调整所述代理服务器与所述服务器间的TCP选项,包括修改TCP选项中的MSS为所述客户端支持的MSS,并剥离所述客户端不支持的TCP选项,包括时间戳、窗口扩大因子、选择确认选项;所述服务器向所述代理服务器传送http响应头报文,并在所述http响应头报文传送至内核态的IP协议栈时,通过粘合模块检测所述http响应头报文是否符合预先配置的粘合条件,若符合,则进行TCP连接粘合。2.如权利要求1所述的方法,其特征在于,所述客户端与代理服务器进行协商建立TCP 连接具体为所述客户端向所述代理服务器发送syn报文,所述代理服务器记录所述syn报文中TCP 选项中所述客户端支持的最大报文长度MSS,记录交互报文的TCP序号、所述客户端支持的 TCP选项,包括时间戳、窗口扩大因子、选择确认;所述代理服务器发送syn-ack报文给所述客户端;其中,在发送所述syn-ack报文过程 中,通过粘合模块剥离时间戳和窗口扩大因子TCP选项;所述客户端向所述代理服务器反馈ack消息,完成所述客户端到所述代理服务器TCP 连接的建立。3.如权利要求1所述的方法,其特征在于,所述代理服务器与服务器进行协商建立TCP 连接具体为所述代理服务器向所述服务器发送syn报文,其中,在发送syn报文过程中,根据所述 客户端和所述代理服务器协商的结果,通过粘合模块调整TCP选项,具体包括调整TCP选 项中MSS为所述客户端支持的MSS,并剥离客户端不支持的TCP选项,包括时间戳、窗口扩大 因子、选择确认选项。所述服务器接收到所述syn报文后,向所述代理服务器反馈syn-ack报文;所述代理服务器向所述服务器反馈ack消息,完成所述代理服务器到所述服务器TCP 连接的建立。4.如权利要求1、2或3所述的...
【专利技术属性】
技术研发人员:孟磊,
申请(专利权)人:北京天融信科技有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。