Compatibilidade NAT
Para estabelecer uma conexão direta entre um dispositivo de usuário externo e o host da sessão, o HDX™ Direct utiliza o hole punching para travessia NAT e o STUN para facilitar a troca do endereço IP público e dos mapeamentos de porta para o dispositivo cliente e o host da sessão. Isso é semelhante ao funcionamento de soluções de VoIP, comunicações unificadas e P2P.
Desde que os firewalls e outros componentes de rede estejam configurados para permitir o tráfego UDP para as solicitações STUN e as sessões HDX, espera-se que o HDX Direct para usuários externos funcione. No entanto, existem certos cenários em que os tipos de NAT das redes do usuário e do host da sessão levam a uma combinação incompatível, fazendo com que o HDX Direct falhe.
Validações
Você pode validar o tipo e o filtro NAT no cliente e no host da sessão usando o utilitário cliente STUN do STUNTMAN:
-
Baixe o pacote apropriado para a plataforma de destino em stunprotocol.org e extraia o conteúdo.
-
Abra um prompt de terminal e navegar até o diretório onde o conteúdo foi extraído.
-
Execute o seguinte comando:
.\stunclient.exe stunserver.stunprotocol.org --mode behavior -
Anote a saída.Se os testes de binding e comportamento forem bem-sucedidos, tanto o teste de binding quanto o teste de comportamento relatam o sucesso e um comportamento NAT é especificado:
Se os testes falharem, tanto o teste de binding quanto o teste de comportamento relatam a falha.
-
Execute o seguinte comando:
.\stunclient.exe stunserver2024.stunprotocol.org --mode filtering -
Anote a saída.
Consulte a tabela a seguir para determinar se o HDX Direct para usuários externos deve funcionar com base nos resultados do teste do cliente e do host da sessão:
| Comportamento NAT do Cliente | Filtragem NAT do Cliente | Comportamento NAT do Host da Sessão | Filtragem NAT do Host da Sessão | Esperado que funcione? |
|---|---|---|---|---|
| Mapeamento Independente de Endpoint | Qualquer | Mapeamento Independente de Endpoint | Qualquer | Sim |
| Mapeamento Independente de Endpoint | Filtragem Independente de Endpoint | Mapeamento Dependente de Endereço | Qualquer | Sim |
| Mapeamento Independente de Ponto de Extremidade | Filtragem Dependente de Endereço | Mapeamento Dependente de Endereço | Qualquer | Não |
| Mapeamento Independente de Ponto de Extremidade | Filtragem Dependente de Endereço e Porta | Mapeamento Dependente de Endereço | Qualquer | Não |
| Mapeamento Independente de Ponto de Extremidade | Filtragem Independente de Ponto de Extremidade | Mapeamento Dependente de Endereço e Porta | Filtragem Independente de Ponto de Extremidade | Sim |
| Mapeamento Independente de Endpoint | Filtragem Dependente de Endereço | Mapeamento Dependente de Endereço | Qualquer | Não |
| Mapeamento Independente de Endpoint | Filtragem Dependente de Endereço e Porta | Mapeamento Dependente de Endereço | Qualquer | Não |
| Mapeamento Dependente de Endereço | Qualquer | Mapeamento Independente de Endpoint | Filtragem Independente de Endpoint | Sim |
| Mapeamento Dependente de Endereço | Qualquer | Mapeamento Independente de Ponto de Extremidade | Filtragem Dependente de Endereço | Não |
| Mapeamento Dependente de Endereço | Qualquer | Mapeamento Independente de Ponto de Extremidade | Filtragem Dependente de Endereço e Porta | Não |
| Mapeamento Dependente de Endereço | Qualquer | Mapeamento Dependente de Endereço | Qualquer | Não |
| Mapeamento Dependente de Endereço | Qualquer | Mapeamento Dependente de Endereço e Porta | Qualquer | Não |
| Mapeamento Dependente de Endereço e Porta | Qualquer | Mapeamento Independente de Endpoint | Filtragem Independente de Endpoint | Sim |
| Mapeamento Dependente de Endereço e Porta | Qualquer | Mapeamento Independente de Endpoint | Filtragem Dependente de Endereço | Não |
| Mapeamento Dependente de Endereço e Porta | Qualquer | Mapeamento Independente de Endpoint | Filtragem Dependente de Endereço e Porta | Não |
| Mapeamento Dependente de Endereço e Porta | Qualquer | Mapeamento Dependente de Endereço | Qualquer | Não |
| Mapeamento Dependente de Endereço e Porta | Qualquer | Mapeamento Dependente de Endereço e Porta | Qualquer | Não |
| Falha | Qualquer | Qualquer | Qualquer | Não |
| Qualquer | Qualquer | Falha | Qualquer | Não |
| Falha | Qualquer | Falha | Qualquer | Não |