Improving latency for high priority data using QOSPF - a QoS extension to OSPF protocol
Problem Statement
Designing a system to enable QoS based routing in a mesh network for comparison of reduced latency and increased reliability experienced by high priority data packets in a congested network scenario.
Description of the problem
The aim of the project is to implement a QoS aware routing protocol. If a network is congested with lower priority data packets , a QoS unaware routing protocol will delay the delivery of higher priority data packets to the destination. In order to solve this situation, a QoS aware routing is introduced in the network such that the forwarding decision for the packets at each router is taken on the basis of the destination address and the QoS type of the packet.
In order to achieve QoS routing, we implement a QoS extension for OSPF routing protocol. The QOSPF routing protocol will create a separate lookup table for each supported QoS type. The link cost metric will be updated to include information about the current utilization of a link. This helps OSPF make informed decisions regarding routing of higher QoS packets with knowledge of current network congestion scenario.
The Dijkstra’s algorithm is run only with the knowledge of link capacity for low priority packets and the static routes are installed. While running the Dijkstra algorithm for high priority QoS level, along with the link capacity, the current network utilization is considered to calculate the shortest path. This will help provide statistically higher bandwidth paths (although with more hops) to higher QoS levels, although not guaranteeing it.
Assumptions: Following are the assumptions that we have made while proposing the solution:
Every router is a QoS aware router. The end to end link characteristics are determined by the propagation delay, number of hops and transmission delay. As propagation delay differences will be negligible on various links, we are not including this parameter in calculating the link congestion. We consider only the available bandwidth on the link as a metric.
For the purpose of this project we aim to provide the following 2 types of services:
1. QoS 1 - Best effort delivery service
2. QoS 2 - Low latency delivery
QoS 1 packet will be routed through the static routes calculated using Dijkstra’s shortest path algorithm with the knowledge of network topology. QoS 2 packets, on the other hand, will be routed through dynamically changing paths based on the information about current utilization of each link, communicated to each of the routing nodes in the network through controlled packet flooding mechanism.
Team members
Bikram Singh
Lahari Kommi
Pranjali Chumbhale
Rahul Daga
Platform and Tools for the project
-
ExoGENI
-
A network topology of 11 routers (Linux Ubuntu 14.04) and 6 end hosts (Linux Ubuntu 14.04 image).
-
Packet Generator (Iperf)
-
Iproute2
-
Wireshark
Areas of the project
-
QoS
-
Routing
-
SNCF (Sequence Number Controlled packet Flooding)
-
Protocol Development (for Link State Information sharing)