Sesión 5(CLIENTE SERVIDOR) - luisvidev/Redes GitHub Wiki
Cliente/servidor(concepto de software para la comunicación de procesos) es la arquitectura más utilizado para el intercambio de datos en una red. Cliente se encarga de de solicitar un servicio. Servidor se encarga de proporcionar dicho servicio.
Repsuesta a una de los preguntas: datos, procesamiento y presentación estudiar el termino de escalabilidad. Ver diapositivas
PROCESO CLIENTE
Actua como front-end y se encarga de enviar un mensaje al servidor solicitandole que realice una tarea.
- Manejor de la interfaz de usuario.
- Validación de datos.
- Despacho de solicitudes a los servidores.
- Interfaz entre el usuario y la aplicación.
- Manejo de recursos locales en la estación de usuario.
PROCESO SERVIDOR
Elemento pasivo que solo se ejecuta como respuesta a una solicitud de un cliente. Un servidor es cualquier nodo que tenga uno o más recursos que puedan ser compartidos.
- Recepción de solicitudes.
- Ejecución de solicitudes.
- Despacho de solicitudes.
- Manejo de la lógica del negocio común.
- Back-end para tareas que resultan comunes para aplicaciones similares. Cuenta con mecanismos de control de concurrencia.
TIPOS DE ARQUITECTURA CLIENTE/SERVIDOR
ARQUITECTURA DE 2 NIVELES
Proceso cliente se comunica directamente con el proceso servidor y consta de dos computadores: un cliente y un servidor.Excelente para ambiente pequeños
ARQUITECTURA DE 3 NIVELES
Introduce un agente entre el cliente y el servidor.Se divide en:
- Capa de presentación
- Capa de funcionalidad
- Capa de lógica de los datos
ARQUITECTURA DE N-NIVELES
Los servidores requeridos por el cliente se encuentran dispersos en varios servidores.Se maneja diferentes niveles. Eficiencia: Hay un costo.
VENTAJAS DE CLIENTE/SERVIDOR
- Sistema abierto
- Heterogeneidad
- Interoperabilidad
- Escalabilidad
- Adaptabilidad
DESVENTAJAS DE CLIENTE/SERVIDOR
- Puede no ser la solución correcta para todo tipo de aplicaciones.
- Genera costos inesperados
MECANISMOS INVOLUCRADOS EN LA INTERACCIÓN CLIENTE/SERVIDOR
- Dirección IP del cliente y servidor.
- Se debe identificar el proceso que se esta ejecutando en el equipo receptor.Se utilizan puertos que identifica un proceso específico.
- Se debe definir si se requiere una comunicación confiable entre origen y destino.
- Se debe establecer el canal de comunicaciones que permita el flujo de datos.
- Debe definirse si la comunicación se va a realizar entre un único servidor y cliente, o e servidor va a manejar varios clientes.
ELEMENTOS QUE PARTICIPAN EN LA COMUNICACIÓN CLIENTE/SERVIDOR
PUERTO
Es un número entre 0 y 65536 que permite identificar a un proceso en un computador. Esquemas para la asignación de puertos:
- Asignación universal: se maneja un rango de números fijos asociados a los procesos más solicitados.
- Asignación dinámica: emisor solicita al receptor que le asigne un número de puerto por medio del cual se pueda establecer la comunicación deseada y se utiliza una autoridad central.Hay un número de 1024 asignados que no se pueden asignar.
SOCKET
Es un conector de red, es el extremo de un enlace de comunicación de dos vías entre dos programas que se ejecutan en la red. Una aplicación crea un socket al epecificar 3 elementos: -la dirección IP del equipo. -el puerto que la aplicación esta utilizando. -el tipo de servicio(TCP orientado a conexión o UDP no orientado a conexion) utilizado por la aplicación.