用于网络分组高速缓冲存储器管理的技术的制作方法

文档序号:9931235阅读:416来源:国知局
用于网络分组高速缓冲存储器管理的技术的制作方法
【专利说明】用于网络分组高速缓冲存储器管理的技术
【背景技术】
[0001] 针对个人、企业以及社会使用的现代计算设备已经变得无所不在。这样,许多现代 计算设备能够连接到各种数据网络(包括互联网和公司内联网)以通过这样的网络来检索 和发送/接收数据通信。为了促进计算设备之间的通信,网络通常包括一个或多个网络设备 (例如,网络交换机、网络路由器等)来路由从一个计算设备到另一个计算设备的通信。
[0002] 软件定义网络(SDN)是一种可以用于促进在使用网络设备的网络间的通信(即,网 络分组的流动)的网络架构。在软件定义网络中,位于外部的SDN控制器连接到网络来做出 针对在网络间的网络分组的网络业务流逻辑决定,这是传统上在网络设备层面执行的任 务。这样,现在可以利用通用处理器在网络设备上处理先前在网络设备的专用网络处理器 上执行的网络分组处理(例如,网络业务流逻辑),因此降低了部署在软件定义网络中的网 络设备所需要的硬件部件的复杂度。某些网络分组有效载荷或工作负荷类型可能与具有非 常大的工作尺寸和/或仅在报头更新后被处理一次(即,没有高速缓冲存储器的再使用)的 某些网络分组相关联。这样的网络分组可能是网络或带宽密集型的,这可能导致在使用通 用处理器处理网络分组时网络设备性能低下。
【附图说明】
[0003] 在附图中通过示例性的方式而非限制性的方式示出了本文描述的概念。为了说明 的简化和清楚,附图中示出的元素不是按比例绘制的。在被认为是适当的情况下,参考标记 在附图间重复以指示对应的或相似的元素。
[0004] 图1是用于路由通信的系统的至少一个实施例的简化的框图;
[0005] 图2是图1中的系统的网络架构的网络设备的至少一个实施例的简化的框图;
[0006] 图3是图2中的网络设备的环境的至少一个实施例的简化的框图;
[0007] 图4是图1中的系统的软件定义网络架构的至少一个实施例的简化的框图;
[0008] 图5是用于管理图2中的网络设备的高速缓冲存储器逐出策略的方法的至少一个 实施例的简化的流程图;
[0009] 图6是用于实施图5中的逐出策略的方法的至少一个实施例的简化的流程图;以及
[0010] 图7是图5中的高速缓冲存储器行的结构的至少一个实施例的简化的框图。
【具体实施方式】
[0011] 虽然本公开内容的概念允许各种修改和替换形式,但是其具体的实施例已通过示 例的方式在附图中示出,并且将在本文中对其进行详细描述。然而,应当理解的是,本文并 不旨在将本公开内容的概念限制于所公开的特定的形式,而是相反地,本文旨在覆盖与本 公开内容和所附权利要求书相一致的所有修改、等价物以及替换方式。
[0012] 在说明书中引用的"一个实施例"、"实施例"、"说明性的实施例"等指示所描述的 实施例可以包括特定的特征、结构或特性,但是每一个实施例可以或可不必包括该特定的 特征、结构或特性。此外,这样的短语并不一定指代相同的实施例。此外,要指出的是,当结 合实施例来描述特定的特征、结构或特性时,本领域技术人员结合无论是否被明确描述的 其它实施例对这样的特征、结构或特性的任何影响都在其知识范围内。另外,应当意识到的 是以"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)。
[0013] 在一些情况下,可以以硬件、固件、软件或其任意组合的方式实现所公开的实施 例。所公开的实施例还可以被实现为由一个或多个暂时性或非暂时性机器可读(例如,计算 机可读)存储介质携带的或存储在其上的指令,所述指令可以被一个或多个处理器读取和 执行。机器可读存储介质可以被实施为用于存储或发送机器可读形式的信息的任何存储设 备、机械装置或其它物理结构(例如,易失性或非易失性存储器、介质磁盘或其它介质设 备)。
[0014] 在附图中,可以以特定的排列和/或次序示出一些结构或方法特征。然而,应当意 识到的是,可以不要求这样的特定排列和/或次序。而是,在一些实施例中,可以以与在说明 性的附图中示出的方式和/或次序不同的方式和/或次序排列来安排这样的特征。另外,在 特定的附图中对结构或方法特征的包括不意味着在暗示在所有的实施例中要求这样的特 征,并且在一些实施例中,可以不包括这样的特征或将这样的特征与其它特征结合。
[0015] 现在参照图1,在说明性的实施例中,用于网络设备流查找管理的系统或网络100 包括连接到网络控制设备110的内容存储设备102和网络基础设施120。网络控制设备110和 网络基础设施120中的每一个能够在软件定义网络(SDN)架构和/或网络功能虚拟化(NFV) 架构中操作。网络基础设施120包括用于经由网络基础设施的网络通信路径124来促进在内 容存储设备102和一个或多个计算设备130之间的网络分组传输的至少一个网络设备122, 该至少一个网络设备122被说明性地表示为122a至122h并且在本文中被统称为网络设备 122〇
[0016] 使用中,如下面以进一步的细节描述的,网络设备122从内容存储设备102或计算 设备130接收网络分组,基于存储在网络设备122处的策略来处理网络分组,并且在传输路 径中向下一个计算设备(例如,另一个网络设备122、计算设备130、内容存储设备102等)转 发网络分组。为了得知在传输路径中哪个计算设备是下一个计算设备,网络设备122执行查 找操作来确定网络流。查找操作在网络分组的一部分上执行哈希算法(hash)并且使用结果 来核对流查找表(即,映射到网络流的哈希表)。
[0017] 通常,将流查找表存储在处理器内载(on-proces sor)高速缓冲存储器(例如,处理 器的末级高速缓冲存储器)中来减小查找操作的时延,而将网络流存储在网络设备122的存 储器中。然而,流查找表可能变得非常大,变得大过在处理器内载高速缓冲存储器中可用的 空间。这样,与网络流哈希条目对应的高速缓冲存储器行被逐出网络设备122的存储器,当 流查找表的那些部分包括与网络分组对应的高速缓冲存储器行时,以上操作将时延引入到 查找操作中。另外,哪些高速缓冲存储器行被逐出存储器是由网络设备基于网络设备122所 采用的任意高速缓冲存储器逐出算法来控制的。
[0018]然而,诸如流网络分组的某些网络分组仅被读取/处理一次而并不被要求随后的 后续处理。这样,与这些单次读取网络分组对应的高速缓冲存储器行可以在处理之后被丢 弃。例如,可以以指示的方式标记与网络分组对应的、可以在处理之后被丢弃的高速缓冲存 储器行或将其放置于处理器内载高速缓冲存储器中的特定位置,来将该高速缓冲存储器行 标识为在对处理器内载高速缓冲存储器的清理期间的下一个被逐出处理器内载高速缓冲 存储器的高速缓冲存储器行。此外,与被保留到网络设备122的存储器中相反,所标记的、放 置的或被以其它方式标识的高速缓冲存储器行被标识为可以在逐出时被丢弃的高速缓冲 存储器行。这样,不必要的高速缓冲存储器行不被存储在网络设备122的流查找表中,这可 以改进与查找操作相关联的时延,这是因为流查找表可以具有更多的空间来分配给将被再 一次使用的网络流。
[0019] 网络基础设施120可以被实施为任何类型的有线或无线通信网络,包括蜂窝网络 (例如,全球移动通信系统(GSM))、数字用户线(DSL)网络、电缆网络、电话网络、局域网或广 域网、全球网(例如,互联网)或其任何组合。另外,网络基础设施120可以根据需要包括任何 数量的额外的设备来促进相应的设备之间的通信。
[0020] 在使用中,基于网络流或分组流沿着互连网络设备122的网络通信路径124的集合 来在内容存储设备102和计算设备130之间发送网络分组。如先前指出的,网络流被每一个 网络设备122用来指示在处理后将接收到的网络分组发送到哪(即,沿着哪个网络通信路径 124)。网络通信路径124可以被实施为能够促进相应的设备之间的通信的任何类型的有线 或无线信号路径。例如,网络通信路径124可以被实施为任何数量的线、印刷电路板迹线、经 由总线、点对点互连、中间设备等。任何适当的通信协议(例如,TCP/IP)可以用于实现沿着 网络通信路径124的网络分组的传输,这取决于例如内容存储设备102、计算设备130和网络 设备122的特定的类型或配置。
[0021] 网络设备122可以被实施为能够促进内容存储设备102和计算设备130之间的通信 的任何类型的设备,诸如路由器、交换机、服务器等。在一些实施例中,诸如在NFV架构中,网 络设备122中的一个或多个网络设备122可以运行一个或多个虚拟化的机器(VM)来以软件 的形式实现网络设备122的物理网络功能。换句话说,由网络设备122执行的功能中的一些 功能可以被虚拟化。在一些实施例中,网络设备122可以被实施为通用计算设备(即,非专用 硬件)。
[0022] 应当意识到的是,网络通信路径124的说明性的布置旨在指示存在针对网络分组 在网络基础设施120中传播的多个可选方案(即,路由),并且不应当被解释为对说明性的网 络基础设施120的限制。例如,可以将直接地从网络设备122a到网络设备122e的网络流分配 给从网络设备122a传播到网络设备122e的网络分组。在另一个示例中,在某些条件下,诸如 在网络设备122a与网络设备122e之间的网络通信路径124上的不良的服务质量(QoS),可以 将指导网络设备122a向网络设备122b发送网络分组的网络流分配给同一个网络分组,可以 继而将指导网络设备122b向网络设备122e进一步地发送网络分组的网络流分配给所述同 一个网络分组。
[0023]网络分组管理信息(例如,网络流、对应于网络分组类型的策略等)可以由网络应 用114管理并且被提供至在网络控制设备110上运行的网络控制器112。为了使网络应用114 有效地管理网络分组管理信息,网络控制器112向网络应用114提供网络基础设施120的抽 象表现(abstraction)。在一些实施例中,网络控制器112可以基于与多个可用的网络流对 应的服务质量(QoS)或者关联到网络分组的特定的工作载荷类型的策略来更新网络分组管 理信息。例如,计算设
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1