用于虚拟节点的基于结构路径上下文的转发制造技术

技术编号:19751253 阅读:37 留言:0更新日期:2018-12-12 05:46
在一些示例中,一种方法包括:通过具有多个转发组件和多个结构链路的单机架网络设备的第一虚拟路由节点,选择多个转发组件中的一个转发组件的结构接口,该多个结构链路耦合多个转发组件的相应结构接口处的多个转发组件的相应对,该结构接口具有朝向网络目的地的出口接口并且与第一虚拟路由节点相关联;响应于接收到指定结构接口的消息,通过第二虚拟路由节点将结构接口存储到第二虚拟节点的上下文转发表作为网络目的地的下一跳;通过第二虚拟路由节点并且基于上下文转发表以及指向上下文转发表的第一转发表中的上下文下一跳来选择用于转发去往网络目的地的网络分组的结构接口。

【技术实现步骤摘要】
用于虚拟节点的基于结构路径上下文的转发
本公开涉及计算机网络,并且更具体地涉及在计算机网络内传达分组。
技术介绍
计算机网络是可以交换数据并且共享资源的互连计算设备的集合。在诸如以太网的基于分组的网络中,计算设备通过将数据划分为被称为分组的可变长度块来传达数据,该可变长度块个体地跨网络从源设备被路由到目的地设备。目的地设备从分组中提取数据并且将数据组装成其原始形式。被称为路由器的某些设备维护表示网络的拓扑结构的路由信息。路由器交换路由信息,以维护经由网络的可用路由的精确表示。通常,“路由”可以被定义为网络上两个位置之间的路径。在接收到传入的数据分组后,路由器检查分组内的信息(通常被称为“密钥”),以按照路由信息来选择要向其转发分组的适当的下一跳。路由器可以包括一个或多个转发组件,例如,分组转发引擎和交换结构(fabric)。分组转发引擎可以经由接口卡接收和发送数据。交换结构提供用于在分组转发引擎之间转发数据以通过网络(例如,互联网)传输的互连机制。在一些示例中,路由器或交换设备可以采用分布式多级交换结构体系架构,其中网络分组遍历位于路由器的分布式转发组件中的交换结构的多个级以从交换结构的入口点行进到交换结构的出口点。路由器使用路由协议来交换路由信息。路由器通常以一个或多个路由表或其他数据结构的形式维护路由信息。路由器可以按照路由信息来生成并且维护转发信息。转发信息将网络路由与路由器的特定转发下一跳和对应的接口端口相关联。在一些示例中,转发信息可以是包含在路由信息内的信息的子集。在转发信息中生成接口端口与下一跳的关联的过程通常被称为路由解析。边界网关协议(BGP)是路由器可以用来交换信息的路由协议,该信息与网络中的网络设备之间(诸如边缘设备的集合之间)的路由和可达性相关联。当最初两台路由器连接时,路由器通常会交换其所有路由信息。路由器随后发送控制消息,以当网络拓扑结构改变时递增地更新路由信息。例如,路由器可以发送更新消息来通告新的可用路由,并且撤消不再可用的路由。在一些示例中,BGP可以被用来通告指定的路由器已经将指定的一个或多个MPLS标签绑定到由指定的地址前缀表示的网络目的地。这可以通过发送BGP更新消息来完成,该GBP更新消息具有网络层可达性信息字段,其包含前缀和一个或多个MPLS标签;以及下一跳字段,其标识所述前缀与一个或多个标签绑定所在的节点。
技术实现思路
一般而言,本公开描述了使用路由协议属性,该属性允许网络设备在路由协议消息的单个属性中通告用于到达一个或多个网络目的地的多个下一跳。本公开的技术还允许路由协议属性的发送者指定正在被通告的多个下一跳之间的关系,并转发与单个路由协议属性中的多个下一跳中的每个下一跳相关联的语义。例如,路由协议消息可以是边界网关协议(BGP)更新消息。在一些示例中,可以发送路由协议属性用于上游分配或下游分配,并且路由协议属性可以包括指定路由协议属性的内容旨在用于上游分配还是旨在用于下游分配的字段。接收到具有路由协议属性的路由协议消息的网络设备可以基于该字段来确定如何处理路由协议属性。在发送路由协议属性用于下游分配的情况下,发送设备的下一跳和转发语义被接收网络设备存储和使用,在确定是否选择发送设备作为用于向一个或多个网络目的地转发网络流量的下一跳中用于参考。在发送路由协议属性用于上游分配的情况下,接收网络设备将由发送设备指定的下一跳和转发语义安装到转发表,并且使用下一跳和转发语义来转发由网络设备接收的网络流量。在一个示例方面中,一种方法包括:通过具有多个转发组件和多个结构链路的单机架网络设备的第一虚拟路由节点选择多个转发组件中的一个转发组件的结构接口,该多个结构链路耦合在多个转发组件的相应结构接口处的多个转发组件的相应对,该结构接口具有朝向网络目的地的出口接口并且与第一虚拟路由节点相关联;通过第一虚拟路由节点向单机架路由器的第二虚拟路由节点通告指定结构接口作为用于网络目的地的下一跳和要安装结构接口的第二虚拟路由节点的上下文转发表的消息;响应于接收到指定结构接口的消息,通过第二虚拟路由节点将作为用于网络目的地的下一跳的结构接口存储到第二虚拟节点的上下文转发表;通过第二虚拟路由节点并且基于上下文转发表以及指向上下文转发表的第一转发表中的上下文下一跳(context-nexthop)来选择用于转发由第二虚拟路由节点接收的去往网络目的地的网络分组的结构接口;以及通过第二虚拟路由节点向选定的结构接口转发去往网络目的地的网络分组。在另一示例方面中,一种单机架网络设备包括多个转发组件;多个结构链路,其耦合在多个转发组件的相应结构接口处的多个转发组件的相应对;第一虚拟路由节点,其被配置为使用多个转发组件的第一子集来转发分组;以及第二虚拟路由节点,其被配置为使用多个转发组件的第二子集来转发分组,第二子集与第一子集不同。第一虚拟路由节点被配置为:选择多个转发组件中的一个转发组件的结构接口,其具有朝向网络目的地的出口接口并且与第一虚拟路由节点相关联;向第二虚拟路由节点通告指定结构接口作为用于网络目的地的下一跳和要安装结构接口的第二虚拟路由节点的上下文转发表的消息。第二虚拟路由节点被配置为:响应于接收到指定结构接口的消息,将作为用于网络目的地的下一跳的结构接口存储到第二虚拟节点的上下文转发表,基于上下文转发表以及指向上下文转发表的第一转发表中的上下文下一跳来选择结构接口,用于转发由第二虚拟路由节点接收的并且基于上下文转发表以及指向上下文转发表的第一转发表中的上下文下一跳去往网络目的地的网络分组,以及向选定的结构接口转发去往网络目的地的网络分组。在又一示例方面中,一种计算机可读存储介质包括用于使得单机架网络设备的一个或多个可编程处理器进行以下操作的指令:通过具有多个转发组件和多个结构链路的单机架网络设备的第一虚拟路由节点选择多个转发组件中的一个转发组件的结构接口,该多个结构链路耦合在多个转发组件的相应结构接口处的多个转发组件的相应对,该结构接口具有朝向网络目的地的出口接口并且与第一虚拟路由节点相关联;通过第一虚拟路由节点向单机架路由器的第二虚拟路由节点通告指定结构接口作为用于网络目的地的下一跳和要安装结构接口的第二虚拟路由节点的上下文转发表的消息;响应于接收到指定结构接口的消息,将作为用于网络目的地的下一跳的结构接口存储到第二虚拟节点的上下文转发表;通过第二虚拟路由节点并且基于上下文转发表以及指向上下文转发表的第一转发表中的上下文下一跳来选择结构接口用于转发由第二虚拟路由节点接收的去往网络目的地的网络分组;以及通过第二虚拟路由节点向选定的结构接口转发去往网络目的地的网络分组。在附图和以下描述中阐述了一个或多个示例的细节。其他特征、目的和优点将从说明书和附图以及权利要求中变得明显。附图说明图1是图示了包括按照本公开中所描述的技术来配置的网络设备的示例网络环境的框图。图2是图示了被配置为按照本公开的技术进行操作的示例网络设备的框图。图3是图示了按照本公开的一个或多个方面的网络设备在处理具有MultiNexthop属性的路由通告消息时的示例操作的流程图。图4是图示了按照本公开的技术的用于MultiNexthopBGP属性300的示例格式的框图。图5是进一步详细图示了图4的下一跳转发语义类本文档来自技高网
...

