TCP连接的管理方法和装置制造方法及图纸

技术编号:14822689 阅读:41 留言:0更新日期:2017-03-15 20:52
本申请提供一种TCP连接的管理方法和装置,包括:接收到终端设备发送的TCP协议报文;当TCP协议报文为TCP SYN报文时,基于系统内核时钟的计数值和预设的比率对TCP SYN报文的序列号进行修改,向服务器转发修改后的报文,并将修改前后的序列号之间的差值与报文的会话特征对应保存;当TCP协议报文不是TCP SYN报文时,根据TCP协议报文的会话特征查找对应的差值,基于差值对TCP协议报文的序列号进行修改,并向服务器转发修改后的报文;在接收到服务器发送的TCP协议报文时,根据TCP协议报文的会话特征查找对应的差值,基于差值对TCP协议报文的确认号进行逆修改,并向终端设备转发逆修改后的报文。

【技术实现步骤摘要】

本申请涉及通信
,尤其涉及一种TCP连接的管理方法和装置
技术介绍
NAT(NetworkAddressTranslation,网络地址转换)设备可以对来自终端设备的访问请求进行地址转换,将其源地址由私网地址转换为公网地址,以访问公网中的服务器。由于私网中的终端设备数量通常远大于NAT设备中公网地址的数量,在NAT设备进行地址转换的过程中,可能会出现来自不同的终端设备的访问请求经过地址转换后,具有相同的会话特征的情况,比如:在某时刻,NAT设备将来自终端设备1的访问请求的五元组转换为五元组1。在终端设备1结束访问后,NAT设备可以释放相关的公网地址以及端口号,后续可能将来自终端设备2的访问请求的五元组也转换为五元组1。在这种情况下,如果服务器可以将与终端设备1之间建立的TCP连接复用至终端设备2,则可以加快服务器的响应速度,快速实现用户业务。然而,服务器复用TCP连接的概率通常很低,服务器的响应速度也因此受到影响。
技术实现思路
有鉴于此,本申请提供一种TCP连接的管理方法和装置,以解决相关技术中服务器复用TCP连接的概率低的问题。具体地,本申请是通过如下技术方案实现的:第一方面,本申请提供一种TCP连接的管理方法,所述方法应用于网络地址转换NAT设备,包括:在接收到终端设备发送的TCP协议报文后,判断所述TCP协议报文是否为TCPSYN报文;当所述TCP协议报文为TCPSYN报文时,基于系统内核时钟的计数值和预设的比率对所述TCPSYN报文的序列号进行修改,将修改后的TCPSYN报文转发给服务器,并将修改前后的序列号之间的差值与所述TCPSYN报文的会话特征对应保存;当所述TCP协议报文不是TCPSYN报文时,根据所述TCP协议报文的会话特征查找对应的差值,基于所述差值对所述TCP协议报文的序列号进行修改,并将修改后的TCP协议报文转发给服务器;在接收到服务器发送的TCP协议报文时,根据所述TCP协议报文的会话特征查找对应的差值,基于所述差值对所述TCP协议报文的确认号进行逆修改,并将逆修改后的TCP协议报文转发给终端设备。第二方面,本申请提供一种TCP连接的管理装置,所述装置应用于NAT设备,包括:报文判断单元,用于在接收到终端设备发送的TCP协议报文后,判断所述TCP协议报文是否为TCPSYN报文;第一修改单元,用于当所述TCP协议报文为TCPSYN报文时,基于系统内核时钟的计数值和预设的比率对所述TCPSYN报文的序列号进行修改,将修改后的TCPSYN报文转发给服务器,并将修改前后的序列号之间的差值与所述TCPSYN报文的会话特征对应保存;第二修改单元,用于当所述TCP协议报文不是TCPSYN报文时,根据所述TCP协议报文的会话特征查找对应的差值,基于所述差值对所述TCP协议报文的序列号进行修改,并将修改后的TCP协议报文转发给服务器;逆修改单元,用于在接收到服务器发送的TCP协议报文时,根据所述TCP协议报文的会话特征查找对应的差值,基于所述差值对所述TCP协议报文的确认号进行逆修改,并将逆修改后的TCP协议报文转发给终端设备。分析上述技术方案可知,本申请NAT设备在接收到来自终端设备的TCPSYN报文时,可以根据系统内核时钟的计数值和预设的比率对该TCPSYN报文的序列号进行修改,从而提高服务器复用TIME_WAIT状态TCP连接的概率,加快服务器的响应速度。附图说明图1是一种TCP连接过程的示意图;图2是TCP协议报文的报文格式图;图3是本申请一示例性实施例示出的一种TCP连接的管理方法的流程图;图4是本申请一示例性实施例示出的一种TCP连接的管理装置所在设备的硬件结构图;图5是本申请一示例性实施例示出的一种TCP连接的管理装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。图1是一种TCP连接过程的示意图。请参考图1,终端设备1与服务器之间可以通过TCP协议中的三次握手建立TCP连接。在一个例子中,终端设备1可以主动向服务器发送TCPSYN报文,比如:TCPSYN1,以请求建立TCP连接。服务器在接收到TCPSYN1后,可以向终端设备1回复TCPSYN+ACK报文,比如TCPSYN+ACK1。终端设备1在接收到TCPSYN+ACK1后,可以向服务器回复TCPACK报文,比如:TCPACK1,以完成TCP连接的建立,在建立TCP连接后,终端设备1与服务器之间可以基于该TCP连接进行数据交互。通常,终端设备在确定完成数据发送后可以主动向服务器发送TCPFIN报文,以请求关闭与服务器之间建立的TCP建立。但在实际应用中,服务器在确定完成数据发送后也可以主动向终端设备发送TCPFIN报文,以请求关闭与终端设备之间建立的TCP连接。如图1所示,假设服务器主动向终端设备1发送TCPFIN报文,比如:TCPFIN1,则终端设备1在接收到TCPFIN1后,可以先向服务器回复TCPACK报文,比如:TCPACK2。后续,终端设备1在确定完成数据发送后,也可以向服务器发送TCPFIN报文,比如:TCPFIN2。服务器在接收到TCPFIN2后,也可以向终端设备1回复TCPACK报文,比如:TCPACK3。终端设备1在接收到服务器回复的TCPACK3后,可以将该TCP连接的状态变更为CLOSED状态,以关闭该TCP连接。而服务器在向终端设备1回复TCPACK3后,则可以将该TCP连接的状态变更为TIME_WAIT状态,TIME_WAIT状态的时长通常为2个MSL(MaximumSegmentLifetime,最大分节生命期),其中MSL时间是报文在网络中存在的最长时间。在达到TIME_WAIT状态的时长后,服务器可以将该TCP连接的状态变更为CLOSED状态。如果终端设备1在等待一定时间后仍未接收到TCPACK3,则可以再次向服务器发送TCPFIN报文,以告知服务器其未能正常关闭该TCP连接。服务器在接收到该TCPFIN报文后,可以再次向终端设备1发送TCPACK报文,以确保该TCP连接的正常关闭。图2是TCP协议报文的报文格式图,TCP协议报文中通常都会携带序列号和确认号。其中,TCP协议报文的序列号可以表示本端发送本文档来自技高网...
TCP连接的管理方法和装置

