DiffServ QoS in NS-2 Simulator

DiffServ QoS in NS-2 Simulator

QoS developed DiffServ functionality for NS-2

Packet classification using DSCP
Packets are classified at the edge routers using the prio_field in the IPHeaderClass. So packets which have the same source and destination nodes but belong to different applications , belong to different classes as well. 

Trace based on flow id and DSCP
You are able to define (through tcl) which packets will be traced at the trace objects of the ns topology. This is achieved by defining in the tcl script the flow_id and/or the value of prio_field of the packets that you are interested in tracing. 

MDRR Algorithm
Modified Deficit Round Robin Scheduling (MDDR) Algorithm is a scheduling algorithm that has been added at the (DiffServ) routers. It is a queueing strategy and has two versions, the strict and the alternative. If you choose the strict version, the zero queue is serviced first and then all the other queues in a round robin way. The alternative services the zero queue and all the other queues in a round robin way which means queue zero, queue one, queue zero, queue two, queue zero, queue three. 

The shaping mechanism (applied in DiffServ routers) is used in order to normalize the rate in which the packets enter into an ingress router. In fact, it does not allow the packets to enter the router in a larger rate than the one specified. The packets that are delayed, enter a buffer and when this buffer is full, excessive packets are dropped. A different shaping rate and buffer size can be defined for each class of packets. 

Background traffic
We have developed code with which you are able create realistic background traffic in your ns-2 simulation environment. You can configure the basic parameters for the traffic generation according to your needs. These parameters are the start and the stop time of the simulation, as well as the rate for the TCP and UDP sources and finally the number of the links of your topology to which you want to insert background traffic.