CONSULTORÍA ESTRATÉGICA EN TECNOLOGÍAS
DE LA INFORMACIÓN Y COMUNICACIONES

CONSULTORIA EN REDES Y SERVICIOS DE TELECOMUNICACIONES


Guía fácil de las TIC del... P2P

Autor: Ramón Jesús Millán Tejedor

Publicado en Guías fáciles de las TIC del Día de Internet, COIT, 2006

Descargar el artículo en PDF



¿QuÉ es el P2P?

La conjunción de tecnologías de compresión de contenidos digitales, conexiones a Internet de banda ancha y programas P2P, hacen factible descargar en muy poco tiempo archivos grandes y de alta calidad. Esta mezcla tan atractiva para los usuarios de Internet, ha intensificado involuntariamente el dolor de cabeza provocado por la piratería para los estudios de cine y las compañías discográficas. Según diversos estudios, más del 60% del tráfico actual de Internet está generado por las redes P2P, constituyendo así la aplicación estrella (killer application) de la banda ancha.

Si bien los sistemas P2P, con Napster a la cabeza, empezaron a ser conocidos por los usuarios y desarrolladores por su utilización para el intercambio “ilícito” de contenidos protegidos por derechos de autor, la realidad es que esta tecnología ofrece una gran cantidad de beneficios para sus usuarios, tanto domésticos como empresariales. Entre las aplicaciones actuales y futuras de las redes P2P, cabe destacar: negocios de intercambio de todo tipo de contenidos digitales de forma legal, protección contra virus, educación colaborativa a distancia, difusión de televisión y radio en tiempo real, telefonía IP, mensajería instantánea, redes de almacenamiento, etc.

¿Pero qué es en concreto el P2P?... Básicamente, una red informática P2P (Peer-to-Peer) o “entre iguales o pares”, se refiere a una red que no tiene clientes y servidores fijos, sino una serie de nodos que se comportan a la vez como clientes y como servidores de los demás nodos de la red. Este modelo de red contrasta con el modelo cliente-servidor tradicionalmente empleado en las aplicaciones de Internet. Así, todos los nodos se comportan igual y pueden realizar el mismo tipo de operaciones; pudiendo no obstante diferir en configuración local, velocidad de proceso, ancho de banda de su conexión a la red y capacidad de almacenamiento.

Típicamente, la computadora que realiza algunas tareas en beneficio de otras aplicaciones llamadas clientes (clients), es el denominado servidor (host). Algunos servidores habituales son los servidores de archivos, que permiten a los usuarios almacenar y acceder a los archivos de un ordenador, y los servidores de aplicaciones, que realizan tareas en beneficio directo del usuario final. El modelo cliente-servidor era muy apropiado cuando no existían los PCs, sólo estaciones de trabajo, cuya potencia distaba mucho de los grandes y costosos ordenadores centrales (mainframes). Hoy en día, los PCs empleados en hogares y empresas tienen unas prestaciones cada vez más parecidas a los servidores a un precio sensiblemente menor. Por ello, las redes P2P son la mejor alternativa para aprovechar toda la capacidad de proceso, almacenamiento y ancho de banda sobrante de los ordenadores interconectados.

¿CÓmo y cuÁndo se utiliza el P2P?

La arquitectura tradicional para el desarrollo de aplicaciones distribuidas está basada en el modelo cliente-servidor. Este modelo, empleado en Internet para la práctica totalidad de los servicios convencionales (Web, FTP, Telnet, etc.), consta de una serie de clientes que acceden simultáneamente a un conjunto de servidores que ofrecen ciertos recursos o aplicaciones. Cuando se pretenden descargar grandes volúmenes de información a muchos clientes, la arquitectura cliente-servidor es lenta, costosa y no escalable. No aprovecha, por ejemplo, que un mismo servidor muy remoto pueda estar siendo objeto de acceso por dos clientes muy cercanos entre sí.

En cambio, en la arquitectura para la distribución de contenidos empleada por los programas P2P es una arquitectura cliente-servidor, pero en la que también colaboran los clientes o pares. En este caso, los ordenadores clientes se ayudan entre sí, convirtiéndose en servidores de otros clientes. Estas redes pueden crecer indefinidamente sin incrementar el tiempo de las búsquedas y sin necesidad de costosos recursos centralizados; como utilizan el ancho de banda, capacidad de almacenamiento y capacidad de procesamiento de las máquinas que interconectan, el número de dichos recursos siempre aumenta en proporción directa con el propio crecimiento de la red.

