WO2017032253A1 - 一种数据传输方法、使用该方法的交换机以及网络控制系统 - Google Patents

一种数据传输方法、使用该方法的交换机以及网络控制系统 Download PDF

Info

Publication number
WO2017032253A1
WO2017032253A1 PCT/CN2016/095695 CN2016095695W WO2017032253A1 WO 2017032253 A1 WO2017032253 A1 WO 2017032253A1 CN 2016095695 W CN2016095695 W CN 2016095695W WO 2017032253 A1 WO2017032253 A1 WO 2017032253A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
data
switch
decision
flow table
Prior art date
Application number
PCT/CN2016/095695
Other languages
English (en)
French (fr)
Inventor
陈志堂
冯付莱德.致衡
耿彦辉
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP16838512.8A priority Critical patent/EP3297231B1/en
Publication of WO2017032253A1 publication Critical patent/WO2017032253A1/zh
Priority to US15/879,452 priority patent/US11159432B2/en

Links

Images

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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • 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/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Definitions

  • the present invention relates to the field of data processing in a communication network, and in particular, to a data transmission method, a switch using the same, and a network control system.
  • the SDN network is mainly composed of a central controller and a series of switches.
  • the central controller is responsible for The generation of control plane policies and the issuance of control commands have the ability to control the network globally, while the switch is responsible for data flow forwarding at the data level.
  • the data stream enters the network and reaches the first switch
  • the switch generates a packet-in event and reports the data flow information to the central controller
  • the central controller generates an optimal route of the data stream according to the data flow information, including the data flow header, according to a certain strategy
  • the central controller sends the path of the data flow to the relevant switch, and configures the routing forwarding table of the relevant switch.
  • the number of data streams generated in the network is very large. For example, a small data center scenario has thousands of new data streams generated in one second, and if the backbone network data traffic is larger.
  • Embodiments of the present invention provide a data transmission method, a switch using the same, and a network control system, which are used to reduce necessary interaction between a controller and a switch, so as to reduce the communication burden between the controller and the switch, thereby improving control. Control efficiency of the device.
  • a network sharing user identification method including:
  • the switch receives the data stream, where the switch is a switch under the Openflow protocol;
  • the tag information of the feature and the historical data stream is trained, the decision tree model including at least one decision node, each decision node being constituted by a flow table of the flow table pipe and for the received data stream
  • a data feature is matched to determine a split direction of the next node to distinguish the two types of data streams, the tag information indicating a class of the data stream;
  • Determining, by the decision tree model constructed by the flow table pipeline of the switch, the received data stream into two types of data streams according to the data characteristics of the received data stream including: receiving the data stream received by the switch Entering a decision tree model formed by the flow table pipeline, and passing through at least one decision node of the decision tree model, performing a matching decision according to a data flow feature corresponding to the at least one decision node, and then reaching a leaf of the decision tree model a node, the leaf node comprising two types of leaf nodes respectively indicating the first type of data stream and the second type of data stream.
  • the leaf node that arrives at the decision tree model after the decision includes: inputting a data feature of the data stream received by the switch into a decision tree model formed by the flow table pipeline, and correspondingly passing through at least one decision node of the decision tree model Performing matching by converting a matching field of the flow table of the at least one decision node into a binary wildcard, wherein each decision node determines a split direction by matching a binary wildcard match of the data feature with a matching field of the corresponding flow table Connecting to the next node along the decision node, wherein the connection between the nodes of the decision tree is implemented by the Go to Table n instruction of the instruction field of the corresponding flow table until the leaf Nodes to achieve classification.
  • the data feature of the data stream includes a server IP and a client At least one of an IP, a server port, a client port, and a network transport protocol.
  • the first type of data stream is corresponding to a large data stream or a network quality requirement a high application data stream or a data stream with a high priority or a high priority
  • the second type of data stream corresponding to a small data stream or a data stream of an application with low network quality requirements or a low priority or low priority data flow.
  • the decision tree model is received by the controller by using the switch
  • the data characteristics of the historical data stream and the tag information are sent to the switch after training or updating the decision tree model.
  • a switch is provided, where the switch is a switch under the Openflow protocol, and the switch includes:
  • a receiving module configured to receive or transmit a data stream through a network
  • a decision module configured to divide the received data stream into two types of data streams by using a decision tree model constructed by a flow table pipeline of the switch according to data characteristics of the received data stream, where the decision tree model is The data characteristics of the historical data stream and the tag information of the historical data stream are trained, the decision tree model including at least one decision node, each decision node being constituted by a flow table of the flow table pipe and receiving the same A data feature of the incoming data stream is matched to determine a split direction of the next node to distinguish the two types of data streams, the tag information indicating a class of the data stream;
  • the reporting module reports the first type of data stream of the two types of data streams to the controller, to calculate, by the controller, a transmission path of the first type of data stream;
  • a path allocation module configured to determine, according to local flow table information of the switch, a transmission path of the second type of data stream in the two types of data streams, and directly transmit the second type of data according to the calculated transmission path flow.
  • a third aspect provides a network control system, including a switch and a controller, wherein the switch is a switch under an Openflow protocol; and the switch utilizes data characteristics of the historical data stream received by the switch and label information training or Updating a decision tree model, the tag information indicating a category of the data stream;
  • the switch receives the decision tree model and, according to the data characteristics of the received data stream, uses the decision tree model constructed by the flow table pipeline of the switch to divide the received data stream into two types of data streams, where
  • the decision tree model includes at least one decision node, each decision node being composed of a flow table of the flow table pipe and matching a data feature of the received data stream to determine a split direction of the next node To distinguish between the two types of data streams;
  • the switch reports the first type of data stream of the two types of data streams to the controller, to calculate, by the controller, a transmission path of the first type of data stream;
  • the switch determines a transmission path of the second type of data stream in the two types of data streams according to the local flow table information of the switch, and directly transmits the second type of data stream according to the calculated transmission path.
  • the fourth aspect provides
  • a switch comprising a data stream data interface, a processor, a memory, and a bus for receiving a data stream or for forwarding a data stream according to a transmission path;
  • the memory is configured to store a flow table pipeline, a decision tree model constructed by the flow table pipeline, and local flow table information;
  • the processor is coupled to the memory data via a bus for dividing the received data stream into two types of data streams according to the data characteristics of the received data stream, wherein the decision tree model And being trained by the data feature of the historical data stream and the tag information of the historical data stream, the decision tree model comprising at least one decision node, each decision node being constituted by a flow table of the flow table pipe and A data feature of the received data stream is matched to determine a split direction of the next node to distinguish the two types of data streams, the tag information indicating a class of the data stream;
  • the data interface is configured to report a first type of data stream of the two types of data streams to a controller, to calculate, by the controller, a transmission path of the first type of data stream, and according to a local flow of the switch
  • the table information determines a transmission path of the second type of data stream in the two types of data streams, and directly transmits the second type of data stream according to the calculated transmission path.
  • the data transmission method in the embodiment of the present invention and the data transmission system using the method mainly perform classification and screening on the data stream at the switch layer, and then report the selected data flow information to the controller in the classified part to control
  • the optimal network transmission path is selected and sent to all the switches on the path, and the routing forwarding table is configured so that part of the data flow does not need to be reported to the controller, thereby reducing the controller and the switch. Inter-action.
  • FIG. 1 is a schematic diagram of an existing SDN network control.
  • FIG. 2 is a schematic diagram of a real data transmission method of the present invention.
  • FIG. 3 is a flowchart of a data transmission method according to Embodiment 1 of the present invention.
  • FIG. 4 is a schematic diagram of a decision tree in an embodiment of the present invention.
  • FIG. 5 is another schematic diagram of a decision tree in an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a network control system according to Embodiment 2 of the present invention.
  • FIG. 7 is a schematic diagram of a switch according to Embodiment 3 of the present invention.
  • the SDN network in order to improve the control effect of the SDN network, it is mainly necessary to balance the network control system withstand capability and the degree of utilization of the controller's global network state information.
  • the invention can realize the characteristics of many distributed tasks by using the switch under the Openflow protocol, and the distributed processing of the data flow reaching the switch saves the interaction between the switch and the controller; and the data flow can be classified by the switch. And screening.
  • some data flows in the network belong to a delay-sensitive, packet-loss-sensitive data stream, such as a video stream; and some data streams belong to a data backup application, and are not delayed or lost. very sensitive. Therefore, the present invention needs to classify data streams to select relatively important or sensitive data streams, and to plan the optimal path, and other relatively unimportant or sensitive data streams are directly forwarded by the switch to effectively reduce Increase the amount of interaction between the switch and the controller to increase network efficiency.
  • the data transmission method in the embodiment of the present invention and the data transmission system using the method mainly perform classification and screening on the data stream at the switch layer, and then report the selected data flow information to the controller in the classified part to control
  • the optimal network transmission path is selected and sent to all switches on the path to configure a routing forwarding table.
  • the data transmission method and the data transmission system using the method classify and filter data streams at the switch layer when the data stream arrives at the switch, thereby minimizing communication between the controller and the switch.
  • the congestion of the controller and switch control channels is greatly reduced.
  • the controller is a computer with powerful computing power, so complex classifier algorithms can be implemented on the controller.
  • the switch is just a data forwarding device with very limited or no computing power and not enough memory.
  • a classifier is implemented on a switch under the existing Openflow protocol, and a decision tree is constructed by using a flow table and a flow table pipe of the switch, and the decision tree is used to classify according to the data feature, wherein A type A reports the controller to calculate the transmission path of the data stream by the controller, and the other type B is used by the switch to calculate the transmission path according to the local flow table information, and according to the calculated transmission path.
  • This type of data stream is transmitted directly.
  • the data features used in the classification of switches using decision trees include server IP, client IP, server ports, client ports, and network transport protocols, including but not limited to these features.
  • the application scenario of the embodiment of the present invention is not limited to the SDN network, and the present invention can be used as long as the switch in the network belongs to the switch under the Openflow protocol.
  • the data transmission method in the first embodiment of the present invention mainly includes the following steps:
  • Step 101 The switch receives the data stream, where the switch is a switch under the Openflow protocol.
  • Step 102 Using a flow table pipeline of the switch according to data characteristics of the received data stream
  • the constructed decision tree model divides the received data stream into two types of data streams, wherein the decision tree model is trained by data features of historical data streams and tag information of historical data streams, the decision tree model Including at least one decision node, each decision node being constituted by a flow table of the flow table pipe and matching a data feature of the received data stream to determine a split direction of the next node to distinguish the Two types of data streams, the tag information indicating a category of the data stream, wherein the data feature includes a server IP (Server IP), a client IP (Client IP), a server port (Server Port), and a client port (Client Port) And a Network Transmission Protocol (Network Tranmission Protocol);
  • Step 103 Report a first type of data stream of the two types of data streams to a controller, to calculate, by the controller, a transmission path of the first type of data stream;
  • Step 104 Determine a transmission path of the second type of data stream in the two types of data streams according to the local flow table information of the switch, and directly transmit the second type of data stream according to the calculated transmission path.
  • the switch Prior to step 102, receives a decision tree model transmitted by a controller, wherein the decision tree model is trained by the controller to utilize an initial data tree information of a historical data stream in the web server for an initial decision tree model or The current decision tree model is updated and sent to the switch, and the data information of the historical data stream includes data features of the historical data stream and tag information.
  • the switch has strong computing and storage capabilities, and the switch may also train or update the decision tree model according to historical data stored by itself or obtained from the network server. The trained or updated decision tree model is applied to the classification operation in step 102.
  • the switch divides the received data stream into two types of data streams by using a decision tree model formed by the flow table pipeline, and may specifically use the stream according to data characteristics of the received data stream.
  • the decision tree model constructed by the table pipeline divides the received data stream into two types of data streams: a data stream size or an application type or an important level and a different priority level. Specifically, according to the size of the two types of data streams, the elephant stream and the mouse stream are divided, wherein the elephant stream is required for the first type of data stream.
  • the mouse stream as the second type of data stream can be forwarded directly by the switch according to the information; or according to the types of the two types of data stream application, the application data stream and the network service with high requirements for network service quality are classified.
  • Video streams are sensitive to network quality, delay, and packet loss rate. It should be classified as the first type of data stream that needs to be reported to the controller, and some data streams belong to the data backup application. Insensitive to network quality, delay rate, and packet loss rate, it should be classified as the second type that can be directly forwarded by the switch according to local information; or classified into important data and non-critical data according to the important levels of the two types of data, such as the network.
  • Some of the data marked as important or higher priority should be classified as the first type of data flow needs to be reported to the controller, and some common data and the lower priority should be classified as the second type of data flow can be based on local information by the switch Direct forwarding or calculating the best route forwarding based on the collected topology information.
  • the switch can forward out according to an equivalent multipath (ECMP) routing table.
  • ECMP equivalent multipath
  • the distributed routing algorithm is generally called the Distance Vector algorithm.
  • each switch has only the information of the switch letter directly connected to it, but there is no information of other switches in the network; and the global routing algorithm is generally called Link Status algorithm, each switch has all the information of all switches in the network.
  • the main steps of the global routing algorithm include: (1) Confirm the switches directly connected to them and obtain their IPs. address. (2) Measure the delay of neighboring routers, or other important network parameters.
  • the local flow table information in step 104 refers to routing information recorded in a flow table other than the decision tree model.
  • the decision tree model includes a decision tree, and the data flow classification received by the switch in the foregoing data transmission method is mainly implemented by the decision tree, wherein the switch receives the data stream received by the switch.
  • a decision tree model formed by the flow table pipeline, according to the at least one decision node of the decision tree model, according to the number corresponding to the at least one decision node
  • the leaf node refers to the end node of the decision tree.
  • the decision tree is constructed by a flow table pipeline of the switch, where a node of the decision tree corresponds to a flow table of the flow table pipeline, and the data stream is processed. Determining, by a data feature, a split direction of the node by a matching condition of each data feature of the data stream and a flow table of a node pair of the data feature, where a node determining a split direction of the current node of the decision tree is determined
  • the splitting condition may be determined by a threshold comparison manner, which may be implemented by a binary wildcard of the matching domain of the corresponding flow table, that is, by using the data feature and the binary wildcard matching of the matching domain of the corresponding flow table.
  • Determining the current node split direction to connect to the next node along the left or right side of the decision tree node, wherein the connection between the nodes of the decision tree, that is, the current node to the next node is the corresponding stream The Go to Table n instruction of the instruction field of the table is implemented until the last corresponding leaf node flow table is used to implement the classification.
  • each data feature corresponds to one node of the decision tree and one flow table of the flow table pipeline.
  • node 0 corresponds to server IP (Server IP) and corresponds to flow table 0 (Table0);
  • node 1 corresponds to server port (Server Port) and corresponds to flow table 1 (Table 1);
  • node 2 corresponds to client port (Client Port) ) Corresponding to Flow Table 2 (Table 2).
  • the decision tree is split at each node according to a variable value of a data feature corresponding to the node.
  • the decision process branches to the left to the next node, and vice versa. And so on, until reaching the leaf node at the lowest level of the decision tree, that is, the classification result obtained by the multi-layer decision process of multiple nodes, and the leaf nodes reaching the lowest layer are class A or class B, corresponding to the two types in step 102 respectively.
  • the first type of data stream and the second stream of data are described in FIG. 5
  • the flow table and the flow table pipeline of the switch are a data structure with a decision process, and the data structure of the flow table is as shown in Table 1 below:
  • Each row in the above flow table is a flow table unit, representing a decision rule.
  • the first column of the flow table is a matching domain
  • the fourth column of the flow table is an instruction
  • the combination of the two embodies a decision process. That is, if an individual matches successfully in a matching table of a flow table unit, the instruction of the flow table unit is executed. Therefore, a flow table and its matching fields and instructions, and a node of a decision tree and its forks, are functionally consistent, so a flow table is used to implement a decision tree node.
  • the switch implements the flow table pipeline on the basis of the flow table.
  • a data flow can implement a series of decision processes through a flow table pipeline, and the flow tables in the flow table pipeline pass the Goto-Table n in the instruction.
  • Establish a connection, and the flow table at the end of the flow table pipe, the command does not contain Goto-Table n, but contains specific operations, such as directly reporting the data flow to a controller through a port of the switch, or through a certain
  • the port is sent back to the network, and in this embodiment, the classification information A or B of the data stream is directly included, that is, the first type of data stream or the second type of data stream.
  • the nodes of the decision tree are split according to the values of the data characteristic variables of the node to form different decision tree subtrees.
  • the matching field of the flow table and a series of wildcards can be used to determine the matching direction to determine the split direction.
  • the data characteristics of the data stream are converted into a 32-bit binary string, and then judged by the following match:
  • the table shows the data characteristics of the data stream, such as the 32-bit binary string of the Server Port.
  • the split-direction decision of the decision tree node corresponding to each data feature by converting the data feature into binary and then performing matching judgment.
  • the process of converting the binary wildcard can be passed through the following pseudo code.
  • the upper bound conversion rules are similar to the above algorithm except that the entire segment '1...1' is searched and a bit is changed to '0'.
  • a network control system in the second embodiment of the present invention includes a switch and a control Controller and database.
  • the network controller is applicable to an SDN network, but is not limited to an SND network, and is applicable to a data transmission network in which switches in all networks comply with the requirements of the Openflow protocol.
  • the controller trains or updates a decision tree model by using data characteristics of the historical data stream received by the switch and label information, where the label information indicates a category of the data stream;
  • the switch receives the decision tree model and, according to the data characteristics of the received data stream, uses the decision tree model constructed by the flow table pipeline of the switch to divide the received data stream into two types of data streams, where
  • the decision tree model includes at least one decision node, each decision node being composed of a flow table of the flow table pipe and matching a data feature of the received data stream to determine a split direction of the next node To distinguish between the two types of data streams;
  • the switch reports the first type of data stream of the two types of data streams to the controller, to calculate, by the controller, a transmission path of the first type of data stream;
  • the switch determines a transmission path of the second type of data stream in the two types of data streams according to the local flow table information of the switch, and directly transmits the second type of data stream according to the calculated transmission path.
  • the switch includes:
  • a receiving module configured to receive a data stream through a network
  • a decision module configured to divide the received data stream into two types of data streams by using a decision tree model constructed by a flow table pipeline of the switch according to data characteristics of the received data stream, where the decision tree model is The data characteristics of the historical data stream and the tag information of the historical data stream are trained, the decision tree model including at least one decision node, each decision node being constituted by a flow table of the flow table pipe and receiving the same A data feature of the incoming data stream is matched to determine a split direction of the next node to distinguish the two types of data streams, the tag information indicating a class of the data stream;
  • the reporting module reports the first type of data stream of the two types of data streams to the controller, to calculate, by the controller, a transmission path of the first type of data stream;
  • a path allocation module configured to determine, according to local flow table information of the switch, a transmission path of the second type of data stream in the two types of data streams, and directly transmit the path according to the calculated transmission path The second type of data flow.
  • the switch Before the switch classifies the received data stream, the switch completes training or updating of the decision tree model.
  • the switch may internally implement training or updating of the decision tree model, and may also receive the decision tree model sent by the controller, wherein the decision tree model is used by the controller to utilize the history received by the controller in the database
  • the data information of the data stream is sent to the switch after the training or updating of the decision tree model, and the data information of the historical data stream includes data features of the historical data stream and tag information.
  • the decision module is specifically configured to input a data feature of the data stream received by the switch into a decision tree model formed by the flow table pipeline, and according to the at least one decision node of the decision tree model, according to the at least one decision node
  • the data stream feature is matched to the leaf node of the decision tree model, and the leaf node includes two types of leaf nodes respectively indicating the first type of data stream and the second type of data stream.
  • the decision module is further configured to input a data feature of the data stream received by the switch into a decision tree model formed by the flow table pipeline, and correspond to the at least one decision node by using at least one decision node of the decision tree model
  • the matching field of the flow table is converted into a binary wildcard to achieve matching, wherein each decision node determines the split direction to connect along the decision node by matching the data feature with the binary wildcard matching of the matching field of the corresponding flow table. Go to the next node, where the connection between the nodes of the decision tree is implemented by the Go to Table n instruction of the instruction field of the corresponding flow table, until the leaf node implements the classification.
  • a switch in Embodiment 3 of the present invention includes a data interface, a processor, a memory, and a bus; the data interface is configured to receive a data stream or forward the data stream according to the transmission path;
  • the memory is configured to store a flow table pipeline, a decision tree model constructed by the flow table pipeline, and local flow table information;
  • the processor is connected to the memory and the data interface through a bus, and is configured to divide the received data stream into two types of data by using the decision tree model according to data characteristics of the received data stream.
  • a stream wherein the decision tree model is trained from data features of a historical data stream and tag information of a historical data stream, the decision tree model including at least one decision node, each decision node being piped by the flow table Constructing a flow table and matching a data feature of the received data stream to determine a split direction of the next node to distinguish the two types of data streams, the tag information indicating a class of the data stream;
  • the data interface reports the first type of data stream of the two types of data streams to the controller, to calculate, by the controller, a transmission path of the first type of data stream, and according to the local flow table information of the switch Determining a transmission path of the second type of data stream in the two types of data streams, and directly transmitting the second type of data stream according to the calculated transmission path.
  • the data stream classification method and the decision model of the network control system according to the second and third embodiments of the present invention are consistent with the data transmission method in the first embodiment, and will not be repeatedly described herein.

Landscapes

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

Abstract

一种数据传输方法、使用该方法的交换机以及网络控制系统,所述方法包括:交换机接收数据流并根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流;将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径;根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。所述方法通过在交换机层面对数据流进行分类筛选,从而在保证网络控制系统承受能力的情况下,优化网络的路由策略来达到提高网络传输效率。

Description

一种数据传输方法、使用该方法的交换机以及网络控制系统 技术领域
本发明涉及通信网络中的数据处理领域,尤其涉及一种数据传输方法、使用该方法的交换机以及网络控制系统。
背景技术
软件定义网络(SDN,Software Defined Network)网络区别于传统分布式网络的一个最主要的特点是控制面与数据面分离,其中SDN网络主要由中央控制器和一系列的交换机组成,中央控制器负责控制层面策略的生成和控制命令的下发,具有网络全局的掌控能力,而交换机负责数据层面的数据流转发。
如图1所示,由于SDN网络中央控制器具有全局的网络状态信息,理论上我们可以通过中央控制器为每一个数据流通过某种策略选择最佳的路径,具体具体按照如下步骤实现:
(1)数据流进入网络,到达第一个交换机;
(2)交换机产生packet-in事件,并把数据流信息上报给中央控制器;
(3)中央控制器根据数据流信息,包括数据流报头,按照某种策略,生成该数据流的最佳路由;
(4)中央控制器将数据流的路径下发到相关的交换机,配置相关交换机的路由转发表。
实际操作上,网络中产生的数据流的数量十分巨大,例如小型数据中心场景一秒钟有数千个新的数据流产生,如果是骨干网数据流量会更大。
然而,每一个数据流的处理,需要控制器和交换机进行两次甚至以上的交互,一方面会造成控制器和交换机的控制通道拥塞,导致网络的控制效率降低,另外一方面,会造成明显的流转发延迟,影响应用及用户的服务体验(QoE)。
因此,优化交换机的工作策略,减少交换机与控制器之间通信资源的暂用,以提高控制器的效率,是一个迫切需要解决的问题。
发明内容
本发明实施例提供了一种数据传输方法、使用该方法的交换机以及网络控制系统,用以减少控制器与交换机之间的必要交互,以减轻控制器与交换机之间的通信负担,从而提高控制器的控制效率。
第一方面,提供了一种网络共享用户识别方法,包括:
交换机接收数据流,其中所述交换机为Openflow协议下的交换机;
根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型由历史数据流的数据特征及历史数据流的标签信息进行训练而成,所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流,所述标签信息指示数据流的类别;
将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径;
根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
结合第一方面,在第一方面的第一种实现方式中,
所述根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流包括:将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点时根据所述至少一个决策节点对应的数据流特征进行匹配决策后到达所述决策树模型的叶子节点,所述叶子节点包括两类叶子节点分别指示所述第一类数据流和第二类数据流。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,
所述将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点根据所述至少一个决策节点对应的数据流特征进行匹配决策后到达所述决策树模型的叶子节点包括:将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点时由对应所述至少一决策节点的流表的匹配域转换成的二进制通配符实现匹配,其中每一决策节点通过所述数据特征与所述对应流表的匹配域的二进制通配符匹配情况,来确定分裂方向以沿决策节点间的连接到下一节点,其中所述决策树的节点之间的连接,由所述对应流表的指令域的Go to Table n(转到流表n)指令实现,一直到叶子节点来实现分类。
结合第一方面或第一方面的第一种实现方式或第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述数据流的数据特征包括服务器IP、客户端IP、服务器端口、客户端端口以及网络传输协议中的至少一个。
结合第一方面或第一方面的上述三种实现方式中任一种实现方式,在第一方面的第四种实现方式中,所述第一类数据流对应为大数据流或对网络质量要求高的应用的数据流或重要等级高或优先级高的数据流,所述第二类数据流对应为小数据流或对网络质量要求低的应用的数据流或重要等级低或优先级低的数据流。
结合第一方面或第一方面的上述四种实现方式中任一种实现方式,在第一方面的第五种实现方式中,所述决策树模型由所述控制器利用所述交换机接收到的历史数据流的数据特征以及标签信息对所述决策树模型完成训练或更新后发送给所述交换机。
第二方面,提供了一种交换机,所述交换机为Openflow协议下的交换机,所述交换机包括:
接收模块,用于通过网络接收或传输的数据流;
决策模块,用于根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型由历史数据流的数据特征及历史数据流的标签信息进行训练而成,所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流,所述标签信息指示数据流的类别;
上报模块,将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径;
路径分配模块,用于根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
第三方面,提供了一种网络控制系统,包括交换机以及控制器,其中所述交换机为Openflow协议下的交换机;所述交换机利用所述交换机接收到的历史数据流的数据特征以及标签信息训练或更新一决策树模型,所述标签信息指示数据流的类别;
所述交换机接收所述决策树模型并根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流;
所述交换机将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径;
所述交换机根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
第四方面,提供了
一种交换机,包括用于接收数据流或根据传输路径转发数据流数据接口、处理器、存储器以及总线;其特征在于,
所述存储器用于存储流表管道、由所述流表管道构建的决策树模型以及本地流表信息;
所述处理器通过总线与存储器数据连接,用于根据接收到的数据流的数据特征,利用所述决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型由历史数据流的数据特征及历史数据流的标签信息进行训练而成,所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流,所述标签信息指示数据流的类别;
所述数据接口用于将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径,并根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
本发明实施例中的数据传输方法以及使用该方法的数据传输系统,主要是通过在交换机层面对数据流进行分类筛选,再将分类后部分被选中的数据流信息上报给控制器,以使控制器相应地基于网路的全局信息选择最优的网络传输路径,并下发给在路径上的所有交换机,配置路由转发表,使部分数据流不需要上报控制器,从而减少控制器与交换机之间交互。
附图说明
图1为现有的SDN网络控制示意图。
图2为本发明实数据传输方法的示意图。
图3为本发明实施例一中数据传输方法的流程图。
图4为本发明实施例中决策树的示意图。
图5为本发明实施例中决策树的另一示意图。
图6为本发明实施例二中网络控制系统的示意图。
图7为本发明实施例三中一种交换机的示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明在SDN网络中,为了提升SDN网络的控制效果,主要是需要在网络控制系统承受能力和控制器的全局网络状态信息的利用程度之间取得平衡。
本发明利用在Openflow协议下的交换机可以实现很多分布式任务的特性,对到达该交换机的数据流的分布式处理,节省了交换机与控制器的交互;还可以通过所述交换机对数据流进行分类和筛选。
网络中的数据流成千上万,数据流的特性也是十分多样化的,比如,从流长度这个角度区分,在网络中90%的数据流均为老鼠流,也就是流长度很小,持续时间很短的数据流,这些流对网络的影响很小;而网络中其余的10%的数据流为大象流,即是流长度巨大,持续时间长的数据流,这些大象流虽然数量上只占10%,但是却占据了整个网络流量的90%。如果能够将大象流和老鼠流区分开来,为大象流选取避免和其他大象流冲突的最佳路径,可以大大减小出现网络拥塞的情况,从而优化了整个网络的性能。又比如,从数据流所属的应用角度区分,在网络中有些数据流属于对时延,丢包率敏感的数据流,比如视频流;而有些数据流属于数据备份应用,对延迟或丢包不是很敏感。因此,本发明需要对数据流进行分类,以选择其中相对重要或敏感的数据流,对其进行最优路径的规划,其它相对没有这么重要或敏感的数据流则由交换机直接转发,以有效减少交换机与控制器之间的交互量,从而提高网络效率。
本发明实施例中的数据传输方法以及使用该方法的数据传输系统,主要是通过在交换机层面对数据流进行分类筛选,再将分类后部分被选中的数据流信息上报给控制器,以使控制器相应地基于网路的全局信息选择最优的网络传输路径,并下发给在路径上的所有交换机,配置路由转发表。
如图2所示,所述数据传输方法以及使用该方法的数据传输系统在数据流到达交换机时,在交换机层面对数据流进行分类以及筛选,最大程度减少了控制器和交换机之间的通信,大大降低了控制器和交换机控制通道的拥塞。
然而,控制器是一个具有强大计算能力的计算机,因而在控制器上可以实现复杂的分类器算法,然而交换机只是一个数据转发设备,具有非常有限甚至没有计算能力,同时没有足够多的内存。
因此,本发明实施例的最大特点是在现有Openflow协议下的交换机上实现一个分类器,利用交换机的流表以及流表管道构造一个决策树,通过该决策树再根据数据特征进行分类,其中一类A上报控制器,以由该控制器计算这一类数据流的传输路径,而另一类数据B则由交换机根据自身本地流表信息计算传输路径,并根据所述计算出的传输路径直接传输这一类数据流。这样可以实现交换机层面流分类,且并可通过控制器支持决策树实时更新。上面在交换机使用决策树进行分类中使用的数据特征包括服务器IP、客户端IP、服务器端口、客户端端口以及网络传输协议,包括扩但是并不限于这些特征。另外本发明实施例的应用场景并不限于SDN网络络,只要是网络中交换机属于Openflow协议下的交换机,就能够使用本发明。
实施例一
同时参阅图2和3,本发明实施例一中的数据传输方法,主要包括以下步骤:
步骤101、交换机接收数据流,其中所述交换机为Openflow协议下的交换机;
步骤102、根据接收到的数据流的数据特征,利用所述交换机的流表管道 构建的决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型由历史数据流的数据特征及历史数据流的标签信息进行训练而成,所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流,所述标签信息指示数据流的类别,其中所述数据特征包括服务器IP(Server IP)、客户端IP(Client IP)、服务器端口(Server Port)、客户端端口(Client Port)以及网络传输协议(Network Tranmission Protocol);
步骤103、将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径;
步骤104、根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
在步骤102之前,所述交换机接收由控制器发送的决策树模型,其中所述决策树模型由所述控制器利用网服务器中的历史数据流的数据信息对一初始的决策树模型完成训练或对当前决策树模型进行更新后发送给所述交换机,所述历史数据流的数据信息包括历史数据流的数据特征以及标签信息。在本发明某些实施例中,所述交换机具有较强的运算和存储能力,也可以由所述交换机根据自身存储或从网络服务器获取的历史数据对决策树模型进行训练或更新后,再将训练或更新后的决策树模型应用到步骤102中的分类操作中。
在步骤102中,该交换机利用所述流表管道形成的决策树模型对所述接收到的数据流分为两类数据流,可以具体是根据接收到的数据流的数据特征,利用所述流表管道构建的决策树模型对所述接收到的数据流分为数据流大小或者应用类型或者重要等级以及优先等级不同的两类数据流。具体来说,根据所述两类数据流大小分为大象流和老鼠流,其中大象流为第一类数据流需 要上报控制器,老鼠流为第二类数据流可以由交换机直接根据信息进行转发;或者根据所述两类数据流应用类型的不同分为对网络服务质量高要求的应用数据流和对网络服务质量要求中等或低的应用数据流应用数据流,例如视频流对网络质量、时延以及丢包率比较敏感,应该归为第一类数据流需要上报控制器,而有些数据流属于数据备份应用,对网络质量、延迟率以及丢包率不敏感,应该归为第二类可以由交换机根据本地信息直接转发;或者根据所述两类数据的重要等级分为重要数据和非重要数据,如网络中一些标注为重要或优先级较高的数据应该归为第一类数据流需要上报控制器,而一些普通数据以及对优先级较低的应该归为第二类数据流可以由交换机根据本地信息直接转发或者根据收集到的拓扑信息计算最佳路由转发出去。
对于所述第二类数据流,所述交换机可根据等价多路径(ECMP)路由表转发出去。关于交换机如何收集网络的拓扑信息并基于收集到的拓扑信息计算最佳路由,主要有两种路有算法:全局式路由算法和分布式路由算法。分布式路由算法一般称为距离向量(Distance Vector)算法,这些算法中,每一个交换机只有与它直接相连的交换机信的信息,而没有网络中其它交换机的信息;而全局式路由算法一般称为链路状态算法(Link Status)算法,每一个交换机都有网络中所有交换机的全部信息,全局式路由算法的主要步骤包括:(1)确认在物理上与之直接相连的交换机并获得它们的IP地址。(2)测量相邻路由器的延时,或者其他重要网络参数。(3)向网络中的其他交换机广播自己的信息,同时也接受其他交换机的信息。(4)使用一个合适的算法,比如Dijkstra算法,确定网络中两个节点之间的最佳路由。此外,步骤104中的本地流表信息是指用于构成决策树模型以外的流表所记载的路由信息。
在步骤102中,所述决策树模型包含决策树,且上述数据传输方法中交换机接收到的数据流分类主要是通过该决策树来实现的,其中所述交换机将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点时根据所述至少一个决策节点对应的数 据流特征进行匹配决策后到达所述决策树模型的叶子节点,所述叶子节点包括两类叶子节点分别指示所述第一类数据流和第二类数据流。所述叶子节点是指决策树的末端节点。
如图4所示,这个决策树由交换机的流表管道构建而成,其中决策树的某一个节点,对应于所述流表管道的某一个流表(Flow Table),处理所述数据流的某一数据特征,通过所述数据流的每一数据特征与所述数据特征所在节点对的应流表的匹配情况决策所述节点的分裂方向,其中决定所述决策树当前节点分裂方向的节点分裂条件可以通过阈值比较的方式来确定分裂方向,具体可以由所述对应流表的匹配域的二进制通配符实现,也就是通过所述数据特征与所述对应流表的匹配域的二进制通配符匹配情况,来确定当前节点分裂方向以沿决策树节点间的左边或右边连接到下一节点,其中所述决策树的节点之间的连接,也就是有当前节点到下一节点是由所述对应流表的指令域的Go to Table n(转到流表n)指令实现,一直到最后对应叶子节点流表来实现分类。
如图5所示,每个数据特征同时对应决策树的一个节点和流表管道的一个流表。例如,图中节点0对应服务器IP(Server IP)同时对应流表0(Table0);节点1对应服务器端口(Server Port)同时对应流表1(Table 1);节点2对用户端端口(Client Port)同时对应流表2(Table 2)。
所述决策树在每一个节点根据该节点所对应的数据特征的变量值进行分裂。如图5中,当源端Server IP地址小于IP1时,决策过程往左边分叉走到下一节点,反之往右边分叉走。如此类推,直到到达决策树最低层的叶子节点,即是经过多个节点的多层决策过程得到的分类结果,到达最低层的叶子节点为A类或者B类,分别对应为步骤102中两类数据的第一类数据流以及第二流数据流。
在具体实现所述决策树的决策判断中,交换机的流表和流表管道是一种具有决策过程的数据结构,如下表一所示流表的数据结构:
Match Fields Priority Counters Timeouts Flags
xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxx xxxxxxxx
xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxx xxxxxxxx
xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxx xxxxxxxx
表一
上述流表中每一行是一个流表单元,代表一种决策规则,如流表的第一列是匹配域,而流表的第四列是指令,这两者的结合体现了一个决策过程,即是如果一个个体在某一个流表单元匹配域匹配成功,则执行该流表单元的指令。因此,一个流表及其匹配域和指令,和一个决策树的一个节点及其分叉,具有功能上的一致性,因此使用一个流表来实现一个决策树的节点。
在交换机在流表的基础上实现了流表管道,一个数据流可以通过一个流表管道来实现一系列的决策过程,而流表管道中的流表之间通过指令中的Goto-Table n来建立连接,而流表管道最末端的流表,指令中就不包含Goto-Table n,而包含了具体的操作,比如直接将数据流通过交换机的某个端口上报给控制器,或者通过某个端口重新送回网络中,而在本实施例中直接包含数据流的分类信息A或B,也就是第一类数据流或者第二类数据流。
由上述可以看出决策树的节点根据该节点的数据特征变量的值进行分裂,形成不同的决策树子树。在所述特征变量的判断上可以由流表的匹配域以及一系列的通配符来实现匹配判断,以确定分裂方向。
比如在决策树某一个节点,将数据流的数据特征转换为32位二进制串,再由以下匹配判断:
If 38798<=ServerPort<=56637,go to node(Table)XXX。
在流表中,可以在流表的匹配域使用以下表2中的通配符实现。
Figure PCTCN2016095695-appb-000001
Figure PCTCN2016095695-appb-000002
表2
表中显示了数据流的数据特征,如Server Port的32位二进制串。对于数据流的其它数据特征我们也可以通过将数据特征转换为二进制,然后再进行匹配判断来实现各个数据特征对应的决策树节点的分裂方向决策,具体转换二进制通配符的过程可以通过如下的伪代码实现:
假设数据包报头指示的数据特征为F,将判断算法R:Vu≥F≥Vl,转化为二进制通配符的算法如下:
1、将F初始化为下界Vl的二进制形式;
2、从F的最右端开始;
3、搜索全零片段'0...0';
4、将全零片段'0...0'右端的二进制位全设为通配符'*';
5、产生N个新的匹配规则,N是全零片段的长度;
6、每一个规则中,将全零片段某一位'0'设为'1',全零片段其余位设为'*';
7、回到第2步,直到产生的新匹配规则大于上界Vu。
上界的转化规则与上述算法类似,只是搜索全一片段'1...1',并将某一位改为'0'。
实施例二
如图6所示,本发明实施例二中的一种网络控制系统,包括交换机、控 制器以及数据库。所述网络控制器适用于SDN网络,但是并不限于SND网络,适用于所有网络中的交换机符合Openflow协议要求的数据传输网络。
所述控制器利用所述交换机接收到的历史数据流的数据特征以及标签信息训练或更新一决策树模型,所述标签信息指示数据流的类别;
所述交换机接收所述决策树模型并根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流;
所述交换机将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径;
所述交换机根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
所述交换机包括:
接收模块,用于通过网络接收数据流;
决策模块,用于根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型由历史数据流的数据特征及历史数据流的标签信息进行训练而成,所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流,所述标签信息指示数据流的类别;
上报模块,将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径;
路径分配模块,用于根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所 述第二类数据流。
在所述交换机对接收的数据流进行分类之前,所述交换机要完成对决策树模型的训练或更新。所述交换机可以内部实现对决策树模型的训练或更新,也可以接收由控制器发送的所述决策树模型,其中所述决策树模型由所述控制器利用数据库中的控制器接收到的历史数据流的数据信息对所述决策树模型完成训练或更新后发送给所述交换机,所述历史数据流的数据信息包括历史数据流的数据特征以及标签信息。
所述决策模块具体用于将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点时根据所述至少一个决策节点对应的数据流特征进行匹配决策后到达所述决策树模型的叶子节点,所述叶子节点包括两类叶子节点分别指示所述第一类数据流和第二类数据流。
所述决策模块还用于将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点时由对应所述至少一决策节点的流表的匹配域转换成的二进制通配符实现匹配,其中每一决策节点通过所述数据特征与所述对应流表的匹配域的二进制通配符匹配情况,来确定分裂方向以沿决策节点间的连接到下一节点,其中所述决策树的节点之间的连接,由所述对应流表的指令域的Go to Table n(转到流表n)指令实现,一直到叶子节点来实现分类。
实施例三
如图7所示,本发明实施例三中的一种交换机包括数据接口、处理器、存储器以及总线;所述数据接口用于接收数据流或根据传输路径转发数据流;
所述存储器用于存储流表管道、由所述流表管道构建的决策树模型以及本地流表信息;
所述处理器通过总线与存储器以及数据接口连接,用于根据接收到的数据流的数据特征,利用所述决策树模型将所述接收到的数据流分为两类数据 流,其中所述决策树模型由历史数据流的数据特征及历史数据流的标签信息进行训练而成,所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流,所述标签信息指示数据流的类别;
所述数据接口将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径,并根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
本发明实施例二、三中网络控制系统中涉及的数据流分类方法以及决策模型的工作方式和实施例一中的数据传输方法的一致,在此就不再进行重复阐述。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

  1. 一种数据传输方法,其特征在于,所述方法包括:
    交换机接收数据流,其中所述交换机为Openflow协议下的交换机;
    根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型由历史数据流的数据特征及历史数据流的标签信息进行训练而成,所述标签信息指示数据流的类别,所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流;
    将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径;
    根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
  2. 如权利要求1所述的数据传输方法,其特征在于:所述根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流包括:
    将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点时根据所述至少一个决策节点对应的数据流特征进行匹配决策后到达所述决策树模型的叶子节点,所述叶子节点包括两类叶子节点分别指示所述第一类数据流和第二类数据流。
  3. 如权利要求2所述的数据传输方法,其特征在于:所述将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点根据所述至少一个决策节点对应的数据流特征进行匹配决策后到达所述决策树模型的叶子节点包括:
    将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树 模型,经所述决策树模型的至少一个决策节点时由对应所述至少一决策节点的流表的匹配域转换成的二进制通配符实现匹配,其中每一决策节点通过所述数据特征与所述对应流表的匹配域的二进制通配符匹配情况,来确定分裂方向以沿决策节点间的连接到下一节点,其中所述决策树的节点之间的连接,由所述对应流表的指令域的Go to Table n(转到流表n)指令实现,一直到叶子节点来实现分类。
  4. 如权利要求1至3任一项权利要求所述的数据传输方法,其特征在于:所述数据流的数据特征包括服务器IP、客户端IP、服务器端口、客户端端口以及网络传输协议中的至少一个。
  5. 如权利要求1至4任一项所述的数据传输方法,其特征在于:其中所述第一类数据流对应为大数据流或对网络质量要求高的应用的数据流或重要等级高或优先级高的数据流,所述第二类数据流对应为小数据流或对网络质量要求低的应用的数据流或重要等级低或优先级低的数据流。
  6. 如权利要求1至5任一项所述的数据传输方法,其特征在于:其中所述决策树模型由所述控制器利用所述交换机接收到的历史数据流的数据特征以及标签信息对所述决策树模型完成训练或更新后发送给所述交换机。
  7. 一种交换机,所述交换机为Openflow协议下的交换机,其特征在于,所述交换机包括:
    接收模块,用于通过网络接收数据流;
    决策模块,用于根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型由历史数据流的数据特征及历史数据流的标签信息进行训练而成,所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流,所述标签信息指示数据流的类别;
    上报模块,将所述两类数据流中的第一类数据流上报控制器,以由所述 控制器计算所述第一类数据流的传输路径;
    路径分配模块,用于根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
  8. 如权利要求7所述的交换机,其特征在于:所述决策模块具体用于将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点时根据所述至少一个决策节点对应的数据流特征进行匹配决策后到达所述决策树模型的叶子节点,所述叶子节点包括两类叶子节点分别指示所述第一类数据流和第二类数据流。
  9. 如权利要求8所述的交换机,其特征在于:所述决策模块具体用于将所述交换机接收的数据流的数据特征输入所述流表管道形成的决策树模型,经所述决策树模型的至少一个决策节点时由对应所述至少一决策节点的流表的匹配域转换成的二进制通配符实现匹配,其中每一决策节点通过所述数据特征与所述对应流表的匹配域的二进制通配符匹配情况,来确定分裂方向以沿决策节点间的连接到下一节点,其中所述决策树的节点之间的连接,由所述对应流表的指令域的Go to Table n(转到流表n)指令实现,一直到叶子节点来实现分类。
  10. 如权利要求7至9任一项所述的交换机,其特征在于:所述数据流的数据特征包括服务器IP、客户端IP、服务器端口、客户端端口以及网络传输协议中的至少一个。
  11. 如权利要求7至10任一项所述的交换机,其特征在于:所述第一类数据流对应为大数据流或对网络质量要求高的应用的数据流或重要等级高或优先级高的数据流,所述第二类数据流对应为小数据流或对网络质量要求低的应用的数据流或重要等级低或优先级低的数据流。
  12. 如权利要求7至11任一项所述的交换机,其特征在于:所述决策树模型由所述控制器利用所述交换机接收到的历史数据流的数据特征以及标签 信息对所述决策树模型完成训练或更新后发送给所述交换机。
  13. 一种网络控制系统,包括交换机以及控制器,其中所述交换机为Openflow协议下的交换机;其特征在于,
    所述控制器利用所述交换机接收到的历史数据流的数据特征以及标签信息训练或更新一决策树模型,所述标签信息指示数据流的类别;
    所述交换机接收所述决策树模型并根据接收到的数据流的数据特征,利用所述交换机的流表管道构建的决策树模型将所述接收到的数据流分为两类数据流,其中所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流;
    所述交换机将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径;
    所述交换机根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
  14. 如权利要求13所述的网络控制系统,其特征在于:其中所述第一类数据流对应为大数据流或对网络质量要求高的应用的数据流或重要等级高或优先级高的数据流,所述第二类数据流对应为小数据流或对网络质量要求低的应用的数据流或重要等级低或优先级低的数据流。
  15. 一种交换机,包括流数据接口、处理器、存储器以及总线,其特征在于,
    所述存储器用于存储流表管道、由所述流表管道构建的决策树模型以及本地流表信息;
    所述数据接口用于接收数据流;
    所述处理器通过总线与存储器以及数据接口连接,用于根据接收到的数据流的数据特征,利用所述决策树模型将所述接收到的数据流分为两类数据 流,其中所述决策树模型由历史数据流的数据特征及历史数据流的标签信息进行训练而成,所述决策树模型包括至少一个的决策节点,每个决策节点由所述流表管道的一个流表构成且对所述接收到的数据流的一个数据特征进行匹配以决策到下一节点的分裂方向以区分所述两类数据流,所述标签信息指示数据流的类别;
    所述数据接口还用于将所述两类数据流中的第一类数据流上报控制器,以由所述控制器计算所述第一类数据流的传输路径,并根据所述交换机的本地流表信息确定所述两类数据流中的第二类数据流的传输路径,并根据所述计算出的传输路径直接传输所述第二类数据流。
PCT/CN2016/095695 2015-08-22 2016-08-17 一种数据传输方法、使用该方法的交换机以及网络控制系统 WO2017032253A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16838512.8A EP3297231B1 (en) 2015-08-22 2016-08-17 Data transmission method, switch using same, and network control system
US15/879,452 US11159432B2 (en) 2015-08-22 2018-01-25 Data transmission method, and switch and network control system using the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510522003.6 2015-08-22
CN201510522003.6A CN106470168B (zh) 2015-08-22 2015-08-22 一种数据传输方法、使用该方法的交换机以及网络控制系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/879,452 Continuation US11159432B2 (en) 2015-08-22 2018-01-25 Data transmission method, and switch and network control system using the method

Publications (1)

Publication Number Publication Date
WO2017032253A1 true WO2017032253A1 (zh) 2017-03-02

Family

ID=58099615

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/095695 WO2017032253A1 (zh) 2015-08-22 2016-08-17 一种数据传输方法、使用该方法的交换机以及网络控制系统

Country Status (4)

Country Link
US (1) US11159432B2 (zh)
EP (1) EP3297231B1 (zh)
CN (1) CN106470168B (zh)
WO (1) WO2017032253A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156025A (zh) * 2017-12-13 2018-06-12 中国联合网络通信集团有限公司 一种用户离网预测的方法及装置
CN115914141A (zh) * 2022-09-23 2023-04-04 暨南大学 一种基于p4硬件交换机的网络数据流分类预测方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106470166A (zh) * 2015-08-19 2017-03-01 深圳中兴网信科技有限公司 一种数据通信报文的处理方法和装置
US10659351B2 (en) * 2015-12-16 2020-05-19 Hewlett Packard Enterprise Development Lp Dataflow consistency verification
CN109005126B (zh) * 2017-06-06 2020-06-02 华为技术有限公司 数据流的处理方法、设备和计算机可读存储介质
CN108391296A (zh) * 2018-04-03 2018-08-10 郑州云海信息技术有限公司 一种无线切换方法及装置
CN108718249A (zh) * 2018-04-27 2018-10-30 广州西麦科技股份有限公司 基于sdn网络的网络加速方法、装置与计算机可读存储介质
US10673765B2 (en) * 2018-09-11 2020-06-02 Cisco Technology, Inc. Packet flow classification in spine-leaf networks using machine learning based overlay distributed decision trees
US11563640B2 (en) 2018-12-13 2023-01-24 At&T Intellectual Property I, L.P. Network data extraction parser-model in SDN
CN113079102A (zh) * 2020-01-03 2021-07-06 中国移动通信有限公司研究院 一种大象流多分级调度方法及装置、设备、存储介质
CN111490940B (zh) * 2020-03-17 2022-12-27 中移(杭州)信息技术有限公司 确定数据转发路径的方法、电子设备以及存储介质
US11818022B2 (en) 2020-06-30 2023-11-14 Pensando Systems Inc. Methods and systems for classifying traffic flows based on packet processing metadata
CN113872998A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 建立管道的方法及装置
US11374858B2 (en) * 2020-06-30 2022-06-28 Pensando Systems, Inc. Methods and systems for directing traffic flows based on traffic flow classifications
CN114422620B (zh) * 2021-12-20 2023-12-01 鹏城实验室 一种基于知识蒸馏的数据包分类方法及相关装置
CN114866281B (zh) * 2022-03-25 2023-07-21 中国科学院计算技术研究所 一种在p4交换机上部署随机森林模型的方法
CN114844760B (zh) * 2022-05-05 2023-07-25 鹏城实验室 一种网络故障感知与定位方法、装置、终端及存储介质
CN115988574B (zh) * 2023-03-15 2023-08-04 阿里巴巴(中国)有限公司 基于流表的数据处理方法、系统、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179046A (zh) * 2013-04-15 2013-06-26 昆山天元昌电子有限公司 基于openflow的数据中心流量控制方法及系统
CN104158753A (zh) * 2014-06-12 2014-11-19 南京工程学院 基于软件定义网络的动态流调度方法及系统
US20150026794A1 (en) * 2013-07-18 2015-01-22 Palo Alto Networks, Inc. Packet classification for network routing
CN104426762A (zh) * 2013-08-30 2015-03-18 中兴通讯股份有限公司 一种传输、接收元数据的方法、开放流逻辑交换机

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317578B2 (en) * 2013-03-14 2016-04-19 International Business Machines Corporation Decision tree insight discovery
CN103248573A (zh) * 2013-04-08 2013-08-14 北京天地互连信息技术有限公司 面向OpenFlow的集中管理交换机及其数据处理方法
CN104734957B (zh) 2013-12-24 2018-03-23 中国移动通信集团公司 一种软件定义网络sdn中业务传输方法及装置
US10050892B2 (en) * 2014-01-14 2018-08-14 Marvell International Ltd. Method and apparatus for packet classification
CN104104718B (zh) 2014-07-02 2017-05-17 北京邮电大学 一种基于软件定义网络的用户自主路由定制系统和方法
CN104579941A (zh) 2015-01-05 2015-04-29 北京邮电大学 一种OpenFlow交换机中的报文分类方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179046A (zh) * 2013-04-15 2013-06-26 昆山天元昌电子有限公司 基于openflow的数据中心流量控制方法及系统
US20150026794A1 (en) * 2013-07-18 2015-01-22 Palo Alto Networks, Inc. Packet classification for network routing
CN104426762A (zh) * 2013-08-30 2015-03-18 中兴通讯股份有限公司 一种传输、接收元数据的方法、开放流逻辑交换机
CN104158753A (zh) * 2014-06-12 2014-11-19 南京工程学院 基于软件定义网络的动态流调度方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3297231A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156025A (zh) * 2017-12-13 2018-06-12 中国联合网络通信集团有限公司 一种用户离网预测的方法及装置
CN115914141A (zh) * 2022-09-23 2023-04-04 暨南大学 一种基于p4硬件交换机的网络数据流分类预测方法

Also Published As

Publication number Publication date
EP3297231A1 (en) 2018-03-21
EP3297231A4 (en) 2018-06-20
US20180152386A1 (en) 2018-05-31
CN106470168B (zh) 2019-12-06
CN106470168A (zh) 2017-03-01
EP3297231B1 (en) 2020-10-07
US11159432B2 (en) 2021-10-26

Similar Documents

Publication Publication Date Title
WO2017032253A1 (zh) 一种数据传输方法、使用该方法的交换机以及网络控制系统
US9246818B2 (en) Congestion notification in leaf and spine networks
JP5440691B2 (ja) パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
CN103119900B (zh) 通信系统、控制设备、节点控制方法和节点控制程序
US8279753B2 (en) Efficient determination of fast routes when voluminous data is to be sent from a single node to many destination nodes via other intermediate nodes
CN103825823B (zh) 基于不同优先级的软件定义网络中数据转发方法
JP5652565B2 (ja) 情報システム、制御装置、通信方法およびプログラム
CN107204867A (zh) 一种信息传输方法、装置和系统
CN109688056B (zh) 智能网络控制系统及方法
CN101510841B (zh) 端到端流量识别方法和系统
CN108270699B (zh) 报文处理方法、分流交换机及聚合网络
CN102714628A (zh) 通信系统、控制装置、处理规则设置方法、分组传输方法和程序
CN104158753A (zh) 基于软件定义网络的动态流调度方法及系统
CN103069756A (zh) 通信系统、控制器、节点控制方法和程序
US10341235B2 (en) Load balancing implementation method, device, and system
US20140192683A1 (en) Method and a controller system for configuring a software-defined network
WO2017084448A1 (zh) 一种网络系统及网络运行方法
CN105357124A (zh) 一种MapReduce带宽优化方法
EP2904746A1 (en) Control apparatus, control method thereof, and program
CN105681438A (zh) 内容中心网络中一种集中式的缓存决策策略
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
JP6524911B2 (ja) ネットワーク制御装置、ネットワーク制御方法およびプログラム
CN114448899A (zh) 一种均衡数据中心网络负载的方法
CN108075955B (zh) 骨干网的数据处理方法及装置
CN105207951A (zh) 一种广域网流量优化控制方法及装置

Legal Events

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

Ref document number: 16838512

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2016838512

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE