
STUN (Session Traversal Utilities for NAT)
glossary.categories.protocolProtocolo 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
- Seu navegador envia uma requisição Binding ao servidor STUN
- A requisição passa pelo seu roteador NAT, que atribui um IP:porta público
- O servidor STUN vê esse IP:porta público e o envia de volta na resposta
- Seu navegador agora conhece seu endereço público — esse se torna um candidato ICE "server reflexive"
- Esse candidato é compartilhado com o par remoto via sinalização
- 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
- STUN - Glossary - Mozilla Developer Network
- STUN - BlogGeek.me