videocalling
Illustration of STUN (Session Traversal Utilities for NAT) in video calling

STUN (Session Traversal Utilities for NAT)

glossary.categories.protocol

Protocolo que ajuda dispositivos a descobrir seu endereço IP público

O que é STUN?

Session Traversal Utilities for NAT (STUN) é um protocolo que permite a um dispositivo atrás de um NAT descobrir seu endereço IP público e a porta que o NAT mapeou para ele. Pense no STUN como um espelho para sua conexão de internet — você pergunta "como eu pareço do lado de fora?" e o servidor STUN responde com seu endereço público e porta.

No WebRTC, servidores STUN são a primeira linha de defesa para estabelecer conexões peer-to-peer através de NAT. Eles são baratos de operar e resolvem a maioria dos cenários de travessia NAT (75-85% das conexões).

Como o STUN Funciona

  1. Seu navegador envia uma requisição Binding ao servidor STUN
  2. A requisição passa pelo seu roteador NAT, que atribui um IP:porta público
  3. O servidor STUN vê esse IP:porta público e o envia de volta na resposta
  4. Seu navegador agora conhece seu endereço público — esse se torna um candidato ICE "server reflexive"
  5. Esse candidato é compartilhado com o par remoto via sinalização
  6. O par remoto pode agora enviar pacotes diretamente para seu endereço público

Quando o STUN Falha

STUN não funciona quando:

  • Symmetric NAT: O NAT atribui mapeamentos diferentes para cada destino
  • Firewalls restritivos: Bloqueiam todo tráfego UDP de entrada
  • Proxies corporativos: Interceptam e bloqueiam tráfego WebRTC

Nesses casos, TURN (relay) é necessário como fallback.

Referências