Porque é que o NAT atrapalha
A maioria dos computadores está atrás de uma tradução de endereços de rede (NAT): um router que partilha um endereço público entre muitos privados e só deixa entrar os pacotes que respondem a uma ligação iniciada do lado de dentro. Por isso, duas máquinas em redes domésticas ou de escritório diferentes não conseguem simplesmente abrir uma ligação uma à outra: cada router descarta o primeiro pacote do outro lado.
A dificuldade depende do router. O RFC 4787 descreve como os NAT mapeiam e filtram o tráfego UDP: quando um router reutiliza a mesma porta pública para qualquer destino, é normalmente fácil encontrar um caminho direto; quando escolhe uma porta nova para cada destino (o chamado NAT simétrico), é muito mais difícil.
Como funciona o hole punching
A travessia de NAT é o conjunto de técnicas que, ainda assim, encontram um caminho direto. Primeiro, cada lado descobre como é visto do exterior, normalmente perguntando a um servidor STUN. Os dois lados trocam esses endereços candidatos através de um servidor de coordenação e depois enviam pacotes um ao outro ao mesmo tempo. Cada router vê primeiro um pacote de saída e trata a resposta como parte desse fluxo, pelo que se abre um caminho nos dois sentidos. O RFC 5128 faz o ponto destas técnicas.
Também se pode perguntar diretamente ao router: o UPnP IGD, o NAT-PMP e o seu sucessor, o Port Control Protocol (RFC 6887), permitem a uma aplicação pedir um reencaminhamento de porta. Algumas firewalls empresariais e o NAT de operador (CGNAT) anulam todas estas técnicas. Quando nada resulta, a sessão recorre a um relay que reencaminha o tráfego entre os dois lados.
Como o Vexaro Desk se liga
Uma sessão do Vexaro Desk liga-se diretamente sempre que a rede o permite e, caso contrário, através de um relay da Vexaro autenticado. Não há nada a configurar: o cliente encontra um caminho sozinho.
O instalador acrescenta uma regra à Firewall do Windows para que as ligações diretas e de rede local funcionem; uma versão portátil não a pode acrescentar, pelo que as suas sessões passam mais vezes por um relay. As ligações diretas podem ser desativadas nas Definições, e a janela da sessão mostra se a sessão é direta ou retransmitida. 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.