robot de la enciclopedia para niños

Peer-to-peer para niños

Enciclopedia para niños
Archivo:P2P-network
Ejemplo de una red basada en peer-to-peer.

Una red peer-to-peer (P2P), también conocida como red de pares o red entre iguales, es un tipo de red de ordenadores donde todos los dispositivos conectados (llamados "nodos" o "pares") pueden comunicarse directamente entre sí. En estas redes, no hay un servidor central fijo que controle todo. En cambio, cada dispositivo puede actuar como cliente (pidiendo información) y como servidor (ofreciendo información) al mismo tiempo.

Cuando un dispositivo se une a una red P2P, se conecta directamente a otros dispositivos. Así, puede obtener y compartir información y contenido disponible. Es como un programa que conecta a los usuarios para que puedan compartir música, películas, libros, fotos y programas de forma directa y gratuita. Los archivos se comparten "de dispositivo a dispositivo" solo por estar conectados a la red.

Estas redes suelen funcionar como "redes superpuestas" sobre redes públicas como Internet. Esto significa que usan la infraestructura de Internet, pero con sus propias reglas para conectar los dispositivos.

Las redes P2P aprovechan y mejoran el uso del ancho de banda (la capacidad de una conexión para enviar y recibir datos) de todos los usuarios. Esto hace que las conexiones y transferencias sean más rápidas que con métodos centralizados. En los métodos centralizados, pocos servidores manejan todo el ancho de banda y los recursos.

Estas redes son útiles para muchas cosas. A menudo se usan para compartir archivos de cualquier tipo, como audio, video o programas. También se usan en la telefonía por Internet (VoIP) para que la transmisión de datos en tiempo real sea más eficiente.

La eficiencia de un dispositivo en una red P2P puede variar. Depende de su configuración (como los cortafuegos o ruteadores), la velocidad de su procesador, el ancho de banda de su conexión y su capacidad de almacenamiento. A medida que más dispositivos se conectan, la gestión de los recursos de la red puede volverse más compleja.

En mayo de 1999, Shawn Fanning lanzó una aplicación para compartir música y archivos llamada Napster. Esta aplicación marcó el inicio de las redes P2P tal como las conocemos hoy. Con ella, los usuarios podían crear una red virtual sin depender de una autoridad central.

¿Para Qué se Usan las Redes P2P?

Las redes P2P son muy útiles para aplicaciones y servicios que necesitan muchos recursos, como un gran ancho de banda o mucha capacidad de almacenamiento y procesamiento.

Algunos ejemplos de cómo se usan las redes P2P son:

  • Intercambio y búsqueda de archivos: Esta es una de las aplicaciones más comunes. Ejemplos conocidos son BitTorrent y eMule (de la red eDonkey2000).
  • Sistemas de archivos distribuidos: Como CFS o Freenet, que guardan partes de archivos en diferentes dispositivos.
  • Sistemas para proteger la privacidad: Como i2p o MorphMix, que ayudan a mantener el anonimato de los usuarios. Estas tecnologías forman parte de lo que se conoce como red oscura o peer-to-peer anónimo.
  • Telefonía por Internet: Versiones anteriores de Skype usaban P2P para sus llamadas.
  • Distribución de contenido multimedia: Desde 2006, empresas como Warner Bros y la BBC han usado P2P (por ejemplo, con BitTorrent) para distribuir películas y programas de televisión.
  • Cálculos científicos: Se usan para procesar grandes cantidades de datos, como en procedimientos de bioinformática.
  • Monedas digitales: Como Bitcoin, que permiten transacciones directas entre personas.
  • Sistemas de seguridad (CCTV): Grabadores de cámaras de seguridad que envían imágenes a celulares y computadoras.
Archivo:Leech bittorrent
Representación gráfica de un grupo de usuarios en BitTorrent compartiendo y recibiendo datos.

Las redes P2P también se usan para grandes programas que buscan posibles medicamentos. El primer sistema de este tipo se creó en 2001 en la Universidad de Oxford, con la ayuda de la Fundación Nacional para la Investigación del Cáncer de Estados Unidos.

Hoy en día, hay varios sistemas similares, como el proyecto "United Devices Cancer Research Project". También existen sistemas más pequeños para biólogos que necesitan comparar datos bioinformáticos con muchos servicios de análisis. Esto ayuda a compartir técnicas de análisis en una comunidad.

Las universidades también han empezado a experimentar con el compartición de archivos, como el caso de LionShare.

¿Cómo Han Evolucionado las Redes P2P?

Aunque los sistemas P2P ya existían antes, se hicieron muy populares con aplicaciones para compartir archivos, como Napster (lanzada en 1999). Este movimiento permitió que millones de usuarios de Internet se conectaran directamente, formando grupos para colaborar.

La idea original de Tim Berners-Lee para la World Wide Web era similar a una red P2P. Él imaginaba que cada usuario de la web sería un creador y colaborador activo, generando y enlazando contenido. La Internet de los inicios era más abierta, permitiendo que dos computadoras conectadas se enviaran información directamente.

USENET, un sistema de mensajería distribuida creado en 1979, a menudo se describe como una de las primeras arquitecturas P2P. Tenía un modelo de control descentralizado. Los servidores de noticias se comunicaban entre sí como pares para distribuir los artículos.

En mayo de 1999, con millones de personas más en Internet, Shawn Fanning lanzó la aplicación Napster. Napster fue el comienzo de las redes P2P modernas, donde los usuarios pueden crear una red virtual sin depender de una autoridad central.

Características Importantes de las Redes P2P

Las redes P2P tienen varias características deseables:

  • Escalabilidad: Pueden crecer mucho, con millones de usuarios potenciales. Cuantos más dispositivos se conectan y comparten sus recursos, mejor funciona la red en general. Esto es diferente de los sistemas con servidores fijos, donde añadir más usuarios puede hacer que todo sea más lento.
  • Robustez: Como la información está distribuida y a menudo duplicada en muchos lugares, la red es más resistente a fallos. Si un dispositivo deja de funcionar, la información puede encontrarse en otros. En las redes P2P "puras", no hay un único punto de fallo.
  • Descentralización: Por definición, estas redes no tienen un control central. Todos los dispositivos son iguales y ninguno es esencial para que la red funcione. Sin embargo, algunas redes populares como Napster o BitTorrent no son completamente descentralizadas.
  • Distribución de costes: Los usuarios comparten o "donan" sus recursos (archivos, ancho de banda, capacidad de procesamiento o almacenamiento) a cambio de otros recursos.
  • Anonimato: Es deseable que en estas redes la identidad del creador, editor, lector o servidor de un contenido pueda mantenerse en secreto si los usuarios lo necesitan.
  • Seguridad: Esta es una característica importante que aún se está mejorando. Los objetivos son identificar y evitar dispositivos maliciosos, proteger contra contenido con virus, evitar el espionaje de comunicaciones y crear grupos seguros. Se investigan métodos como el cifrado y la gestión de permisos.

Desafíos en el Funcionamiento de las Redes P2P

Muchos dispositivos en Internet no tienen una dirección IP fija o accesible para otros. Esto ocurre con dispositivos conectados por Wifi o Ethernet, o con los que usan cortafuegos o NAT. Para que una red P2P funcione bien, hay que resolver dos problemas: cómo encontrar un dispositivo ya conectado y cómo conectar dispositivos sin una dirección IP pública.

Para el primer problema, la solución común es conectarse a un servidor inicial conocido (con una IP fija) que el programa P2P ya tiene guardada. Este servidor mantiene una lista de otros dispositivos conectados. Una vez que el cliente tiene esta información, puede unirse a la red y comunicarse con otros dispositivos sin necesidad del servidor inicial.

Para el segundo problema, cuando los dispositivos no tienen una dirección pública, se conectan a través de otro dispositivo que actúa como intermediario. Ambos dispositivos se conectan al intermediario, y este envía la información de uno al otro. Cualquier dispositivo con una dirección IP pública puede ser un intermediario. Por ejemplo, en la red Skype, las conversaciones de otras personas pueden pasar por tu computadora. En estos casos, es vital tener mecanismos de seguridad para que los intermediarios no puedan entender la comunicación.

Tipos de Redes P2P

Las redes P2P se pueden clasificar de varias maneras:

Según su Nivel de Centralización

Archivo:Topologías de red
Las tres formas de organizar una red, que también se aplican al diseño P2P.

Redes P2P Centralizadas

Este tipo de red usa un único servidor central. Todas las operaciones pasan por este servidor, que actúa como punto de conexión entre los dispositivos y también almacena y distribuye la información.

Son fáciles de administrar y el contenido está siempre disponible. Sin embargo, ofrecen poca privacidad y tienen problemas para crecer, ya que un solo servidor puede fallar. También pueden generar altos costos de mantenimiento y consumo de ancho de banda.

Ejemplos de estas redes fueron Napster y Audiogalaxy.

Redes P2P Híbridas o Semicentralizadas

En estas redes, hay un servidor central que ayuda a organizar los recursos y la comunicación entre los dispositivos. Este servidor no sabe la identidad de cada dispositivo ni guarda archivos. La información se comparte directamente entre los dispositivos.

Lo especial de estas redes es que, si el servidor central falla, los dispositivos pueden seguir comunicándose directamente entre sí. Esto permite seguir compartiendo y descargando información.

Ejemplos de redes P2P híbridas son BitTorrent, eDonkey y Direct Connect.

Redes P2P Puras o Totalmente Descentralizadas

Estas son las redes P2P más comunes y versátiles. No necesitan ningún tipo de gestión central. Los propios usuarios actúan como dispositivos de conexión y también almacenan la información. Todas las comunicaciones son directas entre usuarios, a veces con la ayuda de otro usuario como intermediario.

En estas redes, cada dispositivo intenta mantener varias conexiones con otros dispositivos. Este grupo de dispositivos conectados maneja el tráfico de la red, que incluye solicitudes de información y mensajes de control.

El modelo P2P puro es más resistente porque no depende de un servidor central, y es más económico. La principal desventaja es que buscar información puede llevar mucho tiempo y consumir mucho ancho de banda. Además, a veces un archivo buscado no se encuentra, aunque exista.

Algunos ejemplos de redes P2P "puras" son Kademlia, Ares Galaxy, Gnutella y Freenet.

Según su Estructura

La red P2P se forma por todos los usuarios que participan como dispositivos. Hay conexiones entre dos dispositivos si se conocen entre sí. Según cómo se conectan los dispositivos, las redes P2P pueden ser no estructuradas o estructuradas.

Una red P2P no estructurada se forma cuando las conexiones se establecen de forma aleatoria. Son fáciles de construir: un usuario que se une puede copiar conexiones de otro dispositivo y luego crear las suyas propias. Un ejemplo es Gnutella.

En una red no estructurada, si un usuario busca información, la solicitud debe recorrer toda la red para encontrar a alguien que comparta los datos. La desventaja principal es que las solicitudes no siempre se resuelven. Si un contenido es muy popular, es probable que se encuentre. Pero si es poco común, es difícil hallarlo. Como no hay una relación clara entre un usuario y el contenido que comparte, no hay garantía de encontrar la información deseada. Este método también aumenta el tráfico en la red, lo que reduce la eficiencia de las búsquedas. La mayoría de las redes P2P populares (Napster, Gnutella y KaZaA) son no estructuradas.

Las redes P2P estructuradas superan las limitaciones de las no estructuradas. Usan una tabla de hash distribuida (DHT) que asigna valores a cada contenido y a cada usuario. Así, cada usuario es responsable de una parte específica del contenido. Cuando un usuario busca datos, usa un protocolo global para saber qué usuario o usuarios los tienen y dirige la búsqueda hacia ellos. Algunas redes P2P estructuradas son Chord y Content Addressable Network.

Según la Generación

Las redes P2P también se pueden clasificar por su generación:

Primera Generación P2P

Son las primeras redes P2P, que definieron el concepto básico. El ejemplo más representativo es Napster, que se usaba para intercambiar archivos de música (no muy grandes) a través de una arquitectura centralizada. Los archivos eran almacenados y proporcionados por los usuarios.

Segunda Generación P2P

En esta generación se introdujo la descentralización. No hay un servidor central, y todos los dispositivos actúan como clientes y servidores. Esta característica se ha extendido a la mayoría de las redes P2P actuales. Un ejemplo conocido es BitTorrent, que mejoró la capacidad de compartir archivos más grandes.

Middleware P2P

El middleware es un tipo de programa que actúa como un puente entre el sistema operativo y las aplicaciones. Permite la comunicación y gestión de datos en aplicaciones distribuidas. El middleware P2P es una plataforma en la red que permite acceder a recursos de forma rápida, sin importar dónde estén.

Está diseñado para distribuir recursos en muchos dispositivos conectados a Internet. Se encarga de enviar mensajes desde los clientes hasta los dispositivos donde está la información. Así, los usuarios no necesitan saber dónde se guarda su información ni cómo llegar a ella. El conocimiento de la ubicación de los recursos se distribuye por toda la red. Cada dispositivo sabe sobre sus vecinos y los archivos que guarda, además de tener información básica de toda la red.

Mientras que Napster (primera generación) tenía un índice centralizado de archivos, en la segunda generación, sistemas como Gnutella y Freenet usan índices distribuidos con algoritmos específicos.

Los sistemas middleware P2P están diseñados para encontrar automáticamente los objetos distribuidos que manejan los sistemas y aplicaciones P2P.

  • Funciones principales: Simplifican la creación de servicios que funcionan en muchas máquinas en una red grande. Los clientes deben poder encontrar y comunicarse con cualquier recurso, aunque esté en diferentes máquinas. También es importante poder añadir y quitar recursos fácilmente. El middleware P2P debe ofrecer una forma sencilla de programar para los desarrolladores de aplicaciones.
  • Requisitos importantes:

* Escalabilidad global: Deben poder manejar aplicaciones que acceden a millones de objetos en cientos de miles de dispositivos. * Balanceo de carga: El rendimiento de un sistema distribuido depende de que el trabajo se distribuya de manera equilibrada entre las máquinas. En los sistemas middleware P2P, esto se logra colocando los recursos de forma aleatoria y duplicando los más usados. * Optimización de interacciones locales: La distancia entre los dispositivos que interactúan afecta la velocidad. El middleware debe intentar mantener los recursos más usados cerca del dispositivo que los necesita.

El middleware P2P también es clave para sincronizar eventos en el sistema. Esto permite que usuarios conectados desde diferentes dispositivos interactúen en un ambiente virtual al mismo tiempo. Para que la interacción sea en tiempo real, el middleware debe asegurar una comunicación rápida y fluida.

Algunos ejemplos de middleware P2P son el routing overlay (red superpuesta), las tablas de hash distribuidas (DHT) y Kademlia.

Tercera Generación P2P

Son las redes más recientes. Han mejorado el concepto de middleware P2P, descentralizando el proceso de indexación (DHT) y haciendo el enrutamiento más eficiente. Implementan una comunicación indirecta, cifrada y anónima.

Según la Protección de la Identidad

Las redes P2P se pueden clasificar según cómo protegen la identidad del usuario:

  • Sin anonimato.
  • Pseudónimo (usando un nombre falso).
  • Red P2P Privada.
  • Friend-to-friend (de amigo a amigo).

Ventajas de las Redes P2P

  • Gran capacidad de almacenamiento: La información no está en un solo lugar, sino distribuida en muchos dispositivos. Esto permite almacenar un volumen enorme de información en la red.
  • Disponibilidad: Como la información está repartida, hay muchos lugares de donde descargarla. Esto aumenta la probabilidad de encontrar lo que necesitas.
  • Fiabilidad: Si un dispositivo falla, puedes seguir descargando de otros.
  • Distribución del tráfico: La información está en muchos puntos de la red, lo que reduce el tráfico general y evita que los servidores se saturen.
  • Compatibilidad: Son compatibles con casi cualquier sistema operativo para conectar computadoras en red.
  • Accesibilidad: No suelen tener costos de uso o licencias, lo que las hace muy accesibles.
  • Sencillez: Usar una red P2P es fácil; solo necesitas descargar el programa.

Desventajas de las Redes P2P

  • Algunos dispositivos se desconectan después de descargar, recibiendo datos pero sin compartirlos. Esto puede afectar la red si no hay suficientes dispositivos que compartan.
  • Los cortafuegos a veces impiden que los usuarios reciban o compartan contenido.
  • Puede haber problemas de confianza: a veces se descargan archivos con errores o que contienen información no deseada.
  • En ocasiones, algunas empresas intentan rastrear a quienes descargan información.
  • Un problema importante es el uso de estas redes para compartir contenido sin permiso de sus creadores.
  • Es fácil que se propaguen virus y otros programas dañinos a través de redes P2P, ya que se basan en la cooperación.
  • No siempre se tiene control sobre la accesibilidad de la información en el programa, lo que puede dificultar encontrar un archivo específico.
  • Al aumentar el número de dispositivos conectados, el rendimiento de la navegación puede disminuir.
  • La red no es totalmente estable; si los clientes no permiten el acceso a sus archivos, otros no podrán descargarlos.

Otras Aplicaciones de P2P

  • Bitcoin y PPCoin son monedas digitales que funcionan de forma P2P, permitiendo el manejo y las transacciones de dinero a través de la red, sin una autoridad central.
  • Red comunitaria inalámbrica y Netsukuku (un sistema de enrutamiento experimental P2P) permiten una conexión rápida sin necesidad de servidores centrales.
  • Redes de área local (LAN) P2P: En estas redes, las computadoras trabajan de forma igualitaria, compartiendo las mismas funciones.
  • Garden: Una aplicación que permite compartir la conexión a Internet con otros dispositivos mediante Wi-Fi o Bluetooth.
  • JXTA: Una plataforma de protocolo de red P2P que ayuda a los programadores a crear redes P2P con requisitos específicos.
  • Algunas empresas que usan P2P para sus servicios son:

* Skype para su servicio de telefonía por Internet (VoIP). * Netflix para la transmisión de películas. * Spotify para la distribución de música.

Relación con los Sistemas Distribuidos

Aunque los sistemas distribuidos existían antes de las redes P2P, estas últimas revolucionaron el campo. Las redes P2P permitieron que los sistemas distribuidos fueran más fáciles de usar, haciendo que parecieran una sola máquina virtual para los usuarios. Todos los detalles técnicos de comunicación entre dispositivos, diferencias entre ellos, manejo de recursos y seguridad quedaron ocultos. Así, las redes P2P tomaron las bases de los sistemas distribuidos y las llevaron a un nuevo nivel. A su vez, los sistemas distribuidos más recientes han aprendido de las redes P2P, creando una relación de beneficio mutuo. Por ejemplo, el middleware P2P sirvió de base para el middleware de otros sistemas distribuidos, ayudando a que las aplicaciones fueran independientes del sistema.

Hoy en día, las aplicaciones que funcionan en sistemas distribuidos necesitan poder ejecutarse desde cualquier lugar sin afectar su velocidad o rendimiento. Por eso, necesitan que el middleware ofrezca los servicios y recursos necesarios para que los programas funcionen sin problemas. Además, este módulo oculta las capas inferiores del sistema y las hace independientes de las superiores, simplificando el trabajo de usuarios y programadores. Todos estos aspectos, fundamentales para cualquier sistema distribuido, surgieron con el desarrollo de las primeras redes P2P.

Véase también

Kids robot.svg En inglés: Client-server Facts for Kids

kids search engine
Peer-to-peer para Niños. Enciclopedia Kiddle.