Queuing Disciplines: Order of Packet Transmission and Dropping
Queuing Disciplines: Order of Packet Transmission and Dropping
Laboratory
Queuing Disciplines
Order of Packet Transmission and Dropping
Objective
The objective of this lab is to examine the effect of different queuing disciplines on packet
delivery and delay for different services.
Overview
As part of the resource allocation mechanisms, each router must implement some
queuing discipline that governs how packets are buffered while waiting to be transmitted.
Various queuing disciplines can be used to control which packets get transmitted
(bandwidth allocation) and which packets get dropped (buffer space). The queuing
discipline also affects the latency experienced by a packet, by determining how long a
packet waits to be transmitted. Examples of the common queuing disciplines are first-in-
first-out (FIFO) queuing, priority queuing (PQ), and weighted-fair queuing (WFQ).
The idea of FIFO queuing is that the first packet that arrives at a router is the first packet to
be transmitted. Given that the amount of buffer space at each router is finite, if a packet
arrives and the queue (buffer space) is full, then the router discards (drops) that packet.
This is done without regard to which flow the packet belongs to or how important the packet
is.
PQ is a simple variation of the basic FIFO queuing. The idea is to mark each packet with a
priority; the mark could be carried, for example, in the IP Type of Service (ToS) field. The
routers then implement multiple FIFO queues, one for each priority class. Within each
priority, packets are still managed in a FIFO manner. This queuing discipline allows high-
priority packets to cut to the front of the line.
The idea of the fair queuing (FQ) discipline is to maintain a separate queue for each flow
currently being handled by the router. The router then services these queues in a round-
robin manner. WFQ allows a weight to be assigned to each flow (queue). This weight
effectively controls the percentage of the link’s bandwidth each flow will get. We could use
ToS bits in the IP header to identify that weight.
In this lab you will set up a network that carries three applications: FTP, Video, and VoIP.
You will study how the choice of the queuing discipline in the routers can affect the
performance of the applications and the utilization of the network resources.
Procedure
1. Start Riverbed Modeler Academic Edition ⇒ Choose New from the File menu.
2. Select Project and click OK ⇒ Name the project <your initials>_Queues, and
the scenario FIFO ⇒ Click OK.
3. In the Startup Wizard: Initial Topology dialog box, make sure that Create Empty
Scenario is selected ⇒ Click Next ⇒ Select Campus from the Network Scale
list ⇒ Click Next twice ⇒ Click Finish.
1. The Object Palette dialog box should be now on the top of your project space. If it
is not there, open it by clicking . Make sure that the internet_toolbox item is
selected from the pull-down menu on the object palette.
2
Configure the Applications:
1. Right-click on the Applications node ⇒ Edit Attributes ⇒ Expand the
Type of Service (ToS) is Application Definitions hierarchy ⇒ Set rows to 3 ⇒ Name the rows: FTP
assigned to the IP Application, Video Application, and VoIP Application.
packets. It represents a
session attribute that
allows packets to be
i. Go to the FTP Application row ⇒ Expand the Description hierarchy ⇒
provided the appropriate Assign High Load to Ftp ⇒ Click on the High Load value and choose Edit
service in the IP queues. from the drop-down menu ⇒ Assign Constant(10) to Inter-Request Time ⇒
Best-effort delivery Assign Constant(1000000) to File Size. Keep the Type of Service (ToS) as
means that delivery of a Best Effort (0).
packet is attempted but
is not guaranteed. ii. Go to the Video Application row ⇒ Expand the Description hierarchy ⇒
Assign Low Resolution Video to Video Conferencing ⇒ Click on the Low
Resolution Video value and choose Edit ⇒ Edit the value of the Type of
Service field (the Configure TOS/DSCP window appears) ⇒ From the drop-
down menu, assign Streaming Multimedia (4) to ToS ⇒ Click OK twice.
3
Configure the Profiles:
1. Right-click on the Profiles node ⇒ Edit Attributes ⇒ Expand the Profile
Configuration hierarchy ⇒ Set rows to 3.
i. Name and set the attributes of row 0 as shown:
4
iii. Name and set the attributes of row 2 as shown:
We will keep the default queuing profiles that are defined in our Queues object. It is
recommended that you check out the configuration of the FIFO, PQ, and WFQ profiles.
5
4. Right-click on the VoIP East ⇒ Edit Attributes.
i. Expand the Application: Supported Profiles hierarchy inside Applications
⇒ Set rows to 1 ⇒ Set Profile Name to VoIP Profile.
ii. Edit the Application: Supported Services value inside Applications ⇒
Set rows to 1 ⇒ Set Service Name to VoIP Application ⇒ Click OK twice.
1. Click on the link connecting the East and West routers to select it ⇒ From the
Protocols, menu choose IP → QoS → Configure QoS.
2. Make sure the selected items are as shown in the following QoS Configuration
dialog box ⇒ Click OK.
Note: Since the Visualize QoS Configuration radio button is checked, the link is
colored based on the QoS scheme used.
6
Choose the Statistics
To test the performance of the applications defined in the network, we will collect one of
the many available statistics as follows:
2. In the Choose Results dialog box, select the following global statistic:
7
Configure the Simulation
In the network we just created, we used the FIFO queuing discipline in the routers. To
analyze the effect of different queuing disciplines, we will create two more scenarios to test
the PQ and WFQ disciplines.
A. Select Duplicate Scenario from the Scenarios menu and give it the name PQ ⇒ Click
OK.
1. Click on the link connecting the East and West routers to select it ⇒ From the
Protocols menu choose IP → QoS → Configure QoS.
2. Make sure the selected items are as shown in the following QoS Configuration
dialog box ⇒ Click OK.
Note: Since the Visualize QoS Configuration radio button is checked, the link is
colored based on the QoS scheme used.
8
B. Select Duplicate Scenario from the Scenarios menu and give it the name WFQ ⇒
Click OK.
1. Click on the link connecting the East and West routers to select it ⇒ From the
Protocols menu choose IP → QoS → Configure QoS.
2. Make sure the selected items are as shown in the following QoS Configuration
dialog box ⇒ Click OK.
Note: Since the Visualize QoS Configuration radio button is checked, the link is
colored based on the QoS scheme used.
9
View the Results
2. Select the IP Traffic Dropped statistic and click Show. The resulting graph should
resemble the one below. Note: The shown graph is the result of zooming into the
region of interest on the original graph.
10
10
4. Create the graph for Voice Traffic Received:
5. Create graphs for Voice Packet End-to-End Delay and Voice Packet Delay
Variation: (Note: the trace for WFQ is not shown on the following graphs because
it is overlapped by the trace of PQ.)
11
11
Further Readings
Questions
1) Analyze the graphs we obtained and verify the overlap of the Voice Packet End-
to-End Delay and Voice Packet Delay Variation graphs. Compare the three
queuing disciplines and explain their effect on the performance of the three
applications.
2) In the implemented project, edit the Queues object and check the profiles assigned
to the FIFO, PQ, and WFQ disciplines. For each profile answer the following
questions:
b. In this lab, we used ToS to identify the priority and weight for the PQ and
WFQ disciplines respectively. What are the other parameters that can be
used to identify the priority and weight?
3) For all scenarios, choose the “queuing delay <--“statistic for the link that connects
East Router and West Router. Rerun the simulation and generate the graph that
compares that queuing delay for all queuing disciplines (scenarios). Analyze this
graph.
Hint:
- The “queuing delay <--“statistic is under the point-to-point hierarchy..
Lab Report
Prepare a report that follows the guidelines explained in Lab 0. The report should include
the answers to the above questions as well as the graphs you generated from the
simulation scenarios. Discuss the results you obtained and compare these results with your
expectations. Mention any anomalies or unexplained behaviors.
12
12