一种TCP热备份方法和系统.pdf

上传人:Y948****062 文档编号:20502 上传时间:2018-01-12 格式:PDF 页数:11 大小:665.12KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510151264.1

申请日:

2015.04.01

公开号:

CN104780065A

公开日:

2015.07.15

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 12/24申请日:20150401|||公开

IPC分类号:

H04L12/24

主分类号:

H04L12/24

申请人:

福建星网锐捷网络有限公司

发明人:

余华兵

地址:

350002福建省福州市仓山区金山大道618号桔园州工业园19#楼

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司11291

代理人:

黄志华

PDF下载: PDF下载
内容摘要

本发明实施例提供了一种TCP热备份方法和系统。包括:主板对TCP应用层协议进程已经读取的数据向TCP连接的对端发送确认报文,其中,所述对端,是主板与备板所在节点的共同对端;当备板切换成为主板时,所述对端将未被所述确认报文确认的数据重传至备板。通过本发明的方法,使TCP只对进程读取过的数据进行确认,接收方向只需要备份一个序列号,降低了实现的复杂度,减少了热备份的消息量,节省了主板和备板之间的带宽。

权利要求书

1.  一种TCP热备份方法,其特征在于,包括:
主板对TCP应用层协议进程已经读取的数据向TCP连接的对端发送确 认报文,其中,所述对端,是主板与备板所在节点的共同对端;
当备板切换成为主板时,所述对端将未被所述确认报文确认的数据重 传至备板。

2.
  根据权利要求1所述的一种TCP热备份方法,其特征在于,在发送所 述确认报文之后,包括:备板更新并保存主板上TCP应用层协议进程当前 没有读取的数据的第一个序列号,并且把期望接收的下一个序列号设置为 和TCP应用层协议进程当前没有读取的数据的第一个序列号相同。

3.
  根据权利要求2所述的一种TCP热备份方法,其特征在于,发送所述 确认报文之前,包括:
TCP应用层协议进程向备板的TCP应用层协议进程发送消息,将TCP 应用层协议进程状态备份到备板;
备板的TCP应用层协议进程接收主板的TCP应用层协议进程的消息, 备份TCP应用层协议进程状态。

4.
  根据权利要求3所述一种TCP热备份方法,其特征在于,所述TCP应用 层协议进程向备板的TCP应用层协议进程发消息,将TCP应用层协议进程 状态备份到备板之前,包括:
主板上的TCP应用层协议进程读取TCP接收缓冲区数据,但是不把数 据从接收缓冲区删除。

5.
  根据权利要求4所述一种TCP热备份方法,其特征在于,所述TCP应用 层协议进程向备板的TCP应用层协议进程发消息,将TCP应用层协议进程 状态备份到备板之后,包括:
主板上的TCP应用层协议进程再次读取TCP接收缓冲区数据,TCP连 接修改下一次应读取的序列号,并删除已读取的数据。

6.
  一种TCP热备份系统,其特征在于,包括:
发送模块:其用于主板对TCP应用层协议进程已经读取的数据向TCP 连接的对端发送确认报文;
重传模块:其用于当备板切换成为主板时,对端将未被确认报文确认 的数据重传至备板。

7.
  根据权利要6所述的一种TCP热备份系统,其特征在于,包括:
更新组件:其用于在发送所述确认报文之后,使备板更新并保存主板 上TCP应用层协议进程当前没有读取的数据的第一个序列号,并且把期望 接收的下一个序列号设置为和TCP应用层协议进程当前没有读取的数据 的第一个序列号相同。

8.
  根据权利要7所述的一种TCP热备份系统,其特征在于,还包括:
主备份组件:其用于在发送所述确认报文之前,使TCP应用层协议进 程向备板的TCP应用层协议进程发送消息,将TCP应用层协议进程状态备 份到备板;
备备份组件:其用于在发送所述确认报文之前,使备板的TCP应用层 协议进程接收主板的TCP应用层协议进程的消息,备份TCP应用层协议进 程状态。

9.
  根据权利要求8所述一种TCP热备份系统,其特征在于,所述主备份 组件,包括:
第一记录组件:其用于TCP应用层协议进程向备板的TCP应用层协议 进程发消息,将TCP应用层协议进程状态备份到备板之前,使主板上的TCP 应用层协议进程读取TCP接收缓冲区数据,但是不把数据从接收缓冲区删 除。

