在网络环境中有效使用流表空间的系统和方法_3

文档序号:8417874阅读:来源:国知局
如上所述,在端口配置文件中的预留信息可以仅仅指定与通过配置文件定义的端口组的VM实例相关联的流预留的流表条目的最大数量,在该情况中,预留模块仅判定是否已经达到该最大数量。换言之,预留模块判定与特定端口组的实例相关联的流条目的总数是否与在相应端口配置文件中指定的最大数量相等。如果相等,则在步骤88中做出否定判定;否则做出肯定判定。
[0035]在替代的示例实施例中,代替以最大数量指定流空间预留,在端口配置文件中的预留信息可以以百分比的形式表示流空间预留,其中针对与相应的端口组的实例相关联的条目预留流表中指定的百分比。在这种情况中,预留模块判定与特定端口组的实例相关联的流条目的百分比是否与在相应的配置文件中指定的百分比相等。如果相等,则在步骤88中做出否定判定;否则做出肯定判定。
[0036]在另一替代的示例实施例中,在端口配置文件中的预留信息可指示与特定端口组相关联的优先级。例如,与特定端口组类型的VM相关联的流量可以被认为比与另一端口组类型的VM相关联的流量更为重要,并且因此被“授权”更多的流表空间。在这种情况中,相对优先级被分配至在其关联的端口配置文件中的端口组。例如,假设第一端口组的端口配置文件相比于第二端口组的配置文件指示更高的优先级。假设仅有第二端口组的VM在服务器上被实例化,则可以将整个流表专用于与第二端口组的实例的流相应的条目。然而,如果与第一端口组相关联的VM随后在服务器上被实例化,由于与第一端口组相关联的端口配置文件相比与第二端口组相关联的配置文件指示更高的优先级,所以与第二端口组的实例相关联的一个或多个流条目将从流表中被丢弃以为与在服务器上的第一端口组的实例的流相关联的条目制造空间。明显地,因此在该情形中,在步骤88中实行的以做出关于针对新的流是否存在可用流空间的决定的算法是更为复杂、稳健、并且灵活的,并且不仅依赖于在相同端口组的服务器上的实例数量,还依赖于此时在服务器上的其他端口组的实例的数量和身份。该实施例利用了与VEM上的流量有关的、直接或经由管理器可用于VSM的信息。
[0037]这种概念在图4-6中被更为清楚的示出。首先参考图4,在此所示的是示出了基于每个端口组的相对流表使用率。在一个实施例中,VSM将针对其监管的每个主机服务器维持相对流使用率表的表示(比如,在图4中所示的表)。如图4所示,服务器托管三个端口组的VM:端口组A,其端口配置文件指示它具有相对优先级I (最高优先级);端口组B,其端口配置文件指示它具有相对优先级3 ;以及端口组C,其端口配置文件指示它具有相对优先级6 (端口组列表的最低优先级)。在某时间点,在端口组A的VM的服务器上有2个实例,在端口组B的VM的服务器上有3个实例,并且在端口组C的VM的服务器上有4个实例。根据端口组的相对优先级,针对端口组A的VM预留的流空间总量是45 %,针对端口组B的VM预留的流空间总量是40 %,以及针对端口组C的VM预留的流空间总量是15%。应该认识到的是,每个端口组的流空间使用率基于端口组类型的优先级、相对于优先级的端口组的VM的实例的数量、以及在服务器上其他端口组的VM的实例的数量。还应该认识到的是在图4中所示的数字仅用于示例的目的。
[0038]现在参考图5,假设在某稍后的时间点,另一端口组类型的一个VM在服务器上实例化,该类型为端口组D,其端口配置文件指示它具有相对优先级2。图5示出了由该添加造成的相对流使用率的示例变化。例如,在所示的示例中,由于端口组A具有比端口组D更高的优先级并且存在其他较低优先级的端口组(即,端口组B和端口组C,他们的流使用率可首先被降低以为端口组D VM的实例腾出空间)的这一事实,所以端口组A的VM可以保持45%的流使用率。端口组D现在享有在服务器上被实例化的端口组中第二高的优先级,并且因此它的一个实例被分配了 20%的流表空间。具有第三高的优先级的端口组B的VM的实例具有被降低至28%的流表空间。最后,最低优先级的端口组C的VM的实例具有被降低至7%流表空间。
[0039]接下来参考图6,假设在图5中所示的添加端口组D的实例之后的某时间点,出于这样或那样的原因端口组A的一个VM从服务器被移除。图6示出了由该删除造成的相对流使用率的示例变化。例如,在所示的示例中,由于端口组A仍具有最高优先级的这一事实,所以端口组A的VM(现在仅有一个)的流使用率可以降至35%。响应于改变,具有第二高优先级的端口组D的实例的流使用率被提升了最多,从20%提升至25%。具有第三高优先级的端口组B的实例的流使用率被提升了一些,在改变之后,从之前的28 %改变至32 %。最后,作为最大的群组但目前具有最低优先级的端口组C的实例的流使用率被最低程度地提升,在改变之后,从之前的7 %改变至8 %。
[0040]再次参考图3,如果在步骤88做出的判定是不可能撤除现存的流表条目,在步骤90中,分组将基于在慢速路径处理(步骤84)中执行处理的过程中决定的动作而被交换。在该情况中,关于动作的流信息不会被缓存至流表;结果,该流的下一分组在步骤84中会被踢至慢速路径。对于该流的各分组,这将一直进行,直到没有该流的分组到达交换机为止或者直到由于撤除了流表的其他流表条目或者使得具有足够高的相对优先级的流调整而撤除了另一个流表条目的在交换机处实例的相对转变而使得流空间是可用或使其变得可用为止。如果在步骤88中判定的是可能撤除现存条目,在步骤92中条目被撤除并且与新的流相应的条目被添加至流表。
[0041 ] 如很容易被认识到的,本文所述的实施例在针对主机处的VM流量的流表中提供了公平并且加权的表示。此外,实施例提供了更为精细的控制以预留流空间。另外,实施例提供可网络管理员可用来更好平衡较为重要的流与较为频繁的流的服务的手段,使得频繁的流不必如在其他情况中那样要求最多的流空间。另外,如果特定的端口配置文件没有被主机上的任何VM实例化或未被最大限度地使用,则在其他情况中可能使用静态方案(比如,基于数值或百分比的预留)被分配给该端口配置文件的流表空间能够被动态地分配至主机上的其他VM,以确保对流表空间的充分利用;之前的预留方案不能确保这种结果。
[0042]在数据中心环境中,在访问交换机(比如,VEM)中的流监控是很重要的,因为该流监控能查看到没有任何L2/L3交换机封装的VM流量。当前在Nexus 1000V中,针对“每一个特征”监控流。例如,ACL-特征监控器出于记录的目的允许或拒绝IPv4流。类似的,ARP记录监控在网络上被允许或被拒绝的ARP流量等等。本文上述的关于流表空间的预留的基于端口配置文件的方案能够被用来实现基于端口配置文件速率限制,使得较为重要的流能够针对那些特性被监控。
[0043]应该注意的是本文所述的基础设施(例如,VSM 20,VSM 50、VEM、VM等)可以作为任意类型的网络设备的部分被提供。如在本文中所用,术语“网络设备”可以包括计算机、网络装置、主机、路由器、交换机、网关、网桥、虚拟设备、负载均衡器、防火墙、处理器、模块、或能够在网络环境中可操作以交换信息的任意其他合适的设备、组件、元件、或对象。此外,网络设备可以包括促进其操作的任意合适的硬件、软件、组件、模块、接口、或对象。这可以将允许有效交换数据或信息的合适的算法和通信协议包括在内。
[0044]尽管本文所述的实施例参考了 Nexus 1000V交换机,但是相同的技术能够用于任意类型的交换机、虚拟机或其他,包括支持配制端口和监控在那些端口上执行的应用的配置文件的Cisco Nexus和UCS交换机。
[0045]需要注意的是在某些示例实现中,在本文概述的基于端口配置文件的流空间预留功能可以被逻辑编码有一个或多个有形、非暂态介质(例如,在专用集成电路(“ASIC”)中提供的嵌入式逻辑、数字信号处理器(“DSP”)指令、由处理器或其他类似的机器执行的软件(潜在地包括目标代码和源代码),等)实行。在这些实例的一些实例中,如图2中所示的存储器元件可存储用于本文所述的操作的数据。存储器元件可包括能够存储被执行以实现本说明书中所述活动的软件、逻辑、代码、或处理器指令的存储器元件。处理器可以执行与数据相关联的任意类型的指令,以实现本所明书中详细说明的操作。在一个示例中,如图2所示的处理器可以将元件或项目(例如,数据)从一个状态或情况转变至另一个状态或情况。在另一示例中,本文概述的活动可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)实行,并且本文标识的元件可以是某些类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(“FPGA”)、可擦可编程只读存储器(“EPR0M”)、电可擦可编程R0M( “EEPR0M”))、或包括数字逻辑、软件、代码、电子指令的ASIC、或这些器件的任意合适的组合。
[0046]在一个示例实现中,VSM 50包括软件以便实现本文概述的基于端口配置文件的流空间预留功能。预留模块66可以促进该功能。如图2所示,VSM 50可以包括用于存储用来实现本文概述的基于端口配置文件的流空间预留功能的信息的存储元件。另外,VS
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1