Fundamentos de Redes: Protocolos DNS, HTTP y FTP (Conceptos y Funcionamiento)

Cuestiones de Control: Sistema de Nombres de Dominio (DNS)

Definiciones Fundamentales de DNS

Respecto a DNS, defina:

Sistema de Nombres de Dominio (DNS)

Especificación del formato del nombre de dominio que define cómo deben formarse los nombres que van a identificar a los nodos en una red TCP/IP.

Protocolo DNS

Es el protocolo en el que se basa el servicio, indicando el formato de los mensajes necesarios, qué mensajes debe enviar el cliente, cuáles el servidor y en qué momento enviarlos.

Servicio DNS

El servicio DNS se encarga de la resolución de nombres a través de una consulta, a la que se suele responder con la dirección IP asociada a dicho nombre u otras características. Normalmente, requiere un mensaje de consulta por parte del cliente y un mensaje de respuesta enviado por el servidor.

Tipos de Nombres y Estructura de Dominios

Diferencia entre Nombre Plano y Nombre Jerárquico

  • Plano: No establece ninguna jerarquía y sirve para identificar a una entidad dentro de una única categoría o entorno. No la identifica en un entorno diferente. Ejemplo: Números de empleado dentro de una empresa específica (Carrefour o Mercadona).
  • Jerárquico: Identifica a una entidad basándose en diferentes niveles o categorías que se engloban unas a otras, identificándola de forma única. Ejemplos: El DNI o la dirección postal.

Sintaxis Básica para Construir un Nombre de Dominio

  • Cada etiqueta (nivel) de dominio puede tener un máximo de 63 caracteres y un mínimo de 2.
  • Se pueden tener un total de 127 niveles.
  • La longitud total del nombre de dominio no debe exceder los 255 caracteres.

Resolución de Nombres Antes de DNS

Antes de la aparición del servicio DNS, la resolución de nombres se realizaba mediante un archivo llamado HOSTS, que contenía todos los nombres de dominio conocidos y sus direcciones IP asociadas.

Niveles de la Estructura Jerárquica DNS

La estructura jerárquica del espacio de nombres DNS se compone de:

  1. Raíz (Root)
  2. Primer Nivel (TLD)
  3. Segundo Nivel
  4. Subdominios/Nodos

Tipos de Dominios de Nivel Superior (TLD)

ccTLD (Country Code Top-Level Domain)

Los Dominios Geográficos o Territoriales (ccTLD) se utilizan en sitios web que pertenecen a un territorio o país determinado. Están conformados por dos letras que asocian el portal web con su país de origen (ej. .es, .mx).

gTLD (Generic Top-Level Domain)

Son aquellos dominios que no están catalogados para un país o territorio específico, por lo tanto, son dominios generales (ej. .com, .org, .net).

Protocolo y Proceso de Resolución

Protocolo de Transporte y Puertos DNS

El protocolo de transporte utilizado en DNS es UDP. Los puertos son:

  • Servidor: Puerto 53.
  • Cliente: Un puerto dinámico.

Nota: TCP también se utiliza para transferencias de zona.

Proceso de Resolución de Nombres en Cliente Windows (Tipo H – Híbrido)

El cliente DNS de Windows sigue los siguientes pasos para resolver un nombre de dominio (en modo híbrido):

  1. Comprueba si el nombre hace referencia a sí mismo (localhost).
  2. Busca en la caché DNS local (se puede visualizar con ipconfig /displaydns).
  3. Busca en el archivo hosts (ubicado en C:\Windows\System32\drivers\etc\hosts).
  4. Consulta al servidor DNS configurado.
  5. Comprueba si es el mismo nombre (resolución local).
  6. Busca en la caché local de NETBIOS.
  7. Busca en el archivo LMHOSTS.
  8. Busca en un servidor WINS.
  9. Realiza una búsqueda por difusión (broadcast).
  10. Si todos los pasos anteriores fallan, indica que no puede resolver el nombre.

Tipos de Consultas y Servidores DNS

Tipos de Consultas DNS

Los cuatro tipos principales de consultas que se pueden realizar a un servidor DNS son:

  • Consulta Directa
  • Consulta Inversa
  • Consulta Recursiva
  • Consulta Iterativa

Resultado de una Consulta Inversa

En una consulta inversa, el cliente pregunta con una dirección IP y espera recibir el nombre de dominio asociado.

¿Se recibe siempre una respuesta? No. Si el servidor DNS consultado no tiene configurada una zona de búsqueda inversa (registro PTR), no podrá resolver la consulta.

Consulta Recursiva

Es el tipo de consulta más habitual que realiza un cliente a un servidor. El cliente queda a la espera de la mejor respuesta posible (la resolución completa). Ejemplo: NSLOOKUP www.youtube.com.

Consulta Iterativa

Consiste en una consulta que se resuelve realizando diferentes peticiones, empezando desde el servidor Raíz y continuando por los diferentes niveles de la jerarquía DNS.

¿Quién y cuándo la realiza? La realiza un servidor DNS cuando el registro solicitado no está en su base de datos y no tiene configurado un reenviador. El servidor DNS actúa como cliente para resolver la petición original.

Servidor Raíz (Root Server)

Es un servidor de nombres asociado al dominio más alto de la estructura DNS (el Dominio Raíz). Contiene información sobre las direcciones IP de los servidores asociados al primer nivel (TLDs).

Principales Tipos de Servidores DNS

Los cuatro principales tipos de servidores DNS son:

  • Primario (Maestro)
  • Secundario (Esclavo)
  • Reenviador (Forwarder)
  • Caché (Caching-only)

Servidor Secundario y su Función

Un servidor secundario mantiene una copia actualizada de la base de datos de las zonas del servidor primario. Su función principal es proporcionar redundancia y balanceo de carga. No puede modificar las bases de datos, pero sí puede responder a las consultas realizadas por los clientes.

Respuesta No Autoritativa

Que un servidor DNS ofrezca una respuesta no autoritativa significa que el registro solicitado no se encuentra en su base de datos local (no es el servidor maestro de esa zona), y ha tenido que resolver la consulta preguntando a otros servidores de nombres.

Zonas y Registros de Recursos DNS

Transferencia de Zona DNS

La transferencia de zona DNS es el proceso de envío de la base de datos completa de la zona primaria a un servidor secundario.

Se realiza periódicamente, dependiendo del tiempo configurado por el administrador (parámetro Refresh), o cada vez que se modifica la zona primaria (notificación Notify).

Tipos de Zonas DNS

  • Zona de Búsqueda Directa: Es la base de datos que asocia un nombre de dominio con una dirección IP. Es la zona que se consulta para responder las consultas directas.
  • Zona de Búsqueda Inversa: Asocia una dirección IP con un nombre de dominio. Se usa para responder consultas inversas (no es obligatoria para el funcionamiento básico del servicio).
  • Zona Primaria (Maestra): Contiene la base de datos editable de un servidor primario o maestro.
  • Zona Secundaria (Esclava): Contiene una copia de solo lectura de la base de datos del servidor DNS secundario.

Información Almacenada en la Base de Datos DNS

Se guardan registros de recursos asociados a los nombres de dominio de los dispositivos de una red.

Registro de Recurso (RR)

Los registros de recursos son entradas en la base de datos de la zona que contienen información específica sobre los nombres DNS de los dispositivos de la red (direcciones, alias, servidores de correo, etc.).

Definición de Registros de Recurso Clave

  • SOA (Start of Authority): Proporciona información fundamental sobre la zona, incluyendo el servidor DNS primario, el correo del administrador y parámetros de temporización.
  • A (Address): Guarda información sobre un nombre de dominio y su dirección IPv4 asociada.
  • PTR (Pointer): Es un registro de la zona de búsqueda inversa que asocia una dirección IP con un nombre de dominio que existe en la zona de búsqueda directa.

Parámetro TTL (Time To Live)

El parámetro TTL asociado a un registro de recurso indica el tiempo de validez que tendrá dicho registro en la caché DNS del cliente o de otros servidores intermedios antes de que deba ser consultado de nuevo.

DNS Dinámico (DDNS)

El DNS Dinámico es un servicio que permite la actualización en tiempo real de la información de los registros de recursos en el servidor de nombres, generalmente por parte del propio cliente.

Función del Archivo Hosts

Este archivo contiene asignaciones estáticas de direcciones IP a nombres de host. Se utiliza en el proceso de resolución de nombres antes de realizar una consulta al servidor DNS.

Utilidad de la Zona de Búsqueda Inversa

Se utiliza para resolver consultas inversas (obtener el nombre a partir de la IP). No es necesaria para el funcionamiento básico del servicio DNS.

Alias y Registro CNAME

Un alias es un nombre alternativo a un registro que ya existe en la zona. El tipo de registro de recurso utilizado para definir un alias es el CNAME (Canonical Name).

Reenviador (Forwarder)

Es un servidor DNS configurado para resolver las consultas sobre registros sobre los que el DNS local no tiene autoridad, enviándolas a un servidor externo específico.

El servidor que suele utilizarse como reenviador es el DNS proporcionado por el Proveedor de Servicios de Internet (ISP).

Servidor DNS como Cliente DNS

Sí. Un servidor DNS actúa como cliente DNS cuando necesita resolver consultas sobre las que no tiene autoridad (realizando consultas iterativas) o para acceder de forma general a otros dispositivos a través de su nombre.

Cuestiones de Control: Servicios Web y Protocolo HTTP

Conceptos Fundamentales

Definición de WWW (World Wide Web)

Es el sistema de documentos de hipertexto enlazados entre sí, al que se accede por medio de Internet utilizando el protocolo HTTP y su versión segura HTTPS.

Definición y Uso de URL

Una URL (Uniform Resource Locator o Localizador de Recursos Uniforme) es el mecanismo usado por los navegadores para obtener cualquier recurso publicado en la web. Una URL es una dirección única asignada a un recurso específico en la Web.

Diferencia entre URL y URI

No son lo mismo.

  • La URI (Uniform Resource Identifier) identifica el recurso.
  • La URL (Uniform Resource Locator) localiza el recurso, indicando cómo acceder a él. Toda URL es una URI, pero no toda URI es una URL.

Sintaxis Completa de una URL

La sintaxis completa de una URL incluye los siguientes componentes:

  1. Protocolo o esquema (tipo de protocolo, ej. https)
  2. Usuario y contraseña (opcional)
  3. Nombre DNS del servidor (o dirección IP)
  4. Puerto (opcional)
  5. Directorio/Ruta
  6. Nombre del recurso (URI)
  7. Parámetros (opcional)

Ejemplo: https://softwarelab.org/es/que-es-hosting/

Protocolo Utilizado en el Entorno Web (HTTP)

El protocolo principal es HTTP (Hypertext Transfer Protocol). Sus características incluyen:

  • Está basado en el proceso de solicitud y respuesta (cliente-servidor).
  • Intercambia mensajes en texto claro (no cifrado, en su versión estándar).
  • Se ejecuta sobre el puerto TCP 80.

HTTP: Versiones y Métodos

Diferencia Principal entre HTTP 1.0 y 1.1

  • HTTP 1.0: Utiliza una sesión de transporte (conexión TCP) distinta por cada recurso descargado (lo que lo hace ineficiente). Introdujo códigos de estado y cabeceras HTTP.
  • HTTP 1.1: Supone la primera versión estándar. La mejora más importante es que utiliza la misma conexión TCP persistente para descargar los diferentes recursos incluidos dentro de una página HTML solicitada. También añadió controles avanzados para la gestión de la caché en los clientes.

Efecto del Método GET

El método GET solicita una representación de un recurso específico. Las peticiones que usan este método solo deben recuperar datos y no deben causar efectos secundarios en el servidor.

¿Quién lo envía? Es enviado por el cliente (navegador).

Función del Método POST

El método POST se utiliza para enviar una entidad (datos) a un recurso específico, causando a menudo un cambio en el estado o efectos secundarios en el servidor (ej. enviar un formulario, subir un archivo).

Código de Estado 404

El código de estado 404 (Not Found) en la respuesta de un servidor web indica un error del lado del cliente, específicamente que el recurso solicitado no fue encontrado en el servidor.

Cookies y Seguridad Web (HTTPS)

Definición de Cookie

Las cookies son pequeños archivos de texto que el servidor web envía y aloja en la máquina del cliente o navegador.

Información Contenida en una Cookie

Suelen contener parámetros relacionados con la sesión de navegación del cliente (identificadores de sesión, tiempo de conexión, páginas visitadas, preferencias de usuario, etc.).

Tipos de Cookies

  • Cookies Propias: Son las cookies almacenadas por el cliente que han sido enviadas directamente por el servidor del dominio que el usuario está visitando.
  • Cookies de Terceros: Son las cookies que instala en el cliente un sitio web diferente al que se está visitando, generalmente a través de contenido incrustado (publicidad, rastreadores) que tiene un acuerdo con la página visitada.

Protocolo Web Seguro (HTTPS)

El protocolo web en modo seguro se llama HTTPS (Hypertext Transfer Protocol Secure). Se basa en el cifrado de los datos que se intercambian entre el cliente y el servidor después de un proceso de autenticación.

Utiliza los protocolos de capa segura SSL/TLS (Transport Layer Security/Secure Sockets Layer) y se ejecuta sobre el puerto de transporte TCP 443.

Funcionamiento del Cifrado HTTPS (Handshake)

