[go: up one dir, main page]

CN105743804A - Data flow control method and system - Google Patents

Data flow control method and system Download PDF

Info

Publication number
CN105743804A
CN105743804A CN201610079738.0A CN201610079738A CN105743804A CN 105743804 A CN105743804 A CN 105743804A CN 201610079738 A CN201610079738 A CN 201610079738A CN 105743804 A CN105743804 A CN 105743804A
Authority
CN
China
Prior art keywords
data flow
flow table
match
switch
data
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.)
Granted
Application number
CN201610079738.0A
Other languages
Chinese (zh)
Other versions
CN105743804B (en
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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201610079738.0A priority Critical patent/CN105743804B/en
Publication of CN105743804A publication Critical patent/CN105743804A/en
Application granted granted Critical
Publication of CN105743804B publication Critical patent/CN105743804B/en
Expired - Fee Related 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

Landscapes

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

Abstract

本发明涉及通信领域,公开了一种数据流控制方法和系统。该方法包括:计算软件定义网络SDN中各交换机节点的数据流表请求量;根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值,以均衡各个交换机节点的数据流。本发明通过对网路数据流进行路由优化,实现网络中交换机之间的负载均衡,充分利用有限的流表处理能力和流表缓存空间,提高网络资源的利用效率。

The invention relates to the communication field, and discloses a data flow control method and system. The method includes: calculating the data flow table request amount of each switch node in the software-defined network SDN; optimizing the weight of each link in the SDN according to the aggregation cost of each switch node and the data flow table request amount of each switch node, To balance the data flow of each switch node. The invention realizes the load balance between the switches in the network by optimizing the route of the network data flow, fully utilizes the limited flow table processing capability and the flow table cache space, and improves the utilization efficiency of network resources.

Description

一种数据流控制方法和系统A data flow control method and system

技术领域technical field

本发明涉及网络领域,具体地,涉及一种数据流控制方法和系统。The present invention relates to the network field, in particular to a data flow control method and system.

背景技术Background technique

软件定义网络SDN中,交换设备在数据平面根据流表进行高速的数据转发,控制器在控制平面负责进行路由计算、流表生成和维护等工作,从而使得能够更加合理地分配网络资源。SDN旨在实现网络互联和网络行为的定义和开放式的接口,从而支持未来各种新型网络体系结构和新型业务的创新。与原有TCP/IP的细腰架构不同,SDN将控制功能从传统的分布式网络设备中迁移到可控的计算设备中,最终通过开放可编程的软件模式来实现网络的自动化控制功能。In the software-defined network SDN, the switching device performs high-speed data forwarding according to the flow table on the data plane, and the controller is responsible for routing calculation, flow table generation and maintenance on the control plane, so that network resources can be allocated more reasonably. SDN aims to realize the definition and open interface of network interconnection and network behavior, so as to support the innovation of various new network architectures and new services in the future. Different from the thin-waisted architecture of the original TCP/IP, SDN migrates the control function from the traditional distributed network equipment to the controllable computing equipment, and finally realizes the automatic control function of the network through the open and programmable software mode.

在SDN网络中,当到达交换机的数据流没有匹配的流表项时,会将该数据流的第一个数据包发送给控制器。控制器计算转发路径,并下发给相应的交换机。交换机安装转发规则需要一定的时间,当数据量很大时,由于交换机的流表安装速度和控制器的流表处理能力有限,可能在交换机和控制器同时出现瓶颈。In an SDN network, when a data flow arriving at a switch has no matching flow entry, the first data packet of the data flow will be sent to the controller. The controller calculates the forwarding path and sends it to the corresponding switch. It takes a certain amount of time for the switch to install the forwarding rules. When the amount of data is large, due to the limited installation speed of the flow table of the switch and the limited processing capacity of the flow table of the controller, bottlenecks may occur on both the switch and the controller.

为了解决该问题,现有技术中提供了如下的技术方案:In order to solve this problem, the following technical solutions are provided in the prior art:

通过采用聚类或模糊匹配的方法把数据流归类,控制器可以同时处理一类数据流,而不是单个流,来减轻负担。数据流匹配规则越宽松,例如采用位数更少的掩码,被划分的类型越少,控制器负担越轻。但是当该技术方案采用更短的子网掩码进行数据流匹配时,网络中数据流的粒度增大。网络管理员对数据流管控的精确度下降,难以进行精确的数据过滤、访问控制等操作。同时,也增加了网络中链路、存储空间等资源的分配粒度,无法实现网络资源的高效利用。By using clustering or fuzzy matching to classify data streams, the controller can simultaneously process a class of data streams instead of a single stream to reduce the burden. The looser the data flow matching rules, such as using a mask with fewer bits, the fewer types are divided, and the lighter the burden on the controller. However, when the technical solution uses a shorter subnet mask for data flow matching, the granularity of data flow in the network increases. The accuracy of data flow control by network administrators is reduced, and it is difficult to perform precise data filtering, access control and other operations. At the same time, it also increases the allocation granularity of resources such as links and storage space in the network, which cannot realize efficient utilization of network resources.

动态流调整策略,其关注通过交换机的“大象流”。控制器为超过特定速率的流估计数据传输请求,计算最优路径,并安装基于特定流的转发流表项。该技术需要交换机实时的针对每个流进行统计,检测并分析是否符合“大象流”的特点。如果发现“大象流”,再通知控制器行针对性的处理。在网络负载较重的情况下,这些实时监测和额外计算工作将进一步加重交换机和控制器的负担,不利于提高网络性能。Dynamic flow shaping policies that focus on "elephant flows" through the switch. The controller estimates data transfer requests for flows exceeding a certain rate, calculates the optimal path, and installs flow-specific forwarding flow entries. This technology requires the switch to collect statistics on each flow in real time to detect and analyze whether it conforms to the characteristics of "elephant flow". If "elephant flow" is found, the controller will be notified for targeted processing. In the case of heavy network load, these real-time monitoring and additional computing work will further increase the burden on switches and controllers, which is not conducive to improving network performance.

发明内容Contents of the invention

本发明的目的是提供一种数据流控制方法和系统,以均衡SDN中各个交换机的数据流。The purpose of the present invention is to provide a data flow control method and system to balance the data flow of each switch in the SDN.

为了实现上述目的,本发明提供一种种数据流控制方法,该方法包括:计算软件定义网络SDN中各交换机节点的数据流表请求量;根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值,以均衡各个交换机节点的数据流;其中第n个交换机的汇聚代价 Φ ( L o a d ( n ) ) = Σ i Φ ( Match i ) × Load i ( n ) , Φ(Matchi)=γbConv(Matchi),Conv(Matchi)=Fup(Matchb)/Fup(Matchi),Load(n)为第n个交换机的数据转发速率,Loadi(n)为第n个交换机采用数据流表匹配方式Matchi的数据转发速率,Fup(Matchb)为采用基准数据流表匹配方式Matchb的数据流表请求量,Fup(Matchi)为采用匹配方式Matchi的数据流表请求量,n为整数,i为整数,γb为预设的交换机转发1比特数据的汇聚代价。In order to achieve the above object, the present invention provides a data flow control method, the method comprising: calculating the data flow table request amount of each switch node in the software-defined network SDN; according to the aggregation cost of each switch node and the data of each switch node The flow table request volume optimizes the weight of each link in the SDN to balance the data flow of each switch node; the aggregation cost of the nth switch Φ ( L o a d ( no ) ) = Σ i Φ ( match i ) × load i ( no ) , Φ(Match i )=γ b Conv(Match i ), Conv(Match i )=F up (Match b )/F up (Match i ), Load(n) is the data forwarding rate of the nth switch, Load i (n) is the data forwarding rate of the nth switch using the data flow table matching method Match i , F up (Match b ) is the data flow table request amount using the reference data flow table matching method Match b , F up (Match i ) is the request amount of the data flow table using the matching mode Match i , n is an integer, i is an integer, and γ b is the convergence cost of forwarding 1-bit data by the preset switch.

优选地,根据下式计算Loadi(n):Preferably, Load i (n) is calculated according to the following formula:

其中MatchP为最精确的数据流表匹配方式,MatchK为最宽松的数据流表匹配方式,P为整数,K为整数,K大于或等于P+1,Fup(n)为第n个交换机的数据流表请求量的上限,Fup(i)为数据流表的超时时间T内的流表请求量,Fi(n)为超时时间T内第n个交换机转发的数据流个数,Fsize为平均单个数据流的大小。Among them, Match P is the most accurate data flow table matching method, Match K is the most relaxed data flow table matching method, P is an integer, K is an integer, K is greater than or equal to P+1, and F up (n) is the nth The upper limit of the data flow table request amount of the switch, F up (i) is the flow table request amount within the timeout time T of the data flow table, F i (n) is the number of data flows forwarded by the nth switch within the timeout time T , F size is the average size of a single data stream.

优选地,第n个交换机节点的数据流表请求量其中αb为单位时间内第n个交换机采用基准匹配方式Matchb的数据流表请求量与交换机转发的数据流总数的比值。Preferably, the data flow table request amount of the nth switch node Where α b is the ratio of the data flow table request volume of the nth switch using the benchmark matching method Match b to the total number of data flows forwarded by the switch per unit time.

优选地,根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值包括根据所述各交换机节点的汇聚代价并以所述各交换机节点的数据流表请求量小于或等于所述各交换机节点的数据流表请求量上限UB为边界条件最优化SDN中各个链路的权值。Preferably, optimizing the weight of each link in the SDN according to the aggregation cost of each switch node and the data flow table request amount of each switch node includes: The request amount of the data flow table is less than or equal to the upper limit of the request amount of the data flow table of each switch node UB is a boundary condition to optimize the weight of each link in the SDN.

优选地,根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值包括根据下式最优化SDN中各个链路的权值:Preferably, optimizing the weight of each link in the SDN according to the aggregation cost of each switch node and the data flow table request amount of each switch node includes optimizing the weight of each link in the SDN according to the following formula:

{{ minmin (( ΣΣ nno ∈∈ NN ΦΦ (( LL oo aa dd (( nno )) )) )) ΣΣ ii ≤≤ KK αα bb Loadload ii (( nno )) // CC oo nno vv (( Matchmatch ii )) ≤≤ Uu BB ..

优选地,根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值包括通过遗传算法求解最短路径来最优化SDN中各个链路的权值。Preferably, optimizing the weight of each link in the SDN according to the aggregation cost of each switch node and the request amount of the data flow table of each switch node includes optimizing the weight of each link in the SDN by solving the shortest path through a genetic algorithm .

相应地,本发明提供了一种数据流控制系统,该系统包括软件定义网络SDN中各交换机节点和网络控制器,该网络控制器包括:计算模块,用于计算软件定义网络SDN中各交换机节点的数据流表请求量;均衡模块,用于根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值,以均衡各交换机节点的数据流;其中第n个交换机的汇聚代价 Φ ( L o a d ( n ) ) = Σ i Φ ( Match i ) × Load i ( n ) , Φ(Matchi)=γbConv(Matchi),Conv(Matchi)=Fup(Matchb)/Fup(Matchi),Load(n)为第n个交换机的数据转发速率,Loadi(n)为第n个交换机采用数据流表匹配方式Matchi的数据转发速率,Fup(Matchb)为采用基准数据流表匹配方式Matchb的数据流表请求量,Fup(Matchi)为采用匹配方式Matchi的数据流表请求量,n为整数,i为整数,γb为预设的交换机转发1比特数据的汇聚代价。Correspondingly, the present invention provides a data flow control system, the system includes each switch node in the software-defined network SDN and a network controller, and the network controller includes: a calculation module, used to calculate each switch node in the software-defined network SDN The amount of data flow table requests; the balance module is used to optimize the weight of each link in the SDN according to the aggregation cost of each switch node and the data flow table request amount of each switch node, so as to balance the data flow of each switch node ; where the aggregation cost of the nth switch Φ ( L o a d ( no ) ) = Σ i Φ ( match i ) × load i ( no ) , Φ(Match i )=γ b Conv(Match i ), Conv(Match i )=F up (Match b )/F up (Match i ), Load(n) is the data forwarding rate of the nth switch, Load i (n) is the data forwarding rate of the nth switch using the data flow table matching method Match i , F up (Match b ) is the data flow table request amount using the reference data flow table matching method Match b , F up (Match i ) is the request amount of the data flow table using the matching mode Match i , n is an integer, i is an integer, and γ b is the convergence cost of forwarding 1-bit data by the preset switch.

优选地,计算模块根据下式计算Loadi(n):Preferably, the calculation module calculates Load i (n) according to the following formula:

其中MatchP为最精确的数据流表匹配方式,MatchK为最宽松的数据流表匹配方式,P为整数,K为整数,K大于或等于P+1,Fup(n)为第n个交换机的数据流表请求量的上限,Fup(i)为数据流表的超时时间T内的流表请求量,Fi(n)为超时时间T内第n个交换机转发的数据流个数,Fsize为平均单个数据流的大小。Among them, Match P is the most accurate data flow table matching method, Match K is the most relaxed data flow table matching method, P is an integer, K is an integer, K is greater than or equal to P+1, and F up (n) is the nth The upper limit of the data flow table request amount of the switch, F up (i) is the flow table request amount within the timeout time T of the data flow table, F i (n) is the number of data flows forwarded by the nth switch within the timeout time T , F size is the average size of a single data stream.

优选地,第n个交换机节点的数据流表请求量其中αb为单位时间内第n个交换机采用基准匹配方式Matchb的数据流表请求量与交换机转发的数据流总数的比值。Preferably, the data flow table request amount of the nth switch node Where α b is the ratio of the data flow table request volume of the nth switch using the benchmark matching method Match b to the total number of data flows forwarded by the switch per unit time.

优选地,均衡模块还用于根据各交换机节点的汇聚代价并以所述各交换机节点的数据流表请求量小于或等于所述各交换机节点的数据流表请求量上限UB为边界条件最优化SDN中各个链路的权值。Preferably, the balance module is also used to optimize the SDN according to the aggregation cost of each switch node and with the data flow table request amount of each switch node being less than or equal to the upper limit UB of the data flow table request amount of each switch node as a boundary condition The weight of each link in .

优选地,均衡模块还用于根据下式最优化SDN中各个链路的权值:Preferably, the balance module is also used to optimize the weight of each link in the SDN according to the following formula:

{{ minmin (( ΣΣ nno ∈∈ NN ΦΦ (( LL oo aa dd (( nno )) )) )) ΣΣ ii ≤≤ KK αα bb Loadload ii (( nno )) // CC oo nno vv (( Matchmatch ii )) ≤≤ Uu BB ..

优选地,均衡模块还用于通过遗传算法求解最短路径来最优化SDN中各个链路的权值。Preferably, the balance module is also used to optimize the weight of each link in the SDN by solving the shortest path through a genetic algorithm.

本方法从SDN中交换机和控制器负载均衡的角度出发,以节点性能作为主要限制因素,通过链路权值调整进行流量工程。本发明通过对网路数据流进行路由优化,实现网络中交换机之间的负载均衡,充分利用有限的流表处理能力和流表缓存空间,提高网络资源的利用效率,在网络有突发流量等重负载场景下,避免或减轻交换机和控制器的过载现象,提高网络吞吐量,减小数据包的端到端时延,优化网络性能。This method starts from the perspective of load balancing between switches and controllers in SDN, takes node performance as the main limiting factor, and performs traffic engineering through link weight adjustment. The present invention realizes the load balance between the switches in the network by optimizing the route of the network data stream, fully utilizes the limited flow table processing capability and the flow table cache space, improves the utilization efficiency of network resources, and has burst traffic in the network, etc. In heavy load scenarios, avoid or reduce the overload of switches and controllers, improve network throughput, reduce end-to-end delay of data packets, and optimize network performance.

本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。Other features and advantages of the present invention will be described in detail in the detailed description that follows.

附图说明Description of drawings

附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:The accompanying drawings are used to provide a further understanding of the present invention, and constitute a part of the description, together with the following specific embodiments, are used to explain the present invention, but do not constitute a limitation to the present invention. In the attached picture:

图1是SDN中流量工程示意图;Figure 1 is a schematic diagram of traffic engineering in SDN;

图2是遗传算法求解路由优化问题流程图;Fig. 2 is a flow chart of genetic algorithm solving routing optimization problem;

图3是数据流表请求量和平均匹配精度示意图;Fig. 3 is a schematic diagram of data flow table request volume and average matching accuracy;

图4是代价函数与负载量关系示意图;Fig. 4 is a schematic diagram of the relationship between the cost function and the load;

图5是网络控制器示意图。Fig. 5 is a schematic diagram of a network controller.

附图标记说明Explanation of reference signs

100计算模块200均衡模块100 calculation modules 200 equalization modules

具体实施方式detailed description

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。Specific embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings. It should be understood that the specific embodiments described here are only used to illustrate and explain the present invention, and are not intended to limit the present invention.

在SDN网络中,有数据到达交换机时,交换机会查找其数据流表缓存中的路由表项。如果有匹配的数据流表项,则按照对应的动作进行操作,例如转发给特定的端口。如果没有匹配项,则会第一个包发送给控制器。控制器根据全局视图计算转发路径,并下发给该路径涉及到的所有交换机。对于该数据流、或者同类数据流的后续数据包,转发路径中的各个交换机会根据其安装的数据流表项进行转发。数据流表中的数据流表项具有一定的生存时间,超时的数据流表项将被删除。In the SDN network, when data arrives at the switch, the switch will look up the routing table entries in its data flow table cache. If there is a matching data flow entry, take the corresponding action, such as forwarding to a specific port. If there is no match, the first packet is sent to the controller. The controller calculates the forwarding path according to the global view, and delivers it to all the switches involved in the path. For the data flow or the subsequent data packets of the same type of data flow, each switch in the forwarding path will forward according to the data flow entries installed therein. The data flow entry in the data flow table has a certain lifetime, and the data flow entry that expires will be deleted.

根据数据流表进行处理时,会将数据包与该数据流表中的数据流表项进行匹配和选择。其中,匹配字段(MatchFields)可以从数据包中提取,包括源MAC地址,目的MAC地址,Vlanid,Vlan优先级,源IP地址,目的IP地址,TCP/UDP的源端口号和目的端口号等共计12个域。每一个域可以是确定值或任意,或通过掩码实现精确匹配。2-4层的数据流表精确匹配,使网络的管理更加简化和灵活。When processing according to the data flow table, the data packet is matched and selected with the data flow entries in the data flow table. Among them, the matching field (MatchFields) can be extracted from the data packet, including source MAC address, destination MAC address, Vlanid, Vlan priority, source IP address, destination IP address, TCP/UDP source port number and destination port number, etc. 12 domains. Each field can be a certain value or arbitrary, or an exact match can be achieved through a mask. The precise matching of the data flow tables on layers 2-4 makes network management more simplified and flexible.

但由于控制器和交换机的性能有限,也面临着较大的挑战。例如,当交换机的数量增加时,发往控制器的数据流表请求量会呈指数级增加。目前NOX控制器的处理分组进入(packet-in)消息的能力是30K/s。单个控制器的集中控制可能会造成系统的性能瓶颈。这使得交换机发送给控制器的数据流表请求量受到限制,一般每秒不超过60-330条。在一定的数据流表更新数量限制下,交换机转发的数据量越大,需要的数据流表请求量越多。为了不超过控制器的性能极限,需要减小数据流表请求量。However, due to the limited performance of controllers and switches, they are also facing greater challenges. For example, when the number of switches increases, the amount of data flow table requests sent to the controller will increase exponentially. Currently, the NOX controller's ability to process packet-in messages is 30K/s. Centralized control by a single controller may cause a performance bottleneck in the system. This limits the amount of data flow table requests sent by the switch to the controller, generally no more than 60-330 per second. Under a certain limit on the number of data flow table updates, the larger the amount of data forwarded by the switch, the more data flow table requests are required. In order not to exceed the performance limit of the controller, it is necessary to reduce the amount of data flow table requests.

另外,对于交换机来说,每个数据流表的安装大约需要10ms时延,数据流表项更新的性能极限在800-1000条/秒。交换机中的数据流表分为线性表和哈希表,其中线性表按照通配符进行查找,遍历方式,时间复杂度为O(n),哈希表按照确定的匹配值进行匹配,也就是数据流表中的12元组,时间复杂度为O(1)。由于OpenFlow设备需要支持这种多元组查找的数据流表转发方式,也需要支持该架构的网络芯片。虽然现有TCAM技术能够支持这种特性,但大容量TCAM的价格极其昂贵,使得数据流表空间有限。线性表的数据流表容量一般为100,单个哈希表的数据流表容量为8K,64K或128K。在实际应用中,难以应对灵活和大规模的网络流量。In addition, for the switch, the installation of each data flow table requires about 10ms delay, and the performance limit of updating data flow entries is 800-1000 entries/second. The data flow table in the switch is divided into a linear table and a hash table, where the linear table is searched according to wildcards, the traversal method, the time complexity is O(n), and the hash table is matched according to the determined matching value, that is, the data flow 12-tuple in the table, the time complexity is O(1). Since the OpenFlow device needs to support this data flow table forwarding method of tuple lookup, a network chip that supports this architecture is also required. Although the existing TCAM technology can support this feature, the price of a large-capacity TCAM is extremely expensive, so the data flow table space is limited. The data flow table capacity of a linear table is generally 100, and the data flow table capacity of a single hash table is 8K, 64K or 128K. In practical applications, it is difficult to deal with flexible and large-scale network traffic.

对于SDN网络来说,如果数据流的路由规划不够合理,随着网络中数据请求量的增加,难免有些控制器会负载量过大。此时,会出现数据流表无法及时请求和更新。造成导致网络拥塞、数据传输时延增加、网络吞吐量和QoS下降。如果仅通过降低数据流表匹配精确度解决问题,又将影响网络的流控性能。使得仍有大量交换机处于轻负载状态,造成转发能力、缓存空间等网络资源的浪费。如图1所示,存在交换机A-E,图1的(a)中,由于A->B->C的数据请求过多,造成交换机A、交换机B和交换机C的过载。图1的(b)中通过进行流量工程,将部分流量的路由改为A->D->E->C,达到交换机之间的负载均衡。For the SDN network, if the routing planning of the data flow is not reasonable enough, as the amount of data requests in the network increases, it is inevitable that some controllers will be overloaded. At this time, the data flow table may not be requested and updated in time. It causes network congestion, increased data transmission delay, and decreased network throughput and QoS. If the problem is solved only by reducing the matching accuracy of the data flow table, it will affect the flow control performance of the network. As a result, a large number of switches are still under light load, resulting in a waste of network resources such as forwarding capability and buffer space. As shown in Figure 1, there are switches A-E. In (a) of Figure 1, due to the excessive data requests from A->B->C, switch A, switch B and switch C are overloaded. In (b) of Figure 1, through traffic engineering, the route of some traffic is changed to A->D->E->C to achieve load balancing between switches.

不同精确度的数据流表匹配方式将显著影响交换机的数据流表请求量和数据流表空间使用量。本发明首先对数据流表项的匹配精确度进行定义。数据流表项的匹配字段可以包括以太网源、目的地址,IP源、目的地址等共计12个域。在本发明中,主要考虑IP源地址(src),IP目的地址(dst)和目的端口号(port)这3个匹配项。不同的子网掩码组合出不同的匹配精度。如下表所示,定义如下4种数据流表匹配方式及其匹配精确度。Data flow table matching methods with different accuracy will significantly affect the amount of data flow table requests and data flow table space usage of the switch. The present invention firstly defines the matching accuracy of the data flow entry. The matching fields of the data flow entry may include a total of 12 fields such as Ethernet source and destination addresses, IP source and destination addresses, and the like. In the present invention, three matching items of IP source address (src), IP destination address (dst) and destination port number (port) are mainly considered. Different subnet masks combine to produce different matching accuracy. As shown in the table below, define the following four data flow table matching methods and their matching accuracy.

表数据流表匹配方式和精确度表Table Data Flow Table Matching Mode and Accuracy Table

当交换机连接的网段或主机数量增加,网络流量波动较大,或网络初始化时,网络中数据流的数量和种类增加,数据流无法与交换机中缓存数据流表匹配的概率增大,交换机需要发送大量的packet-in消息,向控制器请求数据流表。由于控制器对packet-in的处理能力有限,所有相连交换机的数据流表请求数量Fup存在上限,Fup≤UB。When the number of network segments or hosts connected to the switch increases, the network traffic fluctuates greatly, or when the network is initialized, the number and types of data flows in the network increase, and the probability that the data flow cannot match the cached data flow table in the switch increases. Send a large number of packet-in messages to request the data flow table from the controller. Due to the limited processing capability of the controller for packet-in, there is an upper limit for the number of data flow table requests F up of all connected switches, and F up ≤ UB.

随着交换机转发的数据量的增加,需要的数据流表请求量越多。为了不超过数据流表请求数量的限制,必须采用掩码长度更短的匹配方式。此时,控制器对网络中数据流的控制能力和管理的灵活性下降。为了体现精确匹配带来的收益,定义流的汇聚代价与该匹配模式对流的汇聚能力成正比。As the amount of data forwarded by the switch increases, more data flow table requests are required. In order not to exceed the limit on the number of data flow table requests, a matching method with a shorter mask length must be used. At this time, the controller's ability to control the data flow in the network and the flexibility of management are reduced. In order to reflect the benefits brought by exact matching, the aggregation cost of the defined flow is proportional to the aggregation ability of the matching mode for the flow.

基准匹配方式可根据网络中的流量情况和交换机的性能确定。例如,接入交换机的基准匹配方式可选择/32src+/32dst+port,核心交换机的基准匹配方式可选择/24dst+/24src+port。基准匹配方式可以理解为,根据交换机流量统计数据,在流量最小的情况下,所有数据流能达到的最精确匹配程度。The baseline matching method can be determined according to the traffic condition in the network and the performance of the switch. For example, you can select /32src+/32dst+port as the base matching mode of the access switch, and /24dst+/24src+port as the base matching mode of the core switch. The benchmark matching method can be understood as the most accurate matching degree that all data flows can achieve when the traffic is the smallest according to the switch traffic statistics.

设交换机的转发数据流的平均速率为F个数据流每秒时,采用基准匹配方式Matchb时的数据流表请求量为Fup(Matchb)=αbF,定义此时交换机转发1比特数据的汇聚代价为γb,以及不同匹配模式Matchi对流的汇聚能力为When the average rate of the forwarding data flow of the switch is F data flows per second, the data flow table request volume when the benchmark matching method Match b is adopted is F up (Match b )=α b F, and it is defined that the switch forwards 1 bit at this time The aggregation cost of data is γ b , and the aggregation ability of different matching modes Match i is

Conv(Matchi)=Fup(Matchb)/Fup(Matchi)Conv(Match i )=F up (Match b )/F up (Match i )

采用Matchi转发1比特数据时的汇聚代价为The aggregation cost when using Match i to forward 1-bit data is

Φ(Matchi)=γbConv(Matchi)Φ(Match i )=γ b Conv(Match i )

设网络中共有N个交换机节点,其中,第n个交换机总数据转发速率为Load(n)(Mbps),其中采用Matchi转发的数据量为Loadi(n)(Mbps),则下面在给定Load(n)的情况下,计算匹配方案Loadi(n)。Assuming that there are N switch nodes in the network, the total data forwarding rate of the nth switch is Load(n)(Mbps), and the amount of data forwarded by Match i is Load i (n)(Mbps), then In the following, given Load(n), the matching scheme Load i (n) is calculated.

设数据流的最宽松匹配方式为MatchK时,交换机能转发的最大数据量为MaxLoadK。为了实现尽可能精确的匹配,MatchK应满足以下条件的最小值。When the loosest matching method of the data flow is Match K , the maximum amount of data that the switch can forward is MaxLoad K. In order to achieve as precise a match as possible, Match K should satisfy a minimum of the following conditions.

LL oo aa dd (( nno )) ≤≤ MaxLoadMaxLoad KK == ΣΣ ii ≤≤ KK Loadload ii Ff uu pp == ΣΣ ii ≤≤ KK Ff uu pp (( Matchmatch ii )) == ΣΣ ii ≤≤ KK αα bb Loadload ii (( nno )) // CC oo nno vv (( Matchmatch ii )) ≤≤ Uu BB

设该交换机所转发数据流能达到的最精确匹配为MatchP。Loadi(n)为交换机n采用第i种匹配方式的数据流量;MaxLoadi为采用第i种匹配方式,流表请求量不超过限制情况下,交换机能够处理的最大流量负载;i=1,2,…,K。Assume that the most accurate match that the data flow forwarded by the switch can achieve is Match P . Load i (n) is the data traffic of switch n using the i-th matching method; MaxLoad i is the maximum traffic load that the switch can handle when the i-th matching method is adopted and the flow table request volume does not exceed the limit; i=1, 2, ..., K.

(1)MaxLoadi和P的解法举例(1) Examples of solutions for MaxLoad i and P

假设网络中对交换机的流量监测数据已知。监测过程中,设定流表的超时时间为T=10s时,下面分析流表请求量与交换机转发数据量之间的比例关系。It is assumed that the traffic monitoring data of switches in the network is known. During the monitoring process, when the timeout period of the flow table is set as T=10s, the proportional relationship between the request amount of the flow table and the amount of data forwarded by the switch is analyzed below.

已知交换机单位时间平均数据转发总量Load(n)=689.45Mbps,则10秒转发的总数据量为It is known that the total amount of data forwarded by the switch per unit time is Load(n)=689.45Mbps, then the total amount of data forwarded in 10 seconds is

LoadT(n)=Load(n)*T=689.45Mbit/s*10s=6.8945GbitLoad T (n)=Load(n)*T=689.45Mbit/s*10s=6.8945Gbit

已知平均单个数据流的大小为Fsize=0.16Mbit,可求出10S转发的数据流总量,即FT(n)=LoadT(n)/Fsize=6.8945Gbit/0.16Mbit=43.09K个。其中,Fi(n)为超时时间T内第n个交换机转发的数据流个数,Fsize为平均单个数据流的大小。Knowing that the average size of a single data flow is F size = 0.16Mbit, the total amount of data flow forwarded in 10S can be calculated, that is, F T (n) = Load T (n)/F size = 6.8945Gbit/0.16Mbit = 43.09K indivual. Wherein, F i (n) is the number of data streams forwarded by the nth switch within the timeout period T, and F size is the average size of a single data stream.

针对每一种匹配方式,已知10S的流表请求量Fup(i),则计算流表请求量与F10s的比例Pup(i)=Fup(i)/F10s如下表:For each matching method, the flow table request volume F up (i) of 10S is known, and the ratio P up (i)=F up (i)/F 10s of the flow table request volume to F 10s is calculated as follows:

类型Matchi Type Match i Match1 Match 1 Match2 Match 2 Match3 Match 3 Match4 Match 4 Fup(i)(条/秒)F up (i) (articles/second) 800800 500500 250250 220220 Pup(i)P up (i) 1.86%1.86% 1.16%1.16% 0.58%0.58% 0.51%0.51%

对于某个交换机来说,假设全部采用Matchi,计算能够容纳的最大吞吐量MaxLoadi(Mbps)。根据交换机流表更新性能的限制Fup≤330,则For a certain switch, assuming that all Match i are used, the maximum throughput MaxLoad i (Mbps) that can be accommodated is calculated. According to the limitation of update performance of switch flow table F up ≤330, then

max(Fup)=(MaxLoadi×T/Fsize)×Pup(i)=330max(F up )=(MaxLoad i ×T/F size )×P up (i)=330

解得:Solutions have to:

MaxLoad1=283.8MbpsMaxLoad 1 = 283.8Mbps

MaxLoad2=455MbpsMaxLoad 2 = 455Mbps

MaxLoad3=910MbpsMaxLoad 3 = 910Mbps

MaxLoad4=1035MbpsMaxLoad 4 = 1035Mbps

例如,已知某一交换所有端口数据转发总速率为Load(n)=800Mbps,则根据For example, it is known that the total data forwarding rate of all ports of a certain exchange is Load(n)=800Mbps, then according to

MaxLoad2<Load(n)≤MaxLoad3,解得P=2。MaxLoad 2 <Load(n)≤MaxLoad 3 , the solution is P=2.

在尽可能精确匹配的情况下,优先采用Match2匹配(P=2),剩余部分采用Match3匹配(K=3)。In the case of matching as precisely as possible, Match 2 matching (P=2) is used first, and Match 3 matching (K=3) is used for the rest.

(2)Loadi(n)解法举例:(2) Load i (n) solution example:

假设其总吞吐量为Load(n)(Mbps),其中采用匹配方式Matchi转发的数据量为Loadi(n),则Assuming that its total throughput is Load(n)(Mbps), and the amount of data forwarded by the matching method Match i is Load i (n), then

Load(n)=Load2(n)+Load3(n)=800Load(n)=Load 2 (n)+Load 3 (n)=800

交换机10S处理的数据流总数量为The total number of data streams processed by the switch 10S is

F10s(n)=Load(n)×10/0.16=50000F 10s (n) = Load (n) × 10/0.16 = 50000

其中,采用Matchi处理的数据流数量为Among them, the number of data streams processed by Match i is

Fi(n)=Loadi(n)×10/0.16F i (n) = Load i (n) × 10/0.16

则总的流表更新请求量为Then the total flow table update request amount is

Ff uu pp (( nno )) == &Sigma;&Sigma; ii == 22 ii == 33 Ff ii (( nno )) &times;&times; PP uu pp (( ii )) == Ff 22 (( nno )) &times;&times; PP uu pp (( 22 )) ++ Ff 33 (( nno )) &times;&times; PP uu pp (( 33 )) == Ff 22 (( nno )) &times;&times; 1.161.16 %% ++ Ff 33 (( nno )) &times;&times; 0.580.58 %%

根据Fup(n)≤330,得到以下方程组According to F up (n)≤330, the following equations are obtained

解得:Solutions have to:

Ff 22 (( nno )) == 68106810 Ff 33 (( nno )) == 4319043190

LL oo aa dd 22 (( nno )) == 108.96108.96 LL oo aa dd 33 (( nno )) == 691.04691.04

此时,Fup(n)=330At this time, F up (n) = 330

(3)总结Loadi(n)和P的解法(3) Summarize the solutions of Load i (n) and P

对以上例子进行抽象,即根据以下方程组计算Loadi(n):To abstract the above example, calculate Load i (n) according to the following equations:

其中MatchP为最精确的数据流表匹配方式,MatchK为最宽松的数据流表匹配方式,P为整数,K为整数。Among them, Match P is the most accurate data flow table matching method, Match K is the most loose data flow table matching method, P is an integer, and K is an integer.

当交换机的Load(n)不超过MaxLoadP+1时,将尽量多的数据流采用MatchP进行匹配,剩余部分采用MatchP+1进行匹配。即P为满足方程的MaxLoadP<Load(n)≤MaxLoadP+1的最小正整数。在尽可能精确匹配的情况下,K=min(P+1,4);在匹配精确度要求最低的情况下,K=4。When the Load(n) of the switch does not exceed MaxLoad P+1 , match as many data streams as possible using Match P , and match the rest using Match P+1 . That is, P is the smallest positive integer that satisfies the equation MaxLoad P <Load(n)≤MaxLoad P+1 . In the case of matching as precisely as possible, K=min(P+1,4); in the case of the lowest requirement for matching accuracy, K=4.

对该交换机节点的数据流表请求量估算为:The data flow table request volume of the switch node is estimated as:

Ff uu pp == &Sigma;&Sigma; ii &le;&le; KK Ff uu pp (( Matchmatch ii )) == &Sigma;&Sigma; ii &le;&le; KK &alpha;&alpha; bb Loadload ii (( nno )) // CC oo nno vv (( Matchmatch ii ))

此时,定义交换机n∈N的平均匹配精确度为:At this point, the average matching accuracy of the defined switch n∈N is:

AA cc cc uu (( nno )) == (( &Sigma;&Sigma; ii AccuAccu ii &times;&times; Loadload ii (( nno )) )) // LL oo aa dd (( nno ))

定义网络的平均匹配精确度为:Define the average matching accuracy of the network as:

AA cc cc uu == (( &Sigma;&Sigma; nno &Element;&Element; NN AA cc cc uu (( nno )) &times;&times; LL oo aa dd (( nno )) )) // &Sigma;&Sigma; nno &Element;&Element; NN LL oo aa dd (( nno ))

本发明将通过对SDN中链路权值的设置,来进行路由优化,提高网络性能,实现交换机的负载均衡。建立SDN中的OSPF权值设置优化问题模型,得到系统的优化目标函数。The present invention will optimize the route by setting the link weight in the SDN, improve the network performance, and realize the load balance of the switch. The optimization problem model of OSPF weight setting in SDN is established, and the optimization objective function of the system is obtained.

假设用G=(N,A)表示一个SDN网络,其中n∈N表示SDN网络中的一个交换机,a∈A表示SDN网络中的一条链路。流量请求矩阵D是一个N×N的矩阵,对于每个节点对(s,t)∈N×N,dst=D(s,t)代表源-目的节点之间的流量请求。控制器生成的一条数据流表确定了dst如何通过网络中的交换机完成数据传输。Suppose an SDN network is represented by G=(N,A), where n∈N represents a switch in the SDN network, and a∈A represents a link in the SDN network. The flow request matrix D is an N×N matrix, and for each node pair (s,t)∈N×N, d st =D(s,t) represents the flow request between source and destination nodes. A data flow table generated by the controller determines how d st completes the data transmission through the switches in the network.

而流量工程就是根据特定的目标函数,寻求一种选路规则,把流量请求D映射到网络中的各条链路上,使得目标函数取得最优值。例如以路径代价为目标函数的最短路径算法Dijkstra和Bellman-Ford。这些算法运算简便、使用广泛。Traffic engineering is to seek a routing rule based on a specific objective function, and map the traffic request D to each link in the network, so that the objective function obtains the optimal value. For example, the shortest path algorithm Dijkstra and Bellman-Ford with the path cost as the objective function. These algorithms are simple to operate and widely used.

链路权值设置问题就是将一个非负的整数权值wa∈[1,wmax],对应到每条边a∈A。对于给定的链路权值设置w,以及流量Demand矩阵D,可以求出各个交换机的总数据转发量Load(n)以及匹配方案Loadi(n)。The link weight setting problem is to assign a non-negative integer weight w a ∈ [1, w max ] to each edge a ∈ A. For a given link weight setting w and traffic Demand matrix D, the total data forwarding load Load(n) and matching scheme Load i (n) of each switch can be calculated.

根据汇聚代价Φ(Matchi),定义交换机的代价函数为According to the aggregation cost Φ(Match i ), the cost function of the switch is defined as

&Phi;&Phi; (( LL oo aa dd (( nno )) )) == &Sigma;&Sigma; ii &Phi;&Phi; (( Matchmatch ii )) &times;&times; Loadload ii (( nno ))

则链路权值设置问题可以表示为:寻找最优的设置方案w*=<w1 *,w2 *,...,wA *>,其中wi *表示链路i∈1,2,...A的最优权值,使得ΦOSPF(w)最小。即系统的优化目标函数为:Then the link weight setting problem can be expressed as: find the optimal setting scheme w * =<w 1 * ,w 2 * ,...,w A * >, where w i * means link i∈1,2 ,...the optimal weight of A, Make Φ OSPF(w) the smallest. That is, the optimization objective function of the system is:

&Phi;&Phi; oo pp tt == &Phi;&Phi; Oo SS PP Ff (( ww ** )) == minmin &Phi;&Phi; == minmin (( &Sigma;&Sigma; nno &Element;&Element; NN &Phi;&Phi; (( LL oo aa dd (( nno )) )) )) == minmin (( &Sigma;&Sigma; nno &Element;&Element; NN AA cc cc ee sthe s sthe s &Phi;&Phi; (( Loadload AA cc cc ee sthe s sthe s (( nno )) )) ++ &Sigma;&Sigma; nno &Element;&Element; NN CC oo rr ee &Phi;&Phi; (( Loadload CC oo rr ee (( nno )) )) ))

其中边界条件为 F u p = &Sigma; i &le; K F u p ( Match i ) = &Sigma; i &le; K &alpha; b Load i ( n ) / C o n v ( Match i ) &le; U B . where the boundary conditions are f u p = &Sigma; i &le; K f u p ( match i ) = &Sigma; i &le; K &alpha; b load i ( no ) / C o no v ( match i ) &le; u B .

(1)接入交换机(AccessSwitch)(1) Access Switch (AccessSwitch)

该交换机处于网络边缘,负责将终端主机接入网络中。转发的数据量一般,连接的链路带宽不高。由于连接了大量的终端用户,接入交换机处理的流量种类较多,数据流的源地址、目的地址、端口号等经常发生变化。交换机无法匹配到已有流表项的情况较为频繁。由于接入交换机数量较多,为了减轻对控制器的负担,边界条件设定为:The switch is at the edge of the network and is responsible for connecting end hosts to the network. The amount of data forwarded is average, and the link bandwidth of the connection is not high. Due to the connection of a large number of end users, the access switch handles many types of traffic, and the source address, destination address, port number, etc. of the data flow often change. It is more frequent that the switch cannot match the existing flow entries. Due to the large number of access switches, in order to reduce the burden on the controller, the boundary conditions are set as:

Fup≤UB=330F up ≤UB=330

(2)核心交换机(CoreSwitch)(2) Core Switch (CoreSwitch)

该交换机处于网络中心,负责大量数据的转发,连接的链路带宽较高。由于核心交换机数量较少,主要处理汇聚数据流,流量的种类和变化较少,则流表请求量较少,边界条件改为考虑安装控制器所下发的流表造成的时延,根据交换机的流表项安装时延,边界条件设定为:The switch is located in the center of the network and is responsible for the forwarding of a large amount of data, and the link bandwidth of the connection is high. Since the number of core switches is small, they mainly process aggregated data flows, and the types and changes of traffic are few, so the flow table requests are small, and the boundary conditions are changed to consider the delay caused by the flow table issued by the installation controller. According to the switch The installation delay of the flow entry, the boundary conditions are set as:

Fup≤UB=1000F up ≤UB=1000

以上边界条件的数据来源均为交换机的性能指标,SDN交换机流表请求速率约为每秒60-330个,流表项安装时延约10毫秒。具体应用时,可根据实际参数进行相应调整。The data sources for the above boundary conditions are the performance indicators of the switch. The flow table request rate of the SDN switch is about 60-330 per second, and the installation delay of the flow table item is about 10 milliseconds. In specific applications, corresponding adjustments can be made according to actual parameters.

此外区分了接入网中的交换机数量NAccess和核心网中的交换机数量NCore及对应的代价函数。In addition, the number of switches N Access in the access network and the number N Core of switches in the core network and the corresponding cost functions are distinguished.

为了优化上述目标函数,本发明中使用遗传算法,如图2所示,具体描述如下。In order to optimize the above-mentioned objective function, a genetic algorithm is used in the present invention, as shown in FIG. 2 , and the specific description is as follows.

在可行域中,每一个个体被编码,用不同的基因表示。对于某一代种群,将个体的基因编码映射适应度函数值。然后根据一定的选择策略,挑选出适应度值达到要求的个体。通过遗传、变异和选择,逐渐接近优化问题的最优解。In the feasible domain, each individual is coded and represented by a different gene. For a certain generation of population, the genetic code of the individual is mapped to the fitness function value. Then according to a certain selection strategy, select individuals whose fitness value meets the requirements. Through inheritance, mutation and selection, it gradually approaches the optimal solution of the optimization problem.

假设用P(t)代表第t代种群,算法的主要步骤包括:Assuming that P(t) is used to represent the population of generation t, the main steps of the algorithm include:

(1)创建由若干个体组成的初始种群P(0)。(1) Create an initial population P(0) consisting of several individuals.

(2)在当前种群中,循环进行以下步骤,直到达到最大遗传代数。(2) In the current population, the following steps are repeated until the maximum genetic algebra is reached.

a、利用成本函数(costfunction),为每一个个体计算适应度函数值。a. Use the cost function to calculate the fitness function value for each individual.

b、从P(t)中选择父代个体。b. Select parent individuals from P(t).

c、利用选择的父代个体,通过交叉和变异操作形成子代种群P(t+1)。c. Use the selected parent individuals to form the offspring population P(t+1) through crossover and mutation operations.

d、计算子代种群中每个个体的适应度函数值,选出本次迭代过程的最优解。d. Calculate the fitness function value of each individual in the offspring population, and select the optimal solution of this iterative process.

下面主要针对接入交换机进行讨论,不涉及到核心交换机。接入交换机主要负责将用户接入网络中。与控制器相连的接入交换机数量较多,例如十几至几十个。考虑控制器处理packet-in消息的能力限制,设单个交换机的Fup≤UB=330个每秒。根据交换机实测数据,设Matchb=/32src+/32dst+port、γb=1,不同匹配模式下的汇聚代价如下表。技术人员可以根据网络运行的实际流量统计数据,优化调整以上参数,已达到最好的网络性能。The following discussion mainly focuses on access switches, and does not involve core switches. The access switch is mainly responsible for connecting users to the network. The number of access switches connected to the controller is relatively large, for example, a dozen to dozens. Considering the limitation of the ability of the controller to process packet-in messages, it is assumed that F up of a single switch ≤ UB=330 packets per second. According to the measured data of the switch, set Match b =/32src+/32dst+port, γ b =1, and the aggregation cost in different matching modes is as follows. Technicians can optimize and adjust the above parameters according to the actual traffic statistics of network operation to achieve the best network performance.

接入交换机匹配模式汇聚代价表Access switch matching mode aggregation cost table

接入交换机性能分析如图3所示。The performance analysis of the access switch is shown in Figure 3.

如图3中的(a)所示,在接入交换机的负载量不超过283.8Mbps时,数据流表请求量随着负载量的增加而增大。所有数据流表采用/32src+/32dst+port匹配,平均匹配精确度为1。如图3中的(b)所示,负载量超过283.8Mbps后,通过调整数据流的匹配方式,数据流表请求量保持在330个/秒。随着匹配方式逐渐模糊,匹配精确度逐渐下降。当负载量超过1035Mbps以后,所有数据流表采用/24dst的匹配,平均匹配精确度为0.3。As shown in (a) in FIG. 3 , when the load of the access switch does not exceed 283.8 Mbps, the request volume of the data flow table increases as the load increases. All data flow tables use /32src+/32dst+port matching, and the average matching accuracy is 1. As shown in (b) in Figure 3, after the load exceeds 283.8 Mbps, the data flow table request volume remains at 330 per second by adjusting the matching method of the data flow. As the matching method gradually becomes blurred, the matching accuracy gradually decreases. When the load exceeds 1035Mbps, all data flow tables use /24dst matching, and the average matching accuracy is 0.3.

根据,进而得出交换机的代价函数与负载量之间的分段线性函数关系如图4所示,其中According to this, the piecewise linear functional relationship between the cost function of the switch and the load is obtained as shown in Figure 4, where

&Phi;&Phi; (( LL oo aa dd (( nno )) )) == LL oo aa dd (( nno )) ,, 00 Mm bb pp sthe s &le;&le; LL oo aa dd (( nno )) &le;&le; 283.8283.8 Mm bb pp sthe s 2.62.6 LL oo aa dd (( nno )) -- 454.08454.08 ,, 283.8283.8 Mm bb pp sthe s &le;&le; LL oo aa dd (( nno )) &le;&le; 455455 Mm bb pp sthe s 4.84.8 LL oo aa dd (( nno )) -- 1455.081455.08 ,, 455455 Mm bb pp sthe s &le;&le; LL oo aa dd (( nno )) &le;&le; 910910 Mm bb pp sthe s 6.56.5 LL oo aa dd (( nno )) -- 3002.083002.08 ,, 910910 Mm bb pp sthe s &le;&le; LL oo aa dd (( nno )) &le;&le; 10351035 Mm bb pp sthe s 100100 LL oo aa dd (( nno )) -- 9977499774 ,, LL oo aa dd (( nno )) >> 10351035 Mm bb pp sthe s ,, nno &Element;&Element; NN AA cc cc ee sthe s sthe s

下面,利用遗传算法求解链路的最优权值。Next, use the genetic algorithm to solve the optimal weight of the link.

(1)染色体编码。为了寻找最优的OSPF链路权值设置,可以把最优解表示为离散搜索域[1,wmax]A中的一个点。用w=<w1,w2,...,wA>表示一种权值设置方案,其中wi表示链路i∈1,2,...A的权值。搜索空间中的一个点代表一个可行解。为了减少算法计算量,这里不用65535作为权值的上界,而用wmax=20。(1) Chromosomal coding. In order to find the optimal OSPF link weight setting, the optimal solution can be expressed as a point in the discrete search domain [1, w max ] A. Use w=<w 1 ,w 2 ,...,w A > to represent a weight setting scheme, where w i represents the weight of link i∈1,2,...A. A point in the search space represents a feasible solution. In order to reduce the calculation amount of the algorithm, 65535 is not used as the upper limit of the weight, but w max =20 is used here.

(2)创建初始种群。设初始种群规模NIND=100。其中,前98个个体为搜索域[1,20]A中的随机点,用一个整数元素组成的向量表示。第99个个体的链路权值均设为1。第100个个体按照反比于链路带宽的方式设置链路权值,例如wi=1G/ca。当ca=100M时,wi=10;当ca=1000M时,wi=1。(2) Create an initial population. Set the initial population size NIND = 100. Among them, the first 98 individuals are random points in the search domain [1,20] A , represented by a vector composed of integer elements. The link weights of the 99th individual are all set to 1. The 100th individual sets the link weight in a manner that is inversely proportional to the link bandwidth, for example, w i =1G/c a . When c a =100M, w i =10; when c a =1000M, w i =1.

(3)个体适应度评价。对于每个可行解,计算其适应度函数值。具体步骤为:(3) Individual fitness evaluation. For each feasible solution, calculate its fitness function value. The specific steps are:

A、按照Floyd算法计算最短路径,并根据网络中的流量请求,确定每个交换机的负载。计算交换机n∈N的负载Load(n)具体步骤为A. Calculate the shortest path according to the Floyd algorithm, and determine the load of each switch according to the traffic request in the network. The specific steps to calculate the load Load(n) of the switch n∈N are as follows:

foralldst>0do//根据floyd_Path计算出s,t之间的路由path_stforalld st > 0do//Calculate the routing path_st between s and t according to floyd_Path

forallq=1,2,...,length(path_st)-1doforallq=1,2,...,length(path_st)-1do

m1=path_st(q)m2=path_st(q+1)//第q段路径的两个端点m 1 =path_st(q)m 2 =path_st(q+1)//Two endpoints of the qth path

Load(m1)=Load(m1)+dst//计算第1个端点的LoadLoad(m 1 )=Load(m 1 )+d st //Calculate the Load of the first endpoint

Load(m2)=Load(m2)+dst//计算第2个端点的LoadLoad(m 2 )=Load(m 2 )+d st //Calculate the Load of the second endpoint

endend

endend

B、计算代价函数值B. Calculate the cost function value

&Phi;&Phi; Oo SS PP Ff (( ww )) == &Sigma;&Sigma; nno &Element;&Element; NN AA cc cc ee sthe s sthe s &Phi;&Phi; (( Loadload AA cc cc ee sthe s sthe s (( nno )) )) ++ &Sigma;&Sigma; nno &Element;&Element; NN CC oo rr ee &Phi;&Phi; (( Loadload CC oo rr ee (( nno )) ))

C、计算适应度函数值C. Calculate the fitness function value

按照个体的ΦOSPF(w)值由大到小线性排序,设某个个体在种群中的位置为Pos,种群规模为Nind,则其适应度值为According to the individual's Φ OSPF(w) value linearly sorted from large to small, assuming that the position of an individual in the population is Pos, the population size is Nind, then its fitness value is

Ff ii tt nno VV (( PP oo sthe s )) == 22 &times;&times; PP oo sthe s -- 11 NN ii nno dd -- 11

D、父代选择。从P(t)中选择父代个体。选择应该使适应度函数值大的个体参与繁殖的可能性更大。同时,选择具有一定的随机性,以避免局部贪婪导致的局部最优。这里采用随机遍历抽样,每个个体进入下一代的概率等于它的适应度值与整个种群中个体适应度值之和的比例。D. Parent selection. Select parent individuals from P(t). Selection should make individuals with large fitness function values more likely to participate in reproduction. At the same time, the selection has a certain degree of randomness to avoid local optima caused by local greed. Random traversal sampling is used here, and the probability of each individual entering the next generation is equal to the ratio of its fitness value to the sum of individual fitness values in the entire population.

E、形成子代种群。利用选择的父代个体,通过交叉和变异操作形成子代种群P(t+1)。交叉:对于随机选择的一对父代个体,采用离散重组进行交叉操作。对于每个基因,贡献给子代的变量值由父代以相同的概率随机挑选。变异:对于一个实值种群,使用给定的概率,变异每一个变量,返回变异后的新种群。E. Form the offspring population. Using the selected parent individuals, the offspring population P(t+1) is formed through crossover and mutation operations. Crossover: For a randomly selected pair of parent individuals, the discrete recombination is used to perform the crossover operation. For each gene, the value of the variable contributed to the offspring was randomly picked by the parent with equal probability. Mutation: For a real-valued population, use the given probability to mutate each variable and return the mutated new population.

F、循环进行(C)-(E),当种群的繁殖到最大遗传代数时,遗传算法结束。记录此时的最优链路权值设置方案w*=<w1 *,w2 *,...,wA *>。F. Carry out (C)-(E) in a loop, and when the reproduction of the population reaches the maximum genetic algebra, the genetic algorithm ends. Record the optimal link weight setting scheme at this time w * =<w 1 * ,w 2 * ,...,w A * >.

在获得最优链路权值之后,网络中的数据流根据最短路径优先进行路由,当各个链路的权值确定时,利用Floyd算法可计算出所有源节点-目的节点之间的最短路径,即各条链路权值之和最小的路径。当链路权值组合改变时,计算出的最短路径随之改变,网络中数据流的路由也随之改变,实现流量工程。下面简要介绍Floyd算法。After obtaining the optimal link weight, the data flow in the network is routed according to the shortest path first. When the weight of each link is determined, the shortest path between all source nodes and destination nodes can be calculated by using the Floyd algorithm. That is, the path with the smallest sum of weights of each link. When the combination of link weights changes, the calculated shortest path changes accordingly, and the route of data flow in the network also changes accordingly, realizing traffic engineering. The following briefly introduces the Floyd algorithm.

设算法的接口为floyd(d,n,s,t),其中d为邻接矩阵,其中,若交换机i和交换机j相连(i≠j),则d(i,j)为i和j之间链路的权值;若不相连,则d(i,j)=∞;i=j时,d(i,j)=0。n为交换机节点的个数,s和t分别为源端和目的端交换机的dpid。利用floyd算法,不断对节点进行遍历,更新最短路径进行,将路径代价和各跳路由分别保存在cost和route矩阵中,其中cost矩阵初始化时等于d矩阵。Let the interface of the algorithm be floyd(d,n,s,t), where d is the adjacency matrix, where, if switch i is connected to switch j (i≠j), then d(i,j) is the distance between i and j The weight of the link; if not connected, then d(i,j)=∞; when i=j, d(i,j)=0. n is the number of switch nodes, s and t are the dpids of the source and destination switches respectively. Use the floyd algorithm to continuously traverse the nodes, update the shortest path, and save the path cost and each hop route in the cost and route matrices, where the cost matrix is equal to the d matrix when it is initialized.

给定源节点和目的节点的交换机编号,则返回对应的route和cost。其中,route为节点编号和“>”符号组成的字符串,例如“1>2>5”表示源节点1到目的节点5的路径为1-2-5。)Given the switch numbers of the source and destination nodes, the corresponding route and cost are returned. Wherein, route is a string composed of a node number and a ">" symbol, for example, "1>2>5" indicates that the path from source node 1 to destination node 5 is 1-2-5. )

相应地,本发明提供了一种数据流控制系统,该系统包括软件定义网络SDN中各交换机节点和网络控制器。如图5所示,该网络控制器包括:计算模块,用于计算软件定义网络SDN中各交换机节点的数据流表请求量;均衡模块,用于根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值,以均衡各交换机节点的数据流;其中汇聚代价 &Phi; ( L o a d ( n ) ) = &Sigma; i &Phi; ( Match i ) &times; Load i ( n ) , Φ(Matchi)=γbConv(Matchi),Conv(Matchi)=Fup(Matchb)/Fup(Matchi),Load(n)为第n个交换机的数据转发速率,Loadi(n)为采用数据流表匹配方式Matchi转发的数据量,Fup(Matchb)为采用基准数据流表匹配方式Matchb的数据流表请求量,Fup(Matchi)为采用匹配方式Matchi的数据流表请求量,n为整数,i为整数,γb为预设的交换机转发1比特数据的汇聚代价。关于计算模块符和均衡模块的功能与上述的方法基本上对应,在此不再赘述。Correspondingly, the present invention provides a data flow control system, which includes each switch node and a network controller in a software-defined network (SDN). As shown in Figure 5, the network controller includes: a calculation module, used to calculate the data flow table request volume of each switch node in the software-defined network SDN; The data flow table request volume of the node optimizes the weight of each link in the SDN to balance the data flow of each switch node; the aggregation cost &Phi; ( L o a d ( no ) ) = &Sigma; i &Phi; ( match i ) &times; load i ( no ) , Φ(Match i )=γ b Conv(Match i ), Conv(Match i )=F up (Match b )/F up (Match i ), Load(n) is the data forwarding rate of the nth switch, Load i (n) is the amount of data forwarded using the data flow table matching method Match i , F up (Match b ) is the data flow table request amount using the reference data flow table matching method Match b , F up (Match i ) is the matching method Match i 's data flow table request amount, n is an integer, i is an integer, and γ b is the convergence cost of forwarding 1-bit data by the preset switch. The functions of the calculation module symbol and the equalization module basically correspond to the above-mentioned methods, and will not be repeated here.

以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。The preferred embodiment of the present invention has been described in detail above in conjunction with the accompanying drawings, but the present invention is not limited to the specific details of the above embodiment, within the scope of the technical concept of the present invention, various simple modifications can be made to the technical solution of the present invention, These simple modifications all belong to the protection scope of the present invention.

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。In addition, it should be noted that the various specific technical features described in the above specific implementation manners may be combined in any suitable manner if there is no contradiction. In order to avoid unnecessary repetition, various possible combinations are not further described in the present invention.

此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。In addition, various combinations of different embodiments of the present invention can also be combined arbitrarily, as long as they do not violate the idea of the present invention, they should also be regarded as the disclosed content of the present invention.

Claims (12)

1.一种数据流控制方法,其特征在于,该方法包括:1. A data flow control method, characterized in that the method comprises: 计算软件定义网络SDN中各交换机节点的数据流表请求量;Calculate the data flow table request volume of each switch node in the software-defined network SDN; 根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值,以均衡各个交换机节点的数据流;Optimizing the weight of each link in the SDN according to the aggregation cost of each switch node and the data flow table request amount of each switch node, to balance the data flow of each switch node; 其中第n个交换机的汇聚代价Φ(Matchi)=γbConv(Matchi),Conv(Matchi)=Fup(Matchb)/Fup(Matchi),Load(n)为第n个交换机的数据转发速率,Loadi(n)为第n个交换机采用数据流表匹配方式Matchi的数据转发速率,Fup(Matchb)为采用基准数据流表匹配方式Matchb的数据流表请求量,Fup(Matchi)为采用匹配方式Matchi的数据流表请求量,n为整数,i为整数,γb为预设的交换机转发1比特数据的汇聚代价。The aggregation cost of the nth switch Φ(Match i )=γ b Conv(Match i ), Conv(Match i )=F up (Match b )/F up (Match i ), Load(n) is the data forwarding rate of the nth switch, Load i (n) is the data forwarding rate of the nth switch using the data flow table matching method Match i , F up (Match b ) is the data flow table request amount using the reference data flow table matching method Match b , F up (Match i ) is the request volume of the data flow table using the matching mode Match i , n is an integer, i is an integer, and γ b is the aggregation cost of forwarding 1-bit data by the preset switch. 2.根据权利要求1所述的方法,其特征在于,根据下式计算Loadi(n):2. method according to claim 1, is characterized in that, calculates Load i (n) according to following formula: 其中MatchP为最精确的数据流表匹配方式,MatchK为最宽松的数据流表匹配方式,P为整数,K为整数,K大于或等于P+1,Fup(n)为第n个交换机的数据流表请求量的上限,Fup(i)为数据流表的超时时间T内的流表请求量,Fi(n)为超时时间T内第n个交换机转发的数据流个数,Fsize为平均单个数据流的大小。Among them, Match P is the most accurate data flow table matching method, Match K is the most relaxed data flow table matching method, P is an integer, K is an integer, K is greater than or equal to P+1, and F up (n) is the nth The upper limit of the data flow table request amount of the switch, F up (i) is the flow table request amount within the timeout time T of the data flow table, F i (n) is the number of data flows forwarded by the nth switch within the timeout time T , F size is the average size of a single data stream. 3.根据权利要求2所述的方法,其特征在于,第n个交换机节点的数据流表请求量其中αb为单位时间内第n个交换机采用基准匹配方式Matchb的数据流表请求量与交换机转发的数据流总数的比值。3. The method according to claim 2, wherein the data flow table request amount of the nth switch node Where α b is the ratio of the data flow table request volume of the nth switch using the benchmark matching method Match b to the total number of data flows forwarded by the switch per unit time. 4.根据权利要求3所述的方法,其特征在于,根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值包括根据所述各交换机节点的汇聚代价并以所述各交换机节点的数据流表请求量小于或等于所述各交换机节点的数据流表请求量上限UB为边界条件最优化SDN中各个链路的权值。4. The method according to claim 3, characterized in that, optimizing the weight of each link in the SDN according to the convergence cost of each switch node and the data flow table request amount of each switch node comprises according to each switch node The aggregation cost of the node optimizes the weight of each link in the SDN with the boundary condition that the data flow table request amount of each switch node is less than or equal to the upper limit UB of the data flow table request amount of each switch node. 5.根据权利要求4所述的方法,其特征在于,根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值包括根据下式最优化SDN中各个链路的权值:5. The method according to claim 4, wherein, according to the aggregation cost of each switch node and the data flow table request amount optimization of each switch node, the weight of each link in the SDN comprises optimizing according to the following formula The weight of each link in SDN: mm ii nno (( &Sigma;&Sigma; nno &Element;&Element; NN &Phi;&Phi; (( LL oo aa dd (( nno )) )) )) &Sigma;&Sigma; ii &le;&le; KK &alpha;&alpha; bb Loadload ii (( nno )) // CC oo nno vv (( Matchmatch ii )) &le;&le; Uu BB .. 6.根据权利要求5所述的方法,其特征在于,根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值包括通过遗传算法求解最短路径来最优化SDN中各个链路的权值。6. The method according to claim 5, characterized in that, according to the aggregation cost of each switch node and the data flow table request amount optimization of each switch node, the weight of each link in the SDN optimization comprises solving the shortest link by genetic algorithm Path to optimize the weight of each link in SDN. 7.一种数据流控制系统,其特征在于,该系统包括软件定义网络SDN中各交换机节点和网络控制器,该网络控制器包括:7. A data flow control system, characterized in that the system includes each switch node and a network controller in the software-defined network SDN, and the network controller includes: 计算模块,用于计算软件定义网络SDN中各交换机节点的数据流表请求量;Calculation module, for calculating the data flow table request amount of each switch node in the software-defined network SDN; 均衡模块,用于根据各交换机节点的汇聚代价以及所述各交换机节点的数据流表请求量最优化SDN中各个链路的权值,以均衡各交换机节点的数据流;A balance module, configured to optimize the weight of each link in the SDN according to the aggregation cost of each switch node and the data flow table request amount of each switch node, so as to balance the data flow of each switch node; 其中第n个交换机的汇聚代价Φ(Matchi)=γbConv(Matchi),Conv(Matchi)=Fup(Matchb)/Fup(Matchi),Load(n)为第n个交换机的数据转发速率,Loadi(n)为第n个交换机采用数据流表匹配方式Matchi的数据转发速率,Fup(Matchb)为采用基准数据流表匹配方式Matchb的数据流表请求量,Fup(Matchi)为采用匹配方式Matchi的数据流表请求量,n为整数,i为整数,γb为预设的交换机转发1比特数据的汇聚代价。The aggregation cost of the nth switch Φ(Match i )=γ b Conv(Match i ), Conv(Match i )=F up (Match b )/F up (Match i ), Load(n) is the data forwarding rate of the nth switch, Load i (n) is the data forwarding rate of the nth switch using the data flow table matching method Match i , F up (Match b ) is the data flow table request amount using the reference data flow table matching method Match b , F up (Match i ) is the request volume of the data flow table using the matching mode Match i , n is an integer, i is an integer, and γ b is the aggregation cost of forwarding 1-bit data by the preset switch. 8.根据权利要求7所述的系统,其特征在于,计算模块根据下式计算Loadi(n):8. system according to claim 7, is characterized in that, computing module calculates Load i (n) according to following formula: 其中MatchP为最精确的数据流表匹配方式,MatchK为最宽松的数据流表匹配方式,P为整数,K为整数,K大于或等于P+1,Fup(n)为第n个交换机的数据流表请求量的上限,Fup(i)为数据流表的超时时间T内的流表请求量,,Fi(n)为超时时间T内第n个交换机转发的数据流个数,Fsize为平均单个数据流的大小。。Among them, Match P is the most accurate data flow table matching method, Match K is the most relaxed data flow table matching method, P is an integer, K is an integer, K is greater than or equal to P+1, and F up (n) is the nth The upper limit of the data flow table request amount of the switch, F up (i) is the flow table request amount within the timeout time T of the data flow table, F i (n) is the data flow number forwarded by the nth switch within the timeout time T F size is the average size of a single data stream. . 9.根据权利要求8所述的系统,其特征在于,第n个交换机节点的数据流表请求量其中αb为单位时间内第n个交换机采用基准匹配方式Matchb的数据流表请求量与交换机转发的数据流总数的比值。9. The system according to claim 8, wherein the data flow table request amount of the nth switch node Where α b is the ratio of the data flow table request volume of the nth switch using the benchmark matching method Match b to the total number of data flows forwarded by the switch per unit time. 10.根据权利要求9所述的方法,其特征在于,均衡模块还用于根据各交换机节点的汇聚代价并以所述各交换机节点的数据流表请求量小于或等于所述各交换机节点的数据流表请求量上限UB为边界条件最优化SDN中各个链路的权值。10. The method according to claim 9, wherein the balancing module is further configured to use the aggregation cost of each switch node and the data flow table request amount of each switch node to be less than or equal to the data of each switch node The upper limit of flow table requests UB is the boundary condition to optimize the weight of each link in SDN. 11.根据权利要求10所述的系统,其特征在于,均衡模块还用于根据下式最优化SDN中各个链路的权值:11. The system according to claim 10, wherein the equalization module is also used to optimize the weight of each link in the SDN according to the following formula: mm ii nno (( &Sigma;&Sigma; nno &Element;&Element; NN &Phi;&Phi; (( LL oo aa dd (( nno )) )) )) &Sigma;&Sigma; ii &le;&le; KK &alpha;&alpha; bb Loadload ii (( nno )) // CC oo nno vv (( Matchmatch ii )) &le;&le; Uu BB .. 12.根据权利要求11所述的方法,其特征在于,均衡模块还用于通过遗传算法求解最短路径来最优化SDN中各个链路的权值。12. The method according to claim 11, wherein the equalization module is also used to optimize the weight of each link in the SDN by solving the shortest path through a genetic algorithm.
CN201610079738.0A 2016-02-04 2016-02-04 A data flow control method and system Expired - Fee Related CN105743804B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610079738.0A CN105743804B (en) 2016-02-04 2016-02-04 A data flow control method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610079738.0A CN105743804B (en) 2016-02-04 2016-02-04 A data flow control method and system

Publications (2)

Publication Number Publication Date
CN105743804A true CN105743804A (en) 2016-07-06
CN105743804B CN105743804B (en) 2020-04-21

Family

ID=56244912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610079738.0A Expired - Fee Related CN105743804B (en) 2016-02-04 2016-02-04 A data flow control method and system

Country Status (1)

Country Link
CN (1) CN105743804B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959167A (en) * 2016-07-18 2016-09-21 东北大学 Global optimization SDN measuring method based on greedy algorithm
CN106230722A (en) * 2016-08-05 2016-12-14 山东省计算中心(国家超级计算济南中心) SDN congestion link method of adjustment based on transfer value
CN107395426A (en) * 2017-08-04 2017-11-24 中山大学 A kind of communication network architecture optimization method that probability is used based on node
CN108632158A (en) * 2017-03-16 2018-10-09 哈尔滨英赛克信息技术有限公司 A kind of multi-controller load-equalizing switch moving method of SDN network
CN109787913A (en) * 2019-03-15 2019-05-21 北京工业大学 A dynamic load balancing method for data center network based on SDN
CN113938955A (en) * 2021-09-09 2022-01-14 中国联合网络通信集团有限公司 Data transmission method, device, equipment and system
CN114567611A (en) * 2022-02-16 2022-05-31 海南乾唐视联信息技术有限公司 Data processing method and device
CN118509376A (en) * 2024-07-19 2024-08-16 天翼云科技有限公司 A multi-flow path load balancing method and device for a service provider

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168203A (en) * 2014-09-03 2014-11-26 上海斐讯数据通信技术有限公司 Processing method and system based on flow table
CN105071947A (en) * 2015-07-06 2015-11-18 山东超越数控电子有限公司 Link optimization method for SDN network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168203A (en) * 2014-09-03 2014-11-26 上海斐讯数据通信技术有限公司 Processing method and system based on flow table
CN105071947A (en) * 2015-07-06 2015-11-18 山东超越数控电子有限公司 Link optimization method for SDN network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JUN LI.ETC: "An Effective Path Load Balancing Mechanism Based on SDN", 《IEEE》 *
SUGAM AGARWAL.ETC: "Traffic Engineering in Software Defined Networks", 《IEEE》 *
姚晨: "基于SDN的负载均衡节能技术研究", 《中国优秀硕士论文电子期刊网》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959167A (en) * 2016-07-18 2016-09-21 东北大学 Global optimization SDN measuring method based on greedy algorithm
CN105959167B (en) * 2016-07-18 2019-04-23 东北大学 A globally optimized SDN measurement method based on greedy algorithm
CN106230722A (en) * 2016-08-05 2016-12-14 山东省计算中心(国家超级计算济南中心) SDN congestion link method of adjustment based on transfer value
CN106230722B (en) * 2016-08-05 2019-07-09 山东省计算中心(国家超级计算济南中心) SDN network congestion link method of adjustment based on transfer value
CN108632158A (en) * 2017-03-16 2018-10-09 哈尔滨英赛克信息技术有限公司 A kind of multi-controller load-equalizing switch moving method of SDN network
CN107395426A (en) * 2017-08-04 2017-11-24 中山大学 A kind of communication network architecture optimization method that probability is used based on node
CN109787913A (en) * 2019-03-15 2019-05-21 北京工业大学 A dynamic load balancing method for data center network based on SDN
CN113938955A (en) * 2021-09-09 2022-01-14 中国联合网络通信集团有限公司 Data transmission method, device, equipment and system
CN113938955B (en) * 2021-09-09 2023-06-06 中国联合网络通信集团有限公司 Data transmission method, device, equipment and system
CN114567611A (en) * 2022-02-16 2022-05-31 海南乾唐视联信息技术有限公司 Data processing method and device
CN118509376A (en) * 2024-07-19 2024-08-16 天翼云科技有限公司 A multi-flow path load balancing method and device for a service provider
CN118509376B (en) * 2024-07-19 2024-09-27 天翼云科技有限公司 A multi-flow path load balancing method and device for a service provider

Also Published As

Publication number Publication date
CN105743804B (en) 2020-04-21

Similar Documents

Publication Publication Date Title
CN105743804A (en) Data flow control method and system
CN107094115B (en) An Ant Colony Optimization Load Balancing Routing Algorithm Based on SDN
CN106470168B (en) data transmission method, switch using the method and network control system
CN103825823B (en) Data forwarding method based on different priorities in software-defined network
US20130010803A1 (en) Packet forwarding system, control device, forwarding device and method and program for preparing processing rules
CN107370676A (en) Fusion QoS and load balancing demand a kind of route selection method
CN116170370B (en) An SDN multi-path routing method based on attention mechanism and deep reinforcement learning
CN106209669A (en) Towards SDN data center network maximum of probability path stream scheduling method and device
CN101321134A (en) Quality of Service Routing Selection Method under Dynamic Network Conditions
CN114827021B (en) A multimedia service flow acceleration system based on SDN and machine learning
CN111245722B (en) SDN data center network flow forwarding method based on genetic algorithm
CN106559330A (en) A kind of dynamic path planning method based on SDN
CN115277574B (en) Data center network load balancing method under SDN architecture
CN102055675A (en) Multipath routing distribution method based on load equilibrium
CN114448899A (en) A method for balancing network load in data center
CN117499314B (en) Network self-adaptive congestion control method based on average queue length change trend
CN117294643A (en) Network QoS guarantee routing method based on SDN architecture
CN108183828A (en) A kind of flow control methods based on local radio network topology
CN107995121A (en) Flow statistical method in software defined network based on asterisk wildcard
JP2012216961A (en) Traffic control method and gateway-virtualized node device
Li et al. Research on QoS routing method based on NSGAII in SDN
Chen et al. Dynamic load balancing strategy based on link preference in sdn
Hertiana et al. A joint approach to multipath routing and rate adaptation for congestion control in openflow software defined network
CN109039951A (en) A kind of realization method and system of heterogeneous network QoS strategy
CN107528791A (en) A kind of jamming control method and equipment

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200421