01 - Entrega para Múltiplos Destinos
video: https://youtu.be/... no frontmatter da nota.Entrega para Múltiplos Destinos (Multicast)
A Entrega para Múltiplos Destinos, formalmente conhecida como Multicast, é um modelo de comunicação na Camada de Rede projetado para transmitir dados de uma única fonte para um grupo de destinatários selecionados simultaneamente. Diferente da entrega Unicast (um-para-um) e Broadcast (um-para-todos), o Multicast otimiza a utilização da rede e o uso de recursos do sistema ao replicar o tráfego apenas onde e quando necessário.
Esta funcionalidade é a espinha dorsal de aplicações modernas que exigem eficiência de largura de banda e latência baixa para grandes audiências, tais como videoconferências (Zoom, Teams), streaming de vídeo ao vivo (IPTV, Twitch), jogos online massivos (MMO), distribuição de dados em tempo real (cotações de bolsa, sensores IoT) e atualização de caches CDN.
1. Comparação dos Modelos de Entrega
| Modelo | Origens | Destinos | Eficiência de Banda | Atravessa Roteadores? |
|---|---|---|---|---|
| Unicast | 1 | 1 (individual) | Baixa (N cópias) | Sim |
| Broadcast | 1 | Todos da rede | Alta local, mas polui | Não (limitado à LAN) |
| Multicast | 1 | Grupo selecionado | Excelente | Sim |
| Anycast | 1 | 1 (mais próximo) | Alta | Sim (comum em DNS raiz) |
2. O Problema da Escala em Modelos Tradicionais
Para compreender a importância da entrega para múltiplos destinos, é necessário analisar as ineficiências dos modelos alternativos ao tentar servir dados para muitos receptores:
- Unicast (Um-para-Um): Em um modelo Unicast, se um servidor de vídeo precisa transmitir o mesmo stream para 1.000 clientes, ele deve enviar 1.000 cópias idênticas dos dados. Isso multiplica a largura de banda de saída do servidor por 1.000 e sobrecarrega os enlaces de rede, transmitindo a mesma informação repetidamente pelo mesmo fio. Para um stream de 5 Mbps, o servidor precisa de 5 Gbps de upload.
- Broadcast (Um-para-Todos): Em um modelo Broadcast, o servidor envia uma única cópia para todos. Embora economize a largura de banda do servidor, todo dispositivo na rede local é forçado a interromper seu processamento para ler o pacote e decidir se deve descartá-lo. Isso gera desperdício de CPU nos hosts não interessados e interrompe estados de economia de energia. Além disso, o Broadcast geralmente não atravessa roteadores, limitando-se à rede local (limitação definida na RFC 1812).
- A Solução Multicast: O Multicast resolve isso permitindo que um host envie dados para um endereço de "grupo". A rede (roteadores e switches) gerencia a replicação inteligente: uma única cópia dos dados flui da fonte até os pontos onde a rede se ramifica para diferentes destinatários. A cópia é feita apenas nos nós de bifurcação onde há ouvintes ativos.
3. Endereçamento de Grupo (Classe D e IPv6 Multicast)
Na entrega para múltiplos destinos, os receptores não são endereçados individualmente. Eles se unem logicamente a um Grupo Multicast.
IPv4 — Classe D
- Faixa:
224.0.0.0a239.255.255.255(RFC 1112, RFC 3171) - Binário: Primeiros 4 bits do primeiro octeto são
1110(224-239) - Subfaixas reservadas:
| Faixa | Uso |
|---|---|
| 224.0.0.0/24 | Link-Local (não roteado) — ex: 224.0.0.1 (todos hosts), 224.0.0.5 (OSPF), 224.0.0.9 (RIPv2) |
| 224.0.1.0 - 238.255.255.255 | Globally Scoped (Internet) |
| 232.0.0.0/8 | Source-Specific Multicast (SSM) |
| 239.0.0.0/8 | Administratively Scoped (privado, análogo a RFC 1918) |
IPv6 Multicast
- Formato:
ff00::/8(RFC 4291) - Exemplos:
ff02::1(todos os nós do enlace),ff02::2(todos os roteadores),ff02::fb(mDNS),ff02::1:3(All DHCPv6 Servers)
4. O Conceito de Grupo e Dinâmica
- Endereçamento de Grupo: O tráfego é enviado para um endereço IP de grupo. O remetente não precisa saber quem são os membros, apenas o endereço do grupo.
- Anonimato para o Emissor: A fonte de dados (o servidor) é "cega" em relação aos receptores. Ela simplesmente joga o tráfego no endereço de grupo. É responsabilidade da rede (e do protocolo IGMP/PIM) garantir que o tráfego chegue apenas a quem solicitou.
- Dinâmica: A associação a um grupo é dinâmica. Um host pode entrar (Join) em um grupo a qualquer momento para começar a receber os dados e sair (Leave) quando terminar. Não há necessidade de configurar um grupo estaticamente; ele é formado pelos interesses atuais dos hosts.
5. Mecanismo de Replicação na Rede
A eficiência do Multicast reside em como os roteadores lidam com os pacotes. Este processo é frequentemente chamado de "Replicação no Ponto de Ramificação" (Branch Point Replication).
- Origem: O servidor envia um único datagrama IP para o endereço de grupo multicast.
- Backbone: O pacote viaja pela espinha dorsal da internet como um único fluxo.
- Roteamento Local: Quando o fluxo chega a um roteador que serve múltiplas redes locais (LANs):
- Se o roteador sabe que há interessados apenas na LAN A, ele encaminha uma cópia para a LAN A e descarta o fluxo das outras interfaces.
- Se há interessados na LAN A e na LAN B, o roteador replica (duplica) o pacote no nível da CPU e envia uma cópia para cada interface ativa.
- Resultado: A largura de banda é consumida proporcionalmente à abertura da árvore de receptores, e não ao número total de receptores. Mil usuários na mesma rede local não consomem mil vezes a banda do enlace de saída do servidor; eles consomem apenas a largura de banda de um único stream até o roteador local.
Protocolos de Roteamento Multicast
Para construir as árvores de distribuição, roteadores usam protocolos específicos:
| Protocolo | RFC | Uso |
|---|---|---|
| PIM-SM (Sparse Mode) | RFC 7761 | Mais comum, usa RP (Rendezvous Point) |
| PIM-DM (Dense Mode) | RFC 3973 | Inunda e poda (LANs densas) |
| PIM-SSM | RFC 4607 | Source-Specific (origem fixa) |
| MBGP | RFC 7716 | Multicast BGP para interdomínios |
| MSDP | RFC 3618 | Interdomain Multicast (obsoleto, substituído por PIM-SSM) |
6. A Interface com a Camada de Enlace (IGMP Snooping)
A entrega para múltiplos destinos na Camada de Rede (IP) deve mapear-se para a entrega física na Camada de Enlace (Ethernet).
- Mapeamento MAC: Endereços IP Multicast são mapeados para endereços MAC Multicast começando com
01:00:5Eem Ethernet. O mapeamento é simples: os 23 bits menos significativos do IP são copiados para os 23 bits finais do MAC. Isso gera ambiguidade (32 grupos IP por MAC), mas é uma otimização prática. - Exemplo: IP
239.1.2.3→ MAC01:00:5E:01:02:03. - IGMP Snooping: Para que a entrega seja eficiente, as placas de rede dos hosts não devem ser acordadas por todo o tráfego de broadcast. Quando um host se junta a um grupo IP via IGMP, o switch da rede (se suportar IGMP Snooping) aprende que aquele host quer ouvir aquele endereço MAC multicast específico. O switch então envia o tráfego apenas para a porta física do host interessado, em vez de inundar todas as portas (o que seria o comportamento L2 padrão para multicast).
7. Modelos de Fonte: ASM vs SSM
A entrega para múltiplos destinos evoluiu para suportar dois modelos de interação, gerenciados principalmente pelo IGMPv3:
- ASM (Any Source Multicast): O modelo tradicional. Quando um host se junta a um grupo (ex:
239.1.1.1), ele está dizendo "Quero ouvir esse grupo, não importa quem esteja enviando". É útil para conferências onde múltiplos palestrantes podem enviar dados. Exige protocolos complexos como MSDP para descoberta de fontes entre domínios. - SSM (Source Specific Multicast): O modelo moderno e seguro. O host especifica tanto o grupo quanto a fonte. "Quero ouvir o grupo 232.1.1.1, mas apenas se os dados vierem do IP 192.0.2.10". Isso previne que atacantes injetem tráfego não autorizado no grupo e simplifica o roteamento (não exige RP nem MSDP).
8. O Papel do IGMP
O protocolo IGMP (Internet Group Management Protocol) é o facilitador que torna essa entrega possível na rede local. Sem o IGMP, o roteador local não teria conhecimento de quais grupos possuem membros na rede conectada.
| Versão | RFC | Recursos |
|---|---|---|
| IGMPv1 | RFC 1112 | Join básico, timeout para leave |
| IGMPv2 | RFC 2236 | Leave Group explícito |
| IGMPv3 | RFC 3376 | Source-Specific (SSM), filtros Include/Exclude |
- Sinalização de Interesse: É o IGMP que permite ao host sussurrar ao roteador: "Eu estou interessado no grupo X".
- Pruning (Poda): Se todos os hosts de uma rede saírem do grupo, o IGMP notifica o roteador. O roteador então interrompe o fluxo de tráfego para aquela rede ("poda" o ramo da árvore de distribuição), economizando largura de banda.
Captura de Mensagens IGMP
tcpdump -n -i eth0 igmp
# IP 192.168.1.10 > 224.0.0.251: igmp report v3 [group 239.1.1.1 include 192.0.2.10]
# IP 192.168.1.1 > 224.0.0.1: igmp query v2 [max response time 100]
9. Casos de Uso Modernos
| Aplicação | Endereço Típico | Protocolo |
|---|---|---|
| OSPF Hello | 224.0.0.5 (IPv4), ff02::5 (IPv6) | IGP roteamento |
| RIPv2 | 224.0.0.9 | IGP roteamento |
| EIGRP | 224.0.0.10 | Cisco IGP |
| mDNS (Bonjour/Avahi) | 224.0.0.251:5353, ff02::fb | Descoberta local |
| IPTV / Streaming | 239.x.x.x (ISPs) | IGMPv3, PIM-SSM |
| Streaming financeiro | 224.x.x.x (operação market data) | Bloomberg, Reuters |
| SSDP/UPnP | 239.255.255.250:1900 | Descoberta dispositivos |
10. Por que o Multicast Não É Ubíquo na Internet Pública
Apesar de sua elegância técnica, o Multicast IP nunca foi amplamente habilitado na Internet pública entre domínios (interdomain). Razões:
- Complexidade operacional: Manter estado multicast em roteadores de núcleo é caro.
- Modelo de negócio: ISPs não querem carregar tráfego de outros ISPs sem pagamento (peering).
- Segurança: Risco de ataques de amplificação (multicast amplification attacks).
- Alternativas viáveis: CDNs (Akamai, Cloudflare, Netflix) usam Unicast com caches distribuídos, resolvendo o problema de escala comercialmente.
O Multicast IP permanece extremamente útil dentro de domínios únicos (intradomain), como redes corporativas, ISPs para IPTV, e datacenters para descoberta de serviços.
11. Conclusão
Em resumo, a "Entrega para Múltiplos Destinos" é a transformação da rede de um sistema de tubos ponto-a-ponto para um sistema de distribuição inteligente, escalável e dinâmico, habilitado tecnicamente pela gestão de grupos e memberships que o IGMP provê. Embora não tenha conquistado a Internet pública global (devido a complexidade operacional e substituição por CDNs unicast), o Multicast é indispensável em redes locais, provedores de IPTV, jogos massivos e protocolos de roteamento. Para engenheiros de redes, dominar Multicast, IGMP e PIM é fundamental para projetar infraestruturas que precisam distribuir eficientemente a mesma informação para muitos receptores simultaneamente.