一种转发设备的数据平面复位方法

文档序号:7562983阅读:84来源:国知局
专利名称:一种转发设备的数据平面复位方法
技术领域
本发明涉及一种路由器和/或交换机的转发设备的系统复位方法,尤其涉及一种转发设备的数据平面复位方法。
背景技术
近几年,部分路由器和交换机的转发设备从原来基于背板总线交换的方式,向基于交换网结构转移。如图1所示,这些设备通常由控制平面和数据平面组成,控制平面负责控制报文及少量数据报文的处理和转发,而数据平面负责转发数据报文,用于保证高速转发的正常流量。
控制平面的核心器件仅有CPU(中央处理单元),而数据平面的核心器件有网络处理器、交换网、网络协处理器、成帧器等。核心器件的数量及其复杂的处理,使数据平面出现问题的概率要远远高于控制平面。
在框式转发设备(包括框式路由器和框式交换机)中,控制平面和数据平面位于不同的单板中,可以通过对数据平面的冗余设计和主备倒换的方式,来处理出现问题的数据平面。在盒式转发设备中,控制平面和数据平面位于同一块单板上,一般只能通过对整个系统进行复位来解决数据平面出现问题。这样整个系统运行的业务就中断了。总的说来,采用对整个系统进行复位的方法来解决数据平面出现的问题,有以下缺点1、报文转发中断时间长,一般有几分钟,甚至十几分钟不等,视系统重启到配置恢复所需时间而定;2、原来系统学习到的路由、网络拓扑等动态信息丢失,恢复需要一定的时间;3、在转发设备作为接入服务器时,原来在线用户信息丢失,重启后用户必须重新认证上线才能正常访问网络;4、在网络处理器中的微代码存在BUG时,无法在不中断业务的情况下在线替换。

发明内容
本发明的一个目的是提供一种转发设备数据平面复位方法,使用该方法能够在业务不中断的情况下对数据平面进行复位。
本发明的另一个目的是提供一种转发设备数据平面复位方法,在业务不中断的情况下,在线替换数据平面的网络处理器中的微代码。
本发明还有一个目的是提供一种转发设备数据平面复位方法,使用该方法能够快速地侦测数据平面异常。
为实现上述目的,本发明提供了一种转发设备数据平面复位方法,包括以下步骤(1)使控制平面的业务处理部分无法感知数据平面复位的步骤;(2)使控制平面不对数据平面进行复位操作以外操作的步骤;(3)保存数据平面在复位前所保存的数据的步骤;(4)对数据平面进行复位的步骤;(5)进行数据恢复的步骤。
优选地,本发明的方法进一步包括侦测数据平面异常的步骤;所述侦测数据平面异常的步骤优选地采用控制平面和数据平面之间的“握手报文机制”实现。
所述“握手报文机制”是指控制平面每隔0.5秒向数据平面发送事先约定好的握手报文,网络处理器的微代码通过流量管理器回送响应报文,以维持心跳。当连续3次握手报文均没有获得响应的话,即认为数据平面异常。
优选地,本发明的方法包括替换数据平面的网络处理器的微代码的步骤。该步骤优选地通过改变指示加载微代码的数组指针的方式来实现。
优选地,所述使控制平面的业务处理部分无法感知数据平面复位的步骤和所述使控制平面不对管理平面进行复位操作以外操作的步骤,通过停止CPU对所有中断的响应来实现。
所述数据平面的存储器中保存的复位前的数据在复位时不清除,保存的其它复位前数据保存在控制平面的内存中。
所述对数据平面进行复位的步骤中,对数据平面成帧器进行复位的步骤中,包括设置使能控制平面查询端口状态的桩函数的步骤。
本发明技术方案在数据平面出现问题时,仅复位数据平面,不需要复位整个系统,因此有以下有益效果
1.报文转发中断时间短,在2秒之内,设备即可恢复正常转发。
2.系统在复位之前运行时学习到的动态信息不丢失。
3.在盒式设备作为接入服务器时,原来在线用户信息不丢失。用户不需要重新认证上线,不会感知到异常。


