Usuário(a):Gabriela Cristina Ross/Internet Group Management Protocol

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

O Internet Group Management Protocol (IGMP) é um protocolo de comunicação usado por hosts e roteadores adjacentes em redes IPv4 para estabelecer associações de grupos multicast. O IGMP é parte integrante do multicast IP e permite que a rede direcione as transmissões multicast apenas para os hosts que as solicitaram.

IGMP pode ser usado para aplicativos de rede, como streaming de vídeo e jogos online, e permite o uso mais eficiente de recursos ao oferecer suporte a esses tipos de aplicativos.

IGMP é usado em redes IPv4. O gerenciamento multicast em redes IPv6 é feito pelo Multicast Listener Discovery (MLD), que faz parte do ICMPv6 em contraste com o encapsulamento de IP simples do IGMP.

Arquitetura[editar | editar código-fonte]

Uma rede projetada para fornecer um serviço multicast usando IGMP pode usar esta arquitetura básica:

IGMP opera entre um host e um roteador multicast local. Os switches com rastreamento IGMP derivam informações úteis ao observar essas transações IGMP. O Protocol Independent Multicast (PIM) é então usado entre os roteadores multicast locais e remotos, para direcionar o tráfego multicast de hosts que enviam multicasts para hosts que se registraram por meio do IGMP para recebê-los.

IGMP opera na camada de rede, da mesma forma que outros protocolos de gerenciamento de rede como ICMP.[1]

O protocolo IGMP é implementado em um host específico e dentro de um roteador. Um host solicita associação a um grupo por meio de seu roteador local enquanto um roteador escuta essas solicitações e envia consultas de assinatura periodicamente. Um único roteador por sub-rede é eleito para executar esta função de consulta. Alguns switches multicamadas incluem um recurso de consulta IGMP para permitir que seus recursos de rastreamento IGMP funcionem na ausência de um recurso de multicast IP na rede maior.

O IGMP é vulnerável a alguns ataques[2][3][4][5] e os firewalls geralmente permitem que o usuário o desative se não for necessário.

Versões[editar | editar código-fonte]

Existem três versões do IGMP.[6] IGMPv1 é definido por RFC 112, IGMPv2 é definido por RFC 2236 e IGMPv3 foi inicialmente definido por RFC 3376 e foi atualizado por RFC 4604 que define IGMPv3 e MLDv2. O IGMPv2 melhora o IGMPv1 adicionando a capacidade de um host sinalizar o desejo de deixar um grupo multicast. O IGMPv3 melhora o IGMPv2 ao oferecer suporte a multicast específico da fonte e apresenta a agregação de relatório de associação.

Essas versões são compatíveis com versões anteriores. Um roteador compatível com IGMPv3 pode oferecer suporte a clientes que executam IGMPv1, IGMPv2 e IGMPv3. IGMPv1 usa um modelo de consulta-resposta. As consultas são enviadas para 224.0.0.1. Os relatórios de associação são enviados para o endereço multicast do grupo. IGMPv2 acelera o processo de saída de um grupo e ajusta outros tempos limite. As mensagens de saída do grupo são enviadas para 224.0.0.2. Uma consulta específica do grupo é introduzida. As consultas específicas do grupo são enviadas para o endereço multicast do grupo. É apresentado um meio para os roteadores selecionarem um indagador IGMP para a rede. IGMPv3 apresenta capacidade multicast específica da fonte. Os relatórios de sócios são enviados para 224.0.0.22.

Mensagens[editar | editar código-fonte]

Existem vários tipos de mensagens IGMP:

Consultas gerais de adesão
Enviado por roteadores multicast para determinar quais endereços multicast são de interesse para os sistemas conectados à(s) rede(s), eles servem para atualizar o estado de associação do grupo para todos os sistemas em sua rede.
Consultas de associação específicas de grupo
Usado para determinar o estado de recepção de um endereço multicast específico.
Consultas específicas de grupo e fonte
Permite que o roteador determine se algum sistema deseja receber mensagens enviadas a um grupo multicast de um endereço de origem especificado em uma lista de endereços unicast.
Relatórios de sócios
Enviado por receptores de multicast em resposta a uma consulta de associação ou de forma assíncrona ao se registrar pela primeira vez para um grupo de multicast.
Mensagens de saída de grupos
Enviado por receptores multicast quando as transmissões multicast especificadas não são mais necessárias no receptor.

As mensagens IGMP são transportadas em pacotes IP simples com o protocolo IP número 2. Semelhante ao protocolo de mensagens de controle de Internet, não há camada de transporte usada com mensagens IGMP.

Mensagens IGMPv2[editar | editar código-fonte]

Estrutura do pacote IGMPv2
deslocamento de bit 0–7 8–15 16–31
0 Tipo Tempo máximo de resposta Soma de verificação
32 Endereço do grupo

Onde:

Type
Indica o tipo de mensagem da seguinte forma:
Valores de tipo de mensagem IGMP
Mensagem Valor
Consulta de membros 0x11
Relatório de associação IGMPv1 0x12
Relatório de associação IGMPv2 0x16
Relatório de associação IGMPv3 0x22
Deixar o grupo 0x17
Tempo Máximo de Resposta

Especifica a capacidade de resposta necessária de respostas a uma Consulta de associação (0x11). Este campo é significativo apenas na Consulta de Associação; em outras mensagens, é definido como 0 e ignorado pelo receptor. O campo especifica o tempo em unidades de 0,1 segundo (um valor de campo de 10 especifica 1 segundo). Valores maiores reduzem a intermitência do tráfego IGMP e valores menores melhoram a resposta do protocolo quando o último host deixa um grupo.

Endereço do Grupo

Este é o endereço multicast que está sendo consultado ao enviar uma consulta específica de grupo ou de grupo e origem. O campo é zerado ao enviar uma consulta geral.

A mensagem é enviada usando os seguintes endereços IP de destino:

Endereço de destino IGMPv2
Tipo de mensagem Endereço Multicast
Consulta Geral Todos os hosts (224.0.0.1)
Consulta Específica de Grupo O grupo sendo consultado
Relatório de sócios (todas as versões IGMP) O grupo sendo informado
Sair do grupo Todos os roteadores (224.0.0.2)

Consulta de adesão IGMPv3[editar | editar código-fonte]

Consulta de adesão IGMPv3
deslocamento de bit 0–3 4 5–7 8–15 16–31
0 Tipo = 0x11 Tempo máximo de resposta Soma de verificação
32 Endereço do Grupo
64 Resv S QRV QQIC Número de fontes (N)
96 Endereço da fonte [1]
128 Endereço da fonte [2]
. . .
Endereço da fonte [N]

Onde:

Tempo máximo de resposta
Este campo especifica o tempo máximo (em incrementos de 1/10 de segundo) permitido antes de enviar um relatório de resposta. Se o número estiver abaixo de 128, o valor é usado diretamente. Se o valor for 128 ou mais, ele é interpretado como um expoente e coeficiente.
Soma de verificação
Este é o complemento de um de 16 bits da soma do complemento de um de toda a mensagem IGMP.
Endereço do Grupo
Este é o endereço multicast que está sendo consultado ao enviar uma consulta específica de grupo ou de grupo e origem. O campo é zerado ao enviar uma consulta geral.
Resv
Este campo está reservado. Deve ser zerado quando enviado e ignorado quando recebido.
S (Suppress Router-side Processing) Flag
Quando este sinalizador é definido, ele indica aos roteadores de recebimento que eles devem suprimir as atualizações normais do cronômetro.
QRV (Querier's Robustness Variable)
Se for diferente de zero, ele contém o valor da variável de robustez usado pelo remetente da consulta. Os roteadores devem atualizar sua variável de robustez para corresponder à consulta recebida mais recentemente, a menos que o valor seja zero.
QQIC (Querier's Query Interval Code)
Este código é usado para especificar o valor do intervalo de consulta (em segundos) usado pelo consultor. Se o número estiver abaixo de 128, o valor é usado diretamente. Se o valor for 128 ou mais, ele é interpretado como um expoente e coeficiente.
Número de fontes (N)
Este campo especifica o número de endereços de origem presentes na consulta. Para consultas gerais e específicas de grupo, esse valor é zero. Para consultas específicas de grupo e fonte este valor é diferente de zero, mas limitado pela MTU da rede.
Endereço da fonte [i]
Os campos de endereço da fonte [i] são um vetor de 'n' endereços IP unicast, onde n é o valor no campo número de fontes (N).

Ver também[editar | editar código-fonte]

References[editar | editar código-fonte]

Categoria:Protocolos Internet Categoria:Protocolos de camada de rede Categoria:Redes de computadores