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

文档序号:8367801阅读:来源:国知局
心网络的网络带宽的消耗的增加等)。
[0048]控制器127生成用于第一网络单元122的流转发规则,其中流转发规则被配置以指令第一网络单元122向由控制器127选择的第二网络单元122 (而不是向控制器127)传播新的流请求,使得第二网络单元122将向为第一网络单元122转发在第一网络单元122处接收的新的流请求至控制器127。
[0049]在至少一些实施例中,当使用完全流偏转时,流转发规则指示在第一网络单元122处接收的所有新的流请求将从第一网络单元122转发到第二网络单元122。
[0050]在至少一些实施例中,当使用选择性流偏转时,流转发规则指示在第一网络单元122处接收的新的流请求的一小部分将从第一网络单元122转发到第二网络单元122 (同时在第一网络单元122处接收的新的流请求的剩余部分将由第一网络单元122在本地处理)。被偏转到第二网络单元122的在第一网络单元122处接收的新数据流的所述一小部分可以以任何合适的方式来选择(例如基于在第一网络单元122处检测到的利用状况的资源类型、基于在第一网络单元122处感兴趣的资源的利用水平等等)。例如,当资源利用率为70 %时所述一小部分可以为30 %、当资源利用率为90 %时所述一小部分可以为40 %等等。被偏转到第二网络单元122的在第一网络单元122处接收的新的数据流的一小部分上的控制(例如以便实现数据流希望或需要部分的偏转)可以以任何合适的方式(例如,基于数据流的流定义)实现。在至少一些实施例中,来自流报头(header)的随机位(例如,流报头的源前缀或其它部分)可以被选择作为用于确定哪些流从第一网络单元122被偏转到第二网络单元122以及哪些流在第一网络单元122处被本地处理的基础。在至少一些实施例中,用于偏转部分的位的选择可以是动态的,以便使潜在的攻击者更加难以确定选择性流偏转的基础。在至少一些实施例中,被偏转到第二网络单元122的在第一网络单元122处接收的新的数据流的一小部分上的控制可以基于数据流地址的前缀(例如,因特网协议(IP)寻址、媒体访问控制(MAC)地址等)、数据流的协议(例如,超文本传输协议(HTTP)、HTTP安全(HTTPS)、文件传输协议(FTP)等)、数据流的端口数等,以及它们的各种组合。
[0051]控制器127向第一网络单元122传播流转发规则。第一网络单元122接收由控制器127生成的流转发规则并存储该流转发规则。第一网络单元122使用流转发规则以向由控制器127选择的第二网络单元122转发新的流请求。应当指出,新的流请求是第一网络单元122是接收所述新的流请求的SDN的第一网络单元的新的流请求。例如,对于源自数据中心102的主机服务器110中的一个主机服务器的VM 112中的一个VM的数据流,所述主机服务器110中的一个主机服务器相关联的ToR交换机12\是SDN的第一网络单元以接收用于数据流的新的流请求。例如,对于源自数据中心102外部的设备并且旨在用于数据中心102的主机服务器110中的一个主机服务器的VM 110中的一个VM的数据流,作为到数据中心网络120的入口点的路由器122κ是SDN的第一网络单元以接收用于该数据流的新的流请求。该新的流请求可以是以数据流的第一数据分组、数据流请求消息等的形式。
[0052]在至少一些实施例中,当流转发规则是用于完全流偏转的时,基于在第一网络单元122处对新的数据流的请求的接受,第一网络单元122根据由控制器127在第一网络单元122上安装的所述流转发规则向第二网络单元122 (而不是控制器127)转发对新的数据流的新的流请求。
[0053]在至少一些实施例中,当流量转发规则是用于选择性流偏转的时,基于在第一网络单元122处对新的数据流的请求的接受,第一网络单元122确定该新的流请求的新的数据流是被本地处理还是被偏转到第二网络单元122。如以上所指出的,关于该新的流请求的新的数据流是被本地处理还是被偏转到第二网络单元122的确定可基于该数据流的流定义(例如来自流报头的随机位、地址信息、协议、端口号信息等)来做出。基于该新的流请求将被偏转到第二网络单元122的确定,第一网络单元122根据由控制器127在第一网络单元122上安装的流转发规则向第二网络单元122 (而不是控制器127)转发用于该新的流的新的流请求。基于该新的流请求没有被偏转到第二网络单元122的确定,第一网络单元122向控制器127 (而不是第二网络单元122)转发用于该新的流的新的流请求。
[0054]基于由第二网络单元122确定的与当前不由第二网络单元122支持的新的数据流相关联的新的流请求(例如,基于在第二网络单元122的转发表中的查找),第二网络单元122从第一网络单元122接收新的流请求,并将该新的流请求转发至控制器127。
[0055]控制器127从第二网络单元122接收第一网络单元122的新的流请求,并处理该第一网络单元122的新的流请求,如同该第一交换机的新的流请求是第二网络单元122的新的流请求(例如,通过确定用于该新的数据流的路径,并且在由控制器127选择出的包含在用于该新的数据流的数据路径中的每一个网络单元122上安装用于该新的数据流的数据路径的转发规则)。
[0056]在至少一些实施例中,流标识符可以与从第一网络单元122转发到第二网络单元122的新的流请求相关联。通过第一网络单元122,流标识符可被添加至从第一网络单元122被发送给第二网络单元122的新的流请求。流标识符可通过第二网络单元122与新的流相关联(例如通过分配用于数据流的流标识符并将流标识符与在第二网络单元122处存储的用于该数据流的数据流信息相关联)。第二网络单元122使用流标识符来区分作为流偏转的一部分从第一网络单元122接收的新的流请求和第二网络单元的本地数据流(例如在没有使用流偏转的情况下在第二交换机处接收的用于数据流请求的数据流)。第二网络单元122可被配置以给出较某些状况下的被偏转数据流更高优先级的本地数据流(例如当第二网络单元122经历TCAM利用状况时、当第二网络单元122经历CPU利用状况时等)。流标识符可使用多协议标签交换(MPLS)标签(例如由自OpenFlowl.1以来的OpenFlow支持的MPLS标签处理)、虚拟局域网(VLAN)标识符、或任何其它合适类型的标识符来实现。
[0057]应当理解,新的流请求可以是新的流的第一分组(例如如关于在OpenFlow网络中的数据流的建立所描述的),或任何其它合适类型的新的流请求消息。
[0058]应当理解,为清楚起见,前面的描述假定第二网络单元122是第一网络单元122的一跳邻居。当第二网络单元122不是第一网络单元122的一跳邻居而是相反通过一个或多个中间网络单元122与第一网络单元122分离时,控制器127生成用于每一个中间网络单元122的流转发规则并向中间网络单元122转发该流转发规则,以使得第一网络单元122的新的流请求可经由中间网络单元122传播到第二网络单元122。例如,在第二网络单元122是第一网络单元122的两跳邻居并且中间网络单元122被选择以支持从第一网络单元122到第二网络单元122的流偏转时,控制器127向第一网络单元122发送第一流转发规则(例如,指示第一网络单元122以向中间网络单元122转发在第一网络单元122处接收的新的流请求),并且向中间网络单元122发送第二流转发规则(例如,指示中间网络单元122以向第二网络单元122转发在中间网络单元122处从第一网络单元122接收的新的流请求)。
[0059]应当理解,选择性流偏转的使用使的新的数据流能够被偏转到多个网络单元122。控制器127可以选择多个邻居网络单元122,生成用于多个邻居网络单元122的多个偏转规贝1J,并且在第一网络单元122上安装所述多个偏转规则。多个邻居网络单元122的选择可以以任何合适的方式来执行(例如生成候选邻居网络单元122的单个列表并从该候选邻居网络单元122的列表选择多个邻居网络单元122、生成候选邻居网络单元122的多个列表并从该候选邻居网络单元122的多个列表选择多个邻居网络单元122,等等)。
[0060]应当理解,由控制器127计算的用于新的数据流的数据路径可以或可以不包括第一网络单元122。可以预期的是,在良好连接的网络中,控制器127将能够识别用于不包括第一网络单元122 (或可能经历资源利用状况的任何其它网络单元122)的新的数据流的路径。然而,在没有很好连接的网络中或者甚至在连接良好的网络中的某些情况下,控制器127可确定数据路径必须或者应当穿过第一网络单元122(或者,如上述所指出的,可能经历资源利用状况的任何其它网络单元122)。在至少一些实施例中,其中计算出的用于新的数据流的数据路径包括经历资源利用状况的网络单元122、一个隧道或多个隧道(例如,一个或多个MPLS隧道或任何其它合适类型的隧道)可被配置以便使数据流的流量能够通过经历资源利用状况的网络单元122。
[0061]应当理解,虽然流偏转扩展了可用于共享的用于处理额外负载的资源的量,但是该可用资源量的扩展的达成可能以为偏转的流而计算和使用的数据路径的路径长度的增加为代价。在至少一些实施例中,控制器127可被配置以平衡这样的利益冲突。
[0062]控制器127被配置以持续监视用于当在第一网络单元122处的流偏转可被移除时进行确定的第一网络单元122,并且基于在第一网络单元122处的流偏转可被移除的确定,启动第一网络单元122处的流偏转的移除。
[0063]在第一网络单元122处的流偏转可被移除的确定可以基于在第一网络单元122上不再存在资源利用状况的确定(例如在第一网络单元122上的TCAM利用率下降到低于用来启动流偏转的阈值、在第一网络单元122上的CPU利用率下降到低于用来启动流偏转的阈值等)。
[0064]在第一网络单元122处的流偏转可被移除的确定可以基于在第一网络单元122处不同的资源利用状况被满足的确定。例如,基于在第一网络单元122处的TCAM利用率超过85%的确定,在第一网络单元122处启动流偏转,基于在第一网络单元122处的TCAM利用率下降到低于80%,可在第一网络单元122处移除流偏转。例如,基于在第一网络单元122处的CPU利用率超过92%的确定,在第一网络单元122处启动流偏转,基于在第一网络单元122处的CPU利用率下降到低于88%,可在第一网络单元122
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1