使用具有非受限字符的匹配模式操作负载均衡交换机和控制器的方法

文档序号:9925585阅读:399来源:国知局
使用具有非受限字符的匹配模式操作负载均衡交换机和控制器的方法
【专利说明】使用具有非受限字符的匹配模式操作负载均衡交换机和控制器的方法
技术领域
[0001]本公开涉及数据网络,更具体来说,涉及数据网络负载均衡和相关方法、控制器和交换机。
【背景技术】
[0002]在如今的高业务互联网中,令人满意的是具有表示共享负载的单个逻辑目的地服务器的多个服务器。典型配置可包括在负载均衡器背后有多个服务器以便确定哪个服务器将服务于客户端的请求。这种硬件是昂贵的,可具有严格的策略集,并且可能是单个故障点。利用连接到OpenFlow控制器(例如,Ν0Χ控制器)的OpenFlow交换机的备选负载均衡体系结构可提供增加的策略灵活性、降低的成本、和/或对于未来几代的交换机对故障更鲁棒的潜能。例如,下列文献对OpenFlow体系结构进行了论述:Uppal, Hardee等人的“OpenFlowBased Load Balancing,,,华盛屯页大学,http://people.cs.umass.edu/~hardeep/cse561_cse561_openf low_pro ject_report.pdf(7页,2013年6 月 27 日再版);McKeown,Nick 等人的 “OpenFlow: Enabling Innovat1n in Campus Networks,” http: / /sb.tmit.bme.hu/sonkoly/files/openflow/openflow-wp-latest.pdf(6]?,2008年3月14日);以及“OpenFlow Switch Specificat1n,” 实现的版本1.1.0(无线协议0x02)(56页,2011年2月28日)。以上所有参考文献的公开内容由此以引用的方式全文并入到本文。
[0003]OpenFlow交换机(又称为交换机)与具有用于执行分组查找和转发的流表的标准硬件交换机类似。差别在于如何在交换机的流表内插入以及更新流规则。标准交换机可将静态规则插入到交换机中,或者它可以是学习型交换机,其中交换机在了解机器是哪个接口(交换机端口)时将规则插入到它的流表中。反之,OpenFlow交换机利用外部OpenFlow控制器(又称为控制器)将规则添加到它的流表中。
[0004]OpenFlow控制器是负责将新规则添加到和/或移出OpenFlow交换机的流表的外部控制器(位于交换机的外部)ApenFlow交换机连接到控制器,并通过安全信道利用OpenFlow协议通信。OpenFlow的当前设计只可允许每个交换机一个控制器。在利用OpenF I οw的当前负载均衡器设计中,控制器决定交换机应当如何处理新流的分组。当新流到达交换机时,将分组重新引导到控制器,然后控制器决定交换机应当丢弃该分组还是将它转发给连接至交换机的机器。控制器还可删除或修改交换机中的现有流条目。
[0005]控制器可执行描述应当如何处理新流的模块。这可提供编写动态地将路由规则添加到交换机或从交换机删除路由规则并且可以使用不同策略来处理流的C++模块的界面。
[0006]OpenFlow交换机的流表条目包括报头字段、计数器和动作。每个流表条目存储以太网、IP和TCP/UDP报头信息。该信息包括目的地/源MAC和IP地址以及源/目的地TCP/UDP端口号。每个流表条目还保存每个流到达的分组和字节的数量的计数器。流表条目还可具有描述交换机将如何处理与流条目匹配的分组的一个或多个动作字段。一些动作包括:在所有输出端口上发送分组;在特定机器的输出端口上转发分组;以及修改分组报头(以太网、IP和TCP/UDP报头)。如果流条目不具有任何动作,那么默认地,交换机丢弃特定流的所有分组。
[0007]每个流条目还可具有期满时间,在期满时间之后,从流表删除该流条目。该期满时间基于流空闲的秒数以及流条目在流表中的时间总量(秒)。控制器可选择流条目永久地存在于流表中,或者可以设置计时器,当计时器到期时删除该流条目。
[0008]由于OpenFlow控制器位于相关联的OpenFlow交换机的外部(即,与它独立和/或远离它),所以对于控制器和交换机之间的通信,可能会导致延迟/等待时间,从而延迟将数据分组传送到预期服务器。

