Hasta ahora hemos estado hablando sobre transmisiones multicast usando UDP. Esta es la práctica habitual, ya que es imposible hacerlo usando TCP. Sin embargo, desde hace un par de años se están realizando intensas investigaciones para diseñar algunos protocolos de transporte multicast nuevos.
Algunos de estos protocolos han sido implementados y se ya están probando. Una buena lección que se puede extraer de ellos es que parece que no hay ningún protocolo de transporte multicast que sea suficientemente bueno y general para todas las aplicaciones multicast.
Si los protocolos de transporte son complejos y difíciles de sintonizar, imagínese teniendo que ajustar los retardos (en conferencias multimedia), perdidas de datos, ordenaciones, retransmisiones, control de flujo y congestión, gestión de grupos, etc.. cuando el receptor no es uno, sino quizás cientos o miles de ordenadores dispersos. Aquí es importante la escalabilidad, y se están implementando nuevas técnicas, como no transmitir asentimientos para cada paquete recibido y en su lugar, enviar asentimientos negativos (NACKs) para los datos que no se han recibido. El RFC 1458 detalla los requisitos propuestos para los protocolos multicast.
Dar descripciones de esos protocolos multicast está fuera del ámbito
de esta sección. En su lugar daré los nombres de algunos de ellos y
apuntaré a algunas fuentes de información: Real-Time Transport
Protocol (RTP) se ocupa de conferencias multimedia entre varias
personas, Scalable Reliable Multicast (SRM) se utiliza por el
wb
(la herramienta de Pizarra distribuida, ver la sección
Aplicaciones Multicast),
Uniform Reliable Group Communication Protocol (URGC) fomenta
transacciones fiables y ordenadas basadas en un protocolo
centralizado, Muse fue desarrollado como un protocolo
específico de aplicación: el de transmitir los artículos de noticias
vía multicast sobre el MBone, el Multicast File Transfer
Protocol (MFTP) es suficientemente descriptivo por sí mismo y la
gente se «une» a transmisiones de ficheros (previamente anunciadas)
de igual manera que se unirían a una conferencia, Log-Based
Receiver-reliable Multicast (LBRM) es un protocolo curioso ya que
guarda un registro de todos los paquetes enviados en un ordenador que
indica al emisor cuándo tiene que retransmitir los datos o puede
descartarlos ya que los receptores los han recibido. Un protocolo con
un nombre divertido -especialmente para un protocolo multicast- es
STORM (STructure-Oriented Resilient Multicast)
[storm en inglés significa tormenta. De ahí la
gracia del nombre para un protocolo multicast, ya que con el apelativo
de «tormentas multicast» se suele bautizar el efecto de cientos de
ordenadores transmitiendo respuestas a la vez e inundando la red; un
efecto que todo protocolo multicast debe encontrar la forma de
evitar. N. del A. para la T.] Se pueden encontrar muchos protocolos
multicast buscando la Web, junto con trabajos interesantes proponiendo
nuevas actividades para multicast (por ejemplo, distribución de
páginas WWW usando multicast).
Una buena página que da comparativas entre protocolos fiables multicast es: http://www.tascnets.com/mist/doc/mcpCompare.html.
Un servidor muy bueno y actualizado, con un buen número de enlaces interesantes (borradores de Internet, RFC's, trabajos, enlaces a otros servidores) es:
http://research.ivv.nasa.gov/RMP/links.html
.
http://hill.lut.ac.uk/DS-Archive/MTP.html
también es una buena fuente de información sobre el tema.
El articulo de Katia Obraczka «Multicast Transport Protocols: A Survey and Taxonomy» da una breve descripción para cada protocolo e intenta clasificarlos de acuerdo con distintas características. Puedes leerlo en la revista IEEE Communications, Enero 1998, vol. 36, No. 1.