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 PDF

Info

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
Application number
CN201910768557.2A
Other languages
Chinese (zh)
Inventor
陈昌娜
毛为民
衷宇清
崔兆阳
吴刚
姚建
李俊浩
张思敏
吴若迪
周菲
林泽兵
曾泽棉
蒋胜智
李昭桦
陈辉煌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Power Supply Bureau of Guangdong Power Grid Co Ltd
Original Assignee
Guangzhou Power Supply Bureau Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Power Supply Bureau Co Ltd filed Critical Guangzhou Power Supply Bureau Co Ltd
Priority to CN201910768557.2A priority Critical patent/CN110557333A/en
Publication of CN110557333A publication Critical patent/CN110557333A/en
Pending legal-status Critical Current

Links

Classifications

    • 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/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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

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

Method and system for controlling and guaranteeing quality of service of software defined network
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.
CN201910768557.2A 2019-08-20 2019-08-20 method and system for controlling and guaranteeing quality of service of software defined network Pending CN110557333A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
孙杰: "《一种基于QoS和动态负载均衡的路由策略》", 《计算机技术与发展》 *

Cited By (5)

* Cited by examiner, † Cited by third party
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