应用标识高速缓存的制作方法

文档序号:13578601阅读:241来源:国知局
应用标识高速缓存的制作方法



背景技术:

高速通信网络形成已经变成不可或缺的世界范围数据连接性的主干网的部分。在这些通信网络内,诸如交换设备之类的网络设备将网络业务从源端口指引到目的地端口,从而帮助最终将数据分组从源引导至目的地。这样的通信网络的效率中的改进将增加传送数据的有效性。

附图说明

在以下详细描述中并且参照附图来描述某些示例。

图1示出可以实现应用标识高速缓存的设备的示例。

图2示出通过高速缓存管理器对应用标识高速缓存中的查找的示例。

图3示出向分组转发电路转发分组和应用标识符的高速缓存管理器的示例。

图4示出通过高速缓存管理器的高速缓存更新的示例。

图5示出通过高速缓存管理器的高速缓存更新的另一示例。

图6示出网络设备可以实现的逻辑的示例。

图7示出网络设备可以实现的逻辑的另一示例。

图8示出可以维护应用标识高速缓存的设备的示例。

具体实施方式

本文的讨论可以提供通过网络设备实现应用标识高速缓存的设备、电路、系统、逻辑和方法。应用标识高速缓存可以支持网络业务(例如分组)所属于或源自的应用的标识。应用标识高速缓存中的高速缓存命中可以支持针对分组流的应用识别而没有例如深入的分组检查或其它资源密集过程。因此,应用标识高速缓存可以减少设备资源使用并且增加分组路由和通信的效率和速度。这些特征对于经加密的应用数据流可以是特别有益的,因为在没有深入分组检查的情况下通过应用标识高速缓存的应用标识也可以附加地减少或消除用于解密应用数据流的资源使用。

图1示出可以实现应用标识高速缓存的设备100的示例。设备100可以是传送数据的任何计算或网络设备。作为示例,设备100可以采取路由器、服务器、交换机、网关、网络边缘设备、客户端设备等的形式。设备100可以包括执行分组路由且根据任何数目的方法或协议并且跨任何数目的通信网络类型的任何电路或逻辑。

在图1中所示的示例中,设备100包括应用标识高速缓存108。设备100可以将应用标识高速缓存108实现为任何类型的数据结构,并且任何各种物理和虚拟实现方式是可能的。例如,应用标识高速缓存108可以采取高速缓冲存储器、表格、数据库或各种其它数据存储实体的形式。在操作中,应用标识高速缓存108可以存储将业务流关联到发起这些业务流的应用(例如客户端程序)的条目。例如,应用标识高速缓存108的条目可以将业务流的分组特性配对到生成了业务流的对应应用的应用标识符。以下更加详细地讨论应用标识高速缓存108的特征和示例。

图1中所示的设备100还包括高速缓存管理器110,其可以维护、更新和访问应用标识高速缓存108。高速缓存管理器110可以由设备100通过子系统、模块、专用电路、逻辑、存储在机器可读介质上的可执行指令和各种其它形式的任何组合实现。高速缓存管理器110可以访问应用标识高速缓存108以标识所接收到的网络业务所属于的特定应用,诸如通过将所接收到的分组标识为特定应用的业务流的部分。

在图1中所示的特定示例中,高速缓存管理器110包括模块115、116和117,其可以实现高速缓存管理器110可以提供的特征。例如,通过模块115、116和117,高速缓存管理器110可以将条目插入到应用标识高速缓存108中,所述条目将特定应用关联到特定应用的业务流的分组特性;解析所接收到的分组的分组标头以标识分组特性;并且根据分组特性访问应用标识高速缓存108以确定作为特定应用的业务流的部分的所接收到的分组。接着更加详细地讨论应用标识高速缓存108和高速缓存管理器110的示例特征。

图2示出通过高速缓存管理器110对应用标识高速缓存108中的查找的示例。高速缓存管理器110可以针对由网络设备接收的网络业务(诸如分组数据)执行对应用标识高速缓存108中的查找。在图2中所示的示例中,高速缓存管理器110针对分组201执行对应用标识高速缓存108中的查找,从而允许高速缓存管理器110确定分组201所属于(例如正在输运针对其的应用数据)的应用。

