Hypatia - LEO Satellite Network Simulator
Hypatia is an open-source, comprehensive simulation framework specifically designed for analyzing and modeling Low Earth Orbit (LEO) satellite networks. Its primary purpose is to enable researchers and engineers to understand the complex, dynamic behavior of LEO constellations by pre-calculating network state over time, facilitating detailed packet-level simulations, and providing insightful visualizations. The framework was introduced and utilized in the academic paper "Exploring the “Internet from space” with Hypatia," published in the Internet Measurement Conference (IMC) 2020, serving as a robust tool for reproducible research in the field of satellite networking.
Core Components and Capabilities
Hypatia is built around four distinct yet interconnected modules, each addressing a critical aspect of LEO satellite network simulation:
- satgenpy: This Python-based framework is responsible for generating the LEO satellite network topology and calculating routing paths over a specified period. It handles the intricate orbital mechanics and inter-satellite link formations, providing a dynamic network graph that evolves with time. Beyond generation,
satgenpyincludes various analysis tools to study specific network characteristics and individual case scenarios. It leverages a suite of scientific Python libraries, includingnumpyfor numerical operations,astropyandephemfor astronomical calculations,networkxfor graph theory,sgp4for satellite propagation,geopyfor geocoding,matplotlibfor plotting,statsmodelsfor statistical modeling,cartopyfor geospatial data visualization, andexputilfor experiment utilities.satgenpyis released under the MIT License. - ns3-sat-sim: This module extends the popular ns-3 network simulator to perform packet-level simulations on LEO satellite networks. It consumes the network state data, including satellite locations and routing tables, generated by
satgenpy. The simulation environment integrates thesatellitens-3 module by Pedro Silva for precise satellite location tracking and thebasic-simns-3 module to simplify the setup of end-to-end TCP flows and other network traffic scenarios. The module relies on Python for scripting and analysis (e.g.,numpy,statsmodels,exputil) and utilizes external packages like OpenMPI for parallel processing,lcovfor code coverage, andgnuplotfor data visualization.ns3-sat-simis licensed under GNU GPL version 2. - satviz: Dedicated to visualization,
satvizprovides a Cesium-based pipeline for generating interactive 3D visualizations of the simulated satellite networks. By generating CesiumJS code, it allows users to explore the dynamic LEO environment, observe satellite movements, link formations, and data paths over time. Access to the Cesium online API requires a user-obtained Cesium access token. This visualization capability is crucial for gaining an intuitive understanding of complex spatio-temporal dynamics inherent in LEO constellations.satvizis also released under the MIT License. - paper: This component comprises the experimental and plotting code specifically used to reproduce the findings and figures presented in the original IMC 2020 paper. It serves as a practical example and tutorial for Hypatia's capabilities, demonstrating how to set up, run, and analyze simulations. It utilizes modules such as
satgenpy,numpy,networkload, andexputil, withgnuplothandling most of the plotting tasks. This module is licensed under the MIT License.
Workflow and Technical Foundation
The Hypatia framework operates on a sequential workflow, where satgenpy first establishes the foundational network dynamics, including satellite orbits, inter-satellite links, and routing paths. This pre-calculated state is then fed into ns3-sat-sim, enabling high-fidelity packet-level simulations that accurately reflect the evolving network topology. Finally, satviz takes the simulation outputs to generate interactive visual representations, offering deep insights into network performance, latency variations, and link utilization patterns.
Technically, Hypatia is designed to run on a Linux operating system (e.g., Ubuntu 18+) with Python version 3.7 or higher. Its modular design and reliance on established scientific and networking libraries like ns-3, numpy, and Cesium ensure both robustness and extensibility. The project emphasizes reproducibility, providing clear instructions for system setup, dependency installation, module building, and test execution.
Target Audience and Applications
Hypatia is an invaluable resource for a diverse audience within the satellite and connectivity industry:
- Researchers and Academics: Ideal for studying the performance characteristics of LEO constellations, evaluating novel routing algorithms, assessing network resilience, and exploring the implications of different constellation designs.
- Network Architects and Engineers: Provides a tool to model and analyze the behavior of proposed LEO network architectures before physical deployment, aiding in design optimization and capacity planning.
- Students: An excellent platform for learning about LEO satellite communication principles, network simulation, and data visualization techniques in a practical, hands-on environment.
By offering a complete pipeline from network generation to packet-level simulation and interactive visualization, Hypatia facilitates a deeper understanding of the "Internet from space" concept and the operational challenges and opportunities presented by LEO satellite technology.
Related Resources
OpenSN - Open Satellite Network Library
Open-source library for emulating large-scale LEO satellite networks using container-based virtualization. Designed for reproducible satellite networking research.
DataMiner Starlink Connector
DataMiner Services catalog connector for Starlink integration into network management and monitoring systems.
Starlink Satellite Trace Tracker
Python project for tracking and visualizing real-time Starlink satellite communications with your dish. Identifies which satellite is currently in line-of-sight connection.