CN - Practical 01 - Kanhaiya Mitta
CN - Practical 01 - Kanhaiya Mitta
Aim :
Study of Network simulator (NS) and Simulation of Congestion Control Algorithms using NS.
✓ NS overview
−
NS programming: A Quick start
−
Case study I: A simple Wireless network
−
Case study II: Create a new agent in NS
−
NS Status
−
Periodical release (ns-2.26, Feb 2003)
−
Platform support
−
FreeBSD, Linux, Solaris, Windows and Mac
✓ NS Functionalities
Routing, Transportation, Traffic sources, queuing disciplines, QoS
✓ Wireless
Ad hoc routing, mobile IP, sensor-MAC
Tracing, visualization and various utilities
NS (Network Simulators)
Most of the commercial simulators are GUI driven, while some network simulators are CLI
driven. The network model / configuration describe the state of the network (nodes, routers,
switches, and links) and the events (data transmissions, packet error etc.). Important outputs of
simulations are the trace files. Trace files log every packet, every event that occurred in the
simulation and are used for analysis. Network simulators can also provide other tools to facilitate
visual analysis of trends and potential trouble spots.
Most network simulators use discrete event simulation, in which a list of pending "events"
is stored, and those events are processed in order, with some events triggering future events—such
as the event of the arrival of a packet at one node triggering the event of the arrival of that packet
at a downstream node.
Simulation of networks is a very complex task. For example, if congestion is high, then
estimation of the average occupancy is challenging because of high variance. To estimate the
likelihood of a buffer overflow in a network, the time required for an accurate answer can be
pg. 1
kmittal
extremely large. Specialized techniques such as "control variants" and "importance sampling" have
been developed to speed simulation.
Network simulators serve a variety of needs. Compared to the cost and time involved in
setting up an entire test bed containing multiple networked computers, routers and data links,
network simulators are relatively fast and inexpensive. They allow engineers, researchers to test
scenarios that might be particularly difficult or expensive to emulate using real hardware - for
instance, simulating a scenario with several nodes or experimenting with a new protocol in the
network.
Network simulators are particularly useful in allowing researchers to test new networking
protocols or changes to existing protocols in a controlled and reproducible environment.
There are a wide variety of network simulators, ranging from the very simple to the very
complex. Minimally, a network simulator must enable a user to represent a network topology,
specifying the nodes on the network, the links between those nodes and the traffic between the
nodes. More complicated systems may allow the user to specify everything about the protocols
used to handle traffic in a network.
Graphical applications allow users to easily visualize the workings of their simulated
environment. Text-based applications may provide a less intuitive interface, but may permit more
advanced forms of customization.
pg. 2
kmittal
Packet loss occurs when one or more packets of data travelling across a computer network
fail to reach their destination. Packet loss is distinguished as one of the three main error types
encountered in digital communications; the other two being bit error and spurious packets caused
due to noise.
Packets can be lost in a network because they may be dropped when a queue in the network
node overflows. The amount of packet loss during the steady state is another important property
of a congestion control scheme. The larger the value of packet loss, the more difficult it is for
transport layer protocols to maintain high bandwidths, the sensitivity to loss of individual packets,
as well as to frequency and patterns of loss among longer packet sequences is strongly dependent
on the application itself.
✓ Throughput
This is the main performance measure characteristic, and most widely used. In
communication networks, such as Ethernet or packet radio, throughput or network. Throughput is
the average rate of successful message delivery over a communication channel.
The throughput is usually measured in bits per second (bit/s or bps), and sometimes in data
packets per second or data packets per time slot. This measure how soon the receiver is able to get
a certain amount of data send by the sender. It is determined as the ratio of the total data received
to the end to end delay. Throughput is an important factor which directly impacts the network
performance
✓ Delay
Delay is the time elapsed while a packet travels from one point e.g., source premise or network
ingress to destination premise or network degrees. The larger the value of delay, the more difficult
it is for transport layer protocols to maintain high bandwidths. We will calculate end to end delay.
✓ Queue Length
A queuing system in networks can be described as packets arriving for service, waiting for
service if it is not immediate, and if having waited for service, leaving the system after being
served. Thus queue length is very important characteristic to determine that how well the active
queue management of the congestion control algorithm has been working.
➢ Result
Thus the study of Network simulator (NS2) was studied.
pg. 3
kmittal
b) SIMULATION OF CONGESTION CONTROL ALGORITHM
✓ Algorithm :
✓ Program :
pg. 4
kmittal
$ns duplex-link-op $n1 $n3 orient right
$ns duplex-link-op $n6 $n4 orient left
set udp0 [new Agent/UDP] $ns attach-
agent $n2 $udp0 set cbr0 [new
Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005 $cbr0 attach-
agent $udp0 set null0 [new Agent/Null]
$ns attach-agent $n5 $null0 $ns connect
$udp0 $null0 set udp1 [new
Agent/UDP] $ns attach-agent $n1
$udp1 set cbr1 [new
Application/Traffic/CBR]
$cbr1 set packetSize_ 500
$cbr1 set interval_ 0.005 $cbr1 attach-
agent $udp1 set null0 [new Agent/Null]
$ns attach-agent $n6 $null0 $ns connect
$udp1 $null0 set udp2 [new
Agent/UDP] $ns attach-agent $n0
$udp2 set cbr2 [new
Application/Traffic/CBR]
$cbr2 set packet size_ 500
$cbr2 set interval_ 0.005
$cbr2 attach-agent $udp2 set
null0 [new Agent/Null] $ns
attach-agent $n7 $null0
$ns connect $udp2 $null0
$udp0 set fid_ 1
$udp1 set fid_ 2
$udp2 set fid_ 3
$ns color 1 Red
$ns color 2 Green
$ns color 2 Blue
$ns at 0.1 "$cbr0 start"
$ns at 0.2 "$cbr1 start"
$ns at 0.5 "$cbr2 start"
$ns at 4.0 "$cbr2 stop"
$ns at 4.2 "$cbr1 stop"
$ns at 4.5 "$cbr0 stop"
$ns at 5.0 "finish"
$ns run
pg. 5
kmittal
✓ Output:
➢ Result :
Thus the congestion control algorithm is simulated by using NS2.
pg. 6
kmittal