主备倒换控制方法、装置、电子设备及介质制造方法及图纸

技术编号:37889793 阅读:11 留言:0更新日期:2023-06-18 11:53
本公开提供了一种主备倒换控制方法、装置、电子设备及介质,涉及通信技术领域。所述方法包括:定时接收主用主控板同步传输的传输控制协议TCP报文和确认字符ACK报文;当主备倒换时,控制备用主控板升为主用主控板,倒换后的主用主控板首次发送的ACK报文为主用主控板倒换前最后一次存储的ACK报文;根据主用主控板首次接收到的TCP报文和首次发送的ACK报文之间的关系,以确定是否对待发送的ACK报文进行补偿。本公开提供了一种主备倒换控制方法、装置、电子设备及介质,主备倒换后,倒换后的主用主控板首次发送的ACK报文为备用主控板倒换前最后一次存储的ACK报文,根据首次接收到的TCP报文和首次发送的ACK报文,确定是否对TCP报文进行补偿,保证TCP连接的连续性。保证TCP连接的连续性。保证TCP连接的连续性。

【技术实现步骤摘要】
主备倒换控制方法、装置、电子设备及介质


[0001]本公开涉及通信
,尤其涉及一种主备倒换控制方法、装置、电子设备及介质。

技术介绍

[0002]现代信息社会对互联网的依存程度逐步加深,对网络的可靠性和可用性要求也越来越高,例如安全、金融、数据中心等领域。而网络是由相关的设备和传输线路搭建的,随着网络的IP(Internet Protocol,网络之间互连的协议,即网际协议)化程度的提高,网络中(包括固网和移动网络)数据网络设备的使用比例也逐步提高,因此对数据网络设备的可靠性和可用性的要求也越来越高。
[0003]数据网络设备都是由硬件和运行在之上的软件部分组成,为了增强设备的可靠性和可用性,网络较核心部位的设备都是采用主备的方式进行部署,核心大交换容量设备都是采用双主控的方式,而有些应用情况则将几台设备形成一个虚拟的系统,设备之间互为主备。为了达到当主用设备发生故障时,备用设备能够接管并保证业务不中断的目的,设备中的主用主控板与备用主控板或虚拟系统中的主用设备和备用设备之间的软件需要有热倒换的功能,通常采用NSR(Non

Stopping Routing,不间断路由)技术,NSR是数据网络设备中的一种高可靠性技术,是热迁移的基础,其实现基础是主用主控板与备用主控板之间的数据同步,当主用主控板发生故障时,进行主备倒换,备用主控板使用同步数据上线,可以实现路由和转发不中断。
[0004]常用的BGP(Border Gateway Protocol,边界网关协议)和LDP(Label Distribution Protocol,标签分发协议)等协议使用TCP(Transmission Control Protocol,传输控制协议)作为传输层协议,要实现路由和转发不中断的前提是TCP连接在热迁移主备倒换过程中不中断。
[0005]然而,在相关技术中,由于主用主控板和备用主控板同步数据存在时间间隔,因此,无论采用何种方式进行数据同步,备用主控板和主用主控板存储的TCP报文均可能存在差异,因此,备用主控板升为主用主控板后,无法对新接收的TCP报文进行确认,从而导致TCP连接中断。
[0006]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0007]本公开提供一种主备倒换控制方法、装置、电子设备及介质,至少在一定程度上克服相关技术中提供的主备倒换方法可能造成TCP连接中断的问题。
[0008]本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0009]根据本公开的一个方面,提供一种主备倒换控制方法,包括:
[0010]定时接收主用主控板同步传输的传输控制协议TCP报文和确认字符ACK报文;
[0011]当主备倒换时,控制备用主控板升为主用主控板,倒换后的主用主控板首次发送的ACK报文为备用主控板倒换前最后一次存储的ACK报文;
[0012]当倒换后的主用主控板接收到TCP报文时,根据倒换后的主用主控板首次接收到的TCP报文和首次发送的ACK报文之间的关系,以确定是否对待发送的ACK报文进行补偿。
[0013]在本公开的一个实施例中,所述根据倒换后的主用主控板首次接收到的TCP报文和首次发送的ACK报文之间的关系,以确定是否对待发送的ACK报文进行补偿,包括:
[0014]当首次接收到的所述TCP报文的序列号大于首次发送的所述ACK报文的确认号时,判断本端设备是否已接收过所述TCP报文;
[0015]若未接收,则对待发送ACK报文的确认号进行补偿,发送补偿后的ACK报文。
[0016]在本公开的一个实施例中,所述补偿后的ACK报文的确认号赋值为TCP报文的序列号与数据长度之和。
[0017]本公开的一个实施例中,所述方法还包括:
[0018]若本端设备已接收过所述TCP报文,则发送与所述TCP报文对应的ACK报文。
[0019]在本公开的一个实施例中,所述根据倒换后的主用主控板首次接收到的TCP报文和首次发送的ACK报文之间的关系,以确定是否对待发送的ACK报文进行补偿,包括:
[0020]当首次接收到的所述TCP报文的序列号等于首次发送的ACK报文的确认号时,倒换后的主用主控板与对端设备的TCP连接正常,发送与所述TCP报文对应的ACK报文。
[0021]在本公开的一个实施例中,所述根据倒换后的主用主控板首次接收到的TCP报文和首次发送的ACK报文之间的关系,以确定是否对待发送的ACK报文进行补偿,包括:
[0022]当首次接收到的所述TCP报文的序列号小于首次发送的ACK报文的确认号时,丢弃首次接收到的所述TCP报文;
[0023]当再次接收到TCP报文时,发送与所述TCP报文对应的ACK报文。
[0024]本公开的一个实施例中,所述当主备倒换时,控制备用主控板升为主用主控板,所述方法还包括:
[0025]将本端设备存储的Timestamp Echo置0,以判断倒换后的主用主控板是否为首次发送ACK报文或首次接收TCP报文。
[0026]根据本公开的另一个方面,提供一种主备倒换控制装置,包括:
[0027]数据同步模块,用于定时接收主用主控板同步传输的传输控制协议TCP报文和确认字符ACK报文;
[0028]主备倒换模块,用于当主备倒换时,控制备用主控板升为主用主控板,倒换后的主用主控板首次发送的ACK报文为备用主控板倒换前最后一次存储的ACK报文;
[0029]报文补偿模块,用于当倒换后的主用主控板接收到TCP报文时,根据倒换后的主用主控板首次接收到的TCP报文和首次发送的ACK报文之间的关系,以确定是否对待发送的ACK报文进行补偿。
[0030]根据本公开的另一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的主备倒换控制方法。
[0031]根据本公开的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机
程序,所述计算机程序被处理器执行时实现上述的主备倒换控制方法。
[0032]本公开的实施例所提供的一种主备倒换控制方法、装置、电子设备及介质,主用主控板与备用主控板定时同步TCP连接信息,当主备倒换后,备用主控板升为主用主控板,此时主用主控板首次发送的ACK报文为备用主控板倒换前最后一次存储的ACK报文,根据首次接收到的TCP报文和首次发送的ACK报文,以确定是否对待发送的ACK报文进行补偿,有效防止本端设备和对端设备的TCP连接中端,从而提升TCP连接主备倒换的成功率,且不会影响后续TCP报文传输,该主备倒换控制方式简单,可以在任意需要实现主备倒换或热备份的TCP协议栈中使用,可以应对主动倒换和被动倒换的场景,应用范围广。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种主备倒换控制方法,其特征在于,包括:定时接收主用主控板同步传输的传输控制协议TCP报文和确认字符ACK报文;当主备倒换时,控制备用主控板升为主用主控板,倒换后的主用主控板首次发送的ACK报文为备用主控板倒换前最后一次存储的ACK报文;当倒换后的主用主控板接收到TCP报文时,根据倒换后的主用主控板首次接收到的TCP报文和首次发送的ACK报文之间的关系,以确定是否对待发送的ACK报文进行补偿。2.根据权利要求1所述的主备倒换控制方法,其特征在于,所述根据倒换后的主用主控板首次接收到的TCP报文和首次发送的ACK报文之间的关系,以确定是否对待发送的ACK报文进行补偿,包括:当首次接收到的所述TCP报文的序列号大于首次发送的所述ACK报文的确认号时,判断本端设备是否已接收过所述TCP报文;若未接收,则对待发送ACK报文的确认号进行补偿,发送补偿后的ACK报文。3.根据权利要求2所述的主备倒换控制方法,其特征在于,所述补偿后的ACK报文的确认号赋值为TCP报文的序列号与数据长度之和。4.根据权利要求2所述的主备倒换控制方法,其特征在于,所述方法还包括:若本端设备已接收过所述TCP报文,则发送与所述TCP报文对应的ACK报文。5.根据权利要求1所述的主备倒换控制方法,其特征在于,所述根据倒换后的主用主控板首次接收到的TCP报文和首次发送的ACK报文之间的关系,以确定是否对待发送的ACK报文进行补偿,包括:当首次接收到的所述TCP报文的序列号等于首次发送的ACK报文的确认号时,倒换后的主用主控板与对端设备的TCP连接正常,发送与所述TCP报文对应的ACK报文。6.根据权利要求1所述的主备倒换控制方法,其特征在于,所...

【专利技术属性】
技术研发人员:魏子巍欧亮姚思泉梁博唐晓瑞
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

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

1