10.
  根据权利要求9所述一种TCP热备份系统,其特征在于,所述主备份 组件,还包括:
第二记录组件:其用于TCP应用层协议进程向备板的TCP应用层协议 进程发消息,将TCP应用层协议进程状态备份到备板之后,使主板上的TCP 应用层协议进程再次读取TCP接收缓冲区数据,TCP连接修改下一次应读 取的序列号,并删除已读取的数据。

说明书

一种TCP热备份方法和系统
技术领域
本发明涉及通信技术领域,尤其涉及一种TCP热备份方法和系统。
背景技术
TCP协议是一种有连接的可靠的传输层协议。TCP为了保证不发生丢包, 给每个字节分配一个序列号,同时序列号也可以保证接收方按照顺序接收数 据。然后接收方对已成功收到的字节发回一个确认报文;如果发送方在合理的 往返时延内未收到确认,那么发送方将重传数据。
当设备的主板发生故障时,备板接替主板继续工作,邻居设备不会感知。 BGP(Border Gateway Protocol)边界网关协议是最难实现NSR(Non-Stop  Routing),即路由不间断的单播路由协议,BGP协议使用TCP协议通信,BGP 支持NSR需要TCP协议的配合,TCP必须把连接的状态信息从主板备份到备板 上,当备板切换成主板时,只有TCP连接的状态和对端保持一致,才能接替原 来的主板继续和对端通信,否则只能和对端重新建立TCP连接。
通常,为实现TCP热备份,需要备份TCP连接的状态信息,其中备份接收 方向的状态信息时,需要备份以下信息:
(1)进程没有读取的数据的第一个序列号,即下一次读取的序列号。
(2)期望接收的下一个序列号。
(3)这两个序列号之间的数据,即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为本发明实施例二提供的一种TCP热备份方法的处理流程图;
图2为本发明实施例二提供的一种TCP热备份方法的处理流程图;
图3为本发明实施例二提供的主板与备板以及对端的连接关系图;
图4为本发明实施例三提供的一种TCP热备份系统的模块图。
具体实施方式
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做 进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
该实施例提供了一种TCP热备份方法的处理流程如图1所示,包括如下 的处理步骤:
步骤11、主板对TCP应用层协议进程已经读取的数据向TCP连接的对端 发送确认报文,其中,所述对端,是主板与备板所在节点的共同对端;
发送确认报文之前,包括:TCP应用层协议进程向备板的TCP应用层协 议进程发送消息,将TCP应用层协议进程状态备份到备板;
备板的TCP应用层协议进程接收主板的TCP应用层协议进程的消息,备 份TCP应用层协议进程状态。
其中,在TCP应用层协议进程向备板的TCP应用层协议进程发消息,将 TCP应用层协议进程状态备份到备板之前,
主板上的TCP应用层协议进程读取TCP接收缓冲区数据,但是不把数据 从接收缓冲区删除。
在TCP应用层协议进程向备板的TCP应用层协议进程发消息,将TCP应 用层协议进程状态备份到备板之后,
主板上的TCP应用层协议进程再次读取TCP接收缓冲区数据,TCP连接 修改下一次应读取的序列号,并删除已读取的数据。
在发送确认报文之后,包括:备板更新并保存主板上TCP应用层协议进 程当前没有读取的数据的第一个序列号,并且把期望接收的下一个序列号设置 为和TCP应用层协议进程当前没有读取的数据的第一个序列号相同。
步骤12、当备板切换成为主板时,所述对端将未被所述确认报文确认的数 据重传至备板。
实施例二
该实施例提供了一种TCP热备份方法的处理流程如图2所示,包括如下 的处理步骤:
本实施例中,以BGP协议作为TCP应用层协议的一个例子进一步说明。
步骤21、主板上的TCP应用层协议进程读取TCP接收缓冲区数据,但是 不把数据从接收缓冲区删除;
以BGP进程为例,BGP进程读取TCP接收缓冲区数据,如果BGP传入 标志位MSG_PEEK,其中,标志位MSG_PEEK用于标记BGP进程已经读取 的TCP接收缓冲区的数据,TCP连接不修改下一次应读取的序列号,并且读 取数据但是不把数据从接收缓冲区删除,也不向对端发送确认报文;本实施例 中,在主板的BGP进程向备板的BGP进程发消息,将主板的BGP进程状态 备份到备板之前,BGP进程需要传入标志位MSG_PEEK作为标识,窥探数据, 即读取数据但是不把数据从接收缓冲区删除,也不向对端发送确认报文。
步骤22、主板上的TCP应用层协议进程向备板的TCP应用层协议进程发 消息,将TCP应用层协议进程状态备份到备板;
备板的TCP应用层协议进程接收主板的TCP应用层协议进程消息,备份 TCP应用层协议进程状态。
仍然以BGP进程为例,主板的BGP进程向备板的BGP进程发消息,将 主板的BGP进程状态备份到备板之后,备板的BGP进程接收主板的BGP进 程消息,备份BGP进程状态,对于BGP而言,备份TCP应用层协议进程状态 主要是路由信息,但不限于路由信息。
步骤23、主板上的TCP应用层协议进程再次读取TCP接收缓冲区数据, TCP连接修改下一次应读取的序列号,并删除已读取的数据。
主板的BGP进程向备板的BGP进程发消息,将主板的BGP进程状态备 份到备板之后,主板上的TCP应用层协议进程再次读取TCP接收缓冲区数据, TCP连接删除已读取的数据。
主板的BGP进程向备板的BGP进程发消息,将主板的BGP进程状态备 份到备板之后,主板上的TCP应用层协议进程再次读取TCP接收缓冲区数据 时,此时BGP不传入标志位MSG_PEEK,TCP连接删除已读取的数据。本 实施例中,主板的BGP进程向备板的BGP进程发消息,将主板的BGP进程 状态备份到备板之后,主板上的TCP应用层协议进程再次读取TCP接收缓冲 区数据时,此时TCP连接记录的下一次应读取的序列号已经被修改。
步骤24、主板对TCP应用层协议进程已经读取的数据向TCP连接的对端 发送确认报文,向对端发送确认报文目的是让对端知道已经收到的数据,不需 要进行重传。其中,所述对端,是主板与备板所在节点的共同对端,也就是 TCP连接的对端。
主板上TCP连接把TCP接收缓冲区中TCP应用层协议进程当前没有读取 的数据的第一个序列号备份到备板上,当前没有读取的数据的第一个序列号即 为上述步骤23中,TCP连接记录的已修改的下一次应读取的序列号。例如, 一段包含若干字节的数据,已读取了该数据的部分字节,余下未读取的部分字 节的第一个序列号为没有读取的数据的第一个序列号也就是上述步骤23中, TCP连接记录的已修改的下一次应读取的序列号。
备板更新并保存主板上TCP应用层协议进程当前没有读取的数据的第一 个序列号,并且把期望接收的下一个序列号设置为和TCP应用层协议进程当 前没有读取的数据的第一个序列号相同;
在主板的BGP进程向备板的BGP进程发消息,将主板的BGP进程状态 备份到备板之前,主板上的TCP应用层协议进程读取TCP接收缓冲区数据, 但是不把数据从接收缓冲区删除;在主板的BGP进程向备板的BGP进程发消 息,将主板的BGP进程状态备份到备板之后,主板上的TCP应用层协议进程 再次读取TCP接收缓冲区数据,TCP连接删除已读取的数据,并且主板对TCP 应用层协议进程已经读取的数据向TCP连接的对端发送确认报文,目的是如 果BGP备份失败了,备板切换到主板,对端重传,BGP可以重新处理一次, 路由信息不会丢失。
仍然以BGP进程作为TCP应用层协议进程的示例,例如,TCP接收缓冲 区数据收到10个字节的数据,序列号是1至10,BGP进程读取了4个字节, 没有读取的数据的第一个序列号是5,此时,将BGP进程当前没有读取的数据 的第一个序列号5备份到备板上,并且对BGP进程已经读取的数据4向TCP 连接的对端发送确认报文;本实施例中的对端,是主板与备板所在节点的共同 对端,也是TCP连接的对端,如图3所示,节点A和节点B建立TCP连接, 主板和备板同在节点B上,节点A和节点B互为对端。
此时,备板更新并保存TCP应用层协议进程当前没有读取的数据的第一 个序列号为5,并且把期望接收的下一个序列号设置为5。
步骤25、当主板出现故障,备板切换成为主板时,对端将未被确认报文确 认的数据重传至备板。
接着上述示例,BGP进程已经读取的数据4向TCP连接的对端发送确认 报文,未被确认报文确认的数据仍然是序列号是5至10这6个字节的数据, 当主板出现故障,备板切换成为主板时,对端将序列号5到10这6个字节的 数据重传至备板,备板接收这6个字节的数据,而在对端将数据重传之前,主 板和备板实时保持同步,重传之前备板期望接收的下一个序列号为5,同时BGP 进程当前没有读取的数据的第一个序列号也为5,对端将数据重传至备板之后, 备板收到序列号5到10这6个字节的数据。
本领域技术人员应能理解BGP进程仅为举例,BGP协议是最难实现NSR 路由不间断的单播路由协议,BGP协议使用TCP协议通信,BGP支持NSR需 要TCP协议的配合,本实施例中以BGP进程为示例,既然本实施例的方法在 BGP协议下可以实现,其他TCP应用层协议进程,也按照本实施例的方法可 以实现,在此不多赘述,其他TCP应用层协议进程也应包含在本发明保护范 围以内,并在此以引用方式包含于此。
实施例三
该实施例提供了一种TCP热备份系统,其具体实现结构如图4所示,具体 可以包括如下的模块:发送模块32和重传模块34,其中,
发送模块32:其用于主板对TCP应用层协议进程已经读取的数据向TCP连接 的对端发送确认报文;
重传模块34:其用于当备板切换成为主板时,对端将未被确认报文确认的 数据重传至备板。
一种TCP热备份系统,包括:
更新组件33:其用于在发送所述确认报文之后,使备板更新并保存主板上 TCP应用层协议进程当前没有读取的数据的第一个序列号,并且把期望接收的 下一个序列号设置为和TCP应用层协议进程当前没有读取的数据的第一个序 列号相同。
一种TCP热备份系统,还包括:
主备份组件30:其用于在发送所述确认报文之前,使TCP应用层协议进程 向备板的TCP应用层协议进程发送消息,将TCP应用层协议进程状态备份到备 板;
备备份组件31:其用于在发送所述确认报文之前,使备板的TCP应用层协 议进程接收主板的TCP应用层协议进程的消息,备份TCP应用层协议进程状态。
其中,TCP热备份系统,还包括:
第一记录组件301:其用于TCP应用层协议进程向备板的TCP应用层协议进 程发消息,将TCP应用层协议进程状态备份到备板之前,使主板上的TCP应用 层协议进程读取TCP接收缓冲区数据,但是不把数据从接收缓冲区删除。
其中,TCP热备份系统,还包括:
第二记录组件302:其用于TCP应用层协议进程向备板的TCP应用层协议进 程发消息,将TCP应用层协议进程状态备份到备板之后,使主板上的TCP应用 层协议进程再次读取TCP接收缓冲区数据,TCP连接修改下一次应读取的序列 号,并删除已读取的数据。
用本发明实施例的装置进行TCP热备份的具体过程与前述方法实施例类 似,此处不再赘述。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的 模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发 明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形 式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、 光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器, 或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相 似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之 处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以 描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装 置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或 者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理 单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实 际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普 通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应该以权利要求的保护范围为准。

一种TCP热备份方法和系统.pdf_第1页
第1页 / 共11页
一种TCP热备份方法和系统.pdf_第2页
第2页 / 共11页
一种TCP热备份方法和系统.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《一种TCP热备份方法和系统.pdf》由会员分享,可在线阅读,更多相关《一种TCP热备份方法和系统.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明实施例提供了一种TCP热备份方法和系统。包括:主板对TCP应用层协议进程已经读取的数据向TCP连接的对端发送确认报文,其中,所述对端,是主板与备板所在节点的共同对端;当备板切换成为主板时,所述对端将未被所述确认报文确认的数据重传至备板。通过本发明的方法,使TCP只对进程读取过的数据进行确认,接收方向只需要备份一个序列号,降低了实现的复杂度,减少了热备份的消息量,节省了主板和备板之间的带宽。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1