IGMP

IGMP
Nombre Protocolo de gestión de grupos de Internet
Nivel (según el modelo OSI ) la red
Familia TCP/IP
Propósito del protocolo Gestión de enrutamiento de multidifusión
Especificación RFC 3376

IGMP ( Protocolo de administración de grupos de Internet en inglés   - protocolo para administrar grupos de Internet) es un protocolo para administrar la transmisión de datos grupales (multidifusión) en redes basadas en el protocolo IP . IGMP es utilizado por enrutadores y hosts IP para organizar dispositivos de red en grupos.

Este protocolo es parte de la especificación IP Multicast . IGMP se encuentra en la capa de red [1] . Es similar en muchos aspectos a ICMP para unidifusión . IGMP se puede usar para admitir la transmisión de video y los juegos en línea , para este tipo de aplicaciones permite el uso de los recursos de la red de manera más eficiente. IGMP es vulnerable a algunos ataques [2] [3] [4] [5] y los cortafuegos normalmente permiten al usuario desactivar este protocolo si no es necesario.

IGMP se utiliza únicamente en redes IPv4 , ya que en IPv6 la transmisión de paquetes multicast se implementa a través del protocolo Multicast Listener Discovery .

Arquitectura

Una red que proporciona servicios de multidifusión (como video) mediante IGMP puede tener la siguiente arquitectura básica:

La computadora cliente y los conmutadores vecinos utilizan IGMP para conectar el cliente y el enrutador de multidifusión local. El protocolo de multidifusión independiente del protocolo (PIM) se usa luego entre los enrutadores locales y remotos para enrutar el tráfico de multidifusión desde el servidor de video a varios clientes de multidifusión.

Estándares

Según la Solicitud de comentarios (RFC), un documento de la comunidad del Grupo de trabajo de ingeniería de Internet (IETF), existen tres versiones de IGMP. IGMPv1 se define en RFC 1112 , IGMPv2 en RFC 2236 e IGMPv3 en RFC 3376 .

La principal mejora de IGMPv3 sobre IGMPv2 es la compatibilidad con el filtrado de direcciones IP . Con este mecanismo, un host puede saber de qué direcciones quiere recibir paquetes y de cuáles no.

Implementación

El protocolo IGMP se implementa en forma de partes de servidor y cliente, la primera de las cuales se ejecuta en el enrutador, la segunda, en el nodo de red que recibe tráfico de multidifusión. El cliente envía una notificación sobre la pertenencia a cualquier grupo al enrutador local, en este momento el enrutador está esperando notificaciones y periódicamente envía solicitudes a los clientes.

Los sistemas operativos de las familias BSD , Linux y Windows admiten el lado del cliente del protocolo. En un sistema Linux, se agregó IGMPv3 en la versión 2.5 del kernel. Para FreeBSD, se agregó IGMPv3 en la versión 8.0.

Linux usa demonios para implementar el backend IGMP , por ejemplo, mrouted puede actuar como un enrutador IGMP. También hay paquetes de software completos (como XORP ) que le permiten convertir una computadora común en un enrutador de multidifusión con todas las funciones.

En OpenBSD , la compatibilidad con IGMP en el núcleo inicialmente incluye compatibilidad con el enrutamiento básico, mientras que los demonios mrouted y dvmrpd disponibles en el sistema operativo le permiten resolver tareas más complejas (por ejemplo, canalizar el tráfico de multidifusión).

Estructura del paquete IGMPv3

Definido por RFC 3376 .

Mensaje de consulta de membresía

Las solicitudes de membresía son enviadas por enrutadores para determinar para cada nodo su membresía en cualquier grupo (estado de membresía del grupo) y una lista de fuentes de información de las cuales este nodo desea recibir mensajes (estado de recepción). Hay tres tipos de solicitudes de este tipo:

Octeto 0 una 2 3 cuatro 5 6 7 ocho 9 diez once 12 13 catorce quince dieciséis 17 Dieciocho 19 veinte 21 22 23 24 25 26 27 28 29 treinta 31
0-3 Tipo = 0x11 Código máximo de resp. Suma de verificación
4-7 dirección del grupo
8-11 Res. S QRV QQIC Número de fuentes (N)
12-15 Dirección de origen [1]
  Dirección de origen [N]

Mensaje de informe de membresía

Octeto 0 una 2 3 cuatro 5 6 7 ocho 9 diez once 12 13 catorce quince dieciséis 17 Dieciocho 19 veinte 21 22 23 24 25 26 27 28 29 treinta 31
0-3 Tipo = 0x22 Reservado Suma de verificación
4-7 Reservado Número de registro de grupo (M)
8-11 Registro de grupo [1]
  Registro de grupo [M]
0 una 2 3 cuatro 5 6 7 ocho 9 diez once 12 13 catorce quince dieciséis 17 Dieciocho 19 veinte 21 22 23 24 25 26 27 28 29 treinta 31
tipo de registro Línea de datos auxiliar Número de fuentes (N)
dirección de multidifusión
Dirección de origen [1]
Dirección de origen [N]
Datos auxiliares

Otros tipos de paquetes

Tipo de Nombre Descripción
0x12 Informe de membresía de la versión 1 Debe ser compatible para compatibilidad con versiones anteriores
0x16 Informe de membresía de la versión 2
0x17 Grupo de abandono de la versión 2
0x13 Protocolo de enrutamiento de multidifusión de vector de distancia protocolo experimental

Véase también

Notas

  1. Hechicería de red - IGMP . Fecha de acceso: 21 de diciembre de 2009. Archivado desde el original el 27 de abril de 2006.
  2. Denegación de servicio de informe IGMP falsificado. Archivado el 10 de junio de 2011 en la vulnerabilidad de Wayback Machine .
  3. ↑ El paquete IGMP fragmentado Archivado el 13 de febrero de 2005 en Wayback Machine puede promover el ataque de "Denegación de servicio".
  4. Declaración y requisitos del problema de seguridad de IGMP Archivado el 13 de octubre de 2006. .
  5. Boletín de seguridad de Microsoft MS06-007: Una vulnerabilidad en TCP/IP podría permitir la denegación de servicio (913446) Archivado el 31 de marzo de 2007 en Wayback Machine .

Enlaces