Implementação do protocolo de área de trabalho remota

1

Estou tentando encontrar a melhor solução de rede para meu próprio aplicativo de área de trabalho remota somente para o Windows (XP acima) e tenho os seguintes requisitos:

  1. Antes de tudo, o aplicativo deve funcionar, digamos, com a configuração de rede do sistema operacional padrão, sem necessidade de configuração adicional de proxy (ou qualquer outra coisa)
  2. Deve estar ciente do firewall (também com alguma configuração básica)
  3. Deve funcionar sobre o NAT (ambos os lados de comunicação podem estar por trás do NAT)

Que conceito você me sugeriria? Como você desenvolveria (do ponto de vista da rede) o aplicativo de desktop remoto? Qual protocolo e porta pode ser o melhor?

Tenho certeza de que o HTTP na porta 80 provavelmente atende às condições acima, mas acho que não é eficiente para aplicativos de área de trabalho remota. Para minha implementação seria o melhor para usar meu próprio protocolo baseado em TCP (idealmente atrás de alguma camada segura), mas acho que isso não passará pelo firewall.

Como o melhor candidato me procura SSH , mas eu acho que ele será bloqueado por muitos firewalls por padrão, ou estou errado?

Desculpe por essa questão idiota (e um pouco subjetiva), eu realmente não estou familiarizado com o material de rede.
Estou usando a biblioteca Synapse para a implementação.

    
por daemon_x 13.07.2011 / 12:59

1 resposta

2

O HTTP em 80 não atende às suas restrições. Na verdade, nada acontece: a configuração padrão do sistema operacional é totalmente bloqueada sem furos no NAT para o encaminhamento de porta. Você pode usar o controle uPnP para abrir a porta apropriada no roteador, mas isso pressupõe que seu programa seja executado em um nível onde você possa fazer isso.

Se você está fazendo um substituto imediato para o Remote Desktop (o que parece não ser o caso, mas vou mencioná-lo mesmo assim), você ainda teria os mesmos problemas. A Área de Trabalho Remota geralmente tem uma exceção adicionada à política local do Firewall do Windows quando está ativada e um furo inserido manualmente no roteador.

Ah, e um NAT corporativo certamente terá que ser configurado manualmente para permitir o seu programa. Não há como evitar isso se ambos os lados forem NAT corporativos.

O Picking 3389 oferece a você alguma chance de pegar carona em aberturas que podem ser feitas em firewalls para a Área de Trabalho Remota, mas é claro que essas aberturas são feitas porque a Área de Trabalho Remota normalmente está sendo executada lá.

Escolher qualquer porta atribuída a um serviço em particular é um Bad Thing ™, já que a) as pessoas esperam encontrar o serviço lá e b) ele pode estar lá.

O que me leva ao último ponto: por que não usar o Remote Desktop? É um protocolo bastante completo e pode ser mais fácil evitar reinventar a roda aqui.

    
por 13.07.2011 / 14:13