[发明专利]一种通过应用与协议栈联动实现不间断路由的系统及方法在审
申请号: | 201710861446.7 | 申请日: | 2017-09-21 |
公开(公告)号: | CN107645451A | 公开(公告)日: | 2018-01-30 |
发明(设计)人: | 李和松 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | H04L12/781 | 分类号: | H04L12/781;H04L12/24 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙)42225 | 代理人: | 彭程程 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 应用 协议 联动 实现 不间断 路由 系统 方法 | ||
技术领域
本发明涉及应用层协议与TCP/IP协议栈领域,具体来讲涉及一种通过应用与协议栈联动实现不间断路由的系统及方法。
背景技术
对于电信级路由器而言,控制板卡通过动态路由协议与邻居站点交换路由信息并生成路由表,转发平面根据控制板卡下发的路由表执行业务转发。一旦控制板卡发生故障,将会导致业务中断的严重后果。对于应用于IP骨干网的高端路由器而言,如何最大限度地降低控制板卡故障对业务造成的风险,一直以来都是一个技术性难题。
通常而言,在控制板卡1+1冗余的前提下,为动态路由协议增加标准定义的NSF(NonStop Forwarding)特性,理论上可实现控制板卡切换状态下的业务零丢包。然而,标准定义的NSF功能并不能将本地的主备切换事件对邻居站点实现透明化,这意味着NSF需要有邻居站点针对主备切换进行特殊逻辑处理,从而实现其不中断业务的目的。这种对邻居站点的依赖性极大地限制了NSF在现网中的应用。NSR(Non-Stop Routing,不间断路由)技术为了克服标准NSF功能的这一致命缺陷,通过实时的状态备份和快速恢复,可以将控制板卡的故障局限在本站点内部,实现对邻居站点的完全透明。由于NSR全部的处理逻辑均在本地设备内部完成,其并没有开放标准,并且实现基于TCP(Transmission Control Protocol传输控制协议)的路由协议的NSR功能在技术上非常复杂,如BGP(Border Gateway Protocol,边界网关协议)。
如附图1所示,在控制平面中控制板卡无高可用性支持的情况下,一旦控制板卡出现故障,动态路由协议的控制连接(这里特指TCP连接)和业务转发平面都会出现中断;在动态路由协议和转发平面加入标准定义的NSF支持以后,一旦控制板卡出现故障导致主备切换,虽然控制连接出现中断,但通过本地站点和邻居站点的协同工作,依然可保障业务的正常转发。然而,在典型的工程环境中,为了部署NSF功能,需要对本地站点和相应的邻居站点都进行软件升级,否则NSF并不能正常工作。此外,控制连接的中断和重建,往往随之而来的是网络的震荡。NSR技术的目标就是在控制平面主备切换的过程中,维持控制连接和转发平面均不中断,从而将主备切换局限在本地站点内部,对外部网络实现透明化。NSR技术难于实现控制连接在主备切换之后的恢复。虽然NSR实现的方式很多,但当前,大部分的实现思路仅仅专注于在TCP/IP协议栈层面如何实现连接的热备份,这导致应用程序和协议栈人为地割裂,处于两者之间的程序逻辑属于保护的空白地带,往往会出现TCP不中断,应用层仍会有信息丢失的情况。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种通过应用与协议栈联动实现不间断路由的系统及方法,通过应用与协议栈联动实现NSR,在各种随机性的程序故障产生时,保证连接不中断且信息不丢失,主备之间平滑切换。
为达到以上目的,本发明采取一种通过应用与协议栈联动实现不间断路由的系统,包括应用层、主用协议栈和备用协议栈,所述应用层对应主用协议栈设置主用程序模块,对应备用协议栈设置备用程序模块,主、备用程序模块用于主、备用协议栈之间的状态同步;所述主、备用协议栈均包括:
HA模块,用于协议栈之间的数据交互,维护协议栈的主用或备用状态;
API接口,用于向对应的程序模块提供其所在协议栈中HA模块的状态备份信息;
TCP/IP模块,支持TCP/IP协议,用于设置HA模块。
在上述技术方案的基础上,所述主用程序模块和备用程序模块之间通过私有接口同步主、备用协议栈状态。
在上述技术方案的基础上,所述应用层通过标准套接字接口实现邻居站点数据的收发。
在上述技术方案的基础上,所述应用层的主、备用程序模块均为BGP程序模块或LDP程序模块。
本发明还提供一种通过应用与协议栈联动实现不间断路由的方法,包括:
主用程序模块发送数据流程,包括主用程序模块收到新的数据并封装,发送到主用协议栈,主用协议栈将收到的数据发送到备用协议栈,备用协议栈将所述数据缓存,并回复确认消息;主用协议栈收到所述确认消息后,发送给主用程序模块,主用程序模块收到所述确认消息,更新主、备用协议栈状态,并向备用程序模块同步主、备用协议栈状态,以及通过TCP向邻居站点发送数据,邻居站点收到后按发送相应ACK报文;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710861446.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:磁敏相控阵探测组件
- 下一篇:一种激光器能量稳定半自动检测装置