Arquitectura Cliente-Servidor y Peer-to-Peer: Fundamentos y Protocolos
Enviado por Comunidad Wikiteka y clasificado en Informática
Escrito el en
español con un tamaño de 3,57 KB
Arquitectura Cliente-Servidor
El modelo Cliente/Servidor define la estructura de las aplicaciones que se comunican y su sincronización. Consta de dos procesos que interactúan entre sí:
- Proceso Servidor
- Proceso Cliente
Cliente y servidor son elementos inseparables; uno no puede existir sin la presencia del otro.
Servidor
Un servidor es un proceso que escucha en un puerto determinado, esperando continuamente que otros procesos remotos (clientes) se conecten a él.
Características principales:
- Autenticación
- Seguridad y privacidad de la información del sistema donde residen
- Capacidad para gestionar peticiones de varios clientes simultáneamente
IMPORTANTE: Todos los clientes se conectan al mismo puerto del servidor.
En general, un ordenador se considera un servidor cuando su sistema operativo ejecuta uno o varios procesos servidores (FTP, HTTP, DNS, etc.).
Cliente
Un cliente es un proceso que envía peticiones a un proceso servidor y espera las respuestas del servidor. Su programación es más sencilla que la de un servidor.
Tipos de clientes:
- Cliente estándar: Hacen peticiones a servicios como HTTP, FTP, etc.
- Cliente no estándar: Hechos a medida para una red local y que también emplean protocolos TCP/IP. Emplean puertos conocidos localmente.
Conexión Cliente-Servidor:
- El servidor debe especificar la dirección IP y el puerto o puertos que mantendrá abiertos para escuchar las peticiones de los clientes.
- El cliente debe especificar la dirección IP y el puerto del servidor al que se quiere conectar. Una vez hecho esto, el sistema operativo asigna un número de puerto al proceso cliente.
Arquitectura Peer-to-Peer (P2P)
En la arquitectura peer-to-peer, la comunicación se produce entre iguales. No existe un proceso propiamente servidor que controle los accesos de los clientes. Todos los procesos actúan como clientes o servidores.
Una máquina puede tener procesos "servidores" y "clientes" funcionando simultáneamente. Ejemplos: Torrent, Emule, etc.
Ventajas del P2P:
- Permite una compartición de información distribuida y más eficiente.
- En lugar de acceder a un servidor centralizado, se puede acceder a cualquier ordenador de la red, reduciendo el tráfico desde/hacia el servidor.
Protocolos de Red
NFS
NFS (Network File System) es un protocolo de nivel de aplicación utilizado para sistemas de archivos distribuidos en un entorno de red de área local. Permite que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales.
El sistema NFS consta de un servidor y uno o más clientes que acceden de forma remota a los datos almacenados en el servidor.
Samba
Samba es una implementación libre del protocolo de archivos compartidos de Microsoft, antiguamente para sistemas Unix y Linux. Permite que ordenadores con Linux, Mac o Unix se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios.
La configuración de Samba se realiza editando el archivo /etc/smb.conf o /etc/samba/smb.conf.
SSL
SSL (Secure Sockets Layer) es un protocolo criptográfico que proporciona comunicaciones seguras en una red, comúnmente Internet. Proporciona autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de técnicas criptográficas.