RFC 8656 / START HERE
TURN, before the details
TURN: Traversal Using Relays around NAT
TURN provides a relay that forwards traffic when applications cannot communicate directly. NAT means Network Address Translation.
The idea in one picture
A direct path is unavailable
A relay allocation is created
Traffic travels through the relay
A simplified picture of the idea; the chapters explain the actual mechanisms.
Why it exists
Firewalls and address translation can prevent a direct path between two participants. A relay provides a fallback at the cost of extra infrastructure.
A familiar example
Two video-call participants send media through a TURN server when their networks prevent a direct connection.
Helpful background
You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.
What you’ll learn next
Begin with chapter one, or choose a topic.
- Allocate a relayed transport addressA TURN client authenticates and requests an allocation associated with a relayed address.→
- Install a permission for a peerA permission authorizes relayed traffic from a particular peer IP address.→
- Relay using Send and Data indicationsThe client can send a Send indication toward a peer, while returning peer data is delivered using Data indications.→
- Bind a channel for repeated trafficA channel number associates a client-side compact framing identifier with a peer transport address.→
- Refresh or delete the allocationAllocations and their supporting state consume relay resources and must be maintained deliberately.→
This introduction explains RFC 8656 (2020). Read the original RFC ↗