【技术实现步骤摘要】
一种TCP热备架构中TCP流备份和平滑的方法和设备
本专利技术涉及数据通信领域,具体涉及一种TCP热备架构中TCP流备份和平滑的方法和设备。
技术介绍
NSR(NoneStopRouting,不中断路由)是指在在网络通信设备中配置两块主控盘,一块为主用主控盘(以下简称主用盘),一块为备用主控盘(以下简称为备用盘),在主用盘物理/软件故障或主备切换命令情况下,在邻居不感知故障而无须提供GR协助,由备用盘接替主用盘工作恢复协议邻居状态和路由标签等业务数据,而不引起协议和业务中断的技术。基于TCP连接的MPLS/路由协议组件,由TCP协议组件为其提供可靠的传输服务,MPLS/路由协议的NSR首先必须保证TCP连接的可靠备份,并在主用故障备升主后可以恢复。TCP热备是NSR实现的基础。与UDP不同,TCP流传输的不是完整的应用消息,而是字节流(一个消息的一部分或者多个消息粘连在一起)。TCP组件不感知应用消息的边界,一般由协议组件在应用协议头部定义一个长度由协议组件解析头部对消息定界;更极端地像telnet不定义长度,消息边界更模糊,由telnet协议组件逐字节解析TCP流。协议组件发送或接收的字节流丢失或重复部分字节(甚至一个字节),都会造成本地协议组件或远端协议组件无法对消息定界从而其后所有的TCP流处理错误无法恢复,TCP会话连接被关闭,该会话有关的所有标签或者路由将被撤销。TCP协议已经基于TCP序列号实现重传避免TCP流乱序、丢失、重复,从而提供本地TCP与远端TCP可靠的流传输服务。但这还 ...
【技术保护点】
1.一种TCP热备架构中TCP流备份和平滑处理的方法,其特征在于,包括:/nS1、收发TCP数据流时,靠近源的第一主用组件先缓存流,备份给第一备用组件,成功后更新收发流长度再传输给远离源的第二主用组件;第二主用组件收到TCP数据流后先缓存,备份给第二备用组件,成功后更新其收发流长度并传输给下一主用组件或远端设备;/nS2、在收到下一组件基于收发流长度的确认或远端设备基于TCP序列号的确认后,删除主用、备用组件的缓存流;/nS3、在备升主之后,基于收发流长度实现协议组件和TCP组件之间缓存流的平滑,随后恢复TCP连接。/n
【技术特征摘要】
1.一种TCP热备架构中TCP流备份和平滑处理的方法,其特征在于,包括:
S1、收发TCP数据流时,靠近源的第一主用组件先缓存流,备份给第一备用组件,成功后更新收发流长度再传输给远离源的第二主用组件;第二主用组件收到TCP数据流后先缓存,备份给第二备用组件,成功后更新其收发流长度并传输给下一主用组件或远端设备;
S2、在收到下一组件基于收发流长度的确认或远端设备基于TCP序列号的确认后,删除主用、备用组件的缓存流;
S3、在备升主之后,基于收发流长度实现协议组件和TCP组件之间缓存流的平滑,随后恢复TCP连接。
2.如权利要求1所述的TCP热备架构中TCP流备份和平滑处理的方法,其特征在于,所述步骤S1中在发送方向接收TCP流的备份具体包括以下步骤:
S101、主用协议组件初始化TCP连接以及主用协议收发流缓冲区后,将该会话有关主用协议收发缓冲区备份给备用协议组件;备用协议组件收到备份信息后为协议会话创建对应备用协议收发缓冲区;
S102、主用TCP组件创建套接口控制块和TCP控制块后成功后,将套接口控制块和TCP控制块备份给备用TCP组件;备用TCP组件收到备份信息后为TCP连接创建套接口控制块和TCP控制块;
S103、当新增路由、标签时,将新增路由、标签打包成TCP流,缓存至主用协议发送缓冲区;将主用协议发送缓冲区备份到备用协议发送缓冲区并更新;向主用协议组件返回备份成功消息;
S104、主用协议组件收到备份成功消息后,更新该会话有关协议发送缓冲区中的发送长度;将待发送TCP流传输给主用TCP协议组件,主用TCP协议组件将TCP流拷贝到主用套接口发送缓冲区,并返回拷贝字节数;如发送字节数大于返回字节数,启动定时器再次传输未成功的TCP流;
S105、主用TCP组件将主用套接口控制块的套接口发送缓冲区和TCP控制块备份给备用TCP组件;备用协议组件收到后更新备用套接口控制块的套接口发送缓冲区和TCP控制块,同时更新其套接口发送缓冲区中的发送流长度;并返回成功消息给主用TCP组件;主用TCP组件更新其套接口发送缓冲区中的发送流长度;
S106、主用TCP组件调用TCP发送流程将TCP流传输给远端设备;
S107、重复步骤S103~S106,传输后续TCP流。
3.如权利要求1所述的TCP热备架构中TCP流备份和平滑处理的方法,其特征在于,在步骤S1中在接收方向接收TCP流的备份具体包括以下步骤:
S201、主用协议组件初始化TCP连接以及主用协议收发流缓冲区后,将该会话有关主用协议收发缓冲区备份给备用协议组件;备用协议组件收到备份信息后为协议会话创建对应备用协议收发缓冲区;
S202、主用TCP组件创建套接口控制块和TCP控制块后,将套接口控制块和TCP控制块备份给备用TCP组件;备用TCP组件收到备份信息后为TCP连接创建套接口控制块和TCP控制块;
S203、主用TCP组件收到远端设备的TCP流时,将其拷贝至主用套接口接收缓冲区,更新套接口缓冲区和TCP控制块的控制信息;
S204、主用TCP组件将主用套接口控制块的套接口接收缓冲区和TCP控制块备份给备用TCP组件;备用协议组件收到后更新备用套接口接收缓冲区和TCP控制块,同时更新其套接口接收缓冲区中的接收流长度;主用TCP组件更新其套接口接收缓冲区中的接收流长度;
S205、主用TCP组件调用TCP发送流程将包含确认序列号的报文传输给远端设备;TCP组件先备份再发确认序列号的报文;
S206,主用协议组件从主用TCP组件接收TCP流,TCP组件不删除其套接口接收缓冲区中的TCP流;
S207,主用协议组件将主用协议接收缓冲区备份到备用协议组件的协议接收缓冲区;备用协议组件收到备份信息后,更新对应备用协议接收缓冲区,更新接收长度,返回成功消息给主用协议组件;主用协议组件更新接收长度。
4.如权利要求1所述的TCP热备架构中TCP流备份和平滑处理的方法,其特征在于,步骤S2中,在发送方向发送TCP流的备份的删除具体包括以下步骤:
S301、主用协议组件向主用TCP组件查询发送流长度,并与主用协议发送缓冲区的发送流长度比较,删除协议发送缓冲区中已经发送成功的TCP流;
S302、主用协议组件将S301中协议发送缓冲区的删除TCP流信息发送给备用协议组件;备用协议组件收到删除TCP流信息后,删除备用协议发送缓冲区已经发送成功T...
【专利技术属性】
技术研发人员:付华楷,马红斌,
申请(专利权)人:烽火通信科技股份有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。