Comunicación en Redes: Del Modelo Cliente/Servidor a la Seguridad

Modelo Cliente/Servidor y Arquitecturas de Red

Modelo de comunicación cliente/servidor: Uno de los procesos (servidor) ejecuta los encargos (comandos) que le hace el otro proceso (cliente).
Aplicación distribuida: Los diferentes programas que componen la aplicación pueden estar situados en diferentes máquinas (máquina y servidor).
Visión de conjunto: Tenemos dos niveles de problema:

  • Comunicación entre procesos componentes de la aplicación –> Nivel de Aplicación.
  • Transmisión física de la información –> Nivel Físico.

Arquitecturas por niveles:
Protocolo: Conjunto de normas que rigen la comunicación entre dos entidades del mismo nivel. La comunicación es virtual.
Servicio: Trabajo que un determinado nivel de la arquitectura puede dar a su nivel inmediatamente superior.
Interfaz: Modo de comunicación entre dos entidades de nivel adyacente en la misma máquina.

Puentes de Red

Un puente dispone físicamente dos redes, pero lógicamente distintas.

Control de Flujo y Protocolos TCP/UDP

Control de flujo: Para evitar la saturación de los buffers del receptor, se necesitan tomar medidas para detener o disminuir el flujo de PDU’s, pero se complica debido a los retardos entre emisor y receptor.

Protocolo TCP (Transmission Control Protocol)

Características:

  • Orientado a conexión.
  • Conexiones dúplex y punto a punto.
  • Secuenciamiento.
  • Detección de errores.
  • Recuperación de errores por retransmisión de bloques de bytes.
  • Control de flujo explícito mediante créditos.
  • Detección de congestiones y reacción ante ellas.

Identificación de conexiones: Cada conexión se identifica por dos sockets de los extremos (origen, destino).
Segmento TCP: Solo tiene un formato único de PDU, el segmento TCP. Para diferenciar segmentos de datos y de control se usa una serie de flags en la cabecera.
Control de flujo: Una entidad TCP asigna un par de buffers a cada conexión establecida. En uno guarda los datos entregados por la entidad de aplicación. En otro deposita los datos recibidos dejándolos accesibles a la entidad de aplicación.

Protocolo UDP

Protocolo de nivel de transporte basado en el intercambio de datagramas. Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera.

: Componentes de una Aplicación Distribuida

Servidor: Proceso que gestiona el acceso a un determinado recurso. Está siempre en marcha, «escuchando» en un puerto fijo. Forma de prestar el servicio:

  • Iterativo: recoge petición y el mismo la atiende.
  • Concurrente: recoge petición y crea un proceso que la atiende (servidor web).

Cliente: Proceso que realiza peticiones de servicio al servidor (navegador).
Formato de Información: Definición del formato de la información a intercambiar (HTML).
Protocolo: Protocolo del nivel de aplicación (HTTP).
Socket: Puerta que comunica un proceso con el exterior. La comunicación se realiza siempre entre una pareja de sockets. Dos procesos distintos crean cada uno su socket. Proporcionan una comunicación dúplex.
Servidores concurrentes: Capaces de atender a varios clientes a la vez, sin esperar a acabar de atender a uno para empezar con el siguiente.

: Protocolos FTP, DNS, Email, HTTP y WWW

FTP: Protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP, basado en la arquitectura cliente-servidor.
DNS (Sistema de Nombre de Dominio): Esquema de nombres jerárquicos basado en dominios, una base de datos distribuida y un protocolo de aplicación para comunicar cliente-servidor. Un dominio es un grupo de máquinas relacionadas administrativamente.
Email: Servicio de red que permite a los usuarios enviar y recibir mensajes rápidamente.
SMTP: Protocolo sencillo basado en caracteres ASCII. Exige cuerpo del mensaje en ASCII. Sirve para enviar mail pero no para recibir.
IMAP: Permite leer correo desde máquinas distintas. Codificación ASCII.
HTTP: Protocolo para leer páginas web, pero también para correo.
WWW: Componentes: formato HTML, cliente web (navegador), servidor (almacena información), protocolo de aplicación HTTP, esquema de direccionamiento.
HTML: Formato de texto basado en etiquetas.
Protocolo HTTP: Define cómo pueden solicitar los clientes páginas web a los servidores y cómo se transfieren.

Seguridad en Redes: Confidencialidad, Autenticación e Integridad

Confidencialidad: Solo emisor y receptor son capaces de interpretar el contenido del mensaje.
Autenticación: Emisor y receptor tienen absoluta certeza acerca de la identidad de la otra parte.
Integridad: El receptor tiene garantías de que el mensaje no ha podido ser manipulado desde su emisión.
Criptografía: Técnicas para el cifrado de la información.
Criptoanálisis: Técnicas para violar el cifrado de la información hecho mediante técnicas criptográficas.
Criptología: Estudio conjunto de técnicas de criptografía y criptoanálisis.
Esteganografía: Técnica que busca la confidencialidad ocultando el mensaje camuflado en gran cantidad de información-basura.
Cifrado simétrico: Presupone que los interlocutores disponen de un canal seguro para acordar la clave.
Cifrado asimétrico: Claves diferentes para cifrar y descifrar, una clave pública y otra privada.
Autenticación: Dos técnicas:

  • Nombre de usuario y clave de acceso.
  • Por desafío: el usuario queda identificado por su clave de cifrado.

Cortafuegos: Combinación de hardware y software que aísla a una red interna de Internet, permitiendo que algunos paquetes pasen y bloqueando otros (entrada y salida).
Red Privada Virtual (VPN): Permite conectar dos máquinas entre sí de forma segura, a través de un medio inseguro, público (Internet) o privado (LAN inalámbrica o intranet).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.