Para descargar un fichero a través de redes P2P, en primer lugar, los ficheros objeto de la descarga se segmentan en pequeñas partes para su distribución. Acto seguido, los clientes solicitan diferentes trozos al servidor o a otros clientes y comienzan su descarga de forma concurrente para conseguir una mayor velocidad. Entonces, esos mismos clientes se convierten en servidores para los trozos que están descargando o que acaban de descargar. Como el mismo fichero se descarga desde múltiples fuentes al mismo tiempo, la velocidad es mucho mayor cuando crece el número de usuarios que lo comparten. Dado que el ancho de banda y el número de conexiones establecidas es limitado en cada servidor, es necesario establecer un sistema de colas que permita que todos los clientes descarguen distintos segmentos de forma equitativa. Una vez que el cliente disponga de todos los trozos descargados, reconstruirá el fichero total. En ese momento, el usuario podrá reproducir el vídeo o la canción descargada.

El procedimiento empleado cuando, por ejemplo, se comparten recursos computacionales a través de redes P2P es básicamente el mismo, con la salvedad de que ahora serán las tareas las que se segmentan teniendo en cuenta sus posibilidades de paralelización. Una vez divididas en partes independientes, estas tareas se envían a distintos pares para su solución.

Arquitectura cliente-servidor y P2P

Figura 1: Arquitectura cliente-servidor y P2P.

¿QuÉ utilidad tiene el P2P?

Los programas P2P tienen una serie de características distintivas inherentes a su naturaleza descentralizada, que son las que las hacen realmente atractivas para los usuarios domésticos y empresariales, pudiendo resumirlas en:

  • Mejora de la escalabilidad, reduciendo las ineficiencias, cuellos de botella y recursos desperdiciados, típicos de los sistemas centralizados.
  • Mejora del rendimiento, agregando anchos de banda, capacidad de almacenamiento y ciclos de computación de los dispositivos diseminados por una red.
  • Mayor tolerancia a fallos, permitiendo que el servicio ofrecido no se pierda debido a fallos asociados a desconexiones de nodos, caídas en la red y fallos de nodos.
  • Anonimato, permitiendo a los usuarios usar un servicio sin preocuparse de cuestiones legales o de otro tipo, como ataques a su intimidad o censura de la información publicadad.
  • Propiedad compartida, reduciendo el coste de la posesión de los sistemas y contenidos, así como el coste de su mantenimiento.

Algunas de las aplicaciones P2P más populares en estos momentos suponen cierto grado de centralización, siendo su punto en común que todas siguen un sistema de computación de red distribuida donde todos los nodos se comunican de igual a igual. Las principales aplicaciones del P2P se suelen agrupar en:

  • Compartición de ficheros. Las aplicaciones de compartición de ficheros son las más famosas y a la vez las más controvertidas de todas las posibles aplicaciones de las tecnologías P2P. Una característica de P2P es que la información es distribuida de forma totalmente flexible, segura y dinámica, haciendo que su control sea realmente complicado, por lo que ha sido empleado tradicionalmente para la difusión “ilícita” de material con copyright, mediante programas como Kazaa o eDonkey2000. Sin embargo, también existen redes P2P destinadas al intercambio legal de contenidos digitales, como PeerImpact o iMesh, que emplean técnicas de DRM (Digital Rights Management) que aseguran que la distribución de los contenidos cumpla en todo momento el copyright establecido.
  • Distribución de contenidos. La distribución de contenidos se diferencia de la compartición de ficheros, en cuanto a que dichos ficheros son en este caso replicados entre todos los distintos iguales. Las redes P2P serán de gran utilidad para la distribución de contenidos, como por ejemplo: vídeo bajo demanda (películas a la carta) o aplicaciones de streaming vídeo o audio (como televisión o radio). De nuevo el P2P es un medio ideal para que dicha distribución de contenidos mejore su eficiencia y calidad a un menor costo. La BBC ha sido una de las primeras cadenas de televisión mostrar en la Red toda su programación de radio y televisión mediante una tecnología que ha denominado Internet Media Player, basada en P2P y que incorpora mecanismos de DRM, preservando los derechos de autor de lo emitido por la cadena y pudiendo especificar el tiempo que se tiene para ver un programa.
  • Sincronización de datos. La sincronización es similar a la distribución de contenidos, con la diferencia de que es a un nivel más granular. Los usuarios domésticos y empresariales acostumbramos a sincronizar datos entre distintos dispositivos, como por ejemplo, la agenda de contactos entre el terminal móvil y el ordenador. La sincronización mediante P2P podría emplearse, por ejemplo, para que los fabricantes de software distribuyesen los parches de aplicaciones entre sus clientes, o para que los teletrabajadores actualizasen documentos entre su ordenador doméstico y los servidores de almacenamiento de la empresa. Microsoft incorpora en Windows Vista tecnología P2P para la distribución de contenidos y la sincronización de datos. Este componente, conocido por Avalanche, está destinado a las descargas de material legal, como software comercial o emisiones de radio y televisión, aunque será también utilizado para la descarga de parches y actualizaciones de seguridad, tareas que actualmente son realizadas desde una serie de servidores centrales propiedad de Microsoft, y que crean cuellos de botella en dichos servidores. El P2P también puede emplearse para la realización de copias de seguridad automáticas de datos críticos de nuestros ordenadores, algo que ya ofrece, por ejemplo, PeerioData. PeerioData permite crear redes de almacenamiento robustas y seguras sin servidores dedicados, reduciendo así los costes en infraestructura y mantenimiento.
  • Mensajería instantánea, telefonía y videoconferencia IP. La centralización empleada por los sistemas tradicionales de comunicación IP, como MSN Messenger, supone demasiados costes al proveedor en servidores dedicados, y además este costo aumenta en proporción al número de usuarios. El resultado de esto es que las compañías que ofrecen tales servicios, destinan muy pocos recursos a los servidores por usuario, y esto perjudica la calidad de las comunicaciones. Por ello, el siguiente paso lógico en la revolución originada por el intercambio de ficheros a través de la tecnología P2P, fue la telefonía IP; y Skype fue el primer programa en desarrollar una red de telefonía de este tipo. Skype aprovecha eficientemente todos los recursos disponibles en una red; elevando así el porcentaje de concreción de llamadas y la calidad de éstas, a niveles ligeramente inferiores al sistema telefónico básico. Además de telefonía IP, Skype permite establecer sesiones de mensajería instantánea, videoconferencia y transferencia de ficheros directa entre usuarios.
  • Colaboración. La informática colaborativa (groupware) consiste en varias tecnologías y procesos para eliminar el aislamiento de los empleados individuales y construir un nuevo modelo empresarial cooperativo. Una de las grandes ventajas de emplear la tecnología P2P para colaboración es que una aplicación puede ser totalmente desarrollada sin depender de servidores u otros sistemas administrados de forma centralizada. De este modo, los programas P2P se encargan de descubrir los otros nodos y de encaminar de forma segura los mensajes entre los distintos usuarios. Entre las aplicaciones más completas para la colaboración en LAN e Internet empleando arquitectura P2P, tipo al famoso Lotus Notes en arquitectura cliente-servidor, está Groove . Groove integra mensajería instantánea, chat, intercambio de archivos, agenda de contactos y calendario común, y la posibilidad de trabajar en grupo directamente sobre el mismo archivo de Word, todo ello con total seguridad.
  • Compartición de ciclos de procesamiento. Los ordenadores personales mejoran continuamente en cuanto a velocidad, espacio de almacenamiento y precio. No obstante, la mayoría de las aplicaciones no utilizan completamente los recursos de los ordenadores, por lo que la capacidad sobrante es bastante importante. Las aplicaciones y protocolos P2P pueden utilizar el exceso de potencia de cálculo y almacenamiento para crear sistemas donde todo el procesamiento sea realizado por pares en vez de por servidores. La idea es emplear esta capacidad de cálculo sobrante para resolver problemas complejos, dividiendo éstos en subproblemas que puedan ser resueltos de forma independiente por un gran número de ordenadores. Aunque esto es complicado de llevar a la práctica, existen ya programas P2P operando de este modo como SETI@home, cuyo objetivo es la búsqueda de vida extraterreste mediante la detección de su tecnología de comunicaciones, buscando patrones que demuestren inteligencia en las ondas de radio procedentes del espacio.

<<< Volver al listado de artículos