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

文档序号:9931190阅读:251来源:国知局
用于网络设备流查找管理的技术的制作方法
【专利说明】用于网络设备流查找管理的技术
【背景技术】
[0001] 现代计算设备已经成为供个人、企业和社会使用的普遍工具。因此,许多现代计算 设备能够连接到包括互联网和企业内联网的各种数据网络,以在这些网络上获取和发送/ 接收数据通信。为了促进计算设备之间的通信,网络通常包括一个或多个网络设备(例如, 网络交换机、网络路由器等等),以将通信从一个计算设备路由到另一个计算设备。
[0002] 软件定义网络(SDN)是可以用于促进跨越网络的通信(即,网络分组的流动)的这 样一种网络体系架构。在软件定义网络中,位于外部的SDN控制器连接到网络交换/路由设 备,以针对跨越网络的网络分组做出网络业务流逻辑决策,该任务传统上是在网络设备层 处执行的。因此,之前在网络设备的专用网络处理器上执行的网络分组处理(例如,网络业 务流逻辑)现在可以在通用处理器上进行处理,从而减少了在软件定义网络中所部署的网 络设备所需要的硬件组件的复杂度,并且实现了独立于硬件发布周期来部署新的基于软件 的特征。另外,软件定义网络允许网络基础设施在规模上变得比传统网络更大,这可能导致 与网络的每个网络设备必须管理的网络业务流逻辑有关的数据增加。网络功能虚拟化 (NFV)是另一种网络架构概念,其用于使用传统的服务器虚拟技术(例如,虚拟机或VM)来对 网络设备功能进行虚拟化,从而实现了在通用处理器上对网络业务的处理。当将NFV和SDN 基础设施进行组合时,网络可以在规模上进一步增加,从而进一步增加了网络的每个网络 设备必须管理的网络业务流逻辑的量。
【附图说明】
[0003] 在附图中,通过举例而非限制性的方式示出了本文所描述的概念。为了说明的简 单和清楚起见,附图中所示出的要素不一定按比例绘制。在认为适当的地方,在附图中重复 附图标记以指示相应的或相似的要素。
[0004] 图1是用于对通信进行路由的系统的至少一个实施例的简化框图;
[0005] 图2是图1的网络设备的至少一个实施例的简化框图,其中该网络设备包括具有管 芯上高速缓存(〇n-die cache)的处理器;
[0006] 图3是图2的网络设备的多级散列表配置的至少一个实施例的简化框图;
[0007] 图4是图2的网络设备的多级散列表配置的另一个实施例的简化框图;
[0008] 图5是图2的网络设备的环境的至少一个实施例的简化框图;
[0009] 图6是图1的系统的软件定义网络架构的至少一个实施例的简化框图;
[0010] 图7是用于对图2的网络设备的高速缓存驱逐策略进行管理的方法的至少一个实 施例的简化流程图;以及
[0011] 图8是用于接收图1的系统的流策略信息的方法的至少一个实施例的简化流程图。
【具体实施方式】
[0012] 虽然本公开内容的概念容易有各种修改和替代形式,但是其中的特定实施例已在 附图中通过示例方式示出,并且将在本文中详细描述。但是,应当理解的是,这并非旨在将 本公开内容的概念限制于所公开的特定形式,但是相反地,其目的是要涵盖与本公开内容 和所附权利要求相一致的所有修改、等效项和替代方案。
[0013] 说明书中对"一个实施例"、"实施例"、"说明性实施例"等的引用,指示所描述的实 施例可以包括特定的特征、结构或特性,但每个实施例可能包括该特定的特征、结构或特 性,也可能不一定包括该特定的特征、结构或特性。此外,这种短语不一定指代相同的实施 例。此外,当结合实施例来描述特定的特征、结构或特性时,认为结合其它实施例(无论其是 否被明确地描述)来影响这种特征、结构或特性是在本领域技术人员的知识范围内。另外, 应当意识到,在以"A、B和C中的至少一个"的形式的列表中所包括的项目可以表示(A)、(B)、 (C)、(A和B)、(A和C)、(B和C)或者(A、B和C)。类似地,以"A、B或C中的至少一个"形式所列出 的项目可以表示(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或者(A、B和C)。
[0014] 在一些情况下,可以在硬件、固件、软件或者其任意组合中实现所公开的实施例。 所公开的实施例还可以实现为由一个或多个暂时性或非暂时性机器可读(例如,计算机可 读)存储介质携带或者存储在所述机器可读存储介质上的指令,这些指令可以由一个或多 个处理器读取和执行。机器可读存储介质可以体现为用于存储或发送具有机器可读形式的 信息的任何存储设备、机制或其它物理结构(例如,易失性或非易失性存储器、介质光盘或 者其它介质设备)。
[0015] 在附图中,可以以特定的排列和/或顺序来示出一些结构或方法特征。但是,应当 意识到,可能不需要这些特定的排列和/或顺序。相反,在一些实施例中,可以按照与说明性 附图中所示出的方式和/或顺序不同的方式和/或顺序来排列这些特征。另外,在特定的附 图中包括结构或方法特征并非意在暗示在所有实施例中都需要该特征,并且在一些实施例 中,可以不包括该特征或者其可以将该特征与其它特征组合。
[0016] 现在参考图1,在说明性实施例中,用于网络设备流查找管理的系统或网络100包 括远程计算设备102,其连接到网络控制设备110和网络基础设施120。网络控制设备110和 网络基础设施120中的每一个都能够在软件定义网络(SDN)架构和/或网络功能虚拟化 (NFV)架构中进行操作。网络基础设施120包括至少一个网络设备122,其被说明性地表示为 122a-122h并且在本文中被统称为网络设备122,以便促进经由网络通信路径124在远程计 算设备102和计算设备130之间传输网络分组。
[0017] 在使用中,如下面进一步详细描述的,网络设备122从远程计算设备102接收网络 分组,基于在网络设备122处所存储的策略来对该网络分组进行处理,并且将该网络分组转 发到传输路径中的下一个计算设备(例如,另一个网络设备122、计算设备130、远程计算设 备102等等)。为了知道哪个计算设备是传输路径中的下一个计算设备,网络设备122执行查 找操作以确定网络流。查找操作对网络分组的一部分执行散列并且使用该结果对照流查找 表(即,映射到网络流的下一个目的地的散列表)来进行检查。
[0018] 通常,流查找表存储在处理器上高速缓存(on-processor cache)中以减少查找操 作的延时,而网络流存储在网络设备122的存储器中。但是,流查找表可能变得非常大,从而 超出处理器上高速缓存中的可用空间。因此,流查找表的一部分(即,与网络流散列条目相 对应的高速缓存行)被驱逐到网络设备122的存储器,这给查找操作带来了延时。另外,将哪 些高速缓存行驱逐到存储器是由网络设备基于网络设备122使用哪种高速缓存驱逐算法来 控制的。但是,在多级流散列表中,多级流散列表的某些层级可以存储在网络设备122的处 理器上高速缓存中,而多级流散列表的其它层级可以存储在网络设备122的存储器中。例 如,如下面将进一步详细描述的,多级流散列表可以包括:第一级流散列表,用于将较高优 先级水平的散列存储在处理器上高速缓存中;以及第二级流散列表,用于将较低优先级水 平的散列存储在主存储器中。在该实施例中,可以减少由查找操作引起的整体延时,特别是 针对被网络设备122标识为具有高优先级的那些网络流散列的整体延时。
[0019] 网络基础设施120可以体现为任何类型的有线或无线通信网络,包括蜂窝网络(例 如,全球移动通信系统(GSM))、数字用户线(DSL)网络、有线网络、电话网络、局域网或广域 网、全球网络(例如,互联网)或者其任意组合。另外,根据需要,网络基础设施120可以包括 任意数量的额外的设备以促进相应设备之间的通信。
[0020] 在使用中,基于网络流或分组流、沿着将网络设备122进行互连的网络通信路径 124,在远程计算设备102和计算设备130之间传输网络分组。网络流描述了从源到目的地的 分组集合或序列。通常,分组集合共享公共的属性。网络流由每个网络设备122用来指示在 对接收到的网络分组进行处理之后要将该网络分组发送到何处(即,沿着哪些网络通信路 径124)。例如,网络流可以包括诸如与特定的网络流相对应的流标识符和流元组(例如,源 IP地址、源端口号、目的地IP地址、目的地端口号以及协议)之类的信息。应当意识到,网络 流信息可以包括与特定的网络流相对应的任何其它类型的信息或信息的组合。
[0021] 网络通信路径124可以体现为能够促进相应设备之间的通信的任何类型的有线或 无线信号路径。例如,网络通信路径可以体现为任意数量的电线、印刷电路板迹线、通孔总 线(via bus)、点对点互连、介于中间的设备等等。取决于例如远程计算设备102、计算设备 130和网络设备122的特定类型或配置,可以使用任何适当的通信协议(例如,TCP/IP)来实 现沿着网络通信路径124传输网络分组。网络设备122可以体现为能够促进远程计算设备 102和计算设备130之间的通信的任何类型的设备,例如,路由器、交换机等等。在一些实施 例中,例如在NFV架构中,网络设备122中的一个或多个网络设备可以运行一个或多个虚拟 机(VM),以便用软件来实现网络设备122的物理网络功能。换言之,可以对网络设备122所执 行的功能中的一些功能进行虚拟化。
[0022] 应当意识到,对网络通信路径124的说明性的布置旨在指示存在供网络分组在网 络基础设施120内移动的多个选项(即,路由),并且不应被解释为对示例性网络基础设施 120的限制。例如,可以向从网络设备122a移动到网络设备122e的网络分组分配直接从网络 设备122a到网络设备122e的网络流。在另一个例子中,在某些情况下(例如,网络设备122a 和网络设备122e之间在网络通信路径124上的服务质量(QoS)较差),可以向该相同的网络 分组分配用于指示网络设备122a将该网络分组发送给网络设备122b的网络流,继而可以向 网络设备122b分配用于指示网络设备122b进一步将该网络分组发送给网络设备122e的网 络流。
[0023]网络分组管理信息(例如,网络流、与网络分组类型相对应的策略等等)由网络应 用114进行管理,并提供给在网络控制设备110上运行的网络控制器112。为了使网络应用 114有效地管理网络分组管理信息,网络控制器112向网络应用114提供网络基础设施120的 抽象。在一些实施例中,网络控制器112可以基于与多个可用的网络流相对应的QoS或者与 网络分组的特定工作负载类型相关联的策略,来对网络分组管理信息进行更新。例如,计算 设备130可以向远程计算设备102发送请求,该请求用于请求远程计算设备102提供视频流 以便在计算设备130上回放。在接收到该请求之后,远程计算设备102然后对该请求进行处 理并且向网络设备122中的一个网络设备提供网络分组,其中该网络分组包括与所请求的 视频流的内容相对应的数据(即,有效载荷数据、开销数据等等)。在进行接收的网络设备 122处,对所接收到的网络分组进行处理,该操作是在利用目标设备的标识信息来对经处理 的网络分组的报头进行更新之前进行的,其中所述目标设备是将经处理的网络分组发送至 的目标设备。然后,进行接收的网络设备122根据网络控制器112所提供的网络流,向目标设 备发送经处理的网络分组。取决于网络基础设施120中进行接收的网络设备122驻留在何 处,目标设备可以是另一个网络设备122或者发起请求的计算设备130。
[0024] 某些网络基础设施120(即,包括成千上万或者更多网络设备122的数据中心)可以 包含足够大数量的网络设备122,使得网络控制器112所提供的网络流的数量可能在数目上 太庞大,以至于不能存储在网络设备122的存储设备的优先层级中。另外,即使在较小的网 络基础设施120中,每个网络设备122也可能承载(host)多个虚拟机(VM),从而进一步增加 了用于通过网络基础设施120来传输网络分组的可能网络流的数量。
[002
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1