【技术保护点】
一种TCP连接的管理方法,其特征在于,所述方法应用于网络地址转换NAT设备,包括:在接收到终端设备发送的TCP协议报文后,判断所述TCP协议报文是否为TCP SYN报文;当所述TCP协议报文为TCP SYN报文时,基于系统内核时钟的计数值和预设的比率对所述TCP SYN报文的序列号进行修改,将修改后的TCP SYN报文转发给服务器,并将修改前后的序列号之间的差值与所述TCP SYN报文的会话特征对应保存;当所述TCP协议报文不是TCP SYN报文时,根据所述TCP协议报文的会话特征查找对应的差值,基于所述差值对所述TCP协议报文的序列号进行修改,并将修改后的TCP协议报文转发给服务器;在接收到服务器发送的TCP协议报文时,根据所述TCP协议报文的会话特征查找对应的差值,基于所述差值对所述TCP协议报文的确认号进行逆修改,并将逆修改后的TCP协议报文转发给终端设备。

【技术特征摘要】
1.一种TCP连接的管理方法,其特征在于,所述方法应用于网络地址转换NAT设备,包括:在接收到终端设备发送的TCP协议报文后,判断所述TCP协议报文是否为TCPSYN报文;当所述TCP协议报文为TCPSYN报文时,基于系统内核时钟的计数值和预设的比率对所述TCPSYN报文的序列号进行修改,将修改后的TCPSYN报文转发给服务器,并将修改前后的序列号之间的差值与所述TCPSYN报文的会话特征对应保存;当所述TCP协议报文不是TCPSYN报文时,根据所述TCP协议报文的会话特征查找对应的差值,基于所述差值对所述TCP协议报文的序列号进行修改,并将修改后的TCP协议报文转发给服务器;在接收到服务器发送的TCP协议报文时,根据所述TCP协议报文的会话特征查找对应的差值,基于所述差值对所述TCP协议报文的确认号进行逆修改,并将逆修改后的TCP协议报文转发给终端设备。2.根据权利要求1所述的方法,其特征在于,所述基于系统内核时钟的计数值和预设的比率对所述TCPSYN报文的序列号进行修改,包括:用所述系统内核时钟的计数值对应的时长乘以所述预设的比率,得到目标序列号;将所述TCPSYN报文的序列号替换为所述目标序列号。3.根据权利要求1所述的方法,其特征在于,所述预设的比率与TCP连接的时长、TCP连接的上行速率、TCP连接TIME_WAIT状态的时长相关。4.根据权利要求1所述的方法,其特征在于,所述基于所述差值对所述TCP协议报文的序列号进行修改,包括:当所述差值不为0时,基于所述差值对所述TCP协议报文的序列号进行修改。5.根据权利要求1所述的方法,其特征在于,所述基于所述差值对所述TCP协议报文的确认号进行逆修改,包括:当所述差值不为0时,基于所述差值对所述TCP协议报文的确认号进行逆...

【专利技术属性】
技术研发人员:陈伟
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江;33

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

1