Shortpath RDP para Área de Trabalho Virtual do Azure
O RDP Shortpath estabelece um transporte direto baseado em UDP entre um aplicativo Windows de dispositivo local ou o aplicativo de Área de Trabalho Remota em plataformas com suporte e host de sessão na Área de Trabalho Virtual do Azure.
Por padrão, o protocolo RDP (Remote Desktop Protocol) tenta estabelecer uma sessão remota usando UDP e usa um transporte de conexão reversa baseado em TCP como um mecanismo de conexão de fallback. O transporte baseado em UDP oferece melhor confiabilidade de conexão e latência mais consistente. O transporte de conexão reversa baseado em TCP fornece a melhor compatibilidade com várias configurações de rede e tem uma alta taxa de sucesso para estabelecer conexões RDP.
O RDP Shortpath pode ser usado de duas maneiras:
Redes gerenciadas, onde a conectividade direta é estabelecida entre o cliente e o host da sessão ao usar uma conexão privada, como uma rede virtual privada (VPN). Uma conexão usando uma rede gerenciada é estabelecida de uma das seguintes maneiras:
- Uma conexão UDP direta entre o dispositivo cliente e o host da sessão, onde você precisa habilitar o ouvinte RDP Shortpath e permitir que uma porta de entrada em cada host de sessão aceite conexões.
- Uma conexão UDP direta entre o dispositivo cliente e o host da sessão, usando o protocolo Simple Traversal Underneath NAT (STUN) entre um cliente e o host da sessão. As portas de entrada no host da sessão não precisam ser permitidas.
Redes públicas, onde a conectividade direta é estabelecida entre o cliente e o host da sessão ao usar uma conexão pública. Há dois tipos de conexão ao usar uma conexão pública, que são listados aqui em ordem de preferência:
- Uma conexão UDP direta usando o protocolo Simple Traversal Underneath NAT (STUN) entre um cliente e um host de sessão.
- Uma conexão UDP indireta usando o protocolo Traversal Using Relay NAT (TURN) com um relé entre um cliente e um host de sessão. Isto está em pré-visualização.
O transporte usado para RDP Shortpath é baseado no Universal Rate Control Protocol (URCP). O URCP melhora o UDP com monitoramento ativo das condições da rede e fornece uma utilização justa e completa do link. A URCP opera com baixos níveis de atraso e perda, conforme necessário.
- Durante a visualização, TURN só está disponível para conexões com hosts de sessão em um pool de hosts de validação. Para configurar seu pool de hosts como um ambiente de validação, consulte Definir seu pool de hosts como um ambiente de validação.
- O RDP Shortpath para redes públicas com TURN só está disponível na nuvem pública do Azure.
Principais benefícios
Usar o RDP Shortpath tem os seguintes benefícios principais:
Usando o URCP para melhorar o UDP alcança o melhor desempenho aprendendo dinamicamente os parâmetros da rede e fornecendo ao protocolo um mecanismo de controle de taxa.
A remoção de pontos de relé extra reduz o tempo de ida e volta, o que melhora a confiabilidade da conexão e a experiência do usuário com aplicativos e métodos de entrada sensíveis à latência.
Além disso, para redes geridas:
- O RDP Shortpath oferece suporte para configurar a prioridade de Qualidade de Serviço (QoS) para conexões RDP por meio de marcas DSCP (Ponto de Código de Serviços Diferenciados).
- O transporte RDP Shortpath permite limitar o tráfego de rede de saída especificando uma taxa de aceleração para cada sessão.
Como funciona o RDP Shortpath para redes gerenciadas
Você pode obter a conectividade de linha de visão direta necessária para usar o RDP Shortpath com redes gerenciadas usando os seguintes métodos.
- Emparelhamento privado da Rota Expressa
- VPN site a site ou ponto a site (IPsec), como o Gateway de VPN do Azure
Ter conectividade direta de linha de visão significa que o cliente pode se conectar diretamente ao host da sessão sem ser bloqueado por firewalls.
Nota
Se você estiver usando outros tipos de VPN para se conectar ao Azure, recomendamos usar uma VPN baseada em UDP. Embora a maioria das soluções VPN baseadas em TCP ofereça suporte a UDP aninhado, elas adicionam sobrecarga herdada do controle de congestionamento TCP, o que diminui o desempenho do RDP.
Para usar o RDP Shortpath para redes gerenciadas, você deve habilitar um ouvinte UDP em seus hosts de sessão. Por padrão, a porta 3390 é usada, embora você possa usar uma porta diferente.
O diagrama fornece uma visão geral de alto nível das conexões de rede ao usar o RDP Shortpath para redes gerenciadas e hosts de sessão ingressados em um domínio do Ative Directory.
Sequência de conexão
Todas as conexões começam estabelecendo um transporte de conexão reversa baseado em TCP pelo Gateway de Área de Trabalho Virtual do Azure. Em seguida, o cliente e o host da sessão estabelecem o transporte RDP inicial e começam a trocar seus recursos. Esses recursos são negociados usando o seguinte processo:
- O host da sessão envia a lista de seus endereços IPv4 e IPv6 para o cliente.
- O cliente inicia o thread em segundo plano para estabelecer um transporte paralelo baseado em UDP diretamente para um dos endereços IP do host da sessão.
- Enquanto o cliente está investigando os endereços IP fornecidos, ele continua a estabelecer a conexão inicial através do transporte de conexão reversa para garantir que não haja atraso na conexão do usuário.
- Se o cliente tiver uma conexão direta com o host da sessão, o cliente estabelecerá uma conexão segura usando TLS sobre UDP confiável.
- Depois de estabelecer o transporte RDP Shortpath, todos os canais virtuais dinâmicos (DVCs), incluindo gráficos remotos, entrada e redirecionamento de dispositivo, são movidos para o novo transporte. No entanto, se um firewall ou topologia de rede impedir que o cliente estabeleça conectividade UDP direta, o RDP continuará com um transporte de conexão inversa.
Se os usuários tiverem o RDP Shortpath para rede gerenciada e redes públicas disponíveis para eles, o algoritmo encontrado pela primeira vez será usado. O usuário usará qualquer conexão estabelecida primeiro para essa sessão.
Como funciona o RDP Shortpath para redes públicas
Para fornecer a melhor chance de uma conexão UDP ser bem-sucedida ao usar uma conexão pública, existem os tipos de conexão direta e indireta :
Conexão direta: STUN é usado para estabelecer uma conexão UDP direta entre um cliente e um host de sessão. Para estabelecer essa conexão, o cliente e o host da sessão devem ser capazes de se conectar um ao outro por meio de um endereço IP público e uma porta negociada. No entanto, a maioria dos clientes não sabe seu próprio endereço IP público, pois eles se sentam atrás de um dispositivo de gateway NAT (Network Address Translation). STUN é um protocolo para a autodescoberta de um endereço IP público por trás de um dispositivo gateway NAT e o cliente para determinar seu próprio endereço IP voltado para o público.
Para um cliente usar STUN, sua rede deve permitir o tráfego UDP. Supondo que o cliente e o host da sessão possam rotear diretamente para o endereço IP e a porta descobertos do outro, a comunicação é estabelecida com UDP direto pelo protocolo WebSocket. Se firewalls ou outros dispositivos de rede bloquearem conexões diretas, uma conexão UDP indireta será tentada.
Conexão indireta: TURN é usado para estabelecer uma conexão indireta, retransmitindo o tráfego através de um servidor intermediário entre um cliente e um host de sessão quando uma conexão direta não é possível. TURN é uma extensão do STUN. Usar TURN significa que o endereço IP público e a porta são conhecidos com antecedência, o que pode ser permitido através de firewalls e outros dispositivos de rede.
TURN normalmente autoriza o acesso ao servidor via nome de usuário / senha e seu modo preferido de operação é usar soquetes UDP. Se firewalls ou outros dispositivos de rede bloquearem o tráfego UDP, a conexão retornará a um transporte de conexão reversa baseado em TCP.
Quando uma conexão está sendo estabelecida, o Estabelecimento de Conectividade Interativa (ICE) coordena o gerenciamento de STUN e TURN para otimizar a probabilidade de uma conexão ser estabelecida e garantir que a precedência seja dada aos protocolos de comunicação de rede preferidos.
Cada sessão RDP usa uma porta UDP atribuída dinamicamente a partir de um intervalo de portas efêmeras (49152 a 65535 por padrão) que aceita o tráfego RDP Shortpath. A porta 65330 é ignorada desse intervalo, pois é reservada para uso interno pelo Azure. Você também pode usar um intervalo de portas menor e previsível. Para obter mais informações, consulte Limitar o intervalo de portas usado por clientes para redes públicas.
O diagrama fornece uma visão geral de alto nível das conexões de rede ao usar o RDP Shortpath para redes públicas onde os hosts de sessão ingressaram na ID do Microsoft Entra.
Conversão de endereços de rede e firewalls
A maioria dos clientes de Área de Trabalho Virtual do Azure é executada em computadores na rede privada. O acesso à Internet é fornecido através de um dispositivo de gateway NAT (Network Address Translation). Portanto, o gateway NAT modifica todas as solicitações de rede da rede privada e destinadas à Internet. Tal modificação pretende compartilhar um único endereço IP público em todos os computadores da rede privada.
Devido à modificação do pacote IP, o destinatário do tráfego verá o endereço IP público do gateway NAT em vez do remetente real. Quando o tráfego voltar para o gateway NAT, ele terá o cuidado de encaminhá-lo para o destinatário pretendido sem o conhecimento do remetente. Na maioria dos cenários, os dispositivos escondidos por trás de tal NAT não estão cientes de que a tradução está acontecendo e não sabem o endereço de rede do gateway NAT.
O NAT é aplicável às Redes Virtuais do Azure onde residem todos os anfitriões de sessão. Quando um host de sessão tenta acessar o endereço de rede na Internet, o Gateway NAT (seu próprio ou padrão fornecido pelo Azure) ou o Balanceador de Carga do Azure executa a conversão de endereço.
A maioria das redes normalmente inclui firewalls que inspecionam o tráfego e o bloqueiam com base em regras. A maioria dos clientes configura seus firewalls para impedir conexões de entrada (ou seja, pacotes não solicitados da Internet enviados sem uma solicitação). Os firewalls empregam diferentes técnicas para rastrear o fluxo de dados e distinguir entre tráfego solicitado e não solicitado. No contexto do TCP, o firewall rastreia pacotes SYN e ACK e o processo é simples. Os firewalls UDP geralmente usam heurísticas baseadas em endereços de pacotes para associar o tráfego aos fluxos UDP e permitir ou bloqueá-lo.
Sequência de conexão
Todas as conexões começam estabelecendo um transporte de conexão reversa baseado em TCP pelo Gateway de Área de Trabalho Virtual do Azure. Em seguida, o cliente e o host da sessão estabelecem o transporte RDP inicial e começam a trocar seus recursos. Se o RDP Shortpath para redes públicas estiver habilitado no host da sessão, o host da sessão iniciará um processo chamado coleta de candidatos:
- O host de sessão enumera todas as interfaces de rede atribuídas a um host de sessão, incluindo interfaces virtuais como VPN e Teredo.
- O serviço Windows Remote Desktop Services (TermService) aloca soquetes UDP em cada interface e armazena o par IP:Port na tabela candidata como um candidato local.
- O serviço Serviços de Área de Trabalho Remota usa cada soquete UDP alocado na etapa anterior para tentar acessar o Servidor STUN da Área de Trabalho Virtual do Azure na Internet pública. A comunicação é feita enviando um pequeno pacote UDP para a porta 3478.
- Se o pacote chegar ao servidor STUN, o servidor STUN responderá com o IP público e a porta. Esta informação é armazenada na tabela de candidatos como um candidato reflexivo.
- Depois que o host da sessão reúne todos os candidatos, o host da sessão usa o transporte de conexão reversa estabelecido para passar a lista de candidatos para o cliente.
- Quando o cliente recebe a lista de candidatos do host da sessão, o cliente também realiza a coleta de candidatos ao seu lado. Em seguida, o cliente envia sua lista de candidatos para o host da sessão.
- Após o anfitrião da sessão e o cliente trocarem suas listas de candidatos, ambas as partes tentam se conectar usando todos os candidatos coletados. Esta tentativa de conexão é simultânea em ambos os lados. Muitos gateways NAT são configurados para permitir o tráfego de entrada para o soquete assim que a transferência de dados de saída o inicializa. Esse comportamento dos gateways NAT é a razão pela qual a conexão simultânea é essencial. Se o STUN falhar porque está bloqueado, uma tentativa de conexão indireta será feita usando TURN.
- Após a troca inicial de pacotes, o cliente e o host da sessão podem estabelecer um ou vários fluxos de dados. A partir desses fluxos de dados, o RDP escolhe o caminho de rede mais rápido. Em seguida, o cliente estabelece uma conexão segura usando TLS sobre UDP confiável com o host da sessão e inicia o transporte RDP Shortpath.
- Depois que o RDP estabelece o transporte RDP Shortpath, todos os canais virtuais dinâmicos (DVCs), incluindo gráficos remotos, entrada e redirecionamento de dispositivo, passam para o novo transporte.