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

  1. Dirección IP del cliente y servidor.
  2. Se debe identificar el proceso que se esta ejecutando en el equipo receptor.Se utilizan puertos que identifica un proceso específico.
  3. Se debe definir si se requiere una comunicación confiable entre origen y destino.
  4. Se debe establecer el canal de comunicaciones que permita el flujo de datos.
  5. 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.