How to Start DSR Routing Projects Using NS2

To stimulate a DSR (Dynamic Source Routing) project in NS2 (Network Simulator 2) involves configure a replication of environment, setting the DSR as the routing protocol, describing a network topology, and examine the protocol’s behaviour. Below is a step-by-step guide to help you get started:

Steps to Start DSR Routing Projects Using NS2

Step 1: Set Up NS2 Environment

  1. Install NS2:
    • Download and install NS2 from the NS2 Official Website.
    • Validate the installation through process:

ns -version

  1. Learn Basic NS2 Scripting:
    • Recognise on how to build nodes, connection, and congestion sources.
    • Discover the samples for scripts in ns-allinone-2.x/examples/.

Step 2: Understand DSR

  1. What is DSR?
    • A reactive routing protocol in which the route for a destination is explored only after requirrements.
    • Two main phases:
      • Route Discovery: The source node has explored the calculate route to the destination.
      • Route Maintenance: The protocol has handled and bring up-to-date the route has become invalid.
  2. Advantages:
    • No periodic bring up-to-date, decreasing the routing overhead.
    • Routes are cached for the future use.
  3. Challenges:
    • Packet header size maximum through route length.

Step 3: Configure the Simulation Environment

  1. Set Up Wireless Environment:
    • Setting the wireless nodes by mobility handle and DSR routing.

set ns [new Simulator]

# Configure wireless topology

set opt(chan) Channel/WirelessChannel

set opt(prop) Propagation/TwoRayGround

set opt(netif) Phy/WirelessPhy

set opt(mac) Mac/802_11

set opt(ifq) Queue/DropTail/PriQueue

set opt(ll) LL

set opt(ant) Antenna/OmniAntenna

set opt(x) 1000

set opt(y) 1000

$ns node-config -adhocRouting DSR \

-llType $opt(ll) \

-macType $opt(mac) \

-ifqType $opt(ifq) \

-ifqLen 50 \

-antType $opt(ant) \

-propType $opt(prop) \

-phyType $opt(netif) \

-channelType $opt(chan)

  1. Define Nodes and Links:
    • Build a wireless node for the MANET situation.

set n1 [$ns node]

set n2 [$ns node]

set n3 [$ns node]

set n4 [$ns node]

# Set node positions

$n1 set X_ 100

$n1 set Y_ 200

$n1 set Z_ 0

$n2 set X_ 300

$n2 set Y_ 300

$n2 set Z_ 0

$n3 set X_ 500

$n3 set Y_ 400

$n3 set Z_ 0

$n4 set X_ 700

$n4 set Y_ 500

$n4 set Z_ 0

Step 4: Add Traffic Sources

  1. Attach Traffic Agents:
    • Enhance the agents for sending and receiving packets.

set udp [new Agent/UDP]

$ns attach-agent $n1 $udp

set sink [new Agent/Null]

$ns attach-agent $n4 $sink

$ns connect $udp $sink

  1. Generate CBR Traffic:
    • State a CBR application we create the congestion among nodes.

set cbr [new Application/Traffic/CBR]

$cbr attach-agent $udp

$cbr set packetSize_ 512

$cbr set interval_ 0.05

$ns at 1.0 “$cbr start”

Step 5: Simulate the Network

  1. Add Mobility to Nodes:
    • Replicate the node movement using a random waypoint model.

$n1 setdest 500 500 10

$n2 setdest 300 300 5

  1. Run the Simulation:
    • Storage the script as dsr_simulation.tcl and implement:

ns dsr_simulation.tcl

  1. Visualize in NAM:
    • Detect the network behaviour using NAM (Network Animator):

nam dsr_simulation.nam

Step 6: Analyze the Output

  1. Trace File Analysis:
    • Study the suggest files are created through NS2 to estimate:
      • Packet delivery ratio.
      • End-to-end delay.
      • Routing overhead.
  2. Metrics to Observe:
    • Route discovery movements.
    • Route caching behaviour.
    • Broken connection is maintaining.

Step 7: Enhance the Project

  1. Dynamic Topology:
    • Replicate the complex environment through frequent topology variations.
    • Improve further nodes and congestion flows.
  2. Performance Comparison:
    • Associate the DSR by other routing protocols such as AODV and OLSR.
  3. Optimize DSR:
    • Improve the DSR through energy-aware routing or multi-path capabilities.
  4. Scalability Testing:
    • Validate the protocol in larger networks through further 50 nodes.

Example Script Overview

Here’s a sample NS2 script outline for DSR routing:

set ns [new Simulator]

set udp [new Agent/UDP]

set sink [new Agent/Null]

# Node configuration

$ns node-config -adhocRouting DSR -llType LL -macType Mac/802_11

# Create nodes

set n1 [$ns node]

set n2 [$ns node]

set n3 [$ns node]

set n4 [$ns node]

# Traffic configuration

$ns attach-agent $n1 $udp

$ns attach-agent $n4 $sink

$ns connect $udp $sink

set cbr [new Application/Traffic/CBR]

$cbr attach-agent $udp

$ns at 1.0 “$cbr start”

# Run the simulation

$ns at 10.0 “finish”

$ns run

Let me know if you need further assistance with implementation or troubleshooting!

If you need professional assistance with your research, feel free to reach out to phdprojects.org. We offer exceptional research support and personalized topic recommendations. Our team at phdprojects.org is made up of experienced experts and developers who are well-equipped to manage the DSR Routing Project mentioned earlier, ensuring your assignments are completed on time. We also work on network topology and analyze the protocol’s behavior according to your project requirements.