lunes, 18 de julio de 2011

Multidifusión IP. Final de IPv4

Ahora si, esta había quedado pendiente de ayer. Es el último capítulo relativo a IPv4, la semana que entra empezaríamos IPv6. El original lo pueden encontrar aquí, y como verán es muy breve. Veremos como va la semana. De momento no hay mas, ahí les va, provecho! 

La mayor parte de las comunicaciones TCP/IP utilizan el protocolo de Internet (IP) para enviar mensajes desde un dispositivo fuente a un dispositivo receptor, esto se llama comunicaciones unicast. Este es el tipo de mensajes para el que normalmente usamos TCP/IP, cuando utilizamos el Internet utilizamos unicast para casi todo. Por esta razón, la mayor parte de mi análisis del protocolo IP se ha orientado en torno a describir mensajes unicast.

IP, sin embargo, también admiten la posibilidad de tener un dispositivo que envíe un mensaje a un grupo de destinatarios. Esto se conoce como multidifusión (multicast). El multicasting IP ha sido "oficialmente" soportado desde que IPv4 fue definida por primera vez, pero no ha tenido un uso generalizado en los últimos años, debido principalmente a la falta de soporte para la multidifusión en muchos dispositivos de hardware. El interés en la multidifusión se ha incrementado en los últimos años, y el soporte para el multicasting se convirtió en una parte estándar de la versión de IP de próxima generación IPv6. Por lo tanto, me parece que vale la pena ofrecer un breve resumen de la multidifusión IP. Es un tema muy amplio y muy complejo, por lo que no entraré en muchos detalles, tendrás que buscar otro lugar para una descripción completa de la multidifusión IP. (Lo siento, era un resumen breve o nada, tal vez escriba más sobre la multidifusión en el futuro.)

La idea detrás de la multidifusión IP es permitir que un dispositivo en una red IP envíe datagramas no a un solo receptor, sino a una colección arbitraria de dispositivos. El multicasting IP es mmodelado desde una función similar usada en la capa de enlace de datos para permitir que un único dispositivo de hardware envíe datos a varios miembros de un grupo. La multidifusión es relativamente fácil en la capa de enlace de datos, sin embargo, dado que que todos los dispositivos pueden comunicarse directamente. En cambio, en la capa de red, conectamos dispositivos que pueden estar muy lejos el uno del otro, y deben enrutar datagramas entre estas diferentes redes. Esto necesariamente complica el multicasting cuando emplea el protocolo IP (excepto en el caso especial en que usamos la multidifusión IP sólo entre dispositivos en la misma red en la capa de enlace de datos.)

Hay tres funciones principales que se deben realizar para implementar el multicasting IP: el direccionamiento, la gestión de grupos, y el procesamiento de datagramas/enrutamiento.

El direccionamiento multicast.
Se debe usar un direccionamiento especial para el multicasting. Estas direcciones de multidifusión identifican no dispositivos individuales, sino grupos de dispositivos multicast que escuchan ciertos datagramas enviados a ellos. En IPv4, 1/16to del espacio de direcciones ha sido reservado para las direcciones de multidifusión: el bloque de clase D del esquema de direccionamiento original "classful".

Se emplean técnicas especiales para definir el significado de las direcciones dentro de este bloque, y para definir la asignación entre las direcciones IP multicast y la capa de enlace de datos. Esto es descrito completamente en el tema del direccionamiento IP multicast, el mapeo de direcciones IP multicast a direcciones multicast de la capa de hardware se analiza en la sección de resolución de direcciones.

Administración de grupos multicast.
La gestión de grupos abarca todas las actividades necesarias para crear grupos de dispositivos. Estos deben ser capaces de unirse o retirarse de forma dinámica de los grupos, y la información sobre los grupos deben propagarse a todas las redes IP. Se necesitan técnicas adicionales para soportar estas actividades. El Internet Group Management Protocol (IGMP) es la principal herramienta utilizada para este propósito. Este define un formato de mensaje para permitir el envío entre dispositivos y routers de la información acerca de grupos y sus miembros en internet.

Procesamiento y routeo de datagramas de multidifusión.
Esta es probablemente lo más complicado: el manejo y enrutamiento de los datagramas en un entorno de multidifusión. Hay varias cuestiones aquí:
  • Ya que estamos enviando desde un dispositivo a muchos dispositivos, tenemos que crear en realidad varias copias de los datagramas para ser entregados, en contraste con el datagrama único utilizado en el caso unicast. Los routers deben ser capaces de decir cuando es necesario crear estas copias.
  • Los routers deben utilizar algoritmos especiales para determinar la forma de enviar datagramas multicast. Ya que cada uno puede llevar a que se envíen muchas copias a varios lugares, la eficiencia es importante para evitar la creación innecesaria de altos volúmenes de tráfico.
  • Los routers deben ser capaces de manejar datagramas enviados a un grupo multicast, aun cuando la fuente no sea un miembro del grupo.
El enrutamiento en un entorno de multidifusión requiere una inteligencia mucho mayor en la parte de hardware del router. Varios protocolos especiales, como el Distance Vector Multicast Routing Protocol (DVMRP), y la versión multicast de OSPF, se utilizan para permitir a los routers el reenvío eficiente del tráfico multicas. Estos algoritmos deben equilibrar la necesidad de garantizar que todos los dispositivos en un grupo reciban una copia de todos los datagramas destinados a este grupo, con la necesidad de evitar el movimiento del tráfico innecesario a través de la red.

Concepto clave: La multidifusión IP permite desarrollar ciertas aplicaciones especiales en las que un dispositivo envía información a más de un otro, a través de una Internet privada o la Internet global. Es más complejo que que el IP unicast convencional y requiere una atención especial sobre todo en las áreas de direccionamiento y enrutamiento.

Este resumen sólo ha arañado la superficie de la multidifusión IP. La complejidad en el manejo de grupos y el reenvío de mensajes a grupos de multidifusión es una razón por la que la compatibilidad con la característica ha sido muy desigual y, en consecuencia, no se utiliza ampliamente. Otro tema es la naturaleza exigente de la multidifusión, que utiliza una gran cantidad de ancho de banda para las copias de los mensajes, y también requiere más trabajo de los ya bastante ocupados routers.