多协议标签切换环的制作方法_5

文档序号:9567064阅读:来源:国知局
技术。可以使用其它标签分布协议。作为一个示例,标签分布协议(LDP)可以用来用信号发送环LSP。在这一示例中,环节点(路由器民)可以通过根据LDP协议向它的在环中的下游和上游邻居发送LDP标签映射消息来通报它为其作为锚操作的环LSP。环节点在LDP标签映射消息的FEC TLV内指定环节点的回送地址。在LDP标签映射消息的标签TLV中,环节点分别放置用于上游和下游方向的标签。此外,成员节点在消息中插入指定环标识符的新Ring TLV、环锚的节点索引和是否应当下游或者上游传播这一通报的指示。前者指示将被发送到它的下游邻居,后者被发送到它的上游。在这些消息绕环传播时,接收节点可以(分另IJ)上游或者下游创建在路由器民锚定的环LSP。下游向发送流量的路由器R ,在学习在下游方向上在环中的故障时可以如这里描述在上游方向上向民回送流量、因此实现流量保护而无需无回路的备选或者其它这样的手段。
[0094]图9-图12图示用于使用内部网关协议(IGP)、比如中间系统到中间系统(ISIS)协议或者开放最短路径优先(0SPF)协议来发现MPLS环和成员节点的示例消息格式。
[0095]例如图9图示可以在ISIS问候消息中包括的新最高级类型长度值(TLV) 74,ISIS问候消息可以由环节点发送以通报环节点是其成员的所有MPLS环。在这一示例中,TLV74先包括类型值‘MPLS环类型’,该类型值将是消耗第一八位组的新分配的TLV类型。第二八位组存储长度值,其中该值将是6*N个八位组,其中N是这一节点参与的环数目。如图9中所示,如这里描述,每个环由包括环标识符(4个八位组)和节点索引(2个八位组)的6个八位组指定,其中环标识符指定MPLS环的标识符而节点索引指定节点的绕MPLS环的定位。通报节点可以例如具有用于在TLV 74中指定的MPLS环中的每个MPLS环的不同索引。在IS-1S中,TLV 74代表如在全部内容介于此的IS-1S Extens1ns for TrafficEngineering, RFC 5305第3节中定义的扩展IS可达性TLV的子TLV。
[0096]图10图示用于在用于通报一个或者多个MPLS环内的成员资格和用于通报节点的每个环内的定位的新0SPF连接本地LSA内使用的示例最高级TLV 76。与用于ISIS的TLV 74—样,用于0SPF的TLV 76具有6*N个八位组的TLV长度值,其中N是这一节点参与的环数目。在0SPF中,TLV 79代表如在全部内容介于此的Traffic Engineering(TE)Extens1ns to OSPF Vers1n 2,RFC 3630 第 2.4 节中定义的连接 TLV 的子 TLV。
[0097]图11和12图示用于在节点的每个接口上使用的并且仅包含环标识符的IGP LSA的两个新子TLV。这样,新TLV具有4*N个八位组的TLV长度值,因为未包括环索引。图11例如示出用于在IS-1SLSA中使用的新子TLV 78。图12示出用于在OSPF LSA中使用的新子 TLV 79ο
[0098]图13是图示能够实施这里描述的技术的示例设备、例如路由器或者网关的框图。路由器80可以包括网络中的任何路由器、比如SP网络12。例如路由器80可以包括根据这里描述的技术使用环LSP来转发MPLS流量的网关、边缘或者接入路由器、核心路由器或者这里所示其它设备。
[0099]在图13的示例中,路由器80包括控制单元82,其中路由部件86提供用于路由器80的控制平面功能。路由器80也包括共同地提供用于转发网络流量的数据平面的多个分组转发引擎114A-114N( “PFE 114”)和交换机结构118。PFE 114经由接口卡112( “IFC112”)接收和发送数据分组。在其它实施例中,PFE 114中的每个PFE可以包括更多或者更少IFC。虽然未示出,但是PFE 114可以各自包括中央处理单元(CPU)和存储器。在这一示例中,路由部件86由专用内部通信连接120连接到PFE 114中的每个PFE。例如专用连接34可以包括吉比特以太网连接。交换机结构118提供用于在PFE 114之间转发传入数据分组用于通过网络传输的高速互连。标题为MULT1-CHASSIS ROUTER WITH MULTIPLEXEDOPTICAL INTERCONNECTS的美国专利8,050, 559描述多底盘路由器,其中多级交换结构、比如3级Clos交换机结构用作高速转发平面以在多底盘路由器的多个路由节点之间中继分组。美国专利申请2008/0044181的全部内容通过引用而结合于此。
[0100]路由部件86提供用于执行各种协议89的操作环境,各种协议可以包括具有由于计算环境执行的指令的软件过程。如以下进一步具体描述,协议89提供用于以路由表或者其它结构的形式存储网络拓扑、执行路由协议以与对等路由设备通信并且维护和更新路由表以及提供管理接口以允许用户访问和配置路由器80的控制平面功能。控制单元82提供用于路由部件86的操作环境并且可以仅被实施在软件或者硬件中或者可以被实施为软件、硬件或者固件的组合。例如控制单元82可以包括执行软件指令的一个或者多个处理器。在该情况下,路由部件86可以包括各种软件模块或者守护程序(例如一个或者多个路由协议过程、用户接口等),并且控制单元82可以包括用于存储可执行指令的计算机可读存储介质、比如计算机存储器或者硬盘。
[0101]命令行接口守护程序92( “CLI 92”)提供接口,管理员或者其它管理实体可以通过接口使用基于文本的命令来修改路由器80的配置。简单网络管理协议守护程序99( “SNMP 99”)包括从管理实体接收SNMP命令以设置和取回用于路由器80的配置和管理信息的SNMP代理。使用CLI 92和SNMP 99,管理实体可以例如启用/停用和配置服务、安装路由、启用/禁用和配置速率限制器以及配置接口。
[0102]一个或者多个路由协议、比如IGP 94以描述网络的拓扑的路由信息库(RIB) 104的形式维护路由信息,并且根据路由信息导出转发信息库(FIB) 106。一般而言,路由信息代表网络的总拓扑。IGP 94与内核101交互(例如通过API调用)以基于路由器80接收的路由协议信息更新RIB 104。RIB 104可以包括定义网络的拓扑的信息、包括一个或者多个路由表和/或连接状态数据库。通常,路由信息定义经由距离矢量路由协议学习的经过网络去往网络内的目的地/前缀的路由(即系列下一跳)或者定义使用连接状态路由协议(例如IS-1S或者0SPF)而学习的有互连连接的网络拓扑。对照而言,FIB 106是基于网络内的某些路由的选择而生成的并且将分组关键信息(例如来自分组首部的目的地信息和其它选择信息)映射到一个或者多个具体下一跳并且最终地映射到IFC 112的一个或者多个具体输出接口端口。路由部件86可以用基数树的形式生成FIB,基数树具有代表网络内的目的地的叶节点。在通过完全引用而将内容结合于此的美国专利7,184,437中提供利用基数树用于路由解析的路由器的一个示例实施例的示例细节。
[0103]路由部件86也提供一个或者多个流量工程设计协议的操作环境以建立用于经过与不同服务链关联的服务节点有序集合转发用户分组的隧道。例如RSVP-TE 96可以执行有流量工程设计的资源保留协议扩展以交换流量工程设计(TE)信息、比如用于支持基于标签的分组转发的MPLS标签。作为另一示例,路由部件86可以执行标签分布协议97以如这里描述用信号发送MPLS环和环LSP。作为另一示例,路由部件86可以使用GRE或者基于IP的隧道协议以建立流量工程设计隧道。路由部件86可以例如维护用于存储流量工程设计数据的流量工程数据库(TED) 109。
[0104]路由部件86向PFE 114中的每个PEF中传达代表FIB 106的软件副本的数据以控制在数据平面内转发流量。这允许更新PEF 114中的每个PFE中的存储器(例如RAM)中存储的软件FIB而未劣化路由器80的分组转发性能。在一些实例中,路由部件86可以导出用于每个相应PFE 114的分离和不同软件FIB。此外,PFE 114中的一个或者多个PFE包括专用集成电路(ASIC 116), PFE 114基于向每个相应PFE 114复制的软件FIB (即软件FIB的硬件版本)向专用集成电路编程FIB的硬件副本。
[0105]例如内核101在主控微处理器102上执行并且可以例如包括UNIX操作系统派生、比如 Linux 或者 Berkeley Software Distribut1n (BSD)。内核 101 处理来自 IGP 94 和RSVP-TE 96的内核调用以基于IRB 104中表示的网络拓扑以FIB 106的形式生成转发信息、即执行路由解析和路径选择。通常,内核101以基数树(radix tree)或者其它查找树的形式生成FIB 106以将分组信息(例如具有目的地信息和/或标签栈的首部信息)映射到下一跳并且最终地映射到与相应PFE 114关联的接口卡的接口端口。FIB 106可以例如关联网络目的地与具体下一跳和对应IFC 112。对于与MPLS有关的流量转发,FIB 106为给定的FEC存储包括用于分组的传入标签、传出标签和下一跳的标签信息。
[0106]执行内核101的主控微处理器102对PFE 114进行编程以安装FIB 106的副本。微处理器102可以包括一个或者多个通用或者专用处理器、比如数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者任何其它等效逻辑器件。因而,术语“处理器”或者“控制器”如这里所用可以是指前述结构或者可操作用于执行这里描述的技术的任何其它结构中的任何一个或者多个结构。在通过完全引用而将内容结合于此的美国专利7,990,993中提供其中处理器对一个或者多个转发部件进行编程的路由器的一个示例实施例的示例细节。
[0107]在这一示例中,ASIC 116由在PFE 114中的每个PEF 114上执行的从属微处理器可编程地配置的由微代码控制的芯片组(即转发电路)。在转发分组时,有每个ASIC 116的控制逻辑遍历从路由部件86接收的转发信息(FIB 106),并且在到达用于分组的FIB条目(例如页节点)时,微代码实施的控制逻辑56自动地选择转发下一跳并且根据下一跳内定义的操作来处理分组。以这一方式,PFE 114的ASIC 116通过在分组穿越路由器80的内部架构时对在相应内部分组转发路径上的每个分组执行一系列操作来处理分组。可以例如基于对应入口接口、入口 PFE 114、出口 PFE 30、出口接口或者分组在出口之前被引向的路由器80的其它部件、比如一个或者多个服务卡中的任何部件对每个分组执行操作。PFE114各自包括转发结构,转发结构在被执行时检查每个分组的内容(或者另一分组性质、例如传入接口 )并且在该基础上例如做出转发判决、应用过滤器和/或执行记账、管理、流量分析和负荷平衡。
[0108]在一个示例中,PFE 114中的每个PFE布置转发结构为下一跳数据,下一跳数据可以被链接在一起作为沿着用于网络设备的内部分组转发路径的一系列“跳”。在许多实例中,转发结构在ASIC 116的内部存储器内执行查找操作,其中可以按照树(或者trie)搜索、表(或者索引)搜索来执行查找。可以用下一跳指定的其它示例操作包括过滤器确定和应用或者速率限制器确定和应用。查找操作在查找数据结构(例如查找树)内对与分组内容或者分组或者分组流的另一性质、比如分组的传入接口匹配的项目进行定位。在ASIC116内根据由下一跳转发结构定义的操作的分组处理的结果确定PFE114从它的在IFC 112之一上的输入接口向它的在IFC 112之一上的输出接口转发或者以别的方式处理分组的方式。
[0109]一般而言,内核101可以生成IFB 106并且由此对ASIC 116进行编程以存储与每个服务链关联的转发结构。例如ASIC 116可以被配置以指定流量工程设计信息的转发信息、比如IP首部信息或者MPLS标签以及用于使可编程ASIC 116根据转发信息封装用户分组的操作。以这一方式,ASIC 116可以处理用户分组以选择用于每个分组的特定服务路径并且根据选择的服务路径封装用户分组。路由部件86可以生成RIB 104和FIB 106以基于如可以从认证、授权和记账(AAA)服务器、策略控制器、软件定义的网络(SDN)控制器或者其它网元接收的与每个用户关联的一个或者多个服务简档关联用户分组流
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1