netstack.fm

WebRTC and Sans IO with Martin Algesten

netstack.fm

Show Notes

episode 16 — WebRTC and Sans IO with Martin Algesten.

We sit down with Rust developer Martin Algesten for a deep dive into WebRTC and the Sans IO approach to protocol design. Martin traces the surprising origins of WebRTC, explains why real time media over UDP is both powerful and painfully complex, and walks through how peer to peer connections work under the hood. The conversation then shifts to Sans IO design, why it matters for clean protocol implementations in Rust, and how Martin applies it in his own WebRTC stack, str0m.

Learn more:

https://github.com/algesten — Github profile of Martin Algesten https://github.com/algesten/str0m — A Sans I/O WebRTC implementation in Rust https://github.com/algesten/dimpl — DTLS 1.2 implementation (Sans‑IO, Sync) https://datatracker.ietf.org/doc/rfc8489/ — Session Traversal Utilities for NAT (STUN) https://datatracker.ietf.org/doc/rfc8656/ — Traversal Using Relays around NAT (TURN) https://www.w3.org/TR/webrtc/ — WebRTC: Real-Time Communication in Browsers

Rama

If you like this podcast you might also like our modular network framework in Rust: https://ramaproxy.org

Chapters

00:00 Intro 00:40 Get to know Martin Algensten 06:16 A bit of WebRTC history 09:38 WebRTC 101 30:05 P2P and Stun 36:00 WebRTC: stages and flow from start to finish 45:43 How Martin got into WebRTC and started the str0m project 52:36 What is Sans IO? 01:06:36 Why DTLS is not Sans IO in Str0m, but Str0m is 01:18:34 Outro

Netstack.FM

More information: https://netstack.fm/#episode-16 Join our Discord: https://discord.gg/29EetaSYCD Reach out to us: [email protected] Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj

More from netstack.fm

May 26, 2026

Episode 38: Building and testing network stacks with Rama. In this Protocol Shorts episode of Netstack.fm, Glen talks with Brecht Stamper about Rama, the modular Rust framework for building clients, servers, proxies, and other network systems. Brecht shares how he came to understand Rama’s core idea that everything is a service, and why that simple input to output contract makes it easier to compose complex stacks without constantly inventing new traits or glue code.

May 5, 2026

episode 37: dial9: from black box to insight in Tokio.

Apr 25, 2026

Episode 36 – Protocol Shorts: WireGuard

Apr 15, 2026

Remaster of: Season 1 · Episode 3 — OpenTelemetry, eBPF, and Metoro

Apr 9, 2026

Remaster of: Season 1 · Episode 5 — Tokio with Carle Lerche

See all episodes →