Introducción a la red Punto a Punto

61 0 0 0

Computación punto a punto (P2P) o redes punto a punto es una arquitectura de aplicación distribuida que reparte tareas o trabajo en cargas entre los puntos. Los puntos (peers) son igualmente privilegiados, equipotentes participantes en la aplicación. Se dice que forman una red punto a punto de nodos.

 Peers crean una porción de sus recursos, tales como poder de procesamiento, espacio de almacenamiento o ancho de banda en la red, directamente disponible para los demás participantes de la red, sin la necesidad de coordinación central por servidores o hosts estables. Peers son ambos proveedores y consumidores de recursos, en contraste con el modelo tradicional de cliente-servidor en el cual el consumo y suministro de recursos está dividido. Los nuevos sistemas colaborativos de P2P están yendo más allá de la era de los peers haciendo cosas similares mientras comparten recursos, y están m****do a peers diversos que pueden aportar recursos únicos y capacidades a una comunidad virtual por lo tanto empoderándolo para afrontar mayores tareas más allá de aquellas que pueden ser logradas con peers individuales, pero que benefician a todos los peers.

Mientras que los sistemas P2P previamente han sido usados en muchos dominios de aplicación, la arquitectura fue popularizada por el sistema de intercambio de archivos Napster, originalmente lanzado en 1999. El concepto ha inspirado nuevas estructuras y filosofías en muchas áreas de la interacción humana. En tales contextos sociales, P2P como un meme se refiere a la red social igualitaria que ha surgido en toda la sociedad, permitida por las tecnologías de Internet en general. 

Una red P2P está diseñada bajo la noción de nodos iguales simultáneamente funcionando ambos como “clientes” y “servidores” para otros nodos en la red. Este modelo de arreglo de red difiere del modelo cliente-servidor donde la comunicación es usualmente desde y hacia un servidor central. Un ejemplo típico de una transferencia de archivo que utiliza el modelo cliente-servidor es el servicio FTP en el cual los programas de cliente y servidor son distintos: los clientes inician la transferencia, y los servidores satisfacen las demandas.

Las redes P2P generalmente implementan algún tipo de red de superposición virtual sobre la topología física de la red, donde los nodos en la superposición forman un subconjunto de los nodos en la red física. Los datos aún son intercambiados directamente sobre la red subyacente de TCP/IP, pero los peers de la capa de aplicación son capaces de comunicarse unos con otros directamente, por medio de los enlaces superpuestos (cada uno de los cuales corresponde a una ruta por la red física subyacente). Las superposiciones son utilizadas para el descubrimiento de peers, y para hacer el sistema P2P independiente de la topología física. Basado en como los nodos están enlazados los unos a otros dentro de la red superpuesta, y como los recursos están indizados y localizados, podemos clasificar redes como estructuradas o no estructuradas (o como hibridas entre las dos). Redes no estructuradas de P2P no imponen una estructura en particular en la red superpuesta, sin embargo están formadas *****odos que aleatoriamente crean conexiones entre ellos. (Gnutella, Gossip, y Kazaa son ejemplos de protocolos no estructurados de P2P) Debido a que no existe una estructura globalmente impuesta sobre ellos, las redes no estructuradas son fáciles de construir y permiten optimizaciones localizadas a diferentes regiones de la superposición. También, ya que el rol de los peers en la red es el mismo, las redes no estructuradas son altamente robustas frente a las altas tasas de “churn”—esto es, cuando un gran número de peers están frecuentemente uniéndose y saliendo de la red. Sin embargo las limitaciones primarias de las redes no estructuradas también resultan de esta falta de estructura. En particular, cuando un peer quiere encontrar una pieza de datos en la red, la búsqueda debe ser inundada a través de la red para encontrar la mayor cantidad de peers posibles que la contengan. Inundamiento causa una cantidad muy alta de tráfico en la red, usando más CPU/memoria (al requerir que todos los peers procesen la búsqueda), y no asegura que la consulta sea resuelta. Además, ya que no existe un correlación entre el peer y el contenido que este administra, no hay garantía que el inundamiento encuentre un peer que contenga los datos deseados. Contenido popular es más probable de ser encontrado en varios peers y cualquier peer buscando este contenido es más probable que encuentre lo mismo. Pero si un peer está buscando por información rara compartida por solo algunos cuantos peers, entonces es altamente improbable que la búsqueda tenga éxito.

 

