Saltar para o conteúdo principal
Todos os termos

STUN vs. TURN

O STUN ajuda um dispositivo a descobrir o seu endereço público para permitir uma ligação direta; o TURN faz o relay do tráfego quando não é possível estabelecer uma ligação direta.

STUN: descobrir o endereço público

O Session Traversal Utilities for NAT (STUN), especificado no RFC 8489, é um protocolo leve de pedido e resposta. Um dispositivo envia um pedido Binding a um servidor STUN, e a resposta indica o endereço e a porta públicos de onde veio o pedido, ou seja, o endereço server-reflexive do dispositivo. O STUN ajuda dois dispositivos a tentar uma ligação direta, mas nunca transporta a sessão em si, pelo que um servidor STUN precisa de muito pouca largura de banda.

TURN: reencaminhar quando o direto falha

O Traversal Using Relays around NAT (TURN), especificado no RFC 8656 como extensão do STUN, reserva um endereço num servidor relay. Os dois lados enviam o seu tráfego para o relay, que o reencaminha. O TURN funciona quando mais nada funciona, mas cada byte da sessão passa pelo relay, o que acrescenta latência e custa largura de banda a quem o opera.

ICE: escolher entre os dois

O Interactive Connectivity Establishment (ICE), RFC 8445, junta os dois. Cada lado reúne candidatos (endereços locais, endereços server-reflexive do STUN e endereços de relay do TURN), troca-os, testa pares e fica com o melhor que funcionar, dando prioridade aos caminhos diretos. É exatamente assim que o WebRTC usa o ICE, o STUN e o TURN.

Como o Vexaro Desk o faz

O Vexaro Desk não usa TURN. Quando uma rede impede a ligação direta, a sessão passa pelos relays da própria Vexaro, e o cliente só se liga a um relay cuja autenticidade consiga verificar.

As sessões diretas são cifradas ponta a ponta. Quando uma rede obriga a uma ligação retransmitida, o tráfego mantém-se cifrado em trânsito através de relays operados pela Vexaro.

STUN, TURN e ICE comparados

STUN, TURN e ICE comparados
STUNTURNICE
Norma1,2,3RFC 8489RFC 8656RFC 8445
Finalidade1,2,3Descobrir o endereço e a porta públicosReencaminhar o tráfego através de um servidorReunir, testar e escolher caminhos candidatos
Transporta tráfego da sessão1,2,3NãoSimNão, escolhe o caminho
Carga do servidor1,2,3Só pedidos pequenosToda a largura de banda da sessãoNenhuma própria; usa servidores STUN e TURN

Perguntas frequentes

O que faz o STUN?
Indica a um dispositivo o endereço e a porta públicos de onde parece vir o seu tráfego, para que dois dispositivos possam tentar ligar-se diretamente. Não transporta tráfego da sessão.
O que é o TURN e quando é usado?
O TURN é um relay: os dois lados enviam tráfego para um servidor TURN, que o reencaminha. É usado quando não é possível estabelecer uma ligação direta, porque funciona sempre, embora custe latência e largura de banda.
Preciso de STUN e de TURN?
Para uma conectividade ao estilo do WebRTC, normalmente sim: o STUN torna possíveis as ligações diretas, o TURN cobre os casos em que falham e o ICE escolhe entre eles. Os produtos com relay próprio, como o Vexaro Desk, usam esse relay em vez do TURN.
O Vexaro Desk usa TURN?
Não. O Vexaro Desk liga-se diretamente sempre que a rede o permite e, caso contrário, através dos relays da própria Vexaro, cuja autenticidade o cliente verifica antes de se ligar.

Veja no Vexaro Desk

O Vexaro Desk reúne acesso assistido e não assistido, travessia de NAT, um motor de codecs adaptativo e governação numa só consola. Está em acesso antecipado, e pode criar uma conta gratuita para o experimentar.