How to Start Fastest Protocol Projects Using NS2

To start a FAST TCP protocol is also known as “fastest protocol” in NS2 that needs to know the certain protocol and configuring the simulation environment for estimating their performance. Here’s a detailed approach to get started:

Steps to Start Fastest Protocol Projects in NS2

  1. Understand FAST TCP or Target Protocol
  • FAST TCP:
    • It is intended for high-speed networks.
    • Exhausts the proactive congestion control utilising queuing delay like a congestion signal.
  • Define goals:
    • Focus on the performance parameters of FAST TCP such as throughput, fairness, latency.
    • Equate it with other TCP variants like TCP Reno, TCP Vegas.
  1. Set Up NS2
  • Install NS2:
    • We can download and install NS2.35 (or the new stable version) on the system.
  • Verify Installation:
    • Execute a simple simulation for verifying the installation:

ns example.tcl

  1. Add FAST TCP to NS2
  • FAST TCP isn’t directly support for standard NS2 distributions. We can patch NS2 with FAST TCP.
  • Download FAST TCP Patch:
    • Seek the execution of FAST TCP for NS2 in reliable repositories or research documentations.
  • Apply the Patch:

cd ns-2.35

patch -p1 < fast_tcp_patch.diff

  • Recompile NS2:

make clean

make

  1. Locate FAST TCP in NS2
  • Confirm the supplement of FAST TCP:
    • Try to find FAST TCP-related files like fasttcp.cc and fasttcp.h, within ns-2.35 directory.
    • In the simulator, verify their availability by confirming the list of TCP variants.
  1. Write a Simulation Script for FAST TCP
  • Make a Tcl script for setting up a network topology with FAST TCP like congestion control protocol.

Example FAST TCP Tcl Script

# Initialize the simulator

set ns [new Simulator]

# Define trace file and NAM output

set tracefile [open fast_tcp.tr w]

$ns trace-all $tracefile

set namfile [open fast_tcp.nam w]

$ns namtrace-all $namfile

# Create nodes

set n0 [$ns node]

set n1 [$ns node]

# Create a link between nodes

$ns duplex-link $n0 $n1 10Mb 10ms DropTail

# Configure TCP Agent as FAST TCP

set tcp [new Agent/TCP/FAST]

$tcp set window_ 50

$ns attach-agent $n0 $tcp

# Configure TCP Sink

set sink [new Agent/TCPSink]

$ns attach-agent $n1 $sink

$ns connect $tcp $sink

# Generate traffic

set ftp [new Application/FTP]

$ftp attach-agent $tcp

$ns at 0.1 “$ftp start”

$ns at 4.0 “$ftp stop”

# Finish simulation

$ns at 5.0 “finish”

proc finish {} {

global ns tracefile namfile

$ns flush-trace

close $tracefile

close $namfile

exec nam fast_tcp.nam &

exit 0

}

# Run the simulation

$ns run

  1. Run the Simulation
  • We will need to run the simulation tcl script:

ns fast_tcp_example.tcl

  • Outputs:
    • .tr file: It has comprehensive simulation trace information.
    • .nam file: It helps to envision the network using NAM (Network Animator).
  1. Analyze Results
  • Trace File Analysis:
    • Analyse the .tr file, obtaining the crucial performance parameters like:
      • Throughput.
      • End-to-end delay.
      • Packet loss.
      • Fairness among flows.
  • Visualization:
    • Monitor how packets are sent through the network to leverage the .nam file.
  1. Compare Protocols
  • We can replicate and equate the performance of FAST TCP with other TCP variants like Reno, Vegas, NewReno.
  • Example Tcl Script for TCP Variant Comparison:

set tcp_reno [new Agent/TCP/Reno]

set tcp_fast [new Agent/TCP/FAST]

  1. Extend the Project
  • Modify FAST TCP Parameters:
    • Test with FAST TCP metrics like window sizes, delay thresholds, and queuing behavior.
  • Advanced Scenarios:
    • Experiment the FAST TCP scenarios within high-speed networks or networks including high latency.
    • Integrate FAST TCP to utilize QoS approaches.
  • Hybrid Protocols:
    • Add hybrid FAST TCP protocols with other protocols such as traffic shaping or AQM (Active Queue Management).
  1. Documentation
  • This project should have detailed report including:
    • Protocol execution specifics.
    • Simulation metrics.
    • Performance outcomes using graphs of throughput, delay, and so on.
  • Envision the performance results applying Gnuplot, MATLAB, or Python tools.

We have shared a detailed simulation procedure with NS2-specific content for replicating and examining the Fastest Protocol Projects using NS2 simulator. If you’d like additional insights, please feel free to ask.