用于核实冗余备用分组转发器的功能的方法

文档序号:7583339阅读:123来源:国知局
专利名称:用于核实冗余备用分组转发器的功能的方法
技术领域
本发明一般涉及计算机网络,更具体而言,本发明涉及核实中间节点的操作。
背景技术
计算机网络是用于在节点(例如计算机)之间传输数据的地理上分布的互连通信链路和网段的集合。很多类型的网段均可获得,其类型范围从局域网(LAN)到广域网(WAN)。LAN通常经由位于同一普通物理位置(例如建筑物或校园)的专用私有通信链路来连接个人计算机和工作站。另一方面,WAN通常经由长距离通信链路(例如公共载波电话线)来连接大量地理上分散的节点。因特网是WAN的一个示例,它连接遍及世界的不同网络,从而提供在各种网络上的节点之间的全球通信。节点通常通过根据预定协议(例如传输控制协议/因特网协议(TCP/IP))交换数据的离散帧或分组来经由网络进行通信。在这种情况下,协议由一组规则组成,这组规则定义节点如何彼此交互。
计算机网络还可以通过诸如路由器之类的中间网络节点进行互连,所述中间网络节点具有可以耦合到网络的多个端口。为了互连分散的计算机网络和/或提供因特网连接,很多组织依赖于因特网服务提供商(ISP)的基础构架和设施。ISP通常拥有一个或多个骨干网络,这些骨干网络被配置为提供到因特网的高速连接。为了互连地理上分散的多个私网,一个组织可以订购一个或多个ISP,并且将其每个私网耦合到ISP的设备。这里,可以利用路由器将多个私网或用户互连到IP骨干网络。路由器通常工作在通信协议栈的网络层,例如TCP/IP通信体系结构的网络层。
使用通过ISP所拥有或出租的链路互连的通用路由器可以构建简单的网络。当网络随着元件数量的增长而变得更加复杂时,可能需要附加结构。在复杂的网络中,可以通过为特定路由器分派具体工作而在路由器上附加结构。对于ISP网络的常用方法是在接入路由器和骨干路由器之间分配任务。接入路由器利用连接到用户的大量较低速端口使各个用户接入网络。另一方面,骨干路由器提供到骨干网络的传输,并被配置为在快速接口上提供高转发速率。ISP还可以通过将其网络组织成存在点(POP)而在其网络上进一步添加物理结构。一个ISP网络通常包含多个POP,每个POP包含一个物理位置,在该物理位置上存在一组接入和骨干路由器。
随着因特网流量的增大,对接入路由器应对增长的密度和骨干路由器应对更大吞吐量的要求变得更加重要。在这种情况下,增长的密度指的是可以终止于单个路由器的更多用户端口。这种需求可以利用为具体应用所设计的平台来最有效地满足。这种具体设计的平台的一个示例是聚合路由器。聚合路由器(或称“聚合器”)是接入路由器,它被配置为向定向到因特网的数据和语音流量提供高服务质量(QoS)和可靠带宽。聚合器还为这种流量提供高度安全性。这些功能被看作路由器对流量进行基本处理所必需的“高接触”特征。
注意,聚合器被配置为通过将来自ISP用户的大量租用线路聚合到耦合于因特网骨干的一些中继线路上,来适应增长的密度。增长的密度对于ISP来说具有很多优点,包括节省占地面积、简化网络管理和提高网络的统计性能。POP中的房地产(即占地面积)通常非常昂贵,并且通过减少用于终止大量用户连接所需的机架数量,可以降低与占地面积相关联的成本。通过布置较少量的更大路由器,可以简化网络管理。此外,接入路由器上的更多接口提高了网络的统计性能。分组网络通常被设计为利用统计复用,即利用不是所有链路在所有时间都繁忙的事实。更多接口的使用降低了来自很多源的流量的一次“意外”突发将导致暂时网络拥塞的可能性。
除了被布置在POP处之外,聚合器还可以被布置在电话公司中心局。连接到聚合器输入端口的大量用户相对于“在线”(例如经由因特网)执行其基本操作部分的中型企业来说通常较小。这些用户中的每一个都可以经由高可靠性的链路连接而连接到具体的聚合器,所述高可靠性的链路连接通常是从例如电话公司提供商处租借的。在输入接口处接收到的用户流量被集中到至少一个中继接口。就是说,聚合器本质上充当大的“扇入(fan-in)”设备,在该“扇入”设备中,多条(例如上千条)较低速用户输入链路被聚合到去往因特网骨干网络的单条高速输出中继线上。
接入路由器中的故障会导致成百上千用户的服务丢失。因此,希望将接入路由器配置为提供高度可用性,以便使与故障相关的影响最小化。但是,与骨干路由器不同,在接入路由器中提供高可用性是非常复杂的。例如,骨干路由器通常采用专门的路由算法以自动绕过发生故障的骨干路由器而重新定向流量,从而通过将网络简单重配置为使用替代(冗余)链路来提高网络的可用性。但是,这种能力对接入路由器并不可行。这里,用户到中继线和中继线到用户的流量模式通常最普遍,并且这些模式可能导致成百上千条专用接入链路在一点的聚合,如上所述,它们通常被汇聚到更大的去往骨干网络的中继上行链路中。除了最极端的情况之外,提供冗余用户链路的成本可能是非常昂贵的。因此在接入路由器中,通常以冗余链路之外的其他方式来提供可用性。
一种通常用于提高接入路由器可用性的现有技术涉及将路由器配置为包含两个或更多个控制和转发平面元件的完备组的冗余系统,其中一组元件被指定为“激活”,而其他组元件被指定为“备用”。激活元件执行路由器的常规控制和转发平面功能,例如分组处理、路由等等。另一方面,备用元件可以处于空闲或在软件上简单循环,所述软件测试部分备用元件和/或监控激活元件的状态。如果激活元件发生故障,则启动“切换”,该“切换”通常涉及将激活元件置于备用状态,并且将一组备用元件配置为承担激活元件的角色。该配置可以包括将操作固件和各种配置信息加载到备用元件中以使其激活。
为了确保冗余系统中的系统可用性,备用元件必须在配置中的故障或改变致使激活元件不可用的情况下,准备承担激活元件的角色。备用元件的故障可能影响该元件在承担激活元件的角色时的可用性,从而影响整个系统的可用性。为了提高冗余方案的功效、减少由于激活元件故障所引起的服务丢失,并且提高备用元件的可用性,希望可以连续核实备用元件的功能。理想情况下,这种核实应该满足以下要求(1)核实尽可能多的备用元件功能,这些功能在该元件充当激活元件时将被使用;(2)不会干扰激活元件或整个系统的操作;以及(3)为了降低在切换操作时可能发生的服务丢失,允许备用元件尽可能快地开始充当激活元件。
采用控制和转发平面冗余的现有技术通常无法满足或只能部分满足上述要求。这些技术通常只使用硬件冗余,或者不支持对备用转发平面元件的进行中功能核实,或者不支持元件从备用角色到激活角色的快速切换,或者在备用核实期间需要系统离线。此外,这些技术只能有限地确保备用元件准备承担激活元件的角色。因此,使用这些技术通常难以(如果不是不可能)实现高度系统可用性。

