Fundamentos de Arquitecturas y Protocolos de Red de Capa de Aplicación


Arquitecturas Fundamentales de Red

Arquitectura Cliente-Servidor (C-S)

El servidor siempre está activo y da servicio a las solicitudes de otros hosts (los clientes). El servidor posee una dirección IP fija y conocida.

  • Clusters: Agrupaciones de servidores utilizadas para dar servicio a todas las peticiones, dado que un servidor no puede responder a todas las solicitudes.
  • Clientes (Hosts): Pueden estar activos de forma continua o intermitente. Utilizan IP dinámica y no se comunican directamente entre sí, sino que envían peticiones al servidor.
  • Infraestructura: Intensiva, ya que los proveedores de servicios compran, instalan y mantienen las granjas de servidores.
  • Ejemplos: Web, FTP, Telnet y correo electrónico.

Arquitectura Peer-to-Peer (P2P)

Utiliza la comunicación directa entre los peers.

  • Poca dependencia de infraestructura, lo que reduce los costes.
  • Altamente escalable.
  • Cada peer actúa como cliente o servidor.
  • Desafíos: Problemas de fiabilidad, rendimiento y seguridad.
  • Ejemplo: BitTorrent.

Arquitectura Híbrida

Utiliza la concurrencia de un servidor para la detección y ubicación de los peers.

Ejemplo: Skype.

Conceptos Clave de la Capa de Aplicación

Proceso

Programa que se ejecuta dentro de un sistema terminal. La comunicación entre procesos se realiza:

  • En el mismo sistema: Aplicando las reglas del sistema operativo.
  • En distintos sistemas: Mediante el intercambio de mensajes.

Socket (API)

Interfaz entre la capa de aplicación y la capa de transporte. Los procesos envían y reciben mensajes a través de esta API. El desarrollador tiene control sobre la capa de aplicación y poco control sobre la capa de transporte.

Servicios de Transporte para Aplicaciones de Red

Los servicios de transporte deben proporcionar:

  • Fiabilidad.
  • Tasa de transferencia (ancho de banda).
  • Temporización (marcas de tiempo).
  • Seguridad.

Protocolos de Transporte en Internet

TCP (Protocolo de Control de Transmisión)

  • Orientado a la conexión: Se produce una fase de negociación y luego la conexión.
  • Fiable: Entrega los datos en el orden correcto y sin errores.
  • Tiene mecanismo de control de congestión.

UDP (Protocolo de Datagramas de Usuario)

  • No orientado a la conexión.
  • No fiable: Los mensajes pueden llegar desordenados.
  • No tiene control de congestión.

Los servicios no proporcionados por TCP ni UDP (como tasa de transferencia, temporización y seguridad) son complementados por SSL/TLS.

Protocolos de la Capa de Aplicación

Definición de Protocolo de Aplicación

Define cómo los procesos de una aplicación ejecutados en distintos sistemas terminales se pasan mensajes entre sí. Existen protocolos de dominio público y protocolos propietarios.

La Web

Servicio para acceso a información y recursos vinculados distribuidos en muchos hosts. Permite recibir y publicar información. Funciona bajo demanda y emplea el modelo Cliente-Servidor (C-S).

Elementos de la Web

  • Páginas y objetos.
  • Direccionamiento (URL para direccionar recursos).
  • Arquitectura Cliente-Servidor Web.

HTTP (Protocolo de Transferencia de Hipertexto)

Protocolo para la transferencia de recursos con dos versiones (1.0/1.1), basado en el modelo C-S. Es sin estado y no conectivo.

Conexiones No Persistentes

  • Requieren una conexión TCP diferente para cada objeto.
  • Solo soportan una transacción HTTP.
  • Modos: en serie y en paralelo.

Conexiones Persistentes (HTTP 1.1)

  • Varias transacciones HTTP se realizan en una misma conexión TCP.
  • La conexión se cierra pasado un tiempo sin actividad.
  • Pueden ser sin o con canalización (*pipelining*).

Mensajes HTTP

Constan de:

  • Cabecera de solicitud.
  • Cabecera de respuesta.
  • Cuerpo (en la solicitud suele estar vacío).

Los métodos usados son: GET, POST, HEAD, DELETE.

Mecanismos de Optimización y Seguimiento

Cookies y Servidor Proxy

Mecanismo para identificar a los usuarios, empleado por muchos sitios web para el seguimiento de actividades y para ofrecer un mejor servicio. Las cookies pueden utilizarse para crear una capa de sesión.

Componentes de las Cookies

  1. Cabeceras específicas para cookies en solicitud y respuesta.
  2. Archivo de cookies: Está en el sistema del usuario y lo gestiona el navegador.
  3. Base de datos de respaldo: Gestionada por el servidor web.

La primera vez que un usuario visita un sitio, puede proporcionar una identificación. En sesiones posteriores, el navegador pasa una cabecera de cookies al servidor, identificando al usuario.

Caché Web

