用于网络设备流查找管理的技术的制作方法_2

文档序号:9931190阅读:来源:国知局
5] 当在网络设备122处接收到网络分组时,由网络设备122来执行查找操作以确定与 接收到的网络分组相对应的网络流。当在网络基础设施120上与应用对接时,计算设备130 的用户期望几乎实时的响应。例如,用户可以用等待时间(等待表格加载的时间、等待视频 缓冲的时间等等)的形式来很容易地分辨网络延时(即,网络分组从一个位置到达另一个位 置的时间量)。因此,每个网络设备122应当对每个网络分组进行高效地处理,以消除或减少 由处理操作引起的延时。例如,随着对网络设备122中的可能的存储设备的每一层级进行访 问,每个逐渐地更低的层级固有地遭受增加的延时。如果网络设备122必须针对与特定的网 络分组类型(例如,工作负载类型、有效载荷类型、网络协议等等)相关联的网络流来检查多 个位置,则会引起这种增加的延时,并使响应时间恶化。因此,在网络设备122的优先级位置 中保持可由网络设备122容易地访问的某些网络流,降低了由于网络流访问而引起的延时 的可能性。
[0026] 远程计算设备102可以体现为能够存储内容并与网络控制设备110和网络基础设 施120进行通信的任何类型的存储设备。在一些实施例中,远程计算设备102可以体现为能 够执行本文所描述的功能的任何类型的计算设备或计算机设备,包括但不限于:计算机、多 处理器系统、服务器、计算服务器(例如,数据库服务器、应用服务器、网络服务器等等)、机 架式服务器、刀片式服务器、膝上型计算机、笔记本计算机、网络设备、万维网设备、分布式 计算系统、基于处理器的系统和/或网络附接存储(NAS)设备。远程计算设备102可以包括通 常在诸如处理器、存储器、I/O子系统、通信电路和/或外围设备之类的这些设备中发现的任 何类型的组件。虽然将系统100说明性地示出为具有一个远程计算设备102,但应当意识到, 在本文中,包括一个以上的远程计算设备102的网络也是预期的。在一些实施例中,远程计 算设备102可以另外包括能够存储可由远程应用106获取的数据的一个或多个数据库(没有 示出)。
[0027] 说明性的远程计算设备102包括远程应用106。远程应用106可以体现为能够经由 网络基础设施120的网络设备122来向计算设备130发送和接收数据的任何类型的应用。在 一些实施例中,远程应用106可以体现为网络应用(即,瘦客户端)、专用云、公共云或混合云 的基于云的应用(即,瘦应用)。另外,在一些实施例中,网络控制器112所提供的网络流优先 级可以基于由网络控制器112从远程应用106接收到的信息。换言之,远程应用106可以向网 络控制器112提供有关网络流优先级(要向来自远程应用106的某些网络分组类型分配的网 络流优先级)的信息。例如,由远程应用106发送给网络设备122的流式传输网络流或者实时 网络流可以命令网络控制器112向网络设备122指示:与其它网络流相比,流式传输网络流 的流优先级将是尚优先级网络流。
[0028] 虽然说明性的系统100包括单个远程应用106,但应当意识到,在远程计算设备102 上可以运行一个以上的远程应用106,或者有一个以上的远程应用106是可用的。还应当意 识到,在某些实施例中,一个以上的远程计算设备102可以具有跨越远程计算设备102中的 一个或多个远程计算设备运行的、相同类型的远程应用106的一个以上的实例,例如在分布 式计算环境中。
[0029] 网络控制设备110可以体现为能够执行网络控制器112、促进远程计算设备102和 网络基础设施120之间的通信、以及执行本文所描述的功能的任何类型的计算设备。例如, 网络控制设备110可以体现为或者另外包括:服务器计算机、台式计算机、膝上型计算设备、 消费电子设备、移动计算设备、移动电话、智能电话、平板计算设备、个人数字助理、可穿戴 计算设备、智能电视、智能家电和/或其它类型的计算设备或网络设备。因此,网络控制设备 110可以包括通常在网络控制设备或类似的计算设备(例如,处理器、存储器设备、通信电路 和数据存储设备)中发现的设备和结构,为了描述清楚起见,在图1中没有示出这些设备和 结构。
[0030] 网络控制器112可以体现为或者另外包括能够对网络基础设施120的网络流进行 控制的任何类型的硬件、软件和/或固件。例如,在说明性实施例中,网络控制器112能够在 软件定义网络(SDN)环境(即,SDN控制器)和/或网络功能虚拟化(NFV)环境(即,NFV管理器 和网络协调器(MAN0))中进行操作。因此,网络控制器112可以向能够在SDN环境和/或NFV环 境中进行操作的网络设备122发送(例如,发射等等)网络流信息。在SDN架构中,SDN网络控 制器充当为集中式网络管理应用,其提供了用于从远程位置对网络设备122的配置进行管 理的抽象的控制平面。
[0031] 在使用中,网络控制器112被配置为向网络设备122提供某些策略信息,例如基于 流的策略和高速缓存管理策略,如下面进一步详细讨论的。策略信息可以基于网络分组的 类型(例如,具有流式传输工作负载的网络分组)。例如,策略信息可以包括与针对网络设备 122中的每个网络设备的网络流类型相对应的优先级。如之前所提到的,网络流的优先级可 以基于网络分组的类型(例如,工作负载类型、有效载荷类型、网络协议等等)。由网络设备 122中的每个网络设备从网络控制器112接收到的网络流优先级包括:用于网络设备122在 确定要将网络流信息存储在何处(即,存储器208中或者高速缓存204中)时使用的指令。 [0032] 网络应用114(在SDN网络中通常被称为商业应用)可以体现为能够对通过网络基 础设施120的网络分组的过程和流动进行动态地控制的任何类型的网络应用。例如,网络应 用114可以体现为网络虚拟化应用、防火墙监控应用、用户身份管理应用、访问策略控制应 用和/或其组合。网络应用114被配置为:与网络控制器112对接,接收转发给网络控制器112 的分组,以及对提供给网络设备122的网络流进行管理。
[0033]在使用中,网络应用114接收网络基础设施120的拓扑的抽象模型,并且调整网络 基础设施120的网络设备122的行为。例如,所调整的行为可以是对网络流的改变。在一些实 施例中,所改变的网络流可以基于远程应用106的需求(其通常被称为反应式网络流)。如下 面将进一步详细描述的,在一些实施例中,网络应用114可以是能够经由应用程序接口 (API)在系统100的抽象上进行操作的SDN应用或者其它计算软件或平台。在一些实施例中, 例如,在网络应用114是SDN应用的情况下,网络应用114可以提供网络虚拟化服务,例如虚 拟防火墙、虚拟应用传递控制器和虚拟负载均衡器。
[0034]计算设备130被配置为经由网络设备122来发送和/或接收去往/来自远程应用106 的网络分组。计算设备130可以体现为或者另外包括能够执行本文所描述的功能的任何类 型的计算设备,包括但不限于:台式计算机、膝上型计算设备、服务器计算机、消费电子设 备、移动计算设备、移动电话、智能电话、平板计算设备、个人数字助理、可穿戴计算设备、智 能电视、智能家电和/或其它类型的计算设备。因此,计算设备130可以包括通常在计算设备 (例如,处理器、存储器设备、通信电路和数据存储设备)中发现的设备和结构,为了描述清 楚起见,在图1中没有示出这些设备和结构。
[0035] 现在参考图2,说明性的网络设备122包括具有管芯上高速缓存204的处理器202、 主存储器208、输入/输出(I/O)子系统206、通信电路212以及一个或多个外围设备214。网络 设备122可以体现为能够执行本文所描述的功能的任何类型的计算设备或计算机设备,包 括但不限于:通用计算设备、网络设备(例如,物理的或者虚拟的网络设备)、万维网设备、路 由器、交换机、多处理器系统、服务器(例如,单独式、机架式、刀片式等等)、分布式计算系 统、基于处理器的系统、台式计算机、膝上型计算机、笔记本计算机、平板计算机、智能电话、 移动计算设备、可穿戴计算设备、消费电子设备或者其它计算机设备。
[0036]在使用中,如下面将进一步详细描述的,当网络设备122中的一个网络设备从网络 控制器112接收到网络流信息时,该网络流信息被写入到网络流表(其通常还被称为路由表 或者转发表)。网络流表通常存储在网络设备122的存储器208(即,主存储器)中。由于与必 须在存储器208中执行针对网络流信息的查找相关联的延时,可以将网络流信息写入到通 常存储在网络设备122的高速缓存204中的散列表或散列查找表。
[0037]如下面将进一步详细描述的,数据可以存储在管芯上高速缓存204或者存储器208 中。与从存储器208中获取的数据相比,访问管芯上高速缓存204中所存储的数据可以快至 少一个数量级。换言之,与如果某些数据驻留在存储器208中相比,将该数据保持在管芯上 高速缓存204中允许该数据被更快速地访问。但是,管芯上高速缓存204空间是有限的,因此 网络设备122通常依赖于高速缓存替换算法(通常还被称为替换策略或者高速缓存算法)来 确定要将哪些数据存储在管芯上高速缓存204中以及要将哪些数据驱逐到存储器208。散列 表的每个条目存储在管芯上高速缓存204的高速缓存行中。通常,高速缓存替换算法依赖于 网络设备122的硬件(例如,处理器202)来确定要驱逐哪些高速缓存行。例如,最近最少使用 (LRU)高速缓存替换算法首先驱逐最近最少使用的高速缓存行,而不管高速缓存行中所存 储的数据的重要性。使用硬件预测来确定要驱逐哪个高速缓存行的这种高速缓存替换算法 是容易出错的,并且即使小的错误会导致违反一致性和高速缓存污染(这会增加延时)。在 一些实施例中,处理器202的管芯上高速缓存204可以具有多级架构。在这些实施例中,管芯 上高速缓存204中的数据通常从最低层级的管芯上高速缓存204被驱逐到最高层级的管芯 上高速缓存204(其通常被称为末级高速缓存(LLC))。当数据从最高层级的管芯上高速缓存 204 (即,LLC)被驱逐时,该数据通常被写入到存储器208。
[0038] 处理器202可以体现为能够执行本文所描述的功能的任何类型的处理器。例如,处 理器202可以体现为单核或多核处理器、数字信号处理器、微控制器、或者其它处理器或处 理/控制电路。存储器208可以体现为能够执行本文所描述的功能的任何类型的易失性或非 易失性存储器或者数据存储设备。在操作中,存储器208可以存储网络设备122的操作期间 所使用的各种数据和软件。存储器208经由I/O子系统206通信地耦合到处理器202,其中I/O 子系统206可以体现为促进与处理器202、存储器208和网络设备122的其它组件的输入/输 出操作的电路和/或组件。I/O子系统206被配置为促进将数据传输到管芯上高速缓存204和 存储器208。例如,I/O子系统206可以体现为或者另外包括存储器控制器集线器、输入/输出 控制集线器、固件设备、通信链路(即,点对点链路、总线链路、电线、电缆、光导、印刷电路板 迹线等等)和/或其它组件和子系统,以促进输入/输出操作。在一些实施例中,I/O子系统 206可以形成片上系统(SoC)的一部分,并且连同处理器202、存储器208和网络设备122的其 它组件并入到单个集成电路芯片上。
[0039] 通信电路212可以体现为能够实现远程计算设备102、网络控制设备110和其它网 络设备122之间在网络上的通信的任何通信电路、设备或者其集合。通信电路212可以被配 置为使用任何一种或多种通信技术(例如,无线或有线通信)和相关联的协议(例如,以太 网、蓝牙?、Wi-Fr、WiMAX等等)来实现这种通信。在一些实施例中,通信电路 212包括蜂窝 通信电路和/或其它远距离无线通信电路。一个或多个外围设备214可以包括通常在计算设 备(特别是网络设备)中发现的任何类型的外围设备,诸如举例来说,硬件键盘、输入/输出 设备、外围通信设备等等。例如,本文预期外围设备214可以另外地或替代地包括用于将外 部外围设备连接到网络设备122的一个或多个端口,诸如举例来说,USB。
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1