Este documento describe los sistemas peer-to-peer, incluyendo su arquitectura distribuida sin servidor centralizado, sus ventajas como escalabilidad y disponibilidad, y sus elementos clave como peers, grupos de peers y transporte de red. Explica cómo los peers actúan simultáneamente como clientes y servidores compartiendo recursos directamente entre iguales.
2. Introducción
Peer-To-Peer (P2P): Compartición de
recursos informáticos e información mediante
intercambio directo.
La comunicación es simétrica.
Los equipos actúan como iguales (peers).
Los peers cumple a la vez el papel de cliente y
servidor.
Alternativa a la arquitectura cliente/servidor.
4. Modelo cliente/servidor
Modelo cliente/servidor: Un servidor ofrece servicio
a muchas máquinas cliente.
Gran extensión en las aplicaciones Internet: FTP, www,
correo electrónico.
Ventajas:
Casi toda el procesamiento se realiza en el servidor.
Clientes muy simples. Clientes pasivos.
Inconvenientes:
Conforme el número de clientes crece, la carga y la demanda de
ancho de banda del servidor se incrementa impidiendo a este
servir más peticiones.
Direcciones IP dinámicas: impiden ofrecer servicios a otros
usuarios.
Redes privadas: los sistemas de seguridad (firewalls, NAT)
impiden las conexiones externas.
5. Peer-To-Peer
Cualquier equipo puede ofrecer un servicio a
otro.
Organización totalmente distribuida:
No dependen de un servidor centralizado para ofrecer
acceso a los servicios.
Funcionan de forma independiente al sistema de
nombrado de dominio (DNS).
Distribuyen la responsabilidad de ofrecer
servicios entre todos los peers de la red:
Elimina las indisponibilidades de servicios debidas a
caídas de los servidores.
Mejora la escalabilidad.
6. Peer-To-Peer
Ventajas:
Escalabilidad.
Agregación de información.
Disponibilidad.
Tolerancia a fallos.
Inconvenientes:
Redundancia.
Las peticiones de servicio no son deterministas:
Dos clientes que soliciten el mismo recurso pueden conectarse con
máquinas completamente diferentes, a través de rutas diferentes, y
posiblemente con resultados diferentes.
Los servicios no siempre están disponibles.
Posibles soluciones:
Acceso redundante a los recursos:
El servicio está disponible mientras exista un peer conectado.
8. Elementos de P2P. Peers.
Peer: Cualquier entidad capaz de realizar una tarea útil
y comunicar el resultado de dicha tarea a otra entidad de
la red, bien directa o indirectamente.
Puede desde ser una aplicación en una sola máquina,
una aplicación distribuida en varias máquinas o
cualquier dispositivo.
Tipos de peers:
Peers simples: Sirven a un solo usuario final, permitiendo a
este usuario ofrecer y utilizar servicios de otros peers.
Peers rendezvous: Permite descubrir a otros peers o
recursos. Responden directamente o propagan la consulta.
Peers enrutadores: Permite la comunicación entre peers que
no tienen conectividad física directa (firewalls, NAT’s).
9. Elementos de P2P. Peer
groups.
Peer group: Conjunto de peers que comparten un
interés u objetivo común definido por todos los
miembros del grupo.
Objetivos de los peer groups:
Crear entornos seguros.
Crear entornos limitados.
Establecer políticas de seguridad (login/password, PKI, etc).
Publicar contenidos protegidos de acceso restringido.
Crear dominios de especialización (divisiones lógicas).
Limitar las búsquedas de recursos.
Crear entornos de monitorización.
Monitorizar el estado de un grupo de equipos.
10. Elementos de P2P. Transporte de
red.
Transporte de red: Capa de procesamiento
responsable de la transmisión de los datos.
Puede ser un protocolo de bajo nivel, como UDP o TCP,
o un protocolo de alto nivel, como HTTP o SMTP.
Puede dividirse en tres componentes:
Extremos: El origen inicial o destino final de cualquier
fragmento de datos transmitido en la red. Un extremo
corresponde a las interfaces de red utilizadas para enviar y
recibir datos.
Tuberías: Canales virtuales de comunicación asíncronos y
unidireccionales que conectan uno o más extremos.
Mensajes: Contenedores de datos transmitidos a través de
una tubería desde un extremo a otro.