Multi-Hop Drone Forwarding
An ns-3 simulation that decides when to deploy a relay drone between a moving user and a fixed access point, based on packet loss.
2025 · Networking · in progress
Group project for Advanced Systems Software at the University of
Pittsburgh, with Luke Haidze and Vlad Bordia. Built
on top of ns-3.
The scenario
A single user is moving at a constant rate while exchanging packets with a fixed wireless access point. As the user moves out of range, throughput degrades and packets start getting lost. At some threshold the simulator spawns a second access point — meant to model a drone — positioned roughly midway between the user and the original AP, and packets start being forwarded through the relay.
What we're trying to learn
Two questions:
- When should the drone deploy? Packet loss is the obvious trigger, but there are alternatives — RSSI thresholds, jitter, application-layer acks. We're comparing them.
- Where should the drone sit? Equidistant is the natural default, but the right answer depends on transmit power, interference, and whether the user is still moving.
A secondary question is whether the same pattern generalizes to n hops — multiple drones forwarding for a fast-moving user — and at what point the overhead of the relay graph outweighs the signal gain.
Build
ns-3 is not vendored. Local layout assumes ns-3-dev/ sits beside this
repo and run_sim.sh invokes the simulator from there.
C++ns-3Bashns-3wirelessrelaysimulation