WebRTC
The browser standard for direct peer connections carrying audio, video, and arbitrary data.
WebRTC is the set of browser APIs enabling direct connections between peers, carrying media streams or arbitrary data channels. It is what makes browser-based video calling and serverless collaborative applications possible without a plugin.
Establishing a connection is the complicated part, and it is why WebRTC is never quite as decentralized as it sounds. Peers must exchange connection descriptions and candidate network paths before any direct link exists, which requires a Signaling Server. Because most peers sit behind network address translation, they use a STUN server to discover their externally visible address, and when a direct path is impossible they fall back to relaying through a TURN server — which carries all the traffic and is therefore the expensive piece of infrastructure the architecture was meant to avoid.
For data rather than media, the data channel is the useful surface: reliable or unreliable, ordered or unordered, and a natural transport for a replicated document type.
The practical caution for anything built on public signaling infrastructure is that its availability is not yours to control. A shared public signaling endpoint can be down, and an application depending on it should say so plainly rather than appearing broken. Running your own is a small service and eliminates the dependency.
See also3
Signaling Server
The small coordination service peers use to find each other before connecting directly.
Networks & Distribution10 connections
Peer-to-Peer
An architecture where participants communicate directly rather than through a central server.
Networks & Distribution13 connections
Conflict-Free Replicated Data Type
A data structure whose replicas can be edited independently and always converge without coordination.
Networks & Distribution12 connections
Related5
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from14
- Conflict-Free Replicated Data TypeNetworks & Distribution
A data structure whose replicas can be edited independently and always converge without coordination.
- Eventual ConsistencyNetworks & Distribution
A guarantee that replicas converge given no further updates, without guaranteeing when.
- IdempotenceSystems & Tooling
The property that performing an operation twice has the same effect as performing it once.
- IPv6Networks & Distribution
IPv6 exists mainly to end address scarcity, with a large enough space that per-device NAT becomes optional.
- Latency and JitterNetworks & Distribution
Latency is how long a packet takes; jitter is how much that time varies — and the second often matters more.
- NAT TraversalNetworks & Distribution
NAT traversal is the set of tricks two devices behind separate routers use to open a direct connection anyway.
- Network Address TranslationNetworks & Distribution
Rewriting the addresses in packets as they cross a router so that many devices can share one public IPv4 address, a stopgap that became permanent and broke the internet's end-to-end design.
- Network EffectMeaning & Society
A good whose value to each user grows as more people use it.
- Peer-to-PeerNetworks & Distribution
An architecture where participants communicate directly rather than through a central server.
- Signaling ServerNetworks & Distribution
The small coordination service peers use to find each other before connecting directly.
- TCP and UDPNetworks & Distribution
TCP guarantees ordered, reliable delivery at the cost of latency; UDP delivers packets fast with no such promise.
- VideoconferencingNetworks & Distribution
Real-time two-way audio and video between people in different places, promised for decades as the picturephone, made ordinary by broadband and webcams, and turned into daily infrastructure for work and school during the 2020 pandemic.
- Virtual Private NetworkNetworks & Distribution
An encrypted tunnel that presents a remote network as local, and the narrow set of things a commercial one actually hides.
- WebhookNetworks & Distribution
A webhook is an HTTP callback a service pushes to you when an event happens, inverting who initiates the request.