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 orbits. This makes them suitable for applications that require real-time or near-real-time communication, such as voice and video calls, gaming, and certain types of data transmission.
- Global coverage: LEO satellite networks can provide global coverage by deploying multiple satellites in a constellation. As the satellites orbit the Earth, they move across different geographical regions, ensuring that there is always a satellite within range to provide connectivity.
- High bandwidth potential: LEO satellite networks have the potential to offer high bandwidth capacity, enabling the transmission of large volumes of data. This is particularly beneficial for applications that require high-speed data transfer, such as high-definition video streaming, large file transfers, and data-intensive IoT devices.
- Scalability and flexibility: LEO satellite networks can be designed with scalability in mind. By adding more satellites to the constellation, the network’s capacity and coverage can be expanded. Additionally, the relatively short orbital periods of LEO satellites allow for flexibility in repositioning and reconfiguring the network to adapt to changing communication demands.
LEO satellite networks have gained significant attention and interest in recent years, particularly for applications such as global broadband internet access, remote sensing, and Internet of Things (IoT) connectivity. Companies like SpaceX with their Starlink project and OneWeb are actively deploying LEO satellite constellations to provide global broadband services.
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 mega-constellations. The initial goal of that project has been to create a simulation environment in which existing routing protocols from the Wireless Sensor Network (WSN) and Mobile Ad-hoc Network (MANET) areas can be evaluated in these types of networks.
To show its capabilities, they performed simulations of the planned satellite constellations of Starlink and Telesat based on publicly available parameters. Through simulations of Ad hoc On-demand Distance Vector Routing (AODV), they were able to gain valuable insights into the unique challenges presented to these protocols by satellite networks. ns-3-leo is a much-needed extension for supporting the development of protocols fulfilling the needs of satellite constellations[1].
Installing ns-3 and ns-3-leo module
Step 1: Install a suitable version of ns-3
You may install a suitable version of ns-3 such as ns-3.35 as explained in the following article
Step 2: Clone ns-3-leo module
You may clone the ns-3-leo project form [2]
$ cd /home/your_home/ns-3.35/src $ git clone https://gitlab.ibr.cs.tu-bs.de/tschuber/ns-3-leo.git
Configure and Compile ns-3 as follows :
$ cd /home/your_home/ns-3.35/ $ ./waf configure --enable-examples $ ./waf
Now the ns-3 start to compile with ns-3-leo module. But, probably will end with some missing ns-3-leo header error message.
To avoid that, you should do the following :
Again, re-configure and re-compile ns-3 as follows :
$ cd /home/your_home/ns-3.35/ $ ./waf configure --enable-examples $ ./waf
Now you will end up with the following error :
You have to do the following to resolve that error :
Now ns-3 will get compiled successfully with the ns-3-leo module.
The following screenshot shows the successful compilation of ns-3 with leo module.
Run the sample simulation as follows:
$ ./waf --run=leo-circular-orbit-tracing-example
You may end up with errors like the following:
You may avoid this error by doing the following and running the script again.
Now the simulation will run successfully and will end with the following terminal outputs:
Running Leo with MPI support
3D Visualization of the Satellite Network
It is possible to visualize the network scenario like below as explained in [1]
The above is a still image from[1] a 24 hours sped-up animation of the Starlink constellation. (Airports in the USA are shown in green as an example of areas with a high population density).
Conclusion
ns-3-leo is a simple, fine extension for simulating leo satellite networks under ns-3.
Further, it is possible to visualize the simulated network in a better way.
It is possible to visualize a Satellite Networks in 2D and 3D as shown below :
The following is an interesting possibility to visualize the same scenario with NetSimulyzer.
We may explore the possibilities of 2D and 3D visualization of Satellite Networks in the following article.
Visualizing ns-3 LEO Satellite Network using NetSimulyzer 3D
It is possible to run complex simulations for scholarly research work and get good, attractive analytical graphs for a research publication as explained in the following article:
Generating Genuine, Quality Tables & Graphs for Publication.
References :