Artículo BIT
SEGURIDAD Y ALMACENAMIENTO: Redes P2P una nueva forma de almacenar y acceder a la información
Redes P2P una nueva forma de almacenar y acceder a la información Miguel Pérez Subías Presidente de la AUI Una Red P2P es una red donde el direccionamiento y encaminamiento de los contenidos se basa en la descripción del propio contenido en lugar de su ubicación. Las redes P2P son redes virtuales que se montan sobre la infraestructura IP en Internet o en una red corporativa. Para acceder al contenido no es necesario mantener continuamente un vinculo fijo entre el contenido y el ordenador donde está alojado. Mas aún, para muchas redes P2P, en un momento dado, parte del contenido puede ser alojado, movido o replicado en algún otro nodo de la red, si se considera conveniente y sin que se necesite del permiso de nadie para hacerlo. P2P explota las ventajas económicas del almacenamiento distribuido. Hoy en día los discos duros de los PCs son muy baratos y tienen una gran capacidad de almacenamiento. Crear un gran repositorio distribuido utilizando P2P es mucho más barato y fácil de gestionar, que centralizar todo el almacenamiento en un gran servidor y debe de ser capaz de gestionar una red totalmente descentralizada en la que cualquier ordenador puede ser a su vez un servidor. En el modelo P2P todos los componentes de una aplicación pasan a ser “iguales”. Los “iguales” (peers) pueden actuar como clientes o como servidores, según requiera la aplicación. mantenimiento asociado al escalado de los servidores centrales. Mantener una buena relación entre eficiencia y operatividad Pero este tipo de redes tienen que resolver el problema de la visión global; al presentarse de forma distribuida el contenido, es necesario consolidar dicho contenido para ofrecérselo a los nodos solicitantes, esto trae aparejado la utilización de protocolos de comunicación mas complejos y mayor utilización de la red subyacente (alto ancho de banda), que también puede representar un problema de escalamiento al crecer el número de participantes que en Internet puede crecer de forma exponencial Para resolver el problema de la vista global, básicamente existen dos filosofías posibles (que pueden ser combinadas): – La más comúnmente usada, pero que presenta mayor consumo de ancho de banda y problemas de escalado, es la difusión o broadcast, donde cada nodo solicitante inunda la red solicitando el contenido deseado. – Otra alternativa es que los nodos fuentes se encarguen de mantener informados a los nodos enrutadores, para que cuando algún contenido sea solicitado, sepan donde se encuentra. Esta alternativa presenta múltiples Los servicios P2P existentes suelen incluir algún tipo de servidor central, que actúa como punto de acceso al servicio y pone en contacto entre sí a los “iguales”, debido a la falta de conectividad “extremo a extremo”. Estas características, sumadas a una libertad de diseño producto del continuo desarrollo de protocolos y arquitecturas, representan un atractivo muy importante para diversas aplicaciones telemáticas con requerimientos específicos en cuanto a confiabilidad, disponibilidad, redundancia, prestaciones, tiempo de acceso, anonimato, seguridad, etc. La Mensajería instantánea, intercambio de archivos, correo o la propia Internet son ejemplos de este tipo de redes. Las redes P2P, que hoy suelen implementarse bajo la forma de redes virtuales montadas sobre la infraestructura existente de Internet, son sumamente atrayentes dada su flexibilidad a adecuarse a los requerimientos de cada aplicación específica, como se ha mencionado anteriormente. En un sistema completamente distribuido cada nodo tiene la misma participación en la red, ofreciendo potencialmente la misma cantidad de contenido (existen una cantidad arbitraria de nodos fuentes, solicitantes y enrutadores). De esta forma se reduce en gran medida el costo de recursos y Seguridad y Almacenamiento BIT 141 OCT.-NOV. 28 2003formas de implementarse, donde se destaca la utilización de tablas de hash distribuidos o técnicas de ordenamiento estructurado (autoordenamiento). Ejemplos de sistemas completamente distribuidos son Gnutella (y sus variantes Limewire, BearShare, Gnucleus ), Morpheus y Freenet. Entre los dos modelos antagónicos (cliente servidor y completamente distribuido) existe una serie muy variada de modelos con distribución jerarquizada, donde la idea es agrupar en niveles según la capacidad de contenidos de cada participante. Esta variante es la que proporciona mejor escalamiento, pues distribuye mejor la carga tanto de proceso y el consumo de ancho de banda de comunicaciones. Algunos ejemplos son DNS, KaZaA, Fast- Track, Grokster, Groove, y OpenNap ; todos presentan una cantidad arbitraria de nodos fuente y solicitantes, y una cantidad proporcionalmente mucho menor de enrutadores. Procesar, almacenar y transmitir Dado que una Red P2P es una red virtual que se monta sobre la infraestructura IP existente, la misma utiliza los recursos de los nodos participantes según las características de cada red. Los recursos que poseen los nodos son de tres tipos: procesamiento, almacenamiento y transmisión. Teniendo en cuenta que el contenido que pueden ofrecer los nodos fuentes debe ser satisfecho con alguno de sus recursos, la autonomía de comunicación, ejecución y participación pueden verse simplemente como la autonomía de un nodo fuente a decidir qué y cuanto contenido ofrecer. La autonomía es un requerimiento muy importan en algunos de los tipos de redes P2P mencionadas, especialmente para las redes de pares (peer-to-peer) que presentan siempre una completa autonomía de participación. Las redes P2P presentan un extremo dinamismo en escala, topología, contenido y carga, por tanto, algunas propiedades de auto-ordenamiento son deseables, e incluso necesaria(Pastry), CAN, Chord, OceanStore (Tapestry), etc. En los sistemas jerarquizados, la propia jerarquÌa impone un nivel de organizaciÛn. Adem s se utilizanmuchas veces algunos de los métodos de las redes centralizadas o completamente distribuidas para lograr mayor ordenamiento. Un ejemplo son las redes SuperPeer como KazaA . Es necesario resaltar que para los sistemas distribuidos no existe una vista global centralizada del sistema, y por tanto la auto-ordenación solo puede ser alcanzada mediante criterios locales de auto-ordenamiento. Modelo Cliente Servidor En general, dentro de esta categoría entran por definición todos aquellos sistemas centralizados donde no existe agrupación lógica (por definición es sintáctica) o la misma es realizada exclusivamente por el componente central, ni colocación física (por definición es insensible). Ejemplos comunes son las ingenierías de buscadores (Search Engines), como Google y Yahoo; los servidores de servicios Web (Web Services ) SOAP, WSDL, UDDI; la primera generación de sistemas P2P para compartir archivos (P2P file sharing), como Napster; etc. Napster es la primera aplicación P2P popular que utiliza este modelo. Los clientes de Napster se identifican al ingreso a la red en el servidor central, informándole los archivos que comparte. Cuando un solicitante busca un contenido, lo hace en el servidor central, el cual conoce completamente los archivos compartidos reduciendo la búsqueda a una búsqueda local eficiente. La entrega del archivo se hace directamente entre pares. Cuando una fuente cambia el contenido ofrecido o se desconecta de la red, esto se le informa al servidor central. Estos sistemas tienen un punto único de fallo y vulnerabilidad, además de altos costos de mantenimiento y utilización de recursos en el servidor central. Distribución Jerarquizada Dentro de la tercera generación de redes P2P para compartir archivos (P2P file sharing), existe una variante conocida como redes Super-Peer. Las redes Super-Peer presentan un nivel de jerarquía: los nodos con pocos recursos de transmisión son solo fuente/solicitantes (llamados clientes) y están conectados a un único Super- Peer, los nodos Super-Peer son fuente/ruteador/solicitantes y forman entre sí una red completamente distribuida que funciona, en general, mediante la difusión de solicitudes de contenido a todos los nodos Super-Peer. Los nodos Super-Peer realizan una agrupación sintáctica del contenido (basada en el nombre o CRC del archivo) ofreciéndole a los clientes una vista consolidada del sistema, en ningún caso existe colocación física del contenido. El ejemplo más notorio es KaZaA, P-grid y otros. La mayoría de los sistemas de suscripción y publicación (Subscribe- Publish Networks), como Siena y Publius , funcionan de forma jerarquizada. El contenido de estas redes son notificaciones y subscripciones. Los BIT 141 OCT.-NOV. 29 2003 nodos fuentes son generadores de eventos, informándole a un servidor cercano de tal evento. Los servidores son nodos enrutadores que se encargan de comunicarse entre sí los eventos y anunciárselo a los subscriptores (nodos solicitantes que previamente especificaron su interés en este tipo eventos). En estas redes, los eventos no pueden ser agrupados lógicamente, ni colocados físicamente en los nodos fuentes. Las redes de sensores (Contentbased Sensor Networks), como SCADDS y SPIN se manejan exactamente con la misma dinámica. Dentro de esta categoría se encuentran también el sistema de correo electrónico y la mayoría de los sistemas de mensajería instantáneas, como Jabber. El funcionamiento de estos sistemas es idéntico al presentado para las Subscribe-Publish Networks. Distribución Completa Dentro de la segunda generación de redes P2P para compartir archivos (P2P file sharing), existe una variante que funciona mediante la difusión de solicitudes de contenido a todos los nodos fuentes, no presentando agrupación lógica, ni colocación física del contenido. En este tipo de redes sucede que ningún contenido es publicado por parte de las fuentes, sino que los nodos solicitantes realizan búsquedas especificas de contenido a todos sus pares. Los pares que reciben las consultas en realidad actúan como nodos fuentes contestando al solicitante original si poseen el contenido buscado y como nodos enrutadores volviendo a propagar la consulta a sus pares. Para evitar bucles y esperas muy largas, las búsquedas se propagan con un mecanismo de tiempo de vida limitado (TTL). El ejemplo más notorio es Gnutella Conclusiones Estamos sin duda a ante una nueva forma de gestionar el conocimiento, la capacidad de proceso y de almacenamiento que esta dando sus primeros pasos y que va a cambiar sin duda la forma de desarrollar las aplicaciones y de gestionar la información en base a redes de computadores totalmente distribuidos que plantea retos técnicos, legales y funcionales. Bivliografía: Distributed Information Systems Laboratory http://lsirwww.epfl.ch/lsirpubl.htm P-grid http://www.p-grid.org/Publications.html Seguridad y Almacenamiento
30 oct 2015