Secundaria PES · Redes y Comunicaciones

Tema 66. Funciones y servicios en niveles sesión, presentación y aplicación

🎁 Muestra Gratuita 🎧 12 audios incluidos

2. Vinculación curricular

  • ASIR / Servicios de red e internet → Administra servicios de red, Instala y configura servicios (DNS, DHCP, FTP, correo). Permite implementar y mantener servidores en entornos de producción.
  • SMR / Servicios de red e internet → Instala y configura servicios básicos, Comprueba el funcionamiento de servicios de red. Sirve para dar soporte técnico y configurar aplicaciones de red locales.
  • DAW / Despliegue de aplicaciones web → Instala y configura servicios web y de transferencia de archivos, Gestiona la seguridad y el acceso. Facilita la publicación y mantenimiento de aplicaciones web en servidores.

3. Introducción

El modelo OSI (Interconexión de Sistemas Abiertos) propuso la división de las funciones de red orientadas al usuario en capas distintas: sesión, presentación y aplicación. Esta separación teórica buscaba organizar el desarrollo de protocolos y facilitar la interoperabilidad entre los distintos fabricantes de equipos informáticos.

Dentro de esta estructura teórica, la capa de sesión administra el diálogo entre los equipos, establece puntos de sincronización y controla la transmisión. La capa de presentación estandariza la sintaxis de la información transmitida, aplicando operaciones de compresión y cifrado de datos. La capa de aplicación proporciona la interfaz directa con los programas.

La arquitectura TCP/IP (Protocolo de Control de Transmisión / Protocolo de Internet), adoptada universalmente en la industria, optó por un modelo simplificado. Agrupó estas capas superiores en una única capa de aplicación, dejando las funciones de sesión y presentación a cargo de cada programa.

Los protocolos ubicados en estos niveles superiores resuelven la representación de los datos, el control de la comunicación entre procesos y la interacción directa con el usuario final. Confían en las capas inferiores para el transporte físico y lógico de la información.

Históricamente, protocolos como FTP (Protocolo de Transferencia de Archivos) o Telnet (Red de Telecomunicaciones) se crearon antes de que el modelo OSI formalizara la separación de capas. Esto explica el diseño monolítico de estos estándares iniciales, donde un solo protocolo ejecuta todas las operaciones.

💡 Historia Curiosa: El protocolo de terminal virtual Telnet se diseñó a principios de la década de los setenta para funcionar con terminales de teletipo mecánicos que imprimían a una velocidad de caracteres por segundo. Aunque ignora la existencia de interfaces gráficas o ratones, mantiene su uso técnico medio siglo después de su creación.

En el currículo de la Formación Profesional, el dominio de los protocolos de aplicación permite administrar la infraestructura de servicios básicos de los sistemas informáticos. Sustenta la base técnica para configurar, mantener y auditar las comunicaciones de un entorno de red.

El conocimiento de estas tecnologías capacita al alumnado para gestionar plataformas de uso general. Esto incluye la administración de servidores web mediante HTTP (Protocolo de Transferencia de Hipertexto), el control del correo electrónico con SMTP (Protocolo Simple de Transferencia de Correo) y la resolución de nombres con DNS (Sistema de Nombres de Dominio).

4. Desarrollo

4.1. Arquitecturas y estándares de los niveles superiores

4.1.1. Fundamentos de la división en niveles de protocolo

Las redes de computadoras organizan sus funciones mediante una arquitectura de protocolos. Esta estructura divide las tareas de comunicación en diferentes niveles superpuestos. Cada nivel ofrece servicios a la capa inmediatamente superior y oculta los detalles de implementación subyacentes.

Una pila de protocolos implementa esta arquitectura en el software o hardware de un sistema informático. Los diseñadores estructuran el código de red de forma que un cambio en un protocolo inferior no afecte al software superior. Esta modularidad simplifica la creación y actualización de programas de comunicaciones.

Los niveles superiores gestionan la interacción lógica entre los procesos de usuario. Estas capas se alejan de los problemas físicos de transmisión, direccionamiento y enrutamiento de datos. Las aplicaciones de red residen y operan en la capa más alta de la jerarquía.

El diseño estructurado requiere definir interfaces claras entre capas contiguas. Una interfaz especifica qué operaciones y servicios primitivos pone a disposición la capa inferior a la capa superior. La información fluye hacia abajo en el emisor mediante el encapsulado en una unidad de datos del protocolo (PDU).

4.1.2. El modelo de referencia OSI y la separación de funciones

La Organización Internacional de Normalización publica el modelo OSI en el documento ISO 7498. Este modelo teórico establece una jerarquía de siete capas con funciones diferenciadas e interfaces formales. El diseño agrupa funciones conceptualmente similares para mantener una arquitectura manejable.

Los niveles inferiores resuelven el transporte de los datos entre los nodos de la red. Los niveles superiores orientan sus servicios a los programas de aplicación. El modelo OSI estipula que la capa de sesión (5), la capa de presentación (6) y la capa de aplicación (7) posean interfaces claramente definidas.

El estándar asigna responsabilidades exclusivas a cada uno de los niveles superiores. La capa de sesión maneja la interacción, la capa de presentación traduce el formato de los datos y la capa de aplicación proporciona los servicios finales. Esta segregación facilita la compatibilidad entre equipos de distintos fabricantes.

La división teórica del modelo OSI acelera el proceso de estandarización. Los comités técnicos desarrollan protocolos para cada capa de forma paralela sin interferir con el trabajo de los demás grupos, definiendo primitivas de servicio estandarizadas.

Nivel OSI Nombre de la capa Función asignada en la arquitectura
Capa 7 Aplicación Acceso a servicios de red para programas de usuario y transferencia de archivos
Capa 6 Presentación Representación unificada, compresión y cifrado de los datos transmitidos
Capa 5 Sesión Control de diálogo, administración de turnos y sincronización de tareas
Tabla: Resumen de funciones de las tres capas superiores del modelo de referencia OSI.

La capa de sesión permite a los usuarios de distintas máquinas establecer, mantener y finalizar conexiones lógicas. Esta capa gestiona el control del diálogo, determinando qué dispositivo transmite en cada momento dentro de la sesión de comunicación.

El diálogo puede operar en modo bidireccional simultáneo (full-duplex) o bidireccional alternado (half-duplex). Si el modo es alternado, la capa de sesión utiliza un mecanismo de testigos para evitar que las dos partes transmitan a la vez y colisionen lógicamente en la aplicación.

Otra función de este nivel es la sincronización de transferencias prolongadas. El protocolo de sesión inserta puntos de control en el flujo de datos. Si la capa de transporte informa de una desconexión, la entidad de sesión retoma la transmisión desde la última marca confirmada.

Podemos modelar el volumen de datos asegurados tras una recuperación utilizando los puntos de control. Si la red cae, el sistema contabiliza la suma del tamaño de los segmentos transmitidos hasta la marca :

Donde representa el tamaño en bytes de cada bloque transferido y guardado en disco antes del último punto de sincronización. El sistema solo retransmite la información posterior.

4.1.4. La capa de presentación y la sintaxis de la información

La capa de presentación se ocupa de la sintaxis y la semántica de la información transmitida. Este nivel asegura que la información generada por una aplicación sea legible por el receptor, superando las diferencias de representación interna de datos entre los equipos.

Las computadoras utilizan diferentes formatos locales para representar caracteres, como ASCII o EBCDIC, y enteros, como big-endian o little-endian. La capa de presentación traduce los formatos locales a una sintaxis común de transferencia en el origen, y realiza el proceso inverso en el destino.

El estándar ASN.1 (Abstract Syntax Notation One) define las estructuras de datos abstractas y las reglas de codificación en el entorno OSI. Este lenguaje formal estandariza el intercambio de estructuras complejas entre sistemas heterogéneos sin perder el significado de los campos.

🧩 Analogía: Podemos comparar la capa de presentación con un equipo de traducción simultánea en una cumbre internacional. Los participantes hablan distintos idiomas, pero el equipo de traducción convierte los discursos a un idioma común neutro y luego al idioma del oyente, manteniendo intacto el significado original del mensaje.

Además de la conversión de formatos, esta capa asume las tareas de compresión y cifrado de datos. Estas operaciones reducen el ancho de banda consumido en las redes y protegen el contenido contra el acceso no autorizado de terceros.

4.1.5. La capa de aplicación en el diseño teórico

La capa de aplicación proporciona a los procesos de usuario el medio directo para acceder al entorno de comunicaciones. Este nivel contiene las funciones de administración de red y los mecanismos genéricos para la implementación de aplicaciones distribuidas.

El estándar OSI define servicios de aplicación de uso general. Entre ellos se encuentran protocolos formales como X.400 para la gestión de correo electrónico, X.500 para el servicio de directorio global y FTAM para la transferencia, acceso y gestión de archivos.

Esta capa no contiene el software del usuario final, como un procesador de textos o un navegador, sino las herramientas y protocolos que esos programas invocan. Las aplicaciones interactúan con esta capa mediante el paso de parámetros locales y la recepción estructurada de datos.

Los protocolos de aplicación definen los tipos de mensajes intercambiados, la sintaxis de sus campos internos y la semántica de las operaciones. Los procesos pares en diferentes computadoras utilizan estas reglas para mantener una comunicación ordenada sin involucrarse en el transporte físico.

4.1.6. La pila TCP/IP y la integración de funciones de usuario

