Skip to content
Lets make a better website together

Lets make a better website together

The world is a dangerous place to live; not because of the people who are evil, but because of the people who dont do anything about it.
Lets make a better website together

Lets make a better website together

The world is a dangerous place to live; not because of the people who are evil, but because of the people who dont do anything about it.
Lets make a better website together

Modern and Ridiculously Easy Page Builder for All

A fool thinks himself to be wise, but a wise man knows himself to be a fool.

Responsive Design

Responsive Design

Blocks fit all devices

WYSIWYG Editor

WYSIWYG Editor

Do Everything In One Place

Intuitive Configuration

Intuitive Configuration

No more boalted configuration panel

Onepage Makes Website Building Easy and Fun

Dont limit yourself. Many people limit themselves to what they think they can do. You can go as far as your mind lets you. What you believe, remember, you can achieve
Beautiful and Responsive Design

Beautiful and Responsive Design

The best and most beautiful things in the world cannot be seen or even touched - they must be felt with the heart

Cross Browser Compatibility

Cross Browser Compatibility

TDesign is not how it looks like of feels lie, design is how its works

Well Documentation

Well Documentation

Start by doing whats necessary; then do whats possible; and suddenly you are doing the impossible.

Onepage Makes Website Building Easy and Fun

Meet The Team

Steve Jobs

Steve Jobs

CEO, Apple Inc

Nikola Tesla

Nikola Tesla

Scientist

Elon Musk

Elon Musk

CEO, Tesla Motors

People Love Us

Latest Thoughts

Latest posts from our blog

Installing the Simulation Execution Manager for ns-3

Traditionally, in earlier days, a batch of ns-2 simulations were run using suitable scripting languages and the trace analysis was also done using scripts written in different scripting languages such as Perl. The following article [4] presented the classical way of doing ns-3 batch simulations and analysis. Generating Genuine, Quality Tables & Graphs for Publication. SEM allows us to do the batch simulation and analysis in a more sophisticated way. SEM(Simulation Execution Manager) is a Python library designed to help manage and streamline the execution of multiple ns-3 simulations, handle the results, and organize them in a manner conducive to further… Readmore

Installing ‘lorawan’ extension module version v0.3.1 under ns-3.42

LoRaWAN The LoRa Alliance first defined the LoRaWAN standard with the objective of creating a medium access scheme and a set of network management policies that leverage the properties of the modulation to achieve good network performance at a low price in the complexity of the devices[5]. The topology of a LoRaWAN network is represented in the figure Topology of the LoRaWAN architecture., where dotted lines represent a LoRa wireless link while solid lines are other kinds of high throughput, high reliability connections. It can be seen that there are three kinds of devices in a LoRaWAN network: End Devices (EDs),… Readmore

Installing ns-3.42 and NetAnim Under Debian 11

ns-3.42 was released on May 29, 2024. The main feature addition in ns-3.42 was support for the 3GPP 38.311 Non-Terrestrial Networks channel model, including a new circular aperture antenna model described in that channel model, and a mobility model supporting geocentric positions and conversion to topocentric coordinate systems[1]. This article is about compiling and installing ns-3.42 on Debian 11 using cmake system. (If one needs to install it under chroot based virtualization, then they may setup a chroot jail as explained in [3]) Supported platforms and requirements [2] As mentioned in[2], this release is intended to work on systems with… Readmore

Procedure for Installing the NetAnim on New Apple Mac M1/M2.

Problem with Qt 5 on Apple Silicon M1/M2. The reason why Qt 5 may not work out of the box on Apple Silicon M1, M2, and M3 is primarily due to the architecture differences and the level of compatibility provided by Qt versions. Apple Silicon M1, M2, and M3 use ARM-based architectures, whereas Intel-based systems use x86_64 architecture. Qt 6 and later versions have likely been optimized and updated to provide native support for ARM architectures, including those used in Apple Silicon chips. This ensures that the software can run efficiently on these processors without compatibility issues. On the other… Readmore

Procedure for Installing ns-3 (3.40) on New Apple Mac M1/M2.

Introduction. Always I love to build and run ns-3 simulations only on Intel-based Linux machines for ‘historical reasons’ of Intel’s multi-core performance; particularly in terms of compilation speed.  So, most of my past articles related to ns-3 will only talk about Linux-based ns-3 installations. For a long time, I have been noticing that people face some problems [5] while trying to install ns-3 on Mac; particularly on the new Apple Mac M1/M2 based ARM Machines.  So, I borrowed an Apple Mac M2 laptop from my friend’s son (Thank you, Arun) and tried to install ns-3 on it and try to realize… Readmore

Problems in Satellite Communications and Simulating them with ns-3

This article presents the different aspects of data communication under Satellite networks. It addresses the issues related to delays, obstacles, interference etc.,. perceived at the transport layer. Further, it addresses the problems of routing packets under different kinds of Satellite networks. Transport Layer Challenges in Satellite Networks Building upon our previous discussion, let’s specifically focus on the transport layer challenges in satellite network communication: High Latency: Impact on applications: Real-time applications like video conferencing, online gaming, and financial transactions suffer significantly from delays. Even text-based communication can feel sluggish. Potential solutions: Low-latency protocols: Protocols like QUIC and SCTP are designed for faster connection establishment… Readmore

Understanding Different Types of Satellites and Satellite Networks

Satellites and Satellite Networks. Satellites: A satellite is a man-made object that orbits a planet or other celestial body. They range in size from mere cubesats to massive space telescopes, each serving a specific purpose. In essence, they are like artificial moons, constantly circling Satellite Networks: A satellite network is a system of multiple satellites working together to provide communication, navigation, data collection, and other services over a wide area. These networks rely on complex ground stations and sophisticated technology to facilitate information exchange between satellites and users on Earth. Types of Satellites and Satellite Networks Satellites are usually classified… Readmore

​​​​​​​Implementing a 3D UWSN Localization Algorithm in ns-2-Aquasim

This article addresses some of the obstacles that one should pass before trying to implement a custom 3D version of any localization algorithm under ns-2-Aquasim. Of course, this installation or patching procedure is based on the one provided by Anabel Pineda Briseño1, a former PhD. Student of Computer Science, Computer Research Center, Mexican National Polytechnic Institute, Mexico City, Mexico. In fact, such patching procedures are nothing but a standard way of incorporating a routing protocol with ns-2. So if one understands how a routing protocol is integrated with ns-2, then it will be easy for them to successfully repeat this… Readmore

Would an AI system replace an ns-3/ns-2 Developer or an Expert?

Introduction. While starting to learn ns-3 from its very first release, it was impossible for me to understand it for some inexpressible reasons. I explained “why it took around 10 years for me” to really understand ns-3 in [5]. But today, we are having free, AI-based teachers who can really teach things very elegantly and patiently. This article discussed the possibility of using large language models(LLMs) based AI systems in designing and implementing simulation code for open-source simulators. Further, this will address the possibility of using such AI to assist us in the development of complex, novel, state-of-the-art algorithms for… Readmore

Issues on Implementing Localisation-based Routing Algorithms

Introduction to this Article. In fact, this article is a huge one. Without the proper introduction to different technologies, it is impossible to understand the issues of implementing a localization-based routing algorithm for an application area such as the Underwater Wireless Sensor Network(UWSN). A localization-based routing algorithm is nothing but a “Location Based Routing Algorithm” where the Location Information of the nodes will be periodically resolved using a Localization Service. This article is an outcome of my interaction with research scholars and students for around two decades. Of course, the scope of every research/researcher is to promote the research to… Readmore

Installing Misbehavior Detection (F2MD) Framework Under OMNeT++.

Misbehavior Detection (MBD) MBD in Cooperative Intelligent Transport Systems (C-ITS) refers to the process of identifying and detecting improper or malicious behaviour exhibited by vehicles or entities within a cooperative transportation system. C-ITS involves the exchange of information between vehicles and infrastructure to enhance safety, efficiency, and mobility. In C-ITS, MBD plays a crucial role in maintaining the integrity and security of the system. It involves monitoring and analysing various data sources, such as vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communications, sensor data, and system logs, to identify anomalous or unauthorized behaviour. MBD techniques aim to distinguish between normal behaviour and… Readmore

Live, Interactive Visualisation of ns-3 Simulation with PyViz

PyViz Unlike the offline animation tool NetAnim, PyViz is a live simulation visualizer for visualizing ns-3 simulation. It was developed by Gustavo Carneiro[3]. It is written in Python and can be used to visualize both Python and pure C++ simulations. PyViz can be used to debug the state of the running objects, to figure out if mobility models are what you expect, and to see where packets are being dropped.  The image at right (from the tutorial at [3]) shows the possibility of visualizing a network graph with PyViz. It works by attaching Python probes to the ns-3 objects that… Readmore

Doing Research in Public Safety Communication using psc-ns3.

Public Safety Communications (PSC) in ns-3. The support for public safety communications (PSC) in ns-3 relies on the newer capabilities introduced in 3GPP Release 12 and subsequent releases for 4G LTE systems. This includes functionalities like Device-to-Device (D2D) communications over sidelink and the mission-critical push-to-talk (MCPTT) application. Public safety communications features are based on development led by the Wireless Networks Division of the U.S. National Institute of Standards and Technology (NIST). The CTTC (Centre Tecnològic de Telecomunicacions de Catalunya) and the University of Washington played a crucial role in facilitating the integration of the ProSe module with the LTE and… Readmore

Installing ns-2 on Linux System with the Latest gcc Compiler

In fact, while compiling ns-2-allinone package, generally it will expect a very old compiler like gcc4 or gcc5. If you search the internet[2] for compilation issues of ns-2, probably you will find some advice regarding the installation of an old gcc compiler version and there may be some ns-2 gcc patches to make it work under one particular gcc version. In most cases, compiling ns-2 on a latest Linux variant will be a challenging task. In our previous article, we showed a way to install ns-3 on a old Linux distro that was virtualized under chroot. (check the following article… Readmore

RAN, O-RAN, ns-O-RAN and Traffic Steering in 5G Networks.

RAN (Radio Access Network) RAN is a key component of a cellular network that provides radio connectivity between mobile devices (such as smartphones, tablets, or IoT devices) and the core network infrastructure. The RAN encompasses the equipment, protocols, and technologies that enable wireless communication over the air interface. The image at the right from[9] shows the architecture of a typical RAN. The primary function of the RAN is to transmit and receive wireless signals between mobile devices and the network infrastructure. It consists of a set of base stations (also known as cell sites or radio transceivers) strategically placed to… Readmore

Sending ICMP Traffic From an ns-3-FdNetDevice Node to a Real Host Over a Real Channel

Declaration: This is nothing but a log of my experiments. There may be a correct/standard way of resolving this problem. But, here, I am presenting my own experiment and a possibility on this.  Introduction This article demonstrates sending ICMP traffic from a simulated ns-3 node to a Real Host over a real channel without using real, active wired ether network hardware. The reason for avoiding to use a real network hardware for ns-3-FdNetDevice experiment is: it requires a promiscuous mode and bringing a real networking hardware to a promiscuous mode may affect some of the other running applications.  Particularly, trying… Readmore

Realistic 3D Visualization of UWSN Scenario with NetSimulyzer

Aqua-Sim Aqua-Sim is an underwater network simulator that supports a vast amount of protocols and features. Originally developed on the basis of NS-2, Aqua-Sim can effectively simulate acoustic signal attenuation and packet collisions in underwater sensor networks (UWSN). Moreover, Aqua-Sim supports three-dimensional deployment[1]. Aqua-Sim-NG Aqua-Sim-NG consists of rewriting and porting Aqua-Sim to NS-3 to improve upon current simulation issues such as memory leakage and usage simplicity[1]. This work is supported by the UWSN Lab at the University of Connecticut. Aqua-Sim NG core continues to support basic underwater functions seen in Aqua-Sim 1.0, such as half-duplex, long propagation delays, and acoustic signal attenuation[1].… Readmore

Installing Aquasim-NG in ns-3.38 and Visualizing UWSN in 3D.

Aqua-Sim Aqua-Sim is an underwater network simulator that supports a vast amount of protocols and features. Originally developed on the basis of NS-2, Aqua-Sim can effectively simulate acoustic signal attenuation and packet collisions in underwater sensor networks (UWSN). Moreover, Aqua-Sim supports three-dimensional deployment[1]. Aqua-Sim-NG Aqua-Sim-NG consists of rewriting and porting Aqua-Sim to NS-3 to improve upon current simulation issues such as memory leakage and usage simplicity[1]. This work is supported by the UWSN Lab at the University of Connecticut. Aqua-Sim NG core continues to support basic underwater functions seen in Aqua-Sim 1.0, such as half-duplex, long propagation delays, and acoustic signal attenuation[1].… Readmore

Installing NetSimulyzer for Visualising IoD_Sim FANET in 3D.

IoD_Sim IoD_Sim is an open source and system-level simulator for the IoD (Internet of Drones). It is developed on top of the well-known ns-3 (Network Simulator 3), it implements the key networking elements (drones, network access points, and Zone Service Provider), a standard-compliant communication stack based on the IEEE 802.11 technology, and scenarios with various mobility models[1][2]. As mentioned in [2], IoD_Sim is primarily compatible with Linux-based operating systems. One can test it on macOS, altough the original authors are not focused on providing first-class support for it. For macOS, Windows, or any other operating system, they  encouraged to use… Readmore

Installing Internet of Drones Simulator (IoD_Sim) in Debian

In [1], the authors abstractly explain IoD and their IoD_Sim as follows: “The Internet of Drones (IoD) is a networking architecture that stems from the interplay between Unmanned Aerial Vehicles (UAVs) and wireless communication technologies. Networked drones can unleash disruptive scenarios in many application domains. At the same time, to really capitalize their potential, accurate modeling techniques are required to catch the fine details that characterize the features and limitations of UAVs, wireless communications, and networking protocols. To this end, the present contribution proposes the Internet of Drones Simulator (IoD-Sim), a comprehensive and versatile open source tool that addresses the… Readmore

Installing sns3-satellite network extension module under ns-3

Satellite Network Simulator 3 Satellite Network Simulator 3 (SNS3) is an open-source network simulator specifically designed for satellite communication networks. It provides a platform for simulating and analyzing various aspects of satellite networks, including satellite constellations, communication protocols, routing algorithms, and network performance.  The image from [5] shown at the right side explains the possible research application scenario of SNS3. SNS3 is built upon the popular network simulator, Network Simulator 3 (NS-3), and extends its capabilities to model and simulate satellite networks. It offers a range of features and functionalities to simulate different satellite communication scenarios and evaluate network performance… Readmore

Visualizing ns-3 LEO Satellite Network using NetSimulyzer 3D

Introduction to Low Earth Orbit (LEO). A Low Earth Orbit (LEO) satellite network is a type of satellite communication system where satellites are placed in low Earth orbits, typically at altitudes ranging from a few hundred to a few thousand kilometres above the Earth’s surface. LEO satellites orbit the Earth at a relatively high speed, completing one orbit in around 90 minutes to 2 hours. Introduction to ns-3-leo Module In [1], the authors present ns-3-leo, a module for the discrete event network simulator ns-3, which includes models for the network mobility and link characteristics of Low Earth Orbit (LEO) satellite… Readmore

Simulating LEO Satellite Network using ns-3 LEO Module

Introduction to Low Earth Orbit (LEO). A Low Earth Orbit (LEO) satellite network is a type of satellite communication system where satellites are placed in low Earth orbits, typically at altitudes ranging from a few hundred to a few thousand kilometers above the Earth’s surface. LEO satellites orbit the Earth at a relatively high speed, completing one orbit in around 90 minutes to 2 hours. LEO satellite networks are known for several key characteristics and advantages: Low latency: Due to their relatively close proximity to the Earth’s surface, LEO satellites can achieve lower communication latency compared to satellites in higher… Readmore

Installing Flutter, VS Code and Android Studio on Debian 11

Flutter, Dart, and Andriod Studio are specifically used for mobile application development. When you install Flutter, you also get the Dart SDK installed on your system. This means that you can use the Dart programming language to write Flutter apps without needing to install the Dart SDK separately. Flutter relies heavily on Dart for its development, and many of the key Flutter concepts, such as widgets, are implemented using Dart classes and objects. By using Dart, Flutter can take advantage of features like hot reload, which allows you to see changes to your app in real-time as you make code… Readmore

Rich Tracing Features available in ns-3 – Really a Strength? Or Weakness?

Introduction. Without any doubt, ns-3 has rich tracing support—it has more tracing features than any other simulator. Most above all, it has an excellent mechanism for grabbing any event from any layers during a network simulation run.  So, a researcher will have the ultimate freedom while analyzing any aspect of a network simulation. So, what is the purpose of discussing the question  “Rich Tracing Features available in ns-3 – really a Strength? Or Weakness?”  here? It is somewhat complicated to understand. In fact, it is a feeling that I am having for more than a decade – but I may… Readmore

Using 3D obstacle-compliant 3D-mobility models under ns-3.37

Mobility Models for UAV To facilitate 3D for testing UAV systems, [1] presents different mobility models for the emulation of the movement of a UAV. The GitHub repository[2] contains the complete ns-3 version 3.23 with the implementation of the 3 new mobility models. These models work in 3 dimensions and allow some 3D obstacles to be present in the simulation. The 3D obstacles are used as internal boundaries, so when nodes collide with them, they act as if they were bouncing off with respect to the rules of the mobility model like in the case of the external boundaries of… Readmore

Do not waste your time with ‘paper-ware’ models and algorithms.

A. Introduction. Definitely, we are not talking about ‘paperware’ that you see near to this paragraph!. Most of the published journal papers only talk about some imaginary thing. If the research is using a simulation tool such as ns-3 to implement a proof of concept model then always that implementation is questionable. During a discussion on ns-3 user group, one of the ns-3 developer ‘Tommaso Pecorella’ called the software implementation of the algorithm explained in such paper as “paper-ware”. I do know the origin of the word ‘paper-ware’ – For the first time, I saw that word in Tommaso Pecorella’s… Readmore

Installation of Debian 10 Buster (64 bit) chroot Jail Environment under Debian 11

Chroot based Virtualization According to Wikipedia “A chroot on Unix operating systems is an operation that changes the apparent root directory for the current running process and its children. A program that is run in such a modified environment cannot name (and therefore normally cannot access) files outside the designated directory tree. The modified environment is called a chroot jail.” Keep in mind that the OS environment virtualized in chroot jail will only use the kernel of the host operating system. Since every ‘self-contained’ kernel doesn’t depend on the standard C library or any other library,  installing any software under chroot will only depend on the libraries that… Readmore

Installing ns3-sigfox module under ns3.33 by using ns-3-dev.

Low-power wide-area network (LPWAN). Sigfox is a low-power, wide-area network (LPWAN) technology designed for connecting devices and sensors to the internet of things (IoT). It operates on licensed cellular bands, providing better coverage and longer battery life compared to other wireless IoT technologies. NB-IoT is optimized for low-bandwidth, low-power applications that require long-range connectivity and is suitable for use cases such as smart metering, asset tracking, and environmental monitoring. These networks use low-power radio signals, such as those in the sub-1 GHz range, to send small amounts of data over a large area. LPWANs are used in applications such as… Readmore

Installing ns3-sigfox on higher versions of ns-3 using CMake

Low-power wide-area network (LPWAN). Sigfox was a French global network operator founded in 2010 that built wireless networks to connect low-power objects such as electricity meters and smartwatches, which need to be continuously on and emitting small amounts of data. And latter, in April 2022 Singapore-based IoT network firm Unabiz subsequently acquired Sigfox and its French network operations4]. Sigfox, in terms of network standard, is a low-power, wide-area network (LPWAN) technology designed for connecting devices and sensors to the internet of things (IoT). It operates on licensed cellular bands, providing better coverage and longer battery life compared to other wireless… Readmore

Simulating WSN/IoT Systems under ns-3 using NB-IoT Module.

Low-power wide-area network (LPWAN). NB-IoT (Narrowband Internet of Things) is a low-power, wide-area network (LPWAN) technology designed for connecting devices and sensors to the internet of things (IoT). It operates on licensed cellular bands, providing better coverage and longer battery life compared to other wireless IoT technologies. NB-IoT is optimized for low-bandwidth, low-power applications that require long-range connectivity and is suitable for use cases such as smart metering, asset tracking, and environmental monitoring. These networks use low-power radio signals, such as those in the sub-1 GHz range, to send small amounts of data over a large area. LPWANs are used… Readmore

Using World Ocean Simulation System (WOSS) library with ns-3

World Ocean Simulation System (WOSS) “WOSS is a multi-threaded C++ framework that permits the integration of any existing underwater channel simulator that expects environmental data as input and provides as output a channel realization. Currently, WOSS integrates the Bellhop ray-tracing program. The user only has to specify the location in the world and the time where the simulation should take place. This is done by setting the simulated date and the wanted latitude and longitude of every node involved. The simulator automatically handles the rest (The image shown here is taken from[4]). WOSS can be integrated in any network simulator… Readmore

Simulation of UAV based Search and Rescue Scenario with ns-3

Drones enable a significant enhancement in Search and Rescue (SAR) operations. Drones are a potentially life-saving tool in SAR operations, providing critical support to SAR teams to reduce risk to humans, enable quicker search and provide aerial support during adverse weather conditions[1]. Search and Rescue ‍Search and rescue (SAR) is a subset of public safety operations and involves activities revolving around finding missing people. It generally comes under the purview of the fire department in most countries[2]. Advantages of Drones for SAR ‍Search and rescue operations are fairly difficult and unpredictable, unlike other public safety operations. These two factors play… Readmore

Installing NetSimulyzer 3D Visualization Tool under Debian 11

NetSimulyzer 3D Visualization Tool In fact, ‘NetSimulyzer’ consists of two parts. One is the actual 3D visualization tool and the other is an ns-3 companion module.  Both are named as NetSimulyzer — so it will make some confusion during installation. NetSimulyzer is a 3D visualizer tool that allows users to view the simulation results and network behavior in a Virtual, graphical 3D environment. It helps users understand the network performance and identify issues, such as congestion, delays, and packet loss, during the simulation. NetSimulyzer can be used to display the results of simulations in a variety of formats,  including 3D… Readmore

Installing NetSimulyzer 3D Visualization Module with ns-3.37

NetSimulyzer ns-3 Add-on Module. In fact, ‘NetSimulyzer’ consists of two parts. One is the actual 3D visualization tool and the other is an ns-3 companion module.  Both are named as NetSimulyzer — so it will make some confusion during installation. This article will only explain the installation of ‘NetSimulyzer ns-3 companion module’ — which is used to generate 3D traces needed for recreating the 3D network scenarios This article is about installing ‘NetSimulyzer ns-3 companion module’ with  ns-3.37 on Debian 11 operating system.   The following article explains the installation of ns-3.37 under Debian 11. Cmake based ns-3.37 install in… Readmore

Cmake based ns-3.37 install in Debian 11 chroot Environment

ns-3.37 was released on November 1, 2022 with some interesting updates and features  and the base coding style was updated, resulting in a large number of style and whitespace changes[1]. This article is about compiling and installing ns-3.37 on Debian 11 using cmake system. New user-visible features in ns-3.37[2] As mentioned in[2], in this version of ns-3, the there are some visible changes in internet module, lte module, wifi module and lr-wpan module.   In [2], the following changes are mentioned: This release features upgrades to the IEEE 802.15.4 LR-WPAN models, including support for device association, energy detection, active, and… Readmore

Visualizing ns-3 FANET 3D Paparazzi Mobility Model Scenario Using NetSimylyzer

Paparazzi Mobility Model It is a mobility model to simulate the movement of autonomous vehicles, such as drones or UAVs (unmanned aerial vehicles), in a virtual environment. It allows users to test the navigation and control systems of their vehicles in a simulated environment before deploying them in the real world. The Paparazzi Mobility Model that we used in this demonstration is an open-source ns-3 mobility extension which is available in[1]. In our previous article shown below, we presented the way of incorporating the Paparazzi Mobility Model under ns-3 and visualizing it using NetAnim. Using The Paparazzi Mobility Model in… Readmore

Using The Paparazzi Mobility Model in ns-3 FANET 3D Scenario

Paparazzi Mobility Model It is a mobility model to simulate the movement of autonomous vehicles, such as drones or UAVs (unmanned aerial vehicles), in a virtual environment. It allows users to test the navigation and control systems of their vehicles in a simulated environment before deploying them in the real world. The Paparazzi Mobility Model that we used in this demonstration is an open-source ns-3 mobility extension which is available in[1].   Step 1: Install ns-3 You may follow any installation procedure to install the suitable ns-3 version on your computer. The following article explains one such ns-3 installation on… Readmore

Low-power wide-area networks(LPWAN) & Internet of Things(IoT)

Low-power wide-area network (LPWAN). In fact, LPWAN emerged in 2013 and not denoting any particular technological solution, it serves as a generic term to refer to a class of network technologies designed to communicate wirelessly over relatively long distances using lower power than in case of other networks, such as telephony, satellite communications or WiFi. These two major features, namely energy efficiency and wide signal coverage, not only give shape to the name of the technology but also make it the perfect match for the needs of the ever-evolving market of IoT applications[4]. These networks use low–power radio signals, such… Readmore

Implementing machine learning functions in ns-3 using mlpack

Why mlpack? In fact, there are two popular ways to incorporate AI/ML functionalities under ns-3. They are ns3-gym and ns3-ai. The following articles explained the way of installing and using them. Installing ns3-gym AI Model under Chroot Jail Installing ns3-ai Model under “chroot Jail” Even though both of the above two frameworks are good, they are somewhat bulk in nature. They will need a lot of dependencies. Most of the scholars who are using them will simply fail in one way or another during trying to install them and use them. In fact, in the above two methods, the AI/ML… Readmore

Using Arduino IDE for doing ESP8266 – WeMos D1 mini WiFi Projects

Note: This article is nothing but my experimental/learning log.  Since it is not related to any serious research or research simulation, no further support will be provided on this area. So, please do not ask any questions through e-mail regarding this article or related to this area – simply you will not get any answers from me.   In our previous article ” Using NODEMCU – ESP8266 Wifi with Arduino IDE for IoT Projects and Experiments.”, I explained the way of programming NODEMCU – ESP8266 Wifi Development Board. This article is nothing but my own learning log of doing the… Readmore

Using NODEMCU – ESP8266 Wifi with Arduino IDE for IoT Projects and Experiments.

Note: This article is nothing but my experimental/learning log.  Since it is not related to any serious research or research simulation, no further support will be provided on this area. So, please do not ask any questions through e-mail regarding this article or related to this area – simply you will not get any answers from me.   This article is nothing but my own learning log. For detailed information, one may follow the complete articles cited in the reference section particularly the one from[2].  This article follows the guidelines from[2] and explains the way of programming NODEMCU – ESP8266… Readmore

Secrets of Using Cryptography in ns-3 using Crypto++ Library

Crypto++ Library Crypto++[1]  is a free, open-source C++ library for cryptographic schemes originally written by Wei Dai and includes ciphers, message authentication codes, one-way hash functions, public-key cryptosystems, key agreement schemes, and deflate compression[2]. The library is now maintained by several team members and the community.  This library offers implementations for well-known and lesser-known schemes and algorithms. Below is a small list of well-known systems[2]. Diffie-Hellman Key Agreement Advanced Encryption Standard RSA Cryptography Elliptic Curve Cryptography Digital Signature Algorithm ElGamal Cryptosystem x25519 Key Agreement ed25519 Signature Scheme ChaCha20 Stream Cipher List of supported algorithms of Crypto++ version 8.8  as per[1]… Readmore

Installing and Using Cryptography under Linux using Crypto++ Library

Crypto++ Cryptography Library Crypto++[1]  is a free, open-source C++ library for cryptographic schemes originally written by Wei Dai and includes ciphers, message authentication codes, one-way hash functions, public-key cryptosystems, key agreement schemes, and deflate compression[2]. The library is now maintained by several team members and the community.  This library offers implementations for well-known and lesser-known schemes and algorithms. Below is a small list of well-known systems[2]. Diffie-Hellman Key Agreement Advanced Encryption Standard RSA Cryptography Elliptic Curve Cryptography Digital Signature Algorithm ElGamal Cryptosystem x25519 Key Agreement ed25519 Signature Scheme ChaCha20 Stream Cipher List of supported algorithms of Crypto++ version 8.8  as… Readmore

Starting a genuine research project and getting ready to get support for implementing it

In disciplines such as “Physics” and “Mathematics”, people dare to start a Ph.D degree.  But most of the people who are studying ‘Computer’ related sciences,  simply believe that they are ready to start a Ph.D degree, just after completing their master’s degree. This article explains the way of starting a genuine research/project for a scholarly research submission. This will explain when a student/scholar will be ready to get some research assistance from another person if he/she will be needing it. I mean, at the time of preparing your research proposal,  you will not able to present your ideas in a… Readmore

Steps for Installing Ubuntu & ns-3 under WSL  of Windows 10.

 This article explains the way of installing Ubuntu Linux and ns-3 network simulator under WSL2 of Windows 10 and doing ns-3 simulations under Windows 10.  In this procedure, we will install our choice of ns-3 version by installing the current ns-3-dev version and downgrading it to the lower ns-3 version of our choice. In this example, we will install ns-3.35 using ‘waf’ based compile process. One may check the following article for the  detailed procedure for installing WSL2 under Windows 10 Installing WSL2 Under Windows 10 and Running GUI Linux Apps. Installing WSL2 Under Windows 10  for doing ns-3 Simulations… Readmore

Installing WSL2 Under Windows 10 and Running GUI Linux Apps.

There are different ways to use a Linux application on windows. The popular methods are: Using Cygwin Environment Using MinGW/MinGW-64 Environment Using MSYS2 Environment Using Virtual Machines such as VirtualBox Using Windows Subsystem for Linux (wsl) Windows Subsystem for Linux is the best and most efficient way of running a Linux-based application under Windows. WSL2 can be installed on Windows 11 without much effort. Even we can readily run GUI Linux applications under WSL since Windows 11 has a built-in X-server component. The following article[3] explains WSL2 installation under Windows 11. Installing WSL2 Under Windows 11 and Running GUI Linux Apps.… Readmore

​​​​​​​Installing 5G nr and nr-u module on ns-3 under chroot

This article explains the way of installing  nr and nr-u modules on ns-3.35 under chroot-based Debian installation. This is nothing but a learning log of nr and nr-u module installation on ns-3.35. 5G New Radio(NR) 5G NR is a new radio access technology (RAT) developed by 3GPP for the 5G (fifth generation) mobile network. It was designed to be the global standard for the air interface of 5G networks[3]. 5G NR uses frequency bands in two frequency ranges[3]: Frequency Range 1 (FR1), for bands within 410 MHz – 7125 MHz Frequency Range 2 (FR2), for bands within 24250 MHz –… Readmore

Compiling SUMO Source Version Under WSL2 of Windows11-Ubuntu

SUMO(Simulation of Urban MObility) SUMO is an open-source, highly portable, microscopic and continuous multi-modal traffic simulation package designed to handle large networks. SUMO allows modelling of intermodal traffic systems including road vehicles, public transport and pedestrians.[3]. There are binary versions of SUMO available for 64bit Windows platform. So, you can easily install a suitable binary version for Windows 11. Even it is possible to compile SUMO under Windows 11 natively using Microsoft Visual Studio. But this procedure is for compiling SUMO from its original sources under Linux which was installed under WSL2 of  Windows 11. Cation: Those who are wishing… Readmore

Installing OMNet++ IDE Under new Windows11 Version Using WSL

The Windows Subsystem for Linux (WSL):  The Windows Subsystem for Linux (WSL) lets developers run a GNU/Linux environment — including most command-line tools, utilities, and applications — directly on Windows, unmodified, without the overhead of a traditional virtual machine or dual-boot setup[1]. Particularly, by using the latest version of WSL2 under Windows 11 one can effortlessly install ns-3 and NetAnim under Windows 11. Compiling the latest Linux-based simulation tool  OMNet++ using  (Cygwin, MinGW and MSYS2  will be a challenging task. Of course, some people successfully made it work but the rest of the people may fail to make it work… Readmore

Installing ns-3 and NetAnim Under New Windows 11 Using WSL2 

The Windows Subsystem for Linux (WSL):  The Windows Subsystem for Linux (WSL) lets developers run a GNU/Linux environment — including most command-line tools, utilities, and applications — directly on Windows, unmodified, without the overhead of a traditional virtual machine or dual-boot setup[1]. Particularly, by using the latest version of WSL2 under Windows 11 one can effortlessly install ns-3 and NetAnim under Windows 11. Compiling the latest Linux-based simulation tool  ns-3 using  Cygwin, MinGW and MSYS2  will be a challenging task. Of course, some people successfully made it work but the rest of the people may fail to make it work… Readmore

Installing WSL2 Under Windows 11 and Running GUI Linux Apps.

Even though the latest Linux distributions are user-friendly,  students and scholars tend to use Windows since they are only familiar with  Windows operating system and will find it difficult to install Linux natively for doing their research simulations.  Further, often they mistakenly crash their Windows machine while trying to dual-boot the system with Linux. and that may lead to severe data loss. There are different ways to use a Linux application on windows. The popular methods are: Using Cygwin Environment Using MinGW/MinGW-64 Environment Using MSYS2 Environment Using Virtual Machines such as VirtualBox Using Windows Subsystem for Linux Compiling the latest Linux-based… Readmore

Installing FLoRa under OMNet++ for doing IoT ADR Simulation. 

FLoRa – Framework for LoRa FLoRa (Framework for LoRa) is a simulation framework developed by Mariusz Slabicki, Gopika Premsankar for carrying out end-to-end simulations for LoRa networks. It is based on the OMNeT++ network simulator and uses components from the INET framework as well[1]. Features of FLpRa[3] FLoRa allows the creation of LoRa networks with modules for LoRa nodes, gateway(s) and a network server. Application logic can be deployed as independent modules that are connected with the network server. The network server and nodes support dynamic management of configuration parameters through Adaptive Data Rate (ADR). Accurate model of LoRa physical… Readmore

Installing OMNeT++ 6 on a 64-bit Debian 10 Under Chroot-Jail

This article explains the way of installing OMNeT++ 6 on a 64-bit Debian 10  Chroot-Jail which was set up under a Debian 11 Native installation. (A Debian 10 chroot jail environment that was set under Debian 11 Native installation)   For setting up a Debian 10 chroot jail, you may refer the following article : Installing Omnet++ in Debian 9 chroot Jail Under Debian 11 Host OS The above article explains the way of setting a Debian 9 chroot under Debian 11. We can set up a Debian 10 chroot in the same way on Debian 11 native installation. Step… Readmore

Installing 5G-Lena 3GPP-NR module on ns-3.36 under Debian OS

This article explains the way of installing 5G-Lena 3GPP-NR module on ns-3.36 under Debian OS. This is nothing but a learning log of 5G-Lena 3GPP-NR module installation on ns-3.36 . 5G New Radio(NR) 5G NR is a new radio access technology (RAT) developed by 3GPP for the 5G (fifth generation) mobile network. It was designed to be the global standard for the air interface of 5G networks[3].   5G NR uses frequency bands in two frequency ranges[3]: Frequency Range 1 (FR1), for bands within 410 MHz – 7125 MHz Frequency Range 2 (FR2), for bands within 24250 MHz – 52600… Readmore

Installation of Cognitive Radio Extension for ns-3 (CRE-NS3)

Cognitive Radio “Cognitive Radio is an intelligent wireless communication system. Each radio is contextually aware of the surrounding environment, is able to dynamically adjust its radio parameters and switch channels based on predefined policies. More specifically, a cognitive radio needs to be able to sense the medium and infer whether a Primary User is active, be able to make decisions as to whether to switch to a vacant channel and to which channel it should switch to, and communicate that information with surrounding radios so that the data can be resumed on the new spectrum.[1]”   In [5], Abdulla Al-Ali… Readmore

Cognitive Radio Cognitive Network(CRCN) Simulator for ns-2.

Cognitive Radio  “A cognitive radio (CR) is a radio that can be programmed and configured dynamically to use the best wireless channels in its vicinity to avoid user interference and congestion. Such a radio automatically detects available channels in wireless spectrum, then accordingly changes its transmission or reception parameters to allow more concurrent wireless communications in a given spectrum band at one location. [4]” CRCN Simulator As cognitive radio research is emerging, more and more researchers are looking forward to a simulator that is suitable for cognitive radio. In [5], they have developed a CRCN simulator with NS-2, and that… Readmore

Generating Genuine, Quality Tables & Graphs for Publication.

Based on my experience and interactions with lots of intelligent scholars from different parts of the world, I can definitely say that a Quality Table of results and a good set of analytical Graphs are more important for publishing a paper in a reputed journal and submitting a thesis to a reputed university. Of course, we may have a genuine concept or innovation for our research submission – but proving its goodness by comparing its performance with other similar methods is an important aspect in every research publication. While doing research on any kind of algorithms and models related to… Readmore

Greedy Perimeter Stateless Routing (GPSR) Extension for ns-3

Greedy Perimeter Stateless Routing (GPSR). In [2], the authors present Greedy Perimeter Stateless Routing. “It is a novel routing protocol for wireless datagram networks that uses the positions of routers and a packet’s destination to make packet forwarding decisions. GPSR makes greedy forwarding decisions using only information about a router’s immediate neighbors in the network topology. When a packet reaches a region where greedy forwarding is impossible, the algorithm recovers by routing around the perimeter of the region. By keeping state only about the local topology, GPSR scales better in per-router state than shortest-path and ad-hoc routing protocols as the number of network destinations… Readmore

Installing Castalia on OmNet++ for WSN and BAN  Simulations.

Body  Sensor Network A body area network (BAN), also referred to as a wireless body area network (WBAN) or a body sensor network (BSN) or a medical body area network (MBAN), is a wireless network of wearable computing devices[4].   Castalia Castalia is a simulator for Wireless Sensor Networks (WSN), Body Area Networks (BAN) and generally networks of low-power embedded devices[1]. It is based on an old OmNet++ version. The most recent version of Castalia (3.3) works with old versions of OmNet++ versions between 4.3 and 4.6. Note that the higher versions of OmNet++ are not compatible with Castalia.  It… Readmore

Possibility of Simulating 6G THz Terasim along with ms-van3t

Sixth-Generation Wireless (6G) 6G is the successor to 5G cellular technology. 6G networks will be able to use higher frequencies than 5G networks and provide substantially higher capacity and much lower latency, and the 6G internet is expected to launch commercially in 2030. [4]. One of the goals of the 6G internet is to support one microsecond latency communications. This is 1,000 times faster — or 1/1000th the latency — than one-millisecond throughput. Terasim[1] TeraSim is the first simulation platform for THz communication networks, which captures the capabilities of THz devices and the peculiarities of the THz channel[1]. It is provided… Readmore

Secrets of Using Fuzzy Logic in ns-2 using Fyzzylite Library

Why Software like Matlab should not be used for Designing and Testing a Network Protocol? The choice of using Matlab or similar tools for a Network Protocol-related research is not good, but some of the previous ‘fuzzy logic” based publications were based on Matlab only because of their inability to code it under good open-source simulators such as ns-2, ns-3 and Omnet++. Simulating “complex, networking aspects” under Matlab is not possible and will not be accurate while comparing it with ns-2 or ns-3. Of course, one can use Matlab for doing research related to “signal processing” components of a typical network… Readmore

Simulating Manhattan Grid Mobility Model for VANET with SUMO

The Manhattan mobility model is an urban-type of mobility model for vehicular ad-hoc networks (VANET) and it uses a “grid road topology[6]. SUMO has different tools for creating and customizing road networks and traffic flows and traffic signals. In this article, we will use some of those tools available in SUMO to generate a random Manhattan Grid road network with random traffic flows and traffic, signals.   The netgenerate Tool It is a tool/script that generates abstract road networks that may be used by other SUMO-applications. The  following command will generate a random road network and will save it in the… Readmore

Simulation of 5G Networks under Omnet++ and Simu5G simulator

Simu5G is the evolution of the popular SimuLTE 4G network simulator that incorporates 5G New Radio access[1]. It is based on the OMNeT++ framework, written in C++ and is fully customizable with a simple pluggable interface.  This article is nothing but a learning log. In this article, we will see the easiest way of doing 5G Network simulations using Omnet++ and Simu5G simulator using a readily available Virtual Machine appliance from [2].   Specifically, this article explains the way of using the  Simu5G-Cars PnP version of the virtual appliance on  Virtualbox.    Step 1 : Download the Virtual Machine appliance from [2] Download… Readmore

Installing the FlyNetSim Integrated UAV-Network Simulator under “chroot”

Generally, we can do FANET/UAV/DRONE simulations as mentioned in the following article :   Simulation of UAV based Search and Rescue Scenario with ns-3 FlyNetSim is somewhat different from the above kind of simulation. The official GitHub page of FlyNetSim states that the code was originally tested on an Ubuntu 16.04 system with network simulator version 3.27.  Of course, installing some old version of software on a new Linux variant may end up with a lot of software version compatibility issues. Further, installing FlyNetSim under virtual machines also may lead to poor performance. So we try to install FlyNetSim on a… Readmore

Installing Aquasim & Aqua3D on an old Linux under VirtualBox

Some of the old ns-2 versions and even some very old ns-3 versions can only be installed on an older Linux variant because of the gcc and gcc-lib compatibility issues. Installing such old Linux variants under the latest hardware also raises a lot of issues related to driver components. In such cases, we may opt to install that old operating system using virtualization solutions such as “VirtualBox”, “VMware”, “Microsoft Virtual PC” etc.,. This article explains the way of installing Aquasim and Aqua3D on an old Linux OS under VirtualBox. We choose to use 64bit Lubuntu 16.04-LTS as a guest OS… Readmore

Installing an old Linux under VirtualBox and using Shared Folders.

Some of the old ns-2 versions and even some very old ns-3 versions can only be installed on an older Linux variant because of the gcc and gcc-lib compatibility issues. Installing such old Linux variants under the latest hardware also raises a lot of issues related to driver components. In such cases, we may opt to install that old operating system using virtualization solutions such as “VirtualBox”, “VMware”, “Microsoft Virtual PC” etc.,. This article explains the way of installing VirtualBox in a Debian Host OS and installing an old Linux OS under VirtualBox. We choose to use 64bit Lubuntu 16.04-LTS… Readmore

Secrets of Using Fuzzy Logic in ns-3 using Fyzzylite Library

In fact, using ‘waf’ based ns-3 compile, we can easily add an external library and use it in our ns-3 simulations. Doing the same under CMake is a little bit different thing. This article shows a simple ‘waf ‘based compile and an easy unique way of doing that in CMake based ns-3 compile process that uses an external fuzzy logic library along with ns-3-dev. Fuzzylite Fuzzylite[1] is an excellent, rich library that contains almost all the concepts of fuzzy logic that you may see in a text book. As presented in [1], the FuzzyLite library have the following features: Controllers:… Readmore

Doing Software-Defined Networking(SDN) Simulation under ns-3

The default ns-3 will contain OpenFlow extension module. But to use that module, we have to install a suitable version of OpenFlow switch library (as an external library) and have to enable it while configuring ns-3 with the OpenFlow extension. After that, only the  ns-3  will get compiled successfully with OpenFlow module. The default ns-3 version of  OpenFlow module only has limited support. So, for advanced SDN simulations, we will need to install an entirely new OpenFlow switch module version 1.3 called as ‘OFSwitch13″ (-libns3ofswitch13.a) and have to install the suitable ns-3 extension code ofswitch13, to use that library to… Readmore

Configuring Visual Studio Code for ns-3 Under chroot Jail

Visual Studio Code (VS Code) is an open-source source-code editor made by Microsoft for Windows, Linux and macOS[1]. It has the support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, embedded Git and having rich and freely available extensions. Since I am using VS Code under chroot jail, we need to setup chroot jail and install VS Code as well  as ns-3 under that chroot jail. If you’re  not yet installed VS Code and ns-3, then you may complete the installation using the following two  procedures. In the following article, we already mentioned the way of setting up… Readmore

Installing ns-3-dev Under chroot Jail and Compile with CMake

In a previous article, we explained the way of installing ns-3.35 under chroot jail. But installing ns-3-dev, in the same way, is not possible under chroot jail because, ns-3-dev  configure and compile process will not allow running configure and compile script ‘ns3’ as root user which is the default user privilege under chroot. In this article, we will see a trick to install ns-3-dev under chroot-jail The following article explains a chroot jail based installation of ns-3.35. Installing ns3.35 in Debian 10 chroot Jail Under Debian 11 Host OS or any Version of Linux Host   That article explained the… Readmore

Installing VS Code under chroot and configuring it for ns-3

Visual Studio Code (VS Code) is an open-source source-code editor made by Microsoft for Windows, Linux and macOS[1]. It has the support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, embedded Git and having rich and freely available extensions. Caution: The default user of chroot environment will have root access to the entire file system under the chroot jail. But, it is not advised to use VS Code as the root user. For the same reason, while staring VSCode, it will just exit by displaying the following message : “You are trying to start Visual Studio Code as… Readmore

Simulation and Analysis of IoT LoRaWAN Networks Under ns-3

Low-power wide-area network (LPWAN). These networks use low-power radio signals, such as those in the sub-1 GHz range, to send small amounts of data over a large area. LPWANs are used in applications such as wireless sensor networks(WSN), smart energy, smart cities, and the Internet of Things (IoT). They are also used to connect devices in remote locations that don’t have access to reliable internet connections. LPWANs are ideal for applications that require low data rates, long battery life, and low cost. Examples of LPWANs include Sigfox, LoRaWAN, and Weightless. LPWANs are commonly used in applications including Smart metering, smart lighting, asset… Readmore

Creating Random Road Network, Traffic Flows, Signals in SUMO

SUMO has different tools for creating and customizing road networks and traffic flows and traffic signals. In this article, we will use some of those tools available in SUMO to generate a random road network with random traffic flows and traffic, signals.   The netgenerate Tool It is a tool/script that generates abstract road networks that may be used by other SUMO-applications. The  following command will generate a random road network and will save it in the file Random.net.xml .   $ netgenerate –rand -o Random.net.xml –rand.iterations=70 The following screenshot shows the successful creation of the road network.   The … Readmore

ns-3 Drone Display Simulation using ns-2 Mobility Trace File

Even though I am not civilized enough to say “wish messages” to people, let me try to deliver a “Happy New Year”  wish message to the members of  ns-3 user group and the ns-3 developers in an ns-3 way. Drone Display A drone display (also known as a drone show) is the use of multiple unmanned aerial vehicles (drones), often quadcopters, flying in a coordinated fashion for public display. They are usually equipped with LEDs, and the display is held at night[1]. Text2PixelMobilityModel From ns-2/ns-3’s point of view, we can call this Text2Pixel operation as a custom mobility model called… Readmore

Testing the New Semi Random Circular Mobility Model of ns-3.

SRCM – Semi Random Circular Mobility Model of ns-3 While trying to raise my own merge request for my Simple Circle Mobility Model, on GitLab, I saw another merge request with an interesting, new mobility model called SRCM – Semi Random Circular Mobility Model[1]. Even though this model may be available with the future ns-3-dev version (that merge request is still in progress as on 21-12-2021). The original concept of this model can be found in [2]. In this article, we will test this interesting mobility model in a FANET simulation scenario.  For the better visualization of 3D capabilities of… Readmore

My First Experience on Raising a ns3-dev Merge-Request at GitLab

In this post, I want to share my first experience on ‘Raising a simple merge request at GitLab’ at https://gitlab.com/nsnam/ns-3-dev/-/merge_requests You may find that specific request at – A Simple CircleMobilityModel (3D) for ns-3. Contributing to ns-3 In fact, I want to incorporate the simple CircleMobilityModel that I developed for ns-3 with the ns-3-dev; so that the future distributions of ns-3 will contain my mobility model in the default installation of ns-3. You may find the internal mechanism of my CircleMobilityModel in the following post : Implementation of Circle Mobility Model for ns-3 and Visualizing it in 3D   I tried… Readmore

Ns-3 – Is it a Network Simulator or a Network Simulation(/Simulator) Library?

I started to discuss problems in understanding ns-3 in the article “What Makes ns-3 a Complex Thing to Understand and Use? “.  I received answers and valuable comments from the ns-3 Users and Developers. So, that post/article became a little bit big and its bigness started to reduce the overall readability of that article. So, I decided to post a separate Article on a very important issue (for me) that was realized during my discussion with experts.   Is ns-3 a Network Simulator or a Network Simulation(/Simulator) Library? This question is important because, 15 years ago, when I first tried to… Readmore

What Makes ns-3 a Complex Thing to Understand and Use? 

While starting to learn ns-3, most of us find it very difficult to understand. Particularly, if the student is already familiar with ns-2 or Omnet++ then it will even become much harder for him to understand/grasp ‘what ns-3 really is’.  The student’s or scholar’s preconceived expectation in a simulator will make him misunderstand ns-3. Another major obstacle/misconception in using ns-3 is the way in which Python is frequently used along with C++. (Thank Mr Tom Henderson for announcing recent news regarding the removal of python bindings from ns-3 -because it will reduce some of these obstacles ) Of course, the… Readmore

Message Flooding Simulation Under Wireless Network using ns2

Flooding is a reliable mechanism to forward a message in a wired or wireless network. There are generally two types of flooding available, uncontrolled flooding and controlled flooding.[1] In uncontrolled flooding each node unconditionally distributes packets to each of its neighbours. Without conditional logic to prevent indefinite recirculation of the same packet and may lead to broadcast storms. On  the other hand, Controlled flooding has its own logic to make it muchreliable, The Message Flooding Algorithm The following steps explain a simple message flooding logic: The  Flooding algorithm starts with a source node broadcasting a packet to all its neighbours… Readmore

Installing ns2.35(ns-allinone-2.35) Under Debian chroot Jail

“Ns-2 began as a revision of ns-1. From 1997 to 2000, ns development was supported by DARPA through the VINT project at LBL, Xerox PARC, UCB, and USC/ISI. “[1]. Even though there is no official development activity now on ns-2, still a lot of students and research scholars using ns-2 for their projects and research works. People still use ns-2 because of the rich availability of several protocols and applications that are implemented to cover a lot of research areas of the Network. Originally, ns-2 was developed on decade-old Linux systems that used very old versions of GCC compiler and… Readmore

Installing ns3-gym AI Model under Chroot Jail

ns3-gym is the first framework for RL research in networking[4]. It is based on OpenAI Gym, a toolkit for RL research and ns-3 network simulator. Specifically, it allows representing an ns-3 simulation as an environment in Gym framework and exposing state and control knobs of entities from the simulation for the agent’s learning purposes. This framework is generic and can be used in various networking problems.  The toolkit is provided to the community as open-source under a GPL license. The right-side figure from [4] shows the architecture of ns3-gym  framework. One may refer [4] for more details about this architecture… Readmore

Trace Analysis of TCP Flows Under ns-3 MANET/ FANET/ VANET/ WSN Scenario

Simulation of Simple 3D FANET with TCP flows under ns-3 In this example, we simulate TCP flows in a FANET scenario, but the same idea can be implemented on a MANET or VANET or WSN and other scenarios also. This simulation is little bit modified version of our previous simulation that you may find at the following link: Real-time Visualization of TCP cwnd, rtt, rto and ssthreshold Dynamics of a 3D FANET Scenario This is only a prototype simulation to make one to understand the TCP dynamics with some visualization. But a practical analysis will need more nodes and more cross-traffic… Readmore

Installing ns3-ai Model under “chroot Jail”

Using AI/ML algorithms with ns-3.  If we want to implement  AI algorithms in your custom network protocol/application under ns-3, then the direct way is to incorporate an existing  AI/ML/DL framework with it. If it will be an AI/ML C++ based framework, then it can be incorporated with the C++ code of ns-3. But the existing AI/ML frameworks are huge and getting rapidly improving over time.  Further, there are popular frameworks that are based on python and make it hard to merge with ns-3 natively. So instead of directly incorporating such huge AI/ML frameworks with ns-3, ‘ns3-ai Model’ provides a way… Readmore

Installing ms-van3t – A Multi-Stack VANET Framework for ns-3

Introduction to “ms-van3t”. “ms-van3t” is a Multi-Stack VANET Framework module developed for ns-3. This module can be used to build and simulate ETSI-compliant VANET (V2X) applications using SUMO and ns-3[1]. As per its documentation, ms-van3t currently supports two stacks/communication technologies for V2I/V2N: 802.11p, communicating, for instance, with a Road-Side Unit LTE, for V2N communications The ms-van3t team confirms the existence of the following features in this ns-3 extension. 802.11p, LTE and C-V2X access technology models Emulation mode through fd-net-devices Possibility of removing SUMO from the loop and using real GPS trace to manage mobility A couple of applications to showcase… Readmore

Implementation of Spring Mobility Model for ns-3 and Visualizing it in 3D along with Circle Mobility

Spring Mobility Spring mobility is nothing but making a node to move in a path similar to that of an expanded circular coil spring. From the top or bottom point of view, the movements of the nodes will just look like circle mobility. But if we view the scenario from any other direction, then it will show the node ascending or descending in a path similar to that of a circular coil spring,  For example, in this example scenario, even though all the three planes seem to be roaming in a circular path, one plane (white) is descending to the… Readmore

Implementation of Circle Mobility Model for ns-3 and Visualizing it in 3D

Mobility Models of ns-3. The default ns-3 installation will contain the following mobility models. MobilityModel Subclasses ConstantPosition ConstantVelocity ConstantAcceleration GaussMarkov Hierarchical RandomDirection2D RandomWalk2D RandomWaypoint SteadyStateRandomWaypoint Waypoint   PositionAllocator Position allocators are used at the beginning, to set the layout of the nodes’ initial position. However, some mobility models will use a position allocator to pick new waypoints. ListPositionAllocator GridPositionAllocator RandomRectanglePositionAllocator RandomBoxPositionAllocator RandomDiscPositionAllocator UniformDiscPositionAllocator But, we can not simulate circular movements using any of the above models. But sometimes, a simulation may need a node to move in a perfectly circular path.  The 3D output demonstrates two types of mobility models.… Readmore

3D Aquatic Animal Tracking Underwater Network Simulation (UWSN) Under ns-3

Aquatic Animal Tracking: Tracking marine animals can be extremely tricky due to GPS signals not functioning well underwater[1]. Underwater acoustic communication is a technique of sending and receiving messages below water. There are several ways of employing such communication but the most common is by using hydrophones. Underwater communication is difficult due to factors such as multi-path propagation, time variations of the channel, small available bandwidth and strong signal attenuation, especially over long ranges. Compared to terrestrial communication, underwater communication has low data rates because it uses acoustic waves instead of electromagnetic waves. Acoustic communications are the typical physical layer… Readmore

Installing ns3.35 in Debian 10 chroot Jail Under Debian 11 Host OS or any Version of Linux Host

Problems that we face during installing ns-3 under Native and Virtual Hardware/OS: The  most common issues that we may face under native hardware are: The Unix/Linux variant operating system(host OS) that is previously installed in the native hardware will not support or will not have the necessary version of GCC and other dependent packages that are needed to compile ns3.35 and NetAnim successfully. Further, if we try to install the necessary version of GCC and other dependent packages under the host operating system, then it may raise some package conflicts; so some of the software that is previously installed in… Readmore

Simulating and Visualizing 3D Underwater Wireless Sensor Network (UWSN) Under Omnet++

Underwater Wireless Sensor Networks (UWSN) UWSNs is usually made up of autonomous vehicles and individual sensor nodes that implement monitoring operations as well as storing and forwarding operations to route the data  that have been collected to a  sink node.   Acoustic communications are the typical physical layer technology in UWSNs as other mediums are not feasible to be used in the underwater environment, such as radio waves and optical waves. Each of these sensor nodes is equipped with an acoustic modem and being deployed manually or randomly in deep or shallow water based on their application requirement.  However, there… Readmore

Simulating And Visualizing 3D Aerial Ad-hoc Network (AANET) and Flying Ad-hoc Network (FANET) Under ns-3

Unmanned Aerial Vehicle (UAV)  Unmanned Aerial Vehicle (UAV)  networks play important role in the future generations of wireless networks. Due to the high cost and failures involved in real system based tests,  simulation-based studies are gaining much attention. The Aerial Ad-hoc Network (AANET) :  The term AANET is interchangeably used to denote Aerial Ad hoc Network,  Aircraft Ah hoc Network and  Aeronautical Ad hoc Network. Aerial Ad hoc Network (AANET) is a particular type of three-dimensional (3D) wireless ad hoc network. And alternatively, the term FANET is used to denote a Flying Ad hoc Network in general. The Flying Ad-hoc… Readmore

ns-3 Simulation Script Demystified

Constituents of an ns-3 Simulation Script. ns-3 provides support for very detailed simulation of different kinds of network-related problems and has a lot of features for simulation, analysis, and visualization. So, a typical  ns-3 simulation code may be a little bit confusing for a beginner. To understand an ns-3 simulation script, we have to be familiar with most of the possible  Constituent parts of an ns-3 Simulation Script. Generally, an ns-3 Simulation script  may contain sections or lines of code corresponding to the following: Few lines of code to Include necessary header files. Defining log component corresponding to our simulation… Readmore

Contact Charles

+1 222 333 2132

23 Salient Road, London, United Kingdom, PO-LDN 123
+1(555)666.777.8888