Redes estructuradas

Diagrama de red superpuesta para una red estructurada P2P, usando una tabla hash distribuida (DHT) para identificar y localizar nodos/recursos. En redes estructuradas P2P la superposición esta organizada en una topología específica, y el protocolo asegura que cualquier nodo puede eficientemente buscar la red por un archivo/recurso, incluso si el recurso es raro. 

El tipo más común de redes estructuradas P2P implementa una tabla hash distribuida (DHT), en la cual una variante de hash es utilizado para asignar propietario de cada archive a un peer particular. Esto habilita la búsqueda de recursos en la red usando la tabla hash: esto es, (llave, valor) pares son almacenados en la DHT, y cualquier nodo participante puede eficientemente recuperar el valor asociado a una llave.


Tablas Hash Distribuidas
Sin embargo, para poder enrutar tráfico de manera eficiente a través de la red, los nodos en una superposición estructurada deben mantener una lista de vecinos que satisfaga ciertos criterios. Esto los hace menos robustos en redes con altas tasas de “churn” (grandes cantidades de nodos uniéndose y saliendo de la red frecuentemente). Una más reciente evaluación de soluciones de descubrimiento de recursos en redes P2P bajo cargas de trabajo reales apunto varios defecto en soluciones basadas en DHT, tales como el alto costo de publicar/descubrir recursos y desequilibrio de cargas estáticas y dinámicas.

Algunas redes distribuidas notables que utilizan DHTs incluyen el rastreados distribuido de BitTorrent, la red Kad, la botnet Storm, YaCy, y la red de distribucion de contenido Coral. Algunas proyectos de investigación prominenetes incluyen el proyecto Chord, Jademlia, utilidad de almacenamiento PAST, P-Grid una red de superposicion emergente y auto-organizada, y el sistema de distribución de contendio CoopNet. Las redes basadas en DHT también han sido ampliamente utilizadas para lograr el descubrimiento eficiente de recursos para sistemas computacionales en red, ya que ayuda en el manejo de recursos y en el agendado de aplicaciones. 


Modelos híbridos

Los modelos híbridos son combinaciones de los modelos P2P y cliente-servidor. Un modelo hibrido común es tener un servidor central que ayuda a los peers a encontrarse unos a otros. Spotify es un ejemplo de modelo hibrido. Existen una gran variedad de modelos híbridos, todos ellos compensan entre una funcionalidad centralizada proporcionada por una estructura de red cliente-servidor y la igualdad de nodos proporcionada por las redes P2P no estructuradas. Actualmente, los modelos híbridos tienen mejor rendimiento que cualquier red no estructurada pura o redes estructuradas puras debido a ciertas funciones, tales como la búsqueda, requieren una funcionalidad centralizada pero se benefician de agregación descentralizada de nodos provista por las redes no estructuradas. 


Seguridad y confianza

Los sistemas P2P plantean retos únicos desde una perspectiva de seguridad computacional.

Como cualquier software, las aplicaciones P2P pueden contener vulnerabilidades. Lo que hace particularmente peligroso para el software P2P, sin embargo, es que estas aplicaciones actúan como servidores y clientes al mismo tiempo, por lo tanto pueden ser más susceptibles a vulnerabilidades remotas.


Ataques de ruteo