发明内容
本发明涉及可以用来提高中间节点可用性的技术,所述中间节点具有耦合到一个或多个激活和冗余转发平面元件以及可选的一个或多个激活和冗余控制平面元件的一个或多个线路卡。每个线路卡包含割接逻辑(cutover logic),该割接逻辑可被配置为提供“回送”机制,该回送机制使分组能够被回送到冗余的转发平面。通过使用该回送机制以及包含在冗余元件中的操作软件和硬件,来核实冗余元件的操作状态。此外,为了提高系统可用性,以“在线”方式执行对冗余元件的核实,这意味着在激活元件传递“活性(live)”流量的同时,对冗余元件进行核实。
根据本发明的技术,激活和冗余的控制和转发平面被配置为执行操作软件,并且线路卡被配置为将接收自冗余的转发平面的分组回送到冗余的转发平面。分组被产生并被传输到冗余的转发平面。通过使用包含在冗余的转发平面中的操作软件和硬件将分组转发到线路卡,来核实冗余的转发平面的操作状态。在线路卡处,分组被回送到冗余的转发平面,在冗余的转发平面处,它们被冗余的转发平面使用操作软件和硬件转发到处理该分组的实体。可选地,通过使用包含在冗余的控制平面中的操作软件和硬件将分组转发到冗余的转发平面,并且处理从冗余的转发平面传输的被回送的分组,来核实冗余的控制平面的操作状态。
简而言之,在所示实施例中,中间节点包含耦合到线路卡的激活和冗余(备用)的路由引擎(RE)。备用RE包含转发和控制平面元件,这些转发和控制平面元件被配置为执行操作软件,并且使用从激活RE获取的操作配置信息,例如转发表信息。在一个或多个(目标)线路卡中的割接逻辑被配置为将接收自备用RE的分组回送到备用RE。包含在备用RE的控制平面中的路由处理器(RP)产生测试分组,并且使用操作软件将其传输到包含在备用RE的转发平面中的转发引擎(FE)。通过使用操作软件和操作配置信息,FE处理测试分组,该步骤包括确定分组的目的地(即目标线路卡),并且将分组转发到该目的地(即该目标线路卡)。目标线路卡将分组回送到备用RE,在备用RE处,分组被传输到FE。FE使用操作软件和硬件处理分组,该步骤包括将分组转发到RP。通过使用操作软件和硬件,RP处理分组,该步骤包括核实分组,核实分组的步骤可以包括核实分组的内容,以及检查与分组相关联的状态。


