CN111464514A - 一种tcp热备份方法及系统 - Google Patents
一种tcp热备份方法及系统 Download PDFInfo
- Publication number
- CN111464514A CN111464514A CN202010197763.5A CN202010197763A CN111464514A CN 111464514 A CN111464514 A CN 111464514A CN 202010197763 A CN202010197763 A CN 202010197763A CN 111464514 A CN111464514 A CN 111464514A
- Authority
- CN
- China
- Prior art keywords
- tcp
- sequence number
- local
- sending
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Abstract
本发明公开了一种TCP热备份方法及系统,涉及TCP协议热备份领域,包括:在TCP协议模块有主备的时候,备份TCP连接的参数信息及本地TCP发送序号至备板;在备转主后,备板使用当前备份的本地TCP发送序号减N向TCP对端发送恢复序号的请求报文,N为正整数;收到对端应答报文后,使用所述应答报文中的报文序号恢复TCP连接。本发明TCP热备份方法及系统可减少TCP热备份过程中的备份数据量,同时减少了热备份导致的系统性能下降。
Description
技术领域
本发明涉及TCP/IP协议热备份技术领域,具体涉及一种TCP热备份方法及系统。
背景技术
在基于TCP协议(Transmission Control Protocol,传输控制协议)通信的业务比如BGP协议、FTP协议,在需要提升系统可靠性时进一步需要保证TCP连接不中断,即要求主发生故障下线,备转主之后需要能恢复原来的TCP连接而不是重新建立新的连接,这样可保证基于TCP通信的业务比如BGP协议、FTP协议不中断的进行数据通信。
TCP协议中规定报文中有4字节的确认序列号(ACK,Acknowledge character),通常ACK数据有自己固定的格式、长度大小,由接收方回复给发送方。接收端会应答当前已经确认收到的报文的序列号给发送端,发送端即可继续在后续的发送报文中使用递增且跟之前报文连续的序号。如果发送端的报文里序号是接收端已经确认过的旧序号,则接收端会应答当前的最新等待接收的ACK序号给发送端。如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据将会被重传。
当前的常见作法是把TCP的每次通信数据做备份,在主备倒换时利用备份数据中的内容来恢复TCP连接,这就要求TCP在每次收到和发送数据时都要及时把数据备份。由于存在上述序号应答机制,只有最新的备份数据才能正确的恢复TCP连接,如果出现备份数据丢失,则恢复TCP连接就可能遇到困难。所以为了确保数据的备份成功,需要系统保证备份过程的可靠性,就会有较多的性能损失。
另外也有方案使用主备板卡同时接收TCP对端数据的方式,其可靠性会比主备相互备份数据的方式提高,但是一样的导致了系统的性能大幅下降。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种TCP热备份方法及系统,减少TCP热备过程中的备份数据量,同时减少了热备导致的系统性能下降。
为达到以上目的,本发明采取的技术方案是:
一种TCP热备份方法,包括:
在TCP协议模块有主备的时候,备份主板TCP连接的参数信息及本地TCP的发送序号至备板,所述发送序号为经对端回复确认的ACK序号;在备转主后,备板将当前备份的本地TCP发送序号减N作为新的发送序号,向TCP对端发送恢复序号的请求报文,N为正整数;收到对端应答报文后,使用所述应答报文中的TCP报文序号恢复TCP连接。
在上述技术方案的基础上,所述恢复序号的请求报文为1字节数据长度的TCP报文。
在上述技术方案的基础上,在备份TCP连接的参数信息及本地TCP发送序号至备用板前,还包括:
在TCP协议栈中增加用于进行TCP连接参数信息备份及恢复的TCP连接管理模块;建立TCP通信连接关系后,在发送的数据报文中填充报文序号。
在上述技术方案的基础上,所述TCP连接管理模块备份的TCP连接参数信息包括本地的IP地址、远端IP地址、本地TCP端口、远端TCP端口以及本地TCP发送序号。
在上述技术方案的基础上,所述本地TCP发送序号使用低优先级的延迟备份方式备份。
在上述技术方案的基础上,所述本地TCP发送序号为经对端回复确认的ACK序号,且N为1。
本发明还提供一种TCP热备份系统,包括:
主板,所述主板包括第一TCP协议模块和第一TCP连接管理模块,所述第一TCP协议模块用于与远端设备通过TCP协议连接及通信,所述第一TCP连接管理模块用于备份TCP连接的参数信息及本地TCP发送序号至备板;
备板,所述备板包括第二TCP协议模块和第二TCP连接管理模块,所述第二TCP连接管理模块用于接收所述第一TCP连接管理模块发送的TCP连接的参数信息及本地TCP发送序号,以及在备转主后,提供当前备份的本地TCP发送序号给所述第二TCP协议模块;所述第二TCP协议模块用于在备转主后,使用当前备份的本地TCP发送序号减N作为新的发送序号,向TCP对端发送恢复序号的请求报文,N为正整数,以及在收到对端应答报文后,使用所述应答报文中的报文序号恢复TCP连接。
在上述技术方案的基础上,所述TCP连接管理模块备份的TCP连接参数信息包括本地的IP地址、远端IP地址、本地TCP端口、远端TCP端口以及本地TCP发送序号。
在上述技术方案的基础上,第一TCP协议模块还用于在TCP通信时跟TCP对端经过三次握手建立连接关系,并在此后发送数据时在报文中填充本地TCP发送序号。
在上述技术方案的基础上,所述本地TCP发送序号为经TCP对端回复确认的ACK序号,且N为1。
与现有技术相比,本发明的优点在于:
(1)本发明的TCP热备份方法通过在TCP协议栈中增加TCP连接管理模块,用于进行TCP协议栈热备过程中的TCP序号备份和恢复。从而减少TCP热备过程中的备份数据量,只备序号不备数据且备份优先级低不要求实时备份,减少了热备导致的系统性能下降。
(2)本发明的TCP热备份方法在主备倒换之后主动激发对端TCP应答来恢复TCP序号,在备转主过程中,使用从主端备份过来的报文序列号减N(优选为1)后的序号,以向TCP对端发送恢复序号的请求报文的方式激发对端应答。与传统TCP恢复方法中被动等待对端主动进行恢复的步骤相比,本发明方法可较快的恢复TCP连接,缩短主备倒换期间不能发送数据的时间。
附图说明
图1为本发明实施例TCP热备份方法的流程图。
图2为本发明实施例TCP热备份方法中正常TCP通行时主板和备板各模块实施数据备份过程示意图。
图3为本发明实施例TCP热备份方法中TCP倒换时主板和备板各模块交互过程示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
如图1所示,本发明实施例提供一种TCP热备份方法,包括:
在使用TCP协议通信的设备包含的TCP协议模块设置热备份功能的时候,具备主板和背板时,备份主板TCP连接的参数信息及本地TCP的发送序号至备板,所述发送序号为经对端回复确认的ACK序号;在主板出现故障,备板转为主板后,备板将当前备份的本地TCP发送序号减N作为新的发送序号,向TCP对端发送恢复序号的请求报文,N为正整数;收到对端应答报文后,使用所述应答报文中的报文序号恢复TCP连接。
在一个具体的实施例中,所述恢复序号的请求报文为1字节数据长度的TCP报文。
优选的,在主板出现故障,备板转为主板后,备板将当前备份的本地TCP发送序号减1作为新的发送序号,向TCP对端发送恢复序号的请求报文;随后恢复序号的请求报文设置为1字节数据长度的TCP报文。当然请求报文设置为大于1字节数据长度的TCP报文也可以,但会增加网络开销。
优选的,在备份TCP连接的参数信息及本地TCP发送序号至备用板前,还包括:
在TCP协议栈中增加用于进行TCP连接参数信息备份及恢复的TCP连接管理模块;建立TCP通信连接关系后,在发送的数据报文中填充报文序号。
在上述过程中,所述TCP连接管理模块备份的TCP连接参数信息包括本地的IP地址、远端IP地址、本地TCP端口、远端TCP端口以及本地TCP发送序号。这样备板卡的TCP协议模块在备转主后,可通过备份的上述信息快速获取当前TCP连接的各项参数,以便快速建立及恢复相关连接状态。
在上述过程中,本地TCP发送序号使用低优先级的延迟备份方式备份。这种方式在达到本发明实施效果的基础上,基本不占用系统核心资源,对系统的性能影响小。
上述过程中描述的所述本地TCP发送序号均为经TCP对端设备按TCP协议规定,在相关TCP协议报文中回复确认的ACK序号。
如图2、图3所示,本发明还提供一种TCP热备份系统,包括:
主板,所述主板包括第一TCP协议模块和第一TCP连接管理模块,所述第一TCP协议模块用于与远端设备通过TCP协议连接及通信,所述第一TCP连接管理模块用于备份TCP连接的参数信息及本地TCP发送序号至备板;
备板,所述备板包括第二TCP协议模块和第二TCP连接管理模块,所述第二TCP连接管理模块用于接收所述第一TCP连接管理模块发送的TCP连接的参数信息及本地TCP发送序号,以及在备转主后,提供当前备份的本地TCP发送序号给所述第二TCP协议模块;所述第二TCP协议模块用于在备转主后,使用当前备份的本地TCP发送序号减N(优选为1)向TCP对端发送恢复序号的请求报文,以及在收到对端应答报文后,使用所述应答报文中的报文序号恢复TCP连接。
在一个实施例中,所述TCP连接管理模块备份的TCP连接参数信息包括本地的IP地址、远端IP地址、本地TCP端口、远端TCP端口以及本地TCP发送序号。
第一TCP协议模块还用于在TCP通信时跟TCP对端经过三次握手建立连接关系,并在此后发送数据时在报文中填充本地TCP发送序号。在上述过程中,所述本地TCP发送序号为经TCP对端回复确认的ACK序号。
下面就一个具体的本发明TCP热备份方法的实施过程进行说明:
在方法实施前,建立包括主板卡和备板卡的TCP热备份系统,主板卡和备板卡分别包括TCP协议模块和TCP连接管理模块。
开始时,主板卡TCP协议模块在TCP通信时即跟TCP对端经过三次握手建立连接关系,在此后的发送数据时会在报文中填充序号。在正常工作过程中,主板卡与TCP对端设备进行连接和通信,主板卡和备板卡之间通过TCP连接管理模块进行TCP连接的参数信息及本地TCP发送序号的备份。
在进行备份的过程中,第一TCP连接管理模块备份TCP连接的参数信息如本地的IP地址、远端IP地址、本地TCP端口、远端TCP端口,另外第一TCP连接管理模块备份本地TCP发送序号(对端已经ACK确认的)到备板卡,相关过程如图2所示。
在主板卡发生故障,备板卡转主板卡之后,第二TCP协议模块按从第二TCP连接管理模块接收的备份序号,按当前备份的序号减一作为报文序号,向TCP对端发送恢复序号的请求报文,报文内容即1字节的数据。
TCP对端设备在接收到恢复序号的请求报文后,会按TCP协议标准进行处理,一方面由于接收到了请求报文,使其感应到的TCP协议通信中断时间到此为止,不会按TCP协议规定进行后续中断协议通信等操作;另一方面,由于本次恢复序号的请求报文的报文序号为最新序号减一,对端设备会判断出此序号已经在前面的接收数据时确认过,所以TCP对端设备会按TCP协议标准应答了最新的报文序号给备用板卡,相关过程如图3所示。
第二TCP连接管理模块随即用此最新的报文序号恢复TCP连接,第二TCP协议模块可以使用正确的TCP序号填充后续的TCP报文。
通过上述本发明的TCP热备份方法,由于本方法在主备倒换之后主动激发对端TCP应答来恢复TCP报文序号,在备转主过程中,使用从主端备份过来的报文序列号减N(优选为1)后的序号,以向TCP对端发送恢复序号的请求报文的方式激发对端应答。备板卡发送恢复序号的请求数据为1字节数据长度的TCP报文,报文中的序号填充的是从主端备份过来的报文序列号减1,按图3的所示,则是填写的2499(即2500-1),因为此序号已经是确认过的,所以1字节的数据会被TCP对端丢弃,但是TCP对端会回复应答报文。
与传统TCP恢复方法中被动等待对端主动进行恢复的步骤相比,本发明方法可较快的恢复TCP连接,缩短主备倒换期间不能发送数据的时间。同时,上述过程中备份TCP报文序号时使用的是延迟备份方式,不占用系统核心资源,对系统的性能影响小。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种TCP热备份方法,其特征在于,包括:
在TCP协议模块有主备的时候,备份主板TCP连接的参数信息及本地TCP的发送序号至备板,所述发送序号为经对端回复确认的ACK序号;
在备转主后,备板将当前备份的本地TCP发送序号减N作为新的发送序号,向TCP对端发送恢复序号的请求报文,N为正整数;
收到对端应答报文后,使用所述应答报文中的TCP报文序号恢复TCP连接。
2.如权利要求1所述的TCP热备份方法,其特征在于:所述恢复序号的请求报文为1字节数据长度的TCP报文。
3.如权利要求1所述的TCP热备份方法,其特征在于,在备份TCP连接的参数信息及本地TCP发送序号至备用板前,还包括:
在TCP协议栈中增加用于进行TCP连接参数信息备份及恢复的TCP连接管理模块;
建立TCP通信连接关系后,在发送的数据报文中填充报文序号。
4.如权利要求3所述的TCP热备份方法,其特征在于:所述TCP连接管理模块备份的TCP连接参数信息包括本地的IP地址、远端IP地址、本地TCP端口、远端TCP端口以及本地TCP发送序号。
5.如权利要求1所述的TCP热备份方法,其特征在于:所述本地TCP发送序号使用低优先级的延迟备份方式备份。
6.如权利要求1所述的TCP热备份方法,其特征在于:所述本地TCP发送序号为经对端回复确认的ACK序号,且N为1。
7.一种TCP热备份系统,其特征在于,包括:
主板,所述主板包括第一TCP协议模块和第一TCP连接管理模块,所述第一TCP协议模块用于与远端设备通过TCP协议连接及通信,所述第一TCP连接管理模块用于备份TCP连接的参数信息及本地TCP发送序号至备板;
备板,所述备板包括第二TCP协议模块和第二TCP连接管理模块,所述第二TCP连接管理模块用于接收所述第一TCP连接管理模块发送的TCP连接的参数信息及本地TCP发送序号,以及在备转主后,提供当前备份的本地TCP发送序号给所述第二TCP协议模块;所述第二TCP协议模块用于在备转主后,使用当前备份的本地TCP发送序号减N作为新的发送序号,向TCP对端发送恢复序号的请求报文,N为正整数,以及在收到对端应答报文后,使用所述应答报文中的报文序号恢复TCP连接。
8.如权利要求7所述的TCP热备份系统,其特征在于:所述TCP连接管理模块备份的TCP连接参数信息包括本地的IP地址、远端IP地址、本地TCP端口、远端TCP端口以及本地TCP发送序号。
9.如权利要求7所述的TCP热备份系统,其特征在于:
第一TCP协议模块还用于在TCP通信时跟TCP对端经过三次握手建立连接关系,并在此后发送数据时在报文中填充本地TCP发送序号。
10.如权利要求7所述的TCP热备份系统,其特征在于:所述本地TCP发送序号为经TCP对端回复确认的ACK序号,且N为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010197763.5A CN111464514A (zh) | 2020-03-19 | 2020-03-19 | 一种tcp热备份方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010197763.5A CN111464514A (zh) | 2020-03-19 | 2020-03-19 | 一种tcp热备份方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111464514A true CN111464514A (zh) | 2020-07-28 |
Family
ID=71680849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010197763.5A Pending CN111464514A (zh) | 2020-03-19 | 2020-03-19 | 一种tcp热备份方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464514A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113852549A (zh) * | 2021-09-27 | 2021-12-28 | 卡斯柯信号有限公司 | 一种主备双系独立接收并处理数据的实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268175A1 (en) * | 2003-06-11 | 2004-12-30 | Eternal Systems, Inc. | Transparent TCP connection failover |
US7116634B1 (en) * | 2001-12-21 | 2006-10-03 | Cisco Technology, Inc. | TCP sequence number recovery in a redundant forwarding system |
CN101714916A (zh) * | 2009-11-26 | 2010-05-26 | 成都市华为赛门铁克科技有限公司 | 一种备份方法、设备和系统 |
CN104780065A (zh) * | 2015-04-01 | 2015-07-15 | 福建星网锐捷网络有限公司 | 一种tcp热备份方法和系统 |
WO2017219779A1 (zh) * | 2016-06-21 | 2017-12-28 | 中兴通讯股份有限公司 | 基于链路协议的设备主备倒换方法和装置、存储介质 |
-
2020
- 2020-03-19 CN CN202010197763.5A patent/CN111464514A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7116634B1 (en) * | 2001-12-21 | 2006-10-03 | Cisco Technology, Inc. | TCP sequence number recovery in a redundant forwarding system |
US20040268175A1 (en) * | 2003-06-11 | 2004-12-30 | Eternal Systems, Inc. | Transparent TCP connection failover |
CN101714916A (zh) * | 2009-11-26 | 2010-05-26 | 成都市华为赛门铁克科技有限公司 | 一种备份方法、设备和系统 |
CN104780065A (zh) * | 2015-04-01 | 2015-07-15 | 福建星网锐捷网络有限公司 | 一种tcp热备份方法和系统 |
WO2017219779A1 (zh) * | 2016-06-21 | 2017-12-28 | 中兴通讯股份有限公司 | 基于链路协议的设备主备倒换方法和装置、存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113852549A (zh) * | 2021-09-27 | 2021-12-28 | 卡斯柯信号有限公司 | 一种主备双系独立接收并处理数据的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1909468B1 (en) | Method and apparatus for backing up TCP connection | |
US7672223B2 (en) | Method and apparatus for replicating a transport layer protocol stream | |
EP1829267B1 (en) | Redundant l2tp end points | |
US9031076B2 (en) | Processing requests | |
CN100388721C (zh) | 对基于流控制传送协议的偶联进行保护的方法 | |
WO2007093087A1 (fr) | Procédé de synchronisation d'état de connexion dans des communications de données et nœud de communication affecté | |
CN108234087B (zh) | 数据传输方法及发送端 | |
US7512061B2 (en) | Recovery of state information of a first tunnel end-point | |
CN102025474A (zh) | 一种网络数据传输方法 | |
CN110011967A (zh) | 一种用于数据传输的方法和系统 | |
JP3620010B2 (ja) | 無線通信システムで用いられる装置とプログラム記録媒体 | |
CN105790903A (zh) | 一种终端及终端呼叫软切换的方法 | |
CN111464514A (zh) | 一种tcp热备份方法及系统 | |
CN103391324B (zh) | 一种基于tftp协议的热备份方法 | |
CN103607311B (zh) | 一种无缝重建tcp连接的系统及方法 | |
CN113452568B (zh) | 车辆通信方法、通信系统、车辆以及存储介质 | |
CN106230747B (zh) | 恢复tcp连接序列号的方法、装置及系统 | |
CN112187408B (zh) | 数据处理方法、系统、装置、存储介质和处理器 | |
JPH05122278A (ja) | 交換機の端末制御方式 | |
JP3301590B2 (ja) | プロトコル状態同期化システム | |
JPH11168525A (ja) | データ通信方法およびデータ通信装置 | |
JPH114259A (ja) | 仮想コネクション通信装置及び通信方法 | |
CN106209733B (zh) | 一种数据处理方法及装置 | |
JP3131455B2 (ja) | 通信データ保証方式 | |
JP2000347965A (ja) | モバイル通信システム、及びモバイル通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200728 |