También, ya que cada nodo juega un rol en el enrutamiento del tráfico en la red, usuarios maliciosos pueden realizar una variedad de “ataques de ruteo”, o denegación de servicio. Algunos ejemplos comunes incluyen “enrutamiento de búsqueda incorrecto” donde nodos maliciosos deliberadamente reenvían peticiones de manera incorrecta o devuelven resultados falsos, “actualizaciones de enrutamiento incorrectos” donde nodos maliciosos corrompen las tablas de ruteo de nodos vecinos enviándoles información falsa, y “partición de red de enrutamiento incorrecta” donde nuevos nodos se unen al bootstrap por medio de un nodo malicioso, que coloca al nuevo nodo en una partición de la red que está poblada por otros nodos maliciosos. 


Datos corruptos y malware

La prevalencia de malware varía entre diferentes protocolos de P2P. Estudios analizando la propagación de malware en redes P2P encontraron, por ejemplo, que el 63% de las peticiones de descarga resueltas en la red Limewire contenían algún tipo de malware, donde solo el 3% del contenido en OpenFT contenía malware. En ambos casos, los tres tipos más comunes de malware fueron contabilizados en su amplia mayoría de los casos (99% en Limewire, y 65% en OpenFT). Otro estudio analizando tráfico de la red Kazaa encontró que el 15% de una muestra de 500,000 archivos tomados estaba infectado por uno o más de 365 diferentes virus, para los que se fueron probados.

Datos corruptos también pueden ser distribuidos por las redes P2P al modificar archivos que ya son compartidos en la red. Por ejemplo, en la red FastTrack, RIAA logro introducir pedazos falsos a descargas y archivos descargados (su mayoría archivos MP3). Los archivos infectados por el virus RIAA eran inutilizables después y contenían código malicioso. RIAA es también conocido por haber subido música y películas falas a redes P2P para impedir el intercambio ilegal de archivos. Consecuentemente, las redes P2P de hoy en día contienen una enorme cantidad de incrementos a sus mecanismos de seguridad y verificación de archivos. Hasheo moderno, verificación de pedazos y diferentes métodos de cifrado han hecho la mayor parte de las redes más resistente a casi cualquier tipo de ataque, incluso cuando grandes partes de la respectiva red han sido reemplazadas por hosts falsos o no funcionales.


Redes resistentes y escalables
La naturaleza descentralizada de la redes P2P incrementa su robustez porque remueve el punto único de falla que puede ser inherente en un sistema basado en cliente-servidor. Conforme los nodos llegan y la demanda en el sistema incrementa, la capacidad total del sistema también incrementa, y la probabilidad de falla disminuye. Si un peer en la red falla, la red entera no está comprometida o dañada. En contraste, en una arquitectura típica de cliente-servidor, los clientes solo comparten sus demandas con el sistema pero no sus recursos. En este caso, entre más clientes se unen al sistema, menos recursos están disponibles para cada cliente, y si el servidor central falla, la red completa es derribada. 


  • x
  • convención:

Responder

Responder
Debe iniciar sesión para responder la publicación Inicio de sesi | Registrarse

Aviso: Para garantizar sus legítimos derechos e intereses, la comunidad y los terceros no publicarán contenido que pueda generar riesgos legales a las partes, por ejemplo, pornografía, contenido político, contenido sobre juego, consumo y tráfico de drogas, así como contenido que viole los derechos de propiedad intelectual de terceros, por ejemplo, secretos comerciales, marcas, derechos de autor, patentes y privacidad personal. No comparta su cuenta ni su contraseña con terceros. Todas las operaciones realizadas usando su cuenta se considerarán como sus acciones y todas las consecuencias que estas acciones generen serán responsabilidad suya. Para obtener información detallada, consulte la “ Política de privacidad.”
Si el botón para adjuntar no está disponible, actualice Adobe Flash Player con la versión más reciente

¡Ingresa y disfruta de todos los beneficios para los miembros!

Aterrizaje
Respuesta rápida Desplácese hasta arriba