La pila TCP/IP reduce el número de niveles agrupando funciones lógicas afines. El modelo de Internet define una única capa de aplicación superior que engloba las responsabilidades de las capas de sesión, presentación y aplicación del modelo OSI.

Los diseñadores de TCP/IP determinaron que las aplicaciones raramente necesitan servicios de sesión y presentación gestionados por el sistema operativo de red. El diseño agrupa los procesos de usuario directamente en la capa de aplicación, delegando las responsabilidades de formateo y sincronización.

Las aplicaciones modernas integran las tareas de presentación y sesión mediante el uso de bibliotecas específicas enlazadas al software. Por ejemplo, las funciones de cifrado y representación de caracteres las manejan directamente librerías externas que el programa invoca durante su ejecución.

❌ Error Común: Muchos usuarios asumen que el modelo TCP/IP elimina las operaciones de cifrado, compresión o control de diálogo por carecer de capas dedicadas. Estas tareas se mantienen activas, pero el modelo las desplaza al espacio del usuario dentro de la propia capa de aplicación.

La interfaz de programación sockets actúa como puente entre la capa de aplicación y la capa de transporte en TCP/IP. Las aplicaciones utilizan sockets para solicitar conexiones fiables sin tener que implementar rutinas complejas de confirmación o control de errores de red.

Diagrama Mermaid
Diagrama: Correspondencia entre los niveles superiores del modelo OSI y la capa de aplicación de la pila TCP/IP.

4.1.7. Organismos de estandarización y documentos de red

Los organismos de estandarización regulan el desarrollo de protocolos para asegurar la interoperabilidad global de los sistemas de telecomunicaciones. Estas organizaciones elaboran normas abiertas que los fabricantes y desarrolladores adoptan de forma unificada en sus sistemas informáticos.

El IETF (Grupo de Trabajo de Ingeniería de Internet) define los protocolos de la red Internet. Este organismo coordina proyectos a través de grupos de trabajo específicos que se centran en el enrutamiento, la seguridad, el transporte y las aplicaciones informáticas de uso general.

El IETF publica sus normativas a través de documentos denominados RFC (Request for Comments). Estos archivos definen el funcionamiento interno de protocolos de aplicación como HTTP o SMTP. Un protocolo alcanza el estado de estándar de Internet tras demostrar su interoperabilidad en múltiples implementaciones independientes.

La ISO (Organización Internacional de Normalización) y el ITU-T (Sector de Normalización de las Telecomunicaciones) elaboran estándares formales globales. La ITU-T publica recomendaciones específicas para redes de telecomunicación pública, mientras que la ISO emite normas de alcance más amplio, publicando tanto el modelo OSI como las normas de sintaxis de datos.

🎯 Tip: Los documentos RFC mantienen una estructura de texto plano fácilmente accesible. Su lectura resulta útil para consultar la definición exacta de cabeceras, códigos de estado y la sintaxis específica que emplea un protocolo de la capa de aplicación de TCP/IP.
Diagrama Mermaid
Diagrama: Hitos temporales de los organismos de estandarización en la definición de protocolos de comunicaciones.

4.2. Funciones y servicios del nivel de sesión

4.2.1. Establecimiento y liberación de la conexión de sesión

El nivel de sesión agrupa las herramientas para organizar y estructurar el intercambio de datos entre aplicaciones. Define la sesión como una conexión lógica persistente que vincula dos procesos de software en sistemas terminales diferentes. El ciclo de vida de una sesión incluye el establecimiento, la transferencia de información y la liberación.

Durante la fase de establecimiento, las entidades se comunican para negociar los parámetros operativos. El sistema define los identificadores de sesión, el tamaño de los búferes y los valores de los temporizadores. La red asigna recursos locales para garantizar la comunicación fluida entre el cliente y el servidor.

La liberación permite cerrar la conexión ordenadamente. El sistema asegura que los procesos completen sus tareas pendientes y envíen los datos almacenados en los búferes antes de destruir la sesión. Una liberación abrupta destruye el contexto de comunicación sin verificar la entrega de los últimos paquetes.

Diagrama Mermaid
Diagrama: Secuencia temporal de fases para establecer, utilizar y liberar una conexión de sesión.

El protocolo emplea primitivas de control para transitar entre los estados de la conexión. La entidad emisora utiliza operaciones de apertura activa, mientras la entidad receptora mantiene un estado de escucha pasiva en un puerto específico.

4.2.2. Control del diálogo y modos de transmisión

El control del diálogo determina el turno de transmisión entre dos procesos. El nivel de sesión organiza este intercambio para prevenir colisiones lógicas en las aplicaciones de usuario. El sistema opera en dos modos de transmisión: half-duplex y full-duplex.

En el modo half-duplex, el nivel de sesión alterna la dirección del flujo de datos. Solo un proceso transmite información en un momento dado. El receptor debe esperar a que el emisor termine su turno para enviar una respuesta.

En el modo full-duplex, el protocolo facilita la transmisión bidireccional simultánea. Los dos procesos envían y reciben datos sin esperar la asignación de turnos. El sistema operativo asigna colas de memoria independientes para la entrada y la salida de información.

🧩 Analogía: El control del diálogo opera como el tráfico en un puente. El modo half-duplex actúa como un puente de un solo carril donde los vehículos pasan por turnos alternos. El modo full-duplex funciona como un puente de dos carriles con tráfico continuo en ambos sentidos.

La tabla siguiente compara las características operativas de ambos modos en la gestión del nivel de sesión.

Modo de diálogo Dirección del flujo Gestión de turno Riesgo de saturación
Half-duplex Unidireccional alterno Estricta (mediante testigo de datos) Menor, regulado por turnos
Full-duplex Bidireccional simultáneo Inexistente (flujo libre) Mayor, requiere control de flujo estricto
Tabla: Comparativa técnica de los modos de control de diálogo.

4.2.3. Gestión de testigos en operaciones críticas

La gestión de testigos (token management) coordina el uso de recursos compartidos. Un testigo es un mensaje de control corto que representa el derecho a ejecutar una acción específica. El nivel de sesión distribuye estos testigos para evitar que dos entidades realicen operaciones críticas de manera simultánea.

El protocolo define distintos tipos de testigos, como el testigo de datos, el testigo de liberación y el testigo de sincronización. El sistema asigna un testigo a un proceso, y solo este posee la autorización para modificar un registro de base de datos o transmitir un archivo.

Podemos modelar matemáticamente el estado de posesión de un testigo de control. El estado del testigo para un proceso en un instante de tiempo se define como la variable booleana .

La arquitectura de red asegura que la suma de todos los estados de un testigo específico sea exactamente uno. Ninguna operación avanza si el proceso no evalúa su variable como verdadera.

Cuando el proceso termina su tarea, devuelve el testigo a la red. El sistema operativo detecta la pérdida accidental de un testigo mediante temporizadores de inactividad. Si el reloj expira sin actividad, el protocolo regenera el testigo automáticamente.

4.2.4. Sincronización y marcas de referencia

La sincronización inserta puntos de control o marcas de referencia en el flujo de datos. El sistema utiliza esta técnica durante transmisiones largas para estructurar la información. El protocolo divide los mensajes extensos en unidades lógicas menores.

El nivel de sesión emplea dos categorías de marcas: puntos de sincronización mayores y puntos de sincronización menores. Los puntos mayores separan unidades de diálogo completamente independientes. El emisor detiene la transmisión y exige una confirmación explícita del receptor antes de continuar.

Los puntos menores delimitan subunidades dentro de un diálogo en curso. El emisor continúa enviando datos tras insertar un punto menor sin esperar una respuesta inmediata del receptor. El receptor almacena los identificadores numéricos de estas marcas en la memoria local.

🎯 Tip: La inserción de puntos de sincronización menores optimiza el rendimiento de la transmisión. El emisor transfiere datos de forma continua y evita los tiempos muertos asociados a la espera de confirmaciones por cada bloque.

La estructura matemática del flujo de datos sincronizado se representa como una secuencia de datos y marcas. El flujo total dividido en segmentos se define como:

El nivel de sesión incrementa un contador interno con cada marca enviada. Ambos extremos de la conexión mantienen el registro del número de secuencia para validar el progreso de la transmisión.

4.2.5. Recuperación de sesiones tras fallos en la red

La recuperación de sesiones utiliza los puntos de control para reanudar la comunicación desde el último estado conocido tras un fallo en la red. Este mecanismo protege la transferencia de información e impide la retransmisión de archivos enteros cuando ocurre un corte cerca del final del proceso.

Cuando la conexión se interrumpe, el nivel de sesión inicia un procedimiento formal de resincronización. Ambas entidades negocian el identificador numérico del último punto de sincronización mayor que el receptor confirmó exitosamente. El sistema descarta las tramas recibidas después de esa marca.

❌ Error Común: Programar puntos de control con intervalos de tiempo muy largos obliga al sistema a retransmitir grandes volúmenes de información tras una desconexión, lo que anula los beneficios de la recuperación de sesión.

El emisor retrocede sus punteros de lectura de archivo hasta el último punto mayor confirmado. La red transfiere únicamente los bloques de datos pendientes desde esa posición exacta. El proceso ahorra ancho de banda y tiempo de procesamiento en los nodos.

El sistema operativo gestiona búferes de memoria para retener los datos salientes. El emisor libera el espacio de almacenamiento local solo cuando el receptor acusa recibo del punto de sincronización correspondiente.

