用于双向服务链的数据平面学习的方法和装置制造方法及图纸

技术编号:12588974 阅读:55 留言:0更新日期:2015-12-24 14:04
提供了将服务链结构从潜在网络转发状态解耦并且允许对服务链转发要求以及服务状态要求和服务链的正反向转发路径之间的关联的数据平面学习的技术。在包括多个网络节点的网络中,其中每个网络节点被配置为将服务功能应用于通过相应网络节点的流量,分组在网络节点处被接收。当网络节点确定其应用的服务功能是有状态的时,它更新分组的网络服务头部中的上下文信息,以指示应用于网络节点处的服务功能是有状态的,并且满足分类标准的反向路径的流量将被返回至该网络节点。

【技术实现步骤摘要】
【国外来华专利技术】
本公开涉及针对服务链联网。
技术介绍
服务链定义了一系列服务功能(例如,防火墙、深度分组监测等)以及它们在所选分组通过网络被转发时被应用于所选分组的顺序(服务1- >服务2)。服务被应用的顺序是通过编排功能预先确定的,并且该顺序被映射到在通过给定服务链的分组的转发中涉及的每个网络节点。转发状态到服务链结构的映射被称为服务路径。针对给定服务链的服务路径可以是单向或双向的,这取决于链中的服务功能中的一个或多个服务功能是否持有需要被保持在正向和反向分组转发路径中的状态信息。【附图说明】图1是示出服务链的示例的图示,服务链中的至少一个服务功能是有状态的并且数据平面学习被用于促进生成反向路径以将流量返回至有状态的服务功能。图2是示出网络服务头部的示例的图示,该网络服务头部被配置为使服务节点能够利用指示服务功能是有状态的信息来更新网络服务头部。图3是示出在网络服务头部中的一串位串的图示,该位串被配置为指示在服务链中的位置以及服务功能是否是有状态的。图4是示出通过示例服务链的正向路径的服务节点的流的图示,在该服务链中至少一个服务功能是有状态的。图5是示出针对图4中所示的示例生成的反向路径的图示。图6是描绘根据本文提出的技术在服务节点中执行的操作的流程图。图7是被配置为执行本文提出的操作的服务节点的示例框图。图8是被配置为执行本文所述的控制器操作的控制器的示例框图。【具体实施方式】臟本文提出的技术将服务链结构从潜在网络转发状态解耦,并且允许对服务链转发要求、以及服务功能状态要求和服务链的正反向转发路径之间的任何关联的数据平面学习。在包括多个网络节点的网络中,其中每个节点被配置为向通过相应网络节点的流量应用服务功能,分组在网络节点处被接收,该分组具有包括服务路径标识符信息和上下文信息的网络服务头部,其中服务路径标识符信息标识包括一个或多个服务功能和服务功能被应用于满足分类标准的流量的转发路径的顺序的服务链,上下文信息指示在对应网络节点处应用的服务功能是否是有状态的并且因此满足分类标准的流量的反向路径需要被导向有状态的服务功能被应用于的网络节点。网络节点将服务功能应用至在正向路径中被转发至该节点的分组,并且确定它所应用的服务功能是否是有状态的。当网络节点确定它所应用的服务功能是有状态的时,它更新网络服务头部中的上下文信息以指示在网络节点处应用的服务功能是有状态的并且满足分类标准的反向路径的流量将被返回至该网络节点。示例实施例服务链是包括服务功能的有序列表的数据结构,这些服务功能将被应用于沿该链进行转发的分组。遍历的服务功能的具体实体形成服务路径。服务链所引用的每个单独的服务功能可以被部署于多个位置,并且因此每个链可以通过一个或多个独立的服务路径执行。有状态的互联网协议(IP)服务(防火墙、网络地址转换(NAT)、深层分组检测(DPI)等)要求流状态信息被保持并且正向/反向流量流在相同的位置经由相同的服务功能进行转发。服务位置在本文中也被称作服务节点或网络节点。在现有技术水平的系统中,利用集中式控制器功能构建服务链并且在允许流量流经服务链之前将服务链推出至每个网络节点。由控制器推送的信息不只包括服务链数据结构的细节,还包括成功进行分组转发所必须的状态信息。从这个意义来讲,服务链结构和转发状态是紧密结合的并且由中央编排器控制。控制器需要了解链中的每个服务功能的状态要求(有状态的还是无状态的)(或者假设所有服务都是有状态的)以确定正向和反向服务路径转发。每个独立的服务功能是使用唯一的服务-1d进行表示的,例如,位于服务-节点1和服务-节点2处的FW 1共用共同的“服务_id”,并且每个服务链是使用唯一的服务-路径-1d进行表示的。服务-1d和服务-路径-1d的关联/映射形成了服务链。例如:服务链RED_>服务-路径_id=。服务链是经由中央控制器进行构建的,中央控制器确定服务功能应该被应用于链的顺序并且将全局唯一的服务-路径-1d分配给它创建的每个服务链。为执行该功能,控制器只需要保留“服务-1d”数据结构信息。然而,当流量通过服务链时,必须知道将被应用的下一服务功能的物理位置。这就要求(_至-)的映射,其中“位置”是托管服务功能的服务节点的基础结构地址(互联网协议或其它地址)。此类映射可以由中央控制器保留(增大其必须维护的状态量)或者可以被独立地分配给网络节点,从而使控制器不再必须保留服务功能的每个单独实体的位置。为了实现本文提出的技术,(_至)映射,例如,经由路由协议(例如,边界网关协议(BGP)、中间系统到中间系统(IS-1S)/开放式最短路径优先(OSPF))、或经由中央控制器更新消息进行独立分配。针对在中央控制器处创建的每个服务链,控制器需要将以下推向服务链的首端:至映射,例如,服务器-路径_id=。每个网络节点已经持有以下将允许服务链的成功建立的信息:针对每个单独服务-1d的服务-1d数据结构;以及至映射,例如,-> 通过服务链转发的分组是双向的并且由包含在数据平面所携带的网络服务头部内的信息驱动。首端网络节点充当进入服务链的分组分类器并且确定哪些流量流需要通过服务链进行重定向,强加必要的数据平面网络服务头部和传输封装来迫使流量进入服务链。每个服务功能知道它自己的服务-1d以及链中下一服务的位置。服务功能还知道它们的状态要求:有状态(即,需要查看双向流量)或无状态(单向流量是足够的)。有状态和无状态不是互相排斥的。服务功能可以选择为针对一些流有状态并且针对其他流无状态。理想地,控制器也将有足够的信息来确定服务功能的状态要求,然而,在实践中,服务功能细节在很大程度上对于控制器可能是未知的。在这种情况下,需要进行数据平面状态学习以优化服务转发。本文提出了使用网络服务头部(NSH)的技术,NSH是被添加到将通过服务链管理的分组的服务链特定头部。NSH提供路径信息(即,服务-路径)、位置信息(即,分组在服务路径中的哪个位置)、以及不透明元数据,并且下文将结合图2和3对NSH进行更详细的描述。参考图1,为了说明本文提出的技术的目的示出了示例服务链的图示。图1示出与首端节点20,多个服务节点30、40、50、60和70,以及首端节点80通信的控制器10。首端20也被称为分类器1并且首端节点80被称为分类器2。服务节点30、40、50、60和70托管/支持相应的服务功能32、42、52、62和72,每个服务-功能具有相应的服务-1d。服务节点30也被表示为服务-节点22,服务节点40被表示为服务-节点64,服务节点50被表示为服务-节点42,服务节点60被表示为服务-节点57,服务节点70被表示为服务-节点21。服务节点所托管的服务功能中的一些服务功能与图1的示例相同。具体地,服务节点30和服务节点40托管服务-功能32和42,服务-功能32和42是具有服务-1d1的相同服务-功能。换言之,服务-1d1出现在图1的示例情形中的不同服务节点上的多个实体内。考虑以下示例服务链定义。使用服务-路径_id引用的服务-链_idY,其中,服务-路径_id=。至映射是:服务-1d1经由服务-位置可达服务-1d22经由服务-位置可达当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种方法,包括:在包括多个网络节点的网络中,所述多个网络节点中的每个网络节点被配置为将服务功能应用于通过相应网络节点的流量,在网络节点处接收具有网络服务头部的分组,所述网络服务头部包括服务路径标识符信息和上下文信息,所述服务路径标识符信息标识包括一个或多个服务功能以及所述服务功能将被应用于满足分类标准的流量的正向路径的顺序的服务链,并且所述上下文信息指示被应用于对应网络节点处的服务功能是否是有状态的并且因此满足所述分类标准的流量的反向路径需要被导向有状态的服务功能被应用于的网络节点处;所述网络节点将服务功能应用于将在所述正向路径中被转发到该网络节点的分组;所述网络节点确定该网络节点应用的所述服务功能是否是有状态的;以及当所述网络节点确定该网络节点应用的所述服务功能是有状态的时,更新所述网络服务头部中的所述上下文信息,以指示在所述网络节点处被应用的所述服务功能是有状态的,并且满足所述分类标准的反向路径的流量将被返回至所述网络节点。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:詹姆斯·古伊查德保罗·昆恩大卫·沃德苏仁达·库马尔纳温德拉·亚达夫迈克尔·R·史密斯纳贾拉杰·A·巴格帕勒
申请(专利权)人:思科技术公司
类型:发明
国别省市:美国;US

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

1