CN106899514B - Queue scheduling method for guaranteeing multimedia service quality - Google Patents

Queue scheduling method for guaranteeing multimedia service quality Download PDF

Info

Publication number
CN106899514B
CN106899514B CN201710103583.4A CN201710103583A CN106899514B CN 106899514 B CN106899514 B CN 106899514B CN 201710103583 A CN201710103583 A CN 201710103583A CN 106899514 B CN106899514 B CN 106899514B
Authority
CN
China
Prior art keywords
queue
max
data packet
packet loss
data
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
CN201710103583.4A
Other languages
Chinese (zh)
Other versions
CN106899514A (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 CN201710103583.4A priority Critical patent/CN106899514B/en
Publication of CN106899514A publication Critical patent/CN106899514A/en
Application granted granted Critical
Publication of CN106899514B publication Critical patent/CN106899514B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Abstract

The invention discloses a queue scheduling method for guaranteeing service quality for multimedia service, which mainly solves the problem that the prior art can not guarantee the service quality of specific service, and comprises the following implementation steps: 1) setting a queue rule; 2) registering the queue rule on a network card of an Open vSwitch virtual switch; 3) when the data packet reaches the output port of the network card, checking whether the network card successfully registers the queue rule, if so, executing the step 4), otherwise, directly sending out the data packet through the network card; 4) and performing enqueue operation and dequeue operation on the data packet, and sending the data packet out through the network card. Experimental data shows that the method can guarantee specific service bandwidth, prevent network congestion and be used for queue scheduling when the switch forwards the multimedia data packet.

Description

Queue scheduling method for guaranteeing multimedia service quality
Technical Field
The invention belongs to the technical field of network communication, and further relates to a queue scheduling method which can be used for queue scheduling when a switch forwards a multimedia data packet, so that the quality of service (QoS) of multimedia services is guaranteed, and network congestion is avoided.
Background
In recent years, with the rapid development of network technologies and the rapid expansion of multimedia services in the internet era, the traditional network of a single data service gradually evolves into an integrated service network of multimedia services such as images, videos, animations and the like. Meanwhile, the requirements of people on network performance and quality are higher and higher, while the traditional 'best effort' single service mode treats all service flows equally, and bandwidth resources are equally distributed by adopting a first-in first-out queue scheduling algorithm, so that the phenomena of delay, jitter and packet loss are caused in the network transmission process, and the quality of service (QoS) of multimedia services is further influenced. The quality of service QoS is a comprehensive index for measuring the service performance of the multimedia service, and mainly includes related performance indexes such as time delay, bandwidth, jitter, packet loss rate and the like. In order to guarantee the quality of service QoS of a service, many queue scheduling methods have appeared.
At present, there are several main queue scheduling methods: the scheduling algorithm comprises classic queue scheduling algorithms such as a first-in first-out scheduling algorithm FIFO, a priority scheduling algorithm PQ, a weighted round robin scheduling algorithm WRR and the like. Although the FIFO scheduling algorithm is simple to implement, the data packets are not classified and are completely forwarded according to the arrival sequence, so that the QoS (quality of service) of a specific service cannot be guaranteed; the priority scheduling algorithm PQ can strictly guarantee the quality of service QoS of high-priority services, but easily causes the phenomenon of starvation caused by the fact that low-priority services cannot be scheduled for a long time; the weighted round-robin scheduling algorithm WRR can guarantee the quality of service of high-priority services and also can guarantee that low-priority services are not starved, but the classification granularity of data packets is not fine enough, and network congestion cannot be effectively prevented. The above classical scheduling algorithms cannot be flexibly combined with multimedia services for classification, and cannot nest other queue scheduling algorithms in the scheduling algorithms, which is not flexible enough.
At present, a software defined network SDN is a novel network framework, which separates a control plane and a data plane for data forwarding, and more flexibly guarantees quality of service QoS of a service. The Open vSwitch is a multilayer virtual switch supporting an OpenFlow protocol in a software defined network SDN and is responsible for data forwarding work of a data plane, but the scheduling of data packets by the Open vSwitch at an egress port is only a scheduling algorithm of a first-in first-out (FIFO) scheduling algorithm, and cannot classify and schedule the data packets, and cannot guarantee quality of service (QoS) of a service with a specific priority, so that queue scheduling of the data packets by the Open vSwitch at the egress port is to be perfected.
Disclosure of Invention
The invention aims to provide a queue scheduling method for guaranteeing the service quality of multimedia services aiming at the defects of the traditional queue scheduling algorithm, so as to classify and schedule data packets of an Open vSwitch virtual switch and guarantee the service quality QoS of services with specific priorities.
The technical idea of the invention is as follows: by registering a nested queue scheduling rule for a network card of an Open vSwitch virtual switch, when a data packet reaches an output port of the switch, classifying multimedia service flows by using a classifier Filter in the queue scheduling rule, dividing services with different priorities into different subclasses, and scheduling the parallel subclasses by adopting a weighted round-robin scheduling algorithm WRR; then, different weights are set for each subclass, so that the switch can not only ensure that the high-priority service is forwarded as soon as possible to ensure the bandwidth resource of the high-priority service, but also ensure that the low-priority service is not starved; and finally, nesting weighted random early detection WRED queue rules in each subclass, so that when the length of the queue in each subclass exceeds a certain length, a certain proportion of data packets are selected to be discarded before the service flow enters the queue, and network congestion caused by overlarge multimedia service data volume is prevented.
According to the above-mentioned idea the invention includes the following steps:
(1) setting a queue rule:
(1a) set the handle to 1: 0, wherein the first half 1 is a main number and represents a queue rule number, and the second half 0 is a slave number;
(1b) 4 subclasses are set for the root queue, the first subclass handle is 1: 1, representing control signaling class data, and distributing a maximum polling weight 4; the second child handle is 1: 2, representing audio data, and setting the polling weight value to be 3; the third child handle is 1: 3, representing video data, and setting the polling weight value to be 2; the handle of the fourth subclass is 1: 4, representing the file or the instant message data, and setting the polling weight value to be 1;
(1c) respectively setting a classifier Filter for the 4 subclasses in the step (1b), when the service flow reaches an output port of the switch, returning a handle of the subclass to which the service flow belongs by the classifier Filter, and putting the data packet into a corresponding subclass internal queue by the switch according to the returned subclass handle;
(1d) nesting a weight for each sub-class in (1b)Random early detection WRED queue rule, the queue rule includes minimum threshold min for packet lossthMaximum threshold max for packet lossthAnd maximum packet loss probability maxpThese three parameters; minimum threshold min for first subclass packet lossth1Maximum threshold max for packet lossth1Are respectively set to the maximum minmaxAnd maxmaxMaximum packet loss probability maxp1Set to 0; minimum threshold min for second subclass packet lossth2Maximum threshold max for packet lossth2Are respectively set to minimum minminAnd maxminMaximum packet loss probability maxp2Set to 0.3; minimum threshold min for the third subclass packet lossth3Maximum threshold max for packet lossth3Are respectively set to be medium minmidAnd maxmidWherein minmid=(minmax+minmin)/2,maxmid=(maxmax+maxmin) 2, maximum packet loss probability maxp3Set to 0.1; minimum threshold min for packet loss of the fourth subclassth4Maximum threshold max for packet lossth4Are respectively set to be medium minmidAnd maxmidMaximum packet loss probability maxp4Set to 0.2;
(2) registering the queue rule set in the step (1) on a network card of an Open vSwitch virtual switch;
(3) when the data packet reaches the output port of the network card, checking whether the network card registers a queue rule, if so, executing the step (4), otherwise, directly sending the data packet out through the network card;
(4) performing an enqueue operation on the data packet:
(4a) calling a classifier Filter of a root queue rule, taking out the value of a ToS field at the IP head of the data packet, judging the type of the data packet according to the front 3 bits of the ToS, and returning a handle of a corresponding subclass by the classifier Filter according to the type of the data packet;
(4b) according to a subclass handle returned by a classifier Filter, a data packet is placed in a weighted random early detection WRED queue in the subclass, namely before the data packet is placed in the queue, the length L of the queue is calculated, and if the length L of the queue is smaller than a packet loss minimum threshold minthThen it will not be lostAbandoning the data packet, and directly putting the data packet into a queue; if the queue length L is larger than the maximum packet loss threshold maxthDiscarding all the arriving packets; if the queue length L is between the minimum packet loss threshold minthAnd maximum threshold max for packet lossthDiscarding the data packet according to the calculated packet loss probability P, wherein the calculation method of the packet loss probability P is as follows:
P=maxp*(L-minth)/(maxth-minth);
(5) and (3) scheduling and dequeuing the data packets in the 4 sub-class internal queues in the step (1b) by adopting a weighted round robin scheduling algorithm WRR, and directly sending the dequeued data packets out through the network card.
The invention has the following advantages:
firstly, the data stream is divided into four subclasses according to the characteristics of the multimedia service stream, a classifier Filter is arranged for each subclass, the classifier Filter distributes the multimedia data stream to a corresponding subclass internal queue, and a weighted round robin scheduling algorithm WRR is adopted to schedule data packets in the subclass internal queue, so that the data packets of the multimedia service are classified and processed, the bandwidth of a high-priority service is strictly ensured, the forwarding delay of the high-priority service is further reduced, and even in a multi-service concurrent scene, the exchanger can also efficiently ensure the transmission bandwidth of the high-priority service;
secondly, the invention nests weighted random early detection WRED queue in subclass, and sets packet loss minimum threshold min for queue according to tolerance degree of different service types to packet lossthMaximum threshold max for packet lossthAnd maximum packet loss probability maxpThree parameters, so that the switch puts the data packet in the case of large traffic
And discarding according to the packet loss probability P before entering the corresponding subclass internal queue, thereby avoiding the network congestion.
Drawings
FIG. 1 is a flow chart of an implementation of the present invention;
FIG. 2 is a flow chart of the set queue rule in the present invention;
FIG. 3 is a network topology diagram testing the present invention;
FIG. 4 is a graph of the results of testing the present invention.
Detailed Description
Examples of the present invention will be described in detail below with reference to the accompanying drawings.
Referring to fig. 1, the implementation of the present invention includes setting a queue rule, registering a queue rule, performing an enqueue operation on a data packet, performing a dequeue operation on a data packet, and the like, and the specific steps are as follows:
step 1, setting a queue rule,
referring to fig. 2, the specific implementation of this step is as follows:
(1a) setting a root queue handle:
the root queue is a general entry of the whole queue rule, 4 subclasses and 4 classifier filters are packaged in the root queue, all types of multimedia data packets can enter the root queue to wait for being classified, the code number of the root queue is called a root queue handle, and the handle of the root queue is set to be 1: 0, wherein the first half part 1 is a main number and represents a queue rule number, and the second half part 0 is a slave number;
(1b) in order to realize the scheduling of data packets in a plurality of subclass internal queues, the invention distributes a polling weight to each subclass, and each subclass is provided with a code number called as a subclass handle, wherein:
the first child class handle is 1: 1, representing control signaling data, wherein the data is most important and needs to preferentially ensure bandwidth delay, so that the maximum polling weight 4 is allocated to the data;
the second child handle is 1: 2, representing audio data, and distributing a larger polling weight 3 to the data because the data is very sensitive to time delay;
the third child handle is 1: 3, representing video data, and setting the polling weight value to be 2;
the handle of the fourth subclass is 1: 4, representing the file or instant message data, and distributing the minimum polling weight 1 to the data because the data has low requirement on time delay;
(1c) respectively setting classifiers Filter for 4 subclasses in (1b), wherein the classifiers are functions for classifying multimedia data, when a service flow reaches an output port of the switch, the classifiers Filter returns handles of subclasses to which the service flow belongs, and the switch puts data packets into corresponding subclass internal queues according to the returned subclass handles;
(1d) nesting a weighted random early detection WRED queue in each subclass in (1b), wherein the queue comprises a packet loss minimum threshold minthMaximum threshold max for packet lossthAnd maximum packet loss probability maxpThese three parameters, among others:
the first subclass represents control signaling class data, which is not allowed to be lost, so that the minimum threshold min for packet loss is setth1Maximum threshold max for packet lossth1Are respectively set to the maximum minmaxAnd maxmaxMaximum packet loss probability maxp1Set to 0;
the second sub-class represents audio class data, which is least sensitive to packet loss and therefore will lose the packet by a minimum threshold minth2Maximum threshold max for packet lossth2Are respectively set to minimum minminAnd maxminMaximum packet loss probability maxp2Set to 0.3;
the third subclass represents video data which is sensitive to packet loss but less than the first class, so that the packet loss is minimized by a minimum threshold minth3Maximum threshold max for packet lossth3Are respectively set to be medium minmidAnd maxmidWherein minmid=(minmax+minmin)/2,maxmid=(maxmax+maxmin) 2, maximum packet loss probability maxp3Set to 0.1;
the fourth subclass represents file or instant message data, and the sensitivity of the data to packet loss is only second to that of the third subclass, so that the packet loss is minimum thresholdminth4Maximum threshold max for packet lossth4Are respectively set to be medium minmidAnd maxmidMaximum packet loss probability maxp4Set to 0.2.
And 2, registering the queue rule set in the step 1 on a network card of the Open vSwitch virtual switch.
In order to apply the queue rule set in the step 1 to the Open vSwitch virtual switch, the queue rule member is added to the data structure of the Open vSwitch virtual switch network card, and the queue rule in the step 1 is assigned to the member, so that the queue rule is registered, and the Open vSwitch virtual switch network card can call the queue rule.
And step 3, checking whether the network card of the Open vSwitch virtual switch successfully registers the queue rule.
As the registration operation of the queue rule in step 2 may fail or registration of the queue rule is cancelled due to other operations, when a data packet reaches an output port of the network card, it is required to check whether the network card of the Open vSwitch virtual switch successfully registers the queue rule, if the queue rule member of the network card of the Open vSwitch virtual switch is not null, it indicates that the queue rule has been successfully registered, step 4 is executed, otherwise, the data packet is directly sent out via the network card;
and 4, performing enqueue operation on the data packet:
(4a) calling a classifier Filter of a root queue rule, taking out the ToS field value of the IP head of the data packet, judging the type of the data packet according to the first 3 bits of ToS, and returning a handle of a corresponding subclass by the classifier Filter according to the type of the data packet, wherein the ToS field value of the IP head of the data packet is defined according to the following rules:
setting the field to have 8-bit binary number, wherein the first 3-bit binary number represents the data type, the 4 th bit and the 5 th bit represent the priority of the data packet, and the 6 th bit, the 7 th bit and the 8 th bit are reserved for definition;
when the current binary number of 3 bits is 001, the control signaling data packet is represented, when the current binary number of 3 bits is 010, the audio data packet is represented, when the current binary number of 3 bits is 011, the video data packet is represented, and when the current binary number of 3 bits is 100, the file or instant message data packet is represented;
when the binary numbers of the 4 th bit and the 5 th bit are 00, the highest priority is represented; when the 4 th and 5 th bit binary numbers are 11, the lowest priority is represented;
(4b) according to a subclass handle returned by a classifier Filter, a data packet is put into a weighted random early detection WRED queue in a corresponding subclass, namely before the data packet is put into the queue, the length of the queue is calculated, and then whether the data packet is discarded or not is determined according to the length of the queue:
if the queue length L is less than the minimum packet loss threshold minthIf the data packet is not discarded, the data packet is directly put into a queue;
if the queue length L is larger than the maximum packet loss threshold maxthDiscarding all the arriving packets;
if the queue length L is between the minimum packet loss threshold minthAnd maximum threshold max for packet lossthDiscarding the data packet according to the calculated packet loss probability P, wherein the calculation method of the packet loss probability P is as follows:
P=maxp*(L-minth)/(maxth-minth)。
and 5, scheduling and dequeuing the data packets in the 4 sub-class internal queues in the step (1b) by adopting a weighted round robin scheduling algorithm WRR, and directly sending the dequeued data packets out through the network card.
The weighted round-robin scheduling algorithm WRR is an existing queue scheduling algorithm capable of guaranteeing queue bandwidth resources, a round-robin weight is distributed to each queue in the algorithm, the round-robin weight distributed to the queues is in direct proportion to the bandwidth distributed to the queues, and implementation steps of scheduling and dequeuing data packets in 4 subclass internal queues by using the algorithm are as follows:
(5a) setting a counter for each sub-class internal queue in the step (1b), and assigning an initial value of each queue counter as a polling weight value allocated to the queue in the step (1 b);
(5b) when a polling cycle begins, 4 sub-class internal queues send single data packets in turn, namely after each queue sends one data packet, the dequeued data packet is sent out directly through a network card, at the moment, the value of a corresponding queue counter is reduced by 1, then the next queue continues to send a single data packet, when the value of a certain queue counter is reduced to 0, the queue does not send data packets in the polling cycle any more, and when the values of all the queues are reduced to 0, the polling cycle is ended;
(5c) and re-assigning the counter of each queue by using the polling weight value of each queue, and starting the scheduling of the next polling cycle.
The effects of the present invention can be further illustrated by the following simulation experiments.
1. Simulation experiment conditions are as follows:
the simulation experiment of the invention is carried out in the environment of linux system, processor Intel (R) core (Tm) i5-2450M CPU dominant frequency 2.50GHz, RAM 4 GB. The programming language is c language, the programming software is code blocks, and the testing software adopts an iperf network performance testing tool.
2. Simulation experiment content and result analysis:
in the experiment, iperf is used for simulating various types of multimedia service data streams, is a network performance testing tool, can simulate UDP (user datagram protocol) and TCP (transmission control protocol) flows, and can modify the ToS field value of a flow data packet. The iperf is a working mode of the server-client, the sending end runs the client to send the flow, the receiving end runs the server to receive the flow, the iperf can display the sending rate on the sending end client in real time, and the receiving end server displays the information such as the receiving rate.
The network topology of the experiment is as shown in fig. 3, and under the linux system, four iperf clients are arranged to send four different types of multimedia data: the client 1 sets the first 3 bits of the ToS field in the IP header of the data stream to 001, representing control signaling type data; the client 2 sets the first 3 bits of the ToS field in the IP header of the data stream to 010, which represents the audio data; the client 3 sets the first 3 bits of the ToS field in the IP header of the data stream to 011, representing video data; the client 4 sets the first 3 bits of the ToS field in the IP header of the data stream to 100, representing file or instant message class data. While 4 iperf servers are provided for receiving the corresponding type of multimedia data at the other end. The 4 iperf clients and the 4 iperf servers are transmitted through an Open vSwitch virtual switch with a queue rule, and the switch is set to have a speed limit of 100M bandwidth.
The experimental steps are as follows:
at the beginning, the fourth client 4 continuously sends a file or instant message data stream to the fourth server 4 via the Open vSwitch switch, and records a bandwidth value occupied by the file or the instant message data according to a sending bandwidth displayed on an interface of the fourth client 4;
then, at the 30 th second, the third client 3 continuously sends the video data stream to the third server 3 through the Open vSwitch switch, and records the bandwidth value occupied by the video data according to the sending bandwidth displayed on the interface of the third client 3;
then, at the 60 th second, the second client 2 continuously sends the audio data stream to the second server 2 via the Open vSwitch switch, and records the bandwidth value occupied by the audio data according to the sending bandwidth displayed on the interface of the second client 2;
finally, at the 90 th second, the first client 1 continuously sends the control signaling data stream to the first server 1 through the Open vSwitch switch, and records the bandwidth value occupied by the control data according to the sending bandwidth displayed on the interface of the first client 1;
respectively counting the transmission bandwidth values of the four types of data in each step of the experiment, and drawing the bandwidth value of each type of data packet in each time period according to the result, as shown in fig. 4, it can be seen from the analysis of the experiment result in fig. 4 that the transmission bandwidth of each type of data packet is in direct proportion to the set polling weight, wherein:
during the period from 0 to 30s, the file or instant message data stream sent by the client 4 occupies the link exclusively, so that the bandwidth occupied by the file transmission is 100 Mbit/s;
during the period from 30s to 60s, the client 3 also starts to send the video data stream, and at this time, the bandwidth occupied by the file or instant message data stream is 33.3Mbit/s, the bandwidth occupied by the video data stream is 66.6Mbit/s, which is consistent with the polling weight 1: 2, setting the proportion;
during the period from 60s to 90s, the client 2 also starts to send audio data, and at this time, the bandwidth occupied by the file or instant message data stream is 16.6Mbit/s, the bandwidth occupied by the video data stream is 33.3Mbit/s, the bandwidth occupied by the audio data stream is 50Mbit/s, which is in accordance with the polling weight 1: 2: 3, setting the proportion;
during the period from 90s to 120s, the client 1 may also send a control type data stream, where the bandwidth occupied by the file or instant message type data stream is 10Mbit/s, the bandwidth occupied by the video type data stream is 20Mbit/s, the bandwidth occupied by the audio type data stream is 30Mbit/s, the bandwidth occupied by the control signaling type data stream is 40Mbit/s, and the polling weight is 1: 2: 3: 4 is set.
In conclusion, the experimental result conforms to the set queue scheduling rule, and the function of ensuring the bandwidth of various data streams can be realized.

Claims (2)

1. A queue scheduling method for guaranteeing the service quality of multimedia services comprises the following steps:
(1) setting a queue rule:
(1a) set the handle to 1: 0, wherein the first half 1 is a main number and represents a queue rule number, and the second half 0 is a slave number;
(1b) 4 subclasses are set for the root queue, the first subclass handle is 1: 1, representing control signaling class data, and distributing a maximum polling weight 4; the second child handle is 1: 2, representing audio data, and setting the polling weight value to be 3; the third child handle is 1: 3, representing video data, and setting the polling weight value to be 2; the handle of the fourth subclass is 1: 4, representing the file or the instant message data, and setting the polling weight value to be 1;
(1c) respectively setting a classifier Filter for the 4 subclasses in the step (1b), when the service flow reaches an output port of the switch, returning a handle of the subclass to which the service flow belongs by the classifier Filter, and putting the data packet into a corresponding subclass internal queue by the switch according to the returned subclass handle;
(1d) nesting a weighted random early detect WRED queue rule for each subclass in (1b), the queueThe column rule includes a minimum threshold min for packet lossthMaximum threshold max for packet lossthAnd maximum packet loss probability maxpThese three parameters; minimum threshold min for first subclass packet lossth1Maximum threshold max for packet lossth1Are respectively set to the maximum minmaxAnd maxmaxMaximum packet loss probability maxp1Set to 0; minimum threshold min for second subclass packet lossth2Maximum threshold max for packet lossth2Are respectively set to minimum minminAnd maxminMaximum packet loss probability maxp2Set to 0.3; minimum threshold min for the third subclass packet lossth3Maximum threshold max for packet lossth3Are respectively set to be medium minmidAnd maxmidWherein minmid=(minmax+minmin)/2,maxmid=(maxmax+maxmin) 2, maximum packet loss probability maxp3Set to 0.1; minimum threshold min for packet loss of the fourth subclassth4Maximum threshold max for packet lossth4Are respectively set to be medium minmidAnd maxmidMaximum packet loss probability maxp4Set to 0.2;
(2) registering the queue rule set in the step (1) on a network card of the OpenvSwitch virtual switch;
(3) when the data packet reaches the output port of the network card, checking whether the network card registers a queue rule, if so, executing the step (4), otherwise, directly sending the data packet out through the network card;
(4) performing an enqueue operation on the data packet:
(4a) calling a classifier Filter of a root queue rule, taking out the value of a ToS field at the IP head of the data packet, judging the type of the data packet according to the front 3 bits of the ToS, and returning a handle of a corresponding subclass by the classifier Filter according to the type of the data packet; wherein, the value of the ToS field of the IP head of the data packet is defined according to the following rules:
setting the field to have 8-bit binary number, wherein the first 3-bit binary number represents the data type, the 4 th bit and the 5 th bit represent the priority of the data packet, and the 6 th bit, the 7 th bit and the 8 th bit are reserved for definition;
when the current 3-bit binary number is 001, the control signaling data packet is represented, when the current 3-bit binary number is 010, the audio data packet is represented, when the current 3-bit binary number is 011, the video data packet is represented, and when the current 3-bit binary number is 100, the file or instant message data packet is represented;
when the 4 th bit and 5 th bit binary numbers are 00, the highest priority is represented; when the 4 th and 5 th bit binary numbers are 11, the lowest priority is represented;
(4b) according to a subclass handle returned by a classifier Filter, a data packet is placed in a weighted random early detection WRED queue in the subclass, namely before the data packet is placed in the queue, the length L of the queue is calculated, and if the length L of the queue is smaller than a packet loss minimum threshold minthIf the data packet is not discarded, the data packet is directly put into a queue; if the queue length L is larger than the maximum packet loss threshold maxthDiscarding all the arriving packets; if the queue length L is between the minimum packet loss threshold minthAnd maximum threshold max for packet lossthDiscarding the data packet according to the calculated packet loss probability P, wherein the calculation method of the packet loss probability P is as follows:
P=maxp*(L-minth)/(maxth-minth);
(5) and (3) scheduling and dequeuing the data packets in the 4 sub-class internal queues in the step (1b) by adopting a weighted round robin scheduling algorithm WRR, and directly sending the dequeued data packets out through the network card.
2. The method according to claim 1, wherein the step (5) of scheduling dequeues the data packets in the internal queues of the 4 sub-classes in (1b) by using a weighted round-robin scheduling algorithm WRR, and the following steps are performed:
(5a) setting a counter for each sub-class internal queue in the step (1b), and assigning an initial value of each queue counter as a polling weight value allocated to the queue in the step (1 b);
(5b) when a polling cycle begins, 4 sub-class internal queues send single data packets in turn, namely after each queue sends one data packet, the value of a corresponding queue counter is reduced by 1, then the next queue continues to send the single data packet, when the value of a certain queue counter is reduced to 0, the queue does not send the data packet any more in the polling cycle, and when the values of all the queues are reduced to 0, the polling cycle is ended;
(5c) and re-assigning the counter of each queue by using the polling weight value of each queue, and starting the scheduling of the next polling cycle.
CN201710103583.4A 2017-02-24 2017-02-24 Queue scheduling method for guaranteeing multimedia service quality Active CN106899514B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710103583.4A CN106899514B (en) 2017-02-24 2017-02-24 Queue scheduling method for guaranteeing multimedia service quality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710103583.4A CN106899514B (en) 2017-02-24 2017-02-24 Queue scheduling method for guaranteeing multimedia service quality

Publications (2)

Publication Number Publication Date
CN106899514A CN106899514A (en) 2017-06-27
CN106899514B true CN106899514B (en) 2020-04-14

Family

ID=59184113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710103583.4A Active CN106899514B (en) 2017-02-24 2017-02-24 Queue scheduling method for guaranteeing multimedia service quality

Country Status (1)

Country Link
CN (1) CN106899514B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109120544B (en) * 2018-09-30 2021-03-26 华中科技大学 Transmission control method based on host end flow scheduling in data center network
CN111131083B (en) * 2019-12-27 2023-02-28 广东浪潮大数据研究有限公司 Method, device and equipment for data transmission between nodes and computer readable storage medium
CN117240796B (en) * 2023-11-14 2024-02-23 苏州元脑智能科技有限公司 Network card speed limiting method, system, equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681125A (en) * 2015-12-28 2016-06-15 国云科技股份有限公司 Method for counting traffic of virtual machine extranet of cloud platform

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139039B (en) * 2013-02-25 2016-07-13 汉柏科技有限公司 A kind of virtual network realizing flow isolation control and construction method
US20160323189A1 (en) * 2013-10-28 2016-11-03 Kt Corporation Method for controlling qos by handling traffic depending on service
CN105634986B (en) * 2014-11-30 2019-04-23 中国科学院沈阳自动化研究所 A kind of interchanger implementation method and system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681125A (en) * 2015-12-28 2016-06-15 国云科技股份有限公司 Method for counting traffic of virtual machine extranet of cloud platform

Also Published As

Publication number Publication date
CN106899514A (en) 2017-06-27

Similar Documents

Publication Publication Date Title
CN106789721B (en) Intelligent QOS method and system based on token bucket
CN109479032B (en) Congestion avoidance in network devices
US7701849B1 (en) Flow-based queuing of network traffic
JP4762996B2 (en) Method and apparatus for ordering packets for routing in a network with indirect determination of packets to be treated with priority
US9674102B2 (en) Methods and network device for oversubscription handling
CN107872403B (en) Five-stage queue scheduling device and method for realizing hierarchical QoS
US8144588B1 (en) Scalable resource management in distributed environment
CN109905329B (en) Task type aware flow queue self-adaptive management method in virtualization environment
Romanchuk et al. Method for processing multiservice traffic in network node based on adaptive management of buffer resource
Mustafa et al. The effect of queuing mechanisms first in first out (FIFO), priority queuing (PQ) and weighted fair queuing (WFQ) on network’s routers and applications
CN106899514B (en) Queue scheduling method for guaranteeing multimedia service quality
US20130343398A1 (en) Packet-based communication system with traffic prioritization
Lu et al. CHOKeR: A novel AQM algorithm with proportional bandwidth allocation and TCP protection
WO2020090474A1 (en) Packet forwarding apparatus, method and program
CN105915468B (en) A kind of dispatching method and device of business
WO2016082603A1 (en) Scheduler and dynamic multiplexing method for scheduler
Imputato et al. Design and implementation of the traffic control module in ns-3
WO2020026983A1 (en) Packet transfer apparatus, method, and program
WO2002091757A1 (en) A scheduling method of realizing the quality of service of router in integrated service
Jha et al. New Queuing Technique for Improving Computer Networks QoS
CN113242606B (en) Low-delay data transmission method and device
CN1728679A (en) Method for configuring routers
Tong et al. Quantum varying deficit round robin scheduling over priority queues
Domżał et al. Efficient congestion control mechanism for flow‐aware networks
KR100637933B1 (en) Packet forwarding method and apparatus in router of subscriber access network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant