Visual RFC.
ALL RFCs / RFC 8656
Read the RFC ↗

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

  1. A direct path is unavailable

  2. A relay allocation is created

  3. 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.

  1. Allocate a relayed transport addressA TURN client authenticates and requests an allocation associated with a relayed address.
  2. Install a permission for a peerA permission authorizes relayed traffic from a particular peer IP address.
  3. Relay using Send and Data indicationsThe client can send a Send indication toward a peer, while returning peer data is delivered using Data indications.
  4. Bind a channel for repeated trafficA channel number associates a client-side compact framing identifier with a peer transport address.
  5. Refresh or delete the allocationAllocations and their supporting state consume relay resources and must be maintained deliberately.
Start with chapter one →

This introduction explains RFC 8656 (2020). Read the original RFC ↗