本发明属于通信技术领域,具体涉及一种分组化设备中倒换无中断的tcp连接同步方法。
背景技术:
tcp是一种面相连接的、可靠的,基于字节流的传输层通信协议。接入设备上运行的很多协议如bgp(边界网关协议)、ldp(标签分发协议)等都需要建立tcp连接。当双主控设备发生倒换时,要让对端对接设备不感知,tcp连接不能重建,确保业务转发不中断。
双主控系统是指一个系统中有两块主控盘,主用主控盘和备用主控盘。当主用主控盘发生故障时,备用主控盘立即接管全部工作,并且与该系统相连接的对接设备不感知到主备发生了倒换的一种保护备份系统。双主控系统广泛应用于各大运营商网络中,可以提高网络的可靠性。
为实现tcp的备份,目前行业内常用的方式是修改内核tcp状态机状态,使主用主控盘和备用主控盘的tcp状态机始终保持一致,这种方式需要修改内核机制,很容易引入系统风险,修改难度大,维护成本高。
技术实现要素:
本发明的目的在于提供一种分组化设备中倒换无中断的tcp连接同步方法。
本发明一种分组化设备中倒换无中断的tcp连接同步方法,具体步骤如下:
步骤一、在通信系统的远端及局端均设置主用主控板和备用主控板。远端内主用主控板和局端内主用主控板进行信息传输;远端内备用主控板和局端内备用主控板处于备用模式,不向外发送。
步骤二、在远端内主用主控板应用层创建tcp连接,tcp连接成功后,远端内主用主控板与局端内的主用主控板相互收发bgptcp协议包。
步骤三、局端内主用主控板在向远端发送tcp报文时,将该tcp报文同步通过信道发送给局端内备用主控板;局端内备用主控板收到tcp报文后,保存该tcp报文。
步骤四、远端接收到tcp报文后,将tcp报文同时发送给远端内主用主控板和备用主控板;远端内备用主控板收到tcp报文后,保存该tcp报文。
步骤五、无论对于远端还是局端,在对应的上层应用程序为client模式时,备用主控板发起tcp连接请求;在对应的上层应用程序为server模式时,备用主控板监听tcp连接请求。上位机配置备用主控板的操作系统tcp/ip协议栈的tcp连接状态为连接成功。
步骤六、无论对于远端还是局端,在出现三种倒换条件中的任意一种时,将备用主控板切换到主用状态。此时,备用主控板以最高优先级运行tcp状态恢复进程,通过保存的tcp报文恢复tcp状态的信息。
三种倒换条件如下:
①.主用主控板发生故障。
②.主控主用板被网管人员人为拔除。
③.网管人员通过上位机下发倒换命令。
作为优选,所述通信系统内的远端内设置有背板;远端内的主用主控板及备用主控板均与背板连接。
作为优选,步骤三中,所述的tcp报文以tcp四元组信息和发包标识为索引进行保存。
作为优选,步骤四中,所述的tcp报文以tcp四元组信息和收包标识为索引进行保存。
作为优选,步骤六中,所述tcp状态的信息包括tcp发送序列号、tcp接收序列号、窗口值和定时器数据。
本发明具有的有益效果是:
本发明通过主用主控板和备用主控板的通信通道,实时地将tcp报文发送给备用主控板板,完成tcp报文的收发同步,解决双主控系统中,主用主控板与备用主控板发生倒换时引起的tcp连接中断导致的业务中断问题,该方法可靠性高。
具体实施方式
以下对本发明作进一步说明。
一种分组化设备中倒换无中断的tcp连接同步方法,具体步骤如下:
步骤一、在通信系统的远端及局端均设置主用主控板和备用主控板。通信系统内的远端内设置有背板(路由器输入端与输出端之间的物理通道);远端内的主用主控板及备用主控板均与背板连接。背板用于接收局端发送来的信号并发送给远端内的主用主控板及备用主控板。局端内的主用主控板与备用主控板之间设置有信道,从而实现通信。
以远端内主用主控板和局端内主用主控板进行信息传输;远端内备用主控板和局端内备用主控板处于备用模式,不向外发送信号。开启协议使能开关,在需要同步的tcp上层协议使能(具体为配置bgp协议支持tcp连接同步)。
步骤二、在远端内主用主控板应用层(bgp协议)创建tcp连接,tcp连接成功后,远端内主用主控板与局端内的主用主控板相互收发bgptcp协议包。
步骤三、局端内主用主控板在向远端发送tcp报文时,将该tcp报文同步通过信道发送给局端内备用主控板;局端内备用主控板收到tcp报文后,将该tcp报文以tcp四元组信息和发包标识为索引进行保存,更新局端内备用主控板内的tcp数据包。局端内主控板在接收tcp报文时,同样将tcp报文发送给局端内备用主控板,以tcp四元组信息和收包标识为索引进行保存。
步骤四、远端内背板接收到tcp报文后,将tcp报文同时发送给远端内主用主控板和备用主控板;远端内备用主控板收到tcp报文后,将该tcp报文以tcp四元组信息和收包标识为索引进行保存,更新远端内备用主控板内的tcp数据包。远端内主控板将tpc报文发送至背板时,背板将tpc报文发送给远端内备用主控板;备用主控板以tcp四元组信息和发包标识为索引进行保存。
步骤五、无论对于远端还是局端,在对应的上层应用程序(即bgp协议)为client模式时,备用主控板发起tcp连接请求。在对应的上层应用程序(即bgp协议)为server模式时备用主控板监听tcp连接请求。远端的上层应用程序与局端的上层应用程序中,哪方处于client模式,哪方处于server模式,根据传输时的关系决定。client模式表示客户端,处于发起tcp请求的状态;server模式表示服务器,处于监听tcp请求的状态。
由于备用主控板处于备用模式,备用主控板并不能向外真正地发出报文;故此时tcp连接请求在创建后握手不能成功,即创建tcp连接失败;但上位机配置备用主控板的操作系统tcp/ip协议栈的tcp连接状态为连接成功状态(即established)。此时,备用主控板的tcp连接状态与主用主控板完全相同,故随时能够替换主用主控板进行工作。
步骤六、无论对于远端还是局端,在出现三种倒换条件中的任意一种时,将备用主控板切换到主用状态。此时,备用主控板立即以最高优先级运行tcp状态恢复进程,通过最后一次收到的收包标识为索引tcp报文和发包标识为索引tcp报文,恢复tcp状态的信息;tcp状态的信息包括tcp发送序列号、tcp接收序列号、窗口值和定时器数据。
三种倒换条件如下:
①.主用主控板发生故障(包含硬件故障和软件故障)。
②.主控主用板被网管人员人为拔除。
③.网管人员通过上位机下发软倒换命令。
无论,发生倒换的是远端还是局端,完成倒换的备用主控板均能够完全取代原本工作的主用主控板,通过tcp连接正常地发送和接收报文;进而保证了tcp连接不中断,这一过程中上层应用程序(即bgp协议)不会感知到主控板发生切换,与发生主控板倒换相连接通信的设备无感知,业务无中断。
1.一种分组化设备中倒换无中断的tcp连接同步方法,其特征在于:步骤一、在通信系统的远端及局端均设置主用主控板和备用主控板;远端内主用主控板和局端内主用主控板进行信息传输;远端内备用主控板和局端内备用主控板处于备用模式,不向外发送;
步骤二、在远端内主用主控板应用层创建tcp连接,tcp连接成功后,远端内主用主控板与局端内的主用主控板相互收发bgptcp协议包;
步骤三、局端内主用主控板在向远端发送tcp报文时,将该tcp报文同步通过信道发送给局端内备用主控板;局端内备用主控板收到tcp报文后,保存该tcp报文;
步骤四、远端接收到tcp报文后,将tcp报文同时发送给远端内主用主控板和备用主控板;远端内备用主控板收到tcp报文后,保存该tcp报文;
步骤五、无论对于远端还是局端,在对应的上层应用程序切换至client模式时,备用主控板发起tcp连接请求;在对应的上层应用程序切换至server模式时,备用主控板监听tcp连接请求;上位机配置备用主控板的操作系统tcp/ip协议栈的tcp连接状态为连接成功;
步骤六、无论对于远端还是局端,在出现三种倒换条件中的任意一种时,将备用主控板切换到主用状态;此时,备用主控板以最高优先级运行tcp状态恢复进程,通过保存的tcp报文恢复tcp状态的信息;
三种倒换条件如下:
①.主用主控板发生故障;
②.主控主用板被网管人员人为拔除;
③.网管人员通过上位机下发倒换命令。
2.根据权利要求1所述的一种分组化设备中倒换无中断的tcp连接同步方法,其特征在于:所述通信系统内的远端内设置有背板;远端内的主用主控板及备用主控板均与背板连接。
3.根据权利要求1所述的一种实现tcp连接同步的方法,其特征在于:步骤三中,所述的tcp报文以tcp四元组信息和发包标识为索引进行保存。
4.根据权利要求1所述的一种实现tcp连接同步的方法,其特征在于:步骤四中,所述的tcp报文以tcp四元组信息和收包标识为索引进行保存。
5.根据权利要求1所述的一种实现tcp连接同步的方法,其特征在于:步骤六中,所述tcp状态的信息包括tcp发送序列号、tcp接收序列号、窗口值和定时器数据。
技术总结