WebRTC vs um par simétrico de NAT

1

Eu li alguns documentos sobre o WebRTC nat traversal. Vejo que, se um dos pares estiver por trás de um NAT simétrico, será necessário usar um servidor TURN.

Eu estou me perguntando por que o protocolo não deveria permitir a travessia quando pelo menos um dos clientes tem IP público ou NAT assimétrico?

Pelo que estou lendo, o problema é estabelecer a conexão entre um peer e o peer com NAT simétrico. Então o cliente por trás do nat simétrico pode se conectar ao outro cliente? Se compartilhar o mesmo fluxo UDP para mídia bidirecional não for possível / permitido, então por que não o peer por trás do NAT simétrico cria duas ou mais conexões, quantas forem necessárias para todos os fluxos de mídia?

    
por akostadinov 29.11.2016 / 15:02

1 resposta

1

O problema com o WebRTC não é que os pacotes atinjam ou não seus destinos, mas se nenhum método de passagem for usado, os dados em cargas úteis de pacotes IP não estão corretos. Os dados SDP, por exemplo, possuem campos que incluem endereços IP e portas que são válidos apenas em um contexto local, isto é, na LAN atrás do NAT. Os dispositivos NAT podem alterar os cabeçalhos IP, mas, em geral, não podem alterar as cargas dos protocolos de aplicativos

É por isso que o WebRTC suporta métodos de passagem NAT através de protocolos padrão (STUN, TURN e ICE no topo deles). Você mencionou o NAT simétrico. Quando você usa esse tipo de NAT, o STUN não funciona e você deve ter um servidor TURN.

    
por 27.10.2017 / 18:20

Tags