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