19.01.2015 Views

IP multicast - Grupo ARCO

IP multicast - Grupo ARCO

IP multicast - Grupo ARCO

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!