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 .
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.
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.
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).
Definido por RFC 3376 .
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] |
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 |
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 |
Protocolos TCP /IP básicos por capas del modelo OSI | |
---|---|
Físico | |
canalizado | |
la red | |
Transporte | |
sesión | |
Representación | |
Aplicado | |
Otro aplicado | |
Lista de puertos TCP y UDP |