4.2.6. Agrupamiento de datos y delimitación

El agrupamiento organiza el flujo continuo de información en bloques lógicos. El nivel de sesión marca los datos para informar a la capa de presentación sobre la estructura del contenido. La red transmite un flujo continuo de bytes, pero la aplicación requiere comprender los límites de los registros.

El emisor inserta delimitadores especiales en la secuencia de bytes. El receptor lee el flujo entrante, detecta estos delimitadores y ensambla la información por bloques coherentes. El sistema procesa los datos sin esperar a que finalice toda la sesión de red.

Diagrama Mermaid
Diagrama: Evolución temporal del agrupamiento de datos mediante delimitadores en una sesión activa.

El agrupamiento facilita el procesamiento paralelo en arquitecturas modernas. El sistema operativo extrae un grupo delimitado de datos y lo asigna a un hilo de procesamiento independiente. El nivel de sesión continúa recibiendo el siguiente grupo sin bloquear el procesador principal.

4.2.7. Implementación mediante interfaces de programación

Los servicios del nivel de sesión se implementan mediante una interfaz de programación de aplicaciones (API). Las APIs empaquetan las funciones del protocolo y las presentan a los desarrolladores mediante llamadas estándar de sistema operativo.

El protocolo de llamada a procedimiento remoto (RPC) opera apoyándose en el nivel de sesión. RPC permite a un programa ejecutar código en otra máquina de la red. El sistema establece la sesión, controla el diálogo de la petición-respuesta y cierra la conexión tras recibir el resultado.

El protocolo SOCKS funciona en este nivel como un intermediario proxy. SOCKS gestiona las peticiones de sesión de los clientes y las redirige hacia el exterior mediante conexiones seguras. La capa de sesión añade estado y persistencia a protocolos de transporte que carecen de estas características.

Las interfaces de sesión ocultan la complejidad de la red. El usuario percibe una interacción continua con los recursos remotos. El programador enfoca su desarrollo en la lógica funcional sin manipular directamente los acuses de recibo o los temporizadores de retransmisión.

4.3. Funciones y servicios del nivel de presentación

El nivel de presentación representa la sexta capa del modelo de referencia OSI. Esta capa determina la sintaxis y la semántica de la información transmitida a través de la red. A diferencia de las capas inferiores, orientadas al movimiento de bits de un nodo a otro, la capa de presentación manipula el significado y la estructura formal de los datos. Esta manipulación permite que computadoras con distintas representaciones internas se comuniquen sin errores de interpretación.

4.3.1. Traducción de códigos de caracteres y orden de bytes

La traducción de la sintaxis adapta la información para hacerla comprensible entre máquinas con arquitecturas diferentes. Un problema recurrente surge al interpretar cadenas de caracteres.

Algunos sistemas utilizan el ASCII (American Standard Code for Information Interchange), un código que emplea 7 u 8 bits por carácter. Otros sistemas, como los grandes servidores y mainframes, operan con EBCDIC (Extended Binary Coded Decimal Interchange Code), un esquema distinto de 8 bits. La capa de presentación realiza la conversión automática entre estos formatos.

Otro aspecto de traducción gestiona el orden de bytes o endianness. Las arquitecturas Big Endian almacenan el byte más significativo en la dirección de memoria más baja. Las arquitecturas Little Endian almacenan el byte menos significativo en la dirección más baja. Si no se invierte o estandariza este orden durante la transmisión, el receptor interpreta valores numéricos incorrectos. La capa de presentación reorganiza los bytes de acuerdo con el orden de red antes de entregarlos.

🧩 Analogía: El nivel de presentación actúa como un cuerpo de intérpretes internacionales. Los interlocutores hablan diferentes idiomas, equivalentes a los formatos de datos locales. Los intérpretes convierten el mensaje a un idioma neutral para su transmisión y, en el destino, lo traducen al idioma nativo del receptor.

4.3.2. Representación y estructuración abstracta de datos

Las aplicaciones intercambian tipos de datos complejos como registros, matrices y estructuras anidadas. La capa de presentación define la manera en que estos registros se representan en el cable durante su transmisión. Para resolver la incompatibilidad de estructuras de memoria, los sistemas utilizan lenguajes abstractos de descripción de datos. Un formato estandarizado es la notación ASN.1 (Abstract Syntax Notation One).

La notación ASN.1 separa la definición lógica de los datos de su codificación binaria en la red. El sistema emisor transforma sus estructuras de datos locales a una representación estándar de transferencia mediante un proceso de serialización. El sistema receptor toma el flujo de bytes estándar y reconstruye la estructura de datos local equivalente. Este proceso aporta interoperabilidad entre lenguajes de programación y plataformas operativas heterogéneas.

Diagrama Mermaid
Diagrama: Proceso de traducción de estructuras de datos complejas utilizando una sintaxis de transferencia intermedia abstracta.

4.3.3. Cifrado simétrico y descifrado de datos

La capa de presentación aplica algoritmos criptográficos antes del envío para asegurar la confidencialidad de la información. El cifrado transforma un texto en claro en un texto cifrado ininteligible mediante operaciones matemáticas y una clave. El receptor aplica el proceso inverso de descifrado para recuperar los datos originales. La criptografía previene que observadores no autorizados lean los mensajes en el medio de transmisión.

El cifrado simétrico emplea una única clave secreta compartida entre el emisor y el receptor. El DES (Data Encryption Standard) cifra bloques de 64 bits usando claves de 56 bits.

El AES (Advanced Encryption Standard) sustituye al anterior procesando bloques de 128 bits con claves de 128, 192 o 256 bits, superando múltiples rondas de sustitución y permutación. La relación matemática del cifrado simétrico se expresa en línea como , donde la función de cifrado depende de la clave. En bloque, el descifrado invierte la operación:

4.3.4. Criptografía de clave pública e intercambio de claves

El cifrado asimétrico resuelve el problema de la distribución de claves secretas a través de redes inseguras. Este esquema emplea un par de claves matemáticamente vinculadas: una clave pública y una clave privada. La clave pública se distribuye libremente, mientras que el usuario mantiene la clave privada protegida. El algoritmo RSA (Rivest, Shamir, Adleman) basa su funcionamiento en la multiplicación de números primos de gran tamaño.

El usuario que envía un mensaje confidencial cifra los datos utilizando la clave pública del destinatario. Únicamente el destinatario posee la clave privada compatible necesaria para descifrar el mensaje. La operación matemática de descifrado asimétrico consume altos recursos del procesador. Los sistemas de red combinan ambos métodos: emplean el cifrado asimétrico para intercambiar una clave de sesión secreta y utilizan el cifrado simétrico para transmitir el bloque principal de datos.

4.3.5. Autenticación e integridad de los mensajes

La capa de presentación proporciona servicios para garantizar la integridad de los datos. La integridad asegura que la información recibida coincide exactamente con la información transmitida, sin modificaciones accidentales o intencionadas. El sistema emisor aplica una función hash criptográfica, como SHA-1, a los datos. Esta función unidireccional genera un resumen de tamaño fijo que actúa como una huella digital del contenido.

Para probar la identidad del emisor, los protocolos de presentación aplican firmas digitales. El emisor cifra el resumen del hash utilizando su propia clave privada. El receptor verifica la autoría descifrando el resumen con la clave pública del emisor y comparándolo con un hash calculado localmente. Los sistemas también utilizan un código de autenticación de mensaje (MAC), que combina los datos con una clave secreta simétrica antes de calcular el hash.

Mecanismo Criptográfico Función Operativa Claves Requeridas Reversibilidad de la Operación
Cifrado simétrico Confidencialidad de alto rendimiento Una clave secreta compartida Sí, mediante el descifrado
Cifrado asimétrico Distribución de claves de sesión Clave pública y clave privada Sí, mediante el descifrado
Función hash Verificación de integridad Ninguna (en su formato estándar) No, proceso unidireccional
Firma digital Autenticación y no repudio Clave privada (emisor) y pública (receptor) Sí (aplicable solo al resumen)
Tabla: Funciones criptográficas aplicables en la capa de presentación para la protección de la información.

4.3.6. Compresión de datos para optimización de transmisión

La compresión de datos reduce el número de bits transmitidos mediante la eliminación de patrones repetitivos en el contenido. Este servicio optimiza el uso del ancho de banda disponible y disminuye la latencia de transmisión. El proceso de envío aplica un algoritmo de codificación que representa la información original utilizando menos bytes. El receptor ejecuta el algoritmo de descompresión inverso para restituir el formato utilizable.

La compresión sin pérdidas (lossless) garantiza que los datos reconstruidos sean una réplica exacta de los originales. Técnicas como la codificación Huffman asignan códigos cortos a los símbolos de alta frecuencia y códigos largos a los símbolos de baja frecuencia. El método Run-Length Encoding (RLE) sustituye secuencias de valores repetidos por un único valor y su contador. Estas técnicas se aplican a texto, bases de datos y código fuente.

La compresión con pérdidas (lossy) descarta información considerada redundante para la percepción humana, reduciendo el tamaño del archivo drásticamente. El archivo original no se recupera con exactitud bit a bit. Se utiliza habitualmente para transmitir flujos multimedia, aplicando algoritmos espaciales y temporales en estándares como MP3 para audio y MPEG o JPEG para imágenes y vídeo.

🎯 Tip: La compresión dinámica en la capa de presentación aporta beneficios medibles cuando el ancho de banda constituye el límite del sistema. Si el enlace de comunicaciones posee alta velocidad, el tiempo de procesamiento consumido por el procesador para comprimir y descomprimir los datos neutraliza la ganancia en el tiempo de transferencia.

4.3.7. Casos de uso y protocolos del nivel de presentación

La pila de protocolos TCP/IP no implementa una capa de presentación independiente, pero sus funciones operan integradas en protocolos de aplicación específicos. El estándar MIME (Multipurpose Internet Mail Extensions) ilustra la traducción de sintaxis. MIME codifica datos binarios de imágenes o ejecutables en un formato de texto imprimible mediante el esquema Base64. Esto convierte grupos de 24 bits en cuatro caracteres, permitiendo el transporte sobre SMTP.

El protocolo de seguridad SSL/TLS (Secure Sockets Layer / Transport Layer Security) asume las funciones criptográficas y de compresión en las comunicaciones web. El protocolo intercepta los datos de la aplicación, los fragmenta y los comprime. Posteriormente añade un MAC para asegurar la integridad del mensaje y cifra los fragmentos con algoritmos simétricos negociados previamente. Los datos procesados se transfieren al nivel de transporte para su transmisión a través de la red.

4.4. Arquitectura y funciones del nivel de aplicación

4.4.1. Concepto y funciones de la capa de aplicación

La capa de aplicación constituye el nivel superior en la pila de protocolos TCP/IP y en el modelo de interconexión de sistemas abiertos. Alberga las aplicaciones de red y los protocolos de nivel de aplicación correspondientes. Los procesos de usuario residen en esta capa y utilizan la red para intercambiar mensajes. El diseño de esta capa asume que las capas inferiores resuelven el transporte y el enrutamiento de los datos.

Los protocolos de aplicación dictan la sintaxis y semántica de los mensajes intercambiados entre sistemas terminales. Estos protocolos definen las reglas para determinar cuándo y cómo un proceso envía o responde a un mensaje. Los programas de la capa de aplicación no interactúan directamente con el hardware de red, sino que delegan esta tarea a los protocolos de la capa de transporte subyacente.

Existen protocolos de aplicación de dominio público definidos en documentos RFC y protocolos propietarios. El protocolo HTTP proporciona los medios para solicitar y transferir documentos web. El protocolo SMTP permite la transferencia de mensajes de correo electrónico entre servidores. Los desarrolladores eligen el protocolo adecuado o diseñan uno propio en función de los requisitos de la aplicación.

4.4.2. Interfaz del usuario y consumo de recursos de red

La interfaz del usuario actúa como el punto de acceso para que los programas consuman los recursos de red solicitando transferencias, conexiones o resolución de nombres. Las aplicaciones invocan servicios de red a través de esta interfaz para acceder a servidores remotos o transferir información. Los diseñadores de software utilizan llamadas al sistema operativo para solicitar la creación y gestión de las conexiones de red.

El protocolo DNS opera como un servicio de directorio distribuido que traduce nombres de host legibles a direcciones IP numéricas. Un programa cliente pasa el nombre del servidor a la interfaz local de resolución de nombres. El sistema operativo envía una consulta al servidor DNS y devuelve la dirección IP resultante a la aplicación solicitante.

Aplicación Protocolo de aplicación Protocolo de transporte
Correo electrónico SMTP TCP
Acceso a terminal remoto Telnet / SSH TCP
Web HTTP TCP
Transferencia de archivos FTP TCP
Resolución de nombres DNS UDP
Tabla: Mapeo de aplicaciones comunes con sus protocolos de aplicación y transporte subyacente.

Las aplicaciones interactúan de forma bidireccional enviando datos estructurados. Un navegador extrae el nombre de dominio de una URL, consume el servicio DNS para obtener la dirección IP y posteriormente inicia una conexión TCP para solicitar un objeto mediante HTTP. La interfaz oculta la complejidad del encaminamiento y del medio de transmisión.

4.4.3. Arquitectura cliente-servidor

La arquitectura cliente-servidor es un modelo en el cual un proceso cliente inicia una solicitud hacia un proceso servidor que permanece a la escucha en un puerto conocido. El servidor consiste en un host que aloja un servicio y cuenta con una dirección IP fija. El cliente contacta al servidor enviando un paquete de datos a dicha dirección IP.

En este diseño, los clientes no se comunican directamente entre sí. Toda la transferencia de información y la coordinación del servicio pasan a través de los servidores. Los proveedores de servicios agrupan múltiples servidores en centros de datos para atender grandes volúmenes de solicitudes simultáneas y equilibrar la carga de procesamiento.

Diagrama Mermaid
Diagrama: Secuencia de interacción en una arquitectura cliente-servidor tradicional.
🧩 Analogía: La arquitectura cliente-servidor funciona de manera similar a un restaurante. El comensal (cliente) solicita un plato específico, y el cocinero (servidor) prepara la comida y la devuelve a la mesa. Los comensales no entran a la cocina ni cocinan entre ellos.

Los protocolos de este modelo requieren una asimetría en la comunicación. El servidor debe iniciarse primero y permanecer a la espera de manera indefinida. El cliente tiene un ciclo de vida finito, iniciándose cuando el usuario requiere un servicio y terminando tras recibir la respuesta.

4.4.4. Arquitectura peer-to-peer (P2P)

La arquitectura peer-to-peer (P2P) presenta un modelo de comunicación distribuida donde los nodos actúan como clientes y servidores de forma simultánea. Se elimina la dependencia de servidores dedicados centrales. Los pares o nodos de la red son ordenadores controlados por los usuarios que se conectan de manera intermitente.

Este paradigma distribuye la carga al permitir que cada nodo que descarga un segmento de información lo suba inmediatamente a otros nodos. Un protocolo de compartición de archivos como BitTorrent organiza los pares en un enjambre (swarm). Los nodos obtienen listas de otros pares a través de un nodo de seguimiento (tracker) y establecen conexiones directas.

❌ Error Común: Confundir la arquitectura de la red con la arquitectura de la aplicación. La red ofrece servicios de transporte genéricos mediante el modelo TCP/IP, mientras que las decisiones sobre cliente-servidor o P2P definen la estructura lógica de los procesos en la capa de aplicación.

El modelo P2P ofrece la propiedad de autoescalabilidad. A medida que aumenta el número de nodos, también lo hace la capacidad total de subida del sistema. Podemos formular el tiempo mínimo de distribución de un archivo en una red P2P de la siguiente manera:

Donde es el tamaño del archivo, la capacidad de subida del servidor original, la velocidad mínima de descarga de un par, el número total de pares y la capacidad de subida de cada par individual.

4.4.5. Arquitecturas híbridas y de múltiples niveles

Las arquitecturas híbridas combinan las características del modelo cliente-servidor con la distribución del modelo P2P. Una aplicación de mensajería instantánea emplea un servidor centralizado para gestionar las conexiones y registrar la ubicación de los usuarios. Una vez localizados, los clientes establecen conexiones P2P directas para transferir texto, audio o vídeo sin saturar el servidor central.

La arquitectura de tres niveles (three-tier architecture) divide la aplicación en capas lógicas independientes para mejorar la escalabilidad. La capa de presentación se ejecuta en el cliente, habitualmente un navegador web. La capa de lógica de negocio opera en un servidor de aplicaciones. La capa de gestión de datos se delega a un sistema gestor de base de datos.

Diagrama Mermaid
Diagrama: Flujo de comunicación en una arquitectura de tres niveles.

Esta separación permite escalar el hardware de forma independiente. Si la aplicación experimenta un aumento en las transacciones de lectura, los administradores añaden más servidores de base de datos sin alterar la interfaz del cliente. Las reglas de negocio permanecen ocultas en el nivel intermedio, aumentando la seguridad de la información.

4.4.6. Procesos comunicantes y direccionamiento

En las redes de computadoras la comunicación ocurre entre procesos, definidos como instancias de programas en ejecución. Para que un proceso en el host local se comunique con un proceso en el host remoto, la red requiere un mecanismo de direccionamiento que diferencie los múltiples procesos concurrentes.

El sistema identifica el destino exacto mediante una tupla conformada por la dirección IP y el número de puerto. La dirección IP localiza el equipo físico en la red. El número de puerto, un número entero de 16 bits, identifica el proceso específico de la capa de aplicación dentro del sistema operativo.

El modelo define puertos bien conocidos (del 0 al 1023) reservados para servicios estándar como HTTP (puerto 80) o FTP (puerto 21). Los sistemas operativos asignan puertos efímeros (puertos altos, generados dinámicamente) a los clientes para identificar la sesión de origen. Las aplicaciones que atienden peticiones escuchan de forma pasiva en sus puertos asignados.

El protocolo de transporte utiliza las combinaciones de puertos origen y destino para realizar el multiplexado y demultiplexado de la información. Al recibir un paquete, la capa de transporte extrae el puerto de destino del encabezado y entrega el mensaje de datos al socket del proceso correcto.

4.4.7. Interfaz de sockets y la API de red

La interfaz de sockets es el mecanismo que utilizan los procesos de la capa de aplicación para enviar y recibir datos interactuando con los protocolos de transporte TCP o UDP. Un socket representa una abstracción lógica del sistema operativo que conecta a un proceso con la red. La aplicación controla todo lo que sucede del lado del usuario y el sistema operativo gestiona el lado del transporte.

