一种实现TCP连接备份的方法技术

技术编号:16648576 阅读:37 留言:0更新日期:2017-11-27 00:23
本发明专利技术提供的一种实现TCP连接备份的方法,实现简单、维护方便,不用修改内核代码,在应用程序上通过同步序列号方式,修改TCP连接实现TCP备份,解决双主控系统中,主备主控盘发生倒换时引起的TCP连接中断导致的业务中断问题。

【技术实现步骤摘要】
一种实现TCP连接备份的方法
本专利技术属于通信
,具体涉及一种实现TCP连接备份的方法。
技术介绍
双主控系统是指一个系统中有两块主控盘协同工作,主用主控盘和备用主控盘。当主用主控盘发生故障时,备用主控盘立即接管全部工作,并且与该系统相连接的对接设备不感知到主备发生了倒换的一种保护备份系统。双主控系统广泛应用于各大运营商网络中,可以提高网络的可靠性,降低年故障率低,出错误率低。TCP是一种面相连接的、可靠的,基于字节流的传输层通信协议。在双主控系统中运行的很多协议,例如BGP(边界网关协议)、LDP(标签分发协议)等都需要建立TCP连接。当双主控系统发生倒换时,要保证TCP连接不能重建。TCP的连接不中断可以保证双主控系统发生倒换,对端对接设备不感知,由此保证业务转发不中断。为实现TCP的备份,目前行业内常用的方式是修改内核TCP状态机状态,使主用主控盘和备用主控盘的TCP状态机始终保持一致,并且实时同步主用主控盘和备用主控盘的收发报文。这种方式需要修改内核机制,很容易引入系统风险,修改难度大,维护成本高。其次,实时同步主备主控盘的数据收发报文,占用很多主备通信系统带宽,当系统较为繁忙时或者协议数据包瞬时流量较大时,会由于不能实时同步导致TCP备份失败。因此,修改内核TCP状态机状态的备份方法,可靠性差。
技术实现思路
本专利技术所要解决的是现有TCP的备份方法可靠性差、维护成本高的技术问题,提供一种实现TCP连接备份的方法,解决双主控系统中,主备主控盘发生倒换时引起的TCP连接中断导致的业务中断问题。为了解决本专利技术的技术问题,本专利技术是通过以下技术方案实现的:一种实现TCP连接备份的方法,包括以下步骤:第一步:开启协议功能,通过命令行或者网管开启全局的协议开关,然后在具体端口上使能相应的协议开关;第二步:在主用主控盘上创建TCP的SOCKET通信,调用内核的网络接口函数创建,根据协议的不同,创建不同类型的SOCKET,例如LDP协议创建流套接字;第三步:根据具体协议的标准定义,主用主控盘上运行的APP程序组织相应的标准格式报文,调用内核的网络通信发包接口函数,发送协议报文,此协议报文经过双主控系统的模拟开关,发送到对端设备;第四步:对端设备回复报文或者对端设备主动发起协议报文,经过模拟开关,通过电路广播,分别发送到主用主控盘和备用主控盘,实现报文的单发双收功能;第五步:双主控系统发生倒换时,此时包括两种可能性,插拔板卡引起的双主控倒换,以及板卡硬件或软件引起的板卡本身故障,主用主控盘通过交换芯片提供的ACL的方式关闭协议报文的收发,锁定TCP报文缓存区;在发送方向,阻止协议报文从交换芯片发送出去,在接收方向,阻止协议报文从交换芯片进入,此时内核不再收发任何协议报文,TCP缓冲区被锁定;第六步:双主控系统中主用主控盘的协议模块根据内核提供的接口函数读取TCP缓存的最后一帧,获取到TCP修复需要的必备参数,发送帧序列号以及接收帧序列号;第七步:主用主控盘接收到倒换指示,开始进行倒换工作;第八步:主用主控盘接首先通过同步模块把最后接收或者发送的缓存中的TCP协议报文发送到备用主控盘,并且TCP协议报文的同步优先级设置为最高优先级,这样可以保证TCP协议报文不被丢失;第九步:备用主控盘的同步通信接收同步通信数据,然后根据数据中携带的模块号分发到不同的模块;第十步:主用主控盘确认TCP协议报文以及其它一些系统同步需要的同步信息全部都送达到备用主控盘之后,主用主控盘开始执行倒换命令;第十一步:备用主控盘接收到倒换命令后,配置硬件的模拟开关,切换自身的身份为工作主控盘;根据同步通信通道接收到的同步TCP帧,通过TCP修复方式,平滑修复TCP连接,并把同步到的TCP帧发送出去;模拟开关切换,报文经过模拟开关处理发送到对端。与现有技术相比,本专利技术获得的有益效果是:本专利技术提供的一种实现TCP连接备份的方法,实现简单、维护方便,不用修改内核代码,在应用程序上通过同步序列号方式,修改TCP连接实现TCP备份,解决双主控系统中,主备主控盘发生倒换时引起的TCP连接中断导致的业务中断问题。本专利技术提供的一种实现TCP连接备份的方法,节省同步通信通道的带宽,优先保证TCP同步报文的同步方式,使能TCP备份可靠性得到保障。具体实施方式对实施例进行详细说明。一种实现TCP连接备份的方法,包括以下步骤:第一步:开启协议功能,通过命令行或者网管开启全局的协议开关,然后在具体端口上使能相应的协议开关;第二步:在主用主控盘上创建TCP的SOCKET通信,调用内核的网络接口函数创建,根据协议的不同,创建不同类型的SOCKET,例如LDP协议创建流套接字;第三步:根据具体协议的标准定义,主用主控盘上运行的APP程序组织相应的标准格式报文,调用内核的网络通信发包接口函数,发送协议报文,此协议报文经过双主控系统的模拟开关,发送到对端设备;第四步:对端设备回复报文或者对端设备主动发起协议报文,经过模拟开关,通过电路广播,分别发送到主用主控盘和备用主控盘,实现报文的单发双收功能;第五步:双主控系统发生倒换时,此时包括两种可能性,插拔板卡引起的双主控倒换,以及板卡硬件或软件引起的板卡本身故障,主用主控盘通过交换芯片提供的ACL的方式关闭协议报文的收发,锁定TCP报文缓存区;在发送方向,阻止协议报文从交换芯片发送出去,在接收方向,阻止协议报文从交换芯片进入,此时内核不再收发任何协议报文,TCP缓冲区被锁定;第六步:双主控系统中主用主控盘的协议模块根据内核提供的接口函数读取TCP缓存的最后一帧,获取到TCP修复需要的必备参数,发送帧序列号以及接收帧序列号;第七步:主用主控盘接收到倒换指示,开始进行倒换工作;第八步:主用主控盘接首先通过同步模块把最后接收或者发送的缓存中的TCP协议报文发送到备用主控盘,并且TCP协议报文的同步优先级设置为最高优先级,这样可以保证TCP协议报文不被丢失;第九步:备用主控盘的同步通信接收同步通信数据,然后根据数据中携带的模块号分发到不同的模块;第十步:主用主控盘确认TCP协议报文以及其它一些系统同步需要的同步信息全部都送达到备用主控盘之后,主用主控盘开始执行倒换命令;第十一步:备用主控盘接收到倒换命令后,配置硬件的模拟开关,切换自身的身份为工作主控盘;根据同步通信通道接收到的同步TCP帧,通过TCP修复方式,平滑修复TCP连接,并把同步到的TCP帧发送出去;模拟开关切换,报文经过模拟开关处理发送到对端;以上列举的仅是本专利技术的具体实施例之一。显然,本专利技术不限于以上实施例,还可以有许多类似的改形。本领域的普通技术人员能从本专利技术公开的内容直接导出或联想到的所有变形,均应认为是本专利技术所要保护的范围。本文档来自技高网...

