O que é um servidor TURN?

Um servidor Traversal Using Relays around NAT (TURN) permite conexões WebRTC confiáveis em redes altamente restritivas.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Descrever o que um servidor TURN faz
  • Entender a vantagem de usar um servidor TURN
  • Comparar servidores TURN e STUN

Conteúdo relacionado


Quer saber mais?

Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.

Consulte a política de privacidade da Cloudflare para saber como coletamos e processamos seus dados pessoais.

Copiar o link do artigo

O que é um servidor TURN?

Um servidor Traversal Using Relays around NAT (TURN) é um tipo de servidor web que permite conexões WebRTC entre dispositivos de computação quando firewalls ou o uso de endereços de IP privados interrompem conexões de comunicação em tempo real, como chamadas de vídeo ou áudio. Como a sigla indica, o serviço TURN contorna a tradução de endereços de rede (NAT) para garantir que a conexão entre clientes não seja interrompida no meio de uma sessão.

Simplificando, os servidores TURN ajudam a garantir que as chamadas de vídeo e áudio funcionem bem, mesmo quando a rede não está configurada para suportá-las.

Os servidores TURN tornam-se necessários quando um dos dispositivos em uma conexão WebRTC usa um endereço de IP privado. Os dispositivos que possuem endereços de IP privados usam a NAT para se conectar a outros dispositivos. A NAT reempacota pacotes e os envia para o endereço de IP privado, mas não funciona bem com muitos protocolos, incluindo o WebRTC.

Imagine que a Alice quer dirigir até a casa do Bob, mas há um bloqueio na estrada entre eles. Em vez de pegar a rodovia e chegar ao bloqueio, a Alice pega as ruas laterais até chegar à casa do Bob usando uma rota alternativa. Um servidor TURN fornece uma rota alternativa para conexões WebRTC quando, de outra forma, a NAT pode ser um obstáculo intransponível.

Servidor TURN versus STUN

Um servidor STUN (Session Traversal Utilities for NAT) é outro tipo de servidor que é compatível com conexões WebRTC. Ele permite que dois dispositivos descubram os endereços de IP públicos um do outro e iniciem uma conexão direta. No entanto, os servidores STUN geralmente não podem contornar medidas de segurança rigorosas. Nesses casos, um servidor TURN pode ser usado.

O que é WebRTC?

Web Real-Time Communications (WebRTC) é uma tecnologia de código aberto que permite estabelecer comunicação direta peer-to-peer (P2P) em tempo real por meio de APIs. Ela permite que os dispositivos cliente transmitam arquivos entre si em vez de depender de um servidor central (ao contrário de protocolos como HLS ou HDS, que pressupõem um modelo cliente-servidor). A WebRTC também passou a ser usada para vários protocolos de comunicação, como o protocolo de voz sobre internet (VoIP), que é compatível com chamadas telefônicas e de vídeo baseadas na internet.

O que é tradução de endereços de rede (NAT)?

NAT (tradução de endereços de rede) é uma técnica para mapear endereços de IP privados para endereços de IP públicos ou, mais comumente, mapear vários endereços de IP privados para um endereço de IP público. (Os endereços de IP são essenciais para configurar conexões entre dispositivos).

A NAT é como usar um endereço de encaminhamento dentro de um sistema postal. Os correspondentes podem enviar correspondências sem saber o verdadeiro endereço de correspondência do destinatário, pois o endereço de encaminhamento a enviaria para esse endereço. Da mesma forma, a NAT combina um endereço de IP público com um endereço de IP privado e encaminha os pacotes para os locais corretos.

Uma das aplicações mais populares da NAT é a atribuição de endereços de IP em redes locais (LANs), como redes WiFi domésticas. Não há endereços IPv4 suficientes para todos, então os roteadores atribuem endereços de IP privados e dinâmicos aos dispositivos conectados à rede. Esses endereços de IP provavelmente são usados por outros dispositivos na internet também, então, para evitar confusão, o roteador usa a NAT para alterá-los para um endereço de IP público que não está duplicado em nenhum outro lugar. (O provedor de internet também pode atribuir dinamicamente esses endereços de IP voltados para o público).

A NAT também é usada como uma medida de segurança para manter os endereços de IP privados. Um dispositivo pode evitar revelar seu verdadeiro endereço de IP fora da rede, ou mesmo dentro da rede, e usar a NAT para transmitir um endereço de IP público e conectar-se a outros dispositivos.

O problema é que alguns protocolos da camada de aplicação não funcionam bem com a NAT, assim como o endereço de encaminhamento de uma pessoa pode não ser capaz de encaminhar todos os tipos de correspondência (pacotes grandes, por exemplo).

Qual é a vantagem de usar um servidor TURN?

Um servidor TURN ajuda a garantir a conectividade mesmo em ambientes de rede altamente restritos que usam NAT e firewalls para ocultar endereços de IP. Ele permite que as comunicações em tempo real funcionem quando conexões normais não são possíveis e os servidores STUN não são compatíveis com elas. Os servidores TURN melhoram a confiabilidade dos serviços telefônicos ou de chat baseados na internet.

O Cloudflare Realtime inclui o serviço TURN?

O Cloudflare Realtime é um serviço que permite aos desenvolvedores criar aplicativos de áudio, vídeo e dados em tempo real. O Cloudflare Realtime inclui um servidor TURN global, facilitando a criação de aplicativos em tempo real que são rápidos e confiáveis. Para saber mais sobre o serviço TURN da Cloudflare, consulte os documentos para desenvolvedores.