为了支持针对网络业务的应用标识,应用标识高速缓存108可以存储分别将应用映射到针对应用的业务流的分组特性的高速缓存条目。业务流可以是指承载应用的应用数据的任何数据流,诸如用于特定输运连接的分组序列、媒体数据串流等。应用标识高速缓存108可以通过应用标识符标识或追踪各种应用,所述应用标识符可以由网络管理员进行配置或跨通信网络中的多个网络设备而被识别。图2示出包括针对应用标识高速缓存108中的条目的“appid”字段的应用标识高速缓存108的示例,所述字段可以指定对应于应用的应用标识符。并且如在图2中的示例中看到的,应用标识高速缓存108包括被标识为“app-1”、“app-2”和“app-x”的针对应用的示例条目。这些示例条目将应用标识符映射到相应的分组特性。

业务流的分组特性可以是业务流中的分组所包含的任何属性、参数、值或其它特性。在一些示例中,应用标识高速缓存108将应用(例如通过应用标识符)映射到以标识应用的业务流的特定分组标头值的形式的分组特性。分组标头值的任何组合可以由应用标识高速缓存108用作分组特性。这样的分组标头值的示例包括源地址(例如源网际协议(ip)地址或源以太网或介质访问控制(mac)地址)、目的地地址(例如目的地ip或mac地址)、使用中的通信协议(例如输运层协议,诸如传输控制协议(tcp)、用户数据报协议(udp)或其它)或通信端口(例如源端口或目的地端口)。

应用标识高速缓存108可以映射到应用的分组标头值的其它示例包括分组的任何服务质量(qos)属性、元数据值(例如应用标识符自身的标头元数据值)、优先级字段、网络标识位等。为了提供甚至更多的示例,分组特性可以采取tcp连接5元组或openflow12元组的形式。在图2中所示的具体示例中,应用标识高速缓存108中的条目包括目的地ip地址字段(被示出为“destip”)、使用中的协议(被示出为“协议”)和目的地端口(被示出为“destport”)。这些分组标头值可以一起形成应用标识高速缓存108映射到应用标识符的示例分组特性。

应用标识高速缓存108可以存储针对特定应用的任何数目的条目。在这方面,应用标识高速缓存108可以通过多个不同的分组特性支持特定应用的标识。因此,应用标识高速缓存108可以包括将特定应用(例如具有应用标识符“app-a”)映射到特定tcp连接5元组的第一条目,和将特定应用映射到在分组标头中指定的特定元数据值的第二条目。通过支持针对相同应用的多个条目,应用标识高速缓存108可以提供网络设备中的灵活性以选择、配置或改变哪(一个或多个)特定分组特性在标识应用中使用。

为了执行对应用标识高速缓存108中的查找,高速缓存管理器110可以标识分组201的分组特性。在图2中,分组201包括分组标头202并且高速缓存管理器110可以解析分组201以将分组标头202中的特定分组标头值标识为分组201的分组特性(在图2中示出为分组特性210)。然后,高速缓存管理器110可以根据分组201的分组特性210执行对应用标识高速缓存108中的查找。当高速缓存中的查找结果命中时(例如当应用标识高速缓存108包括针对分组特性210的条目时),应用标识高速缓存108可以向高速缓存管理器110返回应用标识符220。在这样做中,高速缓存管理器110可以将分组201标识为对应于所返回的应用标识符220的应用的业务流的部分。当高速缓存中的查找结果未命中时,高速缓存管理器110可以不接收针对分组201的应用标识符。

为了通过图2中所示的示例进行说明,高速缓存管理器110可以解析分组201以将分组特性210标识为“1.1.1.0/24”的目的地ip地址、作为“udp”的协议和作为“1920”的目的地端口。通过将这些分组标头值用作分组特性210,通过高速缓存管理器110对应用标识高速缓存108中的查找返回高速缓存命中,并且应用标识高速缓存108可以返回作为“app-1”的应用标识符220。因此,高速缓存管理器110可以将分组201标识为针对对应于通过应用标识高速缓存108检索到的应用标识符“app-1”的应用的业务流的部分。

通过借由应用标识高速缓存108确定针对网络业务的对应应用,高速缓存管理器110可以减少资源使用,如果执行这样的应用识别而不是通过深入分组检查或其它资源密集应用识别技术的话。在该方面,应用标识高速缓存108的使用可以导致改进的数据路由性能,从而允许网络设备更高效、更快地并且利用更少的资源消耗(例如具有减少的深入分组检查)确定和路由分组。而且,深入分组检查过程可能要求经加密的分组数据的解密以执行应用识别,诸如通过用于数据签名或其它内容的分组有效载荷数据的检查。在这样的情境中,使用应用标识高速缓存108也可以通过绕过这样的解密过程而进一步减少资源使用。

通过经由应用标识高速缓存108的应用标识,网络设备可以支持业务流的应用特定路由。图3示出高速缓存管理器110向分组转发电路310转发分组201和应用标识符220的示例。分组转发电路310可以包括任何分组路由或转发逻辑,诸如通过网络设备实现的分组转发流水线。照此,分组转发电路310可以根据各种分组转发规则(例如策略)处理分组,所述分组转发规则可以控制优先级、带宽、资源分配或分组转发电路310通过其处理用于路由的不同分组类型的其它处理特性。在一些示例中,分组转发电路310可以区分来自不同的应用的网络业务,例如通过针对不同应用的业务流应用不同的转发规则。在图3中,分组转发电路310根据针对对应于应用标识符220的应用的业务流设定的特定转发规则来处理分组201。

作为特定联网环境的示例,应用标识高速缓存108可以实现在采用软件限定的联网(sdn)技术的广域网(wan)的网络设备之中。sdnwan网络可以使用openflow协议以例如经由分组转发规则控制网络设备的路由策略。在这样的环境中,应用标识高速缓存108可以通过提供用于应用识别和后续分组处理的高效且灵活的机制来支持应用特定路由。为了说明,网络设备可以与追踪各种业务流的openflow高速缓存组合(例如作为其部分)地实现应用标识高速缓存108。在该说明中,高速缓存管理器110可以添加作为openflow高速缓存的元数据字段的应用标识符,诸如当向openflow高速缓存添加新的条目时。因此,应用标识高速缓存108可以与采用sdn的通信网络组合地工作来提供分组路由中的增加的效率和灵活性。

接着,呈现高速缓存管理器110通过其可以维护或更新应用标识高速缓存108的一些示例技术。图4示出通过高速缓存管理器110的高速缓存更新的示例。特别地,图4可以图示对应用标识高速缓存108的带外高速缓存更新,诸如经由通过sdn技术管理的网络的控制平面。

在图4中,高速缓存管理器110接收条目插入指示410。条目插入指示410可以是包括针对应用标识高速缓存108的条目数据的任何通信。高速缓存管理器110可以从实现应用标识高速缓存108的网络设备外部的实体接收条目插入指示410。作为示例,高速缓存管理器110可以从网络管理实体(例如sdn控制器)、应用管理器或在客户端设备上执行的应用接收条目插入指示410。管理实体,诸如sdn控制器或应用管理器,可以通过带外数据信道或经由网络控制平面向高速缓存管理器110发送条目插入指示410,所述指示可以使得高速缓存管理器110更新其应用标识高速缓存108。

条目插入指示410可以包括应用标识符、对应的分组特性或二者。响应于接收到条目插入指示410,高速缓存管理器110可以将条目插入到应用标识高速缓存108中,诸如通过图4中所示的高速缓存更新411。高速缓存更新411可以是高速缓存插入指令(例如存储器写入),并且包括应用标识符和提供在条目插入指示410中的对应分组特性。在图4中所示的特定示例中,条目插入指示410包括应用标识符“app-y”和分组特性,所述分组特性具有“101.1.1.0./24”的目的地ip地址、用作“udp”的协议,以及“999”的目的地端口。在通过高速缓存更新411的插入之后,应用标识高速缓存108可以包括具有这些值的条目。当网络设备后续从应用“app-y”接收网络业务时,应用标识高速缓存108可以包括针对应用“app-y”的该插入条目,高速缓存管理器110可以通过该插入条目而不是通过执行深入分组检查或其它分组识别过程来标识应用“app-y”。

在一些示例中,条目插入指示410包括针对应用标识符的随附转发规则。在图4中,条目插入指示410可以包括针对应用标识符“app-y”的转发规则412。通过所接收到的转发规则412,高速缓存管理器110可以设定针对分组转发电路310的转发规则412。在一些示例中,转发规则412与条目插入指示410分离地被提供。例如,sdn控制器可以经由与条目插入指示410不同的分离openflow通信发送转发规则412。

图5示出通过高速缓存管理器110的高速缓存更新的另一示例。在图5中所示的示例中,高速缓存管理器110可以执行带内高速缓存更新,而例如不接收带外指令或控制平面通信。

高速缓存管理器110可以响应于高速缓存未命中而执行对应用标识高速缓存108的带内高速缓存更新。为了通过图5进行说明,高速缓存管理器110可以接收包括分组标头502的分组501。高速缓存管理器110可以解析分组501(例如分组标头502)以标识分组501的分组特性。在图5中,高速缓存管理器110确定分组特性,所述分组特性具有“121.1.1.0/24”的目的地ip地址、用作“udp”的协议,以及“50”的目的地端口。通过使用所确定的分组特性,高速缓存管理器110可以执行对应用标识高速缓存108中的查找,所述查找在没有存储针对该特定分组特性的条目时可以导致高速缓存未命中。

