基于转发与控制网络件架构中控制件失效检测和恢复方法技术

技术编号:9358499 阅读:88 留言:0更新日期:2013-11-21 01:48
本发明专利技术公开了基于转发与控制网络件架构中控制件失效检测和恢复方法。本发明专利技术包括如下步骤:首先控制可用控制件列表,其次更新的控制件列表,接着在可用控制件间进行数据单向备份,实现相关数据的一致性,然后转发件跟主控制件之间采用心跳与点检测相结合的方法来检测主控制件的可用性,主控制件跟可用控制件列表表头的控制件之间采用心跳检测方法,最后若检测出主控制件死机,则实现主控制件与可用控制件列表表头的控制件之间的无缝切换。本发明专利技术满足了多控制件冗余备份的需求,且通过点检测和心跳检测相结合的方法,防止转发件切换到不同的控制件。

【技术实现步骤摘要】
基于转发与控制网络件架构中控制件失效检测和恢复方法
本专利技术属于计算机通信
,尤其涉及一种基于转发与控制网络件架构中控制件失效检测和恢复方法。
技术介绍
路由器作为计算机网络的核心设备,其高可用性至关重要。在硬件方面,路由器需要有健壮的体系结构包括各种完善的冗余部件,如路由引擎和交换矩阵的冗余。在软件方面,除了其自身要健壮,在遇到更换硬件、系统升级、增加板卡和改变链路等网络调整时,软件要有能力保证整个网络业务不受局部调整的影响,让整个网络体现出非常高的可用性,保证路由引擎进行不丢包的切换及优雅重启。当路由协议栈重启时,由此产生的路由重新计算和网络范围的路由更新会消耗处理资源,并有可能出现黑洞或瞬时转发循环形式的非预期网络行为,而优雅重启可以避免这种情况的发生。转发件和控制件分离(ForwardingandControlElementSeparation,ForCES)是IETF[1]路由领域(RoutingArea)的一个工作组,它专门研究开放可编程的路由器体系结构和协议问题,是当前开放可编程网络研究最受关注的研究组织之一。ForCES基本思想是把路由器分成转发件(ForwardingElements,FE)和控制件(ControlElements,CE),并认为其可由多个(可达几百个)FE、CE以及连接他们的ForCES协议构成。转发与控制网络件的典型结构如图1所示。在目前ForCES架构路由器的研究中,目前重点集中在对于CE和FE间通信机制的研究,我们通常所提到的ForCES协议本质上也就是Fp参考点协议,但是仅有这样一个Fp参考点协议对于ForCES架构的推广和产业化是大大不够的,业界更为关心的是路由器的可靠性和稳定性而并非技术标准的领先性,目前已经有大量的研究针对如何改善路由器的高可用性问题,因此如何提高ForCES架构路由器可靠性和稳定性已成为我们研究不可忽视的技术问题。互联网协议RFC3654中规定了转发与控制网络件的需求(Requirements),互联网协议RFC3746规定了转发与控制网络件的框架(Framework)。它们之间的信息交换使用标准化的被称为“ForCES协议”的信息交换协议,进而转发与控制网络件也被称为ForCES网络件,标准化使得转发件和控制件可以由不同厂家生产。冗余是获得高可用性的主要途径,即使是使用可能发生故障的组件,冗余也可使从意外故障中进行恢复和计划内升级的速度更快。一个ForCES网络件可由多个转发件和多个控制件组成,其中多个控制件的使用就是为了系统冗余备份目的,从而实现控制件的高可用性。多个控制件信息交换的标准化方法是ForCES网络件技术研究的核心内容之一。它至少包含两方面研究内容:多个控制件的信息交换的格式定义方法和多个控制件实现系统冗余备份的机制。目前ForCES小组对此正在探索性的研究,研究内容称为控制件冗余和恢复策略(CEredundancyandfailover),可简称为CERFPolicy。现在仅提出了通过采用主备模式实现控制件的冗余,并对转发件发现控制件失效后,提出了两种执行策略:1、转发件停止转发,然后转发件和备用控制件重新建立连接;2、转发件可以继续转发数据包,然后主动把备用控制件切换为主控制件。关于转发件如何检测到主控制件出错并确定其不能正常工作,主控制件和备用控制件之间如何切换,目前还没有一种有效的机制。所以,一种可以被标准化的用于主控制件失效检测和恢复机制成为ForCES网络件技术研究当前需要解决的重要问题。
技术实现思路
本专利技术的目的是针对现有技术的不足,提供一种基于转发与控制网络件架构中控制件失效检测和恢复方法。本专利技术解决其技术问题所才有的技术方案包括如下步骤:步骤(1)通过控制件管理单元确定主控制件和其他可用的控制件列表,并将列表告知每个控制件,同时列表通过转发件管理单元告知转发件;步骤(2)主控制件监控其他控制件状态的变化,根据其他控制件状态的变化更新可用控制件列表,并将更新后的列表告知其他控制件和转发件;根据转发与控制网络件中转发件的忙碌程度进行下一步工作,若转发件没有数据包处理时,则转至步骤(3),若转发件正在处理数据包,则转至步骤(4);步骤(3)转发件获取更新后的控制件列表后,空余时间再次确认可用控制件列表中控制件的可用性,通过主控制件告知其他转发件和可用控制件,然后跳转至步骤(5);步骤(4)转发件在向主控制件发送消息的同时,同时发送一份消息给处于可用控制件列表表头的控制件,在可用控制件间进行数据单向备份,实现相关数据的一致性;步骤(5)转发件跟主控制件之间采用心跳与点检测相结合的方法来检测主控制件的可用性,主控制件跟可用控制件列表表头的控制件之间采用心跳检测方法;步骤(6)若步骤(5)中,心跳与点检测相结合的方法检测出主控制件死机,则实现主控制件与可用控制件列表表头的控制件之间的无缝切换。所述的步骤(1)初始时,通过控制件管理单元确定主控制件和其他可用的控制件列表的操作,是由管理人员预先使用配置文件或者命令告知控制件管理单元系统中主控制件和其他可用控制件的IP地址,之后转发件管理单元通过和控制件管理单元进行数据交换获取其可用的控制件列表,在转发件向转发件管理单元询问时,将可用的控制件列表告知。所述的步骤(2)中,转发与控制网络件刚启动时,主控制件根据人工配置的可用的控制件列表,依次向可用的控制件列表中的控制件发送ACK消息,确定其可用性;然后根据权值排列可用的控制件和不可用的控制件,并把排列结果广播给转发与控制网络件中所有的可用控制件和转发件。所述的步骤(3)中,若转发件没有数据包处理时,根据步骤(2)主控制件更新后的可用控制件列表,首先,向可用控制件列表中不可用的控制件发送ACK消息,确定其可用性,如果为可用,则告知主控制件,并要求重新更新可用控制件列表;如果为不可用,则不做任何处理。其次,转发件再次向可用控制件列表的可用控制件发送ACK消息,确定其可用性,如果为不可用,则告知主控制件,并要求重新更新可用控制件列表;如果为可用,则不做任何处理。所述的步骤(4)中,转发件每次发送数据时,都同时发送给主控制件和可用控制件列表表头的控制件,主控制件对转发件的数据进行处理并返回结果,可用控制件列表表头的控制件对转发件的数据只进行接收备份,并不返回结果,根据可用控制件列表中控制件的排列顺序,控制件依次从前一个控制件复制数据内容,即进行数据单向备份,实现相关数据的一致性。所述的步骤(5)中,在主控制件端采用心跳检测机制,由主控制件向转发件发送心跳消息;转发件端采用点检测机制,点检测时间大于定时检测的时间间隔。若在点检测的时间间隔内收到主控制件的心跳消息,则定时器不被激活;若没有收到主控制件的心跳消息,则定时器激活,且转发件向主控制件发送消息,要求主控制件回应,如果主控制件在定时器规定时间内没有回应,则认为此主控制件失效,如果回应,则认为此主控制件仍正常工作。所述的步骤(6)中,在确定主控制件死机以后,可用控制件列表表头的控制件直接接管主控制件的工作,将自己对外的IP地址修改为被转发件认为是主控制件的IP地址,原主控制件根据自己的内部IP排入可用控制件列表表末端等待修复。本专利技术有益效果如下:本专利技术解决Fo本文档来自技高网
...
基于转发与控制网络件架构中控制件失效检测和恢复方法

