0% found this document useful (0 votes)
12 views

CN Lab Exp-1-1

Uploaded by

rajmouli517
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

CN Lab Exp-1-1

Uploaded by

rajmouli517
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

1. Implement three node point-to-point networks with duplex links between them.

Set the queue size, vary the bandwidth and find the number of packets dropped.

TCL:
#Create a simulator object
set ns [ new Simulator ]

#Open the nam trace file


set tf [ open lab1.tr w ]
$ns trace-all $tf
#Open the nam trace file
set nf [ open lab1.nam w ]
$ns namtrace-all $nf

#Define a 'finish' procedure


proc finish { } {
global ns nf tf
$ns flush-trace
exec nam lab1.nam &
close $tf
close $nf
exit 0
}
#Creating nodes
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
#Define different colors and labels for data flows
$ns color 1 "red"
$ns color 2 "blue"
$n0 label "Source/udp0"
$n1 label "Source/udp1"
$n2 label "Router"
$n3 label "Destination/Null"
#Create link between nodes
$ns duplex-link $n0 $n2 100Mb 300ms DropTail
$ns duplex-link $n1 $n2 100Mb 300ms DropTail
$ns duplex-link $n2 $n3 1Mb 300ms DropTail
#Set queue size of links
$ns set queue-limit $n0 $n2 50
$ns set queue-limit $n1 $n2 50
$ns set queue-limit $n2 $n3 5
#Setup a UDP connection
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
# Create a CBR traffic source and attach it to udp0
set cbr0 [new Application/Traffic/CBR]
Parthasarathy P V, CSE, AMCEC 1
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0
#Create a UDP agent and attach it to node n1
set udp1 [new Agent/UDP]
$udp1 set class_ 2
$ns attach-agent $n1 $udp1
# Create a CBR traffic source and attach it to udp1
set cbr1 [new Application/Traffic/CBR]
$cbr1 set packetSize_ 500
$cbr1 set interval_ 0.005
$cbr1 attach-agent $udp1
#Create a Null agent (a traffic sink) and attach it to node n3
set null0 [new Agent/Null]
$ns attach-agent $n3 $null0
#Connect the traffic sources with the traffic sink
$ns connect $udp0 $null0
$ns connect $udp1 $null0
#Schedule events for the CBR agents
$ns at 0.5 "$cbr0 start"
$ns at 1.0 "$cbr1 start"
$ns at 4.0 "$cbr1 stop"
$ns at 4.5 "$cbr0 stop"
#Call the finish procedure after 5 seconds of simulation time
$ns at 5.0 "finish"
#Run the simulation
$ns run
------------------------------------------------------------------------------------------------------------------
AWK
BEGIN{
count=0;
}
{
if($1=="d")
count++
}
END{
printf("The Total no of Packets Drop is :%d\n\n", count)
}

Parthasarathy P V, CSE, AMCEC 2


Packet Dropped:

Parthasarathy P V, CSE, AMCEC 3


Network Simulator 3
 Network simulator is a tool used for simulating the real-world network on one
computer by writing scripts in C++ or Python. Normally if we want to perform
experiments, to see how our network works using various parameters. We don’t
have required number of computers and routers for making different topologies.
 To overcome these drawbacks we used NS3, which is a discrete event network
simulator for Internet. NS3 helps to create various virtual nodes (i.e., computers in
real life) and with the help of various Helper classes it allows us to install devices,
internet stacks, application, etc to our nodes.
 Using NS3 we can create PointToPoint, Wireless, CSMA, etc connections between
nodes. PointToPoint connection is same as a LAN connected between two
computers. Wireless connection is same as WiFi connection between various
computers and routers. CSMA connection is same as bus topology between
computers. After building connections we try to install NIC to every node to enable
network connectivity.
 When network cards are enabled in the devices, we add different parameters in the
channels (i.e., real world path used to send data) which are data-rate, packet size,
etc. Now we use Application to generate traffic and send the packets using these
applications.
Ns3 gives us special features which can be used for real life integrations. Some of these
features are:
1. Tracing of the nodes:
NS3 allows us to trace the routes of the nodes which helps us to know how much
data is send or received. Trace files are generated to monitor these activities.
2. NetAnim:
It stands for Network Animator.It is an animated version of how network will look
in real and how data will be transferred from one node to other.
3. Pcap file:
NS3 helps to generate pcap file which can be used to get all information of the
packets (e.g., Sequence number, Source IP, destination IP, etc). These pcaps
can be seen using a software tool known as wireshark.
4. gnuPlot:
GnuPlot is used to plot graphs from the data which we get from trace file of NS3.
Gnuplot gives more accurate graph compare to other graph making tools and
also it is less complex than other tools.
This is a brief introduction to NS3. Basically NS3 can perform most of the activities which
are performed in the network in reality.

Parthasarathy P V, CSE, AMCEC 4

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy