Redes de computadores: conhecendo os protocolos de rede IGMP e PIM…

Se existe algo que me deixa fascinado em redes de computadores, é ver (e compreender) o funcionamento de toda uma infraestrutura local, que promove um conjunto de serviços essenciais e seus respectivos protocolos, trabalhando juntos e em harmonia! Em muitos cenários, estes protocolos utilizam recursos um dos outros, embora funcionem de forma independente; já em outros, eles acabam estabelecendo uma interessante relação “simbiótica” entre eles, tornando a sua implementação e configuração mais “desafiante”…

Um belo caso que já havia comentado aqui, é referente as implementações dos serviços DHCP Snooping, ARP Inspection e IP Source Guard. O DHCP Snooping estabelece uma base de dados que por sua vez, associa os endereços MAC das estações com os endereços IPs fornecidos por servidores DHCP confiáveis. A partir desta informações, os serviços ARP Inspection e IP Source Guard passam a atuar na infraestrutura, filtrando (e bloqueando) o tráfego de dados gerado por estações que “roubaram” os endereços IPs e MACs de estações legítimas.

Mais recentemente, conheci outra “dupla dinâmica” de protocolos, que funcionam em conjunto e trabalham em plena harmonia: eis, o IGMP (Internet Group Management Protocol) e o PIM (Protocol-Independent Multicast)! Como já devem saber, a comunicação entre os hosts acontece tanto no nível “físico” quanto “lógico”, com base em suas suas IDs (endereços MAC e IP). Porém, o sistema de transmissão de dados multicast apresenta alguns desafios para que a comunicação “de um para muitos” (mas não todos) possa ocorrer de forma eficiente.

Para ingressar em grupos de multicast e assim, receber os dados transmitidos pela fonte (servidor), as estações utilizam o protocolos IGMP para esta finalidade, através de uma mensagem de solicitação (join). O protocolo atua na camada de enlace (segmento local) e é direcionado para que o roteador habilitado possa rotear o tráfego desejado. Durante este processo, esta mensagem passa pelo switch que por sua vez, associa o endereço MAC multicast gerado para aquela sessão (IGMP snooping) para a porta pela qual foi recebida a solicitação em questão, com o objetivo de comutar o tráfego multicast para ela.

Assim que a mensagem chega ao roteador, entra em cena o protocolo PIM. Este por sua vez, trabalha na camada de redes e requer o suporte ao roteamento local, para que a solicitação (join) seja encaminhada para a fonte das transmissões multicast. Com base nela, o protocolo constrói toda uma ramificação (árvore), com o objetivo de estabelecer os “caminhos” necessários (shortest path-tree), para que as transmissões multicast feitas cheguem aos receptores. De acordo com o modo utilizado (DM ou SM), vários processos internos são inicializados, culminando na otimização de toda a transmissão multicast.

Incrível, não? E o mais interessante ainda é (tentar) compreender como as mentes dos seus criadores pensam (e trabalham), para conceber toda esta arquitetura de comunicação e assim, trazer à luz estes protocolos de redes e padronizar todos os processos de comunicação, além de “facilitar” a vida dos administradores de redes e dos demais profissionais de TI que atuam neste segmento! Sem contar ainda, os desafios para implementar os algoritmos para prover o suporte aos serviços de redes, padronizados por estes protocolos de comunicação.

E tem gente que acha que tirar certificações de TI é difícil… &;-D