CN110557333A - method and system for controlling and guaranteeing quality of service of software defined network - Google Patents
method and system for controlling and guaranteeing quality of service of software defined network Download PDFInfo
- Publication number
- CN110557333A CN110557333A CN201910768557.2A CN201910768557A CN110557333A CN 110557333 A CN110557333 A CN 110557333A CN 201910768557 A CN201910768557 A CN 201910768557A CN 110557333 A CN110557333 A CN 110557333A
- Authority
- CN
- China
- Prior art keywords
- application
- flow table
- sdn
- sdn controller
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Abstract
the application relates to a method and a system for controlling and guaranteeing the service quality of a software defined network, wherein the method comprises the following steps: the SDN switch collects and reports network states; the SDN controller constructs a global network topology according to the network state; the SDN controller sets flow parameters of each application according to the type according to the performance requirement of each application; the SDN controller generates an OpenFlow flow table according to the flow parameters of each application and transmits the OpenFlow flow table to the SDN switch; and the SDN switch receives the data packet, inquires the OpenFlow flow table, forwards the data packet according to the OpenFlow flow table when the data packet has an inquiry result, and reports the data packet to the SDN controller when the data packet has no inquiry result. The method has the advantages that the SDN is fully utilized, the plurality of queues are arranged on the ports, the corresponding different services can be realized, the performance requirements of different application types can be met, and bottom hardware is controlled in a centralized mode, so that the quality of service control guarantee is realized, and the method is particularly suitable for visual flow scheduling of a data network.
Description
Technical Field
The present application relates to the field of quality of service assurance, and in particular, to a method and system for controlling and ensuring quality of service in a software-defined network based on application classification.
background
quality of Service (QoS), also known as QoS, refers to a technique in which a network can use various related technologies, and it can transmit data according to a priority based on a data type, reserve a network bandwidth for a specific network communication, and provide a better Service capability for a specific network Service, so as to implement normal communication between data.
Software Defined Networking (SDN) has emerged, and the design idea of SDN is to extract the logical control plane of a Network device from the data forwarding plane and then provide an interface through a separate controller to implement programmability, thereby centrally controlling the underlying hardware. SDN provides an open application programming interface, making it a natural advantage in guaranteeing QoS quality of traffic data flows.
However, the data network visualization traffic scheduling based on the SDN controller lacks performance requirements for adapting to different application types, and it is difficult to implement quality of service control guarantee.
Disclosure of Invention
based on this, there is a need to provide a method and system for guaranteeing the quality of service control of a software-defined network.
A method for controlling and guaranteeing the service quality of a software defined network comprises the following steps:
The SDN switch collects a network state and reports the network state to the SDN controller;
the SDN controller constructs a global network topology according to the network state;
The SDN controller sets flow parameters of each application according to the performance requirement of each application and the type, wherein the parameters comprise a path and a priority;
the SDN controller generates an OpenFlow flow table according to the flow parameters of each application and transmits the OpenFlow flow table to the SDN switch;
And the SDN switch receives the data packet, inquires the OpenFlow flow table, forwards the data packet according to the OpenFlow flow table when the data packet has an inquiry result, and reports the data packet to the SDN controller when the data packet has no inquiry result.
According to the method for controlling and guaranteeing the service quality of the software defined network, the flow parameters of each application are set according to the performance requirements of each application and the type, the advantages of the SDN are fully utilized, a plurality of queues are arranged on the ports, the method can correspond to different services, can adapt to the performance requirements of different application types, and can control underlying hardware in a centralized manner, so that the service quality control guarantee is realized, the method is particularly suitable for visual flow scheduling of a data network, and a solution is provided for realizing QoS for various applications such as voice communication, video communication, Web access and FTP file transmission.
in one embodiment, before the SDN switch collects a network state and reports the network state to the SDN controller, the method further includes the steps of: the performance requirements of each application are analyzed.
In one embodiment, before setting the flow parameters of each application by type, the method further comprises the steps of: the application types are distinguished according to the data packets.
In one embodiment, the paths are distinct bandwidth-specific paths.
In one embodiment, when forwarding is performed according to the OpenFlow flow table, the method further includes the steps of: the SDN controller adopts a rerouting mechanism based on flow anti-jitter to realize self-adaptive load balancing of each path.
A system for controlling and ensuring the quality of service of a Software Defined Network (SDN) comprises an SDN switch and an SDN controller,
The SDN switch is used for acquiring a network state and reporting the SDN controller, and is also used for receiving a data packet, inquiring an OpenFlow flow table, forwarding according to the OpenFlow flow table when an inquiry result exists, and reporting the SDN controller when no inquiry result exists;
The SDN controller is used for constructing a global network topology according to a network state, setting flow parameters of each application according to the type and the performance requirement of each application, wherein the parameters comprise a path and a priority, and generating an OpenFlow flow table according to the flow parameters of each application and transmitting the OpenFlow flow table to the SDN switch.
In one embodiment, the SDN controller includes a topology management module, a personalized flow table module, a traffic identification module, a queue adjustment module, and a bandwidth adjustment module;
the SDN switch is respectively connected with the topology management module, the service identification module and the personalized flow table module;
The topology management module is used for constructing a global network topology according to the network state;
The service identification module is used for identifying the type of the application;
The queue adjusting module is used for setting the queue priority in the flow parameters of each application according to the type according to the performance requirement of each application;
The bandwidth adjusting module is used for setting a bandwidth special path in the stream parameter of each application according to the type according to the performance requirement of each application;
And the personalized flow table module generates an OpenFlow flow table according to the flow parameters of each application and transmits the OpenFlow flow table to the SDN switch.
In one embodiment, the service identification module is further configured to analyze performance requirements of each application.
In one embodiment, the service identification module is further configured to distinguish application types according to data packets.
In one embodiment, the SDN controller further includes a rerouting module configured to reroute an overloaded path when the load is unbalanced.
Drawings
Fig. 1 is a flowchart illustrating an embodiment of a method for guaranteeing quality of service control of a software-defined network according to the present application.
Fig. 2 is a schematic structural diagram of an embodiment of a system for controlling and ensuring network qos according to the present application.
fig. 3 is a schematic workflow diagram of another embodiment of the system for guaranteeing the software-defined network qos control according to the present application.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, embodiments accompanying the present application are described in detail below with reference to the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. This application is capable of embodiments in many different forms than those described herein and that modifications may be made by one skilled in the art without departing from the spirit and scope of the application and it is therefore not intended to be limited to the specific embodiments disclosed below.
It will be understood that when an element is referred to as being "secured to" or "disposed on" another element, it can be directly on the other element or intervening elements may also be present. When an element is referred to as being "connected" to another element, it can be directly connected to the other element or intervening elements may also be present. The terms "vertical," "horizontal," "left," "right," and the like as used in the description of the present application are for illustrative purposes only and do not denote a single embodiment.
unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in the description of the present application, the term "and/or" includes any and all combinations of one or more of the associated listed items.
In one embodiment of the present application, a method for guaranteeing quality of service control of a software defined network is shown in fig. 1, and includes the following steps: the SDN switch collects a network state and reports the network state to the SDN controller; the SDN controller constructs a global network topology according to the network state; the SDN controller sets flow parameters of each application according to the performance requirement of each application and the type, wherein the parameters comprise a path and a priority; the SDN controller generates an OpenFlow flow table according to the flow parameters of each application and transmits the OpenFlow flow table to the SDN switch; and the SDN switch receives the data packet, inquires the OpenFlow flow table, forwards the data packet according to the OpenFlow flow table when the data packet has an inquiry result, and reports the data packet to the SDN controller when the data packet has no inquiry result. According to the method for controlling and guaranteeing the service quality of the software defined network, the flow parameters of each application are set according to the performance requirements of each application and the type, the advantages of the SDN are fully utilized, a plurality of queues are arranged on the ports, the method can correspond to different services, can adapt to the performance requirements of different application types, and can control underlying hardware in a centralized manner, so that the service quality control guarantee is realized, the method is particularly suitable for visual flow scheduling of a data network, and a solution is provided for realizing QoS for various applications such as voice communication, video communication, Web access and FTP file transmission.
In one embodiment, a method for controlling and ensuring the quality of service of a software-defined network based on application classification comprises the following steps of part of or all of the following embodiments; that is, the method for guaranteeing the service quality control of the software-defined network includes some or all of the following technical features.
In one embodiment, the SDN switch collects a network state and reports the network state to the SDN controller; further, in one embodiment, the SDN switch periodically collects a network state and reports the network state to the SDN controller; the specific period is set or adjusted according to actual requirements, no additional limitation is imposed on the specific period, and the network state is periodically acquired, so that the SDN controller can accurately obtain the current information of the network state, and the global network topology can be favorably constructed or adjusted in a matching manner. In one embodiment, before the SDN switch collects a network state and reports the network state to the SDN controller, the method further includes the steps of: the performance requirements of each application are analyzed. In one embodiment, the SDN controller analyzes the performance requirements of each application. In one embodiment, before the SDN controller sets the flow parameters of each application according to the type according to the performance requirement of each application, the method further includes the steps of: the SDN controller analyzes the performance requirements of each application. Further, in one embodiment, after the SDN switch collects a network state and reports the network state to the SDN controller, before the SDN controller sets flow parameters of each application according to a type according to a performance requirement of each application, the method further includes the steps of: the SDN controller analyzes the performance requirements of each application. The design is beneficial to determining different performance requirements of different applications, and the parameters of the corresponding data streams are set according to different types of the different applications in a matching manner. In one embodiment, the performance requirements for four typical network applications are as follows: voice communication requires lower jitter, video communication requires lower jitter and greater bandwidth, Web access requires lower latency, and FTP file transfer requires greater throughput. I.e. the four applications have different requirements. The SDN controller analyzes the performance requirements of each application, so that the provided SDN network QoS guarantee can obtain a better guarantee effect based on application classification.
In one embodiment, the SDN controller constructs a global network topology from network states; in one embodiment, the SDN switch periodically collects network states and reports the network states to the SDN controller, and the SDN controller automatically constructs a global network topology; further, in one embodiment, the SDN controller automatically constructs a global network topology according to network states; that is, when the SDN controller receives the network state, the global network topology is automatically constructed according to the network state. The design is beneficial to timely and effectively dealing with the change of the network state, especially in cooperation with the embodiment of subsequent rerouting, the advantages of the SDN are fully utilized, the service quality control guarantee is realized, the method is especially suitable for visual flow scheduling of a data network, and a solution is provided for realizing QoS for various applications such as voice communication, video communication, Web access, FTP file transmission and the like.
In one embodiment, the SDN controller sets flow parameters of each application according to a performance requirement of each application, and the parameters include a path and a priority; further, in one embodiment, the path is a bandwidth-specific path. In one embodiment, the paths are distinct bandwidth-specific paths. Further, in one embodiment, the path is automatically set according to the requirement. In one embodiment, the SDN controller sets dedicated paths of different bandwidths for flows of various application types according to different performance requirements of the various applications. Further, in one embodiment, the priority is a queue priority. In one embodiment, the SDN controller sets queues with different queuing priorities for flows of various application types according to different performance requirements of various applications. By means of the design, the flow parameters of the applications are set according to the performance requirements of the applications and the types, the advantages of the SDN are fully utilized, different services are provided for different applications, on one hand, QoS guarantee is achieved, and on the other hand, the transmission rate is increased.
further, in one embodiment, stream (also called data stream) parameters of each application are set by type and transmission policies are generated, and the stream parameters of each transmission policy are set corresponding to each type of application. In one embodiment, before setting the flow parameters of each application by type, the method further comprises the steps of: the application types are distinguished according to the data packets. In one embodiment, the SDN controller distinguishes application types from data packets. Further, in one embodiment, packets are received and the application types are automatically differentiated based on the packets. Further, in one embodiment, the SDN controller distinguishes application types based on port, data payload, and flow characteristics. Further, in one embodiment, the SDN controller distinguishes application types according to data packets and/or their ports, data payload, flow characteristics. The design is beneficial to automatically distinguishing the types of the applications and providing different transmission strategies for different applications; and the advantages of the SDN are fully utilized, a plurality of queues are arranged on the ports, and the queues can correspond to different services, so that the QoS guarantee is realized by setting bandwidth values for the queues.
In one embodiment, according to the transmission policy, the SDN controller designs a personalized OpenFlow (a network communication protocol, belonging to a data link layer) flow table and issues the flow table to the SDN switch. In one embodiment, the SDN controller generates an OpenFlow flow table according to flow parameters of each application and transmits the OpenFlow flow table to the SDN switch; in one embodiment, the SDN controller generates an OpenFlow flow table according to flow parameters of each application and transmits the OpenFlow flow table to the SDN switch. Further, in one embodiment, the SDN controller adjusts the OpenFlow flow table according to the data peak of the path and transmits the OpenFlow flow table to the SDN switch. The design provides a solution for realizing QoS for various applications such as voice communication, video communication, Web access, FTP file transmission and the like, and has a good SDN QoS guarantee effect.
In one embodiment, the SDN switch receives the data packet, queries the OpenFlow flow table, forwards the data packet according to the OpenFlow flow table when the query result is available, and reports the data packet to the SDN controller when the query result is not available. Further, in one embodiment, the SDN switch receives the data packet, queries the OpenFlow flow table, forwards the data packet according to the OpenFlow flow table when there is a query result, and reports the data packet to the SDN controller when there is no query result; and continuing to receive the data packet by the SDN switch and subsequent operation of the SDN switch. Therefore, when a data packet arrives at an SDN switch, the personalized OpenFlow flow table of the SDN switch is inquired, the data packet is forwarded to the next hop according to the flow table, and if the data packet does not arrive in the flow table, the data packet is reported to the controller. And the steps are repeated until the destination node is reached. By the design, the advantages of the SDN are fully utilized, the plurality of queues are arranged on the ports, the corresponding different services can be realized, the performance requirements of different application types can be met, and bottom hardware is controlled in a centralized manner, so that the quality of service control guarantee is realized, and the method is particularly suitable for visual traffic scheduling of a data network.
In one embodiment, when forwarding is performed according to the OpenFlow flow table, the method further includes the steps of: the SDN controller adopts a rerouting mechanism based on flow anti-jitter to realize self-adaptive load balancing of each path. Further, in one embodiment, the rerouting mechanism based on traffic anti-jitter includes providing and issuing a new flow table, and the new flow table has a lower priority than the original flow table. Further, in one embodiment, when forwarding is performed according to the OpenFlow flow table, the method further includes the steps of: the SDN controller calculates a new end-to-end path for the flow, and designs and issues a new flow table; the new flow table has a lower priority than the original flow table. The controller calculates a new end-to-end path for the flow, designs and issues a new flow table; the priority of the new flow table is lower than that of the original flow table, so that the transmission of the flow is not influenced in the issuing process of the new flow table. To prevent this, further, in one embodiment, the rerouting mechanism based on traffic anti-jitter further includes: recording the survival time stamp of each flow, circularly detecting the survival time stamp of each flow according to a preset time period, and deleting a flow table entry or deleting the flow by the flow table entry and notifying an SDN controller when the survival time stamp of a certain flow does not generate data transmission within a preset time period; and when the survival timestamp of a certain flow is greater than the preset time period, acquiring the flow table entry and carrying out rerouting. In one embodiment, the predetermined time period is 2, 3, 4, or 5 seconds, etc. In one embodiment, the predetermined time period is 12, 15, 20, 25, 30, 60 seconds, or the like. Due to the design, a connected path is always arranged in the switching process of the flow path, so that the transmission process of the flow is ensured not to lose packets, the transparent switching of the route is realized, and the technical effect of flow anti-jitter is achieved. To better achieve the anti-jitter effect, further, in one embodiment, the traffic anti-jitter based rerouting mechanism further includes: when collecting flow list item information, recording the life time stamp of each flow by taking the cookie as a key, and recording as duration; to implement the anti-jitter function, the value of the duration is cyclically detected with a period of 3s, and the threshold limit is set to: (limit _ hard _ timeout-10) s; if a flow has no data transmission within duration < (limit-15) s, the flow entry is automatically deleted due to soft timeout and the controller is notified to update the relevant information; if a stream still has data to transmit after the duration > (limit-15), the anti-jitter function will determine whether the stream is a long stream or a short stream and continue to transmit; when the duration is greater than limit, the anti-jitter function is triggered, and the flow _ info of the flow entry is obtained for rerouting. Therefore, on one hand, the transmission process of the flow can be ensured not to lose packets, on the other hand, the issuing process of the new flow table has no influence on the transmission of the flow, and on the other hand, the method has a better anti-jitter technical effect.
In one embodiment, a method for QoS provisioning of an SDN network based on application classification; analyzing performance requirements of various applications at an SDN controller; the SDN switch periodically collects network states and reports the network states to the SDN controller, and the SDN controller automatically constructs a global network topology; the SDN controller analyzes the data packets to distinguish between different application types; according to different performance requirements of various applications, the SDN controller sets special paths with different bandwidths for flows of various application types; according to different performance requirements of various applications, the SDN controller sets queues with different queuing priorities for flows of various application types; and the SDN controller designs a personalized OpenFlow flow table and issues the flow table to the SDN switch. When a data packet arrives at an SDN switch, inquiring the flow table of the SDN switch, forwarding to the next hop according to the flow table, and repeating the steps until the destination node is reached. Therefore, a feasible design is provided for realizing QoS for applications such as voice communication, video communication, Web access, FTP file transmission and the like. In one specific embodiment, the method for guaranteeing the software-defined network quality of service control comprises the following steps: analyzing performance requirements of various applications; the SDN switch periodically collects network states and reports the network states to the SDN controller, and the SDN controller automatically constructs a global network topology; the SDN controller analyzes the data packets to distinguish between different application types; according to different performance requirements of various applications, the SDN controller sets special paths with different bandwidths for flows of various application types; according to different performance requirements of various applications, the SDN controller sets queues with different queuing priorities for flows of various application types; according to the transmission strategy, the SDN controller designs a personalized OpenFlow flow table and issues the flow table to the SDN switch. When a data packet arrives at an SDN switch, inquiring a personalized OpenFlow flow table of the SDN switch, forwarding the data packet to a next hop according to the flow table, and if the data packet does not arrive in the flow table, reporting the data packet to the controller. And the steps are repeated until the destination node is reached. And realizing self-adaptive load balancing of each path based on a rerouting mechanism for preventing flow from shaking. Wherein, the core step of rerouting includes: the controller calculates a new end-to-end path for the flow, designs and issues a new flow table; the priority of the new flow table is lower than that of the original flow table, so that the transmission of the flow is not influenced in the issuing process of the new flow table. Due to the design, a connected path is always arranged in the process of switching the flow path, so that the transmission process of the flow is ensured not to lose packets, and the transparent switching of the route is realized.
In one embodiment, a system for controlling and ensuring network service quality is defined by software, which comprises a part of or the whole structure of the following embodiments; that is, the system for guaranteeing the software-defined network qos control includes some or all of the following technical features. In one embodiment, the system for controlling and guaranteeing the quality of service of the software-defined network is implemented by the method of any one of the embodiments; in one embodiment, the system for controlling and ensuring the quality of service of the software-defined network has functional modules corresponding to the steps of the method in any one of the embodiments. In one embodiment, the system for controlling and ensuring the software-defined network service quality comprises an SDN switch and an SDN controller, wherein the SDN switch is used for collecting a network state and reporting the SDN controller, receiving a data packet, inquiring an OpenFlow flow table, forwarding according to the OpenFlow flow table when an inquiry result exists, and reporting to the SDN controller when no inquiry result exists; the SDN controller is used for constructing a global network topology according to a network state, setting flow parameters of each application according to the type and the performance requirement of each application, wherein the parameters comprise a path and a priority, and generating an OpenFlow flow table according to the flow parameters of each application and transmitting the OpenFlow flow table to the SDN switch. According to the system for controlling and guaranteeing the service quality of the software defined network, the flow parameters of each application are set according to the performance requirements of each application and the type, the advantages of the SDN are fully utilized, a plurality of queues are arranged on the ports, the system can correspond to different services, can adapt to the performance requirements of different application types, and can control underlying hardware in a centralized manner, so that the service quality control guarantee is realized, the system is particularly suitable for visual flow scheduling of a data network, and a solution is provided for realizing QoS for various applications such as voice communication, video communication, Web access and FTP file transmission.
in one embodiment, the SDN controller includes a topology management module, a personalized flow table module, a traffic identification module, a queue adjustment module, and a bandwidth adjustment module; the SDN switch is respectively connected with the topology management module, the service identification module and the personalized flow table module; the topology management module is used for constructing a global network topology according to the network state; the service identification module is used for identifying the type of the application; the queue adjusting module is used for setting the queue priority in the flow parameters of each application according to the type according to the performance requirement of each application; the bandwidth adjusting module is used for setting a bandwidth special path in the stream parameter of each application according to the type according to the performance requirement of each application; and the personalized flow table module generates an OpenFlow flow table according to the flow parameters of each application and transmits the OpenFlow flow table to the SDN switch. In one embodiment, the service identification module is further configured to analyze performance requirements of each application. In one embodiment, the service identification module is further configured to distinguish application types according to data packets.
In one embodiment, the SDN controller further includes a rerouting module configured to reroute an overloaded path when the load is unbalanced. Further, in one embodiment, the rerouting module is configured to calculate a new end-to-end path for the flow and design and issue a new flow table when the load is unbalanced; and the priority of the new flow table is lower than that of the original flow table, and the overload path is rerouted. Due to the design, a connected path is always arranged in the process of switching the flow path, so that the transmission process of the flow is ensured not to lose packets, and the transparent switching of the route is realized. Further, in one embodiment, the SDN controller is configured to periodically detect the load of all available paths from end to end, and when the load is unbalanced, reroute some of the traffic on the overloaded path through the rerouting module. In one embodiment, the controller calculates a new end-to-end path for the flow, designs and issues a new flow table; the priority of the new flow table is lower than that of the original flow table, so that the transmission of the flow is not influenced in the issuing process of the new flow table. Because a connected path is always arranged in the process of switching the flow path, the transmission process of the flow can be ensured not to lose packets, and the transparent switching of the route is realized. Further, in one embodiment, the rerouting module is configured to record a time-to-live timestamp of each flow, cyclically detect the time-to-live timestamp of each flow according to a preset time period, delete a flow entry or delete a flow entry when no data transmission occurs in the time-to-live timestamp of a certain flow within a preset time period, and notify the SDN controller; and when the survival timestamp of a certain flow is greater than the preset time period, acquiring the flow table entry and carrying out rerouting. By the design, on one hand, the transmission process of the flow can be ensured not to lose packets, on the other hand, the issuing process of the new flow table has no influence on the transmission of the flow, and on the other hand, the method has a better anti-jitter technical effect.
Taking the RYU controller as an example, as shown in fig. 2, in one embodiment, the following modules are deployed for the RYU controller based on the SDN mainstream: the system comprises a topology management module, an individualized flow table module, a service identification module, a queue adjustment module and a bandwidth adjustment module. Namely, the SDN controller includes a topology management module, a personalized flow table module, a service identification module, a queue adjustment module, and a bandwidth adjustment module.
In one embodiment, the topology management module is used to automatically construct a network topology, identify connections between controllers and switches, between switches, and address information for each port. In one embodiment, the personalized flow table module is configured to issue the flow table to the SDN switch through an OpenFlow protocol, and transmit the matched service traffic to a corresponding queue for forwarding. In one embodiment, the service identification module is used to distinguish the current four typical network applications through ports. In one embodiment, the queue adjustment module is configured to set a specific queue for different services, and configure port queue information of OpenvSwitch through the RESTAPI interface. In one embodiment, the bandwidth adjustment module is configured to formulate a reasonable bandwidth for a service, and provide a service-based traffic guarantee for a user.
In one embodiment, the service identification module is used for distinguishing the network application through the port, so as to identify the type of the application. In one embodiment, the Web access adopts an HTTP protocol, and the port number is 80 to be used as a service identifier; in one embodiment, the FTP protocol is used for the FTP file transfer, and the port number is 20 to serve as the service identifier. In one embodiment, the voice communication adopts H.323/H.225 protocol, and uses 1720 port number of TCP as identification; in one embodiment, the video communication uses the rtsp (real Time Streaming protocol) protocol, and uses the port 554 of TCP as an identifier.
in one embodiment, the queue adjusting module is configured to configure a port queue of the SDN switch through a REST API using an OVSDB (Open vSwitch Database Management Protocol), and set different queue bandwidths. For efficient operational configuration of SDN switches, in one embodiment, a binding library pycnrl module in Python language is used. QoS has a number of ways to set queues and further, in one embodiment, uses custom queues that ensure the service level of all traffic flows. In one embodiment, the total bandwidth that a network architecture traffic flow may occupy in a given system is 30%, and in such an embodiment, assuming that TCP traffic should occupy 20%, the remaining 50% of the bandwidth is reserved for other applications. Further, in one embodiment, the configuration port queues are issued to the SDN switch through a REST API, where a maximum bandwidth rate of a port is specified and 4 queues are configured, and each queue corresponds to maximum bandwidth rate information of a service. Further, in one embodiment, the SDN controller sets flow parameters of each application according to a type according to a performance requirement of each application, where the parameters include a path and a priority, and the setting includes: and issuing the configuration port queues to the SDN switch through REST API, wherein the maximum bandwidth rate of the designated port and 4 queues are configured, and each queue corresponds to the maximum bandwidth rate information of the service. The rest of the examples are analogized.
In one embodiment, the bandwidth adjustment module is configured to set a bandwidth of a service corresponding to a queue in the queue adjustment module, where the setting includes: the service type network quality requirement difference, the matching of the mode entering the corresponding queue and the configuration of flow table information about QoS when the SDN switch is connected. Further, in one embodiment, setting the flow parameters of each application by type includes: setting the bandwidth of each application; in one embodiment, setting the bandwidth of each application comprises: setting service type network quality requirement difference, matching a mode of entering a corresponding queue and configuring flow table information about QoS when the SDN switch is connected.
Further, in one embodiment, the personalized flow table module is further provided with a QoS guarantee module, the QoS guarantee module performs function call through set _ ev _ cls according to a processing mode of switch _ features _ handler by using a class of qoapp inherited from app _ manager, acquires a data path when receiving device information of the SDN switch, and then issues a relevant QoS flow table, and processes a message through a packet _ in _ handler function when the SDN controller receives an OpenFlow message. Further, in one embodiment, a QoS _ app.py function module is added based on an Ryu controller, that is, an SDN controller, and is mainly used to implement the QoS guarantee function proposed by the present invention, which is described in detail below. First, a class of QosApp is defined, which is inherited from app _ manager. At the beginning of the class, a version of an OpenFlow protocol to be used is specified, where the version of the OpenFlow protocol used in this embodiment is 1.3; then, when the SDN switch is connected to the first stage, in order to listen to this stage and issue flow table information configured for QoS, a method of switch _ features _ handle is defined in the qoapp class, and this function is called by set _ ev _ cls. When equipment information of the switch is received, a data path can be obtained and a relevant QoS flow table is issued; finally, when the controller receives the OpenFlow message, the controller defines a _ packet _ in _ handler function to process the message. In one embodiment, 4 services such as Web access, voice communication, video communication, FTP file transmission and the like correspond to 4 queues such as a queue1 queue, a queue2 queue, a queue3 queue and a queue4 queue. Wherein, it is specified that the maximum bandwidth of the port is 100Mbps, and the 4 incoming queue bandwidths are sequentially allocated to 10%, 25%, and 40% of the maximum bandwidth. Such a design ensures FTP file transfer requiring greater throughput, while generally not requiring excessive bandwidth for Web access requiring lower latency.
In one embodiment, the personalized flow table module is configured to receive a data packet sent from the SDN switch, analyze a service type of the data packet according to the service identification module, and schedule the data packet to a different queue for execution. In one embodiment, the main part of a working process is shown in fig. 3, where (1) represents that when a virtual machine of 10.0.0.1 sends an http request to a virtual machine of 10.0.0.2, the access is out from queue1 of port 2; in the figure, (2) represents that the switch at 10.0.0.2 receives the data packet from port 3 and simultaneously sends the data packet to the http server from port 4; and (3) and (4) in the figure are paths in opposite directions.
In one embodiment, the topology management module is configured to build a global network topology using the LLDP link discovery protocol in the Ryu controller. Assuming that two OpenFlow switches, S1 and S2, are connected to one Ryu controller, an example of how the switch S1 discovers the connection with the switch S2 will be described. Firstly, the Ryu controller sends an LLDP data Packet to all ports of the switch S1 through a Packet _ Out message, wherein a chatiss IDTLV and a Port ID TLV in the LLDP message are respectively a dpid and a Port number of the switch S1; after receiving the Packet _ Out message, the switch S1 forwards the LLDP Packet received from the Ryu controller to all ports connected to it, in this case, to the switch S2; then, the switch S2 sends the Packet to the Ryu controller through a Packet _ In message; finally, the Ryu controller analyzes the Packet In the Packet _ In message, and then creates a connection relationship between the switch S1 and the switch S2 In the topology information storage module. In one embodiment, the core of the topology management module is designed based on Ryu and lies in switches. Py instantiates the core class Switches in Switches by means of _ context, and relevant information of topology discovery is displayed by log. In the Ryu controller, parameters such as a "verbose" and a "oven-links" are input, so that a damper can be activated to work, a topology information discovery function is realized, and a global network topology is constructed.
It should be noted that other embodiments of the present application further include a method and a system for guaranteeing software-defined network qos control based on application classification, which are formed by combining technical features in the above embodiments with each other and can be implemented.
the technical features of the embodiments described above may be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the embodiments described above are not described, but should be considered as being within the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the claims. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.
Claims (10)
1. A method for controlling and guaranteeing the service quality of a software defined network is characterized by comprising the following steps:
The SDN switch collects a network state and reports the network state to the SDN controller;
the SDN controller constructs a global network topology according to the network state;
the SDN controller sets flow parameters of each application according to the performance requirement of each application and the type, wherein the parameters comprise a path and a priority;
The SDN controller generates an OpenFlow flow table according to the flow parameters of each application and transmits the OpenFlow flow table to the SDN switch;
And the SDN switch receives the data packet, inquires the OpenFlow flow table, forwards the data packet according to the OpenFlow flow table when the data packet has an inquiry result, and reports the data packet to the SDN controller when the data packet has no inquiry result.
2. The method of claim 1, wherein before the SDN switch collects the network status and reports the network status to the SDN controller, the method further comprises the steps of: the performance requirements of each application are analyzed.
3. the method of claim 1, wherein before setting the flow parameters of each application by type, the method further comprises the steps of: the application types are distinguished according to the data packets.
4. The method of claim 1, wherein the paths are distinct bandwidth-specific paths.
5. the method according to any one of claims 1 to 4, wherein when forwarding is performed according to an OpenFlow flow table, the method further comprises the steps of: the SDN controller adopts a rerouting mechanism based on flow anti-jitter to realize self-adaptive load balancing of each path.
6. A system for controlling and ensuring the service quality of a Software Defined Network (SDN) is provided, which is provided with an SDN switch and an SDN controller,
the SDN switch is used for acquiring a network state and reporting the SDN controller, and is also used for receiving a data packet, inquiring an OpenFlow flow table, forwarding according to the OpenFlow flow table when an inquiry result exists, and reporting the SDN controller when no inquiry result exists;
The SDN controller is used for constructing a global network topology according to a network state, setting flow parameters of each application according to the type and the performance requirement of each application, wherein the parameters comprise a path and a priority, and generating an OpenFlow flow table according to the flow parameters of each application and transmitting the OpenFlow flow table to the SDN switch.
7. The system of claim 6, wherein the SDN controller comprises a topology management module, a personalized flow table module, a traffic identification module, a queue adjustment module, and a bandwidth adjustment module;
The SDN switch is respectively connected with the topology management module, the service identification module and the personalized flow table module;
the topology management module is used for constructing a global network topology according to the network state;
The service identification module is used for identifying the type of the application;
the queue adjusting module is used for setting the queue priority in the flow parameters of each application according to the type according to the performance requirement of each application;
the bandwidth adjusting module is used for setting a bandwidth special path in the stream parameter of each application according to the type according to the performance requirement of each application;
And the personalized flow table module generates an OpenFlow flow table according to the flow parameters of each application and transmits the OpenFlow flow table to the SDN switch.
8. The system of claim 7, wherein the service identification module is further configured to analyze performance requirements of each application.
9. The system of claim 8, wherein the service identification module is further configured to distinguish application types according to data packets.
10. the system of any of claims 7 to 9, wherein the SDN controller further comprises a rerouting module configured to reroute an overloaded path when the load is unbalanced.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910768557.2A CN110557333A (en) | 2019-08-20 | 2019-08-20 | method and system for controlling and guaranteeing quality of service of software defined network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910768557.2A CN110557333A (en) | 2019-08-20 | 2019-08-20 | method and system for controlling and guaranteeing quality of service of software defined network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110557333A true CN110557333A (en) | 2019-12-10 |
Family
ID=68737655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910768557.2A Pending CN110557333A (en) | 2019-08-20 | 2019-08-20 | method and system for controlling and guaranteeing quality of service of software defined network |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110557333A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235213A (en) * | 2020-12-16 | 2021-01-15 | 金锐同创(北京)科技股份有限公司 | SDN switch shunting method, system, terminal and storage medium |
CN112671673A (en) * | 2020-12-28 | 2021-04-16 | 广州西麦科技股份有限公司 | SDN-based flow control system and method |
CN115348219A (en) * | 2022-08-11 | 2022-11-15 | 中国工商银行股份有限公司 | Network quality of service queue setting method, device, equipment, medium and product |
CN115484214A (en) * | 2022-09-13 | 2022-12-16 | 杭州迦尔科技有限公司 | Industrial control network terminal type detection and network service quality optimization method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994033A (en) * | 2015-05-13 | 2015-10-21 | 南京航空航天大学 | Method for guaranteeing QoS (quality of service) of SDN (software defined network) by means of dynamic resource management |
CN105721318A (en) * | 2016-02-29 | 2016-06-29 | 华为技术有限公司 | Method and device for discovering network topology in software defined network SDN (Software Defined Network) |
CN106059821A (en) * | 2016-06-29 | 2016-10-26 | 重庆邮电大学 | Software-defined network (SDN)-based data center service quality assurance method |
CN107181663A (en) * | 2017-06-28 | 2017-09-19 | 联想(北京)有限公司 | A kind of message processing method, relevant device and computer-readable recording medium |
CN109831393A (en) * | 2019-03-10 | 2019-05-31 | 西安电子科技大学 | More granularity QoS control methods of network-oriented virtualization |
CN110099407A (en) * | 2018-01-30 | 2019-08-06 | 华为技术有限公司 | A kind of service quality QoS control method and relevant device |
-
2019
- 2019-08-20 CN CN201910768557.2A patent/CN110557333A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994033A (en) * | 2015-05-13 | 2015-10-21 | 南京航空航天大学 | Method for guaranteeing QoS (quality of service) of SDN (software defined network) by means of dynamic resource management |
CN105721318A (en) * | 2016-02-29 | 2016-06-29 | 华为技术有限公司 | Method and device for discovering network topology in software defined network SDN (Software Defined Network) |
CN106059821A (en) * | 2016-06-29 | 2016-10-26 | 重庆邮电大学 | Software-defined network (SDN)-based data center service quality assurance method |
CN107181663A (en) * | 2017-06-28 | 2017-09-19 | 联想(北京)有限公司 | A kind of message processing method, relevant device and computer-readable recording medium |
CN110099407A (en) * | 2018-01-30 | 2019-08-06 | 华为技术有限公司 | A kind of service quality QoS control method and relevant device |
CN109831393A (en) * | 2019-03-10 | 2019-05-31 | 西安电子科技大学 | More granularity QoS control methods of network-oriented virtualization |
Non-Patent Citations (1)
Title |
---|
孙杰: "《一种基于QoS和动态负载均衡的路由策略》", 《计算机技术与发展》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235213A (en) * | 2020-12-16 | 2021-01-15 | 金锐同创(北京)科技股份有限公司 | SDN switch shunting method, system, terminal and storage medium |
CN112235213B (en) * | 2020-12-16 | 2021-04-06 | 金锐同创(北京)科技股份有限公司 | SDN switch shunting method, system, terminal and storage medium |
CN112671673A (en) * | 2020-12-28 | 2021-04-16 | 广州西麦科技股份有限公司 | SDN-based flow control system and method |
CN115348219A (en) * | 2022-08-11 | 2022-11-15 | 中国工商银行股份有限公司 | Network quality of service queue setting method, device, equipment, medium and product |
CN115484214A (en) * | 2022-09-13 | 2022-12-16 | 杭州迦尔科技有限公司 | Industrial control network terminal type detection and network service quality optimization method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11381452B2 (en) | Network slicing method and system | |
Zhang et al. | Load balancing in data center networks: A survey | |
CN109714275B (en) | SDN controller for access service transmission and control method thereof | |
CN110557333A (en) | method and system for controlling and guaranteeing quality of service of software defined network | |
Jain et al. | B4: Experience with a globally-deployed software defined WAN | |
Binsahaq et al. | A survey on autonomic provisioning and management of QoS in SDN networks | |
Lan et al. | Dynamic load-balanced path optimization in SDN-based data center networks | |
KR101877595B1 (en) | METHOD FOR CONTROLLING QoS USING TRAFFIC PROCESSING BASED ON SERVICE | |
CN108833279B (en) | Method for multi-constraint QoS routing based on service classification in software defined network | |
JP7288980B2 (en) | Quality of Service in Virtual Service Networks | |
Abbasi et al. | Traffic engineering in software defined networks: a survey | |
KR20150036418A (en) | Delay-based traffic rate control in networks with central controllers | |
US7889644B2 (en) | Multi-time scale adaptive internet protocol routing system and method | |
KR20140106235A (en) | Open-flow switch and packet manageing method thereof | |
Li et al. | A QoS guaranteed technique for cloud applications based on software defined networking | |
KR20140052847A (en) | Method and apparatus for providing quality of service in software defiend neworking network | |
Li et al. | Enabling software defined networking with qos guarantee for cloud applications | |
Zhang et al. | A multipath transport scheme for real-time multimedia services based on software-defined networking and segment routing | |
EP2985963A1 (en) | Packet scheduling networking device | |
CN106330710B (en) | Data stream scheduling method and device | |
CN110417656A (en) | A kind of QoS guarantee system and method based on SDN network | |
Cui et al. | Accurate network resource allocation in SDN according to traffic demand | |
DomŻał et al. | Efficient and reliable transmission in Flow-Aware Networks—An integrated approach based on SDN concept | |
Paramasivam et al. | Quality of service aware routing in software defined video streaming: a survey | |
Daneshmand | Research and Development of QoS methods Based on SDN in 5G/IMT-2020 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201022 Address after: 510620 Tianhe District, Guangzhou, Tianhe South Road, No. two, No. 2, No. Applicant after: Guangzhou Power Supply Bureau of Guangdong Power Grid Co.,Ltd. Address before: 510620 Tianhe District, Guangzhou, Tianhe South Road, No. two, No. 2, No. Applicant before: GUANGZHOU POWER SUPPLY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191210 |