发明名称 实现TCP应用主备热倒换的方法
摘要 本发明公开了一种实现TCP应用主备热倒换的方法,包括步骤:主设备中正运行的TCP应用模块实时向在线备用设备发送TCP应用配置和状态同步信息,备用设备修改相应数据结构;主设备的TCP连接成功建立/关闭时,TCP/IP栈向备用设备发送TCP连接同步信息,备用设备在TCP/IP栈内核创建/关闭连接;主备倒换后,TCP/IP栈收到TCP包,若该TCP连接是同步的连接,则根据倒换后收到的第一个数据包,初始化该连接的发包序列号和收包确认序列号;倒换后TCP应用模块启动定时器,开始收发数据包。本发明能实现双主控设备或虚拟系统中的主备热倒换,有效提高IP数据网络设备的可靠性和可用性,满足IP数据网络业务的要求。
申请公布号 CN102510408B 申请公布日期 2015.01.14
申请号 CN201110388066.9 申请日期 2011.11.30
申请人 武汉烽火网络有限责任公司 发明人 程友清;余少华;李松华
分类号 H04L29/08(2006.01)I;H04L29/12(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 北京捷诚信通专利事务所(普通合伙) 11221 代理人 魏殿绅;庞炳良
主权项 一种实现TCP应用主备热倒换的方法,其特征在于包括以下步骤:A、主用设备中正在运行的TCP应用模块实时向在线的备用设备发送TCP应用配置和状态同步信息:若主用设备先加电、备用设备后加电,主用设备检测到备用设备上线后,主用设备将其TCP应用模块的配置信息和当前的状态信息封装成同步包,通过主备同步通信模块发送给备用设备,备用设备收到TCP应用配置和状态同步信息后,修改相应的数据结构;B、主用设备的TCP连接成功建立或关闭时,主用设备的TCP/IP栈模块向备用设备发送,备用设备收到创建TCP连接的同步信息后,在其TCP/IP栈模块内核创建TCP连接,并将相关信息保存在对应的数据结构中:若主用设备先加电、备用设备后加电,主用设备检测到备用设备上线时,主用设备的TCP/IP栈模块将主用设备已经建立的TCP连接信息封装成数据包,通过主备同步通信模块发送给备用设备;备用设备收到删除TCP连接的同步信息后,关闭对应的TCP连接:在备用设备上线后,主用设备将其新建或关闭的TCP连接的同步信息实时发送给备用设备;所述TCP连接的同步信息包括本地IP地址、本地端口、远端IP地址、远端端口、TCP连接类型和TCP连接状态;所述备用设备接收到创建TCP连接的同步消息后,在备用设备上创建TCP套接字,并将TCP连接标记为同步TCP连接,关闭TCP连接相关的定时器;备用设备收到删除TCP连接的同步消息后,关闭对应的TCP套接字;所述备用设备的TCP/IP栈模块创建或删除TCP套接字连接后,向备用设备的TCP应用模块通告TCP套接字连接信息,TCP应用模块根据同步配置信息记录TCP套接字连接信息,等待接收数据;所述TCP套接字连接信息包括TCP连接的本地IP地址、本地端口、远端IP地址、远端端口、TCP套接字的套接字号;若备用设备的TCP应用模块接收到创建TCP套接字连接信息,则将该连接的TCP套接字和地址信息记录到应用的数据结构中,并在TCP应用模块的主循环加上对该套接字的选择操作,等待接收数据;若接收到删除TCP套接字连接信息,则将TCP连接信息清除,将TCP套接字号置为无效,取消对之前TCP套接字的选择操作;C、备用设备倒换为主用设备后,转主用后的TCP/IP栈模块收到TCP包后,如果TCP连接是同步的连接,则根据倒换后该TCP连接收到的第一个数据包,初始化该TCP连接的发包序列号和收包确认序列号:将原备用设备与外部设备/用户通信的接口MAC地址修改为原主用设备的MAC地址,原备用设备开始收发协议数据,其TCP/IP栈模块收到同步TCP连接的第一个TCP包时,根据该TCP包中的确认序列号,初始化该TCP连接的发包序列号,根据该TCP包中的发包序列号,初始化该TCP连接的收包确认序列号,后续收包不做特殊处理;转主用后的TCP应用模块启动相关定时器:TCP倒换后根据协议状态将相应的定时器启动,协议收发包过程中不做改动,并开始收发数据包,完成主备热倒换。
地址 430074 湖北省武汉东湖高新东信路5号关东光通信产业大楼