La interfaz de programación de aplicaciones (API) proporciona llamadas al sistema estandarizadas. En el modelo TCP, un servidor crea un socket, lo vincula a un puerto local con la función bind() y espera conexiones entrantes llamando a listen(). El proceso se bloquea en la llamada accept() hasta que un cliente remoto establece una conexión.

import socket

## Creación de un socket TCP (IPv4, Flujo de bytes)
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

## Vinculación del socket a un puerto específico
server_socket.bind(('', 12000))

## El servidor pasa a modo de escucha
server_socket.listen(1)

## Acepta una conexión entrante
connection_socket, client_address = server_socket.accept()
Código: Creación y vinculación de un socket TCP en un proceso servidor.

El cliente crea su propio socket y utiliza la función connect() especificando la dirección IP y el puerto del servidor. El protocolo TCP realiza un saludo de tres vías de forma transparente para la aplicación y establece un canal de comunicación fiable.

Si la aplicación utiliza UDP, no existe fase de establecimiento de conexión. Los procesos utilizan funciones orientadas a datagramas como sendto() y recvfrom(), adjuntando la dirección de destino en cada mensaje individual. El uso de UDP reduce el tráfico de red y la latencia inicial, a expensas de sacrificar la fiabilidad en la entrega de la información.

4.5. Protocolos y estándares de sesión y presentación

4.5.1. Llamada a procedimiento remoto (RPC)

La llamada a procedimiento remoto (RPC) es un protocolo que permite a un proceso local solicitar la ejecución de una función en una máquina remota de forma transparente. Este mecanismo oculta el paso de mensajes a través de la red y hace que la comunicación parezca una llamada a función local. El proceso que realiza la solicitud asume el rol de cliente, mientras que el proceso que ejecuta la función actúa como servidor.

Cuando un programa invoca una función remota, su ejecución se suspende temporalmente. La información viaja desde el cliente al servidor a través de los parámetros de la función y retorna en forma de resultado. El programador no necesita interactuar con los sockets de red directamente para establecer el canal. Podemos analizar la comunicación como una simple invocación dentro del entorno de desarrollo.

🧩 Analogía: Utilizar RPC es como pedir comida a domicilio en un restaurante. El cliente solicita un plato (la función) con ciertas especificaciones (los parámetros). La preparación ocurre en una cocina distante (el servidor) y el cliente recibe el plato listo (el resultado) sin interactuar con el transporte ni con los utensilios empleados.

El diseño de este protocolo presenta desafíos inherentes relacionados con la memoria. Los sistemas no pueden pasar punteros como parámetros de forma directa porque los espacios de direcciones difieren entre la máquina del cliente y la del servidor. El sistema soluciona este contratiempo enviando copias de las estructuras de datos completas a través de la red en lugar de enviar las referencias de memoria.

4.5.2. Componentes y flujo de ejecución en RPC

Para mantener la transparencia de la llamada, RPC introduce un módulo de biblioteca llamado stub del cliente. Este fragmento de código representa el procedimiento del servidor dentro del espacio de direcciones del cliente. De igual forma, en el sistema remoto existe un stub del servidor que recibe las peticiones de red y llama a la función real programada en el servidor.

El proceso de empaquetar los parámetros de la función en un mensaje binario se denomina empaquetado o serialización. El stub del cliente toma los argumentos y los convierte a un formato estándar. El sistema operativo envía este mensaje a la máquina remota, donde el stub del servidor desempaqueta los datos y ejecuta las instrucciones correspondientes.

Diagrama Mermaid
Diagrama: Flujo de ejecución, intervención de los stubs y paso de mensajes en una llamada a procedimiento remoto.

El tiempo de respuesta de una petición depende del procesamiento en el servidor y de los retrasos introducidos por el canal físico y los stubs de comunicación. Podemos expresar el tiempo de la operación mediante la siguiente función de suma de retardos:

Fórmula: Tiempo de ejecución de una llamada a procedimiento remoto considerando los componentes de red.

4.5.3. Notación de sintaxis abstracta uno (ASN.1)

La notación de sintaxis abstracta uno (ASN.1) es un estándar formal definido por ITU-T e ISO para la descripción, codificación y decodificación de estructuras de datos en la red. Permite separar la definición semántica de los tipos de datos de la secuencia de bits real que se transmite en el canal. Esta separación soluciona los problemas de heterogeneidad entre diferentes arquitecturas de hardware.

Para convertir las estructuras ASN.1 en un flujo de bits transmisible, los desarrolladores utilizan las reglas de codificación básicas (BER). Estas reglas especifican que cada elemento de datos se codifica en un formato de triplete consecutivo que incluye etiqueta, longitud y valor (TLV). La etiqueta define el tipo de dato, la longitud indica el tamaño en bytes y el valor aloja la información real.

StudentAccount ::= SEQUENCE {
    userName VisibleString,
    password VisibleString,
    accountNumber INTEGER
}
Código: Ejemplo de definición de una estructura de registro de usuario utilizando la sintaxis de ASN.1.

La notación de sintaxis permite construir tipos de datos simples y compuestos mediante anidamiento. El estándar asigna un número de etiqueta universal a cada tipo básico para asegurar su identificación unívoca durante la decodificación en la máquina receptora.

Tipo de Dato Etiqueta (BER) Descripción del contenido
BOOLEAN 1 Valor lógico verdadero o falso
INTEGER 2 Números enteros con o sin signo
OCTET STRING 4 Cadena de bytes en formato crudo
NULL 5 Ausencia de valor o estado vacío
SEQUENCE 16 Lista ordenada de múltiples tipos variables
Tabla: Tipos de datos universales definidos en el estándar ASN.1 y sus correspondientes etiquetas.

4.5.4. Capa de conexión segura (SSL) y seguridad de la capa de transporte (TLS)

La capa de conexión segura (SSL) y la actual seguridad de la capa de transporte (TLS) son protocolos que proporcionan autenticación, cifrado de datos e integridad en las comunicaciones. Estos estándares operan sobre el nivel de transporte TCP y protegen protocolos de aplicación que viajan en texto claro, como el tráfico HTTP.

⚠️ Warning: El protocolo SSL se considera obsoleto por vulnerabilidades criptográficas documentadas. Las implementaciones modernas utilizan las diferentes versiones del estándar TLS. Conviene utilizar el término TLS al configurar servidores nuevos, aunque la literatura emplea con frecuencia la nomenclatura conjunta SSL/TLS para referirse a la tecnología subyacente.

El protocolo organiza la comunicación mediante dos abstracciones lógicas diferentes. Una sesión TLS es una asociación entre un cliente y un servidor que establece un conjunto de parámetros criptográficos compartidos. Una conexión TLS representa el transporte físico transitorio, el cual se asocia a una sesión previamente pactada para evitar negociar las claves desde cero.

La arquitectura de TLS consta de dos niveles superpuestos. El protocolo de registro proporciona la encapsulación, compresión y el cifrado bloque a bloque, apoyándose directamente en TCP. Sobre este nivel inferior operan el protocolo de negociación, el de alerta y el protocolo de cambio de especificación de cifrado.

4.5.5. Fases y criptografía en el protocolo TLS

El establecimiento de una sesión comienza siempre con el protocolo de negociación (Handshake). Este protocolo permite al cliente y al servidor autenticarse de forma mutua, acordar el algoritmo de cifrado simétrico y calcular las claves necesarias. El cliente inicia el proceso enviando un mensaje inicial que lista su versión de TLS y las suites criptográficas que soporta.

El servidor responde seleccionando un algoritmo del listado, enviando su certificado de clave pública y emitiendo un número aleatorio (nonce) para evitar ataques de repetición. El cliente genera un valor pre-maestro, lo cifra con la clave pública del servidor y lo transmite. Ambos calculan de manera local la clave maestra a partir de estos insumos y derivan el conjunto de claves simétricas finales.

Diagrama Mermaid
Diagrama: Arquitectura interna de la pila de protocolos TLS y su integración con los niveles adyacentes del modelo de red.

El protocolo de alerta envía notificaciones de estado y errores a la entidad remota. Cada mensaje consta de dos bytes: el nivel de gravedad y la descripción del fallo. Un error de nivel fatal ocasiona el cierre inmediato de la conexión de red TCP subyacente y la invalidación del identificador de sesión.

Durante la transferencia bidireccional de datos, el protocolo de registro divide el flujo en fragmentos. El algoritmo añade un código de autenticación de mensajes (MAC) a cada bloque de datos para certificar la integridad. La construcción matemática de la etiqueta MAC utiliza combinaciones lógicas de la clave secreta y la información fragmentada.

Fórmula: Operaciones matemáticas para el cálculo del código de autenticación MAC usando funciones hash anidadas.

4.5.6. Extensiones multipropósito de correo de internet (MIME)

Las extensiones multipropósito de correo de internet (MIME) representan una convención de formato y codificación que permite el envío de archivos adjuntos binarios a través de protocolos que originalmente operan con cadenas de texto. El comité de ingeniería IETF diseñó este estándar para el protocolo simple de transferencia de correo (SMTP) con la intención de superar la limitación de transmitir únicamente formato ASCII de 7 bits.

