Home / Companies / Daily / Blog / Post Details
Content Deep Dive

Using Docker and userspace networking to simulate real-world networks

Blog post from Daily

Post Details
Company
Date Published
Author
Vanessa Pyne, Max Rottenkolber
Word Count
1,035
Language
English
Hacker News Points
-
Summary

Daily provides real-time video and audio APIs to help developers build and iterate on their apps quickly and efficiently. However, creating a reliable real-time communication product requires adapting to diverse network conditions. To address this challenge, Daily created Synthetic Network, a tool that simulates arbitrary network conditions using Docker and packet processing in userspace. The tool ships as a Docker image containing a Rust program that forwards packets between two Linux network interfaces, introduces artificial latency, bandwidth limits, packet loss, and jitter, as well as a frontend that exposes a JSON API and a Web UI to configure synthetic network conditions. Developers can derive an image from Synthetic Network and add their application to test under varying network conditions. The tool also includes a Chrome-on-Syntheticnet container example, which allows users to test web applications under arbitrary network conditions using VNC. Additionally, Synthetic Network provides scripting and automated testing capabilities through a JavaScript library that wraps the JSON API in a programmatically friendly object, enabling developers to automate their network testing.