CN109831393B - Multi-granularity QoS control method for network virtualization - Google Patents

Multi-granularity QoS control method for network virtualization Download PDF

Info

Publication number
CN109831393B
CN109831393B CN201910177868.1A CN201910177868A CN109831393B CN 109831393 B CN109831393 B CN 109831393B CN 201910177868 A CN201910177868 A CN 201910177868A CN 109831393 B CN109831393 B CN 109831393B
Authority
CN
China
Prior art keywords
service
packet
virtual subnet
matched
virtual
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.)
Active
Application number
CN201910177868.1A
Other languages
Chinese (zh)
Other versions
CN109831393A (en
Inventor
张岗山
郭宝华
赵林靖
刘炯
冯磊
吴炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201910177868.1A priority Critical patent/CN109831393B/en
Publication of CN109831393A publication Critical patent/CN109831393A/en
Application granted granted Critical
Publication of CN109831393B publication Critical patent/CN109831393B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a multi-granularity QoS control method oriented to network virtualization, which mainly solves the problems that in the prior art, the maintenance cost is high in QoS control, and the QoS requirements of different users cannot be met. The implementation scheme is as follows: 1) creating an IP balance binary tree and a virtual subnet configuration file in an SDN controller; 2) configuring a queue in the SDN switch according to the virtual subnet configuration file; 3) matching a flow table for a packet arriving at the SDN switch, and if the flow table is matched, skipping 5), otherwise, matching a virtual subnet and a service type for the packet; 4) generating a flow table for the packet and sending the flow table to the SDN switch; 5) and sending the packets to the flow table specified queues, controlling a queue scheduling strategy to provide scheduling for the packets in each queue, and forwarding the scheduled packets away from the SDN switch. The invention reduces the maintenance cost of the network equipment, can provide different QoS guarantees for users under different virtual subnets, and can be used for enterprise communication networks.

Description