MIME elimina las barreras de SMTP habilitando la inserción de caracteres con tildes, audios, aplicaciones compiladas y fotografías digitales en los mensajes. La convención inserta nuevos campos de cabecera en el inicio del documento. El campo MIME-Version declara la utilización de este estándar y contiene el valor 1.0 de forma sistemática.

❌ Error Común: Asumir que MIME se restringe de forma exclusiva al servicio de correo electrónico. La arquitectura de la web utiliza los tipos MIME ampliamente en el protocolo HTTP. El servidor web incluye estas etiquetas en las respuestas para instruir al navegador sobre el tipo de formato que debe renderizar.

El campo de cabecera Content-Type categoriza la estructura y naturaleza de los datos contenidos en el cuerpo. El agente de usuario local lee esta etiqueta para seleccionar una aplicación apropiada que interprete los datos entrantes. En paralelo, el campo Content-Transfer-Encoding detalla el método de recodificación aplicado para garantizar que el transporte no mutile los patrones binarios originales.

4.5.7. Codificación de transferencia y tipos de contenido en MIME

MIME categoriza la información del mundo real en familias de tipos y subtipos de contenido. El tipo general multipart estructura el envío conjunto de piezas independientes dentro de una misma conexión de red. El sistema utiliza un delimitador de texto aleatorio para marcar las fronteras entre el cuerpo del correo, las firmas digitales y los anexos gráficos.

Tipo MIME genérico Subtipos representativos Propósito del contenido
text plain, html, xml Texto legible organizado bajo diferentes estándares de marcado
image jpeg, gif, png Bloques de datos gráficos con diferentes niveles de compresión
audio basic, mpeg, ogg Flujos de información sonora codificados de forma secuencial
application octet-stream, pdf, zip Datos binarios de uso general procesables por aplicaciones cliente
Tabla: Resumen de las familias principales de tipos de contenido MIME.

La normativa detalla dos métodos estandarizados para la codificación de transferencia. La codificación imprimible textualmente (quoted-printable) protege documentos que contienen mayoritariamente texto convencional en ASCII, traduciendo únicamente los caracteres foráneos mediante el uso del símbolo igual seguido de su representación hexadecimal.

Los archivos estructurados íntegramente en lenguaje de máquina requieren la codificación base64. El algoritmo recolecta el flujo binario de entrada y aísla bloques contiguos de 24 bits. El procesador fragmenta este bloque en cuatro unidades de 6 bits y proyecta cada unidad hacia un carácter del alfabeto ASCII que garantice una transmisión segura en canales antiguos.

Fórmula: Función de proyección que convierte fragmentos binarios de seis bits a su representación alfanumérica base64.

Si la longitud total del archivo binario no concuerda de manera exacta con un múltiplo de tres bytes, el sistema inyecta bytes de relleno neutros en la terminación del bloque. El cliente receptor identifica este ajuste matemático mediante la visualización de caracteres = añadidos artificialmente al final del texto transmitido.

4.6. Protocolos y servicios de aplicación: infraestructura

4.6.1. Sistema de nombres de dominio (DNS): arquitectura y jerarquía

El Domain Name System (DNS) funciona como un sistema de base de datos jerárquica y distribuida. Este protocolo traduce nombres legibles de dispositivos en direcciones IP numéricas para el enrutamiento de red. El sistema opera a través del puerto 53 y emplea UDP para las consultas estándar, lo cual reduce la sobrecarga en el establecimiento de conexiones.

El protocolo DNS requiere TCP cuando la respuesta supera los 512 bytes originales o durante las transferencias de zona. Las transferencias de zona sincronizan las bases de datos entre los servidores primarios y secundarios para mantener la tolerancia a fallos en la red.

El espacio de nombres sigue una estructura de árbol invertido. El nivel más alto contiene el nodo raíz, distribuido globalmente mediante tecnologías de enrutamiento anycast. El siguiente nivel aloja los servidores de dominio de nivel superior (TLD).

Los dominios TLD agrupan los nombres según su naturaleza organizativa, como .com o .edu, o geográfica, como .es. Debajo de ellos residen los dominios de segundo nivel, gestionados por organizaciones corporativas, comerciales o académicas.

La concatenación de etiquetas desde el nodo actual hasta la raíz forma el Nombre de dominio completamente calificado (FQDN). Los servidores autoritativos contienen los registros definitivos de una zona de red y responden con la máxima autoridad sobre su propio espacio de nombres.

4.6.2. Resolución de nombres y registros DNS

El proceso de traducción de nombres de red se denomina resolución de nombres. Un cliente, conocido como resolvedor (resolver), consulta al servidor local configurado en su interfaz de red. El servidor local envía peticiones a la jerarquía DNS de Internet si no almacena la respuesta en su memoria interna.

El protocolo soporta consultas recursivas, donde el servidor local asume toda la responsabilidad de buscar la dirección final. También utiliza consultas iterativas, donde el servidor contactado responde con la mejor referencia que tiene hacia un servidor de nivel inferior.

El servidor DNS almacena temporalmente las respuestas en su caché para reducir los tiempos de búsqueda futuros y minimizar la carga de tráfico en los enlaces externos. Cada registro posee un Tiempo de vida (TTL) que indica los segundos que permanece válido en la memoria caché del servidor.

El sistema organiza la información en registros de recursos (RR). El mensaje de respuesta DNS estructura los datos devueltos en secciones de respuestas, autoridad e información adicional. La infraestructura también soporta la resolución inversa mediante el dominio in-addr.arpa, que determina el nombre de dominio a partir de una dirección IP.

Tipo de Registro Descripción Ejemplo de Uso
A Asigna un nombre de host a una dirección IPv4. Traducir un nombre a 192.168.1.10
AAAA Asigna un nombre de host a una dirección IPv6. Traducir un nombre a 2001:db8::1
NS Identifica el servidor autoritativo de una zona. Delegar la gestión de un subdominio
CNAME Define un alias para otro nombre de host. Apuntar un servicio a otro nombre de máquina
MX Especifica el servidor de correo electrónico. Enrutar mensajes a un servidor de destino
Tabla: Principales tipos de registros de recursos (RR) utilizados en el sistema de nombres de dominio.
💡 Historia Curiosa: Antes del desarrollo de los protocolos de base de datos distribuida, ARPANET utilizaba un único archivo de texto llamado hosts.txt. Todas las computadoras de la red descargaban este archivo cada noche desde un servidor central para actualizar sus tablas locales de direcciones.

4.6.3. Protocolo de configuración dinámica de host (DHCP): funcionamiento

El Dynamic Host Configuration Protocol (DHCP) proporciona un mecanismo automatizado para la asignación de parámetros de red. El servidor asigna direcciones IP, máscaras de subred, servidores DNS y puertas de enlace a los dispositivos clientes. El protocolo opera sobre UDP y utiliza el puerto 67 en el servidor y el puerto 68 en el cliente.

DHCP elimina los problemas de colisión de direcciones IP derivados de la configuración manual de terminales. El administrador define un rango de direcciones disponibles denominado ámbito (scope). El servidor administra este ámbito y entrega las direcciones a las computadoras que inician su conexión a la infraestructura.

El protocolo asigna direcciones mediante tres mecanismos diferentes para adaptarse a diversas configuraciones de red. La asignación dinámica entrega una IP durante un periodo limitado a clientes transitorios. La asignación automática otorga una dirección de forma permanente al dispositivo en su primer acceso.

La asignación manual o reserva requiere que el administrador vincule una IP estática a la dirección de hardware (MAC) del cliente. El periodo durante el cual el cliente retiene la IP dinámica se denomina concesión (lease). Si el cliente abandona la red sin renovar su estado, el servidor recupera la dirección IP para reasignarla a otro dispositivo.

4.6.4. Proceso de asignación de direcciones DHCP

La asignación dinámica sigue un intercambio de cuatro mensajes entre cliente y servidor. El cliente inicia la comunicación mediante un mensaje DHCPDISCOVER. El equipo envía este paquete por difusión a la red local utilizando la dirección IP de destino 255.255.255.255.

El servidor recibe la solicitud y responde con un mensaje DHCPOFFER. El paquete incluye una dirección IP propuesta, la máscara de red correspondiente y la duración de la concesión. El servidor transmite esta oferta por difusión porque el cliente todavía carece de una configuración IP activa para enrutar el tráfico.

El cliente selecciona una oferta entre las posibles recibidas y emite un mensaje DHCPREQUEST. Esta solicitud notifica al servidor elegido la aceptación de los parámetros propuestos y rechaza implícitamente las ofertas alternativas de la red.

El servidor finaliza el proceso enviando un mensaje DHCPACK para confirmar la reserva de los parámetros en su base de datos. Cuando el servidor y el cliente residen en subredes distintas, los enrutadores intermedios utilizan un agente de retransmisión (DHCP Relay) para interceptar y redirigir los mensajes UDP entre ambas redes.

El cliente maneja temporizadores para el mantenimiento de la concesión activa. Al alcanzar el temporizador T1, que representa la mitad de la vida de la concesión, el cliente envía un nuevo DHCPREQUEST directamente al servidor emisor para extender su contrato de uso.

Diagrama Mermaid
Diagrama: Secuencia del intercambio de mensajes en el protocolo DHCP para la concesión inicial de una dirección IP.
❌ Error Común: Muchos administradores habilitan clientes de asignación dinámica en máquinas que prestan servicios a la red. Los servidores de archivos o de bases de datos requieren configuraciones IP estáticas fijadas manualmente para evitar cortes de servicio provocados por cambios de dirección.

