WO2015161409A1 - 一种负载均衡的实现方法及设备、系统 - Google Patents

一种负载均衡的实现方法及设备、系统 Download PDF

Info

Publication number
WO2015161409A1
WO2015161409A1 PCT/CN2014/075802 CN2014075802W WO2015161409A1 WO 2015161409 A1 WO2015161409 A1 WO 2015161409A1 CN 2014075802 W CN2014075802 W CN 2014075802W WO 2015161409 A1 WO2015161409 A1 WO 2015161409A1
Authority
WO
WIPO (PCT)
Prior art keywords
output port
entry
flow
switch
forwarding
Prior art date
Application number
PCT/CN2014/075802
Other languages
English (en)
French (fr)
Inventor
林科
李泉材
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201480000471.0A priority Critical patent/CN105210332B/zh
Priority to PCT/CN2014/075802 priority patent/WO2015161409A1/zh
Publication of WO2015161409A1 publication Critical patent/WO2015161409A1/zh
Priority to US15/299,667 priority patent/US10341235B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Definitions

  • the forwarding flow entry is further The identifier information of the service and the identifier of the meter entry corresponding to the target output port are included.
  • the forwarding flow entry is further The identifier information of the service and the identifier of the meter entry corresponding to the target output port are included.
  • the output module is further configured to send the second flow entry and the meter entry of each output port to the switch.
  • the forwarding flow entry may further include the identifier information of the service (such as the TCP port number of the service, and the identifier of the meter entry corresponding to the target output port.
  • the forwarding flow entry is further The source address information of the service and the destination address information of the service may be included in the embodiment of the present invention.
  • the controller receives the write value sent by the switch.
  • the write value is a write value corresponding to the real-time flow rate of each output port determined by the switch according to the second flow entry and the meter entry of each output port, where each output port is
  • the meter entry may include at least one preset rate value and a write value corresponding to each preset rate value
  • the second flow entry may include an identifier of the meter entry of each output port, and a meter for executing each output port
  • the command of the item and the command to report the traffic to the controller, and the second flow entry corresponds to the service to which the traffic received by the switch belongs.
  • the controller may determine a rate range of the real-time flow rate of each output port on the switch according to the written value, and analyze the rate range of the real-time flow rate of the different output ports.
  • the most idle output port of the switch's output port, and the controller allocates the most idle output port to the switch as the forwarding path for the switch to forward traffic, thus achieving load balancing.
  • the controller creates a second flow entry corresponding to the service to which the traffic received by the switch belongs, and a meter entry of each output port.
  • the input module 1003 is configured to receive a forwarding flow entry sent by the controller.
  • the determining module 1302 is configured to determine a real-time streaming rate of each output port based on the written value.
  • the forwarding flow entry may include an identifier of a target output port for forwarding traffic.
  • the controller 1502 may be further configured to create a second flow entry corresponding to the service to which the traffic received by the switch 1501 belongs, and a meter entry of each output port, and send the switch to the switch 1501.
  • the switch 1501 is further configured to receive the second flow entry sent by the controller 1502 and the meter entry of each output port.
  • the forwarding flow entry may further include identifier information of the service and an identifier of the meter entry of the target output port.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种负载均衡的实现方法及设备、系统,该方法包括当不存在用于转发交换机接收到的流量的第一流表项时,交换机根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值并向控制器发送写入值,以使控制器根据写入值确定每个输出端口的实时流速率,并创建用于转发该流量的转发流表项,之后,交换机接收控制器发送的转发流表项并利用转发流表项中的目标输出端口转发该流量。实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现负载均衡。

Description

一种负载均衡的实现方法及设备、 系统 技术领域
本发明涉及计算机网络技术领域,具体涉及一种负载均衡的实现方法及设 备、 系统。 背景技术
SDN ( Software Defined Network, 软件定义网络)是一种新型网络架构, 其包括的技术 OpenFlow通过将网络设备的控制面与转发面分离实现了对网络 流量的灵活控制, 这使得负载均衡的实现变得更加简单。 其中, 负载均衡的实 现原理是控制面的控制器基于网络流量为不同的数据流分配不同的转发路径, 而转发面的交换机则根据接收到的来自控制器的转发路径处理数据流,从而实 现负载均衡。
现有技术中,控制器是根据交换机上的流速率来分配转发路径的, 最常用 的统计流速率的方法是控制器周期性的向交换机发送用于查询任一条路径(即 交换机的输出端口)上的流命中次数的请求消息, 然后根据相邻两次查询结果 的差值与该相邻两次查询的时间差计算出该路径的流速率,但是这种统计方法 计算出的流速率不是实时流速率, 这导致了控制器分配的转发路径不准确, 进 而不能很好的实现负载均衡。 发明内容
本发明实施例公开了一种负载均衡的实现方法及设备、 系统, 用于解决现 有技术中由于获取到的流速率不是实时流速率而导致控制器分配的转发路径 不准确, 进而不能很好的实现负载均衡的问题。
本发明实施例第一方面公开了一种负载均衡的实现方法, 包括: 当不存在用于转发交换机接收到的流量的第一流表项时,所述交换机根据 第二流表项和每个输出端口的计表项确定所述每个输出端口的实时流速率对 应的写入值, 其中, 所述每个输出端口的计表项包括至少一个预设速率值以及 每个所述预设速率值对应的写入值,所述第二流表项与所述流量所属的业务对 应,且所述第二流表项包括执行所述每个输出端口的计表项的命令以及上报所 述流量到控制器的命令;
所述交换机向所述控制器发送所述流量的上报信息,所述上报信息包括所 述每个输出端口的实时流速率对应的写入值,以使所述控制器根据所述写入值 确定所述每个输出端口的实时流速率, 并创建用于转发所述流量的转发流表 项, 所述转发流表项包括用于转发所述流量的目标输出端口的标识;
所述交换机接收所述控制器发送的所述转发流表项;
所述交换机利用所述转发流表项中的所述目标输出端口转发所述流量。 在本发明实施例第一方面的第一种可能的实现方式中,所述交换机根据第 二流表项和每个输出端口的计表项确定所述每个输出端口的实时流速率对应 的写入值之前, 所述方法还包括:
所述交换机接收所述控制器发送的所述第二流表项以及所述每个输出端 口的计表项。
结合本发明实施例第一方面或本发明实施例第一方面的第一种可能的实 现方式,在本发明实施例第一方面的第二种可能的实现方式中, 所述转发流表 项还包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
结合本发明实施例第一方面的第二种可能的实现方式,在本发明实施例第 一方面的第三种可能的实现方式中,所述交换机根据第二流表项和每个输出端 口的计表项确定所述每个输出端口的实时流速率对应的写入值包括:
所述交换机根据所述第二流表项包括的所述每个输出端口的计表项的标 识获取所述每个输出端口的计表项;
所述交换机根据所述每个输出端口的实时流速率从所述每个输出端口的 计表项的所述预设速率值中查询出小于所述实时流速率的最大速率值;
所述交换机确定每个所述最大速率值对应的写入值,以作为所述每个输出 端口的实时流速率对应的写入值。
结合本发明实施例第一方面,在本发明实施例第一方面的第四种可能的实 现方式中,所述交换机根据第二流表项和每个输出端口的计表项确定所述每个 输出端口的实时流速率对应的写入值之前, 所述方法还包括: 所述交换机接收到所述流量后查询是否存在用于转发所述流量的第一流 表项, 所述第一流表项包括用于转发所述流量的输出端口的标识。
结合本发明实施例第一方面或本发明实施例第一方面的第一种可能的实 现方式或第二种可能的实现方式或第三种可能的实现方式或第四种可能的实 现方式,在本发明实施例第一方面的第五种可能的实现方式中, 所述每个输出 端口的计表项中的写入值釆用写元数据的方式进行记录。
本发明实施例第二方面公开了一种负载均衡的实现方法, 包括: 控制器接收交换机发送的写入值,所述写入值是所述交换机根据第二流表 项和每个输出端口的计表项确定出的所述每个输出端口的实时流速率对应的 写入值, 其中, 所述每个输出端口的计表项包括至少一个预设速率值以及每个 所述预设速率值对应的写入值,所述第二流表项与所述交换机接收到的流量所 属的业务对应,且所述第二流表项包括执行所述每个输出端口的计表项的命令 以及上报所述流量到所述控制器的命令;
所述控制器根据所述写入值确定所述每个输出端口的实时流速率,并创建 用于转发所述流量的转发流表项,所述转发流表项包括用于转发所述流量的目 标输出端口的标识;
所述控制器向所述交换机发送所述转发流表项,以使所述交换机利用所述 转发流表项中的所述目标输出端口转发所述流量。
在本发明实施例第二方面的第一种可能的实现方式中,所述控制器接收交 换机发送的写入值之前, 所述方法还包括:
控制器创建所述第二流表项以及所述每个输出端口的计表项;
所述控制器向所述交换机发送所述第二流表项以及所述每个输出端口的 计表项。
结合本发明实施例第二方面或本发明实施例第二方面的第一种可能的实 现方式,在本发明实施例第二方面的第二种可能的实现方式中, 所述转发流表 项还包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
本发明实施例第三方面公开了一种交换机, 包括:
确定模块,用于当不存在用于转发所述交换机接收到的流量的第一流表项 时,根据第二流表项和每个输出端口的计表项确定所述每个输出端口的实时流 速率对应的写入值, 其中, 所述每个输出端口的计表项包括至少一个预设速率 值以及每个所述预设速率值对应的写入值,所述第二流表项与所述流量所属的 业务对应,且所述第二流表项包括执行所述每个输出端口的计表项的命令以及 上报所述流量到控制器的命令;
第一输出模块, 用于向所述控制器发送所述流量的上报信息, 所述上报信 息包括所述每个输出端口的实时流速率对应的写入值,以使所述控制器根据所 述写入值确定所述每个输出端口的实时流速率,并创建用于转发所述流量的转 发流表项, 所述转发流表项包括用于转发所述流量的目标输出端口的标识; 输入模块, 用于接收所述控制器发送的所述转发流表项;
第二输出模块,用于利用所述转发流表项中的所述目标输出端口转发所述 流量。
在本发明实施例第三方面的第一种可能的实现方式中, 所述输入模块,还 用于接收所述控制器发送的所述第二流表项以及所述每个输出端口的计表项。
结合本发明实施例第三方面或本发明实施例第三方面的第一种可能的实 现方式,在本发明实施例第三方面的第二种可能的实现方式中, 所述转发流表 项还包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
结合本发明实施例第三方面的第二种可能的实现方式,在本发明实施例第 三方面的第三种可能的实现方式中, 所述确定模块包括:
获取子模块,用于根据所述第二流表项包括的所述每个输出端口的计表项 的标识获取所述每个输出端口的计表项;
查询子模块,用于根据所述每个输出端口的实时流速率从所述每个输出端 口的计表项的所述预设速率值中查询出小于所述实时流速率的最大速率值; 确定子模块, 用于确定每个所述最大速率值对应的写入值, 以作为所述每 个输出端口的实时流速率对应的写入值。
结合本发明实施例第三方面,在本发明实施例第三方面的第四种可能的实 现方式中, 所述交换机还包括:
查询模块,用于在所述交换机接收到所述流量后查询是否存在用于转发所 述流量的第一流表项,所述第一流表项包括用于转发所述流量的输出端口的标 结合本发明实施例第三方面或本发明实施例第三方面的第一种可能的实 现方式或第二种可能的实现方式或第三种可能的实现方式或第四种可能的实 现方式,在本发明实施例第三方面的第五种可能的实现方式中, 所述每个输出 端口的计表项中的写入值釆用写元数据的方式进行记录。
本发明实施例第四方面公开了一种交换机, 包括存储器和处理器, 所述存 储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代 码, 用于执行以下操作:
当不存在用于转发所述交换机接收到的流量的第一流表项时,根据第二流 表项和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写 入值, 其中, 所述每个输出端口的计表项包括至少一个预设速率值以及每个所 述预设速率值对应的写入值, 所述第二流表项与所述流量所属的业务对应,且 所述第二流表项包括执行所述每个输出端口的计表项的命令以及上报所述流 量到控制器的命令;
向所述控制器发送所述流量的上报信息,所述上报信息包括所述每个输出 端口的实时流速率对应的写入值,以使所述控制器根据所述写入值确定所述每 个输出端口的实时流速率, 并创建用于转发所述流量的转发流表项, 所述转发 流表项包括用于转发所述流量的目标输出端口的标识;
接收所述控制器发送的所述转发流表项;
利用所述转发流表项中的所述目标输出端口转发所述流量。
在本发明实施例第四方面的第一种可能的实现方式中,所述处理器根据第 二流表项和每个输出端口的计表项确定所述每个输出端口的实时流速率对应 的写入值之前, 所述处理器调用所述存储器中存储的程序代码还执行以下操 作:
接收所述控制器发送的所述第二流表项以及所述每个输出端口的计表项。 结合本发明实施例第四方面或本发明实施例第四方面的第一种可能的实 现方式,在本发明实施例第四方面的第二种可能的实现方式中, 所述转发流表 项还包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
结合本发明实施例第四方面的第二种可能的实现方式,在本发明实施例第 四方面的第三种可能的实现方式中,所述处理器根据第二流表项和每个输出端 口的计表项确定所述每个输出端口的实时流速率对应的写入值的方式具体为: 根据所述第二流表项包括的所述每个输出端口的计表项的标识获取所述 每个输出端口的计表项;
根据所述每个输出端口的实时流速率从所述每个输出端口的计表项的所 述预设速率值中查询出小于所述实时流速率的最大速率值;
确定每个所述最大速率值对应的写入值,以作为所述每个输出端口的实时 流速率对应的写入值。
结合本发明实施例第四方面,在本发明实施例第四方面的第四种可能的实 现方式中,所述处理器根据第二流表项和每个输出端口的计表项确定所述每个 输出端口的实时流速率对应的写入值之前,所述处理器调用所述存储器中存储 的程序代码还执行以下操作:
接收到所述流量后查询是否存在用于转发所述流量的第一流表项,所述第 一流表项包括用于转发所述流量的输出端口的标识。
结合本发明实施例第四方面或本发明实施例第四方面的第一种可能的实 现方式或第二种可能的实现方式或第三种可能的实现方式或第四种可能的实 现方式,在本发明实施例第四方面的第五种可能的实现方式中, 所述每个输出 端口的计表项中的写入值釆用写元数据的方式进行记录。
本发明实施例第五方面公开了一种控制器, 包括:
输入模块, 用于接收交换机发送的写入值, 所述写入值是所述交换机根据 第二流表项和每个输出端口的计表项确定出的所述每个输出端口的实时流速 率对应的写入值,其中, 所述每个输出端口的计表项包括至少一个预设速率值 以及每个所述预设速率值对应的写入值,所述第二流表项与所述交换机接收到 的流量所属的业务对应,且所述第二流表项包括执行所述每个输出端口的计表 项的命令以及上报所述流量到所述控制器的命令;
确定模块, 用于根据所述写入值确定所述每个输出端口的实时流速率; 创建模块,用于根据所述每个输出端口的实时流速率创建用于转发所述流 量的转发流表项,所述转发流表项包括用于转发所述流量的目标输出端口的标 识;
输出模块, 用于向所述交换机发送所述转发流表项, 以使所述交换机利用 所述转发流表项中的所述目标输出端口转发所述流量。
在本发明实施例第五方面的第一种可能的实现方式中, 所述创建模块,还 用于创建所述第二流表项以及所述每个输出端口的计表项;
所述输出模块,还用于向所述交换机发送所述第二流表项以及所述每个输 出端口的计表项。
结合本发明实施例第五方面或本发明实施例第五方面的第一种可能的实 现方式,在本发明实施例第五方面的第二种可能的实现方式中, 所述转发流表 项还包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
本发明实施例第六方面公开了一种控制器, 包括存储器和处理器, 所述存 储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代 码, 用于执行以下操作:
接收交换机发送的写入值,所述写入值是所述交换机根据第二流表项和每 个输出端口的计表项确定出的所述每个输出端口的实时流速率对应的写入值, 其中,所述每个输出端口的计表项包括至少一个预设速率值以及每个所述预设 速率值对应的写入值,所述第二流表项与所述交换机接收到的流量所属的业务 对应,且所述第二流表项包括执行所述每个输出端口的计表项的命令以及上报 所述流量到所述控制器的命令;
根据所述写入值确定所述每个输出端口的实时流速率,并创建用于转发所 述流量的转发流表项,所述转发流表项包括用于转发所述流量的目标输出端口 的标识;
向所述交换机发送所述转发流表项,以使所述交换机利用所述转发流表项 中的所述目标输出端口转发所述流量。
在本发明实施例第六方面的第一种可能的实现方式中,所述处理器接收交 换机发送的写入值之前,所述处理器调用所述存储器中存储的程序代码还执行 以下操作:
创建所述第二流表项以及所述每个输出端口的计表项;
向所述交换机发送所述第二流表项以及所述每个输出端口的计表项。 结合本发明实施例第六方面或本发明实施例第六方面的第一种可能的实 现方式,在本发明实施例第六方面的第二种可能的实现方式中, 所述转发流表 项还包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。 本发明实施例第七方面公开了一种负载均衡的实现系统,包括交换机和控 制器, 其中:
所述交换机,用于当不存在用于转发所述交换机接收到的流量的第一流表 项时,根据第二流表项和每个输出端口的计表项确定所述每个输出端口的实时 流速率对应的写入值, 其中, 所述每个输出端口的计表项包括至少一个预设速 率值以及每个所述预设速率值对应的写入值,所述第二流表项与所述流量所属 的业务对应,且所述第二流表项包括执行所述每个输出端口的计表项的命令以 及上报所述流量到所述控制器的命令, 向所述控制器发送所述流量的上报信 息, 所述上报信息包括所述每个输出端口的实时流速率对应的写入值, 并接收 所述控制器发送的所述转发流表项,以及利用所述转发流表项中的所述目标输 出端口转发所述流量;
所述控制器, 用于接收所述交换机发送的所述写入值,根据所述写入值确 定所述每个输出端口的实时流速率,并创建用于转发所述流量的所述转发流表 项, 以及向所述交换机发送所述转发流表项, 以使所述交换机利用所述转发流 表项中的所述目标输出端口转发所述流量。
在本发明实施例第七方面的第一种可能的实现方式中, 所述控制器,还用 于创建所述第二流表项以及所述每个输出端口的计表项,并向所述交换机发送 所述第二流表项以及所述每个输出端口的计表项;
所述交换机,还用于接收所述控制器发送的所述第二流表项以及所述每个 输出端口的计表项。
结合本发明实施例第七方面或本发明实施例第七方面的第一种可能的实 现方式,在本发明实施例第七方面的第二种可能的实现方式中, 所述转发流表 项还包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
结合本发明实施例第七方面的第二种可能的实现方式,在本发明实施例第 七方面的第二种可能的实现方式中,所述交换机根据第二流表项和每个输出端 口的计表项确定所述每个输出端口的实时流速率对应的写入值的方式具体为: 所述交换机根据所述第二流表项包括的所述每个输出端口的计表项的标 识获取所述每个输出端口的计表项,并根据所述每个输出端口的实时流速率从 所述每个输出端口的计表项的所述预设速率值中查询出小于所述实时流速率 的最大速率值, 以及确定每个所述最大速率值对应的写入值, 以作为所述每个 输出端口的实时流速率对应的写入值。
结合本发明实施例第七方面,在本发明实施例第七方面的第四种可能的实 现方式中,所述交换机根据第二流表项和每个输出端口的计表项确定所述每个 输出端口的实时流速率对应的写入值之前, 所述交换机,还用于在接收到流量 后查询是否存在用于转发所述流量的第一流表项,所述第一流表项包括用于转 发所述流量的输出端口的标识。
结合本发明实施例第七方面或本发明实施例第七方面的第一种可能的实 现方式或第二种可能的实现方式或第三种可能的实现方式或第四种可能的实 现方式,在本发明实施例第七方面的第五种可能的实现方式中, 所述每个输出 端口的计表项中的写入值釆用写元数据的方式进行记录。
本发明实施例中, 当不存在用于转发交换机接收到的流量的第一流表项 时,交换机根据第二流表项和每个输出端口的计表项确定每个输出端口的实时 流速率对应的写入值并向控制器发送写入值,以使控制器根据写入值确定每个 输出端口的实时流速率, 并创建用于转发该流量的转发流表项, 之后, 交换机 接收控制器发送的转发流表项并利用转发流表项中的目标输出端口转发该流 量。实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速率 范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现负 载均衡。 附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要 使用的附图作简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的一 些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还 可以根据这些附图获得其他的附图。
图 1是本发明实施例公开的一种负载均衡的实现方法的流程示意图; 图 2是本发明实施例公开的另一种负载均衡的实现方法的流程示意图; 图 3是本发明实施例公开的又一种负载均衡的实现方法的流程示意图; 图 4是本发明实施例公开的又一种负载均衡的实现方法的流程示意图; 图 5是本发明实施例公开的又一种负载均衡的实现方式的流程示意图; 图 6是本发明实施例公开的一种计表项的结构示意图;
图 7是本发明实施例公开的一种通过流表项级联绑定多条计表项的结构示 意图;
图 8是本发明实施例公开的一种第二流表项的结构示意图;
图 9是本发明实施例公开的一种转发流表项的结构示意图;
图 10是本发明实施例公开的一种交换机的结构示意图;
图 11是本发明实施例公开的另一种交换机的结构示意图;
图 12是本发明实施例公开的又一种交换机的结构示意图;
图 13是本发明实施例公开的一种控制器的结构示意图;
图 14是本发明实施例公开的另一种控制器的结构示意图;
图 15是本发明实施例公开的一种负载均衡的实现系统的结构示意图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
本发明实施例公开了一种负载均衡的实现方法及设备、 系统, 可以使控制 器获取交换机输出端口的实时流速率的速率范围并根据获取到的实时流速率 的速率范围分配转发路径,从而更好的实现负载均衡。以下分别进行详细说明。
请参阅图 1,图 1是本发明实施例公开的一种负载均衡的实现方法的流程示 意图。 如图 1所示, 该方法可以包括以下步骤:
S101、 当不存在用于转发交换机接收到的流量的第一流表项时, 交换机根 据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应 的写入值。
本发明实施例中, 第一流表项可以包括用于转发流量的输出端口的标识。 本发明实施例中, 交换机的每个输出端口都有一个与之对应的计表项,且 每个计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值, 第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表 项的命令以及上报流量到控制器的命令,且第二流表项与交换机接收到的流量 所属的业务对应。
本发明实施例中,计表项包括的预设速率值的个数越多,控制器分析出的 实时流速率的速率范围越精确,且每个预设速率值对应的写入值的范围可以是
O - l64-! , 本发明实施例不做限定。
作为一种可选的实施方式,交换机根据第二流表项和每个输出端口的计表 项确定每个输出端口的实时流速率对应的写入值的方式可以具体为:
交换机根据第二流表项包括的每个输出端口的计表项的标识获取每个输 出端口的计表项;
交换机根据每个输出端口的实时流速率从每个输出端口的计表项的预设 速率值中查询出小于实时流速率的最大速率值;
交换机确定每个最大速率值对应的写入值,以作为每个输出端口的实时流 速率对应的写入值。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以釆用写 元数据的方式进行记录。
本发明实施例可以釆用以下方法使得交换机在获取每个输出端口的计表 项后依次根据计表项的标识从每个输出端口的计表项的预设速率值中查询出 小于每个输出端口的实时流速率的最大速率值: 第一、通过流表项级联绑定多 条计表项的方式,如图 7所示, 图 7是本发明实施例公开的一种通过流表项级联 绑定多条计表项的结构示意图; 第二、 通过修改 OpenFlow的协议以使计表项 作为一种特殊的操作。
本发明实施例中, 在 OpenFlow协议中的 meter的操作类型中增加了 WRITE_METADATA操作, 该操作可以在不同的速率值下写入不同的 write_metadata值, 增加了 WRITE_METADATA操作的 meter可以如下所示: enum ofp_meter_band_type {
OFPMBT_DROP = 1 , /*丟弃数据包 */ OFPMBT_DSCP_REMARK = 2, /* 减少数据包的 IP头中字段丟弃的 优先级 */
OFPMBT_WRITE_METADATA = 3, /*为实现负载均衡而增加的写入 操作 */
OFPMBT_EXPERIMENTER = OxFFFF /* 厂家自定义的 meter类型 */ 其中 , OFPMBT_WRITE_METADATA是为 了 实现负载均衡而增加的 WRITE—METADATA操作。
举例来说, 假设交换机有三个输出端口 (即三条转发路径): 输出端口 1、 输出端口 2以及输出端口 3,每个输出端口的计表项可以如图 6所示, 图 6是本发 明实施例公开的一种计表项的结构示意图, 图 6中的计表项 1、 计表项 2以及计 表项 3分别是输出端口 1、 输出端口 2以及输出端口 3的计表项, 如图 6所示, 每 个计表项可以包括计表项的标识 meter_id ( 101、 102、 103 )、 三个预设速率 rate 值( 100,000kbps、 500,000kbps、 800,000kbps ) 以及每个预设速率值对应的写 入值 write_metadata, 图 6中一个计表项中的三个预设速率值对应的写入值不 同, 且不同计表项的相同预设速率值对应的写入值也不同。 举例来说, 本发明 实施例中的第二流表项可以如图 8所示,图 8是本发明实施例公开的一种第二流 表项的结构示意图,如图 8所示,第二流表项可以包括业务的 TCP端口号 tcp_dst ( 1234 )以及交换机的每个输出端口的计表项的标识 meter_id( 101、 102、 103 )。
举例来说, 假设交换机当前处理业务八的1^?端口号为 1234, 且通过硬件 检测到的交换机的三个输出端口上业务 A的实时流速率分别为 600,000kbps、 200,000kbps以及 900,000kbps, 计表项以及第二流表项分别如图 6及图 8所示, 则交换机根据预先存储的第二流表项和每个输出端口的计表项获取每个输出 端口的实时流速率对应的写入值的方式可以具体为:
交换机首先从第二流表项获取到每个输出端口的计表项的标识( 101、 102、 103 ), 然后根据计表项的标识找到每个输出端口的计表项, 并从每个计表项的 预设速率值中查询出小于与计表项对应的输出端口的实时流速率的最大速率 值, 交换机查询出的最大速率值分别为 500,000kbps、 100,000kbps以及 800,000kbps, 之后交换机获取每个最大速率值对应的写入值, 且交换机获取 到的写入值分别为 000010、 000100以及 110000。 5102、 交换机向控制器发送流量的上报信息。
本发明实施例中,上报信息包括步骤 S101中确定出的每个输出端口的实时 流速率对应的写入值。
本发明实施例中,交换机可以以 packet_in的方式向控制器发送流量的上报 信息,以使控制器根据写入值确定每个输出端口的实时流速率并创建用于转发 流量的转发流表项, 转发流表项可以包括用于转发流量的目标输出端口的标 识。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息(如业 务的 TCP端口号等)以及目标输出端口对应的计表项的标识, 可选的, 转发流 表项还可以包括业务的源地址信息以及业务的目的地址信息等,本发明实施例 不做限定。
举例来说, 本发明实施例中的转发流表项可以如图 9所示, 图 9是本发明实 施例公开的一种转发流表项的结构示意图, 如图 9所示, 该转发流表项包括业 务的标识信息(如业务的 TCP端口号)、 业务的源地址信息 ip_src、 业务的目的 地址信息 ip_dst、 用于转发流量的目标输出端口的标识以及目标输出端口的计 表项的标识。本发明实施例中, 目标输出端口的计表项的标识能够使该转发流 表项实时检测该目标输出端口上的实时流速率。
本发明实施例中,控制器接收到写入值后,根据写入值可以获取到交换机 上每个输出端口的实时流速率的速率范围, 如输出端口 1的实时流速率的速率 范围是小于 800,000kbps且大于 500,000kbps, 输出端口 2的实时流速率的速率范 围是小于 500,000kbps且大于 100,000kbps, 输出端口 3的实时流速率的速率范围 是大于 800,000kbps, 从不同输出端口的实时流速率的速率范围可以分析出输 出端口 2是三个输出端口中最为空闲的输出端口, 且控制器为交换机分配输出 端口 2作为交换机转发流量的转发路径, 从而实现负载均衡。
5103、 交换机接收控制器发送的转发流表项。
5104、 交换机利用转发流表项中的目标输出端口转发流量。
本发明实施例中, 当不存在用于转发交换机接收到的流量的第一流表项 时,交换机根据第二流表项和每个输出端口的计表项确定每个输出端口的实时 流速率对应的写入值并向控制器发送写入值,以使控制器根据写入值确定每个 输出端口的实时流速率, 并创建用于转发该流量的转发流表项, 之后, 交换机 接收控制器发送的转发流表项并利用转发流表项中的目标输出端口转发该流 量。实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速率 范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现负 载均衡。 请参阅图 2,图 2是本发明实施例公开的另一种负载均衡的实现方法的流程 示意图。 如图 2所示, 该方法可以包括以下步骤:
5201、 交换机接收控制器发送的第二流表项以及每个输出端口的计表项。 本发明实施例中, 交换机的每个输出端口都有一个与之对应的计表项,且 每个计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值, 第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表 项的命令以及上报流量到控制器的命令,且第二流表项与交换机接收到的流量 所属的业务对应。
本发明实施例中,计表项包括的预设速率值的个数越多,控制器分析出的 实时流速率的速率范围越精确,且每个预设速率值对应的写入值的范围可以是 O - l64-! , 本发明实施例不做限定。
5202、 交换机接收到流量后查询是否存在用于转发流量的第一流表项。 本发明实施例中, 第一流表项可以包括用于转发流量的输出端口的标识。 本发明实施例中,若步骤 S202的查询结果为是,则交换机利用第一流表项 中的输出端口的标识查找到对应的输出端口, 并通过该输出端口转发流量; 若 步骤 S202的查询结果为否, 则执行步骤 S203。
5203、 当不存在用于转发交换机接收到的流量的第一流表项时, 交换机根 据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应 的写入值。
作为一种可选的实施方式,交换机根据第二流表项和每个输出端口的计表 项确定每个输出端口的实时流速率对应的写入值的方式可以具体为: 交换机根据第二流表项包括的每个输出端口的计表项的标识获取每个输 出端口的计表项;
交换机根据每个输出端口的实时流速率从每个输出端口的计表项的预设 速率值中查询出小于实时流速率的最大速率值;
交换机确定每个最大速率值对应的写入值,以作为每个输出端口的实时流 速率对应的写入值。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以釆用写 元数据的方式进行记录。
5204、 交换机向控制器发送流量的上报信息。
本发明实施例中,上报信息包括步骤 S203中确定出的每个输出端口的实时 流速率对应的写入值。
本发明实施例中,交换机可以以 packet_in的方式向控制器发送流量的上报 信息,以使控制器根据写入值确定每个输出端口的实时流速率并创建用于转发 流量的转发流表项, 转发流表项可以包括用于转发流量的目标输出端口的标 识。
5205、 交换机接收控制器发送的转发流表项。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息(如业 务的 TCP端口号等)以及目标输出端口对应的计表项的标识, 可选的, 转发流 表项还可以包括业务的源地址信息以及业务的目的地址信息等,本发明实施例 不做限定。
5206、 交换机利用转发流表项中的目标输出端口转发流量。
实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速 率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现 负载均衡。 请参阅图 3,图 3是本发明实施例公开的又一种负载均衡的实现方法的流程 示意图。 如图 3所示, 该方法可以包括以下步骤:
S301、 控制器接收交换机发送的写入值。 本发明实施例中,写入值是交换机根据第二流表项和每个输出端口的计表 项确定出的每个输出端口的实时流速率对应的写入值, 其中,每个输出端口的 计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值,第二 流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表项的 命令以及上报流量到控制器的命令,且第二流表项与交换机接收到的流量所属 的业务对应。
本发明实施例中,控制器接收到的写入值可以包含在交换机向控制器发送 的流量的上报信息中。
5302、控制器根据写入值确定每个输出端口的实时流速率, 并创建用于转 发交换机接收到的流量的转发流表项。
本发明实施例中,转发流表项可以包括用于转发流量的目标输出端口的标 识。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息以及目 标输出端口对应的计表项的标识, 可选的,转发流表项还可以包括业务的源地 址信息以及业务的目的地址信息等, 本发明实施例不做限定。
本发明实施例中,控制器接收到写入值后,根据写入值可以获取到交换机 上每个输出端口的实时流速率的速率范围,并从不同输出端口的实时流速率的 速率范围分析出交换机的输出端口中最为空闲的输出端口,且控制器为交换机 分配最为空闲的输出端口作为交换机转发流量的转发路径, 从而实现负载均 衡。
5303、 控制器向交换机发送转发流表项。
本发明实施例中,控制器向交换机发送转发流表项以使交换机利用转发流 表项中的目标输出端口转发流量。
实施本发明实施例能够使控制器根据交换机发送的写入值分析出交换机 的输出端口的实时流速率的速率范围,并根据每个输出端口的实时流速率的速 率范围分析出最为空闲的输出端口并将该最为空闲的输出端口作为交换机转 发流量的目标输出端口, 从而更好的实现负载均衡。 请参阅图 4,图 4是本发明实施例公开的又一种负载均衡的实现方法的流程 示意图。 如图 4所示, 该方法可以包括以下步骤:
S401、 控制器创建第二流表项以及每个输出端口的计表项。
本发明实施例中,每个输出端口的计表项可以包括至少一个预设速率值以 及每个预设速率值对应的写入值,第二流表项可以包括每个输出端口的计表项 的标识、执行每个输出端口的计表项的命令以及上报流量到控制器的命令,且 第二流表项与交换机接收到的流量所属的业务对应。
举例来说, 控制器创建的计表项可以如下表 1所示:
表 1 控制器创建的计表项
Figure imgf000019_0001
其中, tcp_dst是业务的 TCP端口号(即业务的标识信息), meter_id是计表项的 标识, out port是交换机输出端口的标识, rate是预设速率值, write_metadata是 预设速率值对应的写入值, mask是写入值 write_metadata的掩码, 用来与写入 值 write_metadata进行逻辑 "与" 操作, 这样可以保障每个计表项仅针对相关 的位进行有效写入。
5402、 控制器向交换机发送第二流表项以及每个输出端口的计表项。 本发明实施例中, 控制器可以以图 6的形式向交换机发送每个输出端口的 计表项。
5403、 控制器接收交换机发送的写入值。
本发明实施例中,写入值是交换机根据第二流表项和每个输出端口的计表 项确定出的每个输出端口的实时流速率对应的写入值。
5404、控制器根据写入值确定每个输出端口的实时流速率, 并创建用于转 发交换机接收到的流量的转发流表项。
本发明实施例中,转发流表项可以包括用于转发流量的目标输出端口的标 识。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息以及目 标输出端口对应的计表项的标识, 可选的,转发流表项还可以包括业务的源地 址信息以及业务的目的地址信息等, 本发明实施例不做限定。
本发明实施例中,控制器接收到写入值后,根据写入值可以确定出交换机 上每个输出端口的实时流速率的速率范围,并从不同输出端口的实时流速率的 速率范围分析出交换机的输出端口中最为空闲的输出端口,且控制器为交换机 分配最为空闲的输出端口作为交换机转发流量的转发路径, 从而实现负载均 衡。
5405、 控制器向交换机发送转发流表项。
本发明实施例中,控制器向交换机发送转发流表项以使交换机利用转发流 表项中的目标输出端口转发流量。
实施本发明实施例能够使控制器根据交换机发送的写入值分析出交换机 的输出端口的实时流速率的速率范围,并根据每个输出端口的实时流速率的速 率范围分析出最为空闲的输出端口并将该最为空闲的输出端口作为交换机转 发流量的目标输出端口, 从而更好的实现负载均衡。 请参阅图 5,图 5是本发明实施例公开的又一种负载均衡的实现方式的流程 示意图。 如图 5所示, 该方法可以包括以下步骤:
S501、控制器创建与交换机接收到的流量所属的业务对应的第二流表项以 及每个输出端口的计表项。
S502、 控制器向交换机发送第二流表项以及每个输出端口的计表项。 本发明实施例中,每个输出端口的计表项可以包括至少一个预设速率值以 及每个预设速率值对应的写入值,第二流表项可以包括每个输出端口的计表项 的标识、 执行每个输出端口的计表项的命令以及上报流量到控制器的命令。 本发明实施例中,计表项包括的预设速率值的个数越多,控制器分析出的 实时流速率的速率范围越精确,且每个预设速率值对应的写入值的范围可以是
O - l64-! , 本发明实施例不做限定。
5503、 交换机接收控制器发送的第二流表项以及每个输出端口的计表项。
5504、 交换机接收到流量后查询是否存在用于转发流量的第一流表项。 本发明实施例中, 第一流表项可以包括用于转发流量的输出端口的标识。 本发明实施例中,若步骤 S504的查询结果为是,则交换机利用第一流表项 中的输出端口的标识查找到对应的输出端口, 并通过该输出端口转发流量; 若 步骤 S504的查询结果为否, 则执行步骤 S505。
5505、若不存在用于转发流量的第一流表项, 交换机则根据第二流表项和 每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值。
作为一种可选的实施方式,交换机根据第二流表项和每个输出端口的计表 项确定每个输出端口的实时流速率对应的写入值的方式可以具体为:
交换机根据第二流表项包括的每个输出端口的计表项的标识获取每个输 出端口的计表项;
交换机根据每个输出端口的实时流速率从每个输出端口的计表项的预设 速率值中查询出小于实时流速率的最大速率值;
交换机确定每个最大速率值对应的写入值,以作为每个输出端口的实时流 速率对应的写入值。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以釆用写 元数据的方式进行记录。
5506、 交换机向控制器发送写入值。
本发明实施例中,写入值可以包含交换机向控制器发送的流量的上报信息 中。
5507、 控制器接收交换机发送的写入值。
5508、控制器根据写入值确定每个输出端口的实时流速率, 并创建用于转 发流量的转发流表项。
本发明实施例中,转发流表项可以包括用于转发流量的目标输出端口的标 作为一种可选的实施方式,转发流表项还可以包括业务的标识信息以及目 标输出端口对应的计表项的标识, 可选的,转发流表项还可以包括业务的源地 址信息以及业务的目的地址信息等, 本发明实施例不做限定。
本发明实施例中,控制器接收到写入值后,根据写入值可以确定出交换机 上每个输出端口的实时流速率的速率范围,并从不同输出端口的实时流速率的 速率范围分析出交换机的输出端口中最为空闲的输出端口,且控制器为交换机 分配最为空闲的输出端口作为交换机转发流量的转发路径, 从而实现负载均 衡。
5509、 控制器向交换机发送转发流表项。
5510、 交换机接收控制器发送的转发流表项。
S511、 交换机利用转发流表项中的目标输出端口转发流量。
实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速 率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现 负载均衡。 请参阅图 10, 图 10是本发明实施例公开的一种交换机的结构示意图。如图 10所示, 该交换机 1000可以包括确定模块 1001、 第一输出模块 1002、 输入模块 1003以及第二输出模块 1004, 其中:
确定模块 1001用于当不存在用于转发交换机 1000接收到的流量的第一流 表项时,根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流 速率对应的写入值。
本发明实施例中, 交换机 1000的每个输出端口都有一个与之对应的计表 项,且每个计表项可以包括至少一个预设速率值以及每个预设速率值对应的写 入值, 第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口 的计表项的命令以及上报流量到控制器的命令, 且第二流表项与交换机 1000 接收到的流量所属的业务对应。
本发明实施例中,计表项包括的预设速率值的个数越多,控制器分析出的 实时流速率的速率范围越精确,且每个预设速率值对应的写入值的范围可以是 O - l64-! , 本发明实施例不做限定。
作为一种可选的实施方式, 确定模块 1001可以具体用于:
根据第二流表项包括的每个输出端口的计表项的标识获取每个输出端口 的计表项;
根据每个输出端口的实时流速率从每个输出端口的计表项的预设速率值 中查询出小于实时流速率的最大速率值;
确定每个最大速率值对应的写入值,以作为每个输出端口的实时流速率对 应的写入值。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以釆用写 元数据的方式进行记录。
第一输出模块 1002用于向控制器发送流量的上报信息。
本发明实施例中,上报信息包括确定模块 1001确定出的每个输出端口的实 时流速率对应的写入值。
本发明实施例中,第一输出模块 1002可以向控制器以 packet_in的方式发送 流量的上报信息,以使控制器根据写入值确定每个输出端口的实时流速率并创 建用于转发流量的转发流表项,转发流表项可以包括用于转发流量的目标输出 端口的标 i只。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息(如业 务的 TCP端口号等)以及目标输出端口对应的计表项的标识, 可选的, 转发流 表项还可以包括业务的源地址信息以及业务的目的地址信息等,本发明实施例 不做限定。
输入模块 1003用于接收控制器发送的转发流表项。
第二输出模块 1004用于利用转发流表项中的目标输出端口转发流量。 作为一种可选的实施方式,输入模块 1003还可以用于在确定模块 1001根据 第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的 写入值之前,接收控制器发送的与流量所属的业务对应的第二流表项以及每个 输出端口的计表项。
实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速 率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现 负载均衡。 请参阅图 11, 图 11是本发明实施例公开的另一种交换机的结构示意图。 如 图 11所示, 该交换机 1100可以包括查询模块 1101、 确定模块 1102、 第一输出模 块 1103、 输入模块 1104以及第二输出模块 1105, 其中:
查询模块 1101用于在交换机 1100接收到流量后查询是否存在用于转发流 量的第一流表项。
本发明实施例中, 第一流表项可以包括用于转发流量的输出端口的标识。 确定模块 1102用于当查询模块 1101查询到不存在用于转发流量的第一流 表项时,根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流 速率对应的写入值。
本发明实施例中, 交换机 1100的每个输出端口都有一个与之对应的计表 项,且每个计表项可以包括至少一个预设速率值以及每个预设速率值对应的写 入值, 第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口 的计表项的命令以及上报流量到控制器的命令, 且第二流表项与交换机 1100 接收到的流量所属的业务对应。
作为一种可选的实施方式, 如图 11所示, 确定模块 1102可以包括获取子模 块 11021、 查询子模块 11022以及确定子模块 11023, 其中:
获取子模块 11021用于根据第二流表项包括的每个输出端口的计表项的标 识获取每个输出端口的计表项。
查询子模块 11022用于根据每个输出端口的实时流速率从每个输出端口的 计表项的预设速率值中查询出小于实时流速率的最大速率值。
确定子模块 11023用于确定每个最大速率值对应的写入值, 以作为每个输 出端口的实时流速率对应的写入值。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以釆用写 元数据的方式进行记录。
第一输出模块 1103用于向控制器发送流量的上报信息。 本发明实施例中,上报信息包括确定模块 1102确定出的每个输出端口的实 时流速率对应的写入值。
本发明实施例中,第一输出模块 1103可以向控制器以 packet_in的方式发送 流量的上报信息,以使控制器根据写入值确定每个输出端口的实时流速率并创 建用于转发流量的转发流表项,转发流表项可以包括用于转发流量的目标输出 端口的标 i只。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息(如业 务的 TCP端口号等)以及目标输出端口对应的计表项的标识, 可选的, 转发流 表项还可以包括业务的源地址信息以及业务的目的地址信息等,本发明实施例 不做限定。
输入模块 1104用于接收控制器发送的转发流表项。
第二输出模块 1105用于利用转发流表项中的目标输出端口转发流量。
作为一种可选的实施方式,输入模块 1104还可以用于在确定模块 1102根据 第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的 写入值之前,接收控制器发送的与流量所属业务的对应的第二流表项以及每个 输出端口的计表项。
实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速 率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现 负载均衡。 请参阅图 12, 图 12是本发明实施例公开的又一种交换机的结构示意图。如 图 12所示,该交换机 1200可以包括存储器 1201和处理器 1202,其中,存储器 1201 中存储一组程序代码, 且处理器 1202用于调用存储器 1201中存储的程序代码, 用于执行以下操作:
当不存在用于转发交换机 1200接收到的流量的第一流表项时,根据第二流 表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值, 其中,每个输出端口的计表项包括至少一个预设速率值以及每个预设速率值对 应的写入值, 第二流表项与流量所属的业务对应,且第二流表项包括执行每个 输出端口的计表项的命令以及上报流量到控制器的命令;
向控制器发送流量的上报信息,上报信息包括每个输出端口的实时流速率 对应的写入值, 以使控制器根据写入值确定每个输出端口的实时流速率, 并创 建用于转发流量的转发流表项,转发流表项包括用于转发流量的目标输出端口 的标识;
接收控制器发送的转发流表项;
利用转发流表项中的目标输出端口转发流量。
在一个实施例中,处理器 1202根据第二流表项和每个输出端口的计表项确 定每个输出端口的实时流速率对应的写入值之前,处理器 1202调用存储器 1201 中存储的程序代码还执行以下操作:
接收控制器发送的第二流表项以及每个输出端口的计表项。
在一个实施例中,转发流表项还包括业务的标识信息以及目标输出端口对 应的计表项的标识, 可选的,转发流表项还可以包括业务的源地址信息以及业 务的目的地址信息等, 本发明实施例不做限定。
在一个实施例中,处理器 1202根据第二流表项和每个输出端口的计表项确 定每个输出端口的实时流速率对应的写入值的方式具体为:
根据第二流表项包括的每个输出端口的计表项的标识获取每个输出端口 的计表项;
根据每个输出端口的实时流速率从每个输出端口的计表项的预设速率值 中查询出小于实时流速率的最大速率值;
确定每个最大速率值对应的写入值,以作为每个输出端口的实时流速率对 应的写入值。
在一个实施例中,处理器 1202根据第二流表项和每个输出端口的计表项确 定每个输出端口的实时流速率对应的写入值之前,处理器 1202调用存储器 1201 中存储的程序代码还执行以下操作:
接收到流量后查询是否存在用于转发流量的第一流表项,第一流表项包括 用于转发流量的输出端口的标识。
在一个实施例中,每个输出端口的计表项中的写入值釆用写元数据的方式 进行记录。 实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速 率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现 负载均衡。 请参阅图 13, 图 13是本发明实施例公开的一种控制器的结构示意图。如图 13所示, 该控制器 1300可以包括输入模块 1301、 确定模块 1302、 创建模块 1303 以及输出模块 1304, 其中:
输入模块 1301用于接收交换机发送的写入值。
本发明实施例中,写入值是交换机根据第二流表项和每个输出端口的计表 项确定出的每个输出端口的实时流速率对应的写入值,其中,每个输出端口的 计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值,第二 流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表项的 命令以及上报流量到控制器 1300的命令,且第二流表项与交换机接收到的流量 所属的业务对应。
本发明实施例中,输入模块 1301接收到的写入值可以包含在交换机向控制 器 1300发送的流量的上报信息中。
确定模块 1302用于根据写入值确定每个输出端口的实时流速率。
创建模块 1303用于根据每个输出端口的实时流速率创建用于转发交换机 接收到的流量的转发流表项。
本发明实施例中,转发流表项可以包括用于转发流量的目标输出端口的标 识。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息以及目 标输出端口对应的计表项的标识, 可选的,转发流表项还可以包括业务的源地 址信息以及业务的目的地址信息等, 本发明实施例不做限定。
本发明实施例中,控制器 1300接收到写入值后,根据写入值可以确定出交 换机上每个输出端口的实时流速率的速率范围,并从不同输出端口的实时流速 率的速率范围分析出交换机的输出端口中最为空闲的输出端口,且控制器 1300 为交换机分配最为空闲的输出端口作为交换机转发流量的转发路径,从而实现 负载均衡。 输出模块 1304用于向交换机发送转发流表项。
本发明实施例中,输出模块 1304向交换机发送转发流表项以使交换机利用 转发流表项中的目标输出端口转发流量。
作为一种可选的实施方式,创建模块 1303还用于创建与交换机接收到的流 量所属的业务对应的第二流表项以及每个输出端口的计表项;
输出模块 1304还用于向交换机发送第二流表项以及每个输出端口的计表 项。
实施本发明实施例能够使控制器根据交换机发送的写入值分析出交换机 的输出端口的实时流速率的速率范围,并根据每个输出端口的实时流速率的速 率范围分析出最为空闲的输出端口并将该最为空闲的输出端口作为交换机转 发流量的目标输出端口, 从而更好的实现负载均衡。 请参阅图 14, 图 14是本发明实施例公开的另一种控制器的结构示意图。如 图 14所示,该控制器 1400可以包括存储器 1401和处理器 1402,其中,存储器 1401 中存储一组程序代码, 且处理器 1402用于调用存储器 1401中存储的程序代码, 用于执行以下操作:
接收交换机发送的写入值,写入值是交换机根据第二流表项和每个输出端 口的计表项确定出的每个输出端口的实时流速率对应的写入值, 其中,每个输 出端口的计表项包括至少一个预设速率值以及每个预设速率值对应的写入值, 第二流表项与交换机接收到的流量所属的业务对应,且第二流表项包括执行每 个输出端口的计表项的命令以及上报流量到控制器 1400的命令;
根据写入值确定每个输出端口的实时流速率,并创建用于转发交换机接收 到的流量的转发流表项, 转发流表项包括用于转发流量的目标输出端口的标 识;
向交换机发送转发流表项,以使交换机利用转发流表项中的目标输出端口 转发流量。
在一个实施例中, 处理器 1402接收交换机发送的写入值之前, 处理器 1402 调用存储器 1401中存储的程序代码还执行以下操作:
创建第二流表项以及每个输出端口的计表项; 向交换机发送第二流表项以及每个输出端口的计表项。
在一个实施例中,转发流表项还可以包括业务的标识信息以及目标输出端 口对应的计表项的标识。
实施本发明实施例能够使控制器根据交换机发送的写入值分析出交换机 的输出端口的实时流速率的速率范围,并根据每个输出端口的实时流速率的速 率范围分析出最为空闲的输出端口并将该最为空闲的输出端口作为交换机转 发流量的目标输出端口, 从而更好的实现负载均衡。 请参阅 15,图 15是本发明实施例公开的一种负载均衡的实现系统的结构示 意图。 如图 15所示, 该系统可以包括交换机 1501以及控制器 1502, 其中: 交换机 1501,用于当不存在用于转发交换机 1501接收到的流量的第一流表 项时,根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速 率对应的写入值,其中,每个输出端口的计表项包括至少一个预设速率值以及 每个预设速率值对应的写入值, 第二流表项与流量所属的业务对应,且第二流 表项包括执行每个输出端口的计表项的命令以及上报流量到控制器 1502的命 令, 向控制器 1502发送流量的上报信息, 上报信息包括每个输出端口的实时流 速率对应的写入值, 并接收控制器 1502发送的转发流表项, 以及利用转发流表 项中的目标输出端口转发流量。
控制器 1502, 用于接收交换机 1501发送的写入值, 并根据写入值确定每个 输出端口的实时流速率,并创建用于转发交换机 1501接收到的流量的转发流表 项, 以及向交换机 1501发送转发流表项, 以使交换机 1501利用转发流表项中的 目标输出端口转发流量。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以釆用写 元数据的方式进行记录。
作为一种可选的实施方式,控制器 1502还可以用于创建与交换机 1501接收 到的流量所属的业务对应的第二流表项以及每个输出端口的计表项,并向交换 机 1501发送第二流表项以及每个输出端口的计表项;
交换机 1501还可以用于接收控制器 1502发送的第二流表项以及每个输出 端口的计表项。 作为一种可选的实施方式,转发流表项还可以包括业务的标识信息以及目 标输出端口的计表项的标识。
作为一种可选的实施方式,交换机 1501根据第二流表项和每个输出端口的 计表项确定每个输出端口的实时流速率对应的写入值的方式具体为:
交换机 1501根据第二流表项包括的每个输出端口的计表项的标识获取每 个输出端口的计表项,并根据每个输出端口的实时流速率从每个输出端口的计 表项的预设速率值中查询出小于实时流速率的最大速率值,以及确定每个最大 速率值对应的写入值, 以作为每个输出端口的实时流速率对应的写入值。
作为一种可选的实施方式,交换机 1501还可以用于在根据第二流表项和每 个输出端口的计表项确定每个输出端口的实时流速率对应的写入值之前,在接 收到流量后查询是否存在用于转发流量的第一流表项,第一流表项包括用于转 发流量的输出端口的标识。
实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速 率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现 负载均衡。
需要说明的是, 在上述实施例中, 对各个实施例的描述都各有侧重, 某个 实施例中没有详细描述的部分, 可以参见其他实施例的相关描述。 其次, 本领 域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例, 所涉及 的动作和模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、 合并和删 减。
本发明实施例设备中的模块或子模块可以根据实际需要进行合并、划分和 删减。
本发明实施例中交换机的第一输出模块、输入模块以及第二输出模块可以 是本发明实施例中交换机上的物理端口,本发明实施例中控制器的输入模块以 及输出模块可以是本发明实施例中控制器的物理端口, 本发明实施例不做限 定。
本发明实施例中所述模块或子模块, 可以通过通用集成电路, 例如 CPU ( Central Processing Unit, 中央处理器), 或通过 ASIC ( Application Specific Integrated Circuit, 专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机 可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施例的流程。 其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM )或随机存储记忆体(Random Access Memory, RAM )等。
以上对本发明实施例所提供的一种负载均衡的实现方法及设备、系进行了 上实施例的说明只是用于帮助理解本发明的方法及其核心思想; 同时,对于本 领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会 有改变之处, 综上所述, 本说明书内容不应理解为对本发明的限制。

Claims

权 利 要 求
1、 一种负载均衡的实现方法, 其特征在于, 包括:
当不存在用于转发交换机接收到的流量的第一流表项时,所述交换机根据 第二流表项和每个输出端口的计表项确定所述每个输出端口的实时流速率对 应的写入值, 其中, 所述每个输出端口的计表项包括至少一个预设速率值以及 每个所述预设速率值对应的写入值,所述第二流表项与所述流量所属的业务对 应,且所述第二流表项包括执行所述每个输出端口的计表项的命令以及上报所 述流量到控制器的命令;
所述交换机向所述控制器发送所述流量的上报信息,所述上报信息包括所 述每个输出端口的实时流速率对应的写入值,以使所述控制器根据所述写入值 确定所述每个输出端口的实时流速率, 并创建用于转发所述流量的转发流表 项, 所述转发流表项包括用于转发所述流量的目标输出端口的标识;
所述交换机接收所述控制器发送的所述转发流表项;
所述交换机利用所述转发流表项中的所述目标输出端口转发所述流量。
2、 根据权利要求 1所述的方法, 其特征在于, 所述交换机根据第二流表项 和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写入值 之前, 所述方法还包括:
所述交换机接收所述控制器发送的所述第二流表项以及所述每个输出端 口的计表项。
3、 根据权利要求 1或 2所述的方法, 其特征在于, 所述转发流表项还包括 所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
4、 根据权利要求 3所述的方法, 其特征在于, 所述交换机根据第二流表项 和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写入值 包括:
所述交换机根据所述第二流表项包括的所述每个输出端口的计表项的标 识获取所述每个输出端口的计表项; 所述交换机根据所述每个输出端口的实时流速率从所述每个输出端口的 计表项的所述预设速率值中查询出小于所述实时流速率的最大速率值;
所述交换机确定每个所述最大速率值对应的写入值,以作为所述每个输出 端口的实时流速率对应的写入值。
5、 根据权利要求 1所述的方法, 其特征在于, 所述交换机根据第二流表项 和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写入值 之前, 所述方法还包括:
所述交换机接收到所述流量后查询是否存在用于转发所述流量的第一流 表项, 所述第一流表项包括用于转发所述流量的输出端口的标识。
6、 根据权利要求 1至 5任一项所述的方法, 其特征在于, 所述每个输出端 口的计表项中的写入值釆用写元数据的方式进行记录。
7、 一种负载均衡的实现方法, 其特征在于, 包括:
控制器接收交换机发送的写入值,所述写入值是所述交换机根据第二流表 项和每个输出端口的计表项确定出的所述每个输出端口的实时流速率对应的 写入值, 其中, 所述每个输出端口的计表项包括至少一个预设速率值以及每个 所述预设速率值对应的写入值,所述第二流表项与所述交换机接收到的流量所 属的业务对应,且所述第二流表项包括执行所述每个输出端口的计表项的命令 以及上报所述流量到所述控制器的命令;
所述控制器根据所述写入值确定所述每个输出端口的实时流速率,并创建 用于转发所述流量的转发流表项,所述转发流表项包括用于转发所述流量的目 标输出端口的标识;
所述控制器向所述交换机发送所述转发流表项,以使所述交换机利用所述 转发流表项中的所述目标输出端口转发所述流量。
8、 根据权利要求 7所述的方法, 其特征在于, 所述控制器接收交换机发送 的写入值之前, 所述方法还包括: 控制器创建所述第二流表项以及所述每个输出端口的计表项; 所述控制器向所述交换机发送所述第二流表项以及所述每个输出端口的 计表项。
9、 根据权利要求 7或 8所述的方法, 其特征在于, 所述转发流表项还包括 所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
10、 一种交换机, 其特征在于, 包括:
确定模块,用于当不存在用于转发所述交换机接收到的流量的第一流表项 时,根据第二流表项和每个输出端口的计表项确定所述每个输出端口的实时流 速率对应的写入值, 其中, 所述每个输出端口的计表项包括至少一个预设速率 值以及每个所述预设速率值对应的写入值,所述第二流表项与所述流量所属的 业务对应,且所述第二流表项包括执行所述每个输出端口的计表项的命令以及 上报所述流量到控制器的命令;
第一输出模块, 用于向所述控制器发送所述流量的上报信息, 所述上报信 息包括所述每个输出端口的实时流速率对应的写入值,以使所述控制器根据所 述写入值确定所述每个输出端口的实时流速率,并创建用于转发所述流量的转 发流表项, 所述转发流表项包括用于转发所述流量的目标输出端口的标识; 输入模块, 用于接收所述控制器发送的所述转发流表项;
第二输出模块,用于利用所述转发流表项中的所述目标输出端口转发所述 流量。
11、 根据权利要求 10所述的交换机, 其特征在于, 所述输入模块, 还用于 接收所述控制器发送的所述第二流表项以及所述每个输出端口的计表项。
12、 根据权利要求 10或 11所述的交换机, 其特征在于, 所述转发流表项还 包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
13、 根据权利要求 12所述的交换机, 其特征在于, 所述确定模块包括: 获取子模块,用于根据所述第二流表项包括的所述每个输出端口的计表项 的标识获取所述每个输出端口的计表项;
查询子模块,用于根据所述每个输出端口的实时流速率从所述每个输出端 口的计表项的所述预设速率值中查询出小于所述实时流速率的最大速率值; 确定子模块, 用于确定每个所述最大速率值对应的写入值, 以作为所述每 个输出端口的实时流速率对应的写入值。
14、 根据权利要求 10所述的交换机, 其特征在于, 所述交换机还包括: 查询模块,用于在所述交换机接收到所述流量后查询是否存在用于转发所 述流量的第一流表项,所述第一流表项包括用于转发所述流量的输出端口的标
15、 根据权利要求 10至 14任一项所述的交换机, 其特征在于, 所述每个输 出端口的计表项中的写入值釆用写元数据的方式进行记录。
16、 一种交换机, 包括存储器和处理器, 其特征在于, 所述存储器中存储 一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,用于执 行以下操作:
当不存在用于转发所述交换机接收到的流量的第一流表项时,根据第二流 表项和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写 入值, 其中, 所述每个输出端口的计表项包括至少一个预设速率值以及每个所 述预设速率值对应的写入值, 所述第二流表项与所述流量所属的业务对应,且 所述第二流表项包括执行所述每个输出端口的计表项的命令以及上报所述流 量到控制器的命令;
向所述控制器发送所述流量的上报信息,所述上报信息包括所述每个输出 端口的实时流速率对应的写入值,以使所述控制器根据所述写入值确定所述每 个输出端口的实时流速率, 并创建用于转发所述流量的转发流表项, 所述转发 流表项包括用于转发所述流量的目标输出端口的标识;
接收所述控制器发送的所述转发流表项; 利用所述转发流表项中的所述目标输出端口转发所述流量。
17、 根据权利要求 16所述的交换机, 其特征在于, 所述处理器根据第二流 表项和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写 入值之前, 所述处理器调用所述存储器中存储的程序代码还执行以下操作: 接收所述控制器发送的所述第二流表项以及所述每个输出端口的计表项。
18、 根据权利要求 16或 17所述的交换机, 其特征在于, 所述转发流表项还 包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
19、 根据权利要求 18所述的交换机, 其特征在于, 所述处理器根据第二流 表项和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写 入值的方式具体为:
根据所述第二流表项包括的所述每个输出端口的计表项的标识获取所述 每个输出端口的计表项;
根据所述每个输出端口的实时流速率从所述每个输出端口的计表项的所 述预设速率值中查询出小于所述实时流速率的最大速率值;
确定每个所述最大速率值对应的写入值,以作为所述每个输出端口的实时 流速率对应的写入值。
20、 根据权利要求 16所述的交换机, 其特征在于, 所述处理器根据第二流 表项和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写 入值之前, 所述处理器调用所述存储器中存储的程序代码还执行以下操作: 接收到所述流量后查询是否存在用于转发所述流量的第一流表项,所述第 一流表项包括用于转发所述流量的输出端口的标识。
21、 根据权利要求 16至 20任一项所述的交换机, 其特征在于, 所述每个输 出端口的计表项中的写入值釆用写元数据的方式进行记录。
22、 一种控制器, 其特征在于, 包括:
输入模块, 用于接收交换机发送的写入值, 所述写入值是所述交换机根据 第二流表项和每个输出端口的计表项确定出的所述每个输出端口的实时流速 率对应的写入值,其中, 所述每个输出端口的计表项包括至少一个预设速率值 以及每个所述预设速率值对应的写入值,所述第二流表项与所述交换机接收到 的流量所属的业务对应,且所述第二流表项包括执行所述每个输出端口的计表 项的命令以及上报所述流量到所述控制器的命令;
确定模块, 用于根据所述写入值确定所述每个输出端口的实时流速率; 创建模块,用于根据所述每个输出端口的实时流速率创建用于转发所述流 量的转发流表项,所述转发流表项包括用于转发所述流量的目标输出端口的标 识;
输出模块, 用于向所述交换机发送所述转发流表项, 以使所述交换机利用 所述转发流表项中的所述目标输出端口转发所述流量。
23、 根据权利要求 22所述的控制器, 其特征在于, 所述创建模块, 还用于 创建所述第二流表项以及所述每个输出端口的计表项;
所述输出模块,还用于向所述交换机发送所述第二流表项以及所述每个输 出端口的计表项。
24、 根据权利要求 22或 23所述的控制器, 其特征在于, 所述转发流表项还 包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
25、 一种控制器, 包括存储器和处理器, 其特征在于, 所述存储器中存储 一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,用于执 行以下操作:
接收交换机发送的写入值,所述写入值是所述交换机根据第二流表项和每 个输出端口的计表项确定出的所述每个输出端口的实时流速率对应的写入值, 其中,所述每个输出端口的计表项包括至少一个预设速率值以及每个所述预设 速率值对应的写入值,所述第二流表项与所述交换机接收到的流量所属的业务 对应,且所述第二流表项包括执行所述每个输出端口的计表项的命令以及上报 所述流量到所述控制器的命令;
根据所述写入值确定所述每个输出端口的实时流速率,并创建用于转发所 述流量的转发流表项,所述转发流表项包括用于转发所述流量的目标输出端口 的标识;
向所述交换机发送所述转发流表项,以使所述交换机利用所述转发流表项 中的所述目标输出端口转发所述流量。
26、 根据权利要求 25所述的控制器, 其特征在于, 所述处理器接收交换机 发送的写入值之前,所述处理器调用所述存储器中存储的程序代码还执行以下 操作:
创建所述第二流表项以及所述每个输出端口的计表项;
向所述交换机发送所述第二流表项以及所述每个输出端口的计表项。
27、 根据权利要求 25或 26所述的控制器, 其特征在于, 所述转发流表项还 包括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
28、一种负载均衡的实现系统,其特征在于, 包括交换机和控制器,其中: 所述交换机,用于当不存在用于转发所述交换机接收到的流量的第一流表 项时,根据第二流表项和每个输出端口的计表项确定所述每个输出端口的实时 流速率对应的写入值, 其中, 所述每个输出端口的计表项包括至少一个预设速 率值以及每个所述预设速率值对应的写入值,所述第二流表项与所述流量所属 的业务对应,且所述第二流表项包括执行所述每个输出端口的计表项的命令以 及上报所述流量到所述控制器的命令, 向所述控制器发送所述流量的上报信 息, 所述上报信息包括所述每个输出端口的实时流速率对应的写入值, 并接收 所述控制器发送的所述转发流表项,以及利用所述转发流表项中的所述目标输 出端口转发所述流量;
所述控制器, 用于接收所述交换机发送的所述写入值,根据所述写入值确 定所述每个输出端口的实时流速率,并创建用于转发所述流量的所述转发流表 项, 以及向所述交换机发送所述转发流表项, 以使所述交换机利用所述转发流 表项中的所述目标输出端口转发所述流量。
29、 根据权利要求 28所述的系统, 其特征在于, 所述控制器, 还用于创建 所述第二流表项以及所述每个输出端口的计表项,并向所述交换机发送所述第 二流表项以及所述每个输出端口的计表项;
所述交换机,还用于接收所述控制器发送的所述第二流表项以及所述每个 输出端口的计表项。
30、 根据权利要求 28或 29所述的系统, 其特征在于, 所述转发流表项还包 括所述业务的标识信息以及所述目标输出端口对应的计表项的标识。
31、 根据权利要求 30所述的系统, 其特征在于, 所述交换机根据第二流表 项和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写入 值的方式具体为:
所述交换机根据所述第二流表项包括的所述每个输出端口的计表项的标 识获取所述每个输出端口的计表项,并根据所述每个输出端口的实时流速率从 所述每个输出端口的计表项的所述预设速率值中查询出小于所述实时流速率 的最大速率值, 以及确定每个所述最大速率值对应的写入值, 以作为所述每个 输出端口的实时流速率对应的写入值。
32、 根据权利要求 28所述的系统, 其特征在于, 所述交换机根据第二流表 项和每个输出端口的计表项确定所述每个输出端口的实时流速率对应的写入 值之前, 所述交换机,还用于在接收到流量后查询是否存在用于转发所述流量 的第一流表项, 所述第一流表项包括用于转发所述流量的输出端口的标识。
33、 根据权利要求 28至 32任一项所述的系统, 其特征在于, 所述每个输出 端口的计表项中的写入值釆用写元数据的方式进行记录。
PCT/CN2014/075802 2014-04-21 2014-04-21 一种负载均衡的实现方法及设备、系统 WO2015161409A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201480000471.0A CN105210332B (zh) 2014-04-21 2014-04-21 一种负载均衡的实现方法及设备、系统
PCT/CN2014/075802 WO2015161409A1 (zh) 2014-04-21 2014-04-21 一种负载均衡的实现方法及设备、系统
US15/299,667 US10341235B2 (en) 2014-04-21 2016-10-21 Load balancing implementation method, device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/075802 WO2015161409A1 (zh) 2014-04-21 2014-04-21 一种负载均衡的实现方法及设备、系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/299,667 Continuation US10341235B2 (en) 2014-04-21 2016-10-21 Load balancing implementation method, device, and system

Publications (1)

Publication Number Publication Date
WO2015161409A1 true WO2015161409A1 (zh) 2015-10-29

Family

ID=54331553

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/075802 WO2015161409A1 (zh) 2014-04-21 2014-04-21 一种负载均衡的实现方法及设备、系统

Country Status (3)

Country Link
US (1) US10341235B2 (zh)
CN (1) CN105210332B (zh)
WO (1) WO2015161409A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106817299A (zh) * 2015-11-27 2017-06-09 新华三技术有限公司 软件定义网络的表项生成方法和装置以及报文转发方法
CN108123878A (zh) * 2016-11-30 2018-06-05 华为技术有限公司 一种路由方法、装置及数据转发设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11165692B2 (en) * 2016-05-25 2021-11-02 Telefonaktiebolaget Lm Ericsson (Publ) Packet forwarding using vendor extension in a software-defined networking (SDN) system
KR102202360B1 (ko) 2016-11-04 2021-01-13 후아웨이 테크놀러지 컴퍼니 리미티드 정보 송신 방법, 네트워크 디바이스, 및 단말 디바이스
CN110838985B (zh) * 2019-11-06 2022-09-30 北京宝兰德软件股份有限公司 一种分级控制数据交换速率的方法及装置
CN113691607B (zh) * 2021-08-20 2023-06-02 绿盟科技集团股份有限公司 一种流量负载均衡控制方法、装置及电子设备
CN117478610B (zh) * 2023-12-27 2024-03-12 成都新希望金融信息有限公司 全局流量控制方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594664A (zh) * 2012-02-02 2012-07-18 杭州华三通信技术有限公司 流量转发方法和装置
WO2013047705A1 (ja) * 2011-09-27 2013-04-04 日本電気株式会社 ネットワークシステム、フロントエンド装置、制御メッセージ送信レート低減方法
CN103731307A (zh) * 2013-12-30 2014-04-16 浙江大学 一种针对多业务的标准化数据面动态重构方法
WO2014057375A2 (en) * 2012-10-08 2014-04-17 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841040A (zh) * 2012-11-20 2014-06-04 英业达科技有限公司 网络系统及负载平衡方法
US20160301582A1 (en) * 2013-10-11 2016-10-13 Hewlett-Packard Enterprise Development LP Utilizing collected data from a software-defined networking network to diagnose a user experience
US9467384B2 (en) * 2013-12-05 2016-10-11 Mediatek Singapore Pte. Ltd. Packet forwarding apparatus and method using flow subgroup based path selection for dynamic load balancing
US9722926B2 (en) * 2014-01-23 2017-08-01 InMon Corp. Method and system of large flow control in communication networks
US20160065476A1 (en) * 2014-09-03 2016-03-03 Cisco Technology, Inc. Access network capacity monitoring and planning based on flow characteristics in a network environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013047705A1 (ja) * 2011-09-27 2013-04-04 日本電気株式会社 ネットワークシステム、フロントエンド装置、制御メッセージ送信レート低減方法
CN102594664A (zh) * 2012-02-02 2012-07-18 杭州华三通信技术有限公司 流量转发方法和装置
WO2014057375A2 (en) * 2012-10-08 2014-04-17 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks
CN103731307A (zh) * 2013-12-30 2014-04-16 浙江大学 一种针对多业务的标准化数据面动态重构方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106817299A (zh) * 2015-11-27 2017-06-09 新华三技术有限公司 软件定义网络的表项生成方法和装置以及报文转发方法
EP3364611A4 (en) * 2015-11-27 2018-11-07 New H3C Technologies Co., Ltd. Software-defined-networking table-entry generation and packet forwarding
CN106817299B (zh) * 2015-11-27 2019-11-29 新华三技术有限公司 软件定义网络的表项生成方法和装置以及报文转发方法
US10833988B2 (en) 2015-11-27 2020-11-10 New H3C Technologies Co., Ltd. Generating table entry and forwarding packet in software defined network
CN108123878A (zh) * 2016-11-30 2018-06-05 华为技术有限公司 一种路由方法、装置及数据转发设备

Also Published As

Publication number Publication date
CN105210332A (zh) 2015-12-30
CN105210332B (zh) 2018-09-28
US20170041234A1 (en) 2017-02-09
US10341235B2 (en) 2019-07-02

Similar Documents

Publication Publication Date Title
WO2015161409A1 (zh) 一种负载均衡的实现方法及设备、系统
US10484518B2 (en) Dynamic port type detection
US20190245772A1 (en) Flow entry configuration method, apparatus, and system
CN108307434B (zh) 用于流控制的方法和设备
US8638793B1 (en) Enhanced parsing and classification in a packet processor
WO2022028456A1 (zh) 拥塞控制方法和装置、网络节点设备,及计算机可读存储介质
CN108206753B (zh) 一种检测时延的方法、装置及系统
US20150215236A1 (en) Method and apparatus for locality sensitive hash-based load balancing
CN110324198A (zh) 丢包处理方法和丢包处理装置
WO2019127134A1 (zh) 一种数据传送的方法和虚拟交换机
WO2016029345A1 (zh) 网络流的信息统计方法和装置
WO2020249128A1 (zh) 一种服务路由方法及装置
WO2017147808A1 (zh) 管理网络设备的方法和装置
WO2016169121A1 (zh) 一种链路分析的方法、设备及系统
CN106330742A (zh) 一种流量控制的方法及网络控制器
US10171354B2 (en) Communication processing system, communication processing apparatus, communication processing method, and storage medium
WO2019033891A1 (zh) 一种基于rdma的网络流量确定方法及装置
US20170048153A1 (en) Data Packet Processing Method and Device
US11258702B2 (en) Routing path analysis method and device
WO2022100511A1 (zh) 转发表项的处理方法和装置
TW202021319A (zh) 封包轉送方法與裝置
KR101707073B1 (ko) Sdn 기반의 에러 탐색 네트워크 시스템
CN111064671B (zh) 数据包转发方法、装置及电子设备
CN109347678B (zh) 一种路由环路的确定方法及装置
CN114401318B (zh) 数据传输方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14890029

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14890029

Country of ref document: EP

Kind code of ref document: A1