03 - Multicast (IGMP, PIM)
video: https://youtu.be/... no frontmatter da nota.Multicast (IGMP, PIM)
O Multicast é o modelo de comunicação IP que permite a um único remetente transmitir pacotes para um grupo de receptores interessados, de forma eficiente e escalável. Em vez de enviar N cópias para N receptores (Unicast) ou inundar toda a rede (Broadcast), o Multicast envia uma única cópia do pacote, que é replicada apenas nos pontos de bifurcação da árvore de distribuição, alcançando exclusivamente os hosts que manifestaram interesse em receber aquele fluxo.
Esse modelo é a base para aplicações como IPTV corporativo, distribuição de cotações de mercado financeiro em tempo real, replicação de firmware em larga escala e streaming ao vivo em redes gerenciadas. Embora menos visível para o usuário final que o Unicast, o Multicast é fundamental para a eficiência de redes em broadcasting, datacenters e provedores.
1. Endereçamento Multicast
O Multicast IPv4 utiliza a faixa reservada 224.0.0.0/4 (Classe D), definida na RFC 1112, com endereços de 224.0.0.0 a 239.255.255.255. Em IPv6, a faixa equivalente é ff00::/8, definida na RFC 4291. Esses endereços não identificam um host individual, mas sim um grupo lógico que múltiplos hosts podem ingressar dinamicamente.
A. Sub-faixas IPv4
| Faixa | TTL | Escopo | Uso |
|---|---|---|---|
| 224.0.0.0/24 | 1 | Local Link | Protocolos de roteamento (não roteado) |
| 224.0.1.0/24 | >1 | Global | Aplicações multicast inter-domínio |
| 224.0.2.0 - 224.0.255.255 | >1 | Global | Aplicações DIS (ad-hoc) |
| 232.0.0.0/8 | - | Global | Source-Specific Multicast (SSM) |
| 233.0.0.0/8 | - | Global | GLOP (AS-based assignment) |
| 239.0.0.0/8 | - | Administrativo | Private multicast (equivalente RFC 1918) |
B. Endereços Especiais
- 224.0.0.1 - All Hosts na sub-rede local (todos os hosts que suportam multicast).
- 224.0.0.2 - All Routers na sub-rede local.
- 224.0.0.5 - OSPF AllSPFRouters (todos os roteadores OSPF).
- 224.0.0.6 - OSPF AllDRouters (apenas Designated Routers).
- 224.0.0.9 - RIPv2 (todos os roteadores RIP).
- 224.0.0.10 - IGRP / EIGRP.
- 224.0.0.13 - PIM (All-PIM-Routers).
- 224.0.0.18 - VRRP (Virtual Router Redundancy Protocol).
- 224.0.0.251 - mDNS (Multicast DNS, usado por Bonjour/Avahi).
Em IPv6, equivalências notáveis: ff02::1 (all-nodes), ff02::2 (all-routers), ff02::5 (OSPF), ff02::a (EIGRP), ff02::fb (mDNS).
2. Mapeamento MAC Multicast
Para entregar quadros multicast na camada 2, o IP multicast é mapeado para um MAC especial seguindo a regra OUI 01:00:5E seguido do bit 0 do primeiro octeto IP e o restante dos últimos 23 bits:
IPv4: 239.1.2.3
Hex: EF:01:02:03
MAC: 01:00:5E:01:02:03
Como apenas 23 bits do IP são usados para formar o MAC (o 25º bit sempre é zero), há sobreposição: 32 endereços IP diferentes mapeiam para o mesmo MAC. Em IPv6, o prefixo é 33:33: seguido dos últimos 32 bits do IPv6.
3. IGMP - Internet Group Management Protocol
O IGMP (IPv4) e o MLD - Multicast Listener Discovery (IPv6) são os protocolos utilizados pelos hosts para informar aos roteadores locais sobre seu interesse em receber tráfego de grupos multicast específicos. São protocolos de camada 3 encapsulados diretamente em IP (protocolo 2 para IGMP, ICMPv6 tipo 130/131/132/143 para MLD).
A. IGMPv1 (RFC 1112)
- Host envia Membership Report para ingressar em um grupo (224.0.0.2 originalmente, depois o próprio endereço do grupo).
- Roteador envia General Query a cada 60s para 224.0.0.1.
- Não há mecanismo explícito de saída (leave) - o host simplesmente para de responder às queries e o grupo expira após 3 ciclos.
B. IGMPv2 (RFC 2236)
- Introduz a mensagem Leave Group, enviada para 224.0.0.2, permitindo saída imediata do grupo.
- Group-Specific Query permite ao roteador perguntar especificamente sobre um grupo antes de removê-lo.
- Suporte a SSM (Source-Specific Multicast) de forma parcial via IGMPv3.
C. IGMPv3 (RFC 3376)
- Adiciona suporte completo a Source-Specific Multicast: o host pode solicitar recepção apenas de fontes específicas (INCLUDE) ou todas exceto algumas (EXCLUDE).
- Mensagens: Membership Report, Group-and-Source-Specific Query.
- Necessário para SSM (232.0.0.0/8).
D. MLD (IPv6)
- MLDv1 (RFC 2710): equivalente ao IGMPv2.
- MLDv2 (RFC 3810): equivalente ao IGMPv3, com suporte a SSM.
- Utiliza mensagens ICMPv6 (tipo 130 Listener Query, 131 Report, 132 Done, 143 v2 Report).
4. PIM - Protocol Independent Multicast
O PIM (RFC 7761 para PIM-SM) é o protocolo de roteamento multicast dominante na internet. É "Protocol Independent" porque aproveita a tabela de roteamento unicast já existente (construída por OSPF, IS-IS, BGP, etc.) para tomar decisões de encaminhamento, sem construir sua própria topologia.
A. Modos de Operação
| Modo | Sigla | Modelo | Uso |
|---|---|---|---|
| Dense Mode | PIM-DM | Push (flood-and-prune) | Redes densas em receptores |
| Sparse Mode | PIM-SM | Pull (explicit join) | Redes esparsas (mais comum) |
| Bidirectional PIM | BiDIR | *,G bidirecional | Muitas fontes e receptores |
| Source-Specific | SSM | S,G direto | Aplicações com fonte conhecida |
B. PIM-DM (Dense Mode)
Operação por flood-and-prune: o tráfere é inicialmente inundado para todas as interfaces, e os roteadores que não têm receptores enviam mensagens Prune para remover o ramo da árvore. As árvores são periodicamente reconstruídas (a cada 3 minutos por padrão). Adequado apenas para redes pequenas e densas em receptores, sendo raramente usado em produção atualmente.
C. PIM-SM (Sparse Mode)
Modelo dominante em redes modernas. Utiliza um ponto de encontro central, o RP (Rendezvous Point), para permitir que fontes e receptores se encontrem sem necessidade de flooding. Operação:
- Receptor → DR (Designated Router): host envia IGMP Membership Report.
- DR → RP: o DR envia
(*,G) Joinem direção ao RP, construindo a shared tree (RPT - RP-Tree). - Fonte → DR: a fonte começa a transmitir; seu DR encapsula os pacotes em
Registermessages para o RP. - RP → Fonte: o RP envia
Register-Stopquando o tráfego começa a fluir nativamente, e constrói uma árvore (S,G) em direção à fonte. - Switchover: o DR do receptor pode optar por construir a Shortest-Path Tree (SPT) em direção à fonte, abandonando o caminho via RP. Isso reduz latência e otimiza o caminho.
Estados mantidos nos roteadores: (*,G) (qualquer fonte para o grupo G) e (S,G) (fonte S específica para o grupo G).
D. SSM (Source-Specific Multicast)
Definido para a faixa 232.0.0.0/8 em IPv4 e ff3x::/32 em IPv6, o SSM simplifica o modelo exigindo que o receptor conheça previamente o IP da fonte. Não há necessidade de RP nem de shared tree - apenas árvores (S,G) diretas são construídas. Exige IGMPv3 ou MLDv2 nos hosts.
E. BiDIR-PIM
Variante otimizada para cenários com muitas fontes e muitos receptores (ex: mercado financeiro, videoconferência many-to-many). As árvores são bidirecionais, dispensando o registro de fonte e reduzindo o estado nos roteadores.
5. IGMP Snooping em Switches L2
Como o MAC multicast é o mesmo para todos os hosts do grupo, um switch L2 sem suporte especial tratava multicast como broadcast, inundando todas as portas da VLAN. O IGMP Snooping (RFC 4541) resolve isso: o switch inspeciona passivamente as mensagens IGMP entre hosts e roteadores, mantendo uma tabela que mapeia portas aos grupos multicast.
SW1# show ip igmp snooping groups
Vlan Group Type Version Port List
-------------------------------------------------------
10 239.1.1.1 igmp v2 Gi0/1, Gi0/5, Gi0/12
10 239.1.1.5 igmp v3 Gi0/3
A versão avançada, CGMP (Cisco Group Management Protocol), foi substituída pelo snooping padrão. Para PIM snooping, alguns switches de datacenter inspecionam também mensagens PIM Hello e Join/Prune para construir topologia L2 multicast-aware.
6. Aplicações Práticas
- IPTV em provedores: TV ao vivo entregue via multicast na rede do provedor, economizando banda comparado a unicast. Cada canal é um grupo (ex: 239.10.10.5).
- Mercado financeiro: distribuição de cotações Bovespa/NASDAQ em tempo real. Latência crítica, SSM com fontes conhecidas.
- Replicação de software: atualização de firmware em milhares de equipamentos simultaneamente (kiosks, set-top boxes, ATMs).
- Videoconferência H.323/SIP multiponto: MCU e gateways multicast em redes corporativas isoladas.
- RTP (Real-time Transport Protocol): frequentemente sobre multicast em ambientes controlados.
7. Configuração Cisco IOS - Exemplo PIM-SM
! Habilitar multicast routing global
R1(config)# ip multicast-routing
! Configurar PIM sparse-mode nas interfaces
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip pim sparse-mode
! Configurar RP estático
R1(config)# ip pim rp-address 10.10.10.10
! RP também precisa da configuração
RP(config)# interface Loopback0
RP(config-if)# ip pim sparse-mode
! Auto-RP dinâmico (alternativa)
R1(config)# ip pim send-rp-announce Loopback0 scope 31
R1(config)# ip pim send-rp-discovery Loopback0 scope 31
8. Diagnóstico e Troubleshooting
| Comando Cisco IOS | Função |
|---|---|
show ip pim neighbor |
Lista vizinhos PIM |
show ip pim rp |
Mostra RPs configurados e aprendidos |
show ip mroute |
Tabela de roteamento multicast (estados *,G e S,G) |
show ip igmp groups |
Grupos IGMP ativos nos hosts locais |
show ip igmp snooping groups |
Grupos aprendidos via snooping no switch |
mrinfo |
Informações de topologia multicast |
mtrace |
Trace de caminho multicast (origem → destino) |
9. Limitações e Considerações
Apesar de eficiente, o Multicast tem adoção limitada na internet pública devido a:
- Complexidade operacional: RP, PIM, IGMP snooping e troubleshooting exigem expertise específico.
- Segurança: grupos podem ser "sequestrados" por receptores não autorizados se não houver ACLs rigorosas; ataques de flooding multicast podem saturar redes.
- Inter-domain multicast: a interconexão entre provedores via MBGP/MSDP era frágil e está em declínio, sendo substituída por SSM e CDN unicast.
- NAT e firewalls: a maioria dos firewalls bloqueia tráfego multicast por padrão, exigindo configuração explícita.
Em datacenters modernos e ambientes Kubernetes, soluções como eBPF multicast, VXLAN multicast replication e Rosenocker multicast têm ganho espaço, demonstrando que o modelo ainda é relevante para casos de uso específicos onde a eficiência 1-para-muitos é crítica.