4.6.5. Protocolo simple de gestión de red (SNMP): elementos principales

El Simple Network Management Protocol (SNMP) estandariza la administración centralizada de infraestructuras de red. El protocolo permite la monitorización, configuración y recopilación de métricas en dispositivos de telecomunicaciones. SNMP abstrae los detalles de implementación del hardware para ofrecer un modelo de operaciones uniforme.

La arquitectura del protocolo define componentes que operan bajo un paradigma de peticiones y respuestas. La estación de gestión (manager) ejecuta aplicaciones que centralizan la toma de decisiones, la visualización de fallos y el almacenamiento de métricas históricas. Estas estaciones residen comúnmente en los Centros de Operaciones de Red.

El agente de gestión (agent) consiste en un proceso de software que se ejecuta en el dispositivo administrado, como un conmutador o un enrutador. El agente responde a las solicitudes de la estación de gestión y ejecuta comandos de reconfiguración local.

El sistema organiza los datos del dispositivo en un esquema denominado Base de información de gestión (MIB). La MIB modela los recursos del hardware mediante objetos gestionados que representan variables de estado o contadores de rendimiento de las interfaces.

🎯 Tip: El protocolo SNMP transmite sus mensajes encapsulados en datagramas UDP para evitar la carga de gestión de conexiones del protocolo TCP. Se emplea el puerto 161 para las peticiones normales de gestión y el puerto 162 para recibir notificaciones de eventos desde los agentes de la red.

4.6.6. Estructura de la información de gestión (SMI) y operaciones SNMP

La Structure of Management Information (SMI) establece las normas sintácticas para la definición de los objetos dentro de la MIB. SMI estructura el espacio de nombres en un árbol jerárquico de alcance global. Cada nodo de este árbol posee un Identificador de objeto (OID).

El OID consiste en una secuencia numérica separada por puntos que identifica cada métrica de forma inequívoca en la jerarquía. SMI define tipos de datos limitados, como enteros, contadores incrementales, direcciones de red o cadenas de octetos.

SNMP utiliza operaciones atómicas para interactuar con los agentes remotos. La primitiva GetRequest solicita el valor de una o más variables. La operación GetNextRequest permite al administrador avanzar por los índices y recorrer tablas conceptuales secuencialmente. El comando SetRequest altera el valor de un objeto en la MIB para reconfigurar el equipo.

El agente genera una notificación asíncrona no confirmada llamada Trap para informar sobre un evento anómalo en el hardware. Las caídas de enlaces físicos o los fallos de autenticación del sistema disparan estas notificaciones sin necesidad de un sondeo periódico desde la estación administradora.

El administrador calcula métricas de capacidad combinando el valor de los OID extraídos del agente. Se determina la tasa de utilización de una interfaz de red mediante la siguiente expresión matemática:

Donde representa la diferencia en el contador de tráfico de la interfaz durante el intervalo temporal , y la capacidad técnica se expresa en bits por segundo.

4.6.7. Evolución y seguridad en las versiones de SNMP

La primera versión del estándar, SNMPv1, implementa un modelo de autenticación primitivo basado en el concepto de comunidad. El nombre de comunidad funciona como una contraseña compartida transmitida a través de la red en texto claro. El agente verifica el nombre de comunidad antes de conceder permisos a la estación solicitante.

SNMPv2c mantiene el esquema de comunidades de la versión original pero introduce mejoras operativas en las transmisiones. El mensaje GetBulkRequest permite recuperar grandes tablas de datos en una única respuesta. El mensaje InformRequest facilita el envío de notificaciones asíncronas que exigen confirmación de recepción.

La versión SNMPv3 redefine completamente el esquema de protección de las comunicaciones mediante el Modelo de seguridad basado en el usuario (USM). USM garantiza la confidencialidad cifrando la carga útil del mensaje mediante algoritmos simétricos. También proporciona autenticación de origen mediante algoritmos de dispersión y previene la reutilización de mensajes.

SNMPv3 añade el Modelo de control de acceso basado en vistas (VACM) para establecer políticas de autorización granulares. VACM asocia a los usuarios con grupos y restringe las operaciones sobre subárboles definidos de la MIB. Este mecanismo restringe la manipulación de variables de configuración exclusivas para ciertos perfiles administrativos.

🧩 Analogía: Las cadenas de comunidad de SNMPv1 operan como una misma llave genérica que abre un edificio entero. El mecanismo VACM en SNMPv3 se asemeja a un control de acceso con tarjetas magnéticas que otorga acceso a salas concretas según los privilegios del portador.

4.7. Protocolos y servicios de aplicación: servicios al usuario

4.7.1. Arquitectura web y transferencia de hipertexto (HTTP)

El protocolo HTTP (HyperText Transfer Protocol) rige la comunicación entre los navegadores web y los servidores. Funciona en la capa de aplicación y utiliza conexiones TCP, habitualmente a través del puerto 80. La arquitectura web se basa en un modelo donde el cliente solicita un recurso y el servidor devuelve dicho contenido.

HTTP es un protocolo sin estado. El servidor despacha cada petición de forma independiente y no conserva memoria sobre las interacciones anteriores del mismo usuario. Esta característica simplifica el diseño de los servidores web y reduce la carga de memoria, ya que el sistema no necesita mantener sesiones abiertas.

Para resolver la necesidad de mantener un contexto continuo, como ocurre en el comercio electrónico, los desarrolladores utilizan mecanismos externos. El método principal consiste en enviar cookies, pequeños bloques de datos que el servidor asigna y el cliente devuelve en cada nueva solicitud. El servidor utiliza este identificador para asociar múltiples peticiones aisladas a un mismo usuario.

Una página web completa suele componerse de múltiples objetos independientes. El navegador descarga primero el documento base y luego emite peticiones HTTP adicionales para obtener imágenes, hojas de estilo o scripts asociados.

Diagrama Mermaid
Diagrama: Intercambio básico de mensajes en una transacción HTTP estándar.

4.7.2. Métodos de petición y códigos de estado en HTTP

Los mensajes HTTP se componen de texto legible y se dividen en peticiones y respuestas. Una petición incluye una línea de inicio, cabeceras y un cuerpo opcional. La línea de inicio especifica el método de la petición, el identificador del recurso y la versión del protocolo.

El método GET solicita la transferencia de un documento desde el servidor hacia el cliente. El método POST transmite datos del cliente al servidor, insertando la información dentro del cuerpo del mensaje. Los desarrolladores utilizan POST para enviar formularios o subir información a bases de datos web.

Las respuestas del servidor comienzan con una línea de estado que contiene un código de estado de tres dígitos numéricos. Este código informa al cliente sobre el resultado de la transacción. El primer dígito define la categoría de la respuesta.

Clase Categoría Significado Ejemplo común
1xx Informativa La petición se recibe, el proceso continúa. 100 Continue
2xx Éxito El servidor recibe, comprende y acepta la petición. 200 OK
3xx Redirección El cliente debe realizar acciones adicionales. 301 Moved Permanently
4xx Error del cliente La petición contiene sintaxis incorrecta. 404 Not Found
5xx Error del servidor El servidor falla al procesar una petición válida. 500 Internal Server Error
Tabla: Clases de códigos de estado definidos por el estándar HTTP.

4.7.3. Envío de correo electrónico con SMTP

El protocolo SMTP (Simple Mail Transfer Protocol) gestiona el envío de correo electrónico en Internet. Opera principalmente sobre el puerto 25 de TCP para el enrutamiento entre servidores y el puerto 587 para el envío desde clientes finales. SMTP transfiere los mensajes desde el agente de usuario del emisor hasta el servidor del destinatario.

SMTP opera como un protocolo de empuje (push). El cliente SMTP inicia la sesión TCP y empuja el mensaje hacia el servidor receptor. La comunicación se realiza mediante comandos de texto plano, como HELO para identificación, MAIL FROM para indicar el remitente, RCPT TO para definir el destinatario y DATA para transmitir el contenido.

El diseño original de SMTP restringe el cuerpo del mensaje a texto en formato ASCII de 7 bits. Para superar esta limitación y permitir el envío de archivos adjuntos, el sistema utiliza el estándar MIME (Multipurpose Internet Mail Extensions).

MIME codifica los datos binarios en caracteres ASCII antes de la transmisión. El estándar añade cabeceras adicionales al mensaje, indicando el tipo de contenido y el método de codificación empleado, como Base64. El servidor receptor o el cliente final decodifica este texto para restaurar el archivo original.

4.7.4. Recuperación y gestión de buzones: POP3 e IMAP

Para leer los mensajes almacenados, el destinatario emplea protocolos de extracción (pull), dado que SMTP no permite al usuario solicitar correos a un servidor remoto. Los dos protocolos principales para este propósito son POP3 e IMAP.

El protocolo POP3 (Post Office Protocol version 3) funciona en el puerto 110 de TCP. El cliente se conecta, se autentica, descarga los correos a la máquina local y cierra la conexión. Por defecto, POP3 emite comandos de borrado tras la descarga, eliminando los mensajes del servidor. Este comportamiento dificulta la consulta del correo desde múltiples dispositivos.

El protocolo IMAP (Internet Message Access Protocol) se ejecuta en el puerto 143 de TCP y ofrece un control avanzado del buzón. IMAP permite al usuario organizar correos en carpetas remotas, buscar palabras específicas sin descargar el mensaje completo y mantener el estado de lectura de cada correo sincronizado en el servidor.