【技术保护点】
一种实现TCP连接备份的方法,其特征在于:包括以下步骤:第一步:开启协议功能,通过命令行或者网管开启全局的协议开关,然后在具体端口上使能相应的协议开关;第二步:在主用主控盘上创建TCP的SOCKET通信,调用内核的网络接口函数创建,根据协议的不同,创建不同类型的SOCKET,例如LDP协议创建流套接字;第三步:根据具体协议的标准定义,主用主控盘上运行的APP程序组织相应的标准格式报文,调用内核的网络通信发包接口函数,发送协议报文,此协议报文经过双主控系统的模拟开关,发送到对端设备;第四步:对端设备回复报文或者对端设备主动发起协议报文,经过模拟开关,通过电路广播,分别发送到主用主控盘和备用主控盘,实现报文的单发双收功能;第五步:双主控系统发生倒换时,此时包括两种可能性,插拔板卡引起的双主控倒换,以及板卡硬件或软件引起的板卡本身故障,主用主控盘通过交换芯片提供的ACL的方式关闭协议报文的收发,锁定TCP报文缓存区;在发送方向,阻止协议报文从交换芯片发送出去,在接收方向,阻止协议报文从交换芯片进入,此时内核不再收发任何协议报文,TCP缓冲区被锁定;第六步:双主控系统中主用主控盘的协议模块根据内核提供的接口函数读取TCP缓存的最后一帧,获取到TCP修复需要的必备参数,发送帧序列号以及接收帧序列号;第七步:主用主控盘接收到倒换指示,开始进行倒换工作;第八步:主用主控盘接首先通过同步模块把最后接收或者发送的缓存中的TCP协议报文发送到备用主控盘,并且TCP协议报文的同步优先级设置为最高优先级,这样可以保证TCP协议报文不被丢失;第九步:备用主控盘的同步通信接收同步通信数据,然后根据数据中携带的模块号分发到不同的模块;第十步:主用主控盘确认TCP协议报文以及其它一些系统同步需要的同步信息全部都送达到备用主控盘之后,主用主控盘开始执行倒换命令;第十一步:备用主控盘接收到倒换命令后,配置硬件的模拟开关,切换自身的身份为工作主控盘;根据同步通信通道接收到的同步TCP帧,通过TCP修复方式,平滑修复TCP连接,并把同步到的TCP帧发送出去;模拟开关切换,报文经过模拟开关处理发送到对端。...

【技术特征摘要】
1.一种实现TCP连接备份的方法,其特征在于:包括以下步骤:第一步:开启协议功能,通过命令行或者网管开启全局的协议开关,然后在具体端口上使能相应的协议开关;第二步:在主用主控盘上创建TCP的SOCKET通信,调用内核的网络接口函数创建,根据协议的不同,创建不同类型的SOCKET,例如LDP协议创建流套接字;第三步:根据具体协议的标准定义,主用主控盘上运行的APP程序组织相应的标准格式报文,调用内核的网络通信发包接口函数,发送协议报文,此协议报文经过双主控系统的模拟开关,发送到对端设备;第四步:对端设备回复报文或者对端设备主动发起协议报文,经过模拟开关,通过电路广播,分别发送到主用主控盘和备用主控盘,实现报文的单发双收功能;第五步:双主控系统发生倒换时,此时包括两种可能性,插拔板卡引起的双主控倒换,以及板卡硬件或软件引起的板卡本身故障,主用主控盘通过交换芯片提供的ACL的方式关闭协议报文的收发,锁定TCP报文缓存区;在发送方向,阻止协议报文从交换芯片发送出去,在接收方向,阻止协议报文从交...

【专利技术属性】
技术研发人员:刘丽
申请(专利权)人:江西山水光电科技股份有限公司
类型:发明
国别省市:江西,36

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

1