CN107395424A - 一种实现tcp连接备份的方法 - Google Patents
一种实现tcp连接备份的方法 Download PDFInfo
- Publication number
- CN107395424A CN107395424A CN201710636609.1A CN201710636609A CN107395424A CN 107395424 A CN107395424 A CN 107395424A CN 201710636609 A CN201710636609 A CN 201710636609A CN 107395424 A CN107395424 A CN 107395424A
- Authority
- CN
- China
- Prior art keywords
- control unit
- main control
- tcp
- protocol
- message
- 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
- 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/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Abstract
本发明提供的一种实现TCP连接备份的方法,实现简单、维护方便,不用修改内核代码,在应用程序上通过同步序列号方式,修改TCP连接实现TCP备份,解决双主控系统中,主备主控盘发生倒换时引起的TCP连接中断导致的业务中断问题。
Description
技术领域
本发明属于通信技术领域,具体涉及一种实现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帧发送出去;模拟开关切换,报文经过模拟开关处理发送到对端;
以上列举的仅是本发明的具体实施例之一。显然,本发明不限于以上实施例,还可以有许多类似的改形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明所要保护的范围。
Claims (1)
1.一种实现TCP连接备份的方法,其特征在于:包括以下步骤:
第一步:开启协议功能,通过命令行或者网管开启全局的协议开关,然后在具体端口上使能相应的协议开关;
第二步:在主用主控盘上创建TCP的SOCKET通信,调用内核的网络接口函数创建,根据协议的不同,创建不同类型的SOCKET,例如LDP协议创建流套接字;
第三步:根据具体协议的标准定义,主用主控盘上运行的APP程序组织相应的标准格式报文,调用内核的网络通信发包接口函数,发送协议报文,此协议报文经过双主控系统的模拟开关,发送到对端设备;
第四步:对端设备回复报文或者对端设备主动发起协议报文,经过模拟开关,通过电路广播,分别发送到主用主控盘和备用主控盘,实现报文的单发双收功能;
第五步:双主控系统发生倒换时,此时包括两种可能性,插拔板卡引起的双主控倒换,以及板卡硬件或软件引起的板卡本身故障,主用主控盘通过交换芯片提供的ACL的方式关闭协议报文的收发,锁定TCP报文缓存区;在发送方向,阻止协议报文从交换芯片发送出去,在接收方向,阻止协议报文从交换芯片进入,此时内核不再收发任何协议报文,TCP缓冲区被锁定;
第六步:双主控系统中主用主控盘的协议模块根据内核提供的接口函数读取TCP缓存的最后一帧,获取到TCP修复需要的必备参数,发送帧序列号以及接收帧序列号;
第七步:主用主控盘接收到倒换指示,开始进行倒换工作;
第八步:主用主控盘接首先通过同步模块把最后接收或者发送的缓存中的TCP协议报文发送到备用主控盘,并且TCP协议报文的同步优先级设置为最高优先级,这样可以保证TCP协议报文不被丢失;
第九步:备用主控盘的同步通信接收同步通信数据,然后根据数据中携带的模块号分发到不同的模块;
第十步:主用主控盘确认TCP协议报文以及其它一些系统同步需要的同步信息全部都送达到备用主控盘之后,主用主控盘开始执行倒换命令;
第十一步:备用主控盘接收到倒换命令后,配置硬件的模拟开关,切换自身的身份为工作主控盘;根据同步通信通道接收到的同步TCP帧,通过TCP修复方式,平滑修复TCP连接,并把同步到的TCP帧发送出去;模拟开关切换,报文经过模拟开关处理发送到对端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710636609.1A CN107395424B (zh) | 2017-07-31 | 2017-07-31 | 一种实现tcp连接备份的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710636609.1A CN107395424B (zh) | 2017-07-31 | 2017-07-31 | 一种实现tcp连接备份的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107395424A true CN107395424A (zh) | 2017-11-24 |
CN107395424B CN107395424B (zh) | 2020-08-25 |
Family
ID=60342227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710636609.1A Active CN107395424B (zh) | 2017-07-31 | 2017-07-31 | 一种实现tcp连接备份的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107395424B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011767A (zh) * | 2019-04-17 | 2019-07-12 | 北京百度网讯科技有限公司 | 用于tcp连接备份的方法和装置 |
CN110932970A (zh) * | 2019-12-04 | 2020-03-27 | 锐捷网络股份有限公司 | 传输控制协议tcp会话的处理方法及装置 |
CN111245640A (zh) * | 2019-12-26 | 2020-06-05 | 杭州初灵信息技术股份有限公司 | 一种分组化设备中倒换无中断的tcp连接同步方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060198296A1 (en) * | 2005-03-07 | 2006-09-07 | Sumandra Majee | Method and apparatus for replicating a transport layer protocol stream |
CN101136730A (zh) * | 2007-10-19 | 2008-03-05 | 武汉烽火网络有限责任公司 | 一种分布式网络设备中的可靠同步方法 |
CN101651706A (zh) * | 2008-08-14 | 2010-02-17 | 华为技术有限公司 | 一种数据发送和接收方法以及系统和装置 |
CN102035687A (zh) * | 2011-01-06 | 2011-04-27 | 华为技术有限公司 | Tcp连接的备份方法及其设备 |
CN104580215A (zh) * | 2015-01-09 | 2015-04-29 | 烽火通信科技股份有限公司 | 一种tcp连接热备份的实现方法 |
CN105119754A (zh) * | 2015-09-08 | 2015-12-02 | 烽火通信科技股份有限公司 | 虚拟化主备倒换保持tcp连接的系统及方法 |
-
2017
- 2017-07-31 CN CN201710636609.1A patent/CN107395424B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060198296A1 (en) * | 2005-03-07 | 2006-09-07 | Sumandra Majee | Method and apparatus for replicating a transport layer protocol stream |
CN101136730A (zh) * | 2007-10-19 | 2008-03-05 | 武汉烽火网络有限责任公司 | 一种分布式网络设备中的可靠同步方法 |
CN101651706A (zh) * | 2008-08-14 | 2010-02-17 | 华为技术有限公司 | 一种数据发送和接收方法以及系统和装置 |
CN102035687A (zh) * | 2011-01-06 | 2011-04-27 | 华为技术有限公司 | Tcp连接的备份方法及其设备 |
CN104580215A (zh) * | 2015-01-09 | 2015-04-29 | 烽火通信科技股份有限公司 | 一种tcp连接热备份的实现方法 |
CN105119754A (zh) * | 2015-09-08 | 2015-12-02 | 烽火通信科技股份有限公司 | 虚拟化主备倒换保持tcp连接的系统及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011767A (zh) * | 2019-04-17 | 2019-07-12 | 北京百度网讯科技有限公司 | 用于tcp连接备份的方法和装置 |
CN110011767B (zh) * | 2019-04-17 | 2022-09-27 | 北京百度网讯科技有限公司 | 用于tcp连接备份的方法和装置 |
CN110932970A (zh) * | 2019-12-04 | 2020-03-27 | 锐捷网络股份有限公司 | 传输控制协议tcp会话的处理方法及装置 |
CN110932970B (zh) * | 2019-12-04 | 2022-03-18 | 锐捷网络股份有限公司 | 传输控制协议tcp会话的处理方法及装置 |
CN111245640A (zh) * | 2019-12-26 | 2020-06-05 | 杭州初灵信息技术股份有限公司 | 一种分组化设备中倒换无中断的tcp连接同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107395424B (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102025646B (zh) | 链路倒换方法及其装置 | |
CN102075343A (zh) | 一种实现带外管理的方法、系统和带外管理交换机 | |
EP2424186B1 (en) | Dual-computer hot-standby method, device and system | |
CN107395424A (zh) | 一种实现tcp连接备份的方法 | |
US10929254B2 (en) | Data processing system providing service continuity protection | |
WO2012013050A1 (zh) | 主备用设备间的信息同步方法和服务器 | |
US20150333952A1 (en) | Method and system for link switching | |
WO2016095344A1 (zh) | 链路切换方法、装置及线卡 | |
CN103490931B (zh) | 一种不中断业务升级过程中协议不中断的方法和装置 | |
CN105528254A (zh) | 一种业务处理方法及装置 | |
CN102957623B (zh) | 一种边界网关协议邻居的维护方法和设备 | |
US20140161132A1 (en) | Communication System and Network Relay Device | |
CN104639867A (zh) | 一种视频会议恢复方法及系统 | |
CN102123080B (zh) | 数据转发装置和线卡板以及数据转发方法 | |
CN101827035B (zh) | 保证优雅重启的方法以及双主控网络设备 | |
CN101163038B (zh) | 一种以太网设备链路保护的方法 | |
CN113645312A (zh) | 一种基于erps协议的子环网链路保护方法与装置 | |
CN108337162B (zh) | 一种支持双归属保护的系统及方法 | |
JP2009218727A (ja) | 通信管理システム、通信管理方法及び通信装置 | |
CN106533771A (zh) | 一种网络设备以及控制信息传输方法 | |
CN110690989A (zh) | 业务数据传输方法、装置和计算机可读存储介质 | |
CN105391565A (zh) | 备份业务配置实现同步的方法 | |
CN100499500C (zh) | 对多级通信设备实现管理的方法 | |
CN102255716A (zh) | 一种对协议状态的设备间备份的方法及系统 | |
JP2008177710A (ja) | メディアサービスシステム、メディアサービス装置及びそれらに用いるlan冗長化方法 |
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 |