1. Funcionalidad del servicio de transferencia de archivos. - Características. Componentes y funcionamiento. Características: El protocolo FTP (File Transfer Protocol) permite: • La conexión a un sistema remoto. • Observar los directorios remotos. • Cambiar de directorio remoto. • Copiar uno o varios archivos hacia el directorio local. • Copiar uno o varios archivos hacia el directorio remoto. Se realiza sobre directorios pertenecientes a una cuenta en la máquina remota. Para acceder a dicho directorio se requiere conocer el password de la cuenta en cuestión. Ftp dirección Indica que se desea realizar la conexión a dirección. El sistema remoto solicitará información sobre la cuenta y password remotos Componentes: -Servidor FTP: Máquina a la que nos queremos conectar y que debe aceptar sesiones FTP. Debe ser una máquina en la que esté activo el servicio FTP. A su vez se compone de: Servidor PI (Protocol Interpreter): El intérprete de protocolo del servidor “escucha” en el puerto 21 los comandos que le envía el intérprete de protocolo del cliente y controla el proceso de transferencia de datos del servidor. Servidor DTP (Data Transfer Protocol): El protocolo de transferencia de datos del servidor se utiliza para transmitir los datos entre el servidor y el protocolo de transferencia de datos del cliente. Puede estar en modo “pasivo” a la escucha de conexiones en el puerto 20 de datos. -Cliente FTP: Máquina con la que nos conectamos al servidor FTP. Está compuesta por los siguientes elementos: Interfaz de usuario: conunto de comandos de “alto nivel” que el usuario puede memorizar más fácilmente que los comandos FTP que se envían entre cliente y servidor. Cliente PI: El intérprete de protocolo de usuario inicia el control de la conexión a través del puerto 21 con el servidor FTP, envía los comandos FTP una vez codificados por la interfaz de usuario y los envía al intérprete de protocolo del servidor, y controla el proceso de transferencia de los archivos (DTP). Cliente DTP: El proceso de transferencia de datos “escucha” el puerto de datos (20) aceptando conexiones para la transferencia de ficheros. Funcionamiento: El funcionamiento es sencillo. Una persona desde su ordenador invoca un programa cliente FTP para conectar con otro ordenador, que a su vez tiene instalado el programa servidor FTP. Una vez establecida la conexión y debidamente autenticado el usuario con su contraseña, se pueden empezar a intercambiar archivos de todo tipo. Cuando un cliente FTP se conecta con un servidor FTP, el USUARIO PI inicia la conexión con el servidor de acuerdo con el protocolo Telnet. El cliente envía comandos FTP al servidor, el servidor los interpreta, eecuta su DTP y después envía una respuesta estándar. Una vez que se establece la conexión, el servidor PI proporciona el puerto por el cual se enviarán los datos al Cliente DTP. El cliente DTP escucha el puerto especificado para los datos provenientes del servidor. Es importante tener en cuenta que, debido a que los puertos de control y de datos son canales separados, es posible enviar comandos desde un equipo y recibir datos en otro. - Protocolo FTP. FTP File Transfer Protocol, 'Protocolo de Transferencia de Ficheros', es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP, basado en la arquitectura clienteservidor. El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos. El protocolo FTP define la manera en que los datos deben ser transferidos a través de una red TCP/IP. El obetivo del protocolo FTP es: Permitir que equipos remotos puedan compartir archivos Permitir la independencia entre los de archivo del equipo del cliente y del del servidor sistemas equipo Permitir una transferencia de datos eficaz. - Tipos de usuarios y accesos al servicio: Acceso anónimo y acceso autorizado. Tipos de usuarios: Usuarios Locales: Usuarios creados en el sistema operativo. Usuarios irtuales: Usuarios creados por el propio servidor. Accesos al servicio: Navegador si no está equipado con la función FTP, o si se quiere cargar archivos en un ordenador remoto, se necesitará utilizar un programa cliente FTP. Cliente FTP es un programa que se instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y transferir archivos. Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside (servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra. Algunos clientes de FTP básicos en modo consola vienen integrados en los sistemas operativos, incluyendo Microsoft Windows, DOS, GNU/Linux y Unix. Sin embargo, hay disponibles clientes con opciones añadidas e interfaz gráfica Acceso anónimo: Los servidores FTP anónimos ofrecen sus servicios libremente a todos los usuarios, permiten acceder a sus archivos sin necesidad de tener un 'USER ID' o una cuenta de usuario. Es la manera más cómoda fuera del servicio web de permitir que todo el mundo tenga acceso a cierta información sin que para ello el administrador de un sistema tenga que crear una cuenta para cada usuario. Solamente con eso se consigue acceso a los archivos del FTP, aunque con menos privilegios que un usuario normal Normalmente, se utiliza un servidor FTP anónimo para depositar grandes archivos que no tienen utilidad si no son transferidos a la máquina del usuario, como por eemplo programas, y se reservan los servidores de páginas web (HTTP) para almacenar información textual destinada a la lectura en línea. Acceso Autorizado: Acceso de usuario Si se desea tener privilegios de acceso a cualquier parte del sistema de archivos del servidor FTP, de modificación de archivos existentes, y de posibilidad de subir nuestros propios archivos, generalmente se suele realizar mediante una cuenta de usuario. En el servidor se guarda la información de las distintas cuentas de usuario que pueden acceder a él, de manera que para iniciar una sesión FTP debemos introducir una autentificación y una contraseña (que nos identifica unívocamente. Acceso de invitado El acceso sin restricciones al servidor que proporcionan las cuentas de usuario implica problemas de seguridad, lo que ha dado lugar a un tercer tipo de acceso FTP denominado invitado (guest), que se puede contemplar como una mezcla de los dos anteriores. La idea de este mecanismo es la siguiente: se trata de permitir que cada usuario conecte a la máquina mediante su login y su password, pero evitando que tenga acceso a partes del sistema de archivos que no necesita para realizar su trabao, de esta forma accederá a un entorno restringido, algo muy similar a lo que sucede en los accesos anónimos, pero con más privilegios. - Configuración del servicio de transferencia de archivos. Permisos y cuotas. Configuración FTP: 1. Instalación de FTP, por eemplo ISS FTP en Windows y el paquete SFTPD en distribuciones Linux. 2. Configurar gráficamente en Windows o en /etc/vsftpd.conf en GNU/Linux lo siguiente: Creamos los directorios FTP, y se indica en la configuración. Creamos los usuarios del sistema y usuario anónimo. Acceso único puertos Acceso de solo lectura a usuarios anónimos. Acceso de usuarios del sistema, atendiendo a tipo de usuario, lugar de acceso, grupos, no pueden acceder a carpetas privadas,…, o aislar usuarios en directorios propios. El usuario anónimo no puede administrar, cambiar permisos o acceder a otras carpetas, al igual que usuarios del sistema. Configuramos el mensae de Bienvenida. Configuramos los permisos de acceso, lectura, modificación. Configuramos las opciones de transferencias. Configuramos los logs de errores y acceso. Permisos: El protocolo FTP se desarrolló en entornos de tipo UNIX similares a los populares GNU/Linux. Por eso tenemos los permisos de eecución, lectura y escritura, estableciéndose tres tipos de usuarios: Propietario: Es normalmente la persona que ha creado o que ha subido el archivo al servidor FTP. Grupo: Se refiere a un grupo de usuarios al que probablemente pertenece el propietario. Otros: Son todos los demás usuarios anónimos o que no pertenecen al grupo indicado. Para establecer los permisos de escritura existe un algoritmo, el cual asigna valores al tipo de acceso que se quiere otorgar a cada tipo de usuario. 4=lectura 2= escritura 1= eecución Cuotas: Existen dos tipos de cuota: Cuotas rígidas: no será posible superar el límite y será negado el acceso. Cuotas flexibles: se pueden superar y el usuario sólo recibirá un aviso de límite excedido. Tras un período de gracia (por defecto 7 días, configurable por partición) la cuota se volverá rígida. En UNIX/LINUX se aplican con el comando: edquota -u usuario - Conexiones y modos: Conexión de control y conexión de datos. Modos activo y pasivo. conexión de control: La ruta de comunicación entre el USER-PI y el SERER-PI para el intercambio de órdenes y respuestas. Esta conexión sigue el Protocolo Telnet. Conexión de datos: Una conexión bidireccional sobre la que se transfieren los datos en un modo y tipo especificados. Los datos transferidos pueden ser una parte de un fichero, un fichero entero o un cierto número de ficheros. La conexión se puede establecer entre un server-DTP y un user-DTP o entre dos serverDTP's. Modos: Modo Activo: El servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicándole ese número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en el puerto especificado. Lo anterior tiene un grave problema de seguridad, y es que la máquina cliente debe estar dispuesta a aceptar cualquier conexión de entrada en un puerto superior al 1024, con los problemas que ello implica si tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarán esas conexiones aleatorias. Para solucionar esto se desarrolló el modo pasivo. Modo Pasivo: Cuando el cliente envía un comando PAS sobre el canal de control, el servidor FTP le indica por el canal de control, el puerto (mayor a 1024 del servidor) al que debe conectarse el cliente. El cliente inicia una conexión desde el puerto siguiente al puerto de control hacia el puerto del servidor especificado anteriormente Antes de cada nueva transferencia tanto en el modo Activo como en el Pasivo, el cliente debe enviar otra vez un comando de control PAS y el servidor recibirá esa conexión de datos en un nuevo puerto aleatorio.(En modo activo siempre se realizaría por el puerto - Tipos de transferencia de archivos: ASCII y Binario. Es importante conocer cómo debemos transportar un archivo a lo largo de la red. Si no utilizamos las opciones adecuadas podemos destruir la información del archivo. Por eso, al eecutar la aplicación FTP, debemos acordarnos de utilizar uno de estos comandos (o poner la correspondiente opción en un programa con interfaz gráfica): Tipo Ascii: Adecuado para transferir archivos que sólo contengan caracteres imprimibles (archivos ASCII, no archivos resultantes de un procesador de texto), por eemplo páginas HTML, pero no las imágenes que puedan contener. Tipo Binario: Este tipo es usado cuando se trata de archivos comprimidos, eecutables para PC, imágenes, archivos de audio... Extensión de archivo Tipo de transferencia txt (texto) ascii ZOO (comprimido) binario html (página WEB) ascii Sit (comprimido) binario doc (documento) binario pit (comprimido) binario ps (poscript) ascii shar (comprimido) binario hqx (comprimido) ascii uu (comprimido) binario Z (comprimido) binario ARC (comprimido) binario ZIP (comprimido) binario tar (empaquetado) binar - Clientes FTP: en línea de comandos, entornos “gráficos” y navegadores / exploradores. Para conectarse, eecutar en una línea de comandos: ftp ftp.rediris.es Una vez conectado, se nos pedirá usuario y contraseña. La contraseña no aparecerá escrita, pero será ingresada. Los comandos FTP habituales son los siguientes: help Muestra todos los comandos admitidos por el servidor FTP. binary Este comando cambia del modo ASCII al modo binario (envío de archivos en modo binario, es decir, archivos sin texto, como lo son por eemplo las imágenes o los programas). ASCII Cambia de modo binario a modo ASCII. Este es el modo predeterminado user Permite reiniciar una sesión en el sitio FTP actual con un nombre de usuario diferente. Luego, se le pedirá que introduzca una contraseña nueva. ls Crea una lista de todos los archivos que se encuentran en el directorio actual pwd Muestra el nombre completo del directorio actual. CD se usa para pasar a un directorio diferente mkdir o md Crear un directorio dentro del directorio actual. rmdir o rmd Eliminar un directorio dentro del directorio actual. get Este comando permite descargar un archivo que se encuentra en el servidor. Si contiene espacios, introducirlo entre comillas. put Este comando se utiliza para subir un archivo local al servidor. open Cierra la sesión actual y abre una sesión nueva en otro servidor FTP close Cierra la sesión actual pero dea al software FTP activo bye quit Desconecta el software cliente del servidor FTP y lo coloca en modo inactivo. Entornos Gráficos: Filezilla FileZilla es un cliente FTP, un programa que permite subir y baar archivos de un servidor remoto. Es gratuito y su rendimiento es superior a la media. Configurar FileZilla es fácil: en la barra de conexión, introduces el servidor, el nombre de usuario y la contraseña, haces clic en el botón Conexión rápida y FileZilla conecta. En los paneles de la izquierda están los archivos de tu disco duro; a la derecha, los del servidor FTP. FileZilla muestra las conexiones en el panel inferior: archivos en cola, transferencias exitosas y fallidas. CuteFTP ersión profesional de uno de los meores clientes FTP que añade numerosas e importantes novedades a la excelente base de CuteFTP. De buenas a primeras, el primer gran cambio que notarás es en la interfaz totalmente rediseñada. Ésta muestra mucha más información de forma simultánea, ofrece un aspecto más moderno y meora ostensiblemente aspectos arcaicos, como el caso de la barra de proceso de cada archivo. Una de las meoras más destacadas es la posibilidad que se ha añadido de realizar descargas realizando múltiples conexiones simultáneas a un fichero, sistema muy útil e integrado en la mayoría de gestores de descargas convencionales. También sobresale el hecho de que puedas mantener múltiples conexiones simultáneas a diferentes FTP, perfectamente accesibles mediante pestañas y evitando así tener que eecutar la aplicación tantas veces como conexiones se tuvieran que realizar. El enésimo aspecto destacable de este cliente FTP es el nuevo menú avanzado del que dispone. Desde este menú se pueden realizar uploads con múltiple conexión (multi-thread), comprimiendo el archivo antes de subirse (en tres formatos distintos) o programando la tarea para que se realice posteriormente. Navegadores: Cualquier navegador actualizado a las últimas versiones es capaz de ser cliente FTP. Sencillamente, basta con que le digas al navegador, en formato "URL" qué servidor y directorio del mismo quieres ver, o, directamente, qué fichero te quieres traer. Nota: si te quieres conectar al servidor FTP anónimo de la Universidad de alencia (el ordenador "ftp.uv.es") y ver lo que hay en el directorio "/pub", basta que le digas a tu navegador que abra: ftp://ftp.uv.es/pub También es corriente que los navegadores te deen conectar a un servidor no anónimo con tu usuario y contraseña. Aunque, normalmente, no te dean poner o borrar ficheros, sí que puedes pasearte por el contenido. Basta especificar, además, el usuario y la contraseña en el mismo URL - Monitorización y registro del servicio de transferencia de archivos. Para saber quién está conectado a su servidor vía FTP, en qué directorios se encuentran y qué archivos están cargando o descargando del servidor deberá de activar el registro en del sistema FTP así podrá saber - Tipo. El tipo de usuario de panel de control que estableció la sesión: - Estado. Estado actual de la conexión FTP. - Nombre de usuario FTP. Nombre de usuario usado para acceder a la cuenta FTP. - Nombre de dominio. Dominio en el que el usuario FTP está conectado. - Ubicación actual. Directorio donde se encuentra el usuario FTP. - Nombre del Archivo. El nombre de archivo con el que se opera. - elocidad. elocidad de transferencias en kilo bites. - Progreso, %. Progreso de la operación de transferencia de archivo en porcentae. - Dirección IP. Dirección IP desde la que se accede a la cuenta FTP. - Hora de acceso. Tiempo transcurrido desde que el usuario se conectó. - Tiempo de inactividad. Tiempo en que el usuario no estaba realizando ninguna acción en el panel de control aún y estando conectado. - Seguridad en FTP. FTP no está diseñado para ser un protocolo seguro, especialmente con los estándares de hoy en día, y tiene muchas debilidades de seguridad. En 1999 los autores del RFC listaron las vulnerabilidades de FTP derivados de los siguientes problemas: Ataques Spoofing Captura de paquetes (sniffing) Ataques de fuerza bruta Robo de puertos (Port stealing) Ataques Rebote (Bounce attacks) Claves de usuario y datos no cifrados FTP no es capaz de cifrar el tráfico, todas las transmisiones están en texto plano, tanto nombres de usuario como contraseñas. Una solución común para este problema es utilizar en conunto los protocolos en texto plano (FTP) con protocolos seguros (SSL o TLS). Este es el caso por el cual existen FTPS y SFTP/SCP: SCP: Secure Copy o SCP es un medio de transferencia segura de archivos informáticos entre un host local y otro remoto o entre dos hosts remotos, usando el protocolo Secure Shell (SSH). El término SCP puede referir a dos conceptos relacionados, el protocolo SCP o el programa SCP. SFTP (Secure FTP): SSH File Transfer Protocol es un protocolo del nivel de aplicación que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos sobre un fluo de datos fiable. Se utiliza comúnmente con SSH para proporcionar la seguridad a los datos, aunque permite ser usado con otros protocolos de seguridad. Por lo tanto, la seguridad no la provee directamente el protocolo SFTP, sino SSH o el protocolo que sea utilizado en su caso para este cometido. SFTP utiliza el puerto 22 de TCP. - FTPS (FTP/SSL): FTPS Implícito. FTPS Explícito (FTPES). FTPS (también referido como FTP/SSL) es la forma de designar diferentes formas a través de las cuales se pueden realizar transferencias seguras de archivos a través de FTP utilizando SSL o TLS. Son mecanismos muy diferentes a los del protocolo SFTP. Existen dos diferentes métodos para realizar una conexión SSL/TLS a través de FTP. FTPS Implícito que consiste en cifrar la sesión completa a través de los puertos 990 (FTPS), y 998 (FTPS Data), sin permitir negociación con el cliente, el cual está obligado a conectarse directamente al servidor FTPS con el inicio de sesión SSL/TLS. FTPS Explícito (Explicit FTPS o FTPES), donde el cliente realiza la conexión normal a través del puerto 21, y permitiendo negociar, de manera opcional, una conexión TLS. - Protocolo FXP (File eXchange Protocol). FXP es un método de transferencia de datos, a través del cual los datos se envían de un servidor FTP a otro sin pasar por un cliente intermedio. La comunicación convencional FTP consiste en un solo servidor y un solo cliente. Toda la transferencia de datos se realiza entre los dos. Durante una sesión FXP, un cliente mantiene conexiones estándares con dos servidores, dirigiendo cualquiera de los dos servidores que se conecte al otro para iniciar una transferencia de datos. Este método permite a un cliente con poco ancho de banda intercambiar datos entre dos servidores con más ancho de banda sin el retraso asociado con la comunicación convencional FTP. A lo largo de este proceso, sólo el cliente es capaz de acceder a los recursos de los dos servidores. entaas: En esencia se trata del método más similar que existe para trasferir datos de un servidor a otro servidor sin permitir el acceso directo a la máquina. Inconvenientes: Algunos servidores no soportan FXP o lo tienen desactivado. Es más, los clientes FTP habituales no suelen estar diseñado para este tipo de intercambios. La razón por la que la mayoría de administradores de servicios de hosting desactivan esta herramienta es obvia: por riesgos de seguridad. FXP podría exponer nuestro servidor a una vulnerabilidad conocida como “FTP bounce”, en la que el hacker puede tomar acceso al servidor a través de un puerto abierto por un usuario inocente, convirtiendo su servidor en un zombie y aprovechándose de sus recursos para sus propios intereses. 2. Servicio TFTP (Trivial File Transfer Protocol). TFTP Protocolo de transferencia de archivos trivial. Es un protocolo de transferencia muy simple, semeante a una versión básica de FTP. TFTP a menudo se utiliza para transferir pequeños archivos entre ordenadores en una red, como cuando un terminal X Windows o cualquier otro cliente ligero arranca desde un servidor de red. Algunos detalles del TFTP: Utiliza UDP (en el puerto 69) como protocolo de transporte No puede listar el contenido de los directorios. No existen mecanismos de autenticación o cifrado. Se utiliza para leer o escribir archivos de un servidor remoto. Soporta tres modos diferentes de transferencia, "netascii", "octet" y "mail", 3. Servicios SFTP/SCP. SERVICIO SFTP Secure File Transfer Protocol es un protocolo del nivel de aplicación que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos sobre un fluo de datos fiable. Se utiliza comúnmente con SSH para proporcionar la seguridad a los datos. En comparación de capacidades con el anterior protocolo SCP, que únicamente permite la transferencia de archivos (copia), el protocolo SFTP permite una serie de operaciones sobre archivos remotos. Cuando se nombra SFTP pensamos en que el protocolo SFTP se obtiene al eecutar FTP sobre SSH, realmente estamos ante un nuevo protocolo diseñado por el grupo de trabao IETF SECSH. El protocolo SFTP en sí no facilita la autenticación y la seguridad, sino que espera que el protocolo subyacente asegure a este. SFTP es utilizado frecuentemente como subsistema del protocolo SSH, al haber sido diseñadas por el mismo grupo. Sin embargo, es posible eecutarlo a través de SSH (y algunas implementaciones que lo soporten) o de otros fluos de datos. Un cliente de protocolo SFTP dispuesto a conectarse a un servidor SSH necesita conocer la ruta de acceso al servidor SFTP binario en el lugar del servidor. SERVICIO SCP SCP es un medio de transferencia segura de archivos informáticos entre un host local y otro remoto o entre dos hosts remotos, usando el protocolo Secure Shell (SSH). Protocolo SCP El protocolo SCP es básicamente idéntico al protocolo rcp de BSD. A diferencia de rcp, los datos son cifrados durante su transferencia, para evitar que potenciales packet. Sin embargo, el protocolo mismo no provee autenticación y seguridad; sino que espera que el protocolo subyacente, SSH, lo asegure. El modo SCP o simple communication protocol, es un protocolo simple que dea al servidor y al cliente tener múltiples conversaciones sobre una TCP normal. Este protocolo está diseñado para ser simple de implementar. El servicio principal de este protocolo es el control del dialogo entre el servidor y el cliente, administrando sus conversaciones y agilizadas en un alto porcentae, este protocolo le permite a cualquiera de los dos establecer una sesión virtual sobre la normal. SCP puede solicitar de manera iterativa cualquier contraseña para establecer una conexión con un host remoto. El protocolo SCP implemente la transferencia de archivos únicamente. Para ello se conecta al host usando SSH y allí eecuta un servidor SCP. Generalmente el programa SCP del servidor es el mismo que el del cliente. Para realizar la subida, el cliente le proporciona al servidor los archivos que desea subir y opcionalmente puede incluir otros atributos (permisos, fechas, etc.) Esto es una ventaa sobre el protocolo FTP. Para descargar, el cliente envía una solicitud por los archivos que desea descargar. El proceso de descarga está dirigido por el servidor y es el que se encarga de la seguridad del mismo. Frecuentemente, para los usos aquí detallados se utiliza el protocolo SFTP, también basado en SSH. 4. Transferencia o distribución de archivos entre iguales (peer-to-peer). Una red Peer-to-Peer, red de pares, red entre iguales, red entre pares o red punto a punto (P2P, por sus siglas en inglés) es una red de ordenadores en la que todos o algunos aspectos funcionan sin clientes ni servidores fios, sino una serie de nodos que se comportan como iguales entre sí. Es decir, actúan simultáneamente como clientes y servidores respecto a los demás nodos de la red. Las redes P2P permiten el intercambio directo de información, en cualquier formato, entre los ordenadores interconectados. - Características. Protocolos. Software. Configuración. Características: Escalabilidad. Las redes P2P tienen un alcance mundial con cientos de millones de usuarios potenciales. En general, lo deseable es que cuantos más nodos estén conectados a una red P2P, meor será su funcionamiento. Robustez. En caso de haber fallos en la réplica excesiva de los datos hacia múltiples destinos, y —-en sistemas P2P puros—- permitiendo a los peers encontrar la información sin hacer peticiones a ningún servidor centralizado de indexado. En el último caso, no hay ningún punto singular de falla en el sistema. Descentralización. Estas redes por definición son descentralizadas y todos los nodos son iguales. No existen nodos con funciones especiales, y por tanto ningún nodo es imprescindible para el funcionamiento de la red. En realidad, algunas redes comúnmente llamadas P2P no cumplen esta característica, como Napster, eDonkey o BitTorrent. Distribución de costes entre los usuarios. Se comparten o donan recursos a cambio de recursos. Según la aplicación de la red, los recursos pueden ser archivos, ancho de banda, ciclos de proceso o almacenamiento de disco. Anonimato. Es deseable que en estas redes quede anónimo el autor de un contenido, el editor, el lector, el servidor que lo alberga y la petición para encontrarlo, siempre que así lo necesiten los usuarios. Muchas veces el derecho al anonimato y los derechos de autor son incompatibles entre sí, y la industria propone mecanismos como el DRM para limitar ambos. Seguridad. Los obetivos de un P2P seguro serían identificar y evitar los nodos maliciosos, evitar el contenido infectado, evitar el espionae de las comunicaciones entre nodos, creación de grupos seguros de nodos dentro de la red, protección de los recursos de la red… La mayor parte de los nodos aún están bao investigación, pero los mecanismos más prometedores son: cifrado multiclave, caas de arena, gestión de derechos de autor (la industria define qué puede hacer el usuario; por eemplo, la segunda vez que se oye la canción se apaga), reputación (permitir acceso sólo a los conocidos), comunicaciones seguras, comentarios sobre los ficheros, etc. Protocolos y Software. Uso SOFTWARE ANts P2P Intercambio de ficheros/Distribución de software/Distribución de multimedia Ares Intercambio de ficheros BitTorrent Intercambio de ficheros/Distribución de software/Distribución de multimedia Direct Connect Intercambio de ficheros, chat DC++, NeoModus Direct Connect, SababaDC, BCDC++, RevConnect, fulDC, LDC++, CzDC, McDC++, DCDM++, DDC++, iDC++, IceDC++, Zion++, R2++, rmDC++, LinuxDC++, LanDC++, ApexDC++, StrongDC++ eDonkey Intercambio de ficheros aMule, eDonkey2000 (extinguido), eMule, eMule Plus, FlashGet, iMesh, Jubster, lMule, MLDonkey, Morpheus, Pruna, Shareaza, xMule FastTrack Intercambio de ficheros giFT, Grokster, iMesh (y sus variantes como iMesh Light), Kazaa (y sus variantes como Kazaa Lite), KCeasy, Mammoth, MLDonkey, Poisoned Freenet Almacenamiento distribuido Freenet, Entropy (red separada de Freenet) GNUnet Intercambio de ficheros, chat GNUnet, (GNUnet-gtk) Gnutella Intercambio de ficheros BearShare, Cabos, FilesWire, FrostWire,Gnucleus, Grokster, gtk-gnutella, iMesh, Kiwi Alpha, LimeWire (extinguido), MLDonkey, Morpheus, MP3 Rocket, Gnutella2 Intercambio de ficheros Adagio, Gnucleus, Kiwi Alpha, MLDonkey, Morpheus, Shareaza, TrustyFiles