Multi-granularity QoS control method for network virtualization
Technical Field
The invention belongs to the technical field of network communication, and further relates to a multi-granularity QoS control method which can be used for an enterprise communication network.
Background
In recent years, with the rapid development of network technologies in the internet era, more and more enterprises and institutions are beginning to research and use network virtualization and software-defined network technologies. Network virtualization is an important QoS control technology, and multiple virtual networks isolated from each other can be created on a physical network topology, so that independent network resource slices are used among different users, and the utilization rate of network resources is improved. Software Defined Network (SDN) (software Defined network) is a centralized network architecture, which is mainly divided into SDN controller and SDN switch, and can divide the network into data plane and control plane. The traditional network virtualization deployment needs manual hop-by-hop deployment, the efficiency is low, the labor cost is high, and the realization of network virtualization is more flexible and efficient due to the SDN. However, the combination of the two technologies has a high threshold, only some related enterprises and research institutions can deploy the SDN-based network virtualization environment at present, and related commercial products are also expensive. Therefore, for most enterprises and organizations, it is difficult to fully utilize SDN-based network virtualization technology, and easier solutions need to be explored.
Currently, the prior art QoS control of network traffic is also implemented from the two perspectives of IntServ integrated services and DiffServ differentiated services. Wherein:
the work mode of the IntServ integrated service is to reserve enough resources for each flow by using a resource reservation protocol, and to store the state and signaling information of the flow in all the switches of the flow path, thereby finally achieving the effect of providing QoS control for each flow. However, the QoS control granularity of the IntServ-based integrated service is too fine, and the maintenance cost is too high.
DiffServ differentiated services works by considering all flows with the same TOS value as the same traffic flow based on the TOS field value of the IP header in the network flow datagram, and then providing different QoS controls for the different traffic flows. However, such QoS control based on DiffServ differentiated services can only guarantee differentiated services between services, and cannot provide QoS control from the user's perspective.
Disclosure of Invention
The present invention aims to provide a multi-granularity QoS control method oriented to network virtualization, so as to reduce the maintenance cost of network equipment, provide different traffic scheduling priorities for users under different virtual subnets, and allocate different bandwidth resources for different services of the same virtual subnet, in view of the above-mentioned deficiencies of the prior art.
The technical scheme of the invention is as follows: firstly, an IP balance binary tree and a virtual subnet configuration file are created in an SDN controller, then a queue rule is configured in the SDN switch, then a flow table is matched for a packet arriving at the SDN switch, if the packet arrives at the flow table, the packet directly enters a designated queue according to the flow table rule, if the packet does not arrive at the flow table, the packet is sent to the SDN controller, the virtual subnet is matched for the network flow of the packet, then the service type is matched for the network flow of the packet, then a new flow table is issued, the packet is sent to the designated queue according to the flow table action, and finally the packet is dispatched out of a queue and leaves the switch according to a multi-granularity QoS control queue dispatching strategy. The method comprises the following implementation steps:
(1) creating an IP balance binary tree in an SDN controller;
(2) creating a virtual subnet configuration file in an SDN controller, namely configuring N virtual subnets VSN, and configuring a corresponding QoS strategy for each virtual subnet;
(3) configuring queues in the SDN switch according to N virtual subnets in the virtual subnet configuration file:
configuring four service queues of an immediate forwarding service CS, a fast forwarding service EF, an assured forwarding service AF and a best effort forwarding service BE for each virtual subnet, and numbering each queue as X, wherein X represents the number of the virtual subnet, the range is 0 to N-1, Y represents the number of the service type, Y is 1 corresponding to the CS service, Y is 2 corresponding to the EF service, Y is 3 corresponding to the AF service and Y is 4 corresponding to the BE service;
(4) matching flow tables for packets arriving at the SDN switch:
and after a packet of the network flow reaches the SDN switch, matching the five-tuple of the source IP, the destination IP, the source port, the destination port and the transmission protocol of the packet with the five-tuple in the matching domain of all flow tables in the switch, if the flow tables with the same five-tuple are matched, jumping to (8), and if not, executing (5).
(5) Matching virtual subnets for a packetized network flow:
(5a) the SDN switch sends the PACKET to an SDN controller through an OFPT _ PACKET _ IN message of an OpenFlow protocol;
(5b) the SDN controller converts the source IP and the destination IP of the packet into decimal integers, and respectively searches an IP set matched with the source IP and an IP set matched with the destination IP of the packet in an IP balance binary tree:
for a source IP, if the matched IP set is found, recording the IP set IPSi matched with the source IP, and if the matched IP set is not found, recording the IP set IPSi matched with the source IP as IPS0 by default;
for the target IP, if the matched IP set is found, recording the IP set IPSj matched with the target IP, and if the matched IP set is not found, recording the IP set IPSj matched with the target IP as IPS0 by default;
(5c) combining the two recorded IP sets into a virtual subnet VSN ═ { IPSi, IPSj }, wherein i and j are IP set numbers and range is any nonnegative integer, and i can be equal to j;
(5d) searching a virtual subnet VSNx matched with the virtual subnet VSN { IPSi, IPSj } in the virtual subnet configuration file, recording the virtual subnet VSNx as VSN0 if the virtual subnet VSN is not matched, and recording the virtual subnet number X to which the grouped network flow belongs;
(6) taking TOS field data of a packet IP header, judging the value of the first 3-bit data, matching the service type for the network flow of the packet, and recording the service type number Y matched with the network flow of the packet:
if the first 3bit data has a value of 001, the network flow of the packet is matched to a CS type service,
if the value of the first 3bit data is 010, the network flow of the packet is matched with EF type service,
if the value of the first 3bit data is 011, the network flow of the packet is matched with the AF type service,
if the value of the first 3-bit data is other values, the network flow of the packet is matched as a BE type service;
(7) generating a flow table for the network flow of the packet and sending to the SDN switch:
(7a) the SDN controller generates a flow table for the network flow of the packet, sets a matching domain of the flow table as a quintuple of a source IP, a destination IP, a source port, a destination port and a transmission protocol of the packet, and sets an action domain of the flow table as sending the packet to a queue with the number of X, Y;
(7b) the SDN controller sends the flow table to an SDN switch through an OFPT _ PACKET _ OUT message of an OpenFlow protocol;
(8) according to the action domain of the flow table, the SDN switch sends the packet to a queue with the number of X, Y;
(9) the multi-granularity QoS control queue scheduling strategy provides scheduling service for the packets in each queue:
(9a) under the network level granularity, configuring a strict priority PQ scheduler for N virtual subnets with the number X, and providing scheduling service for different virtual subnets according to the size of communication priority P configured in each virtual subnet QoS strategy:
if the communication priority of the virtual subnet where the packet arrives is higher than the communication priority of the virtual subnet which is currently performing the scheduling service, the PQ scheduler provides the scheduling service for the virtual subnet with higher communication priority;
if the communication priority of the virtual subnet where the packet arrives is not greater than the communication priority of the virtual subnet currently performing the scheduling service, the PQ scheduler continues to provide the scheduling service for the virtual subnet with smaller communication priority after completing the scheduling service for the virtual subnet currently performing the scheduling service;
(9b) under the granularity of service level, configuring a difference weighted polling DWRR scheduler for the CS, EF, AF and BE service queues with the number Y of the same virtual subnet, wherein the scheduler provides scheduling service for the CS, EF, AF and BE service queues in turn according to the communication priority of each service, and in each round of scheduling service, scheduling packets not exceeding w 1B bytes for the CS service queues, scheduling packets not exceeding w 2B bytes for the EF service queues, scheduling packets not exceeding w 3B bytes for the AF service queues and scheduling packets not exceeding w 4B bytes for the BE service queues;
(10) and forwarding the dispatched packets in each service queue to leave the SDN switch by a network card of the SDN switch.
Compared with the prior art, the invention has the following advantages:
first, the QoS functions of virtual subnet matching and service type matching are centrally deployed in an SDN controller based on a software defined network architecture, and a plurality of SDN switches are centrally managed through flow tables to implement QoS policies, so that complexity and maintenance cost of QoS function deployment and QoS policy configuration are reduced, and the problems of high maintenance difficulty and high maintenance cost of network devices due to the fact that QoS functions and QoS policies must be deployed in each conventional switch in the prior art are solved.
Secondly, when the invention is scheduled in the multi-granularity QoS control queue, because the strict priority PQ scheduler is used in the network-level granularity, different traffic scheduling priorities can be provided for users under different virtual subnets, because the difference weighted polling DWRR scheduler is used in the service-level granularity, different communication bandwidth weights can be distributed for different types of services under the same virtual subnet according to the QoS strategy of the virtual subnet, so that QoS control can be provided from the network-level granularity and the service-level granularity at the same time, and the problem that in the prior art, the QoS control can only be provided from the service granularity, and different requirements of different users on QoS cannot be met is solved.
Drawings
FIG. 1 is a general flow chart of an implementation of the present invention;
FIG. 2 is a schematic diagram of an IP balanced binary tree in the present invention;
FIG. 3 is a virtual subnet matching sub-flow diagram of the present invention;
fig. 4 is a diagram illustrating multi-granularity QoS control queue scheduling in the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail with reference to the following embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The invention will be described in further detail below with reference to the drawings and specific examples.
Referring to fig. 1, the method comprises the following specific steps:
step 1, an IP balance binary tree is created in an SDN controller.
1a) Using a plurality of groups of data containing keys and values to generate a plurality of nodes, wherein the keys are decimal integers converted from binary IP addresses, the values are IP sets IPSi to which the IP addresses belong, i is the number of the IP sets, and the range is any nonnegative integer;
this embodiment generates 7 nodes using 7 sets of data including key and value, as shown in fig. 2, where:
the key of the first node 1 is 3232235876, which is a decimal integer converted from IP192.168.1.100 binary, and value is IP set IPs1 with number 1;
the key of the second node 2 is 3232235926, which is a decimal integer converted from IP192.168.1.150 binary, and value is IP set IPs1 with number 1;
the key of the third node 3 is 3232235976, which is a decimal integer converted from IP192.168.1.200 binary, and value is IP set IPS1 with number 1;
the key of the fourth node 4 is 3232236132, which is a decimal integer converted from IP192.168.2.100 binary, and value is the IP set IPs0 with number 0;
the key of the fifth node 5 is 3232236388, which is a decimal integer converted from IP192.168.3.100 binary, and value is IP set IPs2 with number 2;
the key of the sixth node 6 is 3232236438, which is a decimal integer after binary IP192.168.3.150 conversion, and value is IP set IPS2 with number 2;
the key of the seventh node 7 is 3232236488, which is a decimal integer converted from IP192.168.3.200 binary system, and value is the IP set IPS2 with number 2;
1b) fig. 2 shows that an IP balanced binary tree is created after the nodes are sorted according to the size of the key value.
And 2, creating a virtual subnet configuration file in the SDN controller.
2a) Configuring N kinds of virtual subnets VSN, wherein each kind of virtual subnet is represented by two IP set combinations as VSNx ═ { IPSi, IPSj }, wherein x is a virtual subnet number and ranges from 0 to N-1, i and j are IP set numbers and ranges from any nonnegative integer, and i can be equal to j;
2b) configuring a corresponding QoS strategy for each virtual subnet, wherein the QoS strategy comprises a communication priority P of the virtual subnet, a communication bandwidth weight w1 of an immediate forwarding service CS, a communication bandwidth weight w2 of a fast forwarding service EF, a communication bandwidth weight w3 of a guaranteed forwarding service AF and a communication bandwidth weight w4 of a best effort forwarding service BE which pass through the virtual subnet, and specifying the communication priority of each service as CS > EF > AF > BE;
the virtual subnet configuration file created in this embodiment includes 4 types of virtual subnets, and the expression mode and QoS policy configuration of each virtual subnet are as follows:
a first virtual subnetwork VSN0 ═ IPS0, IPS0, P ═ 0, w1 ═ 0.25, w2 ═ 0.25, w3 ═ 0.25, w4 ═ 0.25;
a second virtual subnetwork VSN1 ═ IPS0, IPS1, P ═ 1, w1 ═ 0.2, w2 ═ 0.3, w3 ═ 0.2, w4 ═ 0.3;
the third virtual subnet VSN2 ═ IPS0, IPS2, P ═ 2, w1 ═ 0.3, w2 ═ 0.2, w3 ═ 0.25, w4 ═ 0.25;
the fourth virtual subnetwork VSN3 is { IPS1, IPS2}, P is 3, w1 is 0.4, w2 is 0.3, w3 is 0.2, and w4 is 0.1.
And 3, configuring a queue in the SDN switch according to the virtual subnet configuration file.
In the virtual subnet configuration file of this embodiment, there are 4 types of virtual subnets, and for each type of virtual subnet, a queue is configured in the SDN switch, where:
the queues configured for the first virtual subnet VSN0 include: a CS service queue with the number of 0:1, an EF service queue with the number of 0:2, an AF service queue with the number of 0:3 and a BE service queue with the number of 0: 4;
the queues configured for the second type of virtual subnet VSN1 include: a CS service queue with the number of 1:1, an EF service queue with the number of 1:2, an AF service queue with the number of 1:3 and a BE service queue with the number of 1: 4;
the queues configured for the third virtual subnet VSN2 include: a CS service queue with the number of 2:1, an EF service queue with the number of 2:2, an AF service queue with the number of 2:3 and a BE service queue with the number of 2: 4;
the queues configured for the fourth virtual subnet VSN3 include: a CS service queue with the number of 3:1, an EF service queue with the number of 3:2, an AF service queue with the number of 3:3 and a BE service queue with the number of 3: 4.
And 4, matching a flow table for the packet arriving at the SDN switch.
And after a packet of the network flow reaches the SDN switch, matching the five-tuple of the source IP, the destination IP, the source port, the destination port and the transmission protocol of the packet with the five-tuple in the matching domain of all flow tables in the switch, if the flow tables with the same five-tuple are matched, jumping to (8), and if not, executing (5).
In this embodiment, a packet arriving at the SDN switch has five tuples of source IP192.168.1.150, destination IP192.168.3.150, source port 5000, destination port 8000 and transport protocol TCP, and the packet has no five tuple matching the flow table, and step 5 is executed.
And step 5, matching the virtual subnet for the grouped network flow.
Referring to fig. 3, the specific implementation of this step is as follows:
5a) the SDN switch sends the PACKET to an SDN controller through an OFPT _ PACKET _ IN message of an OpenFlow protocol;
5b) the SDN controller converts the source IP and the destination IP of the packet into decimal integers, and respectively searches an IP set matched with the source IP and an IP set matched with the destination IP of the packet in an IP balance binary tree:
for a source IP, if the matched IP set is found, recording the IP set IPSi matched with the source IP, and if the matched IP set is not found, recording the IP set IPSi matched with the source IP as IPS0 by default;
for the target IP, if the matched IP set is found, recording the IP set IPSj matched with the target IP, and if the matched IP set is not found, recording the IP set IPSj matched with the target IP as IPS0 by default;
5c) combining the two recorded IP sets into a virtual subnet VSN ═ { IPSi, IPSj }, wherein i and j are IP set numbers and range is any nonnegative integer, and i can be equal to j;
5d) searching a virtual subnet VSNx matched with the virtual subnet VSN { IPSi, IPSj } in the virtual subnet configuration file, recording the virtual subnet VSNx as VSN0 if the virtual subnet VSN is not matched, and recording the virtual subnet number X to which the grouped network flow belongs;
in this embodiment, the decimal integer converted from the grouped source IP192.168.1.150 is 3232235926, and node 2 is found in the IP balanced binary tree of fig. 2, so the matched IP set is IPs 1; the decimal integer that the destination IP192.168.3.150 of the packet is converted to is 3232236438, and node 6 is found in the IP balanced binary tree of fig. 2, so the matching IP set is IPs 2; the two IP sets are combined into one virtual subnet VSN { IPs1, IPs2}, which matches to VSN3 in the virtual subnet configuration file, so that the virtual subnet number X to which the network flow of the packet belongs is recorded as 3.
And 6, taking TOS field data of the packet IP header, judging the value of the first 3-bit data, matching the service type for the network flow of the packet, and recording the service type number Y matched with the network flow of the packet.
If the value of the first 3bit data is 001, the network flow of the packet is matched with the CS type service;
if the value of the first 3bit data is 010, the network flow of the packet is matched with the EF type service;
if the value of the first 3bit data is 011, the network flow of the group is matched with the AF type service;
and if the value of the first 3-bit data is other values, the network flow of the packet is matched as the BE type service.
In this embodiment, the TOS field data of the packet IP header is 010, so the network flow matching of the packet is an EF service type, and the service type number Y of the network flow matching of the packet is recorded as 2.
And 7, generating a flow table for the grouped network flow and sending the flow table to the SDN switch.
7a) The SDN controller generates a flow table for the network flow of the packet, sets a matching domain of the flow table as a quintuple of a source IP, a destination IP, a source port, a destination port and a transmission protocol of the packet, and sets an action domain of the flow table as sending the packet to a queue with the number of X, Y;
7b) the SDN controller sends the flow table to the SDN switch through an OFPT _ PACKET _ OUT message of the OpenFlow protocol.
In this embodiment, a matching field of a flow table generated by the SDN controller for the network flow of the packet is set to be a quintuple of a source IP192.168.1.150, a destination IP192.168.3.150, a source port 5000, a destination port 8000, and a transport protocol TCP, and an action field of the flow table is to send the packet to a queue numbered 3: 2; the SDN controller sends the flow table to the SDN switch through an OFPT _ PACKET _ OUT message of the OpenFlow protocol.
And 8, according to the action domain of the flow table, the SDN switch sends the packet to a queue with the number of X: Y.
In this embodiment, the action field of the flow table is to send a packet to a queue numbered 3:2, and therefore the SDN switch sends a packet to a queue numbered 3: 2.
And 9, providing scheduling service for the packets in each queue by the multi-granularity QoS control queue scheduling strategy.
9a) Under the network level granularity, configuring a strict priority PQ scheduler for N virtual subnets with the number X, and providing scheduling service for different virtual subnets according to the size of communication priority P configured in each virtual subnet QoS strategy:
if the communication priority of the virtual subnet where the packet arrives is higher than the communication priority of the virtual subnet which is currently performing the scheduling service, the PQ scheduler provides the scheduling service for the virtual subnet with higher communication priority;
if the communication priority of the virtual subnet where the packet arrives is not greater than the communication priority of the virtual subnet currently performing the scheduling service, the PQ scheduler will continue to provide the scheduling service for the virtual subnet with a smaller communication priority after completing the scheduling service for the virtual subnet currently performing the scheduling service.
9b) Under the granularity of service level, configuring a difference weighted polling DWRR scheduler for the CS, EF, AF and BE service queues with the number Y of the same virtual subnet, wherein the scheduler provides scheduling service for the CS, EF, AF and BE service queues in turn according to the communication priority of each service, and in each round of scheduling service, scheduling packets not exceeding w 1B bytes for the CS service queues, scheduling packets not exceeding w 2B bytes for the EF service queues, scheduling packets not exceeding w 3B bytes for the AF service queues and scheduling packets not exceeding w 4B bytes for the BE service queues.
In this embodiment, the total bandwidth B of the switch outlet is 10000 bytes, and according to the 4 virtual subnets and QoS policies thereof in the virtual subnet configuration file created in step 2, the communication priority P of the first virtual subnet VSN0 is 0, the communication priority P of the second virtual subnet VSN1 is 1, the communication priority P of the third virtual subnet VSN2 is 2, and the communication priority P of the fourth virtual subnet VSN3 is 3.
Referring to fig. 4, the queue scheduling policy of the present embodiment is to provide scheduling services for packets at both network level granularity and traffic level granularity. The implementation is as follows:
at network level granularity, the priority scheduling order provided by the PQ scheduler for the 4 virtual subnets is VSN3, VSN2, VSN1, VSN 0;
under the service level granularity, each round of scheduling service provided by the DWRR scheduler for different service queues of the same virtual subnet is as follows:
if the first virtual subnet VSN0 obtains scheduling service, scheduling packets not more than 2500 bytes for the CS service queue with the number of 0:1, scheduling packets not more than 2500 bytes for the EF service queue with the number of 0:2, scheduling packets not more than 2500 bytes for the AF service queue with the number of 0:3, and scheduling packets not more than 2500 bytes for the BE service queue with the number of 0: 4;
if the second virtual subnet VSN1 obtains scheduling service, scheduling packets not more than 2000 bytes for CS service queues numbered 1:1, packets not more than 3000 bytes for CS service queues numbered 1:2, packets not more than 2000 bytes for CS service queues numbered 1:3, and packets not more than 3000 bytes for CS service queues numbered 1: 4;
if the third virtual subnet VSN2 obtains scheduling service, scheduling packets not more than 3000 bytes for the CS service queue with the number 2:1, scheduling packets not more than 2000 bytes for the CS service queue with the number 2:2, scheduling packets not more than 2500 bytes for the CS service queue with the number 2:3, and scheduling packets not more than 2500 bytes for the CS service queue with the number 2: 4;
if the fourth virtual subnet VSN3 obtains scheduling service, packets not exceeding 4000 bytes are scheduled for CS traffic queues numbered 3:1, packets not exceeding 3000 bytes are scheduled for traffic queues numbered 3:2, packets not exceeding 2000 bytes are scheduled for traffic queues numbered 3:3, and packets not exceeding 1000 bytes are scheduled for traffic queues numbered 3: 4.
And step 10, forwarding the dispatched packets in each service queue to leave the SDN switch by a network card of the SDN switch.
The foregoing description is only an example of the present invention and is not intended to limit the invention, so that it will be apparent to those skilled in the art that various changes and modifications in form and detail may be made therein without departing from the spirit and scope of the invention.

Claims (2)

1. A multi-granularity QoS control method oriented to network virtualization is characterized by comprising the following steps:
(1) creating an IP balance binary tree in an SDN controller; the method is realized as follows:
(1a) using a plurality of groups of data containing keys and values to generate a plurality of nodes, wherein the keys are decimal integers converted from binary IP addresses, the values are IP sets IPSi to which the IP addresses belong, i is the number of the IP sets, and the range is any nonnegative integer;
(1b) sequencing all nodes according to the size of the key value to create an IP balanced binary tree;
(2) creating a virtual subnet configuration file in an SDN controller, namely configuring N virtual subnets VSN, and configuring a corresponding QoS strategy for each virtual subnet; the method is realized as follows:
(2a) configuring N kinds of virtual subnets VSN, wherein each kind of virtual subnet is represented by two IP set combinations as VSNx ═ { IPSi, IPSj }, wherein x is a virtual subnet number and ranges from 0 to N-1, i and j are IP set numbers and ranges from any nonnegative integer, and i is equal to j;
(2b) configuring a corresponding QoS strategy for each virtual subnet, wherein the QoS strategy comprises a communication priority P of the virtual subnet, a communication bandwidth weight w1 of an immediate forwarding service CS, a communication bandwidth weight w2 of a fast forwarding service EF, a communication bandwidth weight w3 of a guaranteed forwarding service AF and a communication bandwidth weight w4 of a best effort forwarding service BE which pass through the virtual subnet, and specifying the communication priority of each service as CS > EF > AF > BE;
(3) configuring queues in the SDN switch according to N virtual subnets in the virtual subnet configuration file:
configuring four service queues of an immediate forwarding service CS, a fast forwarding service EF, an assured forwarding service AF and a best effort forwarding service BE for each virtual subnet, and numbering each queue as X, wherein X represents the number of the virtual subnet, the range is 0 to N-1, Y represents the number of the service type, Y is 1 corresponding to the CS service, Y is 2 corresponding to the EF service, Y is 3 corresponding to the AF service and Y is 4 corresponding to the BE service;
(4) matching flow tables for packets arriving at the SDN switch:
after a packet of network flow reaches an SDN switch, matching a quintuple of a source IP, a destination IP, a source port, a destination port and a transmission protocol of the packet with the quintuple in matching domains of all flow tables in the switch, if the flow tables with the same quintuple are matched, jumping to (8), otherwise, executing (5);
(5) matching virtual subnets for a packetized network flow:
(5a) the SDN switch sends the PACKET to an SDN controller through an OFPT _ PACKET _ IN message of an OpenFlow protocol;
(5b) the SDN controller converts the source IP and the destination IP of the packet into decimal integers, and respectively searches an IP set matched with the source IP and an IP set matched with the destination IP of the packet in an IP balance binary tree:
for a source IP, if the matched IP set is found, recording the IP set IPSi matched with the source IP, and if the matched IP set is not found, recording the IP set IPSi matched with the source IP as IPS0 by default;
for the target IP, if the matched IP set is found, recording the IP set IPSj matched with the target IP, and if the matched IP set is not found, recording the IP set IPSj matched with the target IP as IPS0 by default;
(5c) combining the two recorded IP sets into a virtual subnet VSN (IPSi, IPSj), wherein i and j are IP set numbers and range is any nonnegative integer, and i is equal to j;
(5d) searching a virtual subnet VSNx matched with the virtual subnet VSN { IPSi, IPSj } in the virtual subnet configuration file, recording the virtual subnet VSNx as VSN0 if the virtual subnet VSN is not matched, and recording the virtual subnet number X to which the grouped network flow belongs;
(6) taking TOS field data of a packet IP header, judging the value of the first 3-bit data, matching the service type for the network flow of the packet, and recording the service type number Y matched with the network flow of the packet:
if the first 3bit data has a value of 001, the network flow of the packet is matched to a CS type service,
if the value of the first 3bit data is 010, the network flow of the packet is matched with EF type service,
if the value of the first 3bit data is 011, the network flow of the packet is matched with the AF type service,
if the value of the first 3-bit data is other values, the network flow of the packet is matched as a BE type service;
(7) generating a flow table for the packetized network flow and sending the flow table to the SDN switch;
(8) according to the action domain of the flow table, the SDN switch sends the packet to a queue with the number of X, Y;
(9) the multi-granularity QoS control queue scheduling strategy provides scheduling service for the packets in each queue:
(9a) under the network level granularity, configuring a strict priority PQ scheduler for N virtual subnets with the number X, and providing scheduling service for different virtual subnets according to the size of communication priority P configured in each virtual subnet QoS strategy:
if the communication priority of the virtual subnet where the packet arrives is higher than the communication priority of the virtual subnet which is currently performing the scheduling service, the PQ scheduler provides the scheduling service for the virtual subnet with higher communication priority;
if the communication priority of the virtual subnet where the packet arrives is not greater than the communication priority of the virtual subnet currently performing the scheduling service, the PQ scheduler continues to provide the scheduling service for the virtual subnet with smaller communication priority after completing the scheduling service for the virtual subnet currently performing the scheduling service;
(9b) under the granularity of service level, configuring a difference weighted polling DWRR scheduler for the CS, EF, AF and BE service queues with the number Y of the same virtual subnet, wherein the scheduler provides scheduling service for the CS, EF, AF and BE service queues in turn according to the communication priority of each service, and in each round of scheduling service, scheduling packets not exceeding w 1B bytes for the CS service queues, scheduling packets not exceeding w 2B bytes for the EF service queues, scheduling packets not exceeding w 3B bytes for the AF service queues and scheduling packets not exceeding w 4B bytes for the BE service queues;
(10) and forwarding the dispatched packets in each service queue to leave the SDN switch by a network card of the SDN switch.
2. The method according to claim 1, wherein the (7) is implemented as follows:
(7a) the SDN controller generates a flow table for the network flow of the packet, sets a matching domain of the flow table as a quintuple of a source IP, a destination IP, a source port, a destination port and a transmission protocol of the packet, and sets an action domain of the flow table as sending the packet to a queue with the number of X, Y;
(7b) the SDN controller sends the flow table to the SDN switch through an OFPT _ PACKET _ OUT message of the OpenFlow protocol.
CN201910177868.1A 2019-03-10 2019-03-10 Multi-granularity QoS control method for network virtualization Active CN109831393B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910177868.1A CN109831393B (en) 2019-03-10 2019-03-10 Multi-granularity QoS control method for network virtualization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910177868.1A CN109831393B (en) 2019-03-10 2019-03-10 Multi-granularity QoS control method for network virtualization

