How to install ns 2.30 packages in ubuntu

To import  NS 2.30 packages in NS2  if you encounter any uncertainties, we are prepared to assist you. Network Simulator 2 (NS2) is a prominent open-source discrete event network simulator. Initially developed by the VINT (Virtual Inter-Network Testbed) project, NS2 serves as a tool for simulating various network protocols, routing algorithms, and traffic models. Its capability to support both wired and wireless networks enhances its applicability for diverse research and educational objectives. NS2 provides researchers with the opportunity to explore intricate network scenarios within a controlled setting, thereby aiding in the assessment and comparison of network performance across varying conditions. Utilizing a scripting language (TCL) alongside a C++ based framework, NS2 allows users to design custom network topologies and analyze protocol behavior with comprehensive statistical outputs.

PRE-REQUISITES:

  1. Fresh installation of Ubuntu 16.04 LTS:

Screenshot:

Fresh installation of Ubuntu 16.04 LTS

2.Download ns-allinone-2.30.tar.bz2 file:

We have to download the ns-allinone-2.30.tar.bz2 under home directory by the clicking the Link, it will directly download to Download Location and move the compressed file to the home Directory.

Link:- https://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.30/ns-allinone-2.30.tar.gz/download

Screenshot:

Download ns-allinone-2.30.tar.bz2 file

3.Extraction of the ns-allinone-2.30.tar.bz2 file:

Next, we have to extract the compressed file by right click and click Extract here to extract the ns-allinone-2.30 as folder in the home directory.

Screenshot:

Extraction of the ns-allinone-2.30.tar.bz2 file

Screenshot:

Extraction of the ns-allinone-2.30.tar.bz2 file

ns-allinone-2.30 compressed file Extracted Successfully in the home directory.

INSTALL DEPENDENCIES OF NS2:

  1. Open a terminal, Copy and Paste the commands to install required package:

Screenshot:

Open a terminal, Copy and Paste the commands to install required package

2.System File Update Command:

First of all, we need to updates the list of available packages and their versions stored in the system’s package index. Use below command to update the system package.

Command:      “sudo apt-get update”

Screenshot:

3.Install Essential Tools:

    1. build-essential: A package containing essential tools for compiling software on Ubuntu, including GCC, g++, and make.
    2. autoconf: A tool for automatically configuring source code packages to adapt to various UNIX-like systems.
    3. automake: A tool that automatically generates Makefile.in files, simplifying the creation of portable makefiles.
    4. libxmu-dev: A development package for the X11 Athena Widget library, providing miscellaneous utility functions for X Window System programs.

Command:      “sudo apt-get install build-essential autoconf automake libxmu-dev” 

Screenshot:

Install Essential Tools

Click the key Y to install the required Essentials tools for giving permission to install the package in the user system.

Screenshot:

Install Essential Tools

Installation of the Essential tools package completed successfully. 

INSTALL NETWORK SIMULATOR 2 (NS2):

  1. Locating the ns-allinone-2.30 Folder:

Next, we need to install the NS 2 in our system so locate the Extracted ns-allinone-2.30 folder in the home directory.

Screenshot:

2.Launching the terminal in the ns-allinone-2.30 Folder:

Then Right Click in the current Directory and select the “Open in Terminal” button and it will launch the terminal.

Screenshot:

Launching the terminal in the ns-allinone-2.30 Folder

Here, we launched the terminal by that button in the folder.

Screenshot:

Launching the terminal in the ns-allinone-2.30 Folder

3.Modification of ns-2.30 Code:

Next, we need to modify the Ns-2.30 to install the network simulation 2 Environment in the User system and it will resolve some dependency errors. First of all, locate to the Ns-2.30 folder.

Command:      “cd ns-2.30”

Screenshot:

Modification of ns2.30 Code

Next, we need to edit the ls.h file in the Ns-2.30 with gedit command.

Command:      “cd linkstate && gedit ls.h

Screenshot:

Modification of ns2.30 Code

Screenshot:

Modification of ns2.30 Code

Next, the code this-> is added to the line 137 and before the erase (basemap::begin(), baseMap::end()) code.

