确保经由流偏转的软件定义的网络的制作方法_5

文档序号:8367801阅读:来源:国知局
处移除流偏转。应当理解,所述状况可以以各种其它方式定义。
[0065]在第一网络单元122处的流偏转可被移除的确定可以是基于如下的确定,即对于被监视的每一种资源类型,资源类型的资源利用率满足相关联的资源状况(例如,TCAM利用率低于TCAM使用率阈值,CPU利用率低于CPU利用率阈值等,以及它们的各种组合)。
[0066]应当理解,在第一网络单元122处的流偏转可被移除的确定可以是基于任何其它合适类型的状况。
[0067]控制器127启动在第一网络单元122处的流偏转的移除。应当理解,流偏转的移除不仅仅包括流转发规则的移除,因为在没有将偏转的流从第二网络单元122迀移回第一网络单元122的情况下,第一网络单元122的流转发规则的移除可导致流设立请求的突发,其将加重第一网络单元122的CPU资源124的负担。
[0068]通过将偏转的流从第二网络单元122迀移回第一网络单元122,控制器127可以启动在第一网络单元122处流偏转的移除。例如,对于从第一网络单元122被偏转到第二网络单元122的每一个数据流,控制器127可以被配置以建立从第一网络单元122到目的地的新路径,将所述偏转的流改变为在与第一网络单元122相关联的新路径上转发而不是在与第二网络单元122相关联的先前的路径上转发,并且随后移除从第二网络单元122到目的地的先前的路径。在偏转的流已经从第二网络单元122迀移回第一网络单元122之后,控制器127随后可以阻止在第一网络单元122处的流转发规则的使用。然而在至少一些情况下,该过程可导致显著的开销(例如,由于路径设立)或可能导致对偏转的数据流的无序分组递送。
[0069]控制器127可通过保持偏转的流的数据路径不改变来启动在第一网络单元122处的流偏转的移除,同时确保在第一网络单元122处接收的新的数据流不再从第一网络单元122被偏转到第二网络单元122。例如,控制器127可被配置以(I)为每一个偏转的流生成流的分组将从第一网络单元122转发到第二网络单元122的显式规则,从而确保偏转的流仍然能够到达第二网络单元122而不依赖于在流偏转启动时在第一网络单元122上安装的流转发规则,以及(2)在用于偏转的流的显式规则已经在第一网络单元122上设定之后,移除在流偏转启动时在第一网络单元122上安装的流转发规则,从而确保新的数据流从第一网络单元122发送至控制器127而不是至第二网络单元122。在该实施例中,偏转的数据流继续使用该偏转路径,直到该偏转数据流被终止。
[0070]通过向第一网络单元122传播被配置以指示第一网络单元停止在第一网络单元122处的流转发规则的使用的消息,控制器127可以阻止在第一网络单元122处的流转发规则的使用(例如,通过从第一网络单元122移除流转发规则、通过第一网络单元122处将流转发规则标记为不活动等)。
[0071]控制器127可响应于任何其它合适的状况(例如,自流偏转启动起阈值时间长度之后、基于整个网络流量负载等等)来启动在第一网络单元122处的流偏转的移除。
[0072]作为响应于在第一网络单元122上的资源利用率状况的检测由第一网络单元122执行的流偏转的结果,第二网络单元122而不是第一网络单元122的资源(例如TCAM资源123和CPU资源124)被消耗在请求和支持用于新的数据流的数据路径。这使得在第一网络单元122处接收的新的数据流能够被支持,其中第一网络单元122上的资源利用状况(例如,资源过度利用状况或资源耗尽状况)本可能阻止第一网络单元122支持新的数据流。
[0073]图3示出了用于响应于在网络单元处检测资源利用状况而在网络单元处使用流偏转的方法的一个实施例。如在图3中所示,方法300的步骤的一部分由控制器(例如控制器127)执行,并且方法300的步骤的一部分由网络单元(例如网络单元122)执行。当结合图1的描述考虑时,可以更好地理解方法300的各种步骤。
[0074]在步骤302处,方法300开始。
[0075]在步骤304处,控制器监控网络单元的资源利用状况状况。
[0076]在步骤306处,控制器确定是否检测到资源利用状况。如果未检测到资源利用状况,方法300返回到步骤304 (例如控制器继续为资源利用状况的检测监视网络单元)。如果检测到资源利用状况,方法300前进到步骤308。
[0077]在步骤308处,控制器启动用于网络单元的流偏转。在至少一些实施例中,由控制器进行的流检测启动包括用于网络单元的流转发规则的生成,从控制器到网络单元的流转发规则的传播等。从步骤308起,方法300前进到步骤309 (由网络单元执行),并且还前进到步骤310 (由控制器执行)。
[0078]在步骤309处,网络单元使用流偏转来操作。在至少一些实施例中,使用流偏转的网络单元的操作包括:接收流转发规则,使用用于网络单元处的流偏转的流转发规则等等。如在图3中所示,网络单元保持在步骤309处,直到从控制器接收流偏转将被移除的指示(尽管方法300在控制器上继续,用于检测在网络单元处资源利用状况的结束,以使得该流偏转将被移除)。
[0079]在步骤310处,控制器监控网络单元的资源利用状况状况的结束。
[0080]在步骤312处,控制器确定是否检测到资源利用状况的结束。如果没有检测到资源利用状况的结束,方法300返回步骤310 (例如控制器继续为资源利用状况的结束的检测监视网络单元)。如果检测到资源利用状况的结束,方法300前进到步骤314。
[0081]在步骤314处,控制器启动用于网络单元的流偏转的移除。例如,由控制器进行的流检测的移除的启动可包括指示数据流被从其偏转的网络单元不偏转新的数据流,指示网络单元将偏转的数据流迀移回数据流从其被偏转的网络单元等。从步骤308起,方法300前进到步骤315 (由网络单元执行)。
[0082]在步骤315处,网络单元启动流偏转的移除。流偏转的移除的启动可包括启动将偏转流迀移回网络单元的过程,启动确保随后的数据流被本地处理而不是被偏转的过程(例如通过移除流转发规则)等。
[0083]应当理解,方法300表示了施加和移除在单个网络单元处用于单个资源利用状况的流偏转的一个循环。应当理解,方法300可为了由网络单元经历的其它资源利用状况继续由控制器和网络单元执行。还应当理解,方法300可以由控制器和多个网络单元执行,控制器为所述多个网络单元提供流偏转能力。
[0084]应当理解,虽然本文主要对实施例进行了示出和描述,在所述实施例中对基于资源的状况的监视、基于资源的状况的检测、以及以基于资源的状况的检测为基础的流转发规则的生成由SDN的控制器执行,但是在至少一些实施例中,这些功能中的一个或多个可由一个或多个其它设备执行。在至少一些实施例中,网络单元可被配置以监视基于资源的状况,检测基于资源的状况,并且以基于资源的状况的检测为基础生成流转发规则(例如其中网络单元监视其自身拥有的一个资源或多个资源的利用率,并且在检测到基于资源的状况时,生成和存储用于在网络单元处本地使用的流转发规则)。在至少一些实施例中,SDN的设备或代理(除了 SDN的控制器和SDN的网络单元之外)可被配置以监视基于资源的状况,检测基于资源的状况,以及以基于资源的状况的检测为基础生成流转发规则。在至少一些实施例中,在SDN外部的设备可被配置以监视基于资源的状况,检测基于资源的状况,以及以基于资源的状况的检测为基础生成流转发规则。应当理解,可以使用这样的实施例的各种组合(例如,某些网络单元自身执行所述功能,而由控制器为其它网络单元执行所述功能)。应当理解,这些功能可以以多种其它的方式来实现。
[0085]应当理解,虽然本文主要对实施例进行了示出和描述,在所述实施例中OpenFlow被用于控制在SDN内的路径选择和设立,但是任何其它合适的控制协议可以用于控制SDN内的路径选择和设立。
[0086]应当理解,虽然本文主要对实施例进行了示出和描述,在所述实施例中SDN被用于提供数据中心网络,但是SDN可用于提供任何其它合适类型的网络。
[0087]应当理解,虽然本文主要对实施例进行了示出和描述,在所述实施例中流偏转在控制平面功能和转发平面功能分离的特定类型的分布式网络(即SDN)内使用,流偏转可在控制平面功能和转发平面功能分离的任何其它合适类型的分布式网络内使用。
[0088]图4示出了适于在执行在此描述的功能中使用的计算机的高级框图。
[0089]计算机400包括处理器402(例如中央处理单元(CPU)和/或其它合适的处理器)和存储器404 (例如,随机存取存储器(RAM)、只读存储器(ROM)等)。
[0090]计算机400还可包括协作模块/进程405。协作进程405可以被加载到存储器404中并由处理器402执行以实现如本文所讨论的功能,并且因此协作进程405 (包括相关的数据结构)可存储在计算机可读存储介质上,例如RAM存储器,磁或光驱动器或软盘等。
[0091]计算机400还可以包括一个或多个输入/输出设备406 (例如用户输入设备(诸如键盘、小键盘、鼠标等)、用户输出设备(诸如显示器、扬声器等)、输入端口、输出端口、接收器、发射器,一个或多个存储设备(例如磁带驱动器、软盘驱动器、硬盘驱动器、光盘驱动器等)等,以及它们的各种组合)。
[0092]应当理解,在图4中示出的计算机400提供了适于实现在此描述的功能单元和/或在此描述的功能单元的一部分的通用架构和功能。例如,计算机400提供适于实现一个或多个主机服务器110、主机服务器110的一部分、ToR交换机122T、ToR交换机122:的一部分、聚集交换机122Α、聚集交换机1224的一部分、路由器122 κ、路由器122j9—部分、控制器127、控制器127的一部分等等的通用架构和功能。
[0093]应当理解,本文示出和描述的功能可在软件中实现(例如经由在一个或多个处理器上的软件实现,用于通用计算机上执行(例如经由一个或多个处理器的执行)以便实现特殊目标的计算机等)和/或可以在硬件中实现(例如使用通用计算机、一个或多个专用集成电路(ASIC)、和/或任何其它的硬件等同物)。
[0094]应当理解,本文中作为软件方法讨论的一些方法步骤可以在硬件内实现,例如作为与处理器协作以执行各种方法步骤的电路。本文所描述的
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1