1 / 27

STUN – Simple Traversal of UDP Through NATs

STUN – Simple Traversal of UDP Through NATs. Márcio Leal de Melo Dahia. Roteiro. Introdução - NAT Tipos de NAT Problemas STUN Principios básicos Tipos de Mensagens Cenário STUN no mercado Conclusões Bibliografia. Introdução - NAT. NAT ( N etwork A dress T ranslator )

eliot
Download Presentation

STUN – Simple Traversal of UDP Through NATs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. STUN – Simple Traversal of UDP Through NATs Márcio Leal de Melo Dahia

  2. Roteiro • Introdução - NAT • Tipos de NAT • Problemas • STUN • Principios básicos • Tipos de Mensagens • Cenário • STUN no mercado • Conclusões • Bibliografia

  3. Introdução - NAT • NAT (Network Adress Translator) • Contornar limitação da quantidade de endereços IP • Endereços IP “não roteáveis” usados na rede privada • Intervalo 1: Classe A - 10.0.0.0 a 10.255.255.255 • Intervalo 2: Classe B - 172.16.0.0 a 172.31.255.255 • Intervalo 3: Classe C - 192.168.0.0 a 192.168.255.255 • IPs “roteáveis”, compartilhados por várias máquinas de acordo com a necessidade • NAT é o dispositivo capaz de fazer a tradução bidirecional entre endereços privados e públicos

  4. Funcionamento de um NAT

  5. Tipos de NAT(1/3) • Full Cone • Requisições de um determinado endereço interno são mapeados para o mesmo endereço externos • Acesso de fora para dentro via endereço externo

  6. Tipos de NAT (2/3) • Restricted Cone • Semelhante ao Full Cone, porém • Acesso externo apenas para máquinas para respostas a requisições feitas previamente • Port Restricted Cone • Semelhante ao Restricted Cone, porém • Acesso restrito a porta de requisição

  7. Tipos de NAT (3/3) • Symmetric • O endereço e porta a serem recebidos dependem do endereço externo a ser acessado • Como o Port Restricted, o acesso externo é permitido apenas para resposta

  8. Problemas (1/5) • Necessidade crescente de acesso bidirecional nas bordas da rede • Aplicações como: • Voz sobre IP – receber ligação • Instant Messengers – ser contatado por amigos • Compartilhamento de arquivos – permitir upload • Etc. etc. etc.

  9. Problemas (2/5) • Grande parte soluções necessitam modificações na middlebox... • Port-forwarding

  10. Problemas (3/5) • Universal Plug-and-Play (UPnP) • Cisco, Microsoft, Nokia • Hardware upnp-habilitado pode ser configurado pela aplicação

  11. Problemas (4/5) • Aplication Layer Gateway (ALG) • Camada de software no NAT que permite a “passagem” de protocolos previamente definidos

  12. Problemas (5/5) • ...Ou são muito pesadas (Uso de Relays) • Servidor intermediando a comunicação entre os pontos

  13. STUN (1/2) • RFC 3489 – Março de 2003 • Permite que entidades atrás de NAT • Descubram a presença de NAT • Descubram o tipo de NAT • Descubram seu endereço público • Quantidade arbitrária de NATs • Não atravessa Symmetric NATs

  14. STUN (2/2) • Principio básico • Servidor conectado diretamente à rede • 2 IPs e 2 portas • Um dispositivo na rede pública conhece o endereço externo do dispositivo atrás do NAT • Características do protocolo UDP • Magro e simples • Servidor não precisa manter sessões com o cliente • Ideal para altas demandas de pouco conteúdo

  15. STUN – Configuração de Análise

  16. STUN – Tipos de mensagem • Protocolo tipo cliente-servidor • Shared Secret (Request, Response e Error) • Requisita login/senha para as próximas mensagens • TCP (TLS) • Expira (entre 10 e 30 min.) • Binding (Request, Response e Error) • Protocolo propriamente Dito (UDP) • Diversos parâmetros

  17. STUN – Binding • Request • RESPONSE-ADDRESS • Indica para que endereço a resposta deve ser enviada • CHANGE-REQUEST • Indica que o servidor deve enviar a resposta com IP OU porta diferentes

  18. STUN – Binding • Response • MAPPED-ADDRESS • Indica qual o endereço público do cliente • SOURCE-ADDRESS • Indica IP do servidor • CHANGED-ADDRESS • Indica IP e porta para onde a resposta foi enviada • REFLECTED-FROM • IP e porta do cliente que fez o request

  19. STUN – Binding • Ambos • USERNAME/PASSWORD • Definidos pelo Shared Secret • MESSAGE-INTEGRITY • HMAC (Keyed-Hashing for Message Authentication ) • Error • ERROR-CODE • UNKNOWN-ATTRIBUTES

  20. STUN - Cenário • Suponha uma aplicação multimídia que necessite saber se • Está na Internet diretamente • Tem um Firewall que bloqueia UDP • Tem um Firewall que permite UDP de saída • Qual o tipo de NAT

  21. Mesmo IP? Mesmo IP? STUN - Cenário Firewall de UDP simétrico Binding request simples (sem mudanças de IP) Teste 1 Não Sim Sim Resp? Resp? Teste 2 Não Não Sim UDP bloqueado IP público Teste 2 NAT Full Cone Não Sim Resp? Teste 1 Binding request. Mudança de IP e porta (CHANGE-ADDRESS) Binding request simples usando o endereço e porta secundários do servidor NAT Symmetric Não Sim NAT Restricted Sim Resp? Teste 3 Não Binding request. Apenas mudança de porta (CHANGE-ADDRESS) NAT Port Restricted

  22. STUN no mercado • Implementação Open Source disponível • http://sourceforge.net/projects/stun/

  23. STUN no mercado • VoIP (OpenPhone) • http://sourceforge.net/projects/openphone/

  24. STUN no mercado • XTunnels • Solução OpenSource de conectividade • Usa STUN, mas não exclusivamente • http://xtunnels.org:3455/1/Home

  25. Conclusão • Deve ser visto como um Co-protocolo • Não funciona com Symmetric NAT • Máquina intermediária (Relay) • Não faz milagres • Servidor é um ponto de falha na rede • Segurança, Tolerância a falha

  26. Bibliografia • IETF 2003. RFC 3489. STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs).http://www.ietf.org/rfc/rfc3489.txt • IETF 1996. RFC1918. Address Allocation for Private Internets.http://www.ietf.org/rfc/rfc1918.txt • Jeff Tyson. How Network Address Translation Works.http://computer.howstuffworks.com/nat.htm • Newport Networks. White paper: Solving the Firewall and NAT Traversal Issues for Multimedia over IP Services.http://www.newport-networks.com/whitepapers/nat-traversal.html • UPnP Forum. http://www.upnp.org • Implentaçao STUN. http://sourceforge.net/projects/stun/ • OpenVoIP. http://sourceforge.net/projects/openphone • Xtunnels. http://xtunnels.org:3455/1/Home

More Related