El protocolo HTTPS se basa en el handshake SSL/TLS para establecer una conexión segura. El proceso de cifrado implica:

  1. El cliente y el servidor negocian los algoritmos de cifrado.
  2. El servidor envía su certificado digital (que contiene su clave pública asimétrica) al cliente para autenticarse.
  3. El cliente genera una clave simétrica (clave de sesión) y la cifra utilizando la clave pública del servidor.
  4. El servidor descifra la clave simétrica utilizando su clave privada.
  5. A partir de este momento, toda la comunicación (incluyendo datos de usuario y contraseñas) se cifra y descifra utilizando la clave simétrica compartida, que es mucho más rápida.

Arquitectura y Servidores Web

Definición de Aplicación Web

En la ingeniería de software, una aplicación web es una herramienta o programa que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet, utilizando un navegador. Ejemplo: Google Docs.

Estructura de Aplicación Web en Tres Niveles

Esta arquitectura divide la funcionalidad en tres capas principales:

  1. Capa de Cliente Ligero (Presentación): Compuesta por el navegador y la página web. Se encarga de la interacción con el usuario.
  2. Motor de Ejecución (Lógica de Negocio): Compuesto por el servidor web y el servidor de aplicaciones. Procesa las peticiones, ejecuta la lógica del negocio y coordina el acceso a los datos.
  3. Capa Persistente (Datos): Compuesta por el servidor de base de datos. Almacena los datos de los usuarios y los metadatos de la aplicación.

Servidores Web Comunes y Diferencias

Los servidores web comunes son:

  • Apache HTTP Server
  • IIS (Internet Information Services) de Microsoft

La principal diferencia radica en su licencia y gestión:

  • Apache: Es de código abierto y multiplataforma. Su configuración se realiza principalmente mediante archivos de texto.
  • IIS: Es propietario (de Microsoft) y está integrado en Windows Server. Ofrece una interfaz gráfica de configuración.

Cuestiones de Control: Servicio de Transferencia de Ficheros (FTP)

Conceptos y Protocolo FTP

Definición y Uso de FTP

FTP (File Transfer Protocol) es el protocolo que se utiliza comúnmente para el intercambio de archivos a través de Internet.

Protocolo de Transporte y Puertos FTP

FTP utiliza el protocolo TCP para la capa de transporte, empleando dos conexiones separadas:

  • Puerto 21: Para la sesión de control (comandos).
  • Puerto 20 o Dinámico: Para la transferencia de datos.

Proceso General de Comunicación FTP

El cliente se conecta al puerto 21 del servidor, estableciendo la sesión de control, la cual se mantendrá abierta durante todo el proceso. Posteriormente, se abren y se cierran distintas sesiones de transporte (conexiones de datos) para la transferencia real de los archivos.

Modos de Conexión y Transferencia

Modos de Conexión FTP

Existen dos modos de conexión en FTP:

  • Modo Activo
  • Modo Pasivo

Modo de Conexión Activo

En el Modo Activo, el servidor utiliza siempre puertos bien conocidos para la conexión de datos. El servidor es el encargado de iniciar la sesión de transferencia de datos, conectándose desde su puerto 20 al puerto dinámico que el cliente le ha indicado previamente.

Modo de Conexión Pasivo

En el Modo Pasivo, el cliente es el encargado de iniciar todas las sesiones. El servidor nunca inicia una conexión. Tanto la sesión de control (puerto 21) como la sesión de transporte de datos (puerto dinámico) son iniciadas por el cliente, y se usan puertos dinámicos por ambas partes para la conexión de datos.

Transferencia de Fichero de Texto en Modo Binario

Sí, es correcto. Todos los ficheros son, en última instancia, binarios. El modo binario garantiza que los datos se transfieran bit a bit sin ninguna modificación, lo cual es seguro para cualquier tipo de archivo, incluyendo texto.

Transferencia de Fichero JPG en Modo ASCII

Sí, causaría problemas. El modo ASCII está diseñado para archivos de texto y realiza conversiones de caracteres (como saltos de línea) que corromperían un archivo binario como un JPG, haciéndolo inutilizable.

Usuarios y Clientes FTP

Usuario Anónimo en FTP

Un usuario anónimo sí posee un login (llamado anonymous) y generalmente se utiliza una dirección de correo electrónico como contraseña (aunque a menudo se deja en blanco).

No, no tiene habitualmente los permisos de un usuario autenticado. Al ser público, solo debe tener permisos de lectura y acceso limitado al directorio público del servicio.

Tipos de Clientes para Acceder a un Servidor FTP

Se pueden usar tres tipos de clientes:

  • Navegador Web (solo descarga).
  • Aplicación de escritorio (ej. FileZilla).
  • Comando en línea del sistema operativo (ej. ftp).

Clientes para Subir Ficheros a un Servidor FTP

Para subir ficheros, se pueden usar:

  • Aplicación de escritorio.
  • Comando en línea del sistema operativo.

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.