Screenshot:

Modification of ns2.30 Code

Next, we need to edit the Tcl.cc file in the nsallinone-2.30 folder with gedit command.

Command:      “cd tclcl-1.18 && gedit Tcl.cc

Screenshot:

Modification of ns2.30 Code

Screenshot:

Modification of ns2.30 Code

Next, Replace the code line 566 “char *p = strchr(localName, ‘(‘);” with “char* p = const_cast<char*>(strchr(localName, ‘(‘));”.

Screenshot:

Modification of ns2.30 Code

Next, we need to edit the red.cc file in the Ns-2.30 with gedit command.

Command:      “cd queue && gedit red.cc

Screenshot:

Modification of ns2.30 Code

 

Screenshot:

Modification of ns2.30 Code

Next, Replace the code line 874 to 875 “char wrk[500], *p;” with “char wrk[500]; const char* p;

Screenshot:

Modification of ns2.30 Code

Next, we need to edit the rio.cc file in the Ns-2.30 with gedit command.

Command:      “cd queue && gedit rio.cc

Screenshot:

Modification of ns2.30 Code

Screenshot:

Modification of ns2.30 Code

Next, Replace the code line 563 to 564 “char wrk[500], *p;” with “char wrk[500]; const char* p;

Screenshot:

Modification of ns2.30 Code
Modification of ns2.30 Code

Next, we need to edit the pi.cc file in the Ns-2.30 with gedit command.

Command:      “cd queue && gedit pi.cc

Screenshot:

Modification of ns2.30 Code

Screenshot:

Modification of ns2.30 Code

Next, Replace the code line 314 to 315 “char wrk[500], *p;” with “char wrk[500]; const char* p;

Screenshot:

Modification of ns2.30 Code

Next, we need to edit the vq.cc file in the Ns-2.30 with gedit command.

Command:      “cd queue && gedit vq.cc

Screenshot:

Next, Replace the code line 331 to 332 “char wrk[500], *p;” with “char wrk[500]; const char* p;

Screenshot:

 

Modification of ns2.30 Code

Next, we need to edit the rem.cc file in the Ns-2.30 with gedit command.

Command:      “cd queue && gedit rem.cc

Screenshot:

Modification of ns2.30 Code

Screenshot:

Modification of ns2.30 Code

Next, Replace the code line 333 to 334 “char wrk[500], *p;” with “char wrk[500]; const char* p;

Screenshot:

Modification of ns2.30 Code

Next, we need to edit the gk.cc file in the Ns-2.30 with gedit command.

Command:      “cd queue && gedit gk.cc

Screenshot:

Modification of ns2.30 Code

Screenshot:

Modification of ns2.30 Code

Next, Replace the code line 205 to 206 “char wrk[500], *p;” with “char wrk[500]; const char* p;

Screenshot:

Modification of ns2.30 Code

4.Installing Ns-2.30 by the terminal:

Next, we need to install the network simulation 2.30 Environment in the User system and it. So, use the command to install the ns-2.30 in the ns-allinone-2.30 folder location.

Command:      “./install”

Screenshot:

Installing ns-2.30 by the terminal

Ns-2.30 Configuration process:

Screenshot:

Ns 2.30 Configuration process

The configuration of the Network Simulator 2 (NS-2) environment. This command is typically used to set various parameters, such as the simulation duration, network topology, and node properties. It can also be used to specify the output format and other simulation settings.

Screenshot:

Ns-2.30 Configuration process

Ns-2.30 Configuration Completed successfully.

Ns-2.30 Building process:

Screenshot:

Ns-2.30 Building process

Next, Building the Network Simulator 2 (NS-2) framework from its source code. When use this command, It will compiles the source code, generates the Makefiles, and builds the NS-2 binary and libraries and make Runnable Environment.

Screenshot:

Ns-2.30 Building process

Ns-2.30 Installed successfully in the Ubuntu 16.04 system.

Still Having trouble with NS-2.30 packages in NS2? Don’t worry! We provide top-notch help, project ideas, and topics to get you the best results.