[发明专利]建立连接的方法及相应的设备有效
申请号: | 201610948468.2 | 申请日: | 2016-10-26 |
公开(公告)号: | CN107995233B | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 韩瑞 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 陈贞健 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 建立 连接 方法 相应 设备 | ||
本申请的目的是提供一种快速建立TCP连接的方法及相应的设备,用以解决现有技术中请求建立连接的数据包容易被防火墙丢弃,造成建连失败的问题。与现有技术相比,本申请提供的方案中,客户机在发起建连请求时,同时发送握手包和请求数据包,其中,握手包即为建立普通TCP连接的握手包,请求数据包中包含了用于向服务器请求相关数据的数据请求;相应地,服务器在接收到来自客户机的请求数据包以及握手包,或者由于各类原因仅接收到请求数据包时,可以根据这些包所携带的相应内容确定请求数据包来自于匹配的客户机,进而与客户机建立连接,由于握手包和请求数据包分别单独发送,无须将数据请求塞入握手包中,因此不会被防火墙丢弃,而造成建连失败。
技术领域
本申请涉及信息技术领域,尤其涉及一种快速建立TCP连接的方法及相应的设备。
背景技术
TCP(Transmission Control Protocol,传输控制协议)作为常用的传输协议,对现有的互联网应用影响巨大。所有基于TCP的应用,在传输速度方面,都不免受到TCP自身处理机制的限制。现有的移动端App(Application,应用)或PC(Personal Computer,个人计算机)端的Web(互联网)页面,需要尽快展现给用户,否则会造成糟糕的体验效果,并导致点击率下降。常见的应用请求,其所要求的数据传送规模并不大,有众多的请求仅仅要求服务器提供十几KB乃至几个KB的数据。
而现有的TCP处理机制,在这种应用场景中,很容易造成带宽浪费,传输效率低。由于TCP是可靠的传输协议,所以在数据传输开始之前,要求客户机(client)和服务器(server)确认建立连接,也就是三次握手,如图1所示。以客户机发起请求的情况为例,客户机首先发出一个握手包(SYN包)给服务器;如果服务器收到了这个握手包,则回应一个握手确认包(SYN+ACK包)给客户机;客户机接到握手确认包之后,会再向服务器回复一个确认包(ACK包)表示确认连接建立。而后客户机才开始发送数据请求,这样,在发送数据请求之前,已经浪费了一个往返延时(Round Trip Time,RTT)。这对于需要频繁建立连接的交互式应用而言,影响较大,拖慢了传输效率。
目前解决传输时,节省建连开销的办法主要有两种:一、连接保活。在应用层和TCP层都有一些保活机制,比如HTTP keepalive,其核心原理是在同一条连接上不断发送保活探测包,以维持连接的可用性。使用连接保活技术来节省建连开销,有以下几个问题:
1.仅适用于复用同一条连接的情况。无论是TCP还是应用的保活机制,都是在同一条连接上维持可用性。而复用同一条连接,需要应用程序的支持。
2.不能应对需要频繁建立新连接的动态路径切换场景。在动态路径切换的场景中,多个节点之间有多条通路,为了实时选择最近路线,往往需要频繁切换连接。
二、Google提出的TCP Fast Open机制,在发送SYN包建立连接时,携带数据请求,其具体交互流畅如图2所示,为了防止DDos(Distributed Denial of Service,分布式拒绝服务)等攻击,需要在支持Google TCP Fast Open的客户机和服务器之间建立信任关系。因此在初始化时,客户机需要向服务器发起TFO cookie请求(TFO cookie request)。在拿到cookie之后,客户机的后续发送数据请求(data)的过程可以节省建连开销。在每次发起建连请求时,携带TFO cookie和data(即发送的数据包为SYN+TFOcookie+data包),服务器收到正确的cookie之后,可以快速建立连接,并将data交给上层处理。这样,在建连的同时,就可以触发服务端发送数据,比传统的TCP交互过程节省了一个往返延迟。由此可知,使用Google TCP Fast Open(GTFO)来节省建连开销时还存在如下问题:
1.GTFO必须将数据请求塞入SYN包才能起到节省建连开销,由于这种SYN+DATA的握手包与建立TCP连接的标准握手包存在差异,许多防火墙对会主动丢弃,而防火墙的主动丢弃行为会造成大量的建连失败,导致其在实际场景无法应用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610948468.2/2.html,转载请声明来源钻瓜专利网。