图1是基于交换网的转发设备的组成示意图;图2是本发明的一个实施例的数据平面复位步骤的流程图。
具体实施例方式
下面结合附图,对本发明的原理和优选实施例进行详细的说明。
数据平面出现问题时,其原因可能是1、关键芯片的缺陷;2、关键芯片(网络处理器芯片)中运行的微代码的缺陷;3、不可预知的原因导致芯片处于异常状态。
数据平面复位技术通过单独复位数据平面的方式,将数据平面恢复到正常工作时的状态,可解决以上数据平面的问题,不需要对整个系统进行复位。在本发明的单独复位数据平面的方法中,要做到以下几点1、必须使控制平面的业务处理部分无法感知到数据平面的复位。否则,控制平面一旦感知到端口的物理层连接断开,就会删除接口路由;如果盒式设备作为接入服务器时,控制平面还会因为这个原因,将该端口上所有的用户下线;2、必须使控制平面在数据平面复位期间,不对管理平面进行复位操作之外的其它操作。否则,控制平面的业务模块会认为数据平面出现异常,从而导致控制报文转发的异常;在本发明的实施例中,通过在数据平面复位前后关、开控制平面的CPU的中断来保证以上两点。
3、必须能够保存数据平面在复位之前保存的数据,从而在复位之后,能够正确恢复。在本发明的实施例中,通过硬件自身保存和控制平面辅助保存来保证数据的正确保存和恢复。
本发明还提供了一种在短时间内(比如小于2秒),侦测到数据平面异常的方法,在侦测到数据平面异常后再进行数据平面复位。否则,如果数据平面的异常导致了用户探测等控制平面操作失败,则只能靠用户继续执行上线操作的触发,才能恢复。本发明的实施例中采用握手报文的方式来进行数据平面异常的快速侦测。
另外,为解决由于网络处理器中微代码的缺陷引起的数据平面异常的问题,可能需要进行微代码的替换。即在数据平面复位时,加载微代码补丁(修改问题后的微代码)。在本发明的实施例中,通过数组指针,控制加载不同的微代码。
下面结合图2,对本发明的实施例进行具体说明,所列附图只用于说明,不是对本发明的限制。
在以下两种情形下,开始进行数据平面复位1、在控制平面侦测到数据平面异常时,进行数据平面的复位。在本发明中,采用“握手报文机制”进行数据平面异常的侦测。“握手报文机制”是指控制平面每隔0.5秒向数据平面发送事先约定好的握手报文,数据平面网络处理器中运行的微代码通过流量管理器回送响应报文,以维持心跳。当连续3次握手报文均没有获得响应的话,即认为数据平面异常,进入数据平面复位流程。
2、用户触发数据平面的复位。当设备上网运行出现问题并且开发人员定位到微代码存在缺陷时,当控制平面具有补丁机制的特性时,厂商可发布补丁,由用户通过控制平面的补丁机制(一种在线修改有问题的运行代码的机制,不需中断业务),将修改缺陷后的微代码以控制平面补丁的形式加载到系统中、激活、保存。通过命令行的触发,进行数据平面复位;当控制平面没有补丁机制时,可通过其它方式,如将微代码存储到控制平面的存储设备中,由用户触发数据平面的复位,从而替换微代码。
数据平面中的存储芯片既可由微代码初始化,也可由控制平面初始化。系统开机初始化时,控制平面负责清除数据平面中的存储芯片的内容,作为存储芯片的初始状态,微代码不能清除该芯片中的内容,否则在复位操作时,存储芯片中内容将被微代码清除。而由于这些内容很大(通常有1M到10M不等),并且访问速度慢,在数据平面复位时,存储芯片中的内容不丢失(除非被清除),控制平面中并不保存这些信息,所以绝不能被微代码清除。
如图2所示,在本发明的第一实施例中,控制平面在检测到数据平面的异常时,开始进行数据平面复位。首先申请控制平面的内存空间,用于保存数据平面的动态信息。这些动态信息包括网络处理器中存储的、网络协处理器中存储的、流量管理器中存储的、交换网中配置的、成帧器中配置的信息。然后关闭控制平面的所有中断,保护数据平面复位的现场。接着调用驱动函数(这些函数完成使数据平面正常工作的作用),保存现场。这些现场信息包括网络处理器中存储的、网络协处理器中存储的、流量管理器中存储的、交换网中配置的、成帧器中配置的信息。存储芯片中保存的信息自身保存,其它器件中保存的信息在初始化时,被芯片自身清除。
下一步,复位数据平面的网络处理器、网络协处理器、流量管理器、交换网、成帧器。
首先,初始化网络处理器。加载网络处理器微代码。
然后初始化网络协处理器、流量管理器;按照所保存的配置信息,初始化交换网、成帧器。
接着,恢复现场。这些现场包括网络处理器中存储的、网络协处理器中存储的、流量管理器中存储的、交换网中配置的、成帧器中配置的信息。
因为成帧器(如以太网的PHY器件)重新初始化后,配置恢复一般需要1秒左右的时间,在这段时间之内,端口处于连接中断状态。不能让控制平面感知,以避免控制平面进行相关控制操作,如将中断端口的在线用户下线等,因此必须使能控制平面查询端口状态的桩函数,该函数未使能时,控制平面查询的是成帧器的真实状态,使能后,控制平面查询到复位之前保存的成帧器的状态,并且持续使能约3秒钟。
最后,打开控制平面关闭的中断,打开现场。
仍如图2所示,在本发明的第二实施例中,由用户触发数据平面的复位。
在初始化网络处理器的步骤中,判断是否需要加载微代码,并依据判断的结果加载修改后补丁的微代码。待加载的微代码以全局变量的形式处于控制平面的程序空间(程序空间保存了CPU执行的指令、使用的全局数据等,通常有数据段、代码段等等)的数据段中,在需要加载修改后补丁的微代码时,变换指示加载微代码的指针,加载修改后补丁的微代码。
其它步骤与第一实施例的相同,故不赘述。
需要注意的是,根据芯片的集成,数据平面的网络处理器、成帧器、交换网、网络协处理器、流量管理器等可以单独的芯片形式存在,也可由网络处理芯片集成了流量管理、交换网、网络协处理功能,网络处理芯片、流量管理芯片、交换网芯片、网络协处理芯片在硬件上封装成一枚芯片。另外,如果要求有更高的端口密度,网络处理芯片在硬件上可以多枚芯片的形式存在。对于以上的各种形式,本发明的数据平面复位方法都同样适用。
以上对本发明进行了详细的描述,但本领域的普通技术人员应该意识到,在不脱离本发明的范围和精神的情况下,各种改进、添加和替换都是可能的,并都在本发明的权利要求所限定的范围内。
权利要求
1.一种转发设备数据平面复位方法,包括以下步骤(1)使控制平面的业务处理部分无法感知数据平面复位的步骤;(2)使控制平面不对数据平面进行复位操作以外操作的步骤;(3)保存数据平面在复位前所保存的数据的步骤;(4)对数据平面进行复位的步骤;以及(5)进行数据恢复的步骤。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括侦测数据平面异常的步骤。
3.根据权利要求2所述的方法,其特征在于,所述侦测数据平面异常的步骤通过控制平面和数据平面之间的“握手报文机制”实现。
4.根据权利要求3所述的方法,其特征在于,所述“握手报文机制”是指控制平面每隔0.5秒向数据平面发送事先约定好的握手报文,微代码会通过流量管理器回送响应报文,以维持心跳,当连续3次握手报文均没有获得响应的话,即认为数据平面异常。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法进一步包括替换数据平面的网络处理器的微代码的步骤。
6.根据权利要求5所述的方法,其特征在于,所述替换数据平面的网络处理器的微代码的步骤通过改变指示加载微代码的数组指针的方式来实现。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述使控制平面的业务处理部分无法感知数据平面复位的步骤和所述使控制平面不对管理平面进行复位操作以外操作的步骤,通过停止所述控制平面的CPU对所有中断的响应来实现。
8.根据权利要求5所述的方法,其特征在于,所述使控制平面的业务处理部分无法感知数据平面复位的步骤和所述使控制平面不对管理平面进行复位操作以外操作的步骤,通过停止CPU对所有中断的响应来实现。
9.根据权利要求1至4任一项所述的方法,其特征在于,所述数据平面的存贮器中保存的复位前的数据在复位时不清除,所述数据平面在复位前保存的其它数据保存在所述控制平面的内存中。
10.根据权利要求1至4任一项所述的方法,其特征在于,对所述数据平面的成帧器进行复位的步骤中,包括使能控制平面查询端口状态的桩函数的步骤。
全文摘要
本发明公开了一种转发设备数据平面复位方法,包括以下步骤(1)使控制平面的业务处理部分无法感知数据平面复位的步骤;(2)使控制平面不对数据平面进行复位操作以外操作的步骤;(3)保存数据平面在复位前所保存的数据的步骤;(4)对数据平面进行复位(优选地包括替换网络处理器中的微代码)的步骤;(5)进行数据恢复的步骤。本发明的方法具有报文转发中断时间短、系统学习到的动态信息不丢失等优点。
文档编号H04L12/24GK1633076SQ20031012177
公开日2005年6月29日 申请日期2003年12月23日 优先权日2003年12月23日
发明者谢建平 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1