CN109194576A - 一种tcp热备份的方法和装置 - Google Patents
一种tcp热备份的方法和装置 Download PDFInfo
- Publication number
- CN109194576A CN109194576A CN201811248508.8A CN201811248508A CN109194576A CN 109194576 A CN109194576 A CN 109194576A CN 201811248508 A CN201811248508 A CN 201811248508A CN 109194576 A CN109194576 A CN 109194576A
- Authority
- CN
- China
- Prior art keywords
- tcp
- message
- processing module
- mainboard
- sequence
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种TCP热备份的方法和装置,方法包括:主板TCP处理模块通过报文处理模块建立与邻居节点的第一TCP连接;主板TCP处理模块将第一TCP连接的内容同步到备板TCP处理模块;备板TCP处理模块根据第一TCP连接生成第二TCP连接,第二TCP连接是第一TCP连接的镜像;主板TCP处理模块将报文处理模块设置为TCP不间断转发状态,以便于报文处理模块在收到邻居节点发送的第一TCP数据报文时,只向备板TCP处理模块发送第一TCP数据报文;备板TCP处理模块同步第一TCP数据报文到主板TCP处理模块;主板TCP处理模块将第一TCP数据报文发送到主板应用层模块处理;备板TCP处理模块将第一TCP数据报文发送到备板应用层模块处理。降低了主备板交互处理的复杂度及实现难度。
Description
技术领域
本发明涉及数据通信领域,尤其是一种TCP热备份的方法和装置。
背景技术
不间断路由技术(Nonstop Routing,NSR)属于网络设备高可靠性技术的一部分。当设备的主板发生故障后,由备板接替主板继续工作,其他设备不会感知主板已发生故障。对于采用TCP作为传输层的路由协议,如BGP(Border Gateway Protocol,边界网关协议),LDP(Label Distribution Protocol,标签分发协议),要实现NSR的基础,需要保证主备板在倒换过程中TCP连接及TCP报文传输不中断,即需要实现在主备板间TCP连接热备份。
目前,现有技术方案主要是通过由主板来接收及发送TCP报文,并将接收及需要发送的数据报文同步到备板,从而保证主备板TCP状态一致,但现有技术方案中主板在接收及发送TCP报文时,必须等待备板应答确认消息后才可进行处理,主备板之间报文同步的交互处理逻辑复杂,并且主备板交互异常时可能会导致主板长时间等待而导致使TCP报文无法得到处理。
发明内容
为了解决上述技术问题,本发明的实施例采用如下技术方案:一种TCP热备份的方法,包括:
主板TCP处理模块通过报文处理模块建立与邻居节点的第一TCP连接;
主板TCP处理模块将所述第一TCP连接的内容同步到备板TCP处理模块;
备板TCP处理模块根据所述第一TCP连接生成第二TCP连接,所述第二TCP连接是所述第一TCP连接的镜像;
主板TCP处理模块将所述报文处理模块设置为TCP不间断转发状态,以便于所述报文处理模块在收到所述邻居节点发送的第一TCP数据报文时,只向所述备板TCP处理模块发送所述第一TCP数据报文;
所述备板TCP处理模块同步所述第一TCP数据报文到所述主板TCP处理模块;
所述主板TCP处理模块将所述第一TCP数据报文发送到主板应用层模块进行处理;
所述备板TCP处理模块将所述第一TCP数据报文发送到备板应用层模块进行处理。
可选的,所述主板TCP处理模块将所述第一TCP连接的内容同步到备板TCP处理模块的步骤之前,还包括:
所述主板TCP处理模块向所述主板应用层模块设置禁止向所述第一TCP连接发送数据报文;
所述主板TCP处理模块向所述报文处理模块设置禁止接收所述第一TCP连接中的数据报文。
可选的,所述主板TCP处理模块将所述第一TCP连接的内容同步到备板TCP处理模块的步骤之后,还包括:
所述主板TCP处理模块向所述主板应用层模块设置可向所述第一TCP连接发送数据报文;
所述主板TCP处理模块向所述报文处理模块设置可接收所述第一TCP连接的数据报文。
可选的,所述第一TCP连接包括:
当前重传队列中待重传的数据报文,当前发送的数据报文的序列号和/或已接收的数据报文的序列号。
可选的,所述主板TCP处理模块将所述第一TCP数据报文发送到主板应用层模块进行处理,且所述备板TCP处理模块将所述第一TCP数据报文发送到备板应用层模块进行处理后还包括:
所述备板TCP处理模块接收所述备板应用层模块在处理所述第一TCP数据报文后生成的第一报文序列号,以及接收所述主板应用层模块在处理所述第一TCP数据报文后生成的第二报文序列号,根据所述第一报文序列号和所述第二报文序列号获得第三报文序列号,通过所述第二TCP连接将包含所述第三报文序列号的第一响应报文发送给所述邻居节点。
可选的,还包括:
所述主板TCP处理模块接收所述主板应用层模块发送的第二TCP数据报文,不通过所述第一TCP连接向所述邻居节点发送所述第二TCP数据报文;
所述备板TCP处理模块接收所述主板应用层模块发送的第二TCP数据报文,通过所述第二TCP连接向所述邻居节点发送所述第二TCP数据报文,并在所述第二TCP数据报文中添加第四报文序列号。
可选的,还包括:
所述备板TCP处理模块通过所述第二TCP连接接收所述邻居节点根据所述第二TCP数据报文反馈的第二响应报文,所述第二响应报文中包含第五报文序列号;
所述备板TCP处理模块同步所述第二响应报文给所述主板TCP处理模块;所述备板TCP处理模块根据所述第五报文序列号与所述第四报文序列号的比较结果进行处理。
可选的,所述所述备板TCP处理模块根据所述第五报文序列号与所述第四报文序列号的比较结果进行处理的步骤具体包括:
如果第五报文序列号等于第四报文序列号,则备板TCP处理模块从备板TCP重传队列中删除已接收到的所述第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接并删除所述第二TCP连接;
如果第五报文序列号小于第四报文序列号,则备板TCP处理模块从备板TCP重传队列中删除已接收到的所述第二TCP数据报文,并将邻居节点未接收到的所述第二TCP数据报文进行重传。
可选的,所述备板TCP处理模块同步所述第二响应报文给所述主板TCP处理模块之后还包括:
如果第五报文序列号等于第四报文序列号,则所述主板TCP处理模块从主板TCP重传队列中删除所述已接收到的第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接;
如果第五报文序列号小于第四报文序列号,则主板TCP处理模块从主板TCP重传队列中删除已接收到的所述第二TCP数据报文,并不重传所述邻居节点未接收到的所述第二TCP数据报文。
可选的,还包括:
如果主板发生故障,
所述备板TCP处理模块根据备板应用层模块已接收的第一TCP数据报文的序列号,作为第三响应报文的序列号,通过所述第二TCP连接向所述邻居节点发送第三响应报文。
所述备板TCP处理模块在所述报文处理模块退出不间断转发状态后,接收所述邻居节点发送的第三TCP数据报文,发送所述第三TCP数据报文给所述备板应用层模块,以便于所述备板应用层模块对所述第三TCP数据报文进行处理;
可选的,还包括:
如果备板发生故障,
所述主板TCP处理模块根据主板应用层模块已接收的第二TCP数据报文的序列号,作为第四响应报文的序列号,通过所述第一TCP连接向所述邻居节点发送第四响应报文;
所述主板TCP处理模块在所述报文处理模块退出不间断转发状态后接收所述邻居节点发送的第四TCP数据报文,发送所述第四TCP数据报文给所述主板应用层模块,以便于所述主板应用层模块对所述第四TCP数据报文进行处理;
如果主板TCP重传队列中存在需要重传的数据报文,则将重传队列中缓存的数据报文通过所述第一TCP连接向所述邻居节点发送,并且启动主板的TCP重传机制。
本发明实施例的另一方面在于提供一种TCP热备份的装置,包括:
主板TCP处理模块,用于通过报文处理模块建立与邻居节点的第一TCP连接;
所述主板TCP处理模块,还用于将所述第一TCP连接的内容同步到备板TCP处理模块;
备板TCP处理模块,用于根据所述第一TCP连接生成第二TCP连接,所述第二TCP连接是所述第一TCP连接的镜像;
所述主板TCP处理模块,还用于将所述报文处理模块设置为TCP不间断转发状态,以便于所述报文处理模块在收到所述邻居节点发送的第一TCP数据报文时,只向所述备板TCP处理模块发送所述第一TCP数据报文;
所述备板TCP处理模块,还用于同步所述第一TCP数据报文到所述主板TCP处理模块;
所述主板TCP处理模块,还用于将所述第一TCP数据报文发送到主板应用层模块进行处理;
所述备板TCP处理模块,还用于将所述第一TCP数据报文发送到备板应用层模块进行处理。
可选的,所述主板TCP处理模块,还用于在将所述第一TCP连接的内容同步到备板TCP处理模块之前,向所述主板应用层模块设置禁止向所述第一TCP连接发送数据报文;并向所述报文处理模块设置禁止接收所述第一TCP连接中的数据报文。
可选的,所述主板TCP处理模块还用于在将所述第一TCP连接的内容同步到备板TCP处理模块之后,向所述主板应用层模块设置可向所述第一TCP连接发送数据报文;并向所述报文处理模块设置可接收所述第一TCP连接的数据报文。
可选的,所述第一TCP连接包括:
当前重传队列中待重传的数据报文,当前发送的数据报文的序列号和/或已接收的数据报文的序列号。
可选的,
所述备板TCP处理模块,还用于接收所述备板应用层模块在处理所述第一TCP数据报文后生成的第一报文序列号,以及接收所述主板应用层模块在处理所述第一TCP数据报文后生成的第二报文序列号,根据所述第一报文序列号和所述第二报文序列号获得第三报文序列号,通过所述第二TCP连接将包含所述第三报文序列号的第一响应报文发送给所述邻居节点。
可选的,所述主板TCP处理模块,还用于接收所述主板应用层模块发送的第二TCP数据报文,不通过所述第一TCP连接向所述邻居节点发送所述第二TCP数据报文;
所述备板TCP处理模块,还用于接收所述主板应用层模块发送的第二TCP数据报文,通过所述第二TCP连接向所述邻居节点发送所述第二TCP数据报文,并在所述第二TCP数据报文中添加第四报文序列号。
可选的,
所述备板TCP处理模块,还用于通过所述第二TCP连接接收所述邻居节点根据所述第二TCP数据报文反馈的第二响应报文,所述第二响应报文中包含第五报文序列号;
所述备板TCP处理模块,还用于同步所述第二响应报文给所述主板TCP处理模块;
所述备板TCP处理模块,还用于根据所述第五报文序列号与所述第四报文序列号的比较结果进行处理。
可选的,所述备板TCP处理模块具体用于,
如果第五报文序列号等于第四报文序列号,则从备板TCP重传队列中删除已接收到的所述第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接并删除所述第二TCP连接;
如果第五报文序列号小于第四报文序列号,则从备板TCP重传队列中删除已接收到的所述第二TCP数据报文,并将邻居节点未接收到的所述第二TCP数据报文进行重传。
可选的,所述主板TCP处理模块,还用于在所述备板TCP处理模块同步所述第二响应报文给所述主板TCP处理模块之后,如果第五报文序列号等于第四报文序列号,则从主板TCP重传队列中删除已接收到的所述第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接;
如果第五报文序列号小于第四报文序列号,则从主板TCP重传队列中删除已接收到的所述第二TCP数据报文,并不重传所述邻居节点未接收到的所述第二TCP数据报文。
可选的,
所述备板TCP处理模块,还用于如果主板发生故障,则根据备板应用层模块已接收的第一TCP数据报文的序列号,作为第三响应报文的序列号,通过所述第二TCP连接向所述邻居节点发送第三响应报文。
所述备板TCP处理模块,还用于如果主板发生故障,则在所述报文处理模块退出不间断转发状态后,接收所述邻居节点发送的第三TCP数据报文,发送所述第三TCP数据报文给所述备板应用层模块,以便于所述备板应用层模块对所述第三TCP数据报文进行处理;
可选的,
所述主板TCP处理模块,还用于如果备板发生故障,则根据主板应用层模块已接收的第二TCP数据报文的序列号,作为第四响应报文的序列号,通过所述第一TCP连接向所述邻居节点发送第四响应报文;
所述主板TCP处理模块,还用于如果备板发生故障,则在所述报文处理模块退出不间断转发状态后接收所述邻居节点发送的第四TCP数据报文,发送所述第四TCP数据报文给所述主板应用层模块,以便于所述主板应用层模块对所述第四TCP数据报文进行处理;
所述主板TCP处理模块,还用于如果备板发生故障,且如果主板TCP重传队列中存在需要重传的数据报文,则将重传队列中缓存的数据报文通过所述第一TCP连接向所述邻居节点发送,并且启动主板的TCP重传机制。
本发明实施例的有益效果在于,降低了主备板交互处理的复杂度及实现难度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的方法流程图;
图2为本发明一实施例的方法流程图;
图3为本发明一实施例的方法流程图;
图4为本发明一实施例的方法流程图;
图5为本发明一实施例的方法流程图;
图6为本发明一实施例的方法流程图;
图7为本发明一实施例的方法流程图;
图8为本发明一实施例的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明的实施例采用如下技术方案:
一种TCP热备份的方法,如图1所示,包括:
S101,主板TCP处理模块通过报文处理模块建立与邻居节点的第一TCP连接;
S103,主板TCP处理模块将所述第一TCP连接的内容同步到备板TCP处理模块;
S105,备板TCP处理模块根据所述第一TCP连接生成第二TCP连接,所述第二TCP连接是所述第一TCP连接的镜像;
S107,主板TCP处理模块将所述报文处理模块设置为TCP不间断转发状态,以便于所述报文处理模块在收到所述邻居节点发送的第一TCP数据报文时,只向所述备板TCP处理模块发送所述第一TCP数据报文;
S109,所述备板TCP处理模块同步所述第一TCP数据报文到所述主板TCP处理模块;
S111,所述主板TCP处理模块将所述第一TCP数据报文发送到主板应用层模块进行处理;
S113,所述备板TCP处理模块将所述第一TCP数据报文发送到备板应用层模块进行处理。
可选的,所述步骤S103之前,如图2所示,还包括:
S1031,所述主板TCP处理模块向所述主板应用层模块设置禁止向所述第一TCP连接发送数据报文;
S1033,所述主板TCP处理模块向所述报文处理模块设置禁止接收所述第一TCP连接中的数据报文。
可选的,所述步骤S103之后,如图3所示,还包括:
S1035,所述主板TCP处理模块向所述主板应用层模块设置可向所述第一TCP连接发送数据报文;
S1037,所述主板TCP处理模块向所述报文处理模块设置可接收所述第一TCP连接的数据报文。
可选的,所述第一TCP连接包括:
当前重传队列中待重传的数据报文,当前发送的数据报文的序列号和/或已接收的数据报文的序列号。
可选的,步骤S113后还包括:
所述备板TCP处理模块接收所述备板应用层模块在处理所述第一TCP数据报文后生成的第一报文序列号,以及接收所述主板应用层模块在处理所述第一TCP数据报文后生成的第二报文序列号,根据所述第一报文序列号和所述第二报文序列号获得第三报文序列号,通过所述第二TCP连接将包含所述第三报文序列号的第一响应报文发送给所述邻居节点。
可选的,如图4所示,所述方法还包括:
S115,所述主板TCP处理模块接收所述主板应用层模块发送的第二TCP数据报文,不通过所述第一TCP连接向所述邻居节点发送所述第二TCP数据报文;
S117,所述备板TCP处理模块接收所述主板应用层模块发送的第二TCP数据报文,通过所述第二TCP连接向所述邻居节点发送所述第二TCP数据报文,并在所述第二TCP数据报文中添加第四报文序列号。
可选的,如图5所示,所述方法还包括:
S119,所述备板TCP处理模块通过所述第二TCP连接接收所述邻居节点根据所述第二TCP数据报文反馈的第二响应报文,所述第二响应报文中包含第五报文序列号;
S121,所述备板TCP处理模块同步所述第二响应报文给所述主板TCP处理模块;
S123,所述备板TCP处理模块根据所述第五报文序列号与所述第四报文序列号的比较结果进行处理。
可选的,所述步骤S123具体包括:
如果第五报文序列号等于第四报文序列号,则备板TCP处理模块从备板TCP重传队列中删除已接收到的所述第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接并删除所述第二TCP连接;
如果第五报文序列号小于第四报文序列号,则备板TCP处理模块从备板TCP重传队列中删除已接收到的所述第二TCP数据报文,并将邻居节点未接收到的所述第二TCP数据报文进行重传。
可选的,所述步骤S121之后还包括:
如果第五报文序列号等于第四报文序列号,则所述主板TCP处理模块从主板TCP重传队列中删除所述已接收到的第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接;
如果第五报文序列号小于第四报文序列号,则主板TCP处理模块从主板TCP重传队列中删除已接收到的所述第二TCP数据报文,并不重传所述邻居节点未接收到的所述第二TCP数据报文。
可选的,如图6所示,所述方法还包括:
S125,如果主板发生故障,所述备板TCP处理模块根据备板应用层模块已接收的第一TCP数据报文的序列号,作为第三响应报文的序列号,通过所述第二TCP连接向所述邻居节点发送第三响应报文。
S127,如果主板发生故障,所述备板TCP处理模块在所述报文处理模块退出不间断转发状态后,接收所述邻居节点发送的第三TCP数据报文,发送所述第三TCP数据报文给所述备板应用层模块,以便于所述备板应用层模块对所述第三TCP数据报文进行处理;
可选的,如图7所示,所述方法还包括:
S129,如果备板发生故障,所述主板TCP处理模块根据主板应用层模块已接收的第二TCP数据报文的序列号,作为第四响应报文的序列号,通过所述第一TCP连接向所述邻居节点发送第四响应报文;
S131,如果备板发生故障,所述主板TCP处理模块在所述报文处理模块退出不间断转发状态后接收所述邻居节点发送的第四TCP数据报文,发送所述第四TCP数据报文给所述主板应用层模块,以便于所述主板应用层模块对所述第四TCP数据报文进行处理;
S133,如果备板发生故障,且如果主板TCP重传队列中存在需要重传的数据报文,则将重传队列中缓存的数据报文通过所述第一TCP连接向所述邻居节点发送,并且启动主板的TCP重传机制。
本发明实施例的有益效果在于,降低了主备板交互处理的复杂度及实现难度。
本发明实施例的另一方面在于提供一种TCP热备份的装置,如图8所示,包括:
主板TCP处理模块801,用于通过报文处理模块803建立与邻居节点的第一TCP连接;
所述主板TCP处理模块801,还用于将所述第一TCP连接的内容同步到备板TCP处理模块805;
备板TCP处理模块805,用于根据所述第一TCP连接生成第二TCP连接,所述第二TCP连接是所述第一TCP连接的镜像;
所述主板TCP处理模块801,还用于将所述报文处理模块设置为TCP不间断转发状态,以便于所述报文处理模块803在收到所述邻居节点发送的第一TCP数据报文时,只向所述备板TCP处理模块805发送所述第一TCP数据报文;
所述备板TCP处理模块805,还用于同步所述第一TCP数据报文到所述主板TCP处理模块801;
所述主板TCP处理模块801,还用于将所述第一TCP数据报文发送到主板应用层模块807进行处理;
所述备板TCP处理模块805,还用于将所述第一TCP数据报文发送到备板应用层模块809进行处理。
可选的,所述主板TCP处理模块801,还用于在将所述第一TCP连接的内容同步到备板TCP处理模块805之前,向所述主板应用层模块807设置禁止向所述第一TCP连接发送数据报文;并向所述报文处理模块803设置禁止接收所述第一TCP连接中的数据报文。
可选的,所述主板TCP处理模块801还用于在将所述第一TCP连接的内容同步到备板TCP处理模块805之后,向所述主板应用层模块807设置可向所述第一TCP连接发送数据报文;并向所述报文处理模块803设置可接收所述第一TCP连接的数据报文。
可选的,所述第一TCP连接包括:
当前重传队列中待重传的数据报文,当前发送的数据报文的序列号和/或已接收的数据报文的序列号。
可选的,
所述备板TCP处理模块805,还用于接收所述备板应用层模块809在处理所述第一TCP数据报文后生成的第一报文序列号,以及接收所述主板应用层模块807在处理所述第一TCP数据报文后生成的第二报文序列号,根据所述第一报文序列号和所述第二报文序列号获得第三报文序列号,通过所述第二TCP连接将包含所述第三报文序列号的第一响应报文发送给所述邻居节点。
可选的,所述主板TCP处理模块801,还用于接收所述主板应用层模块807发送的第二TCP数据报文,不通过所述第一TCP连接向所述邻居节点发送所述第二TCP数据报文;
所述备板TCP处理模块805,还用于接收所述主板应用层模块807发送的第二TCP数据报文,通过所述第二TCP连接向所述邻居节点发送所述第二TCP数据报文,并在所述第二TCP数据报文中添加第四报文序列号。
可选的,
所述备板TCP处理模块805,还用于通过所述第二TCP连接接收所述邻居节点根据所述第二TCP数据报文反馈的第二响应报文,所述第二响应报文中包含第五报文序列号;
所述备板TCP处理模块805,还用于同步所述第二响应报文给所述主板TCP处理模块801;
所述备板TCP处理模块805,还用于根据所述第五报文序列号与所述第四报文序列号的比较结果进行处理。
可选的,所述备板TCP处理模块805具体用于,
如果第五报文序列号等于第四报文序列号,则从备板TCP重传队列中删除已接收到的所述第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接并删除所述第二TCP连接;
如果第五报文序列号小于第四报文序列号,则从备板TCP重传队列中删除已接收到的所述第二TCP数据报文,并将邻居节点未接收到的所述第二TCP数据报文进行重传。
可选的,所述主板TCP处理模块801,还用于在所述备板TCP处理模块805同步所述第二响应报文给所述主板TCP处理模块801之后,如果第五报文序列号等于第四报文序列号,则从主板TCP重传队列中删除已接收到的所述第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接;
如果第五报文序列号小于第四报文序列号,则从主板TCP重传队列中删除已接收到的所述第二TCP数据报文,并不重传所述邻居节点未接收到的所述第二TCP数据报文。
可选的,
所述备板TCP处理模块805,还用于如果主板发生故障,则根据备板应用层模块809已接收的第一TCP数据报文的序列号,作为第三响应报文的序列号,通过所述第二TCP连接向所述邻居节点发送第三响应报文。
所述备板TCP处理模块805,还用于如果主板发生故障,则在所述报文处理模块803退出不间断转发状态后,接收所述邻居节点发送的第三TCP数据报文,发送所述第三TCP数据报文给所述备板应用层模块809,以便于所述备板应用层模块809对所述第三TCP数据报文进行处理;
可选的,
所述主板TCP处理模块801,还用于如果备板发生故障,则根据主板应用层模块807已接收的第二TCP数据报文的序列号,作为第四响应报文的序列号,通过所述第一TCP连接向所述邻居节点发送第四响应报文;
所述主板TCP处理模块801,还用于如果备板发生故障,则在所述报文处理模块803退出不间断转发状态后接收所述邻居节点发送的第四TCP数据报文,发送所述第四TCP数据报文给所述主板应用层模块807,以便于所述主板应用层模块807对所述第四TCP数据报文进行处理;
所述主板TCP处理模块801,还用于如果备板发生故障,且如果主板TCP重传队列中存在需要重传的数据报文,则将重传队列中缓存的数据报文通过所述第一TCP连接向所述邻居节点发送,并且启动主板的TCP重传机制。
本发明实施例的有益效果在于,降低了主备板交互处理的复杂度及实现难度。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (22)
1.一种TCP热备份的方法,其特征在于,包括:
主板TCP处理模块通过报文处理模块建立与邻居节点的第一TCP连接;
主板TCP处理模块将所述第一TCP连接的内容同步到备板TCP处理模块;
备板TCP处理模块根据所述第一TCP连接生成第二TCP连接,所述第二TCP连接是所述第一TCP连接的镜像;
主板TCP处理模块将所述报文处理模块设置为TCP不间断转发状态,以便于所述报文处理模块在收到所述邻居节点发送的第一TCP数据报文时,只向所述备板TCP处理模块发送所述第一TCP数据报文;
所述备板TCP处理模块同步所述第一TCP数据报文到所述主板TCP处理模块;
所述主板TCP处理模块将所述第一TCP数据报文发送到主板应用层模块进行处理;
所述备板TCP处理模块将所述第一TCP数据报文发送到备板应用层模块进行处理。
2.如权利要求1所述的方法,其特征在于,所述主板TCP处理模块将所述第一TCP连接的内容同步到备板TCP处理模块的步骤之前,还包括:
所述主板TCP处理模块向所述主板应用层模块设置禁止向所述第一TCP连接发送数据报文;
所述主板TCP处理模块向所述报文处理模块设置禁止接收所述第一TCP连接中的数据报文。
3.如权利要求2所述的方法,其特征在于,所述主板TCP处理模块将所述第一TCP连接的内容同步到备板TCP处理模块的步骤之后,还包括:
所述主板TCP处理模块向所述主板应用层模块设置可向所述第一TCP连接发送数据报文;
所述主板TCP处理模块向所述报文处理模块设置可接收所述第一TCP连接的数据报文。
4.如权利要求1所述的方法,其特征在于,所述第一TCP连接包括:
当前重传队列中待重传的数据报文,当前发送的数据报文的序列号和/或已接收的数据报文的序列号。
5.如权利要求1所述的方法,其特征在于,所述主板TCP处理模块将所述第一TCP数据报文发送到主板应用层模块进行处理,且所述备板TCP处理模块将所述第一TCP数据报文发送到备板应用层模块进行处理后还包括:
所述备板TCP处理模块接收所述备板应用层模块在处理所述第一TCP数据报文后生成的第一报文序列号,以及接收所述主板应用层模块在处理所述第一TCP数据报文后生成的第二报文序列号,根据所述第一报文序列号和所述第二报文序列号获得第三报文序列号,通过所述第二TCP连接将包含所述第三报文序列号的第一响应报文发送给所述邻居节点。
6.如权利要求1所述的方法,其特征在于,还包括:
所述主板TCP处理模块接收所述主板应用层模块发送的第二TCP数据报文,不通过所述第一TCP连接向所述邻居节点发送所述第二TCP数据报文;
所述备板TCP处理模块接收所述主板应用层模块发送的第二TCP数据报文,通过所述第二TCP连接向所述邻居节点发送所述第二TCP数据报文,并在所述第二TCP数据报文中添加第四报文序列号。
7.如权利要求6所述的方法,其特征在于,还包括:
所述备板TCP处理模块通过所述第二TCP连接接收所述邻居节点根据所述第二TCP数据报文反馈的第二响应报文,所述第二响应报文中包含第五报文序列号;
所述备板TCP处理模块同步所述第二响应报文给所述主板TCP处理模块;所述备板TCP处理模块根据所述第五报文序列号与所述第四报文序列号的比较结果进行处理。
8.如权利要求7所述的方法,其特征在于,所述所述备板TCP处理模块根据所述第五报文序列号与所述第四报文序列号的比较结果进行处理的步骤具体包括:
如果第五报文序列号等于第四报文序列号,则备板TCP处理模块从备板TCP重传队列中删除已接收到的所述第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接并删除所述第二TCP连接;
如果第五报文序列号小于第四报文序列号,则备板TCP处理模块从备板TCP重传队列中删除已接收到的所述第二TCP数据报文,并将邻居节点未接收到的所述第二TCP数据报文进行重传。
9.如权利要求7所述的方法,其特征在于,所述备板TCP处理模块同步所述第二响应报文给所述主板TCP处理模块之后还包括:
如果第五报文序列号等于第四报文序列号,则所述主板TCP处理模块从主板TCP重传队列中删除所述已接收到的第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接;
如果第五报文序列号小于第四报文序列号,则主板TCP处理模块从主板TCP重传队列中删除已接收到的所述第二TCP数据报文,并不重传所述邻居节点未接收到的所述第二TCP数据报文。
10.如权利要求1所述的方法,其特征在于,还包括:
如果主板发生故障,
所述备板TCP处理模块根据备板应用层模块已接收的第一TCP数据报文的序列号,作为第三响应报文的序列号,通过所述第二TCP连接向所述邻居节点发送第三响应报文;
所述备板TCP处理模块在所述报文处理模块退出不间断转发状态后,接收所述邻居节点发送的第三TCP数据报文,发送所述第三TCP数据报文给所述备板应用层模块,以便于所述备板应用层模块对所述第三TCP数据报文进行处理。
11.如权利要求1所述的方法,其特征在于,还包括:
如果备板发生故障,
所述主板TCP处理模块根据主板应用层模块已接收的第二TCP数据报文的序列号,作为第四响应报文的序列号,通过所述第一TCP连接向所述邻居节点发送第四响应报文;
所述主板TCP处理模块在所述报文处理模块退出不间断转发状态后接收所述邻居节点发送的第四TCP数据报文,发送所述第四TCP数据报文给所述主板应用层模块,以便于所述主板应用层模块对所述第四TCP数据报文进行处理;
如果主板TCP重传队列中存在需要重传的数据报文,则将重传队列中缓存的数据报文通过所述第一TCP连接向所述邻居节点发送,并且启动主板的TCP重传机制。
12.一种TCP热备份的装置,其特征在于,包括:
主板TCP处理模块,用于通过报文处理模块建立与邻居节点的第一TCP连接;
所述主板TCP处理模块,还用于将所述第一TCP连接的内容同步到备板TCP处理模块;
备板TCP处理模块,用于根据所述第一TCP连接生成第二TCP连接,所述第二TCP连接是所述第一TCP连接的镜像;
所述主板TCP处理模块,还用于将所述报文处理模块设置为TCP不间断转发状态,以便于所述报文处理模块在收到所述邻居节点发送的第一TCP数据报文时,只向所述备板TCP处理模块发送所述第一TCP数据报文;
所述备板TCP处理模块,还用于同步所述第一TCP数据报文到所述主板TCP处理模块;
所述主板TCP处理模块,还用于将所述第一TCP数据报文发送到主板应用层模块进行处理;
所述备板TCP处理模块,还用于将所述第一TCP数据报文发送到备板应用层模块进行处理。
13.如权利要求12所述的装置,其特征在于,
所述主板TCP处理模块,还用于在将所述第一TCP连接的内容同步到备板TCP处理模块之前,向所述主板应用层模块设置禁止向所述第一TCP连接发送数据报文;并向所述报文处理模块设置禁止接收所述第一TCP连接中的数据报文。
14.如权利要求13所述的装置,其特征在于,
所述主板TCP处理模块还用于在将所述第一TCP连接的内容同步到备板TCP处理模块之后,向所述主板应用层模块设置可向所述第一TCP连接发送数据报文;并向所述报文处理模块设置可接收所述第一TCP连接的数据报文。
15.如权利要求12所述的装置,其特征在于,所述第一TCP连接包括:
当前重传队列中待重传的数据报文,当前发送的数据报文的序列号和/或已接收的数据报文的序列号。
16.如权利要求12所述的装置,其特征在于,
所述备板TCP处理模块,还用于接收所述备板应用层模块在处理所述第一TCP数据报文后生成的第一报文序列号,以及接收所述主板应用层模块在处理所述第一TCP数据报文后生成的第二报文序列号,根据所述第一报文序列号和所述第二报文序列号获得第三报文序列号,通过所述第二TCP连接将包含所述第三报文序列号的第一响应报文发送给所述邻居节点。
17.如权利要求12所述的装置,其特征在于,
所述主板TCP处理模块,还用于接收所述主板应用层模块发送的第二TCP数据报文,不通过所述第一TCP连接向所述邻居节点发送所述第二TCP数据报文;
所述备板TCP处理模块,还用于接收所述主板应用层模块发送的第二TCP数据报文,通过所述第二TCP连接向所述邻居节点发送所述第二TCP数据报文,并在所述第二TCP数据报文中添加第四报文序列号。
18.如权利要求17所述的装置,其特征在于,
所述备板TCP处理模块,还用于通过所述第二TCP连接接收所述邻居节点根据所述第二TCP数据报文反馈的第二响应报文,所述第二响应报文中包含第五报文序列号;
所述备板TCP处理模块,还用于同步所述第二响应报文给所述主板TCP处理模块;
所述备板TCP处理模块,还用于根据所述第五报文序列号与所述第四报文序列号的比较结果进行处理。
19.如权利要求18所述的装置,其特征在于,
所述备板TCP处理模块具体用于,
如果第五报文序列号等于第四报文序列号,则从备板TCP重传队列中删除已接收到的所述第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接并删除所述第二TCP连接;
如果第五报文序列号小于第四报文序列号,则从备板TCP重传队列中删除已接收到的所述第二TCP数据报文,并将邻居节点未接收到的所述第二TCP数据报文进行重传。
20.如权利要求18所述的装置,其特征在于,所述主板TCP处理模块,还用于在所述备板TCP处理模块同步所述第二响应报文给所述主板TCP处理模块之后,如果第五报文序列号等于第四报文序列号,则从主板TCP重传队列中删除已接收到的所述第二TCP数据报文;
如果第五报文序列号大于第四报文序列号,则断开所述第一TCP连接;
如果第五报文序列号小于第四报文序列号,则从主板TCP重传队列中删除已接收到的所述第二TCP数据报文,并不重传所述邻居节点未接收到的所述第二TCP数据报文。
21.如权利要求12所述的装置,其特征在于,
所述备板TCP处理模块,还用于如果主板发生故障,则根据备板应用层模块已接收的第一TCP数据报文的序列号,作为第三响应报文的序列号,通过所述第二TCP连接向所述邻居节点发送第三响应报文
所述备板TCP处理模块,还用于如果主板发生故障,则在所述报文处理模块退出不间断转发状态后,接收所述邻居节点发送的第三TCP数据报文,发送所述第三TCP数据报文给所述备板应用层模块,以便于所述备板应用层模块对所述第三TCP数据报文进行处理。
22.如权利要求12所述的装置,其特征在于,
所述主板TCP处理模块,还用于如果备板发生故障,则根据主板应用层模块已接收的第二TCP数据报文的序列号,作为第四响应报文的序列号,通过所述第一TCP连接向所述邻居节点发送第四响应报文;
所述主板TCP处理模块,还用于如果备板发生故障,则在所述报文处理模块退出不间断转发状态后接收所述邻居节点发送的第四TCP数据报文,发送所述第四TCP数据报文给所述主板应用层模块,以便于所述主板应用层模块对所述第四TCP数据报文进行处理;
所述主板TCP处理模块,还用于如果备板发生故障,且如果主板TCP重传队列中存在需要重传的数据报文,则将重传队列中缓存的数据报文通过所述第一TCP连接向所述邻居节点发送,并且启动主板的TCP重传机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811248508.8A CN109194576B (zh) | 2018-10-25 | 2018-10-25 | 一种tcp热备份的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811248508.8A CN109194576B (zh) | 2018-10-25 | 2018-10-25 | 一种tcp热备份的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109194576A true CN109194576A (zh) | 2019-01-11 |
CN109194576B CN109194576B (zh) | 2021-04-20 |
Family
ID=64943320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811248508.8A Active CN109194576B (zh) | 2018-10-25 | 2018-10-25 | 一种tcp热备份的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109194576B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651706A (zh) * | 2008-08-14 | 2010-02-17 | 华为技术有限公司 | 一种数据发送和接收方法以及系统和装置 |
US20130297757A1 (en) * | 2012-05-03 | 2013-11-07 | Futurewei Technologies, Inc. | United router farm setup |
CN104580215A (zh) * | 2015-01-09 | 2015-04-29 | 烽火通信科技股份有限公司 | 一种tcp连接热备份的实现方法 |
CN104780065A (zh) * | 2015-04-01 | 2015-07-15 | 福建星网锐捷网络有限公司 | 一种tcp热备份方法和系统 |
CN108111350A (zh) * | 2017-12-25 | 2018-06-01 | 北京格林伟迪科技股份有限公司 | 一种tcp的主备倒换热备份实现方法 |
-
2018
- 2018-10-25 CN CN201811248508.8A patent/CN109194576B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651706A (zh) * | 2008-08-14 | 2010-02-17 | 华为技术有限公司 | 一种数据发送和接收方法以及系统和装置 |
US20130297757A1 (en) * | 2012-05-03 | 2013-11-07 | Futurewei Technologies, Inc. | United router farm setup |
CN104580215A (zh) * | 2015-01-09 | 2015-04-29 | 烽火通信科技股份有限公司 | 一种tcp连接热备份的实现方法 |
CN104780065A (zh) * | 2015-04-01 | 2015-07-15 | 福建星网锐捷网络有限公司 | 一种tcp热备份方法和系统 |
CN108111350A (zh) * | 2017-12-25 | 2018-06-01 | 北京格林伟迪科技股份有限公司 | 一种tcp的主备倒换热备份实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109194576B (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101136900B (zh) | 一种面向服务的快速透明故障转移装置及实现方法 | |
CN102904818A (zh) | 一种arp信息表项更新方法及装置 | |
CN103944828A (zh) | 一种协议报文的传输方法和设备 | |
CN107528706A (zh) | 一种基于链路协议的设备主备倒换方法和装置 | |
CN103200109B (zh) | 一种ospf邻居关系管理方法和设备 | |
CN108959167A (zh) | 一种坐席系统管理方法、装置及坐席系统 | |
CN104639434B (zh) | 一种开放最短路径优先协议平滑重启方法及装置 | |
CN102780635A (zh) | 基于trill网络实现保护倒换的方法、tor交换机及系统 | |
CN109889767A (zh) | 一种基于多链路传输的远程音视频会议系统及处理方法 | |
CN103036760A (zh) | 堆叠系统的拓扑收敛方法及成员设备 | |
CN105978796A (zh) | 基于不稳定移动网络的消息通信方法及系统 | |
CN102447611A (zh) | 一种建立和拆除双向点到多点标签转发路径的方法及系统 | |
CN103036724A (zh) | 状态信息传输方法、网络设备及组合设备 | |
CN109194576A (zh) | 一种tcp热备份的方法和装置 | |
CN106534331B (zh) | 一种基于动态端口切换的数据传输方法和系统 | |
CN106533771A (zh) | 一种网络设备以及控制信息传输方法 | |
CN102255716A (zh) | 一种对协议状态的设备间备份的方法及系统 | |
CN114172762B (zh) | 一种通信方法、装置、系统及可读存储介质 | |
CN110247862A (zh) | Sdn集群故障时业务快速连续切换系统及方法 | |
CN105262692A (zh) | 实现openflow交换机流表实时同步的方法及装置 | |
CN109558388A (zh) | 一种文件修改即时共享与离线备份互传系统 | |
CN106878180A (zh) | 集群路由器路由控制方法、装置和集群路由器 | |
CN106453633A (zh) | 一种非稳定通信链路中多节点通信方法 | |
CN108667795B (zh) | 一种虚拟现实视频的多人分享系统及虚拟现实设备 | |
CN101964925B (zh) | 自动交换光网络中控制平面节点重启后的恢复方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |