Jan 11, 2008

An NS2 TCP Evaluation Tool: Installation Guide and Tutorial

A TCP performance evaluation tool for the network simulator NS2 has been developed. This document describes how to install and use this tool.

Researchers frequently use the network simulator NS2 to evaluate the performance of their protocols in the early stage of design. One particular area of recent intest is the congestion control protocols (a.k.a., TCP alternatives) for high-speed, long-delay networks. There is significant overlap among (but lack of a community-agreed set of) the topologies, traffic, and metrics used by many researchers in the evaluation of TCP alternatives: effort could be saved by starting research from an existing framework. As such, we developed a TCP performance evaluation tool. This tool includes several typical topologies and traffic models; it measures some of the most important metrics commonly used in TCP evaluation; and it can automatically generate simulation statistics and graphs ready for inclusion in latex and html documents. The tool is very easy to use and contains an extendable open-source framework.

This tool can be used not only for high-speed TCP protocols, but for other proposed changes to congestion control mechanisms as well, such as ECN added to SYN/ACK packets, changes to make small transfers more robust, changes in RTO estimation, and proposals to distinguish between loss due to congestion or corruption, etc.

tags :


VijayaraghavanP said...

Hi, i am a final year student of ECE department. I am using NS-2 for my final year project. I will be grateful if you can please clear my doubts: i use UDP agent and CBR application. i have used the command "$cbr1 send $packetsize1" for sending a single packet. It works fine for me for the first time. But when this is put in a 'for' loop, the receiver doesn't receive the subsequent packets. It just receives the first, all the other packets are lost. I have used, LossMonitor as the sink, to monitor the loss. The for loop is:

for {set i 0} { $i < 200 } {incr i} {

set dc1 [expr $dc1 + $quantum]
set dc2 [expr $dc2 + $quantum]
set dc3 [expr $dc3 + $quantum]

if {$dc1 > $psiz1} {
$cbr1 send $packetsize1
set dc1 [expr $dc1 - $psiz1]

if {$dc2 > $psiz2} {
$cbr2 send $packetsize2
set dc2 [expr $dc2 - $psiz2]

if {$dc3 > $psiz3} {
$cbr3 send $packetsize3
set dc3 [expr $dc3 - $psiz3]


Can you please help me in this regard? My email id is:

Looking forward for your reply..
Thanking you...

Pelayor said...


I need to simulate a switched ethernet in ns2 (16 nodes connected to a switch, that send informatiĆ³n to an 17th node in regular intervals).

I have problems simulating the switch. I've searched in the forums and mailing lists, some people asked whith the same problem, but no one gave an usefull answer.

Im trying to implement a SwitchQueue model, inherited from Queue, but right now is too much for me.

Im sure that someone has already solved this problem.

Can you please, point me to some direction or tell me how to solve this matter?

my email is: pelayor@gmail.com

Thanks in advance.

heliophile said...

I am facing the same problem as Pelayor. I want to connect 11 nodes to a ethernet switch , among which 10 nodes will send data to 11th node using TCP connections.

So far I am unsuccessful doing it. Please guide me in this matter.

-Onkar bhardwaj,
Dept. of ECE,
IISc Bangalore

Jijgee said...

Hello everyone,

I have a problem. I want to simulate protocol overhead. please give me how to measure protocol overhead using ns2