You are on page 1of 11

QOS REALIZATION USING OPEN FLOW

PROJECT PROPOSAL

“QOS REALIZATION USING OPEN FLOW”

ECE 573- INTERNET PROTOCOLS [FALL-2010].


DEPARTMENT OF ECE.
NC STATE UNIVERSITY.
10/12/2010

Proposed by,
Deepak N Ananth
Raghu Gowda
Sandeep A Rao
Srikanth Ramachandran

1
QOS REALIZATION USING OPEN FLOW

INDEX

1) Purpose of the project 1


2) Introduction about the project 1
3) Details about the project 6
4) Project Management Details and Timelines 8
5) PERT modeling of the proposed project 9
6) Bibliography 10

2
QOS REALIZATION USING OPEN FLOW

Purpose of the project:

To provide bare minimum QOS support using Open Flow by slicing the available network bandwidth.

Introduction about the project:

What is QOS?

Quality of service (QoS) refers to resource reservation control mechanisms and the ability to provide different
priority to different applications, users, or data flows. It also deals with providing guarantee of a certain level of
performance to a data flow. The performance could be a required bit rate, delay, jitter, packet dropping
probability and/or bit error rate may be guaranteed. [Source: Wikipedia]

In this project we are proposing to provide a guaranteed QOS in terms of guaranteed Bandwidth for a data flow.

What may be the utility of the implementation?

Consider some practical scenarios in terms of higher level use cases given below. They explain the need of
implementing the design proposed above.

Real Time Data Transfer requires a Bandwidth guarantee.


Consider a delay sensitive application like a voice call. For such real time data transfer it’s very desirable
to have a superior QOS in terms of guaranteed Bandwidth for the data flow. This can be guaranteed using
the proposed design using Open Flow.

Many such practical applications would require guaranteed Bandwidth and superior QOS.

3
QOS REALIZATION USING OPEN FLOW

What is the central idea of the proposal?

We make use of the concept of “Network Slicing” to implement the project. A "network slice" should be able to
secure a certain amount of network capacity, no matter what the other slices that co-exist in the network are
doing.
Hence, this project proposes to provide minimum egress Bandwidth guarantee. We call this minimum egress
bandwidth guarantee for a queue as” Slicing” because, we think of each queue as being given a slice of the
available network bandwidth.
This project does not encompass the whole QOS framework. QOS is a very vast area of study which deals with
many performance parameters. But, here we consider only Bandwidth and ignore the other parameters.
The slicing mechanism is based on queues attached to egress ports. The user (controller) is able to setup and
configure queues and then map flows to a specific queue. The queue configuration dictates how a packet will be
treated. If the user does not add multiple Queues requesting different Bandwidths, then the whole network
available is considered to be a single queue.

Reference implementation:

4
QOS REALIZATION USING OPEN FLOW

Consider the reference topology as given above with 2 client PCs (PC1 and PC2) connected to ports Port1 and
Port2 of the switch (PC3) respectively. The switch is connected to the OpenFlow controller via Port 3.
Communication to the server is done via Port 4.

OpenFlow controller comprises of 3 modules


QCM: This module handles all the functionalities with respect to Queues, as specified in the following section.
FMM: This module handles all the functionalities with respect to Flow management as specified in the following
section.
PRBAM: This module handles all functionalities with respect to Priority handling among queues as specified in the
following section.

Proposal here is to slice the link bandwidth of the egress port P4 based on the client’s Bandwidth requirement.
The residual bandwidth after slicing (if any), is allocated based on Client’s priority (which is done with help of an
algorithm which handles the logic).

5
QOS REALIZATION USING OPEN FLOW

Scenario: Assume the Data Rate of outgoing link to server from switch has to be provided with a QOS guarantee
of minimum bandwidth of 10 Mbps. Also assume that, the clients are pumping data out at the rate of 5 Mbps and
4Mbps each. Then 2 network slices are created, one with 5Mbps and another with 4Mbps, and the data flow
from each client is mapped to them. Thereby we guarantee the egress bandwidth to be lesser than 10Mbps at
any instant.
The residual Bandwidth of 1Mbps is assigned to any of the clients which have higher priority which is handled by
PRBAM module.

Details about the project:

Platform on which this is implemented: Open Flow in a Linux Environment.

Team Information: The team comprises of four members.

Sandeep A Rao.
Deepak N Ananth.
Raghu Gowda.
Srikanth Ramachandran.

Functional Modules in the design and responsible members:


1) Module 1: QCM: Queue Configuration Module. [Includes initial setup]
Primary Team members responsible: Deepak N Ananth and Raghu Gowda
Initial setup of the open flow on the intermediate routers and end systems is included as a part of
this responsibility.
The Queues are configured on a per port basis in a router, as each port may have different
capabilities. A queue is tagged with a user defined percentage of the entire Bandwidth. Hence we
6
QOS REALIZATION USING OPEN FLOW

guarantee that these queues provide the minimum data rate guarantees for the flows mapped onto
them.

2) Module 2: PRBAM: Priority Based Residual Bandwidth Allocation module


Primary Team members responsible: Raghu Gowda and Sandeep A.Rao
When we talk about configuring a Queue with a particular Bandwidth, then that is the minimum
Bandwidth guaranteed for the flow mapped. But if the network has residual Bandwidth, then the
remaining bandwidth can be used up based on priority assigned to the created Queues. So, this
module deals with handling of priority assigned to the queues and hence to the flows.

3) Module 3: FMM: Flow Management Module.


Primary Team members responsible: Srikanth Ramachandran and Sandeep A.Rao
With this functional module, the created queues are mapped onto a particular flow. This enables
minimum guarantee of Bandwidth for the flow. It is also possible to attach a flow to already created
queue which is called as Enqueuing.
Forwarding is the function of sending the incoming packets to particular ports based on the flow
table. If the incoming packets do not have a flow table entry, then the packets are forwarded to the
Open Flow controller using the Open Flow Protocol.
The controller takes action on the forwarding of the packets suitably.

4) Module 4: Testing Module


Primary Team members responsible: Deepak N.Ananth and Srikanth Ramachandran
The Testing module requires specific rate measurements for testing the performance of the sliced
network.  In order to achieve this, it is required to oversubscribe a link with and ensure that the
traffic in that link is treated as configured in the queue.

7
QOS REALIZATION USING OPEN FLOW

This involves the collection of statistics under various scenarios which include sending of the iperf
traffic through the configured queues and check for the appropriate traffic handling ( tcp / udp ) at
the queues. In case of redundant bandwidth, it also needs to be checked on how this redundant
bandwidth is being handled.

Project Management Details and Timelines:

This project can be divided into these discrete and specific activities. All of these activities together conform to
the implementation of the proposed design functionalities.

Activity A: Study of the Open flow specifications and design documents to understand the inherent design of
Open Flow protocol, creation of Queues and flow mapping. And creation of a basic design document for
implementation.

Activity B: Preparation of an understanding document specifying the understanding about the project and the
implementation details.

Activity C: Configuring Switches and End Systems with open flow protocol and also configuring the open flow
controller for the communication between end systems using assigned flows.

8
QOS REALIZATION USING OPEN FLOW

Activity D: Creation of Queues is a critical activity, which allocates a minimum bandwidth, thereby guaranteeing
pre-defined QOS.

Activity E: Assigning Priority to the Queues created which effectively handle the unused bandwidth based on
priority.

Activity F: Mapping of the flows onto the created queues is an important activity. Proper mapping of a queue
provides the data flow with a guaranteed QOS as promised in the proposal.

Activity G: Preparation of an interim report which specifies the design specifics of implementation of the priority
handling and flow mapping, forwarding.

Activity H: Testing and Validation of the proposed model. This activity is again important as it validates the design
and helps us optimize the design for better.

Activity I: Preparation of a final project report which captures all the details about the project and its
implementation challenges.
PERT modeling of the proposed project:
Total time allocated: 45 days [OCT 12 -2010 to NOV 25 -2010]

The filled arrow represents the critical path for this project.

9
QOS REALIZATION USING OPEN FLOW

Bibliography:
1) Wikipedia
2) Open Flow official site : www.openflowswitch.org

10
QOS REALIZATION USING OPEN FLOW

11

You might also like