Git Product home page Git Product logo

3d-ntn's Introduction

3D-NTN

This repo is intended for deploying a Resilient 5G Non-terrestrial 3D Network by using Free5GC as a 5G core, OpenSand as a satellite emulator, and UERANSIM as a radio access emulator. All the components are deployed in a docker-compose environment as docker containers.

Free5GC core

  • Emulate a 5G core network by building components in a distributed way with Service Based Interface (SBI) subnet 192.168.0.0/24.
  • All the 5G core components can be built executing the shell file build_core.sh in the directory /home/vagrant/3D-NTN/build_images/build_core.sh.
  • For registering the user equipment into the MongoDB database, we used a container that registers UE directly into the database without using WebUI for simplicity.

OpenSand emulator

  • The OpenSand satellite emulator consists of three components, Satellite, Gateway, and Terminal.
  • These components are built as a docker container from the directory, /home/vagrant/3D-NTN/build_images/opensand-simulator/opensand.

UERANSIM

Is used to build docker images for gNB and UE. Running a shell file build_ran.sh in the directory /home/vagrant/3D-NTN/build_images/build_ran.sh will build the gNB and UE.

Instructions

Clone repository in an environment where docker and docker-compose are pre-installed.

Build the docker images:

For 5G core
cd /home/vagrant/3D-NTN/build_images
./build_core.sh
For OpenSand
cd /home/vagrant/3D-NTN/build_images/opensand-simulator/opensand
From this directory, all the components are built when running the docker-composeSat.yaml file.
For UERANSIM
cd /home/vagrant/3D-NTN/build_images
./build_ran.sh

The deployed network topology is shown below below:

Before executing the network after building the images,

  • Install GTP5G for the Free5GC UPF to enable the GPRS Tunnelling for a 5G-based network. Run the file ./installgtp5g.sh
  • Install Docker and docker-compose

Run experiments

  • As the figure above shows, two networks are linked together, namely the terrestrial and the satellite network.

  • The docker-composeTer.yaml file consists of the terrestrial connection. While the docker-composeSat.yaml comprised both the satellite and terrestrial networks.

  • For the experimnet, we can use the docker-composeSat.yaml file with few rearrangements.

  • To run the terrestrial network, disable the satellite network components by commenting the following containers, upfMec (UPF attached to the satellite terminal), gnbSat (Satellite connected gNB), gateway, satellite, terminal, and uesat

  • The after doing the above step, running the docker-composeSat.yaml file will result in the following containers to function:

  • And for satellite-based network deployment, uncomment the above docker containers and comment the terrestrial component containers such as ueter, gnbTer, upfTer and execute the docker-composeSat.yaml file.

  • The result of the satellite service deployment is shown in the below figure:

3d-ntn's People

Contributors

henokberhanu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.