🧩 Analogía: POP3 actúa como un buzón postal físico: la persona recoge sus cartas y se las lleva a casa, dejando el buzón vacío. IMAP funciona como una biblioteca de consulta: la persona revisa, clasifica y lee los documentos en las instalaciones, permitiendo que las estanterías mantengan la misma organización sin importar quién acceda ni desde dónde.

4.7.5. Transferencia de archivos interactiva mediante FTP

El protocolo FTP (File Transfer Protocol) permite la copia de archivos entre dos sistemas informáticos conectados a una red TCP/IP. A diferencia de HTTP, que abre una sola conexión para comandos y datos, FTP separa ambas funciones utilizando un modelo de doble conexión.

El cliente FTP abre una conexión de control hacia el puerto 21 del servidor. El sistema mantiene esta conexión abierta durante toda la sesión para transmitir comandos y recibir respuestas. FTP emplea el conjunto de caracteres NVT ASCII para la comunicación en esta vía de control, siguiendo un modelo interactivo similar al de una terminal.

Cuando el usuario solicita la carga o descarga de un fichero, el sistema establece una conexión de datos independiente, tradicionalmente en el puerto 20 del servidor. El servidor envía el contenido del archivo a través de esta nueva vía. Al finalizar la transferencia del fichero en curso, el sistema cierra la conexión de datos, conservando la de control para futuras instrucciones.

El tiempo de transferencia de un archivo se modela en función de su volumen y del ancho de banda disponible, añadiendo el retardo de propagación para el establecimiento de la sesión. Podemos formular este cálculo como:

Donde representa la longitud del archivo en bits, representa la capacidad del enlace en bits por segundo, y denota el tiempo de ida y vuelta para el inicio de las conexiones TCP necesarias.

4.7.6. Modos de transferencia y seguridad en FTP

FTP define dos métodos para establecer la conexión de datos: modo activo y modo pasivo. En el modo activo, el cliente abre un puerto efímero local, notifica este número al servidor mediante el comando PORT, y espera a que el servidor inicie la conexión de datos desde su puerto 20 hacia el puerto indicado.

En el modo pasivo, el cliente emite el comando PASV. El servidor abre un puerto efímero de escucha y responde al cliente con la dirección IP y el puerto asignado. El cliente inicia entonces la conexión de datos hacia el servidor. Conviene recordar que el modo pasivo evita problemas de conectividad cuando el cliente opera detrás de routers NAT o cortafuegos estrictos, ya que la petición de conexión fluye de dentro hacia afuera.

❌ Error Común: Los administradores noveles suelen implementar FTP para la transferencia de archivos corporativos asumiendo que el uso de contraseñas protege la información. El protocolo FTP original no cifra la conexión de control ni la de datos, por lo que transmite las credenciales de usuario en texto plano, exponiendo la red a ataques de interceptación.

Para asegurar estas comunicaciones, los sistemas actuales sustituyen el protocolo tradicional por alternativas cifradas. Existen dos variantes principales: FTPS, que añade una capa SSL/TLS al protocolo FTP estándar, y SFTP, que emplea una arquitectura distinta basada en el protocolo SSH para encapsular toda la transferencia.

4.7.7. Acceso remoto seguro a través de SSH

El protocolo SSH (Secure Shell) proporciona un mecanismo seguro para acceder a la terminal de comandos de un equipo remoto. SSH sustituye al protocolo Telnet, que transmitía todos los datos en texto plano. La arquitectura de SSH opera por defecto en el puerto 22 de TCP y cifra toda la sesión.

El protocolo se estructura en tres componentes. El protocolo de capa de transporte negocia el algoritmo de cifrado y autentica al servidor ante el cliente mediante criptografía de clave pública. El protocolo de autenticación de usuario verifica la identidad del cliente mediante contraseñas, claves asimétricas o certificados. El protocolo de conexión multiplexa el túnel cifrado en múltiples canales lógicos.

SSH permite implementar el reenvío de puertos (port forwarding). El sistema intercepta el tráfico de una aplicación local, lo introduce en el túnel cifrado de SSH y lo entrega a un puerto de destino en el servidor remoto. Los administradores utilizan esta técnica para proteger protocolos de red que carecen de cifrado nativo.

🎯 Tip: El aprendizaje de esta tecnología no solo se circunscribe al marco epistemológico clásico, sino que constituye un Resultado de Aprendizaje fundamental (RA) definido en los currículos vigentes, regidos por el RD 659/2023 de Formación Profesional y, concretamente, en los Decretos de títulos de grado superior como ASIR (RD 1629/2009).
Diagrama Mermaid
Diagrama: Fases de negociación y autenticación en una sesión de acceso remoto mediante el protocolo SSH.

5. Conclusiones

El estudio de las redes utiliza el modelo OSI (Interconexión de Sistemas Abiertos, un marco conceptual de siete niveles) para comprender la separación de tareas. Este esquema aísla las funciones desde la transmisión física hasta la interacción con el usuario.

La implementación técnica de Internet (red global de dispositivos interconectados) consolidó el uso del modelo TCP/IP (Protocolo de Control de Transmisión/Protocolo de Internet, una arquitectura práctica de cuatro capas). Este estándar agrupa las tareas de sesión, presentación y aplicación en una única capa de aplicación.

Las funciones originales de la capa de presentación abarcaban la conversión de formatos de datos, su compresión y el cifrado. La evolución del software provocó que los desarrolladores programen estas tareas directamente en sus aplicaciones.

Los programas modernos asumen las labores de encriptación y autenticación en los extremos mediante bibliotecas como TLS (Seguridad de la Capa de Transporte, un protocolo criptográfico que protege las comunicaciones). El uso de estas bibliotecas traslada la carga de presentación directamente al programa de usuario.

La capa de sesión (el nivel encargado de establecer, coordinar y finalizar los diálogos entre procesos) corre una suerte similar. Los programadores incluyen los mecanismos para abrir y cerrar el intercambio de datos dentro del propio protocolo de aplicación. La comunicación web emplea mecanismos propios, como el uso de cookies, para mantener el estado de los clientes. El programa servidor y el navegador gestionan la continuidad del diálogo de forma autónoma.

La gestión de la capa de aplicación constituye la base operativa de Internet y centra el trabajo en la administración de sistemas. Los técnicos de red destinan su tiempo a configurar protocolos estándar como HTTP (Protocolo de Transferencia de Hipertexto), DNS (Sistema de Nombres de Dominio) o SMTP (Protocolo Simple de Transferencia de Correo). La configuración de estos servicios sostiene la infraestructura de cualquier servidor empresarial.

La enseñanza en la Formación Profesional requiere trasladar el despliegue de estos servicios hacia los nuevos modelos de producción. La industria tecnológica migra las aplicaciones de red desde servidores físicos independientes hacia entornos de cloud computing (suministro de recursos informáticos bajo demanda a través de red). Los alumnos aprenden a integrar los protocolos del nivel de aplicación dentro de infraestructuras virtualizadas orientadas a servicios.

El diseño de las aplicaciones modernas exige conocimientos sobre contenedores (paquetes de software aislados que contienen un programa y sus dependencias).

Los servicios actuales dividen sus funciones en pequeños componentes que interactúan entre sí utilizando el protocolo HTTP mediante un API REST (Interfaz de Programación de Aplicaciones basada en transferencias de estado representacional). Conviene preparar al alumnado para configurar y asegurar este tipo de tráfico interno de aplicación.

6. Bibliografía

  • Kurose, J. F., & Ross, K. W. (2017). Redes de computadoras: Un enfoque descendente. Pearson. — Analiza en detalle los protocolos de la capa de aplicación y la arquitectura TCP/IP.
  • Tanenbaum, A. S., & Wetherall, D. J. (2012). Redes de computadoras. Pearson. — Explica las diferencias entre el modelo de referencia OSI y las pilas de protocolos implementadas.
  • Stallings, W. (2004). Comunicaciones y redes de computadores. Prentice Hall. — Describe la sintaxis de datos, codificación ASN.1 y algoritmos aplicados en la presentación de datos.
  • IETF. (1999). RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1. Internet Engineering Task Force. — Especifica la sintaxis, métodos y códigos del protocolo HTTP.
  • IETF. (2008). RFC 5321: Simple Mail Transfer Protocol. Internet Engineering Task Force. — Define las transacciones y formato estándar para el envío de correo electrónico en Internet.
  • Forouzan, B. A. (2013). Data communications and networking with TCP/IP protocol suite. McGraw-Hill. — Ofrece diagramas sobre el funcionamiento de DNS, FTP y mecanismos de sesión.

¿Te ha gustado este tema de muestra?

Consigue el temario completo de Secundaria PES y multiplica tus opciones de éxito en las oposiciones. Estudia con temas redactados para el tribunal y repasa en cualquier lugar con los audios MP3 de alta fidelidad.

  • Rúbrica del tribunal: redactados al milímetro para convencer a los correctores.
  • Audios de repaso: material MP3 de alta fidelidad para aprovechar cada minuto libre.
  • Garantía 2026: temarios 100% actualizados y libres de contenido obsoleto.
  • Acceso inmediato: descarga digital al instante en un solo clic y empieza hoy.
Temario Completo Sin permanencia ni cuotas ocultas
🔒 Acceso inmediato sin registros