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.