19.01.2015 Views

IP multicast - Grupo ARCO

IP multicast - Grupo ARCO

IP multicast - Grupo ARCO

SHOW MORE
SHOW LESS

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

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

Saved successfully!

Ooh no, something went wrong!