Authors: Rayan Ben Tanfous, Ilhan Kapcik, Daniel Yu
Decentralized applications like peer-to-peer chat systems rely on stable network infrastructure. This project tests whether such applications work reliably in ad hoc networks with high churn, bandwidth limitations, and delays.
Solution Approach: A emulation environment that:
- Provides network interfaces with assigned IP addresses
- Simulates data traffic between Docker containers
- Models realistic network behavior (churn, latency, bandwidth constraints)
The emulation environment is built on OMNeT++ (or NS-3) with the INET Framework and integrates network emulation with real applications (Python scripts, Docker containers):
┌─────────────────────────────────────┐
│ Docker Container / Python Script │
│ (Decentralized Application) │
└────────────┬────────────────────────┘
│
Tap-Interfaces
↓
┌─────────────────────────────────────┐
│ OMNeT++ or NS3 Emulation Environment│
│ - Ad hoc Network (INET Framework) │
│ - Simulate Network Effects │
│ │
└─────────────────────────────────────┘
│
↓ Network emulation
[Node A] ←→ [Node B] ←→ [Node C]
- OMNeT++ 5.x or higher
- INET Framework
- Python 3.x (for client testing)
- NS3
- Linux OS (Tap Interfaces)
- Open project:
cd Projects/ - Read Instructions:
cat Readme.md
The project is not yet functional and is still under development. Under Projects, we have many tutorials that are not directly related to the problem.