具有网络地址转换检测的动态服务链的制作方法

文档序号:18482132发布日期:2019-08-20 23:51阅读:188来源:国知局
具有网络地址转换检测的动态服务链的制作方法

本公开总地涉及通信网络,尤其涉及具有网络地址转换的服务链。



背景技术:

网络服务被广泛部署在很多网络中,并且在这些网络中是很重要的。服务提供诸如,安全性、广域网加速、防火墙、服务器负载均衡、深度分组检测、入侵检测服务、以及网络地址转换(NAT)的各种特征。NAT是将在一个网络中使用的互联网协议(IP)地址转换为在另一网络中已知的不同IP地址的通用服务。

附图说明

图1示出了在其中可以实现这里描述的实施例的网络的示例。

图2描绘了用于实现这里描述的实施例的网络设备的示例。

图3是示出根据一个实施例的用于动态服务链中的网络地址转换检测的过程概况的流程图。

图4是根据一个实施例的用于网络地址转换检测的服务报头的示例。

贯穿附图中的多个视图,对应的参考标号指示相应的部分。

具体实施方式

概述

在一个实施例中,一种方法通常包括:在网络设备处接收与流相关联的分组;在网络设备处基于接收自策略层的信息对分组进行分类;将流的网络地址转换(NAT)指示符插入分组中;以及在包括网络地址转换的服务链中发送分组。NAT指示符在策略层与网络地址转换之前的流和网络地址转换之后的流相关联,以提供服务链和返回服务链之间的对称性。

在另一实施例中,一种装置通常包括:处理器,该处理器用于基于接收自策略层的信息对与流相关联的分组进行分类,将流的网络地址转换(NAT)指示符插入分组中,以及在包括网络地址转换的服务链中发送分组;以及网络接口,该网络接口用于与服务节点通信。NAT指示符被配置用于在策略层将网络地址转换之前的流绑定到网络地址转换之后的流,以提供服务链和返回服务链之间的对称性。

在又一实施例中,一种方法通常包括:在网络设备处在包括网络地址转换的服务链中接收分组,该分组包括与网络地址转换之前的流相关联的网络地址转换(NAT)指示符;从网络设备向策略层发送NAT指示符和标识网络地址转换之后的流的信息;以及在返回服务链上发送返回分组。策略层可操作以使用NAT指示符将网络地址转换之前的流绑定到网络地址转换之后的流,以提供服务链和返回服务链之间的对称性。

示例实施例

以下的描述被给出,以使本领域普通技术人员能够做出并使用这些实施例。具体实施例和应用的描述仅被作为示例提供,并且各种变化将对本领域技术人员来说是显而易见的。这里描述的一般原理可以在不偏离实施例的范围的条件下被应用到其他应用。因此,实施例不限于这些已经示出的实施例,而可以与这里描述的原理和特征一致的最宽范围相符。出于明了的目的,与实施例所涉及的技术领域中已知的技术资料的细节没有被详细描述。

网络服务可以被用在包括例如,广域网、数据中心、校园之类的网络基础架构中的不同点。这些服务可以被作为服务链的一部分应用。服务链是这样的数据结构,该数据结构定义了容宿各种服务功能的一组服务节点、以及这些服务功能应该被应用于所选择的流量数据的次序。服务链接包括拦截流量、以及将流量引导通过分别支持一个或多个服务功能的一系列服务节点(即,物理或虚拟设备)。NAT(网络地址转换)在与需要流量通过相同的一组服务返回的其他服务结合部署时,会存在挑战。在很多情况下,服务链需要对称性,以使流量在逆向(返回)方向中通过与正向方向中相同的一组服务返回。由于NAT改变了原始目的地(使用目的地NAT作为示例),所以在传统网络中以一致的方式确定返回分类和结果服务横穿可能是困难的。可以依赖操作员的介入,但是不允许动态或者可扩展的NAT部署。

这里描述的一些实施例可以被用来向服务链接基础架构通知NAT已经发生并且提供充足信息以使得服务和分类器具有足够的上下文来适当地操控NAT发生之后的正向和逆向流量流。如下面详细描述的,一个或多个实施例借助于用于链接和分类的控制平面。数据平面提供NAT在服务链中被执行的自动检测,以确保对称的服务链接(即,流量在逆向方向中通过与正向方向中相同的一组服务返回)。在没有操作员的介入或者对NAT服务进行改变的情况下,带内NAT检测和数据平面对称性被提供。

现在参考附图,首先参考图1,示出了可以实现这里描述的实施例的网络的示例。这些实施例在包括多个网络设备的数据通信网络的背景下进行操作。为了简单,仅示出了少数节点。将理解的是,图1中示出的网络只是示例,并且在不偏离实施例的范围的条件下可以使用包括不同网络设备或拓扑的其他网络。

