Sistemas de Información
Introducción a tecnologías P2P
Agradecimientos: Simon Pickin de IT/UCIIIM <spickin>, Jesús Vega Informática/UVA
spickin,
[email protected]
1
Índice
Definición
Características
Antecedentes
Clasificación
Ejemplos
JXTA
Enlaces
spickin,
[email protected]
2
Definición de P2P
Peer:
otro entidad del mismo nivel
Peer-to-peer communication:
comunicación de-igual-a-igual
Peer-to-peer network:
redes de pares / redes de iguales
no depende de servidores dedicados; utiliza (al menos mayormente)
conexiones directas entres nodos participantes
una red P2P pura no tiene clientes y servidores; todos los nodos son del
mismo nivel
una red puede denominarse P2P a pesar de que utilizan una estructura
cliente-servidor para ciertas tareas
cada nodo tiene capacidades y responsabilidades equivalentes
cualquier nodo puede iniciar una interacción con otro nodo
distintos nodos pueden tener distinta velocidad de procesamiento,
distinto ancho de banda y distinta cantidad de almacenamiento
spickin,
[email protected]
3
Algunas características de P2P
Descentralización
devuelve el poder y autonomía a los nodos en el borde de la red
(edges)
maneja conexiones variables y direcciones provisionales
inteligencia distribuida
fenómeno social
democratización?
Aprovecha el ancho de banda de los usuarios
utilizado completamente
ancho de banda total crece con el número de nodos
los clientes no tienen que compartir el ancho de banda limitado de
un servidor
Destaca la distinción entre publicar y ser autor
NOTA: no confundir “par” en su significado de “igual” con “par”
en su significado de “pareja”; por otra parte, nos referiremos aquí
a cada nodo de una red P2P como “un par”.
spickin,
[email protected]
4
Caracterización de P2P
Características claves según Dave Winer (XML-RPC)
las interfaces de usuario cargan fuera de un navegador Web
los ordenadores de los usuarios pueden actuar como
clientes y como servidores
el sistema global es fácil de usar y bien integrado
el sistema incluye herramientas para soportar los usuarios
que quieren crear contenido o añadir funcionalidad
el sistema proporciona conexiones con otros usuarios
el sistema hace algo nuevo o emocionante
el sistema soporta protocolos multi-red tal como SOAP o
XML-RPC
spickin,
[email protected]
5
Antecedentes: Usenet news
Concebido en 1979 estudiantes de Duke University
Sistema de intercambio de noticias. Copia ficheros entre
máquinas distintas
Los usuarios leen o enviar mensajes denominados
artículos a distintos grupos de noticias organizados
jerarquicamente
Modelo descentralizado de control. (en la práctica, hay
un backbone).
Protocolo de base
original: UUCP (Unix-to-Unix Copy Protocol)
actual: NNTP (Network News Transport Protocol) sobre TCP/IP
optimizaciones, p.e. encabezado de camino (path header) para
evitar mensajes repetidos
spickin,
[email protected]
6
Antecedentes: Usenet news
Funcionalidad:
Para unirse
un servidor de news monta una conexión de intercambio de
news con uno o varios otros servidores de news
Una vez adscrito
un servidor de news conecta regularmente con su vecino /
sus vecinos
intercambian los mensajes nuevos
Creación de un nuevo grupo de news
se propone, se discute y se vota en el grupo news.admin
spickin,
[email protected]
7
Antecedentes: DNS
Solución al problema de compartir archivos
Domain Name System
red P2P junto con un modelo jerárquico de propiedad de información
Escalabilidad
1983: unos miles de nodos
2005: cientos de millones de nodos (~10.000 veces más grande)
Modelo híbrido:
Filosofía P2P en las comunicaciones
Método jerárquico de propiedad de la información. Delegación de
responsabilidad según la jerarquía de nombres
Nodos pueden ser clientes (delegan petición) y servidores (cachean
respuestas)
Un servidor puede preguntar a cualquier otro pero
camino estándar para propagar peticiones por la cadena de autoridad
Distribución de carga
cada servidor de nombres sólo se ocupa de su espacio de nombres
spickin,
[email protected]
8
Antecedentes: DNS
Funcionalidad:
Petición: un host quiere conocer la dirección IP
partiendo del nombre
Consulta a su servidor de nombres más próximo
Si ese servidor no lo sabe delega la consulta a la autoridad
de ese espacio de nombres
Esto se repite a través de toda la jerarquía hasta llegar a la
solución
La respuesta
se propaga en la jerarquía en sentido contrario
se cachea en todos los nodos intermedios para que la
respuesta sea más eficiente en siguientes peticiones
spickin,
[email protected]
9
Clasificación arquitectural de redes
P2P para compartir ficheros
Centralizada
se mantiene un directorio puesto al día constantemente en
localizaciones centrales
un nodo hace peticiones al directorio para encontrar los nodos que
contienen los ficheros deseados
directorio central es punto de fallo crítico
Descentralizada y estructurada
no hay directorio central
la topología de la red está controlada y los ficheros se colocan en
localizaciones que facilitan peticiones subsiguientes
Descentralizada y no estructurada
no hay directorio central
la topología de la red y la colocación de los ficheros no están
controladas
primeros sistemas, tráfico excesivo
búsquedas por flooding de peticiones basado en TTL
spickin,
[email protected]
10
Clasificación generacional de redes
P2P para compartir ficheros
Primera generación
utiliza una lista de ficheros centralizada, p.e. Napster
desde 2001: quien controla esta lista central es responsable de
cualquier violación de copyright u otra actividad ilegal que pueda
ocurrir (p.e. intercambio de ficheros pornográficos etc.)
Segunda generación
utiliza una lista de ficheros descentralizada, p.e. Gnutella
evita el problema de responsabilidad legal de unos por las acciones
de otros
Tercera generación
utiliza una lista de ficheros descentralizada, p.e. GNUnet
mejoras en cuanto a eficiencia, fiabilidad, anonimato, etc.
spickin,
[email protected]
11
Algunos ejemplos de redes P2P:
ICQ (I seek you)
Desarrollado por Mirabillis 1996 adquirido por AOL 1998
1er Servicio completo de mensajería instantánea
Analogía: Conversación
Permite chatear, envio de mensajes, intercambio de
archivos, etc.
El usuario se le asigna un UIN (Universal Internet
Number) en el momento de registrarse
Protocolo utilizado: Oscar (Open System for
CommunicAtion in Realtime).
Es propietario
Descifrado por ingeniería inversa e implementado por
competidores que han desarrollado clientes para ICQ (Microsoft
y Jabber)
spickin,
[email protected]
12
Algunos ejemplos de redes P2P:
Jabber (Conversational technologies)
Surge en 1998 como un intento de crear una plataforma
abierta distribuida para mensajería instantánea para
evitar incompatibilidad entre servicios IM existentes.
Muchos participantes individuales y comerciales.
http://www.jabber.org
Proyecto opensource que combina mensajería
instantánea con XML (streaming XML)
Creación espontánea de comunidades de usuarios
estructurando la información que les interesa
spickin,
[email protected]
13
Algunos ejemplos de redes P2P:
Jabber (Conversational technologies)
Conjunto de tecnologías
Un servidor modular escrito en C
Clientes para casi todas las plataformas (comerciales
yopenSource)
Gateways para lamayoría de los servicios y protocolos de
mensajería en internet
Bibliotecas para multitud de lenguajes de programación
Agentes y servicios esppecializados como tradutores y RSS
Objetivo mejorar las capacidades conversacionales
entre personas y entre aplicaciones
spickin,
[email protected]
14
Algunos ejemplos de redes P2P:
Jabber (Conversational technologies)
Uso de XML para casi todo:
Codificación de los datos
Protocolo de transporte entre peers
Formato de almacenamiento
Modelo interno de datos de la mayoría de las aplicaciones
Soporte namespaces para que el usuario decida sobre
las etiquetas XML a utilizar
El protocolo Jabber ha sido aceptado por el IETF bajo el
nombre XMPP (EXtensible Messaging and Presence
Protocol) con RFC 3920
spickin,
[email protected]
15
Algunos ejemplos de redes P2P:
Jabber (Conversational technologies)
Funcionamiento
Identidad (3 partes): usuario@servidor/recurso
Desde fuera se accede como: jabber://user@server/resource/data
Similar al e-mail. El cliente se conecta al servidor que es elresponsable
de negociar la recepción y entrega de los datos con otros usando los
protocolos disponibles. Servers son peers para los servers y clientes
para los clientes
Es protocol-agnostic. Traslada a XML los datos de un protocolo a otro
de forma transparente para el usuario
Capacidades similares a cualquie
Comentarios de: Introducción a tecnologías P2P - Sistemas de Información (0)
No hay comentarios