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

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

Info

Publication number
CN105210332B
CN105210332B CN201480000471.0A CN201480000471A CN105210332B CN 105210332 B CN105210332 B CN 105210332B CN 201480000471 A CN201480000471 A CN 201480000471A CN 105210332 B CN105210332 B CN 105210332B
Authority
CN
China
Prior art keywords
output port
value
flow table
flow
interchanger
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201480000471.0A
Other languages
English (en)
Other versions
CN105210332A (zh
Inventor
林科
李泉材
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105210332A publication Critical patent/CN105210332A/zh
Application granted granted Critical
Publication of CN105210332B publication Critical patent/CN105210332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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、当不存在用于转发交换机接收到的流量的第一流表项时,交换机根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值。
本发明实施例中,第一流表项可以包括用于转发流量的输出端口的标识。
本发明实施例中,交换机的每个输出端口都有一个与之对应的计表项,且每个计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值,第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表项的命令以及上报流量到控制器的命令,且第二流表项与交换机接收到的流量所属的业务对应。
本发明实施例中,计表项包括的预设速率值的个数越多,控制器分析出的实时流速率的速率范围越精确,且每个预设速率值对应的写入值的范围可以是0~264-1,本发明实施例不做限定。
作为一种可选的实施方式,交换机根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值的方式可以具体为:
交换机根据第二流表项包括的每个输出端口的计表项的标识获取每个输出端口的计表项;
交换机根据每个输出端口的实时流速率从每个输出端口的计表项的预设速率值中查询出小于实时流速率的最大速率值;
交换机确定每个最大速率值对应的写入值,以作为每个输出端口的实时流速率对应的写入值。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以采用写元数据的方式进行记录。
本发明实施例可以采用以下方法使得交换机在获取每个输出端口的计表项后依次根据计表项的标识从每个输出端口的计表项的预设速率值中查询出小于每个输出端口的实时流速率的最大速率值:第一、通过流表项级联绑定多条计表项的方式,如图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=0xFFFF/*厂家自定义的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)。
举例来说,假设交换机当前处理业务A的TCP端口号为1234,且通过硬件检测到的交换机的三个输出端口上业务A的实时流速率分别为600,000kbps、200,000kbps以及900,000kbps,计表项以及第二流表项分别如图6及图8所示,则交换机根据预先存储的第二流表项和每个输出端口的计表项获取每个输出端口的实时流速率对应的写入值的方式可以具体为:
交换机首先从第二流表项获取到每个输出端口的计表项的标识(101、102、103),然后根据计表项的标识找到每个输出端口的计表项,并从每个计表项的预设速率值中查询出小于与计表项对应的输出端口的实时流速率的最大速率值,交换机查询出的最大速率值分别为500,000kbps、100,000kbps以及800,000kbps,之后交换机获取每个最大速率值对应的写入值,且交换机获取到的写入值分别为000010、000100以及110000。
S102、交换机向控制器发送流量的上报信息。
本发明实施例中,上报信息包括步骤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作为交换机转发流量的转发路径,从而实现负载均衡。
S103、交换机接收控制器发送的转发流表项。
S104、交换机利用转发流表项中的目标输出端口转发流量。
本发明实施例中,当不存在用于转发交换机接收到的流量的第一流表项时,交换机根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值并向控制器发送写入值,以使控制器根据写入值确定每个输出端口的实时流速率,并创建用于转发该流量的转发流表项,之后,交换机接收控制器发送的转发流表项并利用转发流表项中的目标输出端口转发该流量。实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现负载均衡。
请参阅图2,图2是本发明实施例公开的另一种负载均衡的实现方法的流程示意图。如图2所示,该方法可以包括以下步骤:
S201、交换机接收控制器发送的第二流表项以及每个输出端口的计表项。
本发明实施例中,交换机的每个输出端口都有一个与之对应的计表项,且每个计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值,第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表项的命令以及上报流量到控制器的命令,且第二流表项与交换机接收到的流量所属的业务对应。
本发明实施例中,计表项包括的预设速率值的个数越多,控制器分析出的实时流速率的速率范围越精确,且每个预设速率值对应的写入值的范围可以是0~264-1,本发明实施例不做限定。
S202、交换机接收到流量后查询是否存在用于转发流量的第一流表项。
本发明实施例中,第一流表项可以包括用于转发流量的输出端口的标识。
本发明实施例中,若步骤S202的查询结果为是,则交换机利用第一流表项中的输出端口的标识查找到对应的输出端口,并通过该输出端口转发流量;若步骤S202的查询结果为否,则执行步骤S203。
S203、当不存在用于转发交换机接收到的流量的第一流表项时,交换机根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值。
作为一种可选的实施方式,交换机根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值的方式可以具体为:
交换机根据第二流表项包括的每个输出端口的计表项的标识获取每个输出端口的计表项;
交换机根据每个输出端口的实时流速率从每个输出端口的计表项的预设速率值中查询出小于实时流速率的最大速率值;
交换机确定每个最大速率值对应的写入值,以作为每个输出端口的实时流速率对应的写入值。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以采用写元数据的方式进行记录。
S204、交换机向控制器发送流量的上报信息。
本发明实施例中,上报信息包括步骤S203中确定出的每个输出端口的实时流速率对应的写入值。
本发明实施例中,交换机可以以packet_in的方式向控制器发送流量的上报信息,以使控制器根据写入值确定每个输出端口的实时流速率并创建用于转发流量的转发流表项,转发流表项可以包括用于转发流量的目标输出端口的标识。
S205、交换机接收控制器发送的转发流表项。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息(如业务的TCP端口号等)以及目标输出端口对应的计表项的标识,可选的,转发流表项还可以包括业务的源地址信息以及业务的目的地址信息等,本发明实施例不做限定。
S206、交换机利用转发流表项中的目标输出端口转发流量。
实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现负载均衡。
请参阅图3,图3是本发明实施例公开的又一种负载均衡的实现方法的流程示意图。如图3所示,该方法可以包括以下步骤:
S301、控制器接收交换机发送的写入值。
本发明实施例中,写入值是交换机根据第二流表项和每个输出端口的计表项确定出的每个输出端口的实时流速率对应的写入值,其中,每个输出端口的计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值,第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表项的命令以及上报流量到控制器的命令,且第二流表项与交换机接收到的流量所属的业务对应。
本发明实施例中,控制器接收到的写入值可以包含在交换机向控制器发送的流量的上报信息中。
S302、控制器根据写入值确定每个输出端口的实时流速率,并创建用于转发交换机接收到的流量的转发流表项。
本发明实施例中,转发流表项可以包括用于转发流量的目标输出端口的标识。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息以及目标输出端口对应的计表项的标识,可选的,转发流表项还可以包括业务的源地址信息以及业务的目的地址信息等,本发明实施例不做限定。
本发明实施例中,控制器接收到写入值后,根据写入值可以获取到交换机上每个输出端口的实时流速率的速率范围,并从不同输出端口的实时流速率的速率范围分析出交换机的输出端口中最为空闲的输出端口,且控制器为交换机分配最为空闲的输出端口作为交换机转发流量的转发路径,从而实现负载均衡。
S303、控制器向交换机发送转发流表项。
本发明实施例中,控制器向交换机发送转发流表项以使交换机利用转发流表项中的目标输出端口转发流量。
实施本发明实施例能够使控制器根据交换机发送的写入值分析出交换机的输出端口的实时流速率的速率范围,并根据每个输出端口的实时流速率的速率范围分析出最为空闲的输出端口并将该最为空闲的输出端口作为交换机转发流量的目标输出端口,从而更好的实现负载均衡。
请参阅图4,图4是本发明实施例公开的又一种负载均衡的实现方法的流程示意图。如图4所示,该方法可以包括以下步骤:
S401、控制器创建第二流表项以及每个输出端口的计表项。
本发明实施例中,每个输出端口的计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值,第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表项的命令以及上报流量到控制器的命令,且第二流表项与交换机接收到的流量所属的业务对应。
举例来说,控制器创建的计表项可以如下表1所示:
表1 控制器创建的计表项
其中,tcp_dst是业务的TCP端口号(即业务的标识信息),meter_id是计表项的标识,out port是交换机输出端口的标识,rate是预设速率值,write_metadata是预设速率值对应的写入值,mask是写入值write_metadata的掩码,用来与写入值write_metadata进行逻辑“与”操作,这样可以保障每个计表项仅针对相关的位进行有效写入。
S402、控制器向交换机发送第二流表项以及每个输出端口的计表项。
本发明实施例中,控制器可以以图6的形式向交换机发送每个输出端口的计表项。
S403、控制器接收交换机发送的写入值。
本发明实施例中,写入值是交换机根据第二流表项和每个输出端口的计表项确定出的每个输出端口的实时流速率对应的写入值。
S404、控制器根据写入值确定每个输出端口的实时流速率,并创建用于转发交换机接收到的流量的转发流表项。
本发明实施例中,转发流表项可以包括用于转发流量的目标输出端口的标识。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息以及目标输出端口对应的计表项的标识,可选的,转发流表项还可以包括业务的源地址信息以及业务的目的地址信息等,本发明实施例不做限定。
本发明实施例中,控制器接收到写入值后,根据写入值可以确定出交换机上每个输出端口的实时流速率的速率范围,并从不同输出端口的实时流速率的速率范围分析出交换机的输出端口中最为空闲的输出端口,且控制器为交换机分配最为空闲的输出端口作为交换机转发流量的转发路径,从而实现负载均衡。
S405、控制器向交换机发送转发流表项。
本发明实施例中,控制器向交换机发送转发流表项以使交换机利用转发流表项中的目标输出端口转发流量。
实施本发明实施例能够使控制器根据交换机发送的写入值分析出交换机的输出端口的实时流速率的速率范围,并根据每个输出端口的实时流速率的速率范围分析出最为空闲的输出端口并将该最为空闲的输出端口作为交换机转发流量的目标输出端口,从而更好的实现负载均衡。
请参阅图5,图5是本发明实施例公开的又一种负载均衡的实现方式的流程示意图。如图5所示,该方法可以包括以下步骤:
S501、控制器创建与交换机接收到的流量所属的业务对应的第二流表项以及每个输出端口的计表项。
S502、控制器向交换机发送第二流表项以及每个输出端口的计表项。
本发明实施例中,每个输出端口的计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值,第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表项的命令以及上报流量到控制器的命令。
本发明实施例中,计表项包括的预设速率值的个数越多,控制器分析出的实时流速率的速率范围越精确,且每个预设速率值对应的写入值的范围可以是0~264-1,本发明实施例不做限定。
S503、交换机接收控制器发送的第二流表项以及每个输出端口的计表项。
S504、交换机接收到流量后查询是否存在用于转发流量的第一流表项。
本发明实施例中,第一流表项可以包括用于转发流量的输出端口的标识。
本发明实施例中,若步骤S504的查询结果为是,则交换机利用第一流表项中的输出端口的标识查找到对应的输出端口,并通过该输出端口转发流量;若步骤S504的查询结果为否,则执行步骤S505。
S505、若不存在用于转发流量的第一流表项,交换机则根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值。
作为一种可选的实施方式,交换机根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值的方式可以具体为:
交换机根据第二流表项包括的每个输出端口的计表项的标识获取每个输出端口的计表项;
交换机根据每个输出端口的实时流速率从每个输出端口的计表项的预设速率值中查询出小于实时流速率的最大速率值;
交换机确定每个最大速率值对应的写入值,以作为每个输出端口的实时流速率对应的写入值。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以采用写元数据的方式进行记录。
S506、交换机向控制器发送写入值。
本发明实施例中,写入值可以包含交换机向控制器发送的流量的上报信息中。
S507、控制器接收交换机发送的写入值。
S508、控制器根据写入值确定每个输出端口的实时流速率,并创建用于转发流量的转发流表项。
本发明实施例中,转发流表项可以包括用于转发流量的目标输出端口的标识。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息以及目标输出端口对应的计表项的标识,可选的,转发流表项还可以包括业务的源地址信息以及业务的目的地址信息等,本发明实施例不做限定。
本发明实施例中,控制器接收到写入值后,根据写入值可以确定出交换机上每个输出端口的实时流速率的速率范围,并从不同输出端口的实时流速率的速率范围分析出交换机的输出端口中最为空闲的输出端口,且控制器为交换机分配最为空闲的输出端口作为交换机转发流量的转发路径,从而实现负载均衡。
S509、控制器向交换机发送转发流表项。
S510、交换机接收控制器发送的转发流表项。
S511、交换机利用转发流表项中的目标输出端口转发流量。
实施本发明实施例可以使控制器获取交换机输出端口的实时流速率的速率范围并根据获取到的实时流速率的速率范围分配转发路径,从而更好的实现负载均衡。
请参阅图10,图10是本发明实施例公开的一种交换机的结构示意图。如图10所示,该交换机1000可以包括确定模块1001、第一输出模块1002、输入模块1003以及第二输出模块1004,其中:
确定模块1001用于当不存在用于转发交换机1000接收到的流量的第一流表项时,根据第二流表项和每个输出端口的计表项确定每个输出端口的实时流速率对应的写入值。
本发明实施例中,交换机1000的每个输出端口都有一个与之对应的计表项,且每个计表项可以包括至少一个预设速率值以及每个预设速率值对应的写入值,第二流表项可以包括每个输出端口的计表项的标识、执行每个输出端口的计表项的命令以及上报流量到控制器的命令,且第二流表项与交换机1000接收到的流量所属的业务对应。
本发明实施例中,计表项包括的预设速率值的个数越多,控制器分析出的实时流速率的速率范围越精确,且每个预设速率值对应的写入值的范围可以是0~264-1,本发明实施例不做限定。
作为一种可选的实施方式,确定模块1001可以具体用于:
根据第二流表项包括的每个输出端口的计表项的标识获取每个输出端口的计表项;
根据每个输出端口的实时流速率从每个输出端口的计表项的预设速率值中查询出小于实时流速率的最大速率值;
确定每个最大速率值对应的写入值,以作为每个输出端口的实时流速率对应的写入值。
作为一种可选的实施方式,每个输出端口的计表项中的写入值可以采用写元数据的方式进行记录。
第一输出模块1002用于向控制器发送流量的上报信息。
本发明实施例中,上报信息包括确定模块1001确定出的每个输出端口的实时流速率对应的写入值。
本发明实施例中,第一输出模块1002可以向控制器以packet_in的方式发送流量的上报信息,以使控制器根据写入值确定每个输出端口的实时流速率并创建用于转发流量的转发流表项,转发流表项可以包括用于转发流量的目标输出端口的标识。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息(如业务的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的方式发送流量的上报信息,以使控制器根据写入值确定每个输出端口的实时流速率并创建用于转发流量的转发流表项,转发流表项可以包括用于转发流量的目标输出端口的标识。
作为一种可选的实施方式,转发流表项还可以包括业务的标识信息(如业务的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(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明实施例所提供的一种负载均衡的实现方法及设备、系进行了详细介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (44)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN105210332A CN105210332A (zh) 2015-12-30
CN105210332B true CN105210332B (zh) 2018-09-28

Family

ID=54331553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480000471.0A Active CN105210332B (zh) 2014-04-21 2014-04-21 一种负载均衡的实现方法及设备、系统

Country Status (3)

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

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106817299B (zh) 2015-11-27 2019-11-29 新华三技术有限公司 软件定义网络的表项生成方法和装置以及报文转发方法
WO2017203327A1 (en) * 2016-05-25 2017-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Packet forwarding using vendor extension in a software-defined networking (sdn) system
CN109792330B (zh) * 2016-11-04 2021-06-22 华为技术有限公司 传输信息的方法、网络设备和终端设备
CN108123878B (zh) * 2016-11-30 2020-12-15 华为技术有限公司 一种路由方法、装置及数据转发设备
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 浙江大学 一种针对多业务的标准化数据面动态重构方法
WO2014057375A3 (en) * 2012-10-08 2014-06-05 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 杭州华三通信技术有限公司 流量转发方法和装置
WO2014057375A3 (en) * 2012-10-08 2014-06-05 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks
CN103731307A (zh) * 2013-12-30 2014-04-16 浙江大学 一种针对多业务的标准化数据面动态重构方法

Also Published As

Publication number Publication date
US20170041234A1 (en) 2017-02-09
WO2015161409A1 (zh) 2015-10-29
US10341235B2 (en) 2019-07-02
CN105210332A (zh) 2015-12-30

Similar Documents

Publication Publication Date Title
CN105210332B (zh) 一种负载均衡的实现方法及设备、系统
CN104702522B (zh) 软件定义网络中路由数据的计算机实现方法、装置、控制器
CN103986651B (zh) 一种软件定义网络控制器及其控制方法
WO2017032253A1 (zh) 一种数据传输方法、使用该方法的交换机以及网络控制系统
CN102783097B (zh) 分组转发系统、控制设备、转发设备以及用于准备处理规则的方法
CN106059811B (zh) 通信系统、控制装置、分组转发路径控制方法
CN107135158A (zh) 一种多路径传输中最优路径选择方法
CN104158745B (zh) 一种实现数据包转发的方法及系统
US20200177495A1 (en) Route control method and route setting device
CN108400934A (zh) 软件定义网络控制器、服务功能链系统及路径追踪方法
CN109962850A (zh) 实现分段路由的方法和控制器及计算机可读存储介质
CN105409169B (zh) 一种多路径转发规则的构造方法、装置及系统
CN105993150A (zh) 增加网络设备中的分组处理速率
US20170171080A1 (en) System and Method to Analyze Congestion in Low Latency Network
US11451494B2 (en) Packet order recovery in a programmable edge switch in a data center network
CN108777646A (zh) 流量监控方法及装置
JP2018107791A5 (zh)
US9432295B2 (en) Systems and methods for high throughput traffic pattern generation
CN104486218B (zh) 一种基于sdn的mpls网络控制系统及方法
CN105264844B (zh) 软件定义网络的路由方法、装置和设备
CN108028805A (zh) 一种带内软件定义网络中的控制流量均衡的系统和方法
CN105099721B (zh) 维护组播成员的方法及设备
CN108683607A (zh) 虚拟机流量控制方法、装置和服务器
CN112995036B (zh) 网络流量的调度方法及装置
CN108809752A (zh) 一种网络流量的自适应监控方法、装置、npb设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant