专利名称:软路由器协议故障恢复的制作方法
技术领域:
本发明总的涉及联网,具体地,涉及在示例性软路由器架构中的协议故障恢复。
背景技术:
传统的路由器架构今天变得越来越复杂,因为越来越多的特征被加到互联网控制平面。许多操作任务,诸如路由策略实施或流量工程,需要网络范围的控制,这种控制在自主和复杂路由器的网络中是很难和很麻烦的。而且,当前的路由器具有与转发引擎紧密地联系的路由控制器,这种静态绑定常常导致共享的失效。
尽管端到端结构的设计原理目标是简单的核心网,随着新的特征被标准化,越来越多的控制平面复杂性正加到路由器。这些特征包括路由(例如,基于BGP的MPLS-VPN)、流量工程(TE)(例如,开放的最短路径优先(OSPF)-TE)、安全性等等。相反,随着大规模硬件集成(例如,ASIC)的快速进步和现用的芯片的已有的可用性,转发路径实施方案逐渐变得更容易。
传统的IP网络通过使用相对自主地操作的路由器被构建。潜在地不可管理的复杂性存在于在所有的网络上的许多点。这具有许多不期望的结果。首先,多个控制点大大地增加操作复杂性(例如,误配置)。其次,在某些环境下,这些自主路由器的不协调的动作在最好情形下得到次最佳性能(例如,差的恢复时间)以及在最坏情形下导致网络不稳定性。最后,新的特征的引入可能需要升级到大数目的路由器,这是复杂和易于出错的。
传统的路由器架构具有集成的控制和转发。实施控制平面功能的控制处理器是与实施转发功能的线卡一起放置,并且常常共享相同的路由器背板。控制处理器把控制功能仅仅提供到一起放置的线卡,反之亦然,这导致其中当一起放置的控制器失效时不能管理线卡的情形。
发明内容
现有技术的各种缺陷通过本发明的用于示例性软路由器架构的协议故障恢复而得以解决,本发明包括许多实施例。
一个实施例是执行协议故障恢复的方法,其中转发元件(FE)运行用于特定的协议的协议覆盖处理和路由表管理器(RTM)处理。FE接收来自活动协议控制元件(CE)的路由协议消息,以及作为响应,把它们传播到所有的协议CE。心跳消息被承载在接收的路由协议消息。FE接收来自活动协议CE作为响应发送消息的确认。在活动协议CE故障后,FE发起到备份协议CE的故障恢复。
另一个实施例是执行协议故障恢复的方法,其中由对于特定的协议的每个控制元件(CE)运行协议覆盖处理。CE包括活动协议CE和备份协议CE。活动协议CE代表由活动协议CE控制的转发元件(FE)运行协议处理。活动协议CE周期性地发送检验点。检验点由FE传播到备份协议CE。检验点在从故障恢复后用于更新协议状态。备份协议CE参加由FE发起的协议故障恢复。
另一个实施例是执行协议故障恢复的方法,其中转发元件(FE)发送进入的和外出的协议消息到所有的控制元件(CE)。FE是在数据平面上的多个FE之一。CE是在物理上和逻辑上与数据平面分开的控制平面上。CE和FE经由标准协议通信。每个FE被动态地绑定到一个CE。对于比起最近的检验点更加新的消息,活动协议CE和备份协议CE被同步。FE发起从活动协议CE到一个备份协议CE的协议故障恢复,它确认该备份协议CE现在是活动协议CE。另一方面是存储具有用于执行这个方法的指令的计算机程序产品的存储介质。
另一个实施例是网络结构,包括数据平面、控制平面、和协议故障恢复机构。数据平面包括用于分组转发的多个FE。控制平面在物理上和逻辑上是与数据平面分开的。控制平面包括至少一个CE,用于经由标准协议配置、控制、和提供路由信息到FE。有用于绑定FE和CE的动态绑定协议。协议故障恢复机构操纵由FE发起的故障恢复,以对于每个路由协议把控制从一个CE转移到另一个CE。
通过结合附图考虑以下的详细说明,可以容易地了解本发明的教导,其中图1显示驱动更多的功能到IP的出现的应用的问题;图2是显示传统的路由器的框图;图3是显示示例性软路由器架构的高级别抽象的框图;图4是显示传统的路由器架构的框图;图5是显示示例性软路由器架构的实施例的框图;图6是显示说明网络元件的示例性软路由器架构的实施例的框图;图7是显示用于转发元件(FE)的工作控制元件(CE)和备份CE的示例性表的框图;图8是显示示例的组的分级结构的Venn图;图9是显示用于故障恢复的示例性协议覆盖的框图;图10是显示示例性故障恢复情形的序列图;以及图11是显示计算机的高级别框图。
为了便于了解,在可能的情形下相同的标号被使用来表示相同的元件,这些元件对于图是共同的。
具体实施例方式
本发明主要在示例性软路由器架构的实施例的总的环境进行描述,然而,通过这里的教导获益的、本领域技术人员将会看到,拆解(disaggregation)概念可被使用来生成网络结构的各种其它实施例,以及本发明可应用于局域网(LAN)、城域网(MAN)、广域网(WAN)、和其它网络、许多开放系统互联(OSI)层、网关协议、串行线协议、协议堆栈路由和桥接协议、许多其它协议、流量管理、光学、边缘/核心路由、无线、有线、数据中心、辅助信号路径(ASP)、故障管理、配置管理、帐户管理、性能管理、安全管理、其它网络管理、娱乐、政府、军事应用、和许多其它不同的种类的联网特征和应用。
互联网协议(IP)提供端到端数据报传递服务到协议和应用,以及可以使用传递分组的任何链路层技术。图1显示驱动更多的功能到IP的涌现的应用,扩展沙漏器的中部的问题。这些涌现的应用包括电子邮件、www电话、简单的邮件传输协议(SMTP)、超文本传输协议(HTTP)、路由表协议(RTP)、传输控制协议(TCP)、用户数据报协议(UDP)、和其它协议,这包括服务质量(QoS)、多播、移动性、虚拟专用网(VPN)、和其它特征,以及通过使用以太网、点对点协议(PPP)、载波检测多址(CSMA)、ASYNC(电传打字机(TTY)的子集)、同步光网络(SONET)、和其它通过铜线、光纤、无线电的协议、以及其它物理传输装置而被传输。传统的路由器架构试图把所有的新的IP功能都引入到路由器,导致在网络的多个路由器中复制复杂的功能。这也增加基建投资和运行花费。通常,有需要减小运行路由器的网络的复杂性和花费。
许多新的特征被加到路由器,例如边界网关协议(BGP)、基于多协议标签交换(MPLS)的VPN、和流量工程(TE)。传统的路由器架构具有五百万到一千万行代码,复杂性扩散到整个网络。达到操作员的网络范围目标,诸如流量工程,需要在许多单个路由器中从全球目标到配置信息的复杂的转换。误配置或不协调的配置可导致很差的性能或网络不稳定性。
互联网的许多成就已带来持续的发展和部署新的特征和服务,它们在压力下不断打下它的技术基础。这使得相信这样的想法,重新构建IP网络中当前的功能分布会在网络稳定性、网络操作的简化、和引入新的网络协议与服务的灵活性方面带来重大的收益。
许多新的先进的网络管理任务,诸如路由策略实施和流量工程,将从网络范围观点的可用性很大地获益。例如,几个通常的BGP引起的网络稳定性和操作问题可以通过把BGP从各个路由器移动到具有自主系统(AS)范围的单个实体而被解决。类似地,许多管理功能需要网络范围观点,没有它网络会呈现振荡和很差的稳定性。然而,网络范围的控制在今天的自主和复杂路由器的网络中是很难和很麻烦达到的。
在传统的路由器架构中,基本的问题是在当前的路由器中控制和转发功能的深度交叉。有需要解构路由器,以便通过减小它们的功能以便只支持几个经典的分组转发功能和把所有的控制协议和非转发相关的状态和控制处理转移到几个具有网络范围控制的主要功能的基于智能网的控制实体而使大多数网络实体尽可能沉默。也需要完美地和无接缝地操纵协议故障恢复。
通过使用用于网络互联的公开的、基于标准的协议从路由器软件拆解路由器硬件具有许多好处。拆解概念解除对于每个部件的供应商的联系,这降低硬件销售商进入的壁垒和鼓励独立的软件销售商(iSV)投资开发载体类路由软件以供应新的硬件市场会员。这种拆解概念允许每个部件集中到它本身的创新的曲线。硬件制造商可用集中在以最低的成本达到每个密度的最高的速度,以降低资金消耗,以及软件制造商可集中在新的应用和可管理性,以增加收益而同时减小操作花费。
示例性软路由器架构的实施例通过把控制平面功能实施方案与分组转发功能分离开而解构路由器。达到这种解构的网络结构的其它实施例也属于本发明的范围。本发明包括解构的概念和它对于网络结构的启示。在示例性软路由器架构中,所有的控制平面功能在分开的控制实体上被实施,这些控制实体不需要与转发引擎位于共同的地点。通过把所有的非转发相关的状态和控制处理转移到几个基于网络的控制实体,网络范围的目的的更加简单的实施方案是可能的,因为只有几个智能网元件需要协调的配置的改变而不是AS中的所有的网络元件。另外,在控制器与转发引擎之间的关联是动态的,这允许由能够这样做的任何控制实体灵活的地控制转发引擎。
示例性软路由器架构包括动态绑定协议,用于建立和维护在网络中转发实体与控制实体之间的动态绑定。域内和域间路由适用于具有改进的性能(包括用于域内协议OSPF的改进的性能)的示例性软路由器架构。
通过使用用于网络互联的公开的、基于标准的协议从路由器软件拆解路由器硬件具有许多好处。拆解概念解除对于每个部件的供应商的联系,这降低硬件销售商进入的壁垒和鼓励独立的软件销售商(iSV)投资开发载体类路由软件以供应新的硬件市场会员。这种拆解概念允许每个部件集中到它本身的创新的曲线。硬件制造商可用集中在以最低的成本达到每个密度的最高的速度,以降低资金消耗,以及软件制造商可集中在新的应用和可管理性,以增加收益而同时减小操作花费。
示例性软路由器架构的实施例是一种用来拆解由出现的应用要求的复杂的IP功能的方法。软路由器集中和允许共享复杂性。软路由器使能可伸缩地引入新的功能,而不会过度拖累IP转发功能。
图2显示具有集成的控制和传输平面的传统的路由器200。传统的路由器200具有通过专用接口206进行通信的软件202和硬件204。
相反,图3显示将控制和传输平面拆解以使用标准协议进行通信的分开的硬件中的示例性软路由器架构300的高级别抽象。软路由器架构300具有使用基于标准的协议306进行通信的控制元件与特征服务器部件302和分组转发元件部件304。
图4显示具有多个互联的路由器400的传统的路由器架构。
图5显示示例性软路由器架构500的实施例。在这个示例性软路由器架构500的实施例中,软件服务器包括控制元件(CE)502和特征服务器(FS)504。CE 502负责传统的路由,例如用于内部网关协议(IGP)(例如,OSPF)和外部网关协议(EGP)(例如,边界网关协议(BGP))。FS 504负责附加价值的功能和基于网络的应用,例如QoS、VPN和移动IP。CE 502和FS 504都接口到转发元件(FE)506。CE 502和FS 504可以具有附加的互相的接口。示例性软路由器架构将基于软件的路由控制器(软路由器)从基于硬件的传输和分组转发分离并集中。
解构示例性软路由器架构中的路由器,用来分离控制和转发功能。这种分离是不仅是逻辑上的(例如,使用具有模块应用编程接口(API)的明确地定义的接口);事实上,通过由此执行转发的多跳,控制可被物理地分开(即,在不同的网络元件中执行的)。
FE 506是执行流量的实际的转发与交换的网络元件。在结构上,FE 506类似于传统的路由器它可以具有多个线卡,每个线卡又终结多个端口,还具有交换光纤,用于把数据流量从一个线卡传送到另一个线卡。然而,FE 506不同于传统的路由器,因为不存在本地运行的任何复杂的控制逻辑(例如,路由处理,如OSPF或BGP)。相反,控制逻辑被远程操控。
CE 502是诸如服务器的通用计算元件。它连接到网络,除了它一般地经由多个FE 506多方归属(multi-homed)到网络以外,它与终端主机类似,因此,当单个链路故障时,它不与网络断开连接。CE502代表FE 506操纵控制逻辑,因此控制它们。在传统的路由器上典型地找到的任何控制逻辑可被合并到CE 502,包括像OSPF和BGP的路由协议以及诸如资源保留协议(RSVP)、标签分布协议(LDP)、移动IP等等的协议。
FE 506起到在它的链路之间转发数据流量的作用。这个功能可以采取各种形式,诸如分组转发、标签交换、和光交换等等。分组转发包括第2层(基于媒体接入控制(MAC)的交换)和第3层(最长前缀匹配)转发。标签交换例如包括MPLS转发。数据路径转发功能可包括标签交换、推入和弹出。在光交换时,流量可以被时间交换、波长交换、或空间交换等等。在这些情形的每种情形下,交换功能被单个本地表驱动,该本地表由网络中的CE 502计算和安装。因此,FE 506仅仅根据本地数据结构完成它的工作的能力意味着,FE 506被设计成是沉默和快速的,而更复杂的逻辑被移交给远程的而智能的CE 502。
除了被看作物理网络元件以外,FE 506和CE 502还被看作逻辑实体。具体地,FE 506被逻辑地定义为一组端口,在其中流量可被互相交换。例如,FE 506可包括单个线卡上的所有的端口,在这种情形下,整个物理分组交换机由多个逻辑FE 506组成。FE 506也可跨越一个以上的物理交换机;然而,CE可控制多个FE。同样地,CE可被看作为为了代表FE提供控制而实例化的逻辑处理,并可以与实际上执行它的服务器机器区分开。具体地,物理的CE服务器机器(PCE)可以操纵多个CE 502处理,每个过程服务于不同的一系列的FE 506。反之亦然,也有可能多个CE 502处理(每个为诸如内部网关协议(IGP)和外部网关协议(EGP)的不同的控制目的而发起)服务于在不同的PCE上的同一个FE 506。FE 506和CE 502的物理的和逻辑的定义可被交换地使用。
图6显示说明网络元件600的示例性软路由器架构的实施例。虽然路由器的说法在示例性软路由器架构中不是严格需要的,但返回到某些等价的说法是有用的,以便了解网络的路由观点。为此,网络元件(NE)600的概念在高级别上被定义为FE 506和控制那些FE 506的各个CE 502的逻辑编组。具体的NE 600编组隐含地分类在作为内部(或内部的NE)或外部(或NE之间)的FE 506之间的每个链路。内部链路连接属于同一个NE 600的两个端口,以及外部链路连接属于不同的NE 600的两个端口。NE 600的概念在NE内和NE之间的路由遵循不同的方法时是有用的。
不用附加限制,NE 600的以上的定义允许灵活性。例如,这个定义允许在网络的分离的部分中的两个FE 506属于同一个NE 600。它也允许传统的路由器模型,其中FE 506正好包括网络元件中所有的端口以及控制CE 502共同位于同一个元件处。
在集群的路由中,组成NE 600的FE 506是相邻的云(cloud)的一部分。换句话说,NE 600的所有部分可由NE 600内部的链路互相达到。物理地,这代表相邻的物理的FE 506集群到单个NE 600。典型的情形是在中央办公室中背靠背连接的几个路由器的情形。从路由观点看来,NE 600的基于集群的定义可以提供很大的简化。从路由看来减小数目的NE 600减小NE内路由的复杂性,并且不同的、可能不太复杂的路由协议可被利用来进行NE内路由。
在FE 506与CE 502之间的控制关系被正式地称为绑定。更精确地,在FE 506与CE 502之间的绑定意味着,CE 502代表FE 506执行具体的控制功能。因为对于FE 508的操作可能需要多个协议(例如,IGP和EGP,或甚至一个协议的多个实例),FE 506可以具有多个CE502绑定。
示例性软路由器架构包括各种协议。多个不同的协议被用于按照示例性软路由器架构设计的网络的操作,包括动态绑定协议和FE/CE传输协议。在FE 506与CE 502之间的绑定经由发现CE 502与FE 506的协议被建立,该协议在面临网络损坏时仍维持这些绑定在网络上。在动态绑定协议的最一般的情形下,FE 506可以绑定到任何可用的CE 502,以及CE 502可以对于任何FE 506执行控制功能。因此产生最大弹性和最小配置附加开销。这个动态绑定能力是具有分开的控制与转发功能的解构的路由器的概念的特征。FE/CE传输协议具有两个部分,即数据与控制。对于数据部分,FE/CE传输协议支持在FE 506与CE 502之间的路由协议分组的隧道,这样,由FE 506接收的路由协议分组可被发送到CE 502用于处理。对于控制部分,一旦绑定被建立,FE 506与CE 502就使用FE/CE传输协议来传送状态信息并执行控制。在链路(FE 506到CE 502)方向,这个控制部分提供链路和转发状态信息(例如,链路向上/向下信号)到CE 502。在下行链路方向,FE/CE传输协议承载配置和控制信息(例如,使能/禁止链路,转发信息基础(FIB))。已知的协议,诸如转发与控制元件分离(ForCES),可被用于FE/CE传输协议。
示例性软路由器架构的动态绑定特征允许FE 506与CE 502分离开多跳。这种灵活性是以在转发元件的初始配置中增加的复杂性为代价而得到的。在软路由器模型,在启动后FE 506得到它的配置信息,包括来自位于服务器的远程CE 502的它的接口的IP地址。这造成潜在的似乎矛盾的说法为了发现CE 502和发送分组给它,FE 506需要路由信息;然而,路由信息假设来自于CE 502。这个似乎矛盾的说法通过使用作为示例性软路由器架构的一部分的发现协议(例如,Bell实验室发现协议(BLDP))被解决。这个发现协议使得FE 506和CE 502互相发现,和保持这些实体之间的可路由的路径。动态绑定处理也支持增强的特征,诸如CE 502负荷平衡、改进CE-FE绑定弹性和故障恢复的约束的集群算法,增加网络的可用性。这些特征也使能更好地进行网络规划和更好的网络范围的控制。
动态绑定协议的实施例为FE 506提供绑定服务和为FE-CE消息提供路由服务。动态绑定协议在网络的生命周期内连续地作用在所有的元件(FE 506和CE 502)作为独立于在网络中工作的其它协议的分开的协议。至少,每个FE 506和CE 502具有用作为唯一的识别号的预先配置的八位串(FEID/CEID)。在FE 506与CE 502桥接的网络中(例如,通过以太网连接的),快速生成树协议为FECE通信提供连接性。因为这样的网络不是可能给出异构的FE 506可能性的唯一的一个网络,动态绑定协议包括用于支持在CE 502与FE 506之间的路由流量的分开的部件。然而,如果生成树协议是可用的,则动态绑定协议可用利用它来用于路由服务。动态绑定协议具有四个部件发现、关联、具有修复的故障检测、和传输隧道。
动态绑定协议的发现部件使得FE 506能够发现可用管理它的CE502。这个CE 502被称为用于该FE 506的管理CE。为了发现部件对于配置处理提供快速收敛,CE 502信息被分布在所有的网络,使得FE 506能够通过使用由网络管理者预先配置的或使用分布的集群算法得到的绑定,而动态绑定到最好的CE 502。
源路由的路由层有助于发现处理。在启动时,每个FE 506使用随机选择的临时IP地址连同FEID一起来执行预发现路由。这个地址是从受控的地址空间,例如专用的子网络地址选择的。CE 502被预先配置,因此,具有有效的IP地址。所有的消息在FE 506与CE 502的所有的接口上被广播。
FE 502和CE 502通过周期地广播把它们的存在广告给它们的中间的邻居而互相发现。每个节点(FE/CE)因此把邻居列表保存在本地表中。FE 506也周期地征求来自所有的邻居的CE 502信息,以便收集网络中关于CE 502的最新信息。作为响应,相邻的FE/CE用它们已知的CE 502列表作为应答。在这个列表中的每个CE 502也与来自相邻的FE/CE的到CE 502的已知的源路由相关联。通过把每个条目与存活期限参数相关联,可以保证CE 502信息通过达到该CE 502的最好的路径被周期地刷新。每个节点使用具有最短的跳数的源路由来联系CE 502。发现处理在所有的时间运行在按照示例性软路由器架构设计的网络。
每个FE 506由网络管理者在规划期间分配一个主CE和至少一个备份CE。这个信息被配置在CE 502以及可选地在FE 506。典型地,这个分配通过考虑诸如在CE 502上的负荷、在CE 502与FE 502之间的距离、和在它们之间的链路的可靠性的因素而被作出。因此,当CE 502被FE 506接触时,如果这个信息是可用的,CE 502让FE 506知道它的主CE和备份CE的识别号,或者,如果CE可以管理该FE的话,接受FE 506。如果不被接受,则FE 506继续联系它的主CE或备份CE。
关联处理迫使建立和保持在FE 506与它的主CE和备份CE之间的工作联系。管理CE是由FE 506从工作的有关的CE 502列表中进行选择的,主CE在所有的时间都优于其它CE 502。
动态绑定协议具有检测和修复关联故障的机制。一旦在FE 506与CE 502之间的进行关联,就通过由FE 506发起的心跳消息周期地探测关联的存活性。当心跳消息没有发出来自CE 502的任何响应时,这暗示到CE 502的路径不再有效或者CE 502节点不再工作。没有来自FE 506接受改变的确认,CE 502不能断开与FE 506的关联。这对于期望改变管理CE的FE 506也是正确的。
对于示例性软路由器架构的实施例有一种协议故障恢复的示例性方法。这个协议故障恢复是基于可靠的消息传送。在这个示例性的协议故障恢复方法中,对于每个协议有一个CE 502列表。这个列表基于每个协议被保持。协议的某些例子包括OSPF、IS-IS、增强的内部网关路由协议(EIGRP)、路由信息协议(RIP)、和其它路由协议。在其它实施例中,在各种协议下这些列表是相同的。在任何时间只有一个CE正在活动地管理FE 506。这个CE被称为活动协议CE,例如活动OSPF CE。其它CE 502被称为备份协议CE。所有的协议-CE代表FE 506运行协议实例。FE 506把进入的协议消息可靠地发送到所有的CE 502。周期的检验点由活动协议CE生成。检验点被FE 506可靠地传播到所有的备份CE。检验点对于在从故障恢复时更新协议状态是有用的。在恢复协议CE时,由活动协议CE进行同步。协议故障由FE506发起。
图7显示用于任意的FE 506,FE n 700的活动协议CE与备份-CE的示例性表。对于一个协议i 702,FE n 700具有活动协议CE 704列表与备份协议CE 706列表。对于另一个协议,协议j 708,FE n 700也具有活动协议CE 709列表与备份协议CE 710列表。FE n 700也可以具有用于其它协议的列表。通常,活动协议CE 704,709列表与备份协议CE 706,710列表基于每个协议被保持。每个FE 506在它被配置时,被分配以主CE和次级CE列表。在任何特定的时间管理FE 506的CE 502被称为活动协议CE。在主CE和次级CE组中所有其它工作的CE被称为备份CE。
图8显示示例的组的分级结构。管理组800是网络中所有的CE502的组。管理组800也包括用于每个特定的协议的admin组802。admin组802包括用于特定的协议的活动协议CE组804和备份-CE组806。管理组800包括用于特定的FE 506的主CE 804(一个元件的组)和次级-CE组806。对协议特定的活动协议CE和备份CE组被称为对于特定的FE 506的给定的协议的admin组802,并且admin组802是管理组800的子组。admin组802是对协议特定的和可配置的。例如,在特定的FE 506中OSPF可以具有与BGP不同的admin组802。发现协议尝试与管理组800中在FE 506与所有的CE 502之间建立心跳。如果存在心跳以及如果特定的协议消息被CE 502确认,则该CE502移动到用于该协议的admin组802。
在这个示例性协议故障恢复的方法中,发现协议确定在FE 506与所有的协议-CE之间的基本心跳。心跳存在意味着在FE 506与CE502之间有有效的通信路径。心跳故障意味着通信路径的故障。这个示例性协议故障恢复的方法应用到基于消息(例如,OSPF、IS-IS、RIP、EIGRP)而不是基于数据流(例如,BGP)运行的协议。其它实施例适用于操纵基于数据流运行的协议。打算用于FE 506的所有的路由协议消息从它的伙伴经过该FE 506传送到协议CE。到协议CE的其它的路由不被使用,因为目的地地址是FE 506的地址。路由表管理器(RTM)处理类似于协议处理。RTM处理更新FE 506上的FIB。到RTN处理的输入是来自各种协议处理(例如ISPF,BGP)的路由表条目(RTE)的输出。从FE 506到协议CE的所有的消息,载送用于消息排序的序列号,反之亦然。
在这个示例性协议故障恢复的方法中,有三种类型的在FE 506处看到的消息进入的路由协议消息、外出的路由协议消息、和维护消息。进入的路由协议消息是来自于FE 506或来自于代表其它的FE506的CE 502。外出的路由协议消息是从活动协议CE到其它的FE506。维护消息包括心跳、故障恢复、检验点和重新同步。进入的路由协议消息由FE 506发送到所有的协议-CE。消息例如通过使用流控制传输协议(SCTP)或传输控制协议(TCP)被可靠地发送。每个路由消息具有由FE 506给出的消息号。消息被所有的协议-CE确认。心跳消息被承载在FE 506与CE 502之间的所有的通信上,并且包括工作协议-CEID。心跳是对协议特定的。这是与被使用来检测一般的CE 502节点故障的发现协议心跳不同的。
图9显示用于故障恢复的示例性协议覆盖。这个示例性协议故障恢复的方法包括用于使能故障恢复的被称为用于故障恢复的无接缝协议覆盖(S-PROF)的协议覆盖。所有的CE 502运行路由协议处理904和S-PROF处理906以及发现协议/IP处理908。这包括活动协议CE900和备份协议CE 902。S-PROF处理906处理可靠性和故障恢复维护问题,路由协议处理904相对于故障恢复/S-PROF处理是不可知的。所有的CE 502接收每个进入的协议消息的拷贝。FE 506可以多播它们或采用拷贝与多播方法,所有的路由协议消息被确认(SCTP/TCP)。进入的路由协议消息通过S-PROF覆盖处理被存储。S-PROF头部封装所有的路由消息,包括进入的和外出的路由消息。当CE 502是活动协议CE 900时,S-PROF封装外出的(来自CE 502的)路由协议消息。来自备份协议CE 902的外出消息在S-PROF处理906中被丢弃以及把空的S-PROF分组发送到FE 506。在FE 506处的S-PROF处理906接收仅仅来自活动协议CE 900的路由协议消息。协议心跳是每个S-PROF消息的一部分。
对于从FE 506发送到CE 502的S-PROF消息的示例性消息格式包括以下的字段源FEID、目的地CEID、路由协议识别号、消息(来自SCTP连接)的S-PROF序列号、检验点消息识别号、活动协议CE的CEID、和附带的协议消息,如果有的话。
对于从CE 502发送到FE 506的S-PROF消息的示例性消息格式包括以下的字段源CEID、目的地FEID、路由协议识别号、被确认的协议消息的S-PROF序列号、检验点消息识别号、CE 502状态识别号(例如,活动、备份、重新同步)、协议消息(如果有的话以及仅仅在源CE 502是活动协议CE时)、和转发标志。转发标志表示输出的路由协议消息应当转发给谁。为了区分被发出到其它路由对等的消息,使用其它协议CE和其它协议处理(例如,RTM处理)。
在这个示例性故障恢复处理中,输入到路由协议的是路由消息。在一个协议CE处人工重新配置改变被传送到其它协议CE。活动协议CE更新FE 506,它然后更新其它元件。有可靠的转移来保证在所有的协议CE处输入是一致的。FE 506根据S-PROF序列号发起重新传输。如果重新传输在预定的次数的尝试后没有被协议CE确认,则该CE 502从备份CE表中被删除。路由协议处理故障是可检测的。S-PROF消息仅仅在有来自路由协议处理的输出消息时由CE 502发送。来自备份协议CE的S-PROF消息是空的。S-PROF消息不存在表示在CE 502上的路由协议处理故障。
FE 506发起故障恢复。有许多故障可能性,包括以下三种情形(1)活动协议CE关机,(2)在活动协议CE与FE 506之间的所有的通信路径断路,以及(3)在活动协议CE上的协议处理发生故障。头两种情形由协议(例如,BLDP)识别,第三种情形通过来自CE 502的丢失的S-PROF消息识别。在所有的这三种情形下,FE 506切换到一个备份上。FE 506选择备份协议CE以及把它改变为活动状态。通过在S-PROF消息中的活动协议CEID向所有的协议-CE提供通知。在备份协议CE处的S-PROF处理看见改变,并且开始封装来自路由协议处理的消息而不丢弃它。当协议处理开始再次响应时,前者的活动协议CE知道改变。即使在备份协议CE在中间发送任何消息,FE 506也忽略来自备份协议CE的所有的路由协议消息。
当活动协议CE发生故障时,备份协议CE接手作为活动协议CE。所有的CE 502在接收到来自FE 506的下一个消息后立即知道改变。在发生故障后,恢复处理如下进行。CE 502节点或CE处理从故障恢复(连同S-PROF处理)。在接收到来自故障的下一个协议消息后,备份协议CE知道当前的活动协议CE和最近的检验点。因为消息被S-PROF存储在非易失性存储器,某些消息是可恢复的。未知的消息(基于S-PROF序列号)通过在FE 506与CE 502之间的连接以及藉助于当前的活动协议CE被恢复。重新同步消息,根据设计选择,或者从活动协议CE发起或者从FE 506发起。在CE 502被同步前,CE 502处在重新同步状态。在同步后,CE 502切换到备份状态。
在这个示例性协议故障恢复处理中,检验点是特定的S-PROF消息号。小于检验点的所有的S-PROF消息号是无关的。协议CE保持每个FE 506的检验点。所有的协议CE对于比起上一个检验点更加新的那些S-PROF消息被同步。活动协议CE设置检验点以及把它传送到所有的CE 502。这是要通过在初始化期间被配置的程序过程确定的协议特定的检验点。FE 506不需要知道协议的细节,这样,它仍旧是通用服务。检验点信息和活动协议CEID被包括在发送到备份协议CE的所有的协议消息中。在故障恢复/重新启动后,备份协议CE对于自从上一个检验点以来所有丢失的消息请求从活动协议CE重新传输。在活动协议CE与备份CE之间的所有的通信是经由FE 506的。在某些实施例中,FE 506存储用于重新同步的消息,如果非易失性贮存装置是可用的话。例如,OSPF具有每30分钟发送的概要LSA,并可以每60分钟建立新的检验点,减小备份同步附加开销。
这个示例性协议故障恢复方法解决几个一致性问题CE 502节点/处理快速发生故障和恢复(反复(trashing)),对于在备份协议CE列表中不同的CE 502,不同的消息被丢失,以及在高负荷下的性能。为了解决这种反复,这个示例性方法在切换回优选的CE 502之前保持足够的时间间隔。另外,可靠的传输协议(例如,STCP/TCP)被使用来保证重新同步,在CE 502处的非易失性贮存装置被使用来加快重新同步,以及检验点帮助避免大的重新同步负荷。为了解决消息丢失,使用可靠的传输。如果对于某些CE 502有严重的丢失,则这个示例性方法切换到重新同步状态,以避免不一致性。从备份列表中去除也保证在以后的阶段的重新同步。为了解决过载,在备份列表中所有的CE502为FE 506运行协议实例。在繁重的负荷下性能恶化是可能的,它可以通过分配低的优先权给那些CE 502的备份处理而被缓和。
S-PROF可作为通用服务被实施。协议特定的例示可以在需要时作出。定时器可以按照每个协议被设置,以及转发标志的表现可以是可变的。S-PROF与RTM处理交互。RTM处理也可能发生故障,因此,需要热备份(hot standby)是可靠的。当RTM处理与路由协议处理共存时,FE 506通知在该CE 502处的S-PROF处理。否则,在活动协议CE处的S-PROF建立转发标志,它通知FE 506适当地进行RTM更新。
图10是显示示例性故障恢复情形的序列图,其中首先存在心跳,生成检验点,心跳发生故障,备份协议CE成为新的活动协议CE,失效的活动协议CE重新启动和与新的活动协议CE同步,成为新的备份CE。
有用于FE发起的故障恢复的示例性方法。FE 506与活动协议CE周期地交换心跳(或任何消息,如果存在的话)。有三种故障可能性活动协议CE关机,在活动协议CE与FE 506之间的所有的通信路径断路,或在活动协议CE上的协议处理发生故障。如果没有来自CE 502的响应(例如,任何确认或消息),则FE 506从admin组中去除活动协议CE,以及发起故障恢复到admin组中的一个备份CE。备份协议CE应答FE 506,表示它准备好。FE 506发送消息到所有的协议CE,通知故障恢复到备份协议CE。备份协议CE用确认进行应答,表示它现在是活动协议CE。
有用于在CE 502处故障恢复的示例性方法。在发生故障后,备份协议CE接手作为活动协议CE。假定新的活动协议CE具有按次序的来自上一次已知的检验点的所有的协议消息和处理协议消息,新的活动协议CE快速到达当前的协议状态。在新的活动协议CE处的S-PROF处理开始封装到FE 506的消息,而不是丢弃它。这个当前的状态现在被使用来提供最新的信息给路由表管理程序。
图11是显示计算机的高级别框图。计算机1100可被利用来实施本发明的实施例。计算机1100包括处理器1130以及用于存储各种程序1144与数据1130的存储器1140。存储器1140也存储支持程序1144的操作系统1142。
处理器1130与传统的支持电路合作,诸如电源、时钟电路、超高速存储器等等以及在帮助执行被存储在存储器1140中的软件程序的电路。这样,可以预期这里作为软件方法被讨论的某些步骤可以在硬件内实施,例如作为与处理器1130合作执行各种方法步骤的电路。计算机1100也包含输入/输出(I/O)电路,它形成在与计算机1100通信的各种功能元件之间的接口。
虽然计算机1100被显示为被编程来执行按照本发明的各种功能的通用计算机,但本发明可以以硬件被实施为例如专用集成电路(ASIC)或场可编程门阵列(FPGA)。这样,这里描述的处理步骤打算被广义地解译为由软件、硬件或它们的组合等价地执行的。
本发明可被实施为计算机程序产品,其中计算机指令在被计算机处理时适配于计算机的操作,这样,本发明的方法和/或技术被引用或否则被提供。用于引用本发明方法的指令可被存储在固定的或可拆卸的媒体,经由数据流在广播媒体或其它信号承载媒体中被传送,和/或被存储在按照指令操作的计算设备内的工作的存储器中。
虽然以上说明是针对本发明的各种实施例,但可以设计本发明的其它的和另外的实施例而不背离本发明的基本范围。这样,本发明的适当的范围按照后面的权利要求被确定。
权利要求
1.一种执行协议故障恢复的方法,包括在转发元件处提供用于特定的协议的协议覆盖处理和路由表管理器处理;由所述转发元件接收来自活动协议控制元件的路由协议消息,并且作为响应,把所述路由协议消息传播到所有的协议控制元件,心跳消息被承载在所述接收的路由协议消息上;由所述转发元件接收来自所述活动协议控制元件的响应于发送的消息的确认;以及在所述活动协议控制元件发生故障后,所述转发元件发起到备份协议控制元件的故障恢复。
2.权利要求1的方法,其中路由协议消息包括与协议覆盖处理相关联的序列号,并且所述确认包括该序列号。
3.一种执行协议故障恢复的方法,包括由对于特定的协议多个控制元件中的每个控制元件运行协议覆盖处理,所述控制元件包括活动协议控制元件和备份协议控制元件;由所述活动协议控制元件代表由所述活动协议控制元件控制的转发元件运行协议处理;由所述活动协议控制元件周期地发送检验点,所述检验点由所述转发元件传播到所述备份协议控制元件,所述检验点在从故障恢复后用于更新协议状态;以及由所述备份协议控制元件参加由所述转发元件发起的协议故障恢复。
4.权利要求3的方法,还包括当所述外出路由协议消息是从工作协议控制元件到所述转发元件时,通过所述协议覆盖处理用头部封装外出路由协议消息;通过所述协议覆盖处理丢弃从所述备份协议控制单元到所述转发元件的外出路由协议消息,使得所述转发元件只从所述工作协议控制元件接收路由协议消息;以及通过所述协议覆盖处理把心跳包括在每个消息中。
5.权利要求3的方法,还包括由每个控制元件接收每个进入的协议消息的拷贝;由每个控制元件确认每个进入的协议消息;以及由每个控制元件接收和存储每个路由协议消息。
6.权利要求3的方法,还包括当从故障恢复时,由所述工作协议控制元件发起同步。
7.权利要求3的方法,还包括由所述备份协议控制元件恢复通过所述协议覆盖处理存储在非易失性存储器中的消息。
8.权利要求3的方法,还包括由所述备份协议控制元件请求从所述工作协议控制元件重新传输自从上一个检验点以来的消息。
9.一种执行协议故障恢复的方法,包括由转发元件发送进入的和外出的协议消息到所有的控制元件,所述转发元件是在数据平面上的多个转发元件之一,所述控制元件是在物理上和逻辑上与所述数据平面分开的控制平面上,所述控制元件和转发元件经由标准协议通信,每个转发元件被动态地绑定到一个控制元件;对于比起最近的检验点更加新的消息,使活动协议控制元件和备份协议控制元件同步;由所述转发元件发起从所述活动协议控制元件到所述备份协议控制元件之一的协议故障恢复;以及由所述备份协议控制元件之一确认该备份协议控制元件现在是活动协议控制元件。
10.一种网络架构,包括数据平面,其包括用于分组转发的多个转发元件;至少一个控制元件,用于经由协议配置、控制、和提供路由信息到所述转发元件;动态绑定协议,用于绑定转发元件和控制元件;控制平面,其在物理上和逻辑上与数据平面分开,所述控制平面包括所述控制元件;以及协议故障恢复机构,用于操纵由转发元件发起的故障恢复,以对于每个路由协议,把控制从一个控制元件转移到另一个控制元件。
全文摘要
本发明涉及软路由器协议故障恢复。软路由器架构把控制平面功能的实施方案与分组转发功能分开。在这个结构中,所有的控制平面功能在被称为控制元件(CE)502的通用服务器上实施,控制元件可以离转发元件(FE)506多个跳。网络元件(NE)或路由器是通过使用在CE502与FE 506之间的动态绑定而形成的。有一种协议故障恢复机制,用于操纵由FE 506发起的故障恢复,对于每个路由协议,把控制从一个CE 502转移到另一个CE 502。
文档编号H04L12/56GK1819581SQ200510118798
公开日2006年8月16日 申请日期2005年10月31日 优先权日2004年11月1日
发明者夫全·A.·安撒里, 特伦尼尔·V.·拉克斯曼, 塔亚加拉简·南达哥帕尔, 拉玛钱德兰·拉姆基, 胡一中 申请人:朗迅科技公司