IP multicast - Grupo ARCO
IP multicast - Grupo ARCO
IP multicast - Grupo ARCO
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Versión 28/02/11<br />
:: Redes ::<br />
aplicación<br />
transporte<br />
red<br />
enlace<br />
<strong>IP</strong> <strong>multicast</strong><br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
física<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
1
Contenidos<br />
Introducción<br />
<strong>Grupo</strong>s Multicast<br />
IGMP<br />
Enrutamiento Multicast<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
2
Introducción<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
El envío de datagramas en <strong>IP</strong> es de dos tipos:<br />
●<br />
●<br />
Unicast. Un origen a un solo destino.<br />
Broadcast. Un origen a todos los hosts de la sub-red. Los<br />
encaminadores no permiten que estos datagramas salgan de la<br />
sub-red<br />
Algunos tipos de aplicaciones necesitan un método eficiente<br />
para enviar mensajes a un grupo de nodos en cualquier<br />
parte de la red.<br />
Se trata de evitar que el origen tenga que enviar una copia del<br />
mensaje a cada destino.<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
3
<strong>Grupo</strong>s <strong>multicast</strong><br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
<strong>IP</strong> <strong>multicast</strong> permite el envío de datagramas a un grupo<br />
concreto de nodos.<br />
El grupo completo de nodos se identifica por una única<br />
dirección <strong>IP</strong> (una dirección <strong>multicast</strong>)<br />
Los grupos son dinámicos, los nodos pueden entrar y salir de<br />
un grupo en cualquier momento. Un nodo puede ser miembro<br />
de varios grupos de forma simultánea.<br />
No hay limitaciones en el número de nodos que pueden estar<br />
un grupo.<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
4
<strong>Grupo</strong>s <strong>multicast</strong><br />
Un nodo puede enviar a un grupo sin pertenecer a él.<br />
Los grupos pueden ser permanentes o temporales.<br />
Los grupos permanentes tiene dirección <strong>IP</strong> fijas asignadas<br />
Los grupos temporales existen sólo mientras tengan<br />
miembros.<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
5
Direcciones <strong>multicast</strong><br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
Todas las direcciones <strong>multicast</strong> son de clase D.<br />
Cada dirección identifica un grupo <strong>multicast</strong>: 2 28 grupos<br />
Algunas direcciones <strong>multicast</strong> especiales:<br />
●<br />
●<br />
●<br />
●<br />
●<br />
224.0.0.0 - Reservado<br />
224.0.0.1 - Todos los hosts de esta red<br />
224.0.0.2 - Todos los enrutadores de esta red<br />
224.0.0.5 - Todos los enrutadores OSPF<br />
224.0.0.11- Todos los agentes móviles<br />
Nota<br />
Lista de direcciones <strong>IP</strong> <strong>multicast</strong> asignadas estáticamente:<br />
http://www.iana.org/assignments/<strong>multicast</strong>-addresses<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
6
Envío de paquetes <strong>multicast</strong><br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
●<br />
●<br />
●<br />
El envío de datagramas <strong>IP</strong> <strong>multicast</strong> a otras redes lo realizan<br />
enrutadores <strong>multicast</strong>. Pueden utilizarse enrutadores<br />
unicast/<strong>multicast</strong> o se puede usar otros específicos.<br />
Operación de envío:<br />
Un nodo transmite un paquete <strong>IP</strong> <strong>multicast</strong> (en una trama Ethernet<br />
<strong>multicast</strong>), llegando a todos los miembros del grupo en la sub-red.<br />
Los enrutadores de la sub-red son responsables de hacer llegar ese<br />
paquete a todas las redes en las que haya miembros de ese grupo.<br />
En las redes distantes, el enrutador debe encapsular el paquete sobre<br />
una trama <strong>multicast</strong> para que llegue a todos los nodos suscritos al<br />
grupo.<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
7
Multicast en el nivel de enlace<br />
En la LAN, los paquetes <strong>IP</strong> <strong>multicast</strong> se encapsulan en tramas muticast.<br />
La dirección física <strong>multicast</strong> se construye a partir de un patrón de 25 bits<br />
más los 23 bits de la dirección <strong>IP</strong> del datagrama<br />
1110<br />
<strong>IP</strong> clase D: 32 bits<br />
23 bits<br />
01:00:5E:0<br />
Ethernet: 48 bits<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
En una WAN donde raramente se soporta <strong>multicast</strong>, el datagrama<br />
<strong>multicast</strong> se encapsula en un datagrama unicast (tunneling)<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
8
Ventajas y desventajas<br />
Ventajas<br />
●<br />
●<br />
Se ahorra ancho de banda<br />
Disminuye la carga de los servidores<br />
Desventajas<br />
●<br />
●<br />
●<br />
Distribución no confiable de los paquetes. No se puede usar TCP<br />
Duplicación de paquetes, debida a errores de enrutamiento<br />
Congestión. Las aplicaciones <strong>multicast</strong> no pueden implementar<br />
un mecanismo de control como el de TCP.<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
9
Protocolo IGMP (Internet Group Management Protocol)<br />
Es un protocolo específico para la gestión de grupos <strong>multicast</strong>.<br />
Los nodos de una red local lo utilizan para notificar a los enrutadores<br />
<strong>multicast</strong> su entrada y salida de los grupos<br />
Formato del mensaje IGMP:<br />
0<br />
1<br />
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9<br />
tipo<br />
tiempo máximo<br />
de respuesta<br />
2<br />
0 1 2 3 4 5 6 7 8 9<br />
checksum<br />
3<br />
0 1<br />
dirección del grupo<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
●<br />
●<br />
tipo: a) pregunta general o especial (0x11), b) informe de membresía (0x16)<br />
y c) salida (0x17)<br />
tiempo máximo: un valor tiempo (en decenas de segundos) en el que una<br />
petición será respondida.<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
10
Protocolo IGMP<br />
Formato del mensaje IGMP:<br />
tipo:<br />
0<br />
1<br />
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9<br />
tipo<br />
tiempo máximo<br />
de respuesta<br />
dirección del grupo<br />
2<br />
0 1 2 3 4 5 6 7 8 9<br />
checksum<br />
3<br />
0 1<br />
<br />
<br />
a) pregunta general o<br />
especial (0x11),<br />
b) informe de<br />
membresía (0x16)<br />
<br />
c) salida (0x17)<br />
●<br />
tiempo máximo: un valor tiempo (en decenas de segundos) en el que una<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
petición será respondida.<br />
Encapsulación:<br />
cabecera<br />
de trama<br />
cabecera <strong>IP</strong><br />
TTL:1<br />
cabecera<br />
IGMP<br />
área de datos de la trama<br />
datos<br />
IGMP<br />
área de datos <strong>IP</strong><br />
terminador<br />
de la trama<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
11
Protocolo IGMP :: operación<br />
Los enrutadores <strong>multicast</strong> utilizan IGMP para aprender las<br />
direcciones de los grupos con miembros en la sub-red<br />
Un enrutador <strong>multicast</strong> mantiene una lista de grupos.<br />
Cuando un nodo quiere entrar en un grupo envía un paquete de<br />
petición de suscripción. Si el nodo sabe que hay otros<br />
miembros activos no envía nada.<br />
petición para entrar en el grupo<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
0x16 0<br />
dirección del grupo<br />
host o enrutador<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
12
Protocolo IGMP :: salir de un grupo<br />
Cuando un nodo quiere dejar un grupo, envía un mensaje de salida<br />
del grupo a 224.0.0.2 (todos los enrutadores <strong>multicast</strong> de la sub-red)<br />
Cuando el enrutador interrogador recibe un mensaje de salida envía<br />
un mensaje de pertenencia a ese grupo para averiguar si queda<br />
algún nodo más, antes de abandonarlo él mismo.<br />
petición para salir del grupo<br />
0x17 0<br />
dirección del grupo<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
comprobación especial de membresía<br />
0x11 100<br />
dirección del grupo<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
13
Protocolo IGMP :: mantenimiento de grupos<br />
Un enrutador (el interrogador) envía periódicamente mensajes IGMP de<br />
pertenencia a grupos a la dirección 224.0.0.1. (todos los nodos mcast)<br />
Cuando un nodo recibe ese paquete inicia un temporizador aleatorio para<br />
cada uno de los grupos a los que pertenece.<br />
Cuando el temporizador expira, envía un mensaje de pertenencia.<br />
Si el enrutador no recibe ningún mensaje de pertenencia después de ese<br />
tiempo, elimina a su vez su suscripción al grupo.<br />
comprobación general de membresía<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
0x11 100<br />
0.0.0.0<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
14
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
Enrutamiento Multicast<br />
Diferencias con el enrutamiento unicast.<br />
● Entra un solo datagrama pero puede ser necesario generar<br />
copias que saldrán por varios interfaces.<br />
● La tabla de enrutamiento es más compleja y más costosa de<br />
mantener.<br />
El datagrama unicast se enruta a través de un grafo, mientras<br />
que el <strong>multicast</strong> se enruta a través de un árbol.<br />
Hay dos clases de árboles<br />
● Árbol con raíz en el origen del paquete<br />
● Árbol compartido<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
15
Enrutamiento Multicast :: Árboles<br />
Árbol de núcleo<br />
Árbol con raíz en el origen<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
16
Enrutamiento Multicast :: Árboles<br />
Tipos de árboles<br />
●<br />
bidireccionales.<br />
● unidireccionales.<br />
Árbol de núcleo bidireccional<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
17
Enrutamiento Multicast :: Árboles<br />
Tipos de árboles<br />
●<br />
bidireccionales.<br />
●<br />
unidireccionales.<br />
Árbol de núcleo bidireccional<br />
Árbol de núcleo unidireccional<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
18
Enrutamiento Multicast<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
La mayoría de los protocolos de enrutamiento <strong>multicast</strong> utilizan<br />
la técnica RPF (Reverse Path Fordwarding), Reenvío por Ruta<br />
Inversa<br />
La información de enrumatiento se puede obtener de la tabla de<br />
enrutamiento unicast o usar una especifica, como DVMRP<br />
(Distance Vector Multiple Routing Protocol)<br />
La transmisión <strong>multicast</strong> se puede limitar de dos modos:<br />
●<br />
●<br />
Con un umbral TTL<br />
Utilizando direcciones con el prefijo 239.0.0.0/8 que no se<br />
transmiten fuera de una red corporativa<br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
19
Enrutamiento Multicast<br />
Tipos de protocolos:<br />
de modo denso (DVMRP y PIM-DM): Asumen que en cada red<br />
existe, al menos, un receptor activo en cada grupo<br />
de modo disperso (PIM-SM y CBT): En este caso, se asume que<br />
la mayoría de las redes no tiene ningún receptor para los grupos<br />
activos.<br />
de estado de enlace (MOSPF): Es como los protocolos de modo<br />
denso, pero el método de actualización de las tablas está basado<br />
en OSPF.<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
20
Enrutamiento Multicast :: Protocolos de modo denso<br />
Utilizan la inundación y poda de ramas en la transmisión de<br />
paquetes a un grupo.<br />
Pasado un tiempo, un enrutador vuelve a enviar paquetes<br />
<strong>multicast</strong> de un grupo podado.<br />
Los enrutadores que han enviado un mensaje de poda, y<br />
desean volver a recibir paquetes del grupo podado, envían un<br />
mensaje “injerto”<br />
Utilizan árboles con raíz en el origen.<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
21
Enrutamiento Multicast :: Protocolos de modo disperso<br />
Usan árboles de núcleo.<br />
Los enrutadores suponen que, por defecto, no ningún host<br />
interesado en ningún grupo <strong>multicast</strong>.<br />
Cuando un enrutador tiene un nodo que pertenece a un grupo,<br />
envía una solicitud al enrutador siguiente con destino en la raíz del<br />
árbol del grupo.<br />
Cuando un enrutador no tiene receptores de un grupo concreto,<br />
envía un mensaje de poda al siguiente enrutador hacia la raíz del<br />
árbol de ese grupo.<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
22
Referencias<br />
Se recomienda repasar y profundizar el contenido de este tema utilizando (al<br />
menos) la siguiente bibliografía básica:<br />
B.F. Transmisión de datos y redes de comunicaciones, cuarta edición 2007.<br />
●<br />
Sección 21.3 y 22.4.<br />
Redes : : <strong>IP</strong> <strong>multicast</strong><br />
David Villa :: http://www.inf-cr.uclm.es/www/dvilla/<br />
23