图1示出的网络包括两个分类器10(C1,C2)、多个服务节点12(S1、S2、S3、S4、S5、S6)以及控制器(策略层)14。分类器10可以与任意数目的节点(例如,用户节点、服务器或者其他网络设备)或者网络通信。节点10、12、14可以与任意数目的其他网络设备位于一个或多个网络中。例如,一个或多个服务节点12可以与其他服务节点位于不同网络中。网络可以包括任意数目的边缘设备或中间(核心)节点(例如,路由器、交换机、接入层设备、汇聚层设备、网关、或者其他网络设备),这些边缘设备或中间节点有助于数据在网络中的传送。还存在插在图1示出的节点之间的任意数目的网络设备。

服务节点12分别容宿或支持用于应用到通过相应服务节点的流量的有效载荷的一个或多个服务功能。服务功能负责对所接收到的分组进行具体处理,并且可以在网络层或者其他OSI(开放系统互联)层进行操作。服务功能可以是虚拟实例,或被嵌入在物理网络元件中。例如,服务节点12可以是容宿一个或多个服务功能并且具有与其相关联的用于可达性和服务递送的一个或多个网络定位符的物理设备。服务节点12的示例包括防火墙、负载均衡器、深度分组检测器、或者执行包括例如,安全性、广域网加速、服务器负载均衡、入侵检测、网络地址转换等在内的一个或多个功能的其他节点。多个服务功能可以被嵌入在同一个网络元件12中。

如图1的示例中所示,在流量可以通过的不同路径上存在多个服务节点。在很多情况中,流量在逆向方向中通过与正向方向中相同的一组服务返回是非常重要的。例如,如果流量在通过服务节点S1、S2和S3(路径22)的服务链上被发送,则返回流量在逆向方向通过相同的服务节点(S3、S2、S1)(路径24)(而不是通过服务节点S6、S5、S4)是重要的。

控制器14(这里也称为策略控制器或策略层)向用于对流量进行分类的分类器10提供信息。策略层也可以位于网络中的另一节点处。控制器14可以是物理设备或虚拟元件。策略层14可以位于例如,一个网络设备处,或者贯穿网络分布在相互通信或与中心控制器通信的不同网络设备处。

在一些实施例中,分类器10执行分类,强加服务报头,并且创建服务路径。分类可以包括例如,流量流的本地实例化策略和消费者/网络/服务配置文件匹配,用于识别适当的出站转发动作。分类器10可以是交换机、路由器、网关、或者被配置为执行这里描述的转发功能和操作的其他网络设备。分类器10形成服务链的逻辑边缘,并且可以被称为去往服务链的头端节点。流量(分组/帧)18被使用网络中的一个或多个层2(L2)/层3(L3)服务覆盖通过服务功能从分类器10引导出去。控制器14(或者另一网络设备)可以包括例如,2014年1月30日递交的美国专利申请No.14/168,447中记载的服务链接逻辑。服务链接逻辑定义一个或多个服务链,供例如,分类器10的分类与映射逻辑选择。将理解的是,这只是示例,并且可以使用其他方法形成服务链。

再次参考图1,流量从源流到分类器C1,并且可以被定向到例如,与分类器C2通信的目的地。流是源期望标记为流的从源发送到目的地的分组序列。流可以由例如,五元组{协议,源IP地址,目的地IP地址,源端口,目的地端口}标识。

在图1所示的示例中,服务节点S2执行网络地址转换(NAT),在这种情况下流在通过服务设备后会丢失其身份(即,身份被改变)。如下面详细描述的,NAT指示符由分类器10插入分组18中,并且与分组20一起通过服务链被发送,以确保正确的对称链接(即,流量在返回路径上通过相同的服务节点)。在一个实施例中,NAT指示符被插入在由服务分类功能(例如,分类器10或者应用)添加的网络服务报头中,该服务分类功能确定哪些分组需要服务、以及相应地遵循哪条服务路径来应用适当服务。分组18的分类可以包括例如,基于流插入在分组中的NAT指示符的标识。下面参考图4进一步描述服务报头和NAT指示符的示例。

可以被用于实现这里描述的实施例的网络设备(例如,分类器)28的示例在图2中示出。在一个实施例中,网络设备28是可以在硬件、软件、或者硬件与软件的任意组合中实现的可编程器件。设备28包括处理器32、存储器34、网络接口36、以及分类模块38中的一个或多个。存储器34可以是存储供处理器32执行和使用的各种应用、模块、以及数据的易失性存储器或非易失性存储器。例如,分类模块38(例如,代码、逻辑、软件、固件等)可以被存储在存储器34中。

逻辑可以被编码在一个或多个有形计算机可读介质中,供处理器32执行。例如,处理器32可以执行存储在诸如存储器34的计算机可读介质中的代码。计算机可读介质可以是例如,电子介质(例如,RAM(随机存取存储器)、ROM(只读存储器)、EPROM(可擦除可编程只读存储器))、磁介质、光学介质(例如,CD、DVD)、电磁介质、半导体技术、或者任何其他适当介质。在一个示例中,计算机可读介质包括非瞬态计算机可读介质。网络设备28可以包括任意数目的处理器32。

网络接口36可以包括用于接收数据或者将数据发送到其他设备的任意数目的接口(线卡、端口)。接口36可以包括例如,用于连接到计算机或网络的以太网接口。一个或多个网络接口36可以与一个或多个服务节点12通信。

