Saltar para o conteúdo

Interactive Connectivity Establishment

Origem: Wikipédia, a enciclopédia livre.

Interactive Connectivity Establishment (ICE) é uma técnica em redes de computadores para estabelecer uma conexão Peer-to-peer entre 2 dispositivos, criado pela IETF e especificado na RFC 5245,[1]. Muito utilizado no mundo VoIP, chats, aplicações em tempo real, transmissão de vídeo pela rede e comunicações Peer-to-peer. Ele é necessário devido problemas encontrados em redes que utilizam NAT, Firewall e outras barreiras\filtros que possam impedir a comunicação entre dispositivos. Utiliza os protocolos STUN e TURN para realizar suas funções[2].

O IPv4, criado na década de 80, permitiu o avanço da Internet com a função de identificar os dispositivos, mas seu maior problema é que utiliza 32 bits para identificá-los, possibilitando um pouco mais de 4 bilhões de endereços. O que os criadores do IPv4 não imaginavam é que o número de dispositivos chegaria a ultrapassá-lo, onde foi preciso a criação de um mecanismo que suportasse mais de 4 bilhões de dispositivos na Internet utilizando o IPv4. Para isso veio o NAT que utiliza redes privadas, endereços que não são roteáveis na rede pública, onde pode a partir destes endereços construir uma rede local. O problema é que em uma rede que use NAT, o dispositivo que está nela tem um endereço local, mas para a rede pública ele tem o endereço do seu rotedor de borda, rotedor responsável por conectar a rede local a rede pública. Ou seja, caso o dispositivo se conecte com outro fora desta rede local seu endereço será o do seu rotedor de borda, fazendo que o outro dispositivo que está fora da rede local envie pacotes para o roteador de borda do outro, não para o dispositivo que se deveria comunicar. Para isso foi criado o NAT, que procura através de diversas técnicas e utilizando outros protocolos, descobrir o endereço real dos dispositivos que estão em uma rede local.

Funcionamento

[editar | editar código-fonte]

O funcioanmento do ICE se dá em 6 etapas:

  • Identificação dos Endereços dos Candidatos
  • Avaliação e priorização dos Candidatos
  • Envio dos Endereços dos Candidatos
  • Checagem de Conectividade
  • Estabelecimento da Sessão
  • Manutenção da Conexão
Funcionamento do protocolo ICE
  • RFC 5245: Interactive Connectivity Establishment (ICE): A Protocol for NAT Traversal for Offer/Answer Protocols.
  • RFC 5768: Indicating Support for Interactive Connectivity Establishment (ICE) in the Session Initiation Protocol (SIP)
  • RFC 6544: TCP Candidates with Interactive Connectivity Establishment (ICE).
  • RFC 6336: IANA Registry for Interactive Connectivity Establishment (ICE) Options
  • RFC 8445: Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal

Referências

  1. RFC 5245, Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols, J. Rosenberg (April 2010)
  2. R. O. Togo, 2015