Publications (2)

Publication Number Publication Date
CN109831393A CN109831393A (en) 2019-05-31
CN109831393B true CN109831393B (en) 2022-01-11

Family

ID=66868722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910177868.1A Active CN109831393B (en) 2019-03-10 2019-03-10 Multi-granularity QoS control method for network virtualization

Country Status (1)

Country Link
CN (1) CN109831393B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417656A (en) * 2019-08-07 2019-11-05 广东电网有限责任公司 A kind of QoS guarantee system and method based on SDN network
CN110557333A (en) * 2019-08-20 2019-12-10 广州供电局有限公司 method and system for controlling and guaranteeing quality of service of software defined network
CN110716797A (en) * 2019-09-10 2020-01-21 无锡江南计算技术研究所 DDR4 performance balance scheduling structure and method for multiple request sources
CN111669339B (en) * 2020-05-25 2022-02-15 武汉大学 Intelligent energy station control layer service priority division and PDWRR queue scheduling method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092565A (en) * 2014-06-24 2014-10-08 复旦大学 Multi-tenant policy-driven type software-defined networking method for cloud data center
CN105610617A (en) * 2015-12-29 2016-05-25 合肥工业大学 QoS management mechanism for distinguishing user priorities in WLAN based on SDN and AP (Access Point) virtualization technique
EP3301859A1 (en) * 2015-07-28 2018-04-04 Phicomm (Shanghai) Co., Ltd. Sdn-based qos-supported communications tunnel establishment method and system
CN108390833A (en) * 2018-02-11 2018-08-10 北京邮电大学 A kind of software defined network transmission control method based on virtual Domain
CN108512760A (en) * 2018-03-09 2018-09-07 西安电子科技大学 The method for routing of QoS of survice is ensured based on SDN

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092565A (en) * 2014-06-24 2014-10-08 复旦大学 Multi-tenant policy-driven type software-defined networking method for cloud data center
EP3301859A1 (en) * 2015-07-28 2018-04-04 Phicomm (Shanghai) Co., Ltd. Sdn-based qos-supported communications tunnel establishment method and system
CN105610617A (en) * 2015-12-29 2016-05-25 合肥工业大学 QoS management mechanism for distinguishing user priorities in WLAN based on SDN and AP (Access Point) virtualization technique
CN108390833A (en) * 2018-02-11 2018-08-10 北京邮电大学 A kind of software defined network transmission control method based on virtual Domain
CN108512760A (en) * 2018-03-09 2018-09-07 西安电子科技大学 The method for routing of QoS of survice is ensured based on SDN

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Effective Resource Provisioning for QoS-aware Virtual Networks in SDN;Prashanth Podili等;《 NOMS 2018 - 2018 IEEE/IFIP Network Operations and Management Symposium》;20180719;全文 *
SDN网络中端到端QoS控制机制的研究;叶云东;《万方学位论文》;20180530;全文 *
SDN网络中高效流量分配方法研究;梁胜;《万方学位论文》;20180207;全文 *
一种基于SDN和支持离线计算的QoS路由方法;许训等;《信息技术》;20181120;全文 *
基于OpenFlow的网络虚拟化技术;孙浩等;《计算机应用》;20161215;全文 *

Also Published As

Publication number Publication date
CN109831393A (en) 2019-05-31

Similar Documents

Publication Publication Date Title
CN109831393B (en) Multi-granularity QoS control method for network virtualization
CN107454015B (en) OF-DiffServ model-based QoS control method and system
Homg et al. An adaptive approach to weighted fair queue with QoS enhanced on IP network
Li et al. A QoS guaranteed technique for cloud applications based on software defined networking
Li et al. Enabling software defined networking with qos guarantee for cloud applications
Eswarappa et al. Towards adaptive QoS in SDN-enabled heterogeneous tactical networks
Kamboj et al. A QoS-aware routing based on bandwidth management in software-defined IoT network
CN109922003A (en) A kind of data transmission method for uplink, system and associated component
Parra et al. Quality of Service over IPV6 and IPV4
CN110247859B (en) Data sending method and device based on AIRT-ROS node
Lee et al. QoS-aware hierarchical token bucket (QHTB) queuing disciplines for QoS-guaranteed Diffserv provisioning with optimized bandwidth utilization and priority-based preemption
Chaudhuri et al. Validation of a DiffServ based QoS model implementation for real-time traffic in a test bed
Asaduzzaman et al. The Eight Class of Service Model-An Improvement over the Five Classes of Service
KR101587379B1 (en) Method of dynamic control for queue size and apparatus thereof
Cisco QC: Quality of Service Overview
Rashid et al. Traffic intensity based efficient packet schedualing
Li et al. Schedulability criterion and performance analysis of coordinated schedulers
Rehman et al. Comparative Analysis of Scheduling Algorithms in IEEE 802.16 WiMAX
Yang et al. Enterprise traffic with a differentiated service mechanism
Domżał Flow-aware networking as an architecture for the IPv6 QoS Parallel Internet
Noda et al. Approach to optimal WRR weight assignment method in delay-limited environment
Jiwasurat et al. Hierarchical shaped deficit round-robin scheduling
Wood et al. Network quality of service for the enterprise: A broad overview
Mohanty et al. On fair scheduling in heterogeneous link aggregated services
Asaduzzaman et al. Improving quality of service in computer networks applying the eight classes of service

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
GR01 Patent grant
GR01 Patent grant