当查找导致高速缓存未命中时,高速缓存管理器110可以以其它方式标识针对分组501的对应应用。例如,高速缓存管理器110可以向深入分组检查(dpi)引擎510发送分组501,所述深入分组检查(dpi)引擎510可以包括网络设备的处理器。dpi引擎510可以采用任何数目的深入分组检查过程以标识分组501存储针对其的应用数据的特定应用。dpi引擎510可以向高速缓存管理器110提供应用标识的结果,例如通过应用标识符511。在图5中,dpi引擎510将分组501所属于的应用确定为具有应用标识符“app-z”,dpi引擎510将其作为应用标识符511提供给高速缓存管理器110。

一从dpi引擎510接收到应用标识符511或其它应用标识数据,高速缓存管理器110可以将条目插入到应用标识高速缓存108中。继续图5中所示的示例,高速缓存管理器110通过高速缓存更新512插入这样的条目,高速缓存更新512可以包括作为“app-z”的应用标识符511和从分组501提取的分组特性。通过高速缓存更新512,应用标识高速缓存108可以因而包括针对“app-z”的插入条目,如图5中所示。对于来自被标识为“app-z”的应用的业务流中的后续分组,高速缓存管理器110可以通过对应用标识高速缓存108中的查找而不是通过dpi引擎510将业务流识别为属于应用“app-z”。

在一些示例中,高速缓存管理器110配置针对通过带内高速缓存更新插入的条目的转发规则。高速缓存管理器110可以在执行带内高速缓存更新之前、之后或同时设定针对分组转发电路310的转发规则513。也就是说,高速缓存管理器110可以在从特定应用接收任何业务之前(例如如通过网络管理实体配置的)或在接收到针对新识别到的应用的标识应用流之后(例如响应于高速缓存未命中和dpi应用识别)设定转发规则513。对于采用sdn技术的网络,sdn控制器可以经由openflow通信发送转发规则513,网络设备通过所述转发规则513(例如经由高速缓存管理器110)可以配置其分组转发电路310。

如以上所描述的,高速缓存管理器110可以以各种方式维护和更新应用标识高速缓存108。高速缓存管理器110可以执行对应用标识高速缓存108的组合带内和带外高速缓存更新,从而灵活地允许通过网络管理实体的配置以及通过网络设备接收的新应用业务流的动态标识。

图6示出网络设备可以实现的逻辑600的示例。网络设备可以将逻辑600实现为硬件、存储在机器可读介质上的可执行指令或二者的组合。在一些示例中,网络设备通过高速缓存管理器110实现逻辑600,并且高速缓存管理器110可以将逻辑600执行或施行为方法以支持通过应用标识高速缓存108的针对业务流的应用标识。

关于逻辑600,网络设备可以解析由网络设备接收的分组以标识分组的分组标头值(602)。网络设备可以解析分组以标识分组标头值的预定集合。例如,网络设备可以通过标识作为分组标头值的目的地地址、源地址、用于传送分组的输运层通信协议、通信端口、针对分组的元数据值或其任何组合来解析分组。然后,网络设备可以使用分组标头值来执行对应用标识高速缓存108中的查找以标识作为特定应用的业务流的部分的分组(604)。

图7示出网络设备可以实现的逻辑700的另一示例。网络设备可以将逻辑700实现为硬件、存储在机器可读介质上的可执行指令或二者的组合。在一些示例中,网络设备通过高速缓存管理器110、分组转发电路310或其它路由电路或模块的组合来实现逻辑700。网络设备可以将逻辑700执行或施行为方法。

网络设备可以解析由网络设备接收的分组以标识分组的分组标头值(702)。分组标头值(或分组标头值的集合)被用作针对图7的逻辑700的分组特性的继续示例。网络设备可以根据分组标头值来执行对由网络设备实现的应用标识高速缓存108中的查找以确定分组对应于的应用(704)。取决于应用标识高速缓存108是否包括针对分组标头值的条目,查找可以返回高速缓存命中或高速缓存未命中(706)。

当应用标识高速缓存108包括针对分组标头值的条目时,网络设备可以将分组确定为特定应用的业务流的部分(708),例如对应于由应用标识高速缓存108返回的应用标识符的特定应用。因此,网络设备可以通过应用标识高速缓存108标识特定应用并且不必执行深入分组检查过程以标识针对分组的对应应用。一标识到特定应用,网络设备可以根据针对特定应用的业务流设定的特定转发规则而处理分组(710)。

当应用标识高速缓存108不包括针对分组标头值的条目时,网络设备可以以其它方式标识分组对应于的应用。例如,网络设备可以执行针对分组的深入检查过程以将分组标识为特定应用的业务流的部分(712)。与对应用标识高速缓存108中的查找相比,这样做可能消耗更大的资源或时间。相应地,网络设备可以将条目插入到应用标识高速缓存108中,所述条目将分组的分组标头值(或任何其它的分组特性)关联到特定应用(714)。网络设备还可以响应于将条目插入到应用标识高速缓存108中而设定用于处理特定应用的业务流的特定转发规则(716),并且根据特定转发规则而处理分组(718)。

图8示出可以维护应用标识高速缓存的设备800的示例。设备800可以是任何网络设备,诸如路由器、服务器、交换机、网关、网络边缘设备等。设备800可以包括处理器810。处理器810可以包括中央处理单元(cpu)、微处理器或适合于执行存储在机器可读介质上的指令的任何硬件设备。设备800可以包括机器可读介质820。机器可读介质820可以是任何非暂时性电子、磁性、光学或其它物理存储设备,其存储诸如图8中所示的应用标识高速缓存指令822之类的可执行指令。因此,机器可读介质820可以是例如随机存取存储器(ram)、电可擦除可编程只读存储器(eeprom)、存储驱动器、光学盘等。在图8中,机器可读介质820还存储应用标识高速缓存108。

设备800可以通过处理器810执行存储在机器可读介质820上的指令。执行该指令可以使得设备800执行本文所描述的特征的任何组合。例如,执行应用标识高速缓存指令822可以使得设备800维护应用标识高速缓存108以便存储将应用标识符配对到业务流的分组特性的条目。执行应用标识高速缓存指令822还可以使得设备800解析分组的分组标头以标识分组的特定分组特性;根据特定分组特性访问应用标识高速缓存108以确定针对分组的特定应用标识符;以及根据针对对应于应用标识符的特定应用的业务流设定的转发规则而处理分组。

在一些示例中,应用标识高速缓存指令822使得设备800通过以下来维护应用标识高速缓存108:通过路由控制平面(例如来自网络管理实体)接收特定应用标识符和特定分组特性,并且作为响应,将条目插入到应用标识高速缓存108中,所述条目将特定应用标识符和特定分组特性进行关联。作为另一示例,应用标识高速缓存指令822使得设备800通过以下来维护应用标识高速缓存108:执行针对之前接收的分组的深入分组检查过程以将之前接收的分组标识为针对特定应用的业务流的部分,确定之前接收的分组包括特定分组特性,以及将条目插入到应用标识高速缓存中,所述条目将特定分组特性关联到针对特定应用的特定应用标识符。

以上描述的方法、设备、电路、系统和逻辑(包括应用标识高速缓存108、高速缓存管理器110和分组转发电路310)可以以许多不同的方式实现在硬件、逻辑、电路和存储在机器可读介质上的可执行指令的许多不同的组合中。例如,高速缓存管理器110可以包括控制器、微处理器或专用集成电路(asic)中的电路,或者可以利用分立的电路或组件或者组合在单个集成电路上或者在多个集成电路之中分布的其它类型的模拟或数字电路的组合来实现。产品,诸如计算机程序产品,可以包括存储介质和存储在介质上的机器可读指令,所述机器可读指令当在端点、计算机系统或其它设备中执行时,使得设备执行根据任何以上描述的操作。

本文所描述的系统、设备和电路的处理能力(包括高速缓存管理器110和分组转发电路310)可以在多个系统组件之中分布,诸如在多个处理器和存储器(可选地包括多个分布式处理系统)之中分布。参数、数据库和其它数据结构(诸如应用标识高速缓存108)可以被分离地存储和管理,可以合并到单个存储器或数据库中,可以以许多不同的方式在逻辑上和在物理上被组织,并且可以以许多方式实现,包括诸如链式列表、散列表格或隐式存储机构的数据结构。程序可以是单个程序的部分(例如子例程)、分离的程序、跨若干存储器和处理器分布,或者以许多不同的方式实现,诸如以库来实现,所述库诸如共享库(例如动态链接库(dll))。dll例如可以存储执行以上所描述的任何系统处理的代码。

虽然以上已经描述了各种示例,但是多得多的实现方式是可能的。

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