将理解的是,以上描述的图2中示出的网络设备28只是示例,并且在不偏离实施例的范围的条件下可以使用具有不同组件和配置的网络设备。例如,网络设备28可以进一步包括可操作以促进这里描述的性能的硬件、软件、算法、处理器、存储器、设备、组件、或者元件的任意适当组合。

图3是示出根据一个实施例的用于动态服务链中的网络地址转换检测的过程概况的流程图。与流相关联的分组(例如,图1中的分组/帧18)在分类器(例如,图1中的分类器C1)处被接收。分类器10基于接收自策略层的信息对分组进行分类(步骤40)。分类器10可以例如,向策略层14查询如何对输入的流量进行分类。替代地,策略层可以对分类规则进行预先编程,以使得在分组到达时避免查询。如果确定分组需要服务,则服务报头被强加。例如,分类器10可以咨询策略元件(例如,控制器14),并且基于该策略强加适当的服务报头,以将流量重定向到服务链中。分类器将流的NAT指示符插入分组中(步骤42)并且在服务链中发送分组(步骤44)。在一个实施例中,NAT指示符被插入到服务报头中,如下面参考图4所描述的。

服务链中的服务之一包括网络地址转换,NAT指示符在策略层14处与网络地址转换之前的流和网络地址转换之后的流相关联从而绑定这些流,进而提供正向服务链和返回流量服务链之间的对称性。如下面详细描述的,当服务节点S2执行NAT时,NAT指示符不被改变。分类器C2向策略层14报告流和相关联的NAT指示符,策略层14使用NAT指示符来绑定NAT之前的流和NAT之后的流。当返回流量通过分类器C2时,策略层14使用在正向流中创建的绑定提供适当的分类,以确保逆向分组遵循正向分组的逆向路径。当分类器C1接收到返回流量时,其移除服务报头并将流量转发到正确的目的地。

将理解的是,以上描述的图3中示出的过程只是示例,并且在不偏离实施例的范围的条件下可以添加或者修改步骤。

再次参考图1,下面的示例描述了根据一个实施例的NAT指示符在服务链C1->S1->S2->S3->C2(路径22)中的使用。在接收到流量时,分类器C1向策略层14查询如何对输入的流量进行分类。策略层14向分类器10返回用于服务链创建的分类标准和服务报头值。在一个实施例中,对于流唯一的cookie(信息记录)被用作NAT指示符。分类器C1可以将cookie插入到服务报头上下文字段中,如下面所描述的。分组利用恒定的cookie值进入服务链。当S2处的NAT改变目的地地址时,cookie保持不变。分组流过服务链,去往出口节点C2。分类器C2向策略层14报告新流和相关联的cookie。策略层使用该cookie作为标识符将NAT之前的流和NAT之后的流绑定。

逆向流通过使用NAT指示符提供服务链对称性,来遵循路径C2->S3->S2->S1->C1。策略层14使用先前在正向流期间给出的绑定,提供确保逆向分组遵循正确的服务顺序所需的适当分类和服务报头信息。分类器C2将包括NAT指示符(例如,cookie)的服务报头强加在返回流量上。分类器C2将分组重定向到返回服务链S3->S2->S1->C1(路径24)。

如上所述,在一些实施例中,NAT指示符可以被插入在服务报头中。在一个实施例中,服务报头是服务链的数据平面的一部分,并且可以包括用于服务链接的信息、以及被专门格式化供服务功能消费的元数据。元数据可以包括例如,应用标识符(ID)、流或路径ID、客户或用户ID、用于得出目标服务策略和配置文件的网络分类信息、以及与特定服务有关的通用元数据。

图4示出了根据一个实施例的可以用于发送NAT指示符的网络服务报头格式的示例。在一个示例中,网络服务报头包括64比特的基础报头46、以及四个32比特的上下文报头48和50。如图4所示,NAT指示符可以被插入在上下文字段之一中。基础报头46提供有关服务报头和服务路径标识的信息。上下文报头50可以携带不透明的元数据。

服务报头可以是例如,由P.Quinn等人在2014年2月14发表的IETF草案“Network Service Header(网络服务报头)”中描述的网络服务报头(draft-quinm-sfc-nsh-02.txt)。将理解的是,这只是示例,并且在不偏离实施例的范围的条件下可以使用其他格式。

在一些实施例中,分组和服务报头可以被封装在外部报头中进行传输。在网络服务报头被添加到分组之后,外部封装被用于将原始分组和相关联的元数据转发给服务链的起点。封装可以被用来创建拓扑独立的服务平面,在该服务平面中在不改变下层网络拓扑的条件下分组被转发给服务。传输网络节点转发经封装的分组。服务报头独立于所使用的封装。网络服务报头的存在可以经由例如,外部封装中的协议类型或者其他指示符来指示。

尽管已经描述了根据示出的实施例的方法和装置,但是本领域普通技术人员将很容易认识到,在不偏离实施例的范围的条件下可以做出各种修改。因此,期望以上描述包含的以及附图中示出的所有内容应该被解释为说明性的而不是限制性的意义。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1