Entidad de red que satisface solicitudes HTTP en nombre de un servidor. La caché web dispone de su propio almacenamiento y mantiene copias temporales de los objetos solicitados, lo que reduce el tiempo de espera y el tráfico de datos.

GET Condicional

Mecanismo HTTP (usando la cabecera If-Modified-Since) para comprobar y garantizar la actualidad de los objetos en caché, evitando la transferencia si el objeto no ha sido modificado.

Servicios de Correo Electrónico

Componentes del Correo

  • Agentes de Usuario (UA): Actúan de interfaz entre el usuario y el sistema de correo. Disponen de utilidades para gestionar mensajes (leer, responder, etc.).
  • Servidores de Correo: Almacenan los mensajes en buzones y se ocupan de fallos (si no se puede enviar el mensaje, este se queda en colas de salida). Incluyen software de comunicación con el UA y el MTA.
  • Agente de Transferencia de Mensajes (MTA): Agente de transferencia de mensajes entre servidores de correo.

SMTP (Protocolo Simple de Transferencia de Correo)

Es el protocolo principal de la capa de aplicación para el correo electrónico.

  • Usa el modelo Cliente-Servidor y conexiones persistentes.
  • Utiliza protocolo Push (inserción), a diferencia de HTTP, que usa protocolo Pull (extracción).
  • Utiliza ASCII de 7 bits.

Protocolos de Acceso al Correo

POP3 (Protocolo de Oficina de Correo, versión 3)

  • Usa modelo C-S y conexiones TCP.
  • Es simple y limitado (generalmente descarga y elimina).
  • Fases: Solicitud (Autorización y Transacción), Respuesta y Actualización.

IMAP (Protocolo de Acceso a Mensajes de Internet)

  • Modelo C-S sobre TCP.
  • Mantiene funciones del Agente de Usuario a nivel del servidor de correo (mantiene información de estado).
  • Tiene 3 formas de acceso: offline, online y desconectado.

DNS (Sistema de Nombres de Dominio)

Es una base de datos distribuida implementada en una jerarquía de servidores DNS. Se ejecuta sobre UDP, usa el modelo Cliente-Servidor y permite escalabilidad.

Servicios Importantes de DNS

  • Alias de Host: Cuando un host tiene un alias, se dice que es el nombre de host canónico.
  • Alias de servidor de correo.
  • Distribución de carga.

Clases de Servidores DNS

  1. Raíz: Disponen de registros de todos los servidores DNS de nivel superior (TLD) y conocen sus direcciones IP. Cada uno es un cluster de servidores replicados, por seguridad y fiabilidad.
  2. De Nivel Superior (TLD): Gestionan dominios genéricos y geográficos.
  3. Autorizados: Requeridos por toda organización con hosts accesibles desde Internet. Implementados, gestionados y mantenidos por la organización o un ISP. Mantienen la correspondencia entre nombre y direcciones IP.
  4. Local: No pertenecen a la jerarquía DNS. Cada ISP dispone de uno o varios. Es donde primero se envían las consultas DNS desde los hosts (direcciones IP proporcionadas por los ISP).

Tipos de Consultas DNS

  • Locales: El servidor DNS local dispone del recurso solicitado.
  • Recursivas: El DNS consultado se involucra en la resolución. La raíz no admite este tipo de consultas.
  • Iterativas: El servidor DNS consultado responde indicando redirigir la solicitud a otro servidor DNS, lo que reduce las cargas de trabajo.
  • Inversa: Traduce una dirección IP a un nombre de dominio.

Caché DNS y Registros de Recursos (RR)

Caché DNS

Mejora el rendimiento. Son copias temporales en memoria caché que reducen retardos y el número de consultas.

Registros de Recursos (RR)

Información que se devuelve a una solicitud DNS. Almacenan la información en servidores, pudiendo ser de manera permanente (en DNS autorizado) o temporal (en DNS no autorizado).

Constan de 5 campos:

  • Nombre
  • Valor
  • Tipo (A, MX, NS, etc.)
  • TTL (Tiempo de vida)
  • Clase

Estructura del Protocolo DNS

El protocolo DNS es transaccional y tiene mensajes de solicitud y respuesta.

Secciones del Mensaje DNS

  1. Cabecera: De 12 octetos, con identificadores, indicadores (*flags*) y número de secciones.
  2. Cuestiones: Contiene información sobre la consulta (nombre, tipo y clase).
  3. Respuesta: Contiene los RR para el nombre por el que se pregunta.
  4. Autorización: Puede contener RR que apunten a uno o más servidores DNS autorizados.
  5. Información Adicional: RR complementarios.

Inserción de Registros

Un registrador es una entidad comercial que se ocupa de verificar la unicidad de los nombres de dominio y registrarlos en la base de datos DNS. Se proporcionan nombres y direcciones IP de sus servidores DNS autoritativos, introduciendo un RR de tipo A y uno de tipo MX.

Dejar un Comentario

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