netstack.fm

WebRTC and Sans IO with Martin Algesten


Listen Later

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
View all episodesView all episodes
Download on the App Store

netstack.fmBy Plabayo BV