【发明内容】

[0009]因此,目的是解决上述缺点中的至少一些缺点和/或提高网络性能。例如,根据一些实施例,可减少负载均衡交换机和控制器之间的通信业务量,和/或可减小将数据分组传送到服务器的延迟。
[0010]根据一些实施例,可提供用于操作负载均衡系统中与多个服务器和控制器耦合的交换机的方法。可提供包括多个默认流条目的流表,其中所述多个默认流条目中的每个默认流条目包括相应的匹配模式,所述多个默认流条目的每个匹配模式不相同。所述多个默认流条目中的至少一个流条目可包括具有至少一个非受限字符的相应匹配模式,以使得多个数据流标识满足具有非受限字符的匹配模式。所述多个默认流条目中的每个默认流条目可包括将对具有满足相应匹配模式的数据流标识的数据分组执行的动作。可从客户端装置接收数据流的数据分组,其中数据分组包括数据流的数据流标识;并且可以标识所述多个默认流条目中具有数据流标识满足的匹配模式的默认流条目。可根据具有数据流标识满足的匹配模式的默认流条目的动作处理数据流的数据分组。
[0011 ]通过提供交换机流表的默认流条目,交换机能够将新数据流的第一数据分组传送给相应的合适服务器,而无需首先告知控制器并等待响应。此外,对于至少一些默认流条目在匹配模式中使用非受限(例如,通配符)字符可允许相对少量的默认流条目对将在交换机处接收的大多数(如果不是全部的话)数据流提供至少初始处理。
[0012]数据流标识满足的匹配模式可包括非受限字符,并且数据流的数据分组可以是数据流的第一数据分组。在处理数据流的第一数据分组之后,可在流表中安装数据流的专用流条目,其中专用流条目包括对于数据流的数据流标识特定的匹配模式。在安装数据流的专用流条目之后,可从客户端装置接收数据流的第二数据分组,其中数据流的第二数据分组包括数据流的数据流标识。可标识具有对于数据流的数据流标识特定的匹配模式的专用流条目,并且可根据包括对于数据流的数据流标识特定的匹配模式的专用流条目的动作处理数据流的第二数据分组。
[0013]因此,在利用默认数据流来初始处理数据流之后,可为例如相对高业务数据流提供专用流条目。相应地,可利用相应的默认数据流在没有显著延迟的情况下处理这种数据流的初始数据分组,并且一旦数据流明确需要(例如,一旦超过数据流的阈值业务量),便可在稍后安装相应的专用数据流。专用流条目还可用于在将默认流条目修改成指向新服务器期间/之后支持之前建立的数据流(指向旧服务器)。
[0014]数据流可以是第一数据流,数据流标识可以是第一数据流标识,并且客户端装置可以是第一客户端装置。在处理第二数据分组之后,可从第二客户端装置接收第二数据流的数据分组,其中第二数据流的数据分组包括第二数据流的第二数据流标识,其中第一和第二数据流标识不相同,并且其中第一和第二数据流标识满足默认流条目的匹配模式。可标识所述多个默认流条目中具有第一和第二数据流标识满足的匹配模式的默认流条目,并且可以根据具有第一和第二数据流标识满足的匹配模式的默认流条目的动作处理第二数据流的数据分组。
[0015]具有第一和第二数据流标识满足的匹配模式的默认流条目的动作可以是将匹配数据分组传送到所述多个服务器中由默认流条目标识的一个服务器,并且专用流条目的动作可以是将匹配数据分组传送到所述多个服务器中由专用流条目标识的那个服务器。处理第一数据流的第一数据分组可包括根据默认流条目的动作将第一数据流的第一数据分组传送到由默认流条目标识的服务器。处理第一数据流的第二数据分组可包括根据专用流条目的动作将第一数据流的第二数据分组传送到由专用流条目标识的服务器。处理第二数据流的数据分组可包括根据默认流条目的动作将第二数据流的数据分组传送到由默认流条目标识的服务器。
[0016]默认流条目和专用流条目可标识相同的服务器,以便将第一数据流的第一和第二数据分组以及第二数据流的数据分组传送到相同服务器。
[0017]处理第一数据流的第一数据分组还可包括将至少第一数据流标识传送到控制器,处理第一数据流的第二数据分组可包括将第二数据分组传送到服务器而不将第一数据流标识传送到控制器,并且处理第二数据流的数据分组可包括将至少第二数据流标识传送到控制器。
[0018]默认流条目的动作可以是将数据分组传送到由默认流条目标识的服务器并将至少数据流标识传送到控制器,并且处理数据流的数据分组可包括将数据分组传送到由默认流条目标识的服务器并将至少数据流的数据流标识传送到控制器。
[0019]数据流的数据分组可以是数据流的第一数据分组。在处理数据流的第一数据分组之后,可修改默认流条目,以使得默认流条目的动作是将至少数据流标识传送到控制器而不将数据分组传送到服务器。在修改默认流条目之后,可从客户端装置接收数据流的第二数据分组,其中数据流的第二数据分组包括数据流的数据流标识。可标识所述多个默认流条目中具有数据流标识满足的匹配模式的默认流条目,并且可以将至少来自数据流的第二数据分组的数据流标识传送到控制器,而不将数据分组传送到服务器。
[0020]数据流可以是第一数据流,数据流标识可以是第一数据流标识,客户端装置可以是第一客户端装置,并且由默认流条目标识的服务器可以是由默认流条目标识的第一服务器。在传送至少来自第二数据分组的数据流标识之后,可修改默认流条目以便标识不同于第一服务器的第二服务器,从而使得默认流条目的动作是将数据分组传送到由默认流条目标识的第二服务器并将至少数据流标识传送到控制器。在修改默认流条目以便标识第二服务器之后,可接收包括第二数据流的第二数据流标识的第二数据流的数据分组,其中第一和第二数据流标识不相同,并且其中第一和第二数据流标识满足默认流条目的匹配模式。可标识所述多个默认流条目中具有第一和第二数据流标识满足的匹配模式的默认流条目,并且可根据默认流条目的动作处理第二数据流的数据分组,以便将数据分组传送到第二服务器,并将至少第二数据流标识传送到控制器。
[0021]处理第二数据流的数据分组还可包括将通过交换机将第二数据流的数据分组传送到第二服务器的指示传送到控制器。
[0022]处理数据流的数据分组可包括将数据流的数据分组传送到由默认流条目标识的服务器。
[0023]处理数据流的数据分组还可包括将至少数据流标识传送到控制器。
[0024]数据流标识可包括互联网协议(IP)源地址。
[0025]根据一些其它实施例,一种负载均衡交换机可包括:控制器接口,配置成提供与负载均衡控制器的通信;服务器接口,配置成提供与多个服务器的通信;网络接口,配置成通过网络提供与多个客户端装置的通信;存储器;以及耦合到控制器接口、服务器接口、网络接口和存储器的交换机处理器。存储器可配置成提供包括多个默认流条目的流表,其中所述多个默认流条目中的每个默认流条目包括相应的匹配模式,所述多个默认流条目的每个匹配模式不不同;并且其中所述多个默认流条目中的至少一个默认流条目包括具有至少一个非受限字符的相应匹配模式,以使得多个数据流标识满足具有非受限字符的匹配模式;并且其中所述多个默认流条目中的每个默认流条目包括将对具有满足相应匹配模式的数据流标识的数据分组执行的动作。交换机处理器可配置成:通过网络接口从客户端装置接收数据流的数据分组,其中数据分组包括数据流的数据流标识;标识所述多个默认流条目中具有数据流标识满足的匹配模式的默认流条目;以及根据具有数据流标识满足的匹配模式的默认流条目的动作处理数据流的数据分组。动作可包括以下至少其中之一:通过服务器接口将数据分组传送到所述多个服务器中由默认流条目标识的服务器;和/或通过控制器接口将至少数据流标识传送到控制器。
[0026]根据其它实施例,可提供一种用于操作负载均衡系统中与交换机耦合的控制器的方法,其中交换机提供定义对所接收的数据分组的处理的流表。可传送在交换机处的流表中安装多个默认流条目的至少一个指令,其中所述多个默认流条目中的每个默认流条目包括相应的匹配模式,所述多个默认流条目的每个匹配模式不相同;并且其中所述多个默认流条目中的至少一个默认流条目包括具有至少一个非受限字符的相应匹配模式,以使得多个数据流标识满足具有非受限字符的匹配模式;并且其中所述多个默认流条目中的每个默认流条目包括将对具有满足相应匹配模式的数据流标识的数据分组执行的动作。可从交换机接收数据流标识以及通过交换机将相关联的数据分组传送到服务器的指示、服务器的标识和用于处理数据分组的默认流条目的标识。可将数据流的条目添加到流服务器映射表,以使得数据流的条目包括数据流标识、服务器的标识和默认流条目的匹配模式。
[0027]用于处理数据分组的默认流条目可包括非受限字符,并且数据流标识可以是第一数据流标识。在接收第一数据流标识并将数据流的条目添加到流服务器映射表之后,可传送在交换机处的流表中安装数据流的专用流条目的指令,其中专用流条目包括对于数据流的数据流标识特定的匹配模式和服务器的标识。
[0028]专用流条目可包括将匹配数据分组传送给服务器而不将数据流标识传送给控制器的指示。
[0029]在接收第一数据流标识并将数据流的条目添加到流服务器映射表之后,可传送修改默认流条目的指令,以便将匹配数据分组的数据流标识传送给控制器而不将匹配数据分组传送给服务器,同时保存默认流条目的第一服务器标识。
[0030]在传送安装数据流的专用流条目的指令之后以及在传送修改默认流条目的指令之后,可从交换机接收数据流标识以及不通过交换机将相关联的数据分组传送给服务器的指示。响应于与数据流标识对应的数据流的条目包含在流服务器映射表中,可启动将相关联的数据分组传送给服务器。
[0031]数据流标识可以是第一数据流标识。在传送安装数据流的专用流条目的指令之后以及在传送修改默认流条目的指令之后,可从交换机接收第二数据流标识以及不通过交换机将相关联的数据分组传送给服务器的指示,其中第一和第二数据流标识不相同。响应于从流服务器映射表漏掉第二数据流,可将第二数据流的条目添加到流服务器映射表,以使得第二数据流的条目包括第二数据流标识、服务器的标识和默认流条目的匹配模式。可传送在交换机处的流表中安装第二数据流的第二专用流条目的指令,其中第二专用流条目包括对于第二数据流的第二数据流标识特定的匹配模式和服务器的标识。响应于与数据流标识对应的数据流的条目包含在流服务器映射表中,可启动将相关联的数据分组传送给服务器。
[0032]数据流标识可以是第一数据流标识。在传送安装数据流的专用流条目的指令之后以及在传送修改默认流条目的指令之后,可从交换机接收第二数据流标识以及通过交换机将相关联的数据分组传送给服务器的指示,其中第一和第二数据流标识不相同。响应于从流服务器映射表漏掉第二数据流,可将第二数据流的条目添加到流服务器映射表,以使得第二数据流的条目包括第二数据流标识、服务器的标识和默认流条目的匹配模式。可传送在交换机处的流表中安装第二数据流的第二专用流条目的指令,其中第二专用流条目包括对于第二数据流的第二数据流标识特定的匹配模式和服务器的标识。
[0033]修改默认流条目的指令可以是修改默认流条目的第一指令。在传送修改默认流条目的第一指令之后,可传送修改默认流条目的第二指令,以便提供不同于第一服务器标识的第二服务器的第二服务器标识,将匹配数据分组传送给第二服务器,并将匹配数据分组的数据流标识传送给控制器。
[0034]根据其它实施例,一种负载均衡控制器可包括:交换机接口,配置成提供与负载均衡交换机的通信,其中负载均衡交换机包括用于定义对所接收的数据分组的处理的流表;存储器,配置成提供流服务器映射表;以及耦合到交换机接口和存储器的处理器。处理器可配置成通过交换机接口传送在交换机处的流表中安装多个默认流条目的至少一个指令,其中所述多个默认流条目中的每个默认流条目包括相应的匹配模式,所述多个默认流条目的每个匹配模式不相同;并且其中所述多个默认流条目中的至少一个默认流条目包括具有至少一个非受限字符的相应匹配模式,以使得多个数据流标识满足具有非受限字符的匹配模式;并且其中所述多个默认流条目中的每个默认流条目包括将对具有满足相应匹配模式的数据流标识的数据分组执行的动作。处理器还可配置成从交换机接收数据流标识以及通过交换机将
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1