【技术保护点】
基于转发与控制网络件架构中控制件失效检测和恢复方法,其特征在于包括如下步骤:步骤(1)通过控制件管理单元确定主控制件和其他可用的控制件列表,并将列表告知每个控制件,同时列表通过转发件管理单元告知转发件;步骤(2)主控制件监控其他控制件状态的变化,根据其他控制件状态的变化更新可用控制件列表,并将更新后的列表告知其他控制件和转发件;根据转发与控制网络件中转发件的忙碌程度进行下一步工作,若转发件没有数据包处理时,则转至步骤(3),若转发件正在处理数据包,则转至步骤(4);步骤(3)转发件获取更新后的控制件列表后,空余时间再次确认可用控制件列表中控制件的可用性,通过主控制件告知其他转发件和可用控制件,然后跳转至步骤(5);步骤(4)转发件在向主控制件发送消息的同时,同时发送一份消息给处于可用控制件列表表头的控制件,在可用控制件间进行数据单向备份,实现相关数据的一致性;步骤(5)转发件跟主控制件之间采用心跳与点检测相结合的方法来检测主控制件的可用性,主控制件跟可用控制件列表表头的控制件之间采用心跳检测方法;步骤(6)若步骤(5)中,心跳与点检测相结合的方法检测出主控制件死机,则实现主控制件与可用控制件列表表头的控制件之间的无缝切换。...

【技术特征摘要】
1.基于转发与控制网络件架构中控制件失效检测和恢复方法,其特征在于包括如下步骤:步骤(1)通过控制件管理单元确定主控制件和其他可用的控制件列表,并将列表告知每个控制件,同时列表通过转发件管理单元告知转发件;步骤(2)主控制件监控其他控制件状态的变化,根据其他控制件状态的变化更新可用控制件列表,并将更新后的列表告知其他控制件和转发件;根据转发与控制网络件中转发件的忙碌程度进行下一步工作,若转发件没有数据包处理时,则转至步骤(3),若转发件正在处理数据包,则转至步骤(4);步骤(3)转发件获取更新后的控制件列表后,空余时间再次确认可用控制件列表中控制件的可用性,通过主控制件告知其他转发件和可用控制件,然后跳转至步骤(5);步骤(4)转发件在向主控制件发送消息的同时,发送一份消息给处于可用控制件列表表头的控制件,在可用控制件间进行数据单向备份,实现相关数据的一致性;步骤(5)转发件跟主控制件之间采用心跳与点检测相结合的方法来检测主控制件的可用性,主控制件跟可用控制件列表表头的控制件之间采用心跳检测方法;所述的步骤(5)中,在主控制件端采用心跳检测机制,由主控制件向转发件发送心跳消息;转发件端采用点检测机制,点检测时间大于定时检测的时间间隔;若在点检测的时间间隔内收到主控制件的心跳消息,则定时器不被激活,若没有收到主控制件的心跳消息,则定时器激活,且转发件向主控制件发送消息,要求主控制件回应,如果主控制件在定时器规定时间内没有回应,则认为此主控制件失效,如果回应,则认为此主控制件仍正常工作;点检测机制与心跳检测机制相结合的方法具体如下:设置定时检测的时间间隔为一个时段T1,设置心跳检测的间隔时间为一个时段T1和处理一定数量服务请求的时间T2的最小值,即心跳检测时间间隔为min(T1,T2),短任务时,T2较小,当请求频繁时,T1>T2,定时器不被激活;而请求较少时,定时器激活不受影响;在主控制件端采用心跳检测机制,由主控制件向转发件发送心跳消息;转发件端采用点检测,时间为T3,T3>T1;点检测采用定时器,如果在T3周期内收到主控制件的心跳信号,则定时器进入下一个周期;如果在一个周期内没有收到主控制件的心跳信号,则定时器激活转发件,转发件向主控制件发送消息,并要求主控制件回应此消息,如果在规定时间内,转发件没有收到该主控制件的响应消息也没有收到该主控制件的心跳信...

【专利技术属性】
技术研发人员:吴晓春王伟明方琦王超
申请(专利权)人:浙江工商大学
类型:发明
国别省市:

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

1