How to Start Zone Protocol Projects Using NS2

To start a Zone Routing Protocol (ZRP) project using NS2 that needs to replicate a hybrid routing within a network, which connects the proactive and reactive routing mechanisms. NS2 doesn’t directly have ZRP, but it can prolong or set up for replicating their behavior. Below is a complete procedure to get started:

Steps to Start Zone Protocol Projects in NS2

  1. Understand ZRP and NS2 Capabilities
  • Zone Routing Protocol (ZRP):
    • Hybrid routing protocol, which splits the network to zones.
    • It can be utilised proactive routing inside a zone (Intra-zone Routing Protocol, IARP).
    • Reactive routing is leveraged among the zones (Inter-zone Routing Protocol, IERP).
  • NS2 Features:
    • NS2 environment offers flexibility for prolonging their routing components, executing the ZRP.
    • We can integrate existing reactive (e.g., AODV, DSR) and proactive (e.g., DSDV) protocols to replicate the ZRP.
  1. Set Up NS2 Environment
  • Install NS2:

sudo apt-get install ns2

  • Confirm the installation by executing a simple simulation script.
  1. Define the Project Scope
  • Objectives:
    • In a dynamic network, replicate the zone-based routing.
    • Estimate the performance parameters like delay, packet delivery ratio, and routing overhead.
    • We can equate ZRP including reactive or proactive protocols.
  • Examples:
    • Experiment ZRP under highly mobile environment.
    • Examine the effect of zone radius on the protocol performance.
  1. Design the Network Topology
  • Topology Elements:
    • Nodes: It denotes the routers or hosts.
    • Links: Connections are denoting the interaction among the nodes.
  • Zone Definition:
    • Describe the zones by means of setting a radius like 2-hop neighbors.
  • Example Topology:
    • It has 20 nodes within a 1000m x 1000m area including random mobility.
  1. Implement ZRP in NS2
  • Step 1: Define Zones
    • We can be detected nodes inside the zone by leveraging the proximity (number of hops or distance).
  • Step 2: Proactive Intra-zone Routing (IARP)
    • Make use of an existing proactive protocol such as DSDV for intra-zone routing.
  • Step 3: Reactive Inter-zone Routing (IERP)
    • For inter-zone routing, we need to utilise an existing reactive protocol such as AODV.
  • Step 4: Extend or Combine Protocols
    • Fine-tune NS2’s routing agents integrating the proactive and reactive logic.

Example TCL Script for ZRP Simulation:

# Initialize the simulator

set ns [new Simulator]

# Define trace and NAM files

set tracefile [open zrp_trace.tr w]

$ns trace-all $tracefile

set namfile [open zrp_simulation.nam w]

$ns namtrace-all-wireless $namfile 1000 1000

# Configure wireless topology

set val(chan)           Channel/WirelessChannel

set val(prop)           Propagation/TwoRayGround

set val(netif)          Phy/WirelessPhy

set val(mac)            Mac/802_11

set val(ifq)            Queue/DropTail/PriQueue

set val(ll)             LL

set val(ant)            Antenna/OmniAntenna

set val(x)              1000

set val(y)              1000

set val(ifqlen)         50

# Create nodes

set num_nodes 20

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

set node($i) [$ns node]

$node($i) random-motion 1

}

# Set routing protocol (combine proactive and reactive)

$ns rtproto ZRP

# Define traffic

set udp [new Agent/UDP]

set null [new Agent/Null]

$ns attach-agent $node(0) $udp

$ns attach-agent $node(19) $null

$ns connect $udp $null

# Traffic generation

set cbr [new Application/Traffic/CBR]

$cbr set packetSize_ 512

$cbr set interval_ 0.1

$cbr attach-agent $udp

# Start traffic

$ns at 5.0 “$cbr start”

$ns at 25.0 “$cbr stop”

# Terminate simulation

$ns at 30.0 “finish”

proc finish {} {

global ns tracefile namfile

$ns flush-trace

close $tracefile

close $namfile

exec nam zrp_simulation.nam &

exit 0

}

$ns run

  1. Simulate Zone Dynamics
  • Node Movement: Describe the mobility models for analysing the ZRP within dynamic networks.

$node(0) setdest 500 500 10.0

$node(1) setdest 800 200 15.0

  • Zone Radius: Test with various zone radius like 1-hop, 2-hop.
  1. Run the Simulation
  • Now, we run the simulation using TCL script:

ns zrp_simulation.tcl

  • Envision the simulation with NAM:

nam zrp_simulation.nam

  1. Analyze Performance
  • Obtain performance parameters from the trace file as zrp_trace.tr:
    • Packet Delivery Ratio (PDR): Compute the rate of packets which are effectively distributed.
    • Routing Overhead: Count the volume of control packets that are swapped.
    • End-to-End Delay: Measure average interval, attaining its destination for packets.

Example AWK Script for PDR:

BEGIN {sent=0; received=0;}

{

if ($1 == “s” && $4 == “UDP”) {

sent++;

} else if ($1 == “r” && $4 == “UDP”) {

received++;

}

}

END {

print “Packet Delivery Ratio:”, received/sent;

}

  1. Extend ZRP Functionality
  • Security Enhancements: Integrate the encryption or authentication for route detection.
  • QoS Support: Prolong ZRP that give precedence to certain traffic like VoIP.
  • Energy Efficiency: Experiment the ZRP within energy-constrained networks like IoT for power utilization.
  1. Document the Project
  • For research and project purpose, it offers comprehensive details like:
    • Project goals and scope.
    • Network topology and sets up.
    • Simulation outcomes using graphs and tables.
    • Observations and references.

To conclude, above provided structure is enriched with NS2-specific insights like simulation setup, analysis, and code snippets for replicating and examining the Zone Protocol Projects. Feel free to ask if you require more information on this project.