[发明专利]一种在故障切换时保持TCP连接的方法有效
申请号: | 201310321034.6 | 申请日: | 2013-07-26 |
公开(公告)号: | CN104348637B | 公开(公告)日: | 2018-07-03 |
发明(设计)人: | 刘磊;郑艳伟;彭飞 | 申请(专利权)人: | 中国科学院声学研究所;北京中科海力技术有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/06;H04L1/16 |
代理公司: | 北京法思腾知识产权代理有限公司 11318 | 代理人: | 杨小蓉;杨青 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 真实服务器 连接记录 服务器 预处理 改写 故障切换 备调度服务器 主调度服务器 客户端IP 目标地址 目标端口 源地址 源端口 保存 响应 客户 分析 | ||
本发明涉及一种在故障切换时保持TCP连接的方法,在主调度服务器与备调度服务器上同时执行以下步骤:接收并分析IP包,对于来自客户端的不存在连接记录的IP包做预处理,预处理包括:若是TCP数据包,从一组真实服务器中选出一台服务器,与选定服务器的地址和响应端口补建TCP连接,生成并保存连接记录,若不是TCP数据包,从一组真实服务器中选出一台服务器,生成并保存连接记录;然后将来自客户端IP包的目标地址和目标端口改写为选出的真实服务器的地址和端口,对于属于补建TCP连接的IP包,还要将源地址和源端口改为补建连接的本地地址和本地端口,同时改写TCP头部的序号和确认序号,再将改写后的IP包发送给所述选出的真实服务器。
技术领域
本发明涉及通信技术领域,特别涉及在故障切换时保持TCP连接的方法。
背景技术
故障切换(failover)指在发生故障时提供一种保护机制,当一台服务器失效时,另一台服务器会立刻接替工作,故障切换通过冗余来实现高可用性。
Linux Virtual Server(简称LVS)是基于Linux服务器集群解决方案,如图1所示,以VS/NAT(Virtual Server via NAT)模式为例,客户端100通过Virtual IP Address(虚拟服务的IP地址)访问网络服务时,请求报文到达调度服务器(假设为主调度服务器102),调度服务器从一组真实服务器中选出一台服务器,例如真实服务器105,将报文的目标地址Virtual IP Address改写成选定服务器的地址,报文的目标端口改写成选定服务器的相应端口,最后将修改后的报文发送给选出的服务器,同时调度服务器器在连接Hash表中记录这个连接,当这个连接的下一个报文到达时,从连接Hash表中可以得到原选定服务器的地址和端口,进行同样的改写操作,并将报文传给原选定的服务器,当来自真实服务器的响应报文经过调度服务器时,调度服务器将报文的源地址和源端口改为Virtual IP Address和相应的端口,再把报文发给客户端。
以LVS架设的主备调度服务器实现的高可用性为例,当主调度服务器102故障时,备调度服务器103通过心跳检测到主调度服务器故障,然后自动接管主调度服务器的工作,用户只感觉到一个虚拟服务器。
然后现有技术中的上述故障切换方法存在以下缺点:
在故障切换时,当与某一已建立连接属于同一TCP连接的报文被备调度服务器均衡到不同的真实服务器时,该真实服务器接收到报文后,并不知道数据报文段中提到的连接,TCP处理的原则是接收方以复位作为应答,客户端将收到RST报文,造成连接被异常终止。因此对已经建立连接的TCP连接,在故障切换时,容易导致客户端TCP连接异常终止。
发明内容
本发明的目的在于克服现有技术中的故障切换方法容易导致客户端TCP连接异常终止的缺陷,从而提供一种在故障切换时保持TCP连接的方法。
为了实现上述目的,本发明提供了一种在故障切换时保持TCP连接的方法,在主调度服务器与备调度服务器上同时执行以下步骤:
接收并分析IP包,对于来自客户端的不存在连接记录的IP包做预处理,所述预处理包括:若是TCP数据包,从一组真实服务器中选出一台服务器,与选定服务器的地址和响应端口补建TCP连接,生成并保存连接记录,若不是TCP数据包,从一组真实服务器中选出一台服务器,生成并保存连接记录;然后将来自客户端IP包的目标地址和目标端口改写为选出的真实服务器的地址和端口,对于属于补建TCP连接的IP包,还要将源地址和源端口改为补建连接的本地地址和本地端口,同时改写TCP头部的序号和确认序号,再将改写后的IP包发送给所述选出的真实服务器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科海力技术有限公司,未经中国科学院声学研究所;北京中科海力技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310321034.6/2.html,转载请声明来源钻瓜专利网。