技术领域technical field
本发明涉及数据中心网络流量技术领域,具体涉及一种面向软件定义的数据中心网络流量均衡方法及装置。The invention relates to the technical field of data center network traffic, in particular to a software-defined data center network traffic balancing method and device.
背景技术Background technique
数据中心网络的流量工程是当今网络研究的一个重要方向,由于数据中心网络归属单一运营商所有,便于流量工程的统一部署,天然符合软件定义网络(Software Defined Network,SDN)所需要的集中控制要求。同时,数据中心网络通常具有对称的拓扑结构使得节点对之间存在大量的冗余链路,采用多路径传输可改善单路径路由由于“选路”集中而造成的拥塞问题,同时能做到故障链路的快速切换,增强可靠性,并能聚合链路带宽,充分利用这些冗余链路进行流量均衡是目前数据中心网络流量工程的主要方法。Traffic engineering of data center networks is an important direction of network research today. Since data center networks are owned by a single operator, it is convenient for unified deployment of traffic engineering, which naturally meets the centralized control requirements required by Software Defined Network (SDN) . At the same time, the data center network usually has a symmetrical topological structure, so that there are a large number of redundant links between node pairs. The use of multi-path transmission can improve the congestion problem caused by single-path routing due to the concentration of "routing" Fast link switching, enhanced reliability, and the ability to aggregate link bandwidth, making full use of these redundant links for traffic balancing are the main methods of data center network traffic engineering at present.
目前的研究工作中,一种是基于数据流粒度的流量均衡策略,采用静态的等价路由(Equal-Cost Multipath Routing,ECMP)机制在上行链路中增加随机选择核心节点的步骤,但是当链路中出现大流的时候,会造成链路资源分配不公平。通过采用一种启发式路由算法(Global First Fit,GFF)引入了链路状态监测机制可以克服ECMP的不足,但是却不可避免的会在大流的迁移过程中产生丢包并且可能造成接收端数据包乱序;另一种是基于数据包粒度的流量均衡策略,Fastpass除了设计新的通信协议外,还对数据源端的传输控制协议进行了修改,同时还需要增大接收端的缓存来处理接收端乱序的数据包,实现起来较为复杂,对传输协议或者体系结构改动较多,这些都增加了部署的复杂性,可扩展性不高。In the current research work, one is a traffic balancing strategy based on data flow granularity, which uses a static Equal-Cost Multipath Routing (ECMP) mechanism to add a step of randomly selecting core nodes in the uplink. When heavy traffic occurs on the road, link resource allocation will be unfair. By using a heuristic routing algorithm (Global First Fit, GFF) to introduce a link state monitoring mechanism can overcome the shortcomings of ECMP, but it will inevitably cause packet loss during the migration of large flows and may cause data loss at the receiving end. Packet disorder; the other is a flow balancing strategy based on data packet granularity. In addition to designing a new communication protocol, Fastpass also modifies the transmission control protocol at the data source end, and at the same time needs to increase the cache at the receiving end to process the receiving end. Out-of-order data packets are more complicated to implement, and there are many changes to the transmission protocol or architecture, which increase the complexity of deployment and the scalability is not high.
因此,当前研究工作中面临的主要挑战是如何设计一种数据中心网络流量均衡方法,既能简化部署、增强可扩展性,又能解决在策略方法实施过程中造成的数据流丢包以及接收端可能产生的数据包乱序问题。Therefore, the main challenge in the current research work is how to design a data center network traffic balancing method, which can not only simplify deployment, enhance scalability, but also solve the packet loss of data flow caused by the implementation of the policy method and the receiving end. Possible packet out-of-order problems.
发明内容Contents of the invention
由于当前的数据中心网络流量均衡方法部署繁琐、可扩展性差,且无法解决在策略方法实施过程中造成的数据流丢包以及接收端可能产生的数据包乱序的问题,本发明提出一种面向软件定义的数据中心网络流量均衡方法及装置。Since the current data center network traffic balancing method is cumbersome to deploy and has poor scalability, and cannot solve the problems of data flow packet loss and data packet disorder that may be generated at the receiving end during the implementation of the policy method, the present invention proposes a method for A software-defined data center network traffic balancing method and device.
第一方面,本发明提出一种面向软件定义的数据中心网络流量均衡方法,包括:In the first aspect, the present invention proposes a software-defined data center network traffic balancing method, including:
控制器接收交换机发送的数据包,将所述数据包的特征字段与流表中的字段进行匹配,并根据预设的动作优先顺序将所述数据包的动作记录在流表的动作集中;The controller receives the data packet sent by the switch, matches the characteristic field of the data packet with the field in the flow table, and records the action of the data packet in the action set of the flow table according to the preset action priority order;
若所述数据包的特征字段与所述流表中的字段匹配成功,则根据动作集中的动作顺序,对所述数据包执行对应操作;If the feature field of the data packet is successfully matched with the field in the flow table, perform a corresponding operation on the data packet according to the action sequence in the action set;
若所述对应动作为预处理转发,则判断所述数据包的时隙字段与所述流表中的传输时隙值是否匹配,若匹配,则将所述数据包转发,若不匹配,则将所述数据包缓存至下一个时隙进行转发,以均衡面向软件定义的数据中心网络的流量;If the corresponding action is pre-processing forwarding, then judge whether the time slot field of the data packet matches the transmission time slot value in the flow table, if it matches, forward the data packet, if not, then Buffering the data packet to the next time slot for forwarding, so as to balance the traffic facing the software-defined data center network;
其中,所述数据包的动作包括处理、预处理转发、转发和丢弃。Wherein, the action of the data packet includes processing, pre-processing forwarding, forwarding and discarding.
优选地,若所述数据包的特征字段与交换机中流表的字段匹配失败,则根据预设的静态流表中的动作集对所述数据包执行对应操作。Preferably, if the characteristic field of the data packet fails to match with the field of the flow table in the switch, corresponding operations are performed on the data packet according to the preset action set in the static flow table.
优选地,所述控制器接收交换机发送的数据包,将所述数据包的特征字段与流表中的字段进行匹配,并根据预设的动作优先顺序将所述数据包的动作记录在流表的动作集中之前,还包括:Preferably, the controller receives the data packet sent by the switch, matches the feature field of the data packet with the field in the flow table, and records the action of the data packet in the flow table according to the preset action priority order Before the action concentrates, also include:
若当前发送周期中单条流链路带宽占用率超过带宽阈值,则确定当前流为大流,并将所述大流添加至大流集合中;If the bandwidth occupancy rate of a single flow link exceeds the bandwidth threshold in the current sending cycle, then determine that the current flow is a large flow, and add the large flow to the large flow set;
若所述大流经过的链路负载超过负载阈值,则从与所述大流的源端直连的边缘层交换机预设的路径中选择时延最小的两条路径,以供数据包转发时在所述两条路径中切换。If the link load passed by the large flow exceeds the load threshold, select the two paths with the smallest delay from the preset paths of the edge layer switch directly connected to the source of the large flow for data packet forwarding Switch between the two paths.
优选地,所述若当前发送周期中单条流链路带宽占用率超过带宽阈值,则当前流为大流,并将所述大流添加至大流集合中之后,还包括:Preferably, if the bandwidth occupancy rate of a single flow link in the current sending cycle exceeds the bandwidth threshold, the current flow is a large flow, and after adding the large flow to the large flow set, further includes:
若当前大流在上一个发送周期经过的链路负载超过所述负载阈值,则从与当前大流的源端直连的边缘层交换机预设的路径中选择时延最小的两条路径,以供数据包转发时在所述两条路径中切换。If the load of the link that the current flow passes through in the last sending cycle exceeds the load threshold, select the two paths with the minimum delay from the preset paths of the edge layer switch directly connected to the source of the current flow to Switch between the two paths when the data packet is forwarded.
优选地,所述当所述大流经过的链路负载超过负载阈值,则从与所述大流的源端直连的边缘层交换机预设的路径中选择时延最小的两条路径,以供数据包转发时在所述两条路径中切换之后,还包括:Preferably, when the load of the link passed by the large flow exceeds the load threshold, two paths with the smallest delay are selected from the preset paths of the edge layer switch directly connected to the source of the large flow, so as to After switching between the two paths when the data packet is forwarded, it also includes:
根据路径的传输时延计算传输时隙值,并根据所述传输时隙值更新所述流表。The transmission time slot value is calculated according to the transmission delay of the path, and the flow table is updated according to the transmission time slot value.
第二方面,本发明还提出一种面向软件定义的数据中心网络流量均衡装置,包括:In the second aspect, the present invention also proposes a software-defined data center network traffic balancing device, including:
字段匹配模块,用于接收交换机发送的数据包,将所述数据包的特征字段与流表中的字段进行匹配,并根据预设的动作优先顺序将所述数据包的动作记录在流表的动作集中;The field matching module is used to receive the data packet sent by the switch, match the characteristic field of the data packet with the field in the flow table, and record the action of the data packet in the flow table according to the preset action priority order action concentration;
第一动作执行模块,用于当所述数据包的特征字段与所述流表中的字段匹配成功时,根据动作集中的动作顺序,对所述数据包执行对应操作;A first action execution module, configured to perform corresponding operations on the data packet according to the sequence of actions in the action set when the feature field of the data packet matches the field in the flow table successfully;
预处理转发模块,用于当所述对应动作为预处理转发时,判断所述数据包的时隙字段与所述流表中的传输时隙值是否匹配,若匹配,则将所述数据包转发,若不匹配,则将所述数据包缓存至下一个时隙进行转发,以均衡面向软件定义的数据中心网络的流量;A preprocessing forwarding module, configured to determine whether the time slot field of the data packet matches the transmission time slot value in the flow table when the corresponding action is preprocessing forwarding, and if it matches, send the data packet Forwarding, if not matching, buffering the data packet to the next time slot for forwarding, so as to balance the traffic facing the software-defined data center network;
其中,所述数据包的动作包括处理、预处理转发、转发和丢弃。Wherein, the action of the data packet includes processing, pre-processing forwarding, forwarding and discarding.
优选地,还包括:Preferably, it also includes:
第二动作执行模块,用于当所述数据包的特征字段与交换机中流表的字段匹配失败时,根据预设的静态流表中的动作集对所述数据包执行对应操作。The second action execution module is configured to perform corresponding operations on the data packet according to the preset action set in the static flow table when the characteristic field of the data packet fails to match the field of the flow table in the switch.
优选地,还包括:Preferably, it also includes:
大流判断模块,用于当当前发送周期中单条流链路带宽占用率超过带宽阈值时,确定当前流为大流,并将所述大流添加至大流集合中;A large flow judging module, configured to determine that the current flow is a large flow when the bandwidth occupancy rate of a single flow link in the current sending cycle exceeds the bandwidth threshold, and add the large flow to the large flow set;
第一路径选择模块,用于当所述大流经过的链路负载超过负载阈值时,从与所述大流的源端直连的边缘层交换机预设的路径中选择时延最小的两条路径,以供数据包转发时在所述两条路径中切换。The first path selection module is configured to select the two paths with the smallest delay from the preset paths of the edge layer switch directly connected to the source end of the large flow when the load of the link passed by the large flow exceeds the load threshold path, for switching between the two paths when the data packet is forwarded.
优选地,还包括:Preferably, it also includes:
第二路径选择模块,用于当当前大流在上一个发送周期经过的链路负载超过所述负载阈值时,从与当前大流的源端直连的边缘层交换机预设的路径中选择时延最小的两条路径,以供数据包转发时在所述两条路径中切换。The second path selection module is used to select from the preset paths of the edge layer switches directly connected to the source end of the current large flow when the link load passed by the current large flow in the last sending cycle exceeds the load threshold The two paths with the smallest delay are used for switching between the two paths when the data packet is forwarded.
优选地,还包括:Preferably, it also includes:
时隙值更新模块,用于根据路径的传输时延计算传输时隙值,并根据所述传输时隙值更新所述流表。A time slot value updating module, configured to calculate the transmission time slot value according to the transmission delay of the path, and update the flow table according to the transmission time slot value.
由上述技术方案可知,本发明通过控制器将数据包的动作记录在动作集中,并根据动作集中的动作顺序执行对应操作,简化了部署,同时增强了网络的可扩展性;通过判断数据包的时隙字段与流表中的传输时隙值是否匹配,若匹配,则将所述数据包转发,若不匹配,则将所述数据包缓存至下一个时隙进行转发,解决了在策略方法实施过程中造成的数据流丢包以及接收端可能产生的数据包乱序问题。It can be seen from the above technical solution that the present invention records the action of the data packet in the action set through the controller, and executes the corresponding operation according to the action sequence in the action set, which simplifies the deployment and enhances the scalability of the network; by judging the action of the data packet Whether the time slot field matches the transmission time slot value in the flow table, if it matches, the data packet will be forwarded, if it does not match, the data packet will be buffered to the next time slot for forwarding, which solves the problem in the strategy method Data flow packet loss caused during implementation and data packet out-of-sequence problems that may occur at the receiving end.
附图说明Description of drawings
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only These are some embodiments of the present invention. Those skilled in the art can also obtain other drawings based on these drawings without creative work.
图1为本发明一实施例提供的一种面向软件定义的数据中心网络流量均衡方法的流程示意图;FIG. 1 is a schematic flowchart of a software-defined data center network traffic balancing method provided by an embodiment of the present invention;
图2为本发明一实施例提供的一种面向软件定义的数据中心网络的系统结构图;FIG. 2 is a system structure diagram of a software-defined data center network provided by an embodiment of the present invention;
图3为本发明另一实施例提供的一种面向软件定义的数据中心网络流量均衡方法的流程图;FIG. 3 is a flow chart of a software-defined data center network traffic balancing method provided by another embodiment of the present invention;
图4为本发明另一实施例提供的一种面向软件定义的数据中心网络流量均衡方法的触发与取消流程图;FIG. 4 is a flow chart of triggering and canceling a software-defined data center network traffic balancing method provided by another embodiment of the present invention;
图5为本发明一实施例提供的一种面向软件定义的数据中心网络流量均衡装置的结构示意图。FIG. 5 is a schematic structural diagram of a software-defined data center network traffic balancing device provided by an embodiment of the present invention.
具体实施方式detailed description
下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。The specific embodiments of the invention will be further described below in conjunction with the accompanying drawings. The following examples are only used to illustrate the technical solution of the present invention more clearly, but not to limit the protection scope of the present invention.
首先针对实施例采用Fat-tree网络拓扑,对于拓扑中的交换机需要利用控制器下发静态流表进行设置,为了更清楚地描述本发明的工作流程,对涉及到的概念定义如下:First, the Fat-tree network topology is adopted for the embodiment, and the switches in the topology need to be set by using the controller to issue a static flow table. In order to describe the workflow of the present invention more clearly, the concepts involved are defined as follows:
O-D(Origin-Destination)对:指某条流的源端和目的端主机所直接连接的两台边缘层交换机,实验中的O-D对分别属于不同POD(Performance Optimization Datacenter)。O-D (Origin-Destination) pair: Refers to two edge-layer switches directly connected to the source and destination hosts of a flow. The O-D pairs in the experiment belong to different POD (Performance Optimization Datacenter).
中间交换机:指汇聚层和核心层交换机。Intermediate switch: Refers to the aggregation layer and core layer switches.
交换机路径:指当某个数据包从交换机O-D对的一端到另一端过程中经过的边缘交换机和中间交换机所组成的路径。Switch path: refers to the path composed of edge switches and intermediate switches that a data packet passes through from one end of the switch O-D pair to the other end.
静态路径:指对于每一个O-D对,都事先指定的一条固定的传输路径。当FLAT未被触发时,O-D之间的数据流将沿着该路径传输,其中,FLAT表示本发明提供的面向软件定义的数据中心网络流量均衡方法。Static path: refers to a fixed transmission path specified in advance for each O-D pair. When FLAT is not triggered, the data flow between O-D will be transmitted along this path, wherein FLAT represents a software-defined data center network traffic balancing method provided by the present invention.
FLAT路径:指对于每一个O-D对,都事先指定的k/2条(k为Fat-tree拓扑的参数)固定的、不相交的交换机路径。当FLAT在某个O-D对上被触发时,只从这k/2条固定路径中选择当前时隙的发送路径。对于某个O-D对,其静态路径是包含在FLAT路径中的。FLAT path: refers to k/2 (k is a parameter of the Fat-tree topology) fixed and disjoint switch paths specified in advance for each O-D pair. When FLAT is triggered on a certain O-D pair, only the transmission path of the current time slot is selected from the k/2 fixed paths. For an O-D pair, its static path is included in the FLAT path.
静态路径和FLAT路径的流表设置:对于中间交换机,所有的FLAT路径信息都将以静态流表项的形式存储在流表中。对于边缘交换机,则只预先存储所有静态路径对应的流表。当FLAT未被触发时,数据包可以沿着预设的静态路径完成转发,而FLAT启动后,则由控制器向边缘交换机下发优先级更高的FLAT流表实现路径切换。Flow table settings for static paths and FLAT paths: For intermediate switches, all FLAT path information will be stored in the flow table in the form of static flow entries. For edge switches, only the flow tables corresponding to all static paths are pre-stored. When FLAT is not triggered, data packets can be forwarded along the preset static path. After FLAT is activated, the controller sends a FLAT flow table with higher priority to the edge switch to realize path switching.
其次,在FLAT的工作过程中,还涉及到对路径和链路数据的探测过程,相关的概念及要点解释如下:Secondly, during the working process of FLAT, it also involves the detection process of path and link data. The related concepts and key points are explained as follows:
全局路径时延探测:为了在FLAT触发时的第一个时隙之前评估各条FLAT传输路径的优劣并计算传输时隙值,我们需要在每个O-D对之间的4条(可提前设定传输路径数量)预设路径上发送探测包来获取路径时延值。这种探测称为全局路径探测,这些探测包被称为全局路径探测包。需要注意的是这一过程将一直持续,不论是否有路径触发FLAT策略。探测包的发送间隔必须要适当,如果太长得到的数据时效性就不强,太短则会增大数据链路和交换机到控制器通信链路的时延。Global path delay detection: In order to evaluate the pros and cons of each FLAT transmission path and calculate the transmission time slot value before the first time slot when FLAT is triggered, we need 4 between each O-D pair (can be set in advance The number of transmission paths) is sent on the preset path to obtain the path delay value by sending a detection packet. This kind of detection is called global path detection, and these detection packets are called global path detection packets. It should be noted that this process will continue regardless of whether there is a path that triggers the FLAT policy. The sending interval of the detection packet must be appropriate. If it is too long, the timeliness of the data obtained will not be strong, and if it is too short, it will increase the delay of the data link and the communication link from the switch to the controller.
FLAT路径时延探测:对某条大流对应的所有FLAT路径进行的时延测量,目的和全局探测相似。由于这种开销相对较小,且需要对大流检测的时效性更强,所以这种探测比全局探测的时间间隔要短。FLAT path delay detection: It measures the delay of all FLAT paths corresponding to a large flow, and its purpose is similar to that of global detection. Since the overhead is relatively small and the detection of large flows needs to be more time-sensitive, the time interval of this detection is shorter than that of the global detection.
链路负载探测:FLAT启动条件是大流造成了某条链路负载超过阈值;当FLAT启动后,需要根据路径的负载情况来选择最优路径,因此需要对大流的所有FLAT路径上的所有链路负载进行测量,这称为单一路径链路探测(简称链路探测)。它不需要在链路上下发探测包,只需要定时向控制器上传端口统计数据,但只在指定的路径上生效。通常它与FLAT时延探测有同样的周期。Link load detection: FLAT starts when the load of a certain link exceeds the threshold due to a large flow; when FLAT is started, the optimal path needs to be selected according to the load of the path, so all FLAT paths of the large flow need to be The link load is measured, which is called single-path link probing (referred to as link probing). It does not need to send detection packets up and down the link, but only needs to periodically upload port statistics data to the controller, but only takes effect on the specified path. Usually it has the same period as FLAT delay detection.
FLAT探测周期:指FLAT时延探测和链路探测的周期,它同时也决定了FLAT获取数据、决策和判定的最短时间周期,在下文中也被简称为周期。FLAT detection period: refers to the period of FLAT delay detection and link detection, which also determines the shortest time period for FLAT to obtain data, make decisions and judge, and is also referred to as the period for short in the following.
图1示出了本发明一实施例提供的一种面向软件定义的数据中心网络流量均衡方法的流程示意图,包括:Fig. 1 shows a schematic flow diagram of a method for software-defined data center network traffic balancing provided by an embodiment of the present invention, including:
S1、控制器接收交换机发送的数据包,将所述数据包的特征字段与流表中的字段进行匹配,并根据预设的动作优先顺序将所述数据包的动作记录在流表的动作集中;S1. The controller receives the data packet sent by the switch, matches the feature field of the data packet with the field in the flow table, and records the action of the data packet in the action set of the flow table according to the preset action priority order ;
S2、若所述数据包的特征字段与所述流表中的字段匹配成功,则根据动作集中的动作顺序,对所述数据包执行对应操作;S2. If the feature field of the data packet is successfully matched with the field in the flow table, perform a corresponding operation on the data packet according to the action sequence in the action set;
S3、若所述对应动作为预处理转发,则判断所述数据包的时隙字段与所述流表中的传输时隙值是否匹配,若匹配,则将所述数据包转发,若不匹配,则将所述数据包缓存至下一个时隙进行转发,以均衡面向软件定义的数据中心网络的流量;S3. If the corresponding action is pre-processing forwarding, then judge whether the time slot field of the data packet matches the transmission time slot value in the flow table, if it matches, forward the data packet, if not , the data packet is buffered to the next time slot for forwarding, so as to balance the traffic facing the software-defined data center network;
其中,所述数据包的动作包括处理、预处理转发、转发和丢弃。Wherein, the action of the data packet includes processing, pre-processing forwarding, forwarding and discarding.
本实施例通过控制器将数据包的动作记录在动作集中,并根据动作集中的动作顺序执行对应操作,简化了部署,同时增强了网络的可扩展性;通过判断数据包的时隙字段与流表中的传输时隙值是否匹配,若匹配,则将所述数据包转发,若不匹配,则将所述数据包缓存至下一个时隙进行转发,解决了在策略方法实施过程中造成的数据流丢包以及接收端可能产生的数据包乱序问题。In this embodiment, the controller records the action of the data packet in the action set, and executes the corresponding operations according to the action sequence in the action set, which simplifies the deployment and enhances the scalability of the network; by judging the time slot field of the data packet and the flow Whether the transmission time slot value in the table matches, if it matches, then the data packet is forwarded, if it does not match, then the data packet is buffered to the next time slot for forwarding, which solves the problem caused in the implementation of the strategy method Data flow packet loss and packet out-of-sequence problems that may occur at the receiving end.
进一步地,S3之后,还包括:Further, after S3, it also includes:
S4、若所述数据包的特征字段与交换机中流表的字段匹配失败,则根据预设的静态流表中的动作集对所述数据包执行对应操作。S4. If the feature field of the data packet fails to match the field of the flow table in the switch, perform a corresponding operation on the data packet according to the preset action set in the static flow table.
通过设置静态流表,来实现所述数据包的特征字段与交换机中流表的字段匹配失败时,每一对边缘交换机之间的一条路由。A route between each pair of edge switches is realized when the characteristic field of the data packet fails to match the field of the flow table in the switch by setting a static flow table.
具体地,S1之前,还包括:Specifically, before S1, it also includes:
S01、若当前发送周期中单条流链路带宽占用率超过带宽阈值,则确定当前流为大流,并将所述大流添加至大流集合中;S01. If the link bandwidth occupancy rate of a single flow in the current sending cycle exceeds the bandwidth threshold, determine that the current flow is a large flow, and add the large flow to the large flow set;
S02、若所述大流经过的链路负载超过负载阈值,则从与所述大流的源端直连的边缘层交换机预设的路径中选择时延最小的两条路径,以供数据包转发时在所述两条路径中切换。S02. If the load of the link passed by the large flow exceeds the load threshold, select two paths with the smallest delay from the preset paths of the edge layer switch directly connected to the source of the large flow for the data packet Switch between the two paths when forwarding.
通过判断大流经过的链路负载超过负载阈值并执行相应操作,能够避免出现传统方法中链路负载过大造成的数据流丢包和数据包乱序情况。By judging that the load of the link through which the large flow passes exceeds the load threshold and performing corresponding operations, it is possible to avoid data flow packet loss and data packet disorder caused by excessive link load in the traditional method.
进一步地,S01之后,还包括:Further, after S01, it also includes:
S012、若当前大流在上一个发送周期经过的链路负载超过所述负载阈值,则从与当前大流的源端直连的边缘层交换机预设的路径中选择时延最小的两条路径,以供数据包转发时在所述两条路径中切换。S012. If the load of the link passed by the current large flow in the last sending cycle exceeds the load threshold, select the two paths with the smallest delay from the preset paths of the edge layer switch directly connected to the source of the current large flow. , for switching between the two paths when the data packet is forwarded.
为了避免当前大流在上一个发送周期经过的链路负载超过所述负载阈值,而当前周期经过的链路负载未超过所述负载阈值,因此造成的路由震荡问题以及降低执行效果的问题。In order to avoid the link load that the current large flow passes through in the last sending cycle exceeds the load threshold, but the link load that passes through the current cycle does not exceed the load threshold, thus causing routing vibration problems and reducing the execution effect.
更进一步地,S02之后,还包括:Furthermore, after S02, it also includes:
S03、根据路径的传输时延计算传输时隙值,并根据所述传输时隙值更新所述流表。S03. Calculate a transmission time slot value according to the transmission delay of the path, and update the flow table according to the transmission time slot value.
通过更新流表中的传输时隙值,使得传输时隙值更加符合网络当前的运行情况,进一步均衡网络流量。By updating the transmission time slot value in the flow table, the transmission time slot value is more in line with the current operation of the network, and the network traffic is further balanced.
为了更详细说明本实施例提供的面向软件定义的数据中心网络流量均衡方法,首先对本实施例提供的面向软件定义的数据中心网络进行介绍:In order to describe the software-defined data center network traffic balancing method provided by this embodiment in more detail, firstly, the software-defined data center network provided by this embodiment is introduced:
一个面向软件定义的数据中心网络包含:服务器、接入层交换机、核心层交换机以及控制器,其中控制器与所有交换机相连,交换机支持OpenFlow(OF)协议;A software-defined data center network includes: servers, access layer switches, core layer switches, and controllers, where the controller is connected to all switches, and the switches support the OpenFlow (OF) protocol;
如图2所示,控制器作为应用层平台,集成四个模块化组件来实现整个控制器平台的功能包含:拓扑信息收集模块、路径信息统计模块、路径计算模块、流表更新模块;As shown in Figure 2, the controller, as an application layer platform, integrates four modular components to realize the functions of the entire controller platform, including: topology information collection module, path information statistics module, path calculation module, and flow table update module;
拓扑信息收集模块通过向邻近的交换机收集更新信息来发现网络拓扑。交换机可更新的信息包括发现邻居消息和每个邻居互联的链路状态消息,通过与交换机信息的交互决定当前网络拓扑图,并向路径计算模块提供信息。控制器平台与交换机之间的通信协议都采用OF协议,每个交换机都运行OF协议代理软件,负责接收数据包转发更新的消息并重新编写基于交换机硬件的转发表;The topology information collection module discovers the network topology by collecting updated information from neighboring switches. The information that can be updated by the switch includes the neighbor discovery message and the link status message of each neighbor interconnection. Through the interaction with the switch information, the current network topology is determined, and the information is provided to the path calculation module. The communication protocol between the controller platform and the switch adopts the OF protocol, and each switch runs the OF protocol agent software, which is responsible for receiving the packet forwarding update message and rewriting the forwarding table based on the switch hardware;
路径信息统计模块通过主动查询和被动接收相结合的方式实现两个功能:一是通过定期查询相关OF交换机来收集每个端口的流量统计信息;二是通过构造探测包获取并更新传输路径的时延信息,以上信息都将保存到数据统计表中。其中,流量统计信息包括控制器收到FlowRemoved消息后,根据流表计数器来统计交换机每个端口发送和接收的字节数量,为链路剩余容量的计算提供依据;The path information statistics module realizes two functions through the combination of active query and passive reception: one is to collect the traffic statistics information of each port by periodically querying the relevant OF switches; All the above information will be saved in the data statistics table. Among them, the traffic statistics information includes that after the controller receives the FlowRemoved message, it counts the number of bytes sent and received by each port of the switch according to the flow table counter, so as to provide a basis for the calculation of the remaining capacity of the link;
路径计算模块运行本发明的核心算法FLAT,首先通过拓扑信息收集模块提供的网络拓扑来计算任一节点对之间可用的路径,考虑到控制器的计算开销以及交换机硬件条件的限制(例如,TCAM容量和成本),可以对选择多路径传输的数量进行限制(例如,不超过三条);其次,根据路径信息统计模块提供的数据可以对选择的链路进行剩余容量计算以及传输时隙的计算,并选择负载最轻的链路进行数据流转发;最后,将路径计算的结果转换为路由转发规则下发到交换机;The path calculation module runs the core algorithm FLAT of the present invention, at first calculates the available path between any node pair by the network topology provided by the topology information collection module, considering the calculation overhead of the controller and the limitation of the switch hardware condition (for example, TCAM capacity and cost), the number of selected multipath transmissions can be limited (for example, no more than three); secondly, according to the data provided by the path information statistics module, the calculation of the remaining capacity and the calculation of the transmission time slot can be performed on the selected link, And select the link with the lightest load for data flow forwarding; finally, convert the path calculation result into a routing forwarding rule and send it to the switch;
流表更新模块将驱动OF交换机依据控制器下发的路由转发规则进行流表的安装、更新以及删除操作。The flow table update module will drive the OF switch to install, update and delete the flow table according to the routing and forwarding rules issued by the controller.
本实施例提供的数据中心网络在数据流调度的过程中不会造成接收端数据包乱序的问题;控制器平台采用主被动结合测量的方式获取流量信息与传输路径的时延信息,保证了算法的准确度;在满足细粒度流量均衡的同时不会对目前数据中心网络中普遍使用的TCP通信协议做任何改动,易于部署,具有可扩展性。The data center network provided by this embodiment will not cause out-of-order data packets at the receiving end during the data flow scheduling process; the controller platform adopts active and passive combined measurement methods to obtain traffic information and delay information of transmission paths, ensuring The accuracy of the algorithm; while meeting fine-grained traffic balance, it will not make any changes to the TCP communication protocol commonly used in the current data center network, easy to deploy, and scalable.
下面结合图2-4,对本实施例提供的方法作进一步的阐述。The method provided in this embodiment will be further described below with reference to FIGS. 2-4 .
图2是本发明基于FLAT算法实施流量均衡方法的原型系统。如图2所示,控制器作为应用层平台,集成四个模块化组件分别为:拓扑信息收集模块、路径信息统计模块、路径计算模块和流表更新模块,共同实现整个控制器平台的功能;其中,路径计算模块运行本实施例的核心方法FLAT。FIG. 2 is a prototype system of the present invention implementing a flow equalization method based on the FLAT algorithm. As shown in Figure 2, the controller, as an application layer platform, integrates four modular components: topology information collection module, path information statistics module, path calculation module and flow table update module, which jointly realize the functions of the entire controller platform; Wherein, the path calculation module runs the core method FLAT of this embodiment.
控制平台的工作流程如下:首先,拓扑信息收集模块通过向邻近的交换机收集更新信息来发现网络拓扑,FLAT则通过该模块提供的网络拓扑来计算任一节点对之间可用的路径;下一步,FLAT将根据路径信息统计模块提供的数据对选择的链路进行剩余容量计算以及传输时隙的计算,并选择负载最轻的链路进行数据流转发;最后,FLAT将路径计算的结果转换为路由转发规则下发到交换机实现数据包转发。The workflow of the control platform is as follows: first, the topology information collection module discovers the network topology by collecting updated information from adjacent switches, and FLAT uses the network topology provided by this module to calculate the available path between any pair of nodes; the next step, FLAT will calculate the remaining capacity and transmission time slot of the selected link according to the data provided by the path information statistics module, and select the link with the lightest load for data flow forwarding; finally, FLAT converts the path calculation result into a route The forwarding rules are delivered to the switch to implement data packet forwarding.
图3是FLAT工作流程,具体包括以下步骤:Figure 3 is the FLAT workflow, which specifically includes the following steps:
S201、数据包到达Openflow交换机;S201, the data packet arrives at the Openflow switch;
S202、交换机根据数据包的某些特征字段(如源IP、目的IP、MAC地址等)与流表中的entry进行匹配。如果匹配失败,则执行S203;如果匹配成功,则跳转执行S204;S202. The switch matches the entry in the flow table according to certain characteristic fields (such as source IP, destination IP, MAC address, etc.) of the data packet. If the matching fails, execute S203; if the matching succeeds, then jump to execute S204;
S203、默认情况下,匹配不成功时会出现packet-in事件。但在实验数据中心网络中,所有交换机都以较低优先级预置了静态流表,来实现未触发FLAT时每一对边缘交换机之间的一条路由。因此如果匹配失败,则说明静态流表失效,应当返回错误,并尝试重新下发静态流表,之后跳转执行S202重新尝试匹配流表;S203. By default, a packet-in event occurs when the matching is unsuccessful. However, in the experimental data center network, all switches have preset static flow tables with lower priority to implement a route between each pair of edge switches when FLAT is not triggered. Therefore, if the matching fails, it means that the static flow table is invalid, and an error should be returned, and the static flow table should be re-delivered, and then jump to S202 to try to match the flow table again;
S204、在Openflow1.3标准中,一个数据包在匹配流表时,会按照预定的优先级顺序将所有entry动作都记录在动作集中,匹配完之后按顺序执行。通常转发、丢弃被作为一个数据包最终的动作而执行,因此除了转发和丢弃之外的其他动作都会被排在二者之前来完成。而FLAT可以看做是一种被修改过的转发动作,因此也会排在其他动作之后;当执行完其他动作后,剩余的动作应当是FLAT,转发或丢弃;S204. In the Openflow1.3 standard, when a data packet matches the flow table, all entry actions are recorded in the action set according to a predetermined priority order, and are executed in order after matching. Usually forwarding and discarding are performed as the final action of a data packet, so other actions except forwarding and discarding will be completed before the two. And FLAT can be regarded as a modified forwarding action, so it will be ranked after other actions; after other actions are executed, the remaining actions should be FLAT, forwarding or discarding;
S205、如果当前动作是FLAT,则执行S206;如果不是,则跳转执行S207;S205. If the current action is FLAT, execute S206; if not, skip to execute S207;
S206、判断当前时隙,该流是否需要缓存。如果不需要缓存,则执行S207;如果需要缓存,则跳转执行S208;S206. Determine whether the stream needs to be buffered in the current time slot. If the cache is not required, execute S207; if the cache is required, then jump to execute S208;
S207、执行FLAT策略下的转发动作(来自S206),或者执行来自S205非FLAT动作之外的转发或者丢弃操作,以上动作完成后,跳转执行S209;S207. Execute the forwarding action under the FLAT strategy (from S206), or perform the forwarding or discarding operation other than the non-FLAT action from S205. After the above actions are completed, jump to S209;
S208、缓存当前包到队列,直到当前传输时隙结束后再根据FLAT策略进行转发;S208, cache the current packet into the queue, and forward it according to the FLAT strategy until the end of the current transmission time slot;
S209、该数据包处理完毕,结束流程;如果有下一个数据包到达,跳转执行S202。S209, the processing of the data packet is completed, and the process ends; if the next data packet arrives, jump to S202.
图4是FLAT触发与取消工作流程图,具体包括以下步骤:Figure 4 is a workflow diagram of FLAT triggering and canceling, which specifically includes the following steps:
S301、设置全局探测包、链路探测包的发送周期;S301, setting the sending period of the global detection packet and the link detection packet;
S302、开始进行全局探测,同时记录测量结果;S302, start to perform global detection, and record the measurement results at the same time;
S303、判断网络中是否有大流产生;判断大流的依据是源端主机某条流链路带宽占用率超过设定阈值(一般是10%)。如果有大流产生,则添加到大流集合F中并执行S304;否则,跳转执行S313;S303. Determine whether there is a large flow in the network; the basis for judging the large flow is that the bandwidth occupancy rate of a certain flow link of the source host exceeds a set threshold (generally 10%). If a large stream is generated, add it to the large stream set F and execute S304; otherwise, jump to execute S313;
S304、对集合内所有大流对应的链路进行链路负载探测,一方面可以探知大流经过的某个链路是否超过阈值;另一方面为FLAT触发后的路径计算提供信息;S304. Perform link load detection on the links corresponding to all the large flows in the set. On the one hand, it can detect whether a certain link passed by the large flow exceeds the threshold; on the other hand, it provides information for path calculation after FLAT is triggered;
S305、判断当前大流是否在上一个探测周期执行过FLAT,如果没有,则执行S306;否则跳转执行S307,对当前大流判断在上一周期是否执行过FLAT的原因在于:如果该大流在这一周期未能触发FLAT,那么回到原路径可能再次触发FLAT从而产生路由震荡,降低FLAT策略的执行效果,因此,对上一周期执行过FLAT的大流继续执行,直到它不再是大流或者终止传输;S305. Judging whether the current large flow has performed FLAT in the last detection cycle, if not, then execute S306; otherwise, skip to S307, and judge whether the current large flow has performed FLAT in the previous cycle. The reason is: if the large flow If FLAT is not triggered in this cycle, then returning to the original path may trigger FLAT again, resulting in route oscillation and reducing the execution effect of the FLAT policy. Therefore, continue to execute the flow that has been FLATed in the previous cycle until it is no longer flooding or terminating transmission;
S306、如果大流经过的某个链路负载超过阈值,那么执行S307;否则就检查下一条大流,并跳转执行S312;S306. If the load of a link passed by the large flow exceeds the threshold, then execute S307; otherwise, check the next large flow, and skip to S312;
S307、FLAT算法触发并根据当前的测量结果,从大流源端直连的边缘层交换机预置的4条传输路径中,选择时延最小的2条路径作为FLAT的传输路径。在FLAT流表的有效期内,当前大流的数据包将按照转发策略在这两条路径上切换。需要注意的是,运行FLAT的第一个时隙,交换机需要先缓存该流的第一个流片(FLAT一个时隙所传输的数据包),防止数据包到达接收端产生乱序;S307. The FLAT algorithm triggers and according to the current measurement results, selects the 2 paths with the smallest delay as the FLAT transmission paths from the 4 preset transmission paths of the edge layer switch directly connected to the flow source. During the validity period of the FLAT flow table, the data packets of the current large flow will switch between the two paths according to the forwarding policy. It should be noted that when running the first time slot of FLAT, the switch needs to buffer the first stream slice of the flow (data packets transmitted in one time slot of FLAT) to prevent out-of-order data packets from arriving at the receiving end;
S308、FLAT根据当前记录的测量结果计算出传输时隙值。时隙值的计算简要描述如下:当预置的4条传输路径之间的时延差值小于100μs时,取时隙值为100μs;当时延差值在100-500μs时,取时隙值为500μs;当时延差值大于500μs时,以实际差值作为时隙值;S308. FLAT calculates the transmission time slot value according to the currently recorded measurement results. The calculation of the time slot value is briefly described as follows: when the time delay difference between the four preset transmission paths is less than 100 μs, the time slot value is 100 μs; when the time delay difference is 100-500 μs, the time slot value is 500μs; when the time delay difference is greater than 500μs, take the actual difference as the time slot value;
S309、控制器下发FLAT流表的优先级设置要高于交换机中预置的静态流表优先级,同时在流表中封装传输时隙值、传输路径所对应的转发端口以及流表的生存时间(TTL,Time To Live),TTL值为链路探测周期值;S309, the priority setting of the FLAT flow table delivered by the controller is higher than the priority of the static flow table preset in the switch, and at the same time encapsulate the transmission time slot value, the forwarding port corresponding to the transmission path, and the survival of the flow table in the flow table Time (TTL, Time To Live), the TTL value is the link detection cycle value;
S310、控制器将FLAT流表下发到与大流源端直连的边缘层交换机。由于每一个OD对可选择4条传输路径,并且已经通过静态流表的方式下发到所有传输路径上的交换机,因此,数据流依据FLAT流表在多条路径之间切换时数据包一定可以到达目的地址,并且FLAT流表只需下发到边缘层交换机,通过这样的设计能极大地降低交换机与控制器之间的通信开销;S310. The controller delivers the FLAT flow table to the edge layer switch directly connected to the source of the large flow. Since each OD pair can choose 4 transmission paths, and the static flow table has been delivered to the switches on all transmission paths, therefore, when the data flow is switched between multiple paths according to the FLAT flow table, the data packets must be able to The destination address is reached, and the FLAT flow table only needs to be sent to the edge layer switch. This design can greatly reduce the communication overhead between the switch and the controller;
S311、如果当前大流在下个周期仍然存在,那么它将需要时效性更强的路径时延信息来计算出新的FLAT时隙大小,因此需要在本周期再次测量所有FLAT路径时延;S311. If the current large flow still exists in the next cycle, it will need more time-sensitive path delay information to calculate the new FLAT time slot size, so all FLAT path delays need to be measured again in this cycle;
S312、开始检查下一条大流,跳转执行S305;如果集合F内所有大流已检查完毕,则执行S313;S312, start to check the next big flow, jump to execute S305; if all the big flows in the set F have been checked, then execute S313;
S313、当前周期对大流的探测和决策已经全部完成,也可能当前周期没有探测到大流(来自S303),如果收到程序终止指令,那么就在这时结束程序;如果继续运行,则执行S314;S313. The detection and decision-making of the large flow in the current cycle have all been completed, and it is possible that the current cycle has not detected the large flow (from S303). If a program termination instruction is received, the program is terminated at this time; if it continues to run, execute S314;
S314、等待当前周期结束后,再次进入下一个周期并跳转执行S303;S314. After waiting for the end of the current cycle, enter the next cycle again and jump to execute S303;
通过大量的仿真实验,发现本实施例提供的方法与其他几种多路径传输方法相比(例如,ECMP、GFF),吞吐量提高了13%~45%,同时接收端几乎没有乱序的数据包出现,与采用单路径传输效果等同,但是吞吐量与之相比却能最大提高到83%。从实验结果可以说明本实施例达到了预期目的。Through a large number of simulation experiments, it is found that the method provided by this embodiment is compared with other multipath transmission methods (for example, ECMP, GFF), and the throughput has increased by 13% to 45%, and there is almost no out-of-order data at the receiving end Packets appear, which is equivalent to the effect of single-path transmission, but the throughput can be increased to 83% compared with it. It can be shown from the experimental results that this embodiment achieves the expected purpose.
图5示出了本实施例提供的一种面向软件定义的数据中心网络流量均衡装置的结构示意图,包括:Fig. 5 shows a schematic structural diagram of a software-defined data center network traffic balancing device provided in this embodiment, including:
字段匹配模块11,用于接收交换机发送的数据包,将所述数据包的特征字段与流表中的字段进行匹配,并根据预设的动作优先顺序将所述数据包的动作记录在流表的动作集中;The field matching module 11 is used to receive the data packet sent by the switch, match the characteristic field of the data packet with the field in the flow table, and record the action of the data packet in the flow table according to the preset action priority order concentration of action;
第一动作执行模块12,用于当所述数据包的特征字段与所述流表中的字段匹配成功时,根据动作集中的动作顺序,对所述数据包执行对应操作;The first action execution module 12 is configured to perform a corresponding operation on the data packet according to the sequence of actions in the action set when the feature field of the data packet matches the field in the flow table successfully;
预处理转发模块13,用于当所述对应动作为预处理转发时,判断所述数据包的时隙字段与所述流表中的传输时隙值是否匹配,若匹配,则将所述数据包转发,若不匹配,则将所述数据包缓存至下一个时隙进行转发,以均衡面向软件定义的数据中心网络的流量;The pre-processing forwarding module 13 is used to determine whether the time slot field of the data packet matches the transmission time slot value in the flow table when the corresponding action is pre-processing forwarding, and if so, send the data Packet forwarding, if it does not match, buffering the data packet to the next time slot for forwarding, so as to balance the traffic facing the software-defined data center network;
其中,所述数据包的动作包括处理、预处理转发、转发和丢弃。Wherein, the action of the data packet includes processing, pre-processing forwarding, forwarding and discarding.
本实施例通过控制器将数据包的动作记录在动作集中,并根据动作集中的动作顺序执行对应操作,简化了部署,同时增强了网络的可扩展性;通过判断数据包的时隙字段与流表中的传输时隙值是否匹配,若匹配,则将所述数据包转发,若不匹配,则将所述数据包缓存至下一个时隙进行转发,解决了在策略方法实施过程中造成的数据流丢包以及接收端可能产生的数据包乱序问题。In this embodiment, the controller records the action of the data packet in the action set, and executes the corresponding operations according to the action sequence in the action set, which simplifies the deployment and enhances the scalability of the network; by judging the time slot field of the data packet and the flow Whether the transmission time slot value in the table matches, if it matches, then the data packet is forwarded, if it does not match, then the data packet is buffered to the next time slot for forwarding, which solves the problem caused in the implementation of the strategy method Data flow packet loss and packet out-of-sequence problems that may occur at the receiving end.
可选地,所述装置还包括:Optionally, the device also includes:
第二动作执行模块,用于当所述数据包的特征字段与交换机中流表的字段匹配失败时,根据预设的静态流表中的动作集对所述数据包执行对应操作。The second action execution module is configured to perform corresponding operations on the data packet according to the preset action set in the static flow table when the characteristic field of the data packet fails to match the field of the flow table in the switch.
进一步地,所述装置还包括:Further, the device also includes:
大流判断模块,用于当当前发送周期中单条流链路带宽占用率超过带宽阈值时,确定当前流为大流,并将所述大流添加至大流集合中;A large flow judging module, configured to determine that the current flow is a large flow when the bandwidth occupancy rate of a single flow link in the current sending cycle exceeds the bandwidth threshold, and add the large flow to the large flow set;
第一路径选择模块,用于当所述大流经过的链路负载超过负载阈值时,从与所述大流的源端直连的边缘层交换机预设的路径中选择时延最小的两条路径,以供数据包转发时在所述两条路径中切换。The first path selection module is configured to select the two paths with the smallest delay from the preset paths of the edge layer switch directly connected to the source end of the large flow when the load of the link passed by the large flow exceeds the load threshold path, for switching between the two paths when the data packet is forwarded.
进一步地,所述装置还包括:Further, the device also includes:
第二路径选择模块,用于当当前大流在上一个发送周期经过的链路负载超过所述负载阈值时,从与当前大流的源端直连的边缘层交换机预设的路径中选择时延最小的两条路径,以供数据包转发时在所述两条路径中切换。The second path selection module is used to select from the preset paths of the edge layer switches directly connected to the source end of the current large flow when the link load passed by the current large flow in the last sending cycle exceeds the load threshold The two paths with the smallest delay are used for switching between the two paths when the data packet is forwarded.
更进一步地,所述装置还包括:Further, the device also includes:
时隙值更新模块,用于根据路径的传输时延计算传输时隙值,并根据所述传输时隙值更新所述流表。A time slot value updating module, configured to calculate the transmission time slot value according to the transmission delay of the path, and update the flow table according to the transmission time slot value.
本实施例所述的面向软件定义的数据中心网络流量均衡装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。The software-defined oriented data center network traffic balancing device described in this embodiment can be used to implement the above method embodiment, and its principles and technical effects are similar, and will not be repeated here.
本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the description of the invention, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure the understanding of this description.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610326176.5ACN105915467B (en) | 2016-05-17 | 2016-05-17 | A software-defined data center network traffic balancing method and device |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610326176.5ACN105915467B (en) | 2016-05-17 | 2016-05-17 | A software-defined data center network traffic balancing method and device |
| Publication Number | Publication Date |
|---|---|
| CN105915467Atrue CN105915467A (en) | 2016-08-31 |
| CN105915467B CN105915467B (en) | 2019-06-18 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610326176.5AExpired - Fee RelatedCN105915467B (en) | 2016-05-17 | 2016-05-17 | A software-defined data center network traffic balancing method and device |
| Country | Link |
|---|---|
| CN (1) | CN105915467B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109561026A (en)* | 2018-12-10 | 2019-04-02 | 福州大学 | Burst method for stream processing based on software defined network carrier state data plane |
| CN110086870A (en)* | 2019-04-28 | 2019-08-02 | 北京工业大学 | The parallel method for reliable transmission of the multipath of data-oriented central site network |
| CN110351196A (en)* | 2018-04-02 | 2019-10-18 | 华中科技大学 | Load-balancing method and system based on accurate congestion feedback in cloud data center |
| CN111654446A (en)* | 2020-05-26 | 2020-09-11 | 李云祥 | Big data flow control method and device and flow server |
| CN113678409A (en)* | 2019-03-25 | 2021-11-19 | 西门子股份公司 | Method and computer program for data communication |
| CN113794655A (en)* | 2020-07-17 | 2021-12-14 | 北京京东尚科信息技术有限公司 | Flow monitoring method and device, computer storage medium and electronic equipment |
| CN114448899A (en)* | 2022-01-20 | 2022-05-06 | 天津大学 | A method for balancing network load in data center |
| CN120528871A (en)* | 2025-07-25 | 2025-08-22 | 上海芯力基半导体有限公司 | Flow forwarding method and communication system based on fat tree data center network topology structure |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112506648B (en)* | 2020-11-20 | 2022-05-03 | 鹏城实验室 | A traffic stateless migration method and electronic device for virtual network function instance |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103354522A (en)* | 2013-06-28 | 2013-10-16 | 华为技术有限公司 | Method and device for searching multistage flow table |
| US9009349B2 (en)* | 2013-02-08 | 2015-04-14 | Dell Products, Lp | System and method for dataplane extensibility in a flow-based switching device |
| CN105099920A (en)* | 2014-04-30 | 2015-11-25 | 杭州华三通信技术有限公司 | Method and device for setting SDN flow entry |
| CN105227481A (en)* | 2015-09-02 | 2016-01-06 | 重庆邮电大学 | The SDN congestion control method for routing of cost minimization is dispatched based on path cost and stream |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9009349B2 (en)* | 2013-02-08 | 2015-04-14 | Dell Products, Lp | System and method for dataplane extensibility in a flow-based switching device |
| CN103354522A (en)* | 2013-06-28 | 2013-10-16 | 华为技术有限公司 | Method and device for searching multistage flow table |
| CN105099920A (en)* | 2014-04-30 | 2015-11-25 | 杭州华三通信技术有限公司 | Method and device for setting SDN flow entry |
| CN105227481A (en)* | 2015-09-02 | 2016-01-06 | 重庆邮电大学 | The SDN congestion control method for routing of cost minimization is dispatched based on path cost and stream |
| Title |
|---|
| 杨洋 等: "《数据中心网络多路径路由算法》", 《清华大学学报(自然科学版)》* |
| 杨洋 等: "《软件定义的数据中心网络中一种基于时隙传输的流量均衡方案设计》", 《中国科技论文在线》* |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110351196A (en)* | 2018-04-02 | 2019-10-18 | 华中科技大学 | Load-balancing method and system based on accurate congestion feedback in cloud data center |
| CN110351196B (en)* | 2018-04-02 | 2020-09-08 | 华中科技大学 | Load balancing method and system based on accurate congestion feedback in cloud data center |
| CN109561026B (en)* | 2018-12-10 | 2021-09-28 | 福州大学 | Burst flow processing method based on software defined network data plane with state |
| CN109561026A (en)* | 2018-12-10 | 2019-04-02 | 福州大学 | Burst method for stream processing based on software defined network carrier state data plane |
| CN113678409A (en)* | 2019-03-25 | 2021-11-19 | 西门子股份公司 | Method and computer program for data communication |
| CN113678409B (en)* | 2019-03-25 | 2022-10-21 | 西门子股份公司 | Method and storage medium for data communication |
| US12047299B2 (en) | 2019-03-25 | 2024-07-23 | Siemens Aktiengesellschaft | Computer program and method for data communication |
| CN110086870A (en)* | 2019-04-28 | 2019-08-02 | 北京工业大学 | The parallel method for reliable transmission of the multipath of data-oriented central site network |
| CN111654446A (en)* | 2020-05-26 | 2020-09-11 | 李云祥 | Big data flow control method and device and flow server |
| CN111654446B (en)* | 2020-05-26 | 2022-11-29 | 北京城建智控科技股份有限公司 | Big data flow control method and device and flow server |
| CN113794655A (en)* | 2020-07-17 | 2021-12-14 | 北京京东尚科信息技术有限公司 | Flow monitoring method and device, computer storage medium and electronic equipment |
| CN114448899A (en)* | 2022-01-20 | 2022-05-06 | 天津大学 | A method for balancing network load in data center |
| CN120528871A (en)* | 2025-07-25 | 2025-08-22 | 上海芯力基半导体有限公司 | Flow forwarding method and communication system based on fat tree data center network topology structure |
| Publication number | Publication date |
|---|---|
| CN105915467B (en) | 2019-06-18 |
| Publication | Publication Date | Title |
|---|---|---|
| US20240323114A1 (en) | System and method for facilitating tracer packets in a data-driven intelligent network | |
| CN105915467A (en) | Data center network flow balancing method and device oriented to software definition | |
| Wang et al. | Adaptive path isolation for elephant and mice flows by exploiting path diversity in datacenters | |
| Liu et al. | Ensuring connectivity via data plane mechanisms | |
| CN111682952B (en) | On-demand probes for quality of experience metrics | |
| CN104756451B (en) | The method of the balancing dynamic load of network flow on LAG interfaces | |
| Carpio et al. | DiffFlow: Differentiating short and long flows for load balancing in data center networks | |
| JP6355150B2 (en) | Communication system, communication node, communication path switching method and program | |
| Xu et al. | TinyFlow: Breaking elephants down into mice in data center networks | |
| WO2008125030A1 (en) | A load sharing method and the apparatus | |
| CN102761479A (en) | Method for selecting link and device therefore | |
| CN113746751A (en) | Communication method and device | |
| Wang et al. | Expeditus: congestion-aware load balancing in Clos data center networks | |
| Joshi et al. | Sfo: Subflow optimizer for mptcp in sdn | |
| Chang et al. | Using sdn technology to mitigate congestion in the openstack data center network | |
| CN104917677A (en) | Data stream forwarding control method and system | |
| Shah | Mitigating TCP Incast Issue in Cloud Data Centres using Software-Defined Networking (SDN): A Survey. | |
| Alharbi et al. | An SDN architecture for improving throughput of large flows using multipath TCP | |
| Balakiruthiga et al. | A simple congestion avoidance mechanism for opendaylight (odl)-multipath tcp (mptcp) network structure in software defined data center (sddc) | |
| CN116346726B (en) | Host load balancing method for self-adaptive burst traffic | |
| Jiang et al. | Orderlock: A New Type of Deadlock and its Implications on High Performance Network Protocol Design | |
| CN107483354A (en) | SDN-based network congestion solution method and system | |
| CN107872390A (en) | A routing selection method and message forwarding device |
| 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 | Granted publication date:20190618 | |
| CF01 | Termination of patent right due to non-payment of annual fee |