【技术保护点】
1.一种方法,包括:通过具有多个转发组件和多个结构链路的单机架网络设备的第一虚拟路由节点选择所述多个转发组件中的一个转发组件的结构接口,所述多个结构链路耦合所述多个转发组件的相应结构接口处的所述多个转发组件的相应对,所述结构接口具有朝向网络目的地的出口接口并且与所述第一虚拟路由节点相关联;通过所述第一虚拟路由节点向所述单机架路由器的第二虚拟路由节点通告消息,所述消息指定所述结构接口作为用于所述网络目的地的下一跳,以及要安装所述结构接口的所述第二虚拟路由节点的上下文转发表;响应于接收到指定所述结构接口的所述消息,通过所述第二虚拟路由节点将作为用于所述网络目的地的下一跳的所述结构接口存储到所述第二虚拟节点的所述上下文转发表;通过所述第二虚拟路由节点并且基于所述上下文转发表以及指向所述上下文转发表的第一转发表中的上下文下一跳,来选择所述结构接口用于转发通过所述第二虚拟路由节点接收的、去往所述网络目的地的网络分组;以及通过所述第二虚拟路由节点向所选择的结构接口转发去往所述网络目的地的网络分组。

【技术特征摘要】
2017.05.31 US 15/610,2331.一种方法,包括:通过具有多个转发组件和多个结构链路的单机架网络设备的第一虚拟路由节点选择所述多个转发组件中的一个转发组件的结构接口,所述多个结构链路耦合所述多个转发组件的相应结构接口处的所述多个转发组件的相应对,所述结构接口具有朝向网络目的地的出口接口并且与所述第一虚拟路由节点相关联;通过所述第一虚拟路由节点向所述单机架路由器的第二虚拟路由节点通告消息,所述消息指定所述结构接口作为用于所述网络目的地的下一跳,以及要安装所述结构接口的所述第二虚拟路由节点的上下文转发表;响应于接收到指定所述结构接口的所述消息,通过所述第二虚拟路由节点将作为用于所述网络目的地的下一跳的所述结构接口存储到所述第二虚拟节点的所述上下文转发表;通过所述第二虚拟路由节点并且基于所述上下文转发表以及指向所述上下文转发表的第一转发表中的上下文下一跳,来选择所述结构接口用于转发通过所述第二虚拟路由节点接收的、去往所述网络目的地的网络分组;以及通过所述第二虚拟路由节点向所选择的结构接口转发去往所述网络目的地的网络分组。2.根据权利要求1所述的方法,其中通告包括:通过在所述单机架网络设备的所述第一虚拟路由节点和所述第二虚拟路由节点之间建立的单跳边界网关协议(BGP)会话来通告所述结构接口。3.根据权利要求2所述的方法,其中通告包括:通过所述单跳BGP会话在边界网关协议(BGP)更新消息中通告所述结构接口。4.根据权利要求3所述的方法,其中所述BGP更新消息包括子类型长度值(TLV),所述子类型长度值(TLV)指示在所述第二虚拟节点上所述结构接口应当被存储到的所述上下文转发表、以及与所述结构接口相关联的转发动作,其中所述转发动作包括弹出所接收的报文的外层标签并且在所述上下文转发表中查找所接收的报文的内层标签的指令,所述方法还包括:将所述内层标签与所述结构接口相关联地存储在所述上下文转发表中。5.根据权利要求1所述的方法,还包括:通过所述第二虚拟路由节点接收所述网络流量的分组,其中选择用于转发分组的所述结构接口包括:通过所述第二虚拟路由节点并且基于对转发表中所述分组的外层标签的查找,将所述上下文转发表标识为用于执行针对分组的进一步查找的表下一跳;以及通过所述第二虚拟路由节点并且基于对所述上下文转发表中的所述报文的内层标签的查找,将所述结构接口标识为用于转发所述分组的所述下一跳,其中转发所述网络流量包括通过所述第二虚拟路由节点将所述分组转发到所述结构接口。6.根据权利要求1所述的方法,还包括:在所选择的结构接口处,通过所述第一虚拟路由节点来接收所述网络流量的分组;以及在无需跨所述多个结构链路发送所述分组的情况下,在所述多个转发组件中的所述转发组件的所述出口接口处,通过所述第一虚拟路由节点从所述单机架网络设备输出所述分组。7.根据权利要求1所述的方法,其中所述多个转发组件包括由所述第一虚拟路由节点使用的所述多个转发组件的第一子集,和由所述第二虚拟路由节点使用的所述多个转发组件的第二子集,所述第二子集与所述第一子集不同。8.根据权利要求1所述的方法,其中通告所述结构接口包括:将所述结构接口与标识所述第二虚拟节点的所述上下文转发表的上下文标签相关联地进行通告,并且其中所述第二虚拟节点上的所述上下文转发表是被存储在所述第一虚拟路由节点上的转发表的镜像。9.根据权利要求8所述的方法,其中所述上下文标签包括标签分发协议(LDP)标签。10.根据权利要求8所述的方法,其中所述上下文标签与所述第一虚拟路由节点的虚拟路由及转发实例(VRF)、以及分组转发引擎(PFE)相关联。11.根据权利要求1所述的方法,其中通告包括:通告作为用于所述结构接口的网络层可达性信息的虚拟专用网络(VPN)标签,其中存储到所述上下文转发表包括:存储到多协议标签交换(MPLS)转发表,并且其中转发所述网络流量包括:转发具有VPN标签的VPN流量。12.根据权利要求1所述的方...

【专利技术属性】
技术研发人员:J·M·杰格纳坦A·卡普尔R·马尔雅A·K·格瑞沃K·维拉瓦卡莱B·辛加拉扬
申请(专利权)人:瞻博网络公司
类型:发明
国别省市:美国,US

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

1