通过结合附图参考以下描述,可以更好地理解本发明的上述和其他优点,附图中相同的标号指示相同或功能相似的元件,在附图中图1是如下网络的示意框图,该网络包括被组织成耦合到因特网服务提供商(ISP)域的多个用户域的通信链路和网段的集合;图2是包含多个互连的接入和骨干路由器的ISP域的示意框图;图3是可被方便地用于本发明的ISP存在点(POP)的示意框图;图4是可被方便地用于本发明的同步光网络(SONET)城域传输网的示意框图;图5是可被方便地用于本发明的聚合路由器的示意框图;图6是可被用于本发明的转发引擎的示意框图,该转发引擎包含耦合到外部存储器的处理器的脉动阵列;图7是可被方便地用于本发明的割接逻辑的示意框图,该割接逻辑可被配置为执行回送操作;图8是可被方便地用于本发明的配置寄存器的示意框图;图9是可被方便地用于本发明的内部帧的示意框图;图10是根据本发明的技术,可被方便地用于核实中间节点(包括控制和转发平面)的步骤序列的流程图;以及图11示出了根据本发明的技术的分组数据流的示意框图。
具体实施例方式
图1是计算机网络100的示意框图,计算机网络100包含连接到多个节点(例如端节点110和中间节点150)的通信链路和网段的集合。网络链路和网段可以包含由中间节点150(例如网络交换机或路由器)互连的局域网(LAN)120和广域网(WAN)链路130,以构成计算机节点的互联网络。这些互联网节点通过根据一组预定义的协议(例如传输控制协议/因特网协议(TCP/IP))交换数据分组进行通信。
为了互连它们分散的私有计算机网络和/或提供因特网连接,很多组织依赖于因特网服务提供商(ISP)的基础构架和设施,而不是自己购买和配置必需的设备。在所示实施例中,计算机网络100被组织成多个域,包括耦合到ISP域200的私网的组织域160。组织160可以订购一个或多个ISP 200,并且将其每个私网耦合到ISP的设备。图2是包含多个可被方便地用于本发明的接入和骨干路由器210、220的ISP域200的示意框图。接入路由器210经由连接到用户的较低速端口将各个组织或用户域160连接到骨干路由器220。骨干路由器220由WAN链路130互连,从而构成一个或多个骨干网络230,骨干网络230被配置为提供到因特网(这里被表示为因特网云250)的高速、高容量的广域连接。
ISP域200可以被进一步组织为存在点(POP),每个存在点包含一个物理位置,在该物理位置上,存在一组接入和骨干路由器。图3是可被方便地用于本发明的POP 300的示例性实施例的示意框图。POP 300包含多个耦合到接入路由器210的骨干路由器220,所述接入路由器210配备了冗余的中继连接。与在接入路由器上使用冗余的中继连接相同,多于一个骨干路由器的使用提高了网络可用性。骨干路由器220和接入路由器210被分别维护,从而骨干路由器的配置可以随着时间的流逝而保持相对稳定。当各个用户添加或去除增值服务时,或者当各个用户被添加到接入路由器210或从接入路由器210移走用户时,不会影响骨干路由器。另外,随着新的用户接入网络,可以添加接入路由器。
一般,接入路由器210充当ISP 200的“前线”,从而直接连接到用户建筑物上的路由器。但是,通常存在复杂的电路交换基础设施,它在用户建筑物和POP 300之间的“最后一公里”上传输例如租用线路的信号。存在很多构建最后一公里网络的方法;一种用于新安装的技术是基于城域光纤环技术。这些光纤网络的安装可以基于同步光网络(SONET)或者同步数字体系(SDH)标准。在提供到用户路由器的租用线路连接的传输网络中希望采用SONET/SDH技术,这是由于光缆的高容量,以及网络传输设备和使用被传输信号的设备(例如聚合路由器)之间的高密度、业界标准接口。
图4是可被方便地用于本发明的SONET城域传输网络400的示意框图。SONET网络400通过光纤环450将来自用户站点160的1.544MbpsDS1和44.736Mbps DS3信号传输到ISP POP 300。为此,SONET网络400包含时分复用(TDM)设备420,该设备420被配置为复用多个(例如28个)DS1电路,以填充DS3电路。另外,网络400包含多个分/插复用器(ADM)410,这些ADM 410被配置为将DS1或DS3电路“分/插”到例如OC-12 SONET光纤上。
随着因特网流量的增长,对接入路由器210应对增长的密度和骨干路由器220应对更大吞吐量的需求变得更加重要。增长的密度指的是可以终止于单个接入路由器的更多用户端口。聚合路由器是接入路由器,它被配置为通过将来自ISP用户的大量租用线路汇聚到耦合于因特网骨干的一些中继线路上,来适应增长的密度。就是说,聚合器本质上充当大的“扇入”设备,在该“扇入”设备中,多条较低速的用户输入链路被聚合到去往因特网骨干网络的至少一条高速输出中继线上。
图5是可被方便地用于本发明的聚合路由器500的示意框图。聚合路由器(“聚合器”)500包含经由(即点到点)互连系统540耦合到多个路由引擎(RE 570)的多个线路卡510。线路卡510包括多个用户卡512和至少一个中继卡516,所述用户卡512具有耦合到用户160的端口514,所述中继卡516被配置为经由至少一个中继端口518来传送用户数据。RE经由总线552而彼此耦合,总线552被配置为例如在RE 570之间传递“保持活动(keepalive)”消息和各种配置信息。
此外,RE 570还为经由互连系统从输入线路卡接收到的完整分组提供服务质量(QoS)功能。为此,互连系统540包含将每个RE耦合到每个线路卡510的多个高速(即点到点)链路542。所述链路优选地是时钟转发链路,因此每条链路包含具有用于传输数据信号的两个数据“线对(wire pair)”和用于传送时钟信号的一个时钟“线对”的“窄”连接。但是,本领域技术人员将会理解,可以使用包括如下时钟转发技术的其他技术,所述时钟转发技术对于每个伴随的时钟信号包含四个数据信号。
RE 570被配置为实现聚合路由器500的转发和控制平面。每个RE570包含分别适合于执行转发平面和控制平面功能的快速分组“转发”处理器(FP)模块572和路由处理器(RP)模块592。FP和RP模块优选地以“夹层(mezzanine)”排列方式互连以构成RE 570。RP模块592是基于处理器的路由系统套件,其包含典型路由器中并入的功能。就是说,RP模块包含耦合到系统控制器596和存储器(RP RAM)598的通用处理器(RP)594(例如MIPS处理器)。RP 594被配置为构造和加载例如包含第2层和第3层信息的转发表,该转发表被FP模块572用于做出转发判断。RP 594还执行聚合路由器500的配置管理功能,并且根据传统的路由算法与邻近的对等路由器和其他RE 570进行通信,以交换用于构建转发表的配置信息。存储器598可以包含可由RP 594寻址的同步动态随机访问存储器(SDRAM)的存储单元,其用于存储由组件访问的软件程序和数据结构。这些软件程序包括实现本发明技术方面的程序。此外,操作系统还通过调用支持在路由器500上执行的软件进程的网络操作而从功能上组织路由器500,其中所述操作系统中的一部分通常位于存储器中,并被处理器594所执行。本领域的技术人员将会发现,可以使用其他存储装置(包括各种计算机可读介质)来存储和执行属于路由器500的操作的程序指令。
FP模块572包含分组缓冲器578、接口逻辑576和耦合到外部存储器(Ext Mem)574的转发引擎(FE)600。外部存储器574包含可由FE600寻址的随机访问存储器(RAM)的存储单元,其用于存储在用于处理暂态数据的数据结构中组织的非暂态数据。非暂态数据通常包括包含在例如第2层和/或第3层转发表中的“表”数据、统计量、访问过滤、加密密钥和/或排队信息。暂态数据(例如分组/帧数据)分别经由耦合到输入缓冲器610和输出缓冲器680的64位输入和输出接口进入和退出引擎600。
FE 600可以包含具有多个处理元件的对称微处理器系统。图6示出了FE 600的示意框图,FE 600包含嵌入到输入和输出头部缓冲器之间,并且耦合到外部存储器574的处理元件(XMC)630的阵列。每个处理元件630例如包括流水线处理器,该流水线处理器此外包含多个算术逻辑单元(ALU)和具有多个通用寄存器的寄存器文件,所述通用寄存器存储由ALU处理的中问结果信息。处理元件630可以被排列成多行和多列,并且还被配置为多维脉动阵列。在所示实施例中,处理元件630被以嵌入在输入缓冲器610和输出缓冲器680之间的4×8阵列配置的方式排列为4行和8列。但是,应该注意,诸如8×8阵列配置之类的其他排列也可被方便地用于本发明。
每行中的处理元件630被配置为“流水线”中的多个阶段(stage),这些阶段顺序地对由输入缓冲器610加载的暂态数据执行操作,而每列中的处理元件630并行操作从而以偏移的阶段方式对暂态数据执行基本相同的操作。每个阶段包含预定数目个周期,例如128个周期。输入缓冲器610的序列电路通过以下方式控制每条流水线的处理元件630该方式确保在新的阶段中向流水线加载新的暂态数据之前,每个元件630都已经完成对当前暂态数据的处理。一般,当所有元件630都完成了对其当前暂态数据(当前内容)的处理,并且输入缓冲器完全接收了新传入的暂态数据(新内容)时,开始处理新阶段,即执行内容切换。
RP模块592(图5)配置FP模块572,并且发送和接收不由FP模块572处理的各种分组。为此,设置了使RP模块592能够访问(例如读和写)外部存储器574,并且能够通过RP存储器598与FP模块572交换分组的内部总线573。
在所示实施例中,聚合器500包括16个线路卡510,每个线路卡510可以被配置用于OC-12(即622兆位每秒(Mbps))的数据速率。因此,耦合到线路卡的点到点链路542必须能够支持这样的数据速率。因此,提供了互连协议,该互连协议能够对互连系统的点到点链路542上的分组进行编码,从而限制在聚合路由器内传输分组时,由开销所消耗的带宽。在题为“High Performance Protocol for an Interconnect System of anIntermediate Network Node”的未决并共同拥有的序列号09/791,062的美国专利申请中公开了可被方便地用于本发明的互连协议的一个示例,这里通过引用并入了该申请的全部内容。
耦合到链路542端点的接口电路位于线路卡510和RE 570的底板接口逻辑576上。底板接口逻辑576使分组能够经由链路542从RE 570传输到线路卡510。具体而言,底板接口逻辑576包含如下逻辑,该逻辑将分组封装成内部分组并从内部分组中解封装分组(将在下面描述),并且将这些内部分组作为例如嵌入到TDM帧中的字节流在互连系统540上传输。此外,接口逻辑576包含成帧器错误状态计数器577,其例如跟踪在链路542上检测到的时钟和成帧错误。优选地,逻辑576被实现在高性能的专用集成电路(ASIC)(在下文中被称为Cobalt ASIC)中,该高性能的专用集成电路被配置为进一步将线路卡510以接口连接到FP模块572的分组缓冲器578和转发引擎600。在题为“High Performance InterfaceLogic Architecture of an Intermediate Network Node”的未决并共同拥有的序列号09/791,063的美国专利申请中公开了可被方便地用于本发明的底板接口逻辑电路的一个示例,这里通过引用并入了该申请的全部内容。
分组缓冲器578是当转发引擎600判断在聚合器500内应该往何处及何时转发分组时,用于存储分组的存储器。例如,在转发引擎将高优先级、低延迟的分组转发到聚合器的输出卡的同时,分组缓冲器578可被用于存储低优先级的数据分组。
接口电路包括耦合到互连系统540的点到点链路542的互连端口,并且实现时钟转发技术,该时钟转发技术被配置用于经由聚合路由器底板的直接ASIC到ASIC的传输。这样一来,位于线路卡510上的接口电路被优选地实现在高性能的ASIC(在下文中被称为Barium ASIC)内,而位于RE 570上的接口电路被优选地实现在Cobalt ASIC内。接口电路一般充当翻译器,该翻译器将在线路卡510上接收到的传统格式的数据转换成如下传输所需的协议格式,所述传输例如是经由互连系统540而从BariumASIC到Cobalt ASIC的传输。ASIC还包括如下电路,该电路用于随同包括成帧和时钟错误检查在内的互连格式检查一起,执行循环冗余码(CRC)产生和对分组的检查。
Barium ASIC包含“割接(cutover)”逻辑,该逻辑使数据能够在线路卡和任意RE 570之间传输。图7是可被方便地用于本发明的割接逻辑的部分示意框图。逻辑700包含多个成帧器720和多个输入选择器730、一个输出选择器740、一个分配器760、一个仲裁器750和多个输入770和输出780的先进先出(FIFO)队列。每个成帧器720被配置为经由链路542与特定RE 570通信。此外,每个成帧器720被配置为装配和拆卸在这些链路542上传输的帧,并且包含成帧器错误状态计数器722,其例如跟踪在这些链路542上检测到的时钟和成帧错误。输入FIFO队列770保存从包含在线路卡上的输入端口逻辑(未示出)传输的数据,输出FIFO队列780保存被传输到线路卡的输出端口逻辑(未示出)的数据。仲裁器750从输入FIFO队列770中移出数据,并且将数据通过选择器730传递到特定的成帧器720,以用于传输到其相关的RE 570。同样,分配器760将从选择器740传出的数据放置在特定的输出队列780上,以用于传输到线路卡的输出端口逻辑(未示出)。
输出选择器740选择被传输到分配器760的数据源。具体而言,选择器740可被配置为将从RE1 570a或者RE2 570b接收到的数据传输到分配器760。同样,输入选择器730选择传输到具体RE 570的数据源。具体而言,选择器730可被配置为将数据从仲裁器750或经由“回送”特征742从RE 570自身传输到RE 570。例如,选择器730b可被配置为将数据传输到RE2 570b,该数据源是仲裁器750或者RE2 570b。
在所示实施例中,使用包含在线路卡510上的配置寄存器800来配置选择器730。图8是可被方便地用于本发明的配置寄存器800的示意框图。寄存器800包含回送字段810、主字段820和配置信息字段880。配置信息字段880保存用于配置Barium ASIC的数据,例如指定复位ASIC的各个部分的数据。回送字段810例如是两位字段,其指定传输到RE570的数据源。例如,字段810中的一位指定选择器730b被配置为从仲裁器750向RE2 570b传输数据,还是经由回送742b从RE2 570b向RE2570b传输数据。
主字段820例如是指定“主”(激活)RE的一位字段。该字段820保存一个可产生信号的值,所述信号致使选择器740将来自激活RE的数据传输到分配器760。例如,如果主字段820被配置为将RE1 570a指定为激活RE,则产生如下信号,该信号致使选择器740将来源于RE1 570a的数据传递到分配器760。应该注意,没有被指定为主(激活)RE的RE570被看作辅助(备用)RE。
在所示实施例中,线路卡510配置回送字段810和主字段820的值。具体而言,线路卡510获取在总线(未示出)上驱动的用于指定哪个RE570为激活RE的信号,并使用该信号的值来配置主字段820和回送字段810。例如,假设RE1 570a是激活字段,并且它在总线上驱动指示出它为激活RE的信号。线路卡510获取(例如读取)该信号,判定RE1 570a为激活RE,并且将主字段820配置为致使选择器740将从RE1 570a接收到的分组传递到分配器760。同样,由于RE1 570a是激活RE,因此线路卡推断RE2 570b为备用RE,并且将回送字段810配置为致使选择器730b将从RE2 570b接收到的分组回送到RE2 570b。
如上所述,分组数据通过点到点链路542作为内部分组传输,所述内部分组优选地作为嵌入到TDM帧中的字节流被传送。图9是可被方便地用于本发明的内部分组的示意框图。内部分组900包含内部头部910、分组数据字段960和帧校验序列(FCS)字段980。分组数据字段960保存分组数据,并且FCS字段980保存被封装分组900的内部头部910和分组数据字段960的校验和。内部头部910包含长度字段920和信道号字段940。长度字段920优选地以字节形式保存一个值,该值指定了包含在分组数据字段960中的分组的大小。信道号字段940保存了一个标识符,其标识出例如映射到线路卡510上的一个端口的一条信道。对于从RE 570传输到线路卡510的分组,该字段940的内容标识出在其上发送分组的信道。同样,对于从线路卡510传输到RE 570的分组,字段940的内容标识出在其上接收分组的信道。对于测试分组,如以下将描述的,信道号保存了唯一标识符,该标识符指示分组数据字段960包含测试分组。分配器760此外还被配置为检查每个接收到的分组的信道号字段940,并且如果该字段940包含指示测试分组的标识符,则丢弃该分组900。
在所示实施例中,聚合路由器500被配置为以冗余方式工作,其中一个RE充当激活RE,并且另一冗余RE充当备用RE。在这种布置中,激活RE主要处理活性的流量,而备用RE除此之外还要根据本发明的技术,核实包含在控制平面和转发平面中的元件的操作状态。具体而言,备用RE被配置为执行操作软件,并且使用操作软件和配置信息(例如从激活RE获取的第2层(L2)或第3层(L3)信息)来核实其元件。这种上下文中的操作软件和硬件指的是RE作为激活RE时将使用的软件和硬件。控制和转发平面元件的核实是通过以下步骤来实现的(i)产生分组,(ii)将分组传输到转发平面,(iii)将来自转发平面的分组转发到线路卡,(iv)将分组从线路卡回送到转发平面,(v)将来自转发平面的分组转发到控制平面,以及(vi)核实该分组。
假设出于示例性目的,将RE2 570b配置为备用RE。图10是根据本发明的技术,可被方便地用于核实RE2 570b的控制和转发平面元件的步骤序列的流程图。序列开始于步骤1005,并且前进至步骤1015,在步骤1015中,一个或多个线路卡510将寄存器800配置为将接收自RE2 570b的分组回送到RE2 570b。具体而言,线路卡510在其配置寄存器800的字段810中放置一个值,该值将选择器730b配置为选择由线路卡510从RE2 570b接收的分组,以用于“回送”到RE2 570b。
然后在步骤1025处,RP 594b产生测试分组,该测试分组优选地包含以下信息,该信息致使转发引擎600b将该分组转发到特定的(目标)线路卡510,并且在从目标线路卡510接收(回送)分组时,将分组转发回RP 594b,如下所述。此外,RP 594产生头部910,并将其附加到测试分组中,该步骤包括将标识符放置在信道号字段940中以指示该分组数据960包含测试分组。然后,如步骤1035所指出的,RP 594通过使用操作软件和硬件将分组经由总线573b传输到转发引擎600b,来核实控制平面的操作状态。
接下来,在步骤1045处,转发引擎600b通过使用操作软件和硬件处理分组来核实转发平面的操作状态,所述处理分组的步骤包括将分组转发到目标线路卡510。具体而言,转发引擎600b将分组应用到其转发表,并且识别出将接收该分组的目的地(即目标线路卡510),并且将分组传输到接口逻辑576b。接口逻辑576b接着计算帧校验序列(FCS),并且将其附加到分组中,以创建内部分组900,并且经由互连系统540将内部分组900传输到目标线路卡510。
在步骤1055处,目标线路卡510在成帧器720b处接收内部分组900,并且将分组900提供到选择器730b,选择器730b将内部分组900传回(回送)到成帧器720b。然后,成帧器720b经由互连系统540将内部分组900传回RE2 570b。在步骤1065处,接口逻辑576b接收内部分组900,使用其FCS 980核实分组900,从分组中去除FCS字段,并且将分组传输到转发引擎600b。
接下来在步骤1075处,FE 600b通过使用操作软件和硬件处理分组,并且经由总线573b将分组转发到其目的地来核实转发平面的操作状态,其中所述处理分组的步骤例如包括检查分组以确定其目的地(例如RP594b)。在步骤1085处,RP 594b通过使用操作软件和硬件处理分组来核实控制平面的操作状态,其中所述处理分组的步骤包括核实该测试分组。该测试分组核实的步骤可以包括检查已回送测试分组的内容以确保其匹配(初始)测试分组的内容,和/或检查与测试分组相关联的状态(例如分别由成帧器720和接口逻辑576保持的成帧器错误状态计数器722和577),以判断是否检测到任何成帧和/或时钟错误。该序列在步骤1095处结束。
图11示出了通过路由器500的测试分组流的高级示意框图。分组在RP 594中产生,并从RP 594传输到转发引擎600,在转发引擎600中将对分组进行进一步处理。方框1110a-1110h代表转发引擎600的流水线的各个阶段。具体而言,分组在阶段1110a处进入流水线。在阶段1110g处,转发引擎600确定(例如通过使用其转发表)测试分组被定向到线路卡510,并且在阶段1110h处,将分组转发到卡510。线路卡510在割接逻辑700处接收分组,并且将其回送到RE。分组被RE所接收,并被传输到转发引擎,分组在该转发引擎处于阶段1110a进入转发引擎600的流水线。在阶段1110g处,转发引擎600确定(例如通过检查分组)分组被定向到RP 594,并且在阶段1110h处,将分组转发到RP 594,随后在RP594处,再对分组进行处理。
应该注意,在所示本发明的实施例中,冗余(即备用)RE使用操作软件和硬件进行操作。操作软件包括根据本发明的技术测试备用RE的例程。备用RE还利用从激活RE获取的非暂态数据(配置数据)。该数据可以包括激活RE的转发表的拷贝,以及激活RE所使用的其他配置信息。通过使用操作软件和配置信息,备用RE能够核实各种元件在充当激活元件(即激活RE中的元件)时将使用的功能。例如,操作软件可以涉及在RE激活时将要执行的转发判断。通过使用备用RE中的操作软件来执行转发判断,由激活RE用于执行转发判断的元件被备用RE所核实。同样,配置备用RE使用操作软件和配置信息的操作通过减少在切换操作中可能经历的服务丢失而提高了系统可用性。例如,由于备用RE已经加载了操作软件以及某种程度的操作配置信息,因此用于将备用RE带入允许其充当激活RE的状态所花费的时间可能小于在不得不从最开始加载操作软件和配置信息的情况下所花费的时间。因此,备用RE已经配置有操作软件和配置信息的系统(例如上述系统)与未实现该配置的系统相比,可能招致更少的服务丢失,并且具有更高的可用性。
在以上所示实施例中,包含测试分组的内部分组在信道号字段940中指定了标识符,该标识符指示内部分组在分组数据字段960中包含测试分组。此外,分配器逻辑760被配置为识别该信道标识符,并且丢弃包含该标识符的分组。这样可避免线路卡不注意地将测试分组传输到例如输出端口,并且防止对系统激活元件的操作造成干扰。
而且在所示实施例中,测试分组由控制平面来产生并核实;但是,这并不是对本发明的限制。在其他实施例中,可以在控制平面外产生并核实分组。例如,在本发明的一个实施例中,由操作者可视地执行分组核实。在本发明的另一实施例中,被回送的测试分组被转发到另一实体,例如在网络上的另一(远端)节点,并且由该实体核实分组。而且,在另一实施例中,在系统外产生分组,并将分组注入到转发平面中。
而且,所述实施例被描述为包含一个激活的转发平面和一个可选的激活的控制平面,但是,这并不是对本发明的限制。包含多于一个激活的转发平面和/或多于一个激活的控制平面的其他实施例可以利用本发明。
总之,本发明涉及用于核实如下元件的技术,所述元件组成中间节点的冗余控制和转发平面。根据本发明的技术,测试分组被产生,并被传输到冗余的转发平面,在该转发平面处,分组被转发到线路卡。线路卡接收分组,并将其回送到冗余的转发平面。冗余的转发平面将回送的分组转发到目的地,在目的地对分组进行处理。
以上描述针对本发明的具体实施例。将会发现,可以对所描述的实施例进行其他的改变和修改,从而达到其优点中的一些或全部。因此,所附权利要求的目的在于覆盖落入本发明精神和范围内的所有这样的改变和修改。
权利要求
1.一种在中间节点中用于核实所述中间节点的方法,所述中间节点包含耦合到一个或多个目标线路卡的一个或多个激活的转发平面和一个或多个冗余的转发平面,所述方法包括以下步骤产生测试分组;将所述测试分组传输到冗余的转发平面;通过使用包含在所述冗余的转发平面中的操作软件和硬件将来自所述冗余的转发平面的所述测试分组转发到目标线路卡,来核实所述冗余的转发平面的操作状态;并且将所述测试分组从所述目标线路卡回送到所述冗余的转发平面。
2.如权利要求1所述的方法,其中所述中间节点包含一个或多个激活的控制平面和一个或多个冗余的控制平面。
3.如权利要求2所述的方法,包含以下步骤通过使用包含在冗余的控制平面中的操作软件和硬件将来自所述冗余的控制平面的所述测试分组传输到所述冗余的转发平面,来核实所述冗余的控制平面的操作状态。
4.如权利要求2所述的方法,包含以下步骤通过使用包含在所述冗余的转发平面中的操作软件和硬件将来自所述冗余的转发平面的所述被回送的测试分组转发到目的地,来核实所述冗余的转发平面的操作状态。
5.如权利要求4所述的方法,其中所述目的地是冗余的控制平面。
6.如权利要求5所述的方法,包含以下步骤通过使用包含在冗余的控制平面中的操作软件和硬件处理所述被回送的测试分组,来核实所述冗余的控制平面的操作状态。
7.如权利要求6所述的方法,包含以下步骤检查与所述测试分组相关联的状态。
8.如权利要求6所述的方法,包含以下步骤检查所述被回送的测试分组的内容,以确保它与所述测试分组的内容相匹配。
9.如权利要求6所述的方法,包含以下步骤检查与所述测试分组相关联的成帧器错误状态,以判断是否检测到任何成帧错误。
10.如权利要求6所述的方法,包含以下步骤检查与所述测试分组相关联的成帧器错误状态,以判断是否检测到任何时钟错误。
11.如权利要求2所述的方法,其中所述核实的步骤包括以下步骤从激活的控制平面获取配置信息;将所述测试分组应用于所述配置信息,以确定所述目标线路卡;并且将所述分组转发到所述目标线路卡。
12.如权利要求1所述的方法,包含以下步骤将所述目标线路卡配置为回送所述测试分组。
13.如权利要求1所述的方法,其中所述测试分组被封装在内部分组中。
14.如权利要求13所述的方法,其中所述内部分组包含指示出所述内部分组包含所述测试分组的标识符。
15.如权利要求14所述的方法,包含以下步骤检查所述标识符,以判断该标识符是否指示出所述内部分组包含测试分组;以及如果所述内部分组包含测试分组,则丢弃所述内部分组。
16.如权利要求13所述的方法,其中所述内部分组包含帧校验序列(FCS)。
17.如权利要求16所述的方法,包含以下步骤使用所述帧校验序列(FCS)来核实所述内部分组。
18.一种系统,包含冗余的转发平面,该冗余的转发平面被配置为通过使用包含在所述冗余的转发平面中的操作软件和硬件将测试分组转发到线路卡,来核实所述冗余的转发平面的操作状态;以及所述线路卡,该线路卡被配置为将所述测试分组回送到所述冗余的转发平面。
19.如权利要求18所述的系统,其中所述冗余的转发平面被配置为通过使用所述转发平面的操作软件和硬件将所述被回送的测试分组转发到目的地,来核实所述冗余的转发平面的操作状态。
20.如权利要求18所述的系统,包含冗余的控制平面,该冗余的控制平面被配置为通过产生所述测试分组,并且使用包含在所述冗余的控制平面中的操作软件和硬件将所述测试分组传输到所述冗余的转发平面,来核实所述冗余的控制平面的操作状态。
21.如权利要求18所述的系统,其中所述线路卡被配置为回送所述测试分组。
22.如权利要求18所述的系统,其中所述线路卡包含被配置为丢弃所述测试分组的分配器。
23.一种装置,包含用于产生测试分组的装置;用于将所述测试分组传输到冗余的转发平面的装置;用于通过使用包含在所述冗余的转发平面中的操作软件和硬件将来自所述冗余的转发平面的所述测试分组转发到目标线路卡,来核实所述冗余的转发平面的操作状态的装置;以及用于将所述测试分组从所述目标线路卡回送到所述冗余的转发平面的装置。
24.如权利要求23所述的装置,包含用于通过使用包含在冗余的控制平面中的操作软件和硬件将来自所述冗余的控制平面的所述测试分组传输到所述冗余的转发平面,来核实所述冗余的控制平面的操作状态的装置。
25.一种计算机可读介质,其包含用于在处理器中执行以下操作的计算机可执行指令产生测试分组;将所述测试分组传输到冗余的转发平面;以及通过使用包含在所述冗余的转发平面中的操作软件和硬件将来自所述冗余的转发平面的所述测试分组转发到目标线路卡,来核实所述冗余的转发平面的操作状态。
26.如权利要求25所述的计算机可读介质,包含用于在处理器中执行以下操作的计算机可执行指令通过使用包含在冗余的控制平面中的操作软件和硬件处理被回送的测试分组,来核实所述冗余的控制平面的操作状态。
27.如权利要求26所述的计算机可读介质,包含用于在处理器中执行以下操作的计算机可执行指令检查所述被回送的测试分组的内容,以确保它与所述测试分组的内容相匹配。
28.如权利要求25所述的计算机可读介质,包含用于在处理器中执行以下操作的计算机可执行指令检测与所述测试分组相关联的状态。
全文摘要
一种用于核实中间节点的技术,所述中间节点采用转发平面和可选的控制平面。测试分组被产生,并被传输到转发平面。通过使用操作软件和硬件,转发平面将测试分组转发到线路卡,该线路卡接着将测试分组“回送”到转发平面。通过使用操作软件和硬件,转发平面处理被回送的测试分组,该步骤包括将分组转发到目的地,例如控制平面,被回送的测试分组在目的地被核实。
文档编号H04L12/56GK1720689SQ200380105299
公开日2006年1月11日 申请日期2003年12月3日 优先权日2002年12月5日
发明者盖伊·C·费尔多科, 加里·S·芒茨, 蒂莫西·P·多纳休, 迈克尔·E·韦尔特 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1