Bienvenidos al Curso Gratis de Redes – Capitulo 14 – Capa 5 de Sesión. Esta es la capa responsable de abrir y cerrar la comunicación entre los dos dispositivos. El tiempo entre el momento en que se abre y se cierra la comunicación se conoce como sesión. La capa de sesión garantiza que la sesión permanezca abierta el tiempo suficiente para transferir todos los datos que se intercambian y luego cierra rápidamente la sesión para evitar el desperdicio de recursos.

Tabla de contenidos

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

El modelo OSI

Es un estándar que debe hacer posible la conexión entre dos dispositivos finales en una red, independientemente del software o hardware que utilicen ambas partes. El modelo OSI, que se viene desarrollando desde los años 70 y se presentó por primera vez en 1983, consta de un total de siete capas, todas ellas dirigidas a áreas de trabajo diferentes, pero que se apoyan unas en otras e interactúan entre sí hasta cierto punto. Las siete capas en orden ascendente son las siguientes:

Lee los demás capítulos acerca del modelo OSI

  1. Capa física (Physical Layer)
  2. Capa de enlace (Data Link Layer)
  3. Capa de red (Network Layer)
  4. Capa de transporte (Transport Layer)
  5. Capa de sesión (Session Layer)
  6. Capa de presentación (Presentation Layer)
  7. Capa de aplicación (Application Layer)

Capa de sesión

La capa de sesión también sincroniza la transferencia de datos con los puntos de control. Por ejemplo, si se transfiere un archivo de 100 megabytes, la capa de sesión podría establecer un punto de control cada 5 megabytes. En caso de una desconexión o un fallo después de que se hayan transferido 52 megabytes, la sesión podría reanudarse desde el último punto de control, lo que significa que sólo es necesario transferir 50 megabytes más de datos. Sin los puestos de control, toda la transferencia tendría que empezar de nuevo desde cero.

El nivel de sesión o capa de sesión es el quinto nivel del modelo OSI, que proporciona los mecanismos para controlar el diálogo entre las aplicaciones de los sistemas finales. En muchos casos, los servicios de la capa de sesión son parcialmente, o incluso, totalmente prescindibles. No obstante, en algunas aplicaciones su utilización es ineludible.

La capa de sesión proporciona los siguientes servicios:

  • Control del Diálogo: Éste puede ser simultáneo en los dos sentidos (full-duplex) o alternado en ambos sentidos (half-duplex).
  • Agrupamiento: El flujo de datos se puede marcar para definir grupos de datos (paquetes).
  • Recuperación: La capa de sesión puede proporcionar un procedimiento de puntos de comprobación, de forma que si ocurre algún tipo de fallo entre puntos de comprobación, la entidad de sesión puede retransmitir todos los datos desde el último punto de comprobación y no desde el principio.
  • Notificación de errores: Mecanismo de propósito general para notificar errores inesperados. Si un usuario tiene algún problema, este problema se puede notificar a su corresponsal.

Todas estas capacidades se podrían incorporar en las aplicaciones de la capa 7. Sin embargo ya que todas estas herramientas para el control del diálogo son ampliamente aplicables, parece lógico organizarlas en una capa separada, denominada capa de sesión.​

La capa de sesión surge como una forma de organizar y sincronizar el diálogo y controlar el intercambio de datos.

La capa de sesión permite a los usuarios de máquinas diferentes establecer sesiones entre ellos. Una sesión permite el transporte ordinario de datos, como lo hace la capa de transporte, pero también proporciona servicios mejorados que son útiles en algunas aplicaciones. Se podría usar una sesión para que el usuario se conecte a un sistema remoto de tiempo compartido o para transferir un archivo entre dos máquinas.

¿Qué es la capa de sesión?

La capa de sesión también se denomina session layer. Es la quinta capa de las siete que componen el modelo OSI, que se viene desarrollando desde la década de los 70 con el objetivo de crear estándares para la interacción entre los diferentes dispositivos y sistemas de una red.

Control de la comunicación en la capa de sesión

La función principal de la capa de sesión es establecer una conexión entre dos sistemas. Dicha conexión se denomina sesión y cada una es única e inequívoca. El control de las sesiones también es responsabilidad de la capa de sesión. La capa puede, por ejemplo, permitir el acceso temporal a otro sistema para controlar la comunicación.

La comunicación, que es llevada a cabo por la capa de sesión del modelo OSI, se establece entre ambas partes, de forma paralela o unidireccional, y se denomina control del diálogo (dialog control). Para la comunicación unidireccional, el session layer puede asignar tokens para poder organizar la secuencia y permitir así un diálogo sin interrupciones.

Los tokens de la capa de sesión del modelo OSI se dividen en cuatro categorías:

  • Tokens de datos (Data Token): durante la comunicación unidireccional en modo semidúplex, indican qué equipo puede transmitir y cuándo.
  • Tokens de actividad (Activity Major Token): los tokens de actividad dividen una conexión en diferentes actividades. Si una actividad se interrumpe o se cancela, puede reanudarse más tarde en la misma sesión o en otra distinta.
  • Tokens de sincronización (Synchronize Minor Token): los tokens de sincronización están numerados del 0 al 999 999 y se utilizan para fraccionar una comunicación. Más adelante obtendrás más información sobre la sincronización a nivel de la sesión.
  • Token de finalización (Release Token): los tokens de finalización marcan el final de una sesión.

Sincronización en la capa de sesión

Además de organizar y controlar la comunicación, la capa de sesión tiene una segunda función muy importante: la sincronización del intercambio de datos. Su importancia se pone especialmente de manifiesto cuando una transmisión de datos se interrumpe inesperadamente y de forma involuntaria en la cuarta capa o en una inferior.

La capa de sesión del modelo OSI crea puntos de sincronización precisamente para los casos en los que se interrumpa la transmisión. Si la comunicación se interrumpe, se puede retomar la transmisión de datos desde su último punto de sincronización y no es necesario empezar desde cero. Esto resulta de gran ayuda especialmente cuando la comunicación se establece a través de conexiones lentas o inestables, o cuando se quiere transmitir archivos con mucho peso.

Los puntos de sincronización proporcionados por la capa de sesión se dividen en dos grandes categorías.

  • Los puntos de sincronización mayores dividen los datos a transferir en unidades individuales. Los puntos de sincronización mayores deben tener un acuse de recibo.
  • Los puntos de sincronización menores proporcionan una estructura lógica y práctica dentro de las unidades. No es obligatorio que tengan acuse de recibo.

¿Qué servicios presta la capa de sesión del modelo OSI?

Los servicios de la capa de sesión, algunos de los cuales se han mencionado previamente, se ponen a disposición de los procesos de aplicación y persiguen el objetivo de organizar y sincronizar mejor la comunicación. Los servicios de la capa de sesión se utilizan cuando esta solicita a la capa de transporte una conexión con un segundo PC (nivel 4). Los diferentes servicios se agrupan en unidades funcionales. La Organización Internacional de Normalización (ISO), que también ayudó a desarrollar el modelo OSI, propone la siguiente clasificación para las unidades funcionales. La combinación adecuada la determinan ambas partes antes de establecer la sesión.

  • Basic Combined Subset (BCS): compatible con el kernel, semidúplex y dúplex
  • Basic Synchronized Subset (BSS): compatible con el kernel, semidúplex, negotiated release, puntos de sincronización mayores y menores y resincronización
  • Basic Activity Subset (BAS): compatible con el kernel, semidúplex, puntos de sincronización menores, excepciones y gestión de actividades

Objetivos

  • Permitir que los usuarios de diferentes máquinas establezcan sesiones entre ellos
  • Permitir a un usuario entrar a un sistema de tiempo compartido a distancia o bien, compartir archivos a distancia.
  • Entre la administración y finalización de las sesiones, se llevan a cabo algunos servicios claves para el correcto funcionamiento, los cuales son:
    • Control de la sesión.
    • mantener los puntos de verificación
    • Control de concurrencia (evitar que interfieran dos procesos al mismo tiempo)
    • Por lo tanto, esta capa asegura o mantiene el enlace entre dos equipos y permite reanudar tareas en caso de alguna interrupción.
  • En esta capa se permite el tráfico de la red en ambas direcciones al mismo tiempo o a una sola dirección. Si el tráfico solo va en una dirección, la capa de sesión ayudará en el seguimiento de quien tiene el turno.
  • Existe la sincronización ya que la capa proporciona una forma de insertar puntos de verificación en el flujo de datos, con el objetivo de que después de cada caída, solamente se repitan los datos que están después del último punto de verificación.
  • Una sesión se parece a una conexión de transporte.
  • Cuando llega a presentarse una solicitud para que la capa de sesión establezca una sesión, se deberá establecer una conexión de transporte que se encargue de soportar la conexión
  • Cuando termina la sesión se libera la conexión de transporte.
  • Cada vez que un agente contesta una llamada, se establece una sesión con el equipo principal.
  • Una vez que un agente contesta una llamada, se establece una sesión con el equipo principal.
  • Una vez que la sesión se procesa, la sesión se da por terminada
  • Lo importante en este punto es que no hay necesidad de cargar con el problema de liberar la conexión de transporte subyacente.

¿Cuáles son los protocolos de la capa de sesión?

Son muchos los protocolos de la capa de sesión del modelo OSI. La capa de sesión pone sus protocolos y servicios a disposición de sus capas superiores mediante interfaces de programación. Los parámetros y propiedades de las capas inferiores no son relevantes para las conexiones de comunicación resistentes. Los protocolos de la capa de sesión son los siguientes:

  • ADSP
  • ASP
  • FTP
  • H.245
  • HTTP
  • ISO-SP
  • iSNS
  • L2F
  • L2TP
  • NetBIOS
  • NNTP
  • PAP
  • PPTP
  • RPC
  • RTCP
  • SCP
  • SDP
  • SMPP
  • SMTP
  • SOCKS
  • Telnet
  • TFTP
  • ZIP

Prodocolo ASP (Protocolo de sesión APPLE TALK)

Fue desarrollado por Apple Computer, ofreciendo establecimiento de la sesión, mantenimiento y desmontaje, así como la secuencia petición. ASP es un protocolo intermedio que se basa en la parte superior de AppleTalk Protocolo de Transacciones (ATP), que es el protocolo original y fiable a nivel de sesión de AppleTalk. Proporciona servicios básicos para solicitar respuestas a las arbitrarias órdenes y llevar a cabo fuera de la banda de consultas de estado. También permite al servidor enviar mensajes asíncronos de atención al cliente.

Protocolo RPC (llamada a procedimiento remoto)

es un protocolo que permite a un programa de equipo ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambos. El protocolo es un gran avance sobre los sockets usados hasta el momento.

Las RPC son muy utilizadas dentro del paradigma cliente-servidor, siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o función, y enviando de vuelta este último el resultado de dicha operación al cliente.

Hoy en día se está utilizando el XML como lenguaje para definir el IDL y el HTTP como protocolo de red, dando lugar a lo que se conoce como servicios web.

La llamada a procedimiento remoto es una tecnología que regula la comunicación entre procesos, es decir, el intercambio de información entre procesos de sistema. En 1984, los informáticos Andrew Birrell y Bruce Nelson definieron a la RPC como un mecanismo síncrono “que transfiere el flujo de control y los datos entre dos espacios de direcciones a través de una red de banda estrecha como llamada a proceso”.

Al traspasar el espacio de direcciones

Los procesos pueden iniciarse en un ordenador remoto conectado a la red y pueden incluirse instancias externas en procesos de cálculo y procesamiento de datos de manera operativa. El proceso de comunicación con RPC consta del envío de parámetros y el retorno de un valor de función. A menudo, no se limita a una sola llamada, ya que en la práctica se procesan muchas solicitudes en paralelo.

En última instancia, el concepto subyacente a la llamada a procedimiento remoto tiene como objetivo armonizar los niveles de procesamiento: idealmente, para los programadores y usuarios, no debería suponer ninguna diferencia de qué llamada a procedimiento se trate. Las llamadas remotas deberían ser tan fáciles de implementar como las locales (principio de transparencia), al menos en teoría.

En las redes y arquitecturas cliente-servidor, las llamadas RPC suponen un proceso de comunicación bidireccional orientada a solicitudes y complementan la comunicación basada puramente en mensajes, que sigue el paradigma de entrada y salida (uso de funciones de E/S).

Nota

La RPC ha sido especialmente concebida para comunicar varios ordenadores, aunque también puede participar en la comunicación entre diferentes procesos dentro de un único sistema coherente.

Stub del cliente y stub del servidor: funcionamiento de RPC

Las llamadas a procedimiento remoto siempre se ejecutan siguiendo un patrón determinado: por ejemplo, un cliente contacta con un servidor de base de datos central para buscar una pieza de repuesto. El servidor remoto revisa entonces la base de datos y envía el resultado al cliente. Este último procesa los datos recibidos y muestra, por ejemplo, una lista con los datos del inventario en un software de gestión.

En la implementación de una Remote Procedure Call, en el lado del emisor y del receptor participan unas instancias especiales llamadas stubs. El stub del cliente actúa como sustituto del procedimiento del servidor remoto en el lado del cliente, mientras que el stub del servidor sustituye al código del cliente que realiza la llamada en el lado del servidor. Disfrazando el “alejamiento” del código en el otro lado, los stubs simulan operar como una unidad local funcional. Al mismo tiempo, actúan como interfaces de procedimiento. La secuencia típica de una llamada RPC podría resumirse en los siguientes pasos:

Cómo funciona?

  1. El cliente hace la llamada al procedimiento remoto mediante un mensaje a través de la red, éste se detiene ya que es un proceso síncrono, es decir, necesita una respuesta del servidor para continuar su ejecución, en esta llamada se incluye un STUN (resguardo) el cual se encarga de ajustar parámetros y direcciones de memoria en un ambiente (cliente) u otro (servidor).
  2. El servidor recibe la petición y desempaqueta el mensaje para extraer la información necesaria para realizar la tarea. El stub ayuda a que el servidor sea capaz de convertir parámetros de una representación a otra, para traducir direcciones de memoria de cliente a servidor.
  3. El servidor ejecuta la tarea.
  4. El servidor crea un mensaje de respuesta para el cliente en el que incluye el resultado de la tarea que este le pidió realizar
  5. El cliente recibe y desempaqueta el mensaje de respuesta del servidor, continúa con su ejecución normal. STUB: El stub es la pieza de código que le permite al servidor ejecutar la tarea que se le asignó, se encarga de proveer la información necesaria para que el servidor convierta las direcciones de los parámetros que el cliente envió en direcciones de memoria válidas dentro del ambiente del servidor. La representación de datos entre el cliente y el servidor podría discrepar, el stub también provee la información necesaria para solucionar esta situación. De manera general, es la pieza de código que se encarga de enmascarar toda la discrepancia entre el cliente y servidor, es necesario que las bibliotecas stubs estén instaladas tanto en el cliente como en el servidor.

Clústeres de computadoras y cloud computing: ámbitos de uso de RPC

Actualmente, las llamadas RPC se utilizan en muchos ámbitos: son uno de los componentes fundamentales de los servicios web (por ejemplo, como protocolo XML-RPC para llamadas a funciones remotas a través de HTTP) y hacen posibles las aplicaciones distribuidas, en las que diferentes computadorass comparten los recursos disponibles y las tareas entrantes. Entre otras, aquí se incluyen los servicios informáticos en la nube, los sistemas bancarios o los sistemas de reservas turísticas, así como las bases de datos. Otros campos de aplicación son los clústeres de computadoras (clústeres de alta disponibilidad), las redes entre iguales descentralizadas y las cadenas de bloques (por ejemplo, de las criptomonedas), que también suelen trabajar con la tecnología RPC.

Asimismo, las Remote Procedure Calls son básicas para el funcionamiento de los sistemas operativos actuales: por ejemplo, Windows las utiliza en muchas rutinas que se llevan a cabo constantemente, como el servicio de fax, la cola de impresión o las conexiones de red configuradas, que utilizan un servicio de sistema denominado “llamada a procedimiento remoto”.

En el mundo de Unix y Linux, tiene un papel importante el Network File System (NFS), o sistema de archivos de red, desarrollado por Sun Microsystems. Este sistema utiliza las RPC entre cliente y servidor para montar el conjunto de archivos de un equiporemoto en un equipo local, es decir, para que estos estén disponibles en el segundo de forma parcial o completa, lo que permite al usuario administrar los archivos ubicados en un dispositivo remoto como si los tuviera en su propio equipo. Estableciendo permisos, se regulan los derechos de lectura y escritura de los archivos. El Network Information System (NIS), o sistema de información de red, también utiliza RPC y, por lo tanto, permite administrar los sistemas Unix y Linux de forma centralizada.

¿Qué ventajas tiene RPC?

El protocolo RPC gestiona la comunicación entre procesos de manera fiable y requiere un tiempo de procesamiento relativamente corto. Así, se facilita mucho la programación de procesos de comunicación entre equipos remotos, porque, por ejemplo, no es necesario tener en cuenta las características más complejas de la red que se utiliza. RPC permite además una modularización coherente: los procesos pueden distribuirse, aligerando así la carga de los equipos. Las redes y los sistemas distribuidos funcionan de forma más eficiente gracias al repartimiento del trabajo mediante el uso de plataformas especializadas para tareas concretas (por ejemplo, servidores de bases de datos), y todas las partes implicadas pueden conectarse a la red desde cualquier lugar del mundo. Otras ventajas son la excelente escalabilidad de las arquitecturas cliente-servidor implementadas, así como la posibilidad de trabajar en la nube fácilmente.

¿Qué inconvenientes tiene RPC?

Una de las desventajas de RPC es que no existe un estándar unificado para esta tecnología. Las diferentes implementaciones, la mayoría específicas de cada empresa (por ejemplo, ONC-RPC de Sun), no suelen ser compatibles entre sí. Además, los niveles de transferencia de los sistemas basados en RPC conllevan una cierta pérdida de velocidad, al contrario que las llamadas a procedimiento puramente locales. Como el cliente y el servidor utilizan diferentes entornos de ejecución para sus respectivas rutinas, el uso de recursos (por ejemplo, archivos) también se vuelve más complejo. Por lo tanto, el protocolo RPC no resulta muy adecuado para transferir grandes cantidades de datos.

División en diferentes instancias

La división en diferentes instancias de procesamiento también vuelve el sistema más susceptible a errores. Los mensajes pueden perderse durante el proceso de comunicación (por un error de red o el fallo de algún nodo) o pueden ocurrir retrasos e interrupciones que produzcan complicaciones como problemas de timing, dobles ejecuciones redundantes (por ejemplo, de llamadas a procedimiento) o asincronías no deseadas en la comunicación entre los dispositivos. Con la RPC síncrona, el cliente podría verse afectado por algún problema del servidor (por ejemplo, una caída) si el proceso solicitante espera en vano el valor de retorno. Por otro lado, el servidor se ralentiza si la respuesta del cliente se retrasa o no llega en absoluto. Esta susceptibilidad a los errores puede influir mucho en los procesos, especialmente en las arquitecturas grandes con un alto grado de división de tareas.

Debido a todas estas posibles causas de error, hay que dominar la semántica especial de los errores de la RPC, lo que vuelve la programación relativamente más compleja. Los desarrolladores deben lidiar con los aspectos relacionados con la seguridad de los sistemas distribuidos y su comunicación a través de RPC y UDP/IP o TCP/IP –seguridad de red, piratería, ataques de denegación de servicio, etc.

Nota

Algunos de los problemas derivados de la sincronicidad entre cliente y servidor en general pueden resolverse con conceptos de RPC asíncrona. Con este método, el cliente no tiene que esperar una respuesta del servidor, sino que puede continuar con el flujo del programa y realizar otras operaciones después de la llamada. En este caso, el cliente procesa la respuesta del servidor más adelante. Sin embargo, programar llamadas RPC asíncronas es muy complejo y requiere mucho tiempo.

SCP (Secure Copy)

El protocolo SCP es básicamente idéntico al protocolo RCP, pero a diferencia de este, los datos son cifrados durante su transferencia, para evitar que potenciales sniffers extraigan información útil de los paquetes de datos. Sin embargo, el protocolo mismo no provee autenticación y seguridad; sino que espera que el protocolo subyacente, SSH, lo asegure.

Protocolo SMTP

Es un estándar técnico para la transmisión de correo electrónico a través de una red. Al igual que otros protocolos de red, SMTP permite a las computadoras y servidores intercambiar datos independientemente de su hardware o software subyacente. Al igual que el uso de una forma estandarizada de escribir una dirección en un sobre permite el funcionamiento del servicio postal, el protocolo SMTP estandariza la forma en que el correo electrónico viaja del remitente al destinatario, permitiendo la entrega generalizada de correo electrónico.

SMTP es un protocolo de entrega de correo, no un protocolo de recuperación de correo. Un servicio postal entrega el correo en un buzón, pero el destinatario tiene que recuperar el correo del buzón. Del mismo modo, el protocolo SMTP entrega un correo electrónico al servidor de correo de un proveedor de correo electrónico, pero se utilizan protocolos independientes para recuperarlo del servidor de correo para que el destinatario pueda leerlo.

¿Cómo funciona el protocolo SMTP?

Todos los protocolos de red siguen un proceso predefinido para el intercambio de datos. SMTP define un proceso para el intercambio de datos entre un cliente de correo electrónico y un servidor de correo. Un cliente de correo electrónico es con lo que interactúa un usuario: la computadora o la aplicación web donde accede y envía los correos electrónicos. Un servidor de correo es un dispositivo o computadora especializada en enviar, recibir y reenviar correos electrónicos. Los usuarios no interactúan directamente con los servidores de correo.

A continuación, resumimos lo que pasa entre el cliente de correo electrónico y el servidor de correo para que comience el envío:

Apertura de la conexión SMTP: 

dado que SMTP utiliza el protocolo de control de transmisión (TCP) como protocolo de transporte, este primer paso comienza con una conexión TCP entre el cliente y el servidor. A continuación, el cliente de correo electrónico comienza el proceso de envío del correo con un comando especializado «Hello» (HELO o EHLO, descrito más adelante).

Transferencia de los datos del correo electrónico: 

el cliente envía al servidor una serie de comandos acompañados del contenido real del correo electrónico. El encabezado del correo (incluido el destino y el asunto), el cuerpo del correo y cualquier otro elemento.

Agente de transferencia de correo (MTA): 

el servidor ejecuta un programa llamado agente de transferencia de correo (MTA). El MTA comprueba el dominio de la dirección de correo electrónico del destinatario y, si difiere de la del remitente, consulta el sistema de nombres de dominio (DNS) para encontrar la dirección IP del destinatario. Es como si una oficina de correos buscara el código postal del destinatario del correo.

Cierre de la conexión: 

el cliente avisa al servidor cuando la transmisión de datos ha terminado, y el servidor cierra la conexión. En este punto, el servidor no recibirá más datos de correo electrónico del cliente a menos que este abra una nueva conexión SMTP.

Normalmente, este primer servidor de correo electrónico no es el destino final del correo. El servidor, tras recibir el correo electrónico del cliente, repite este proceso de conexión SMTP con otro servidor de correo. Ese segundo servidor hace lo mismo, hasta que finalmente el correo electrónico llega a la bandeja de entrada del destinatario en un servidor de correo controlado por el proveedor de correo electrónico del destinatario.

Compara este proceso con la forma en que un correo viaja del remitente al destinatario. Un cartero no lleva una carta directamente del remitente al destinatario. En su lugar, el cartero lleva la carta a su oficina de correos. Esta envía la carta a otra oficina de correos en otra ciudad, luego a otra, y así sucesivamente hasta que la carta llega al destinatario. Del mismo modo, los correos electrónicos viajan de servidor en servidor a través de SMTP hasta que llegan a la bandeja de entrada del destinatario.

¿Qué es un sobre SMTP?

El «sobre» SMTP es el conjunto de información que el cliente de correo electrónico envía al servidor de correo sobre la procedencia del correo y su destino. El sobre SMTP es distinto del encabezado y el cuerpo del correo electrónico y no es visible para el destinatario del mismo.

¿Qué son los comandos SMTP?

Son comandos predefinidos basados en texto que indican al cliente o al servidor qué hacer y cómo gestionar los datos adjuntos. Piensa en ellos como botones que el cliente puede pulsar para que el servidor acepte los datos correctamente.

  • HELO/EHLO: estos comandos dicen «Hello» e inician la conexión SMTP entre el cliente y el servidor. «HELO» es la versión básica de este comando. «EHLO» es para un tipo especializado de SMTP.
  • MAIL FROM: indica al servidor quién envía el correo electrónico. Si Alicia intentara enviar un correo electrónico a su amigo Bob, un cliente podría enviar «MAIL FROM: «<alicia@example.com>».
  • RCPT TO: este comando sirve para enumerar los destinatarios del correo electrónico. Un cliente puede enviar este comando varias veces si hay varios destinatarios. En el ejemplo anterior, el cliente de correo electrónico de Alicia enviaría «RCPT TO: <bob@example.com>».
  • DATA: precede al contenido del correo electrónico, como:

DATA
Fecha: Lunes, 4 abril de 2022
De: Alicia alicia@example.com
Asunto: Guiso de huevos Benedict
Para: Bob bob@example.com

Hola Bob,
Llevaré la receta del guiso de huevos Benedict el viernes.
-Alicia
.
  • RSET: este comando reinicia la conexión, eliminando toda la información transferida previamente sin cerrar la conexión SMTP. RSET se utiliza si el cliente ha enviado información incorrecta.
  • QUIT: termina la conexión.

¿Qué es un servidor SMTP?

Es un servidor de correo que puede enviar y recibir correos electrónicos utilizando el protocolo SMTP. Los clientes de correo electrónico se conectan directamente con el servidor SMTP del proveedor de correo electrónico para comenzar a enviar un correo. En un servidor SMTP se ejecutan varios programas de software diferentes:

  • Agente de envío de correo (MSA): el MSA recibe los correos del cliente de correo electrónico.
  • Agente de transferencia de correo (MTA): el MTA transfiere los correos electrónicos al siguiente servidor de la cadena de entrega. Como se ha descrito anteriormente, puede consultar el DNS para encontrar el registro DNS de intercambio de correo (MX) del dominio del destinatario si es necesario.
  • Agente de entrega de correo (MDA): el MDA recibe los correos electrónicos de los MTA y los almacena en la bandeja de entrada del destinatario.

¿Qué puerto utiliza SMTP?

En redes, un puerto es el punto virtual en el que se reciben los datos de la red. Piensa en él como el número de piso en la dirección de una carta. Los puertos ayudan a los dispositivos o computadoras a clasificar los datos de red en las aplicaciones correctas. Las medidas de seguridad de red, como los firewalls, pueden bloquear los puertos innecesarios para evitar el envío y la recepción de datos malintencionados.

En el pasado, SMTP solo utilizaba el puerto 25. Hoy en día, SMTP sigue utilizando el puerto 25, pero también puede utilizar los puertos 465, 587 y 2525.

  • El puerto 25 es el más utilizado para las conexiones entre servidores SMTP. En la actualidad, los firewalls de las redes de usuarios finales suelen bloquear este puerto, ya que los servidores de correo no deseado intentan abusar de él para enviar grandes cantidades de correo no deseado.
  • El puerto 465 fue designado en su día para el uso de SMTP con encriptación de Secure Sockets Layer (SSL). Pero SSL fue sustituido por Transport Layer Security (TLS), y los sistemas de correo electrónico modernos no utilizan este puerto. Solo aparece en los sistemas heredados (obsoletos).
  • El puerto 587 es ahora el puerto por defecto para el envío de correo electrónico. Las comunicaciones SMTP a través de este puerto utilizan la encriptación TLS.
  • El puerto 2525 no está oficialmente asociado a SMTP, pero algunos servicios de correo electrónico ofrecen el envío de SMTP a través de este puerto en caso de que los puertos anteriores estén bloqueados.

SMTP vs. IMAP y POP

El protocolo de acceso a mensajes de Internet (IMAP) y el protocolo de oficina de correo (POP) se utilizan para entregar el correo electrónico a su destino final. El cliente de correo electrónico tiene que recuperar el correo del servidor de correo final en la cadena para poder mostrar el correo al usuario. Para ello, el cliente utiliza IMAP o POP en lugar de SMTP.

Para entender la diferencia entre SMTP e IMAP/POP, piensa en la diferencia entre una tabla de madera y una cuerda. Un trozo de madera se puede utilizar para empujar un objeto hacia delante, pero no para tirar de él. Una cuerda puede tirar de un objeto, pero no puede empujarlo. Del mismo modo, SMTP «empuja» el correo electrónico a un servidor de correo, pero IMAP y POP «tiran» de él el resto del camino hasta la aplicación del usuario.

¿Qué es SMTP extendido (ESMTP)?

El protocolo simple de transferencia de correo extendido (ESMTP) es una versión del protocolo que amplía sus funciones originales, permitiendo el envío de archivos adjuntos al correo electrónico, el uso de TLS y otras funciones. Casi todos los clientes y servicios de correo electrónico utilizan ESMTP, no SMTP básico.

ESMTP tiene algunos comandos adicionales, como «EHLO«, un mensaje «hello extendido» que permite el uso de ESMTP al inicio de la conexión.

Protocolo Telnet

Telnet permite acceder a otros equipos o servicios de red. Sin embargo, este protocolo se debe activar primero en las características de Windows.

¿Qué es Telnet?

Telnet permite el control remoto de las computadoras por medio de entradas y salidas basadas en texto. Con este objetivo, se crea una conexión cliente-servidor a través del protocolo TCP y del puerto TCP 23, donde el dispositivo controlado ejerce de servidor y espera a los comandos pertinentes.

El cliente Telnet, la instancia que tiene el control en este procedimiento y que es conocida como el escritorio remoto o Rlogin (Remote Login), puede instalarse tanto en un dispositivo especial como en un PC habitual. En función del terminal en cuestión, se establecen diferencias en cuanto a la presentación de la información de los archivos.

El protocolo de la familia de protocolos de Internet TCP/IP también puede emplearse para controlar aplicaciones que no disponen de ninguna interfaz gráfica.

El desarrollo de Telnet (Teletype Network) finalizó en 1969 en el marco de los trabajos realizados durante nueve meses en la ARPANET, pero no fue hasta 1973 cuando el protocolo, que permite acceder a equipos remotos, obtuvo su definición definitiva en las especificaciones RFC 495 (Request for Comments). Como estándar oficial de la Internet Engineering Task Force (IETF), se implementó para la mayoría de plataformas. El protocolo central y los procedimientos básicos, así como las extensiones, están descritas en los estándares actuales RFC 854 y RFC 855.

¿Dónde y cómo se puede utilizar Telnet?

El protocolo Telnet es necesario para establecer una conexión a otro equipo o a un componente de la red. Todo tiene lugar a través de la línea de comandos basada en texto. En el pasado resultaba especialmente interesante para compartir los servicios de los mainframes. Sin embargo, Telnet se sigue utilizando para abrir aplicaciones, gestionar redes y compartir bases de datos, aunque cada vez con menos frecuencia.

Acceso a bases de datos

Durante años, Telnet desempeñó un papel decisivo para las instituciones que trabajan con grandes bases de datos: en las bibliotecas, el protocolo fue un elemento fundamental en los catálogos online públicos de los años 80, más conocidos por la abreviatura OPAC (Online Public Access Catalogue). Al principio, se podía acceder a estas bases de datos de publicaciones digitales a través de terminales en las redes locales de las bibliotecas. A medida que Internet fue ganando éxito, nació la posibilidad de acceso a través de interfaces web locales, cuya comunicación se basa, en muchos casos, en el protocolo Telnet.

Interacción con programas en servidores de aplicaciones

Otro ámbito de aplicación típico de los clientes Telnet era el acceso a programas basados en texto en un servidor de aplicaciones. De este modo, aún hoy en día se puede acceder al Free Internet Chess Server a través de conexiones Telnet. Mediante la incorporación de texto se pueden seleccionar los oponentes disponibles y realizar los movimientos deseados. A pesar de todo, las interfaces gráficas como Jin Applet o Javaboard, que permiten llevar a cabo las jugadas por medio del mouse, han eliminado las entradas de información basadas en texto.

Administración de redes y servidores

Telnet es considerado como un protocolo práctico para los administradores de las redes y los servidores. La posibilidad de la gestión remota de dispositivos en la red está especialmente indicada para las tareas de administración, debido a que el protocolo es apto para casi todo tipo de dispositivos. Asimismo, también puede utilizarse para comprobar la disponibilidad de determinados puertos o para diagnosticar errores en servidores de correo electrónico (SMTP, Port 25), para enviar correos electrónicos directamente desde el servidor. Telnet es también un medio eficaz para configurar servidores, por ejemplo, servidores web. En este sentido, los cambios en la estructura de los directorios, en los derechos de los archivos o en las contraseñas se llevan a cabo de un modo rápido y sencillo.

Ventajas e inconvenientes del protocolo Telnet

Las conexiones Telnet son conexiones compatibles con los estándares de TCP, por lo que se puede emplear el cliente para utilizar o examinar otros servicios que recurren a TCP como protocolo de transporte. De esta manera y con una solicitud simple se puede comprobar, por ejemplo, la funcionalidad de un servidor HTTP o el estado de un servidor de correo electrónico.

El protocolo de conexión se puede utilizar independientemente de la plataforma, puesto que solo son algunos los dispositivos que no soportan el estándar oficial de IETF. El hecho de que un equipo de cliente o de servidor se base en el mismo sistema operativo no tiene ninguna relevancia. Otra de las ventajas de Telnet es que este permite el acceso ilimitado a los recursos del sistema controlado siempre y cuando se cuente con los permisos necesarios para ello.

Este último punto plantea, en combinación con otros inconvenientes, un riesgo elevado, y es que ni el establecimiento de la conexión ni la transmisión de los datos se cifran durante la utilización del protocolo Telnet. De este modo, la información que se envía puede ser accesible por parte de terceros en forma de texto sin cifrar, al igual que los datos de registro para el acceso remoto. Como consecuencia, los criminales lo tienen fácil a la hora de acceder a los sistemas. Una alternativa segura a Telnet es el protocolo de cifrado SSH.

La siguiente tabla muestra las ventajas e inconvenientes de Telnet:

VentajasInconvenientes
✔  El cliente Telnet es muy versátil✘ Intercambio de datos no cifrado
✔ Apto para todo tipo de plataformas✘ El acceso pleno a los sistemas les ofrece un amplio margen de maniobra a los hackers
✔ Acceso ilimitado a los recursos✘ Telnet no permite el acceso a todos los servidores

¿Cómo puedes activar y utilizar Telnet en tu sistema?

Desde el lanzamiento de Windows Vista, en todos los sistemas operativos de Microsoft hay que activar primero el cliente. A continuación, mostramos paso a paso algunos de los aspectos que hay que tener en cuenta para activar Telnet en Windows 10 y Windows 11.

Cómo activar Telnet en Windows 10

Windows 10 tiene el programa remoto por defecto en su repertorio, aunque desactivado. La activación se lleva a cabo a través de las características de Windows y, en cuanto al funcionamiento, solo es necesario abrir el símbolo del sistema.

  • El primer paso consiste en abrir el cuadro donde aparecen los programas instalados y sus características. Para ello, es necesario abrir el panel de control haciendo clic en el menú de inicio o recurrir a la combinación de teclas: [tecla de Windows] + [X]. Tras ello, hay que seleccionar “Aplicaciones y características”.
  • Haz clic en “Características opcionales” y luego en “Más características de Windows” para acceder a la configuración de las características de Windows.
  • Para activar Telnet, marca la casilla correspondiente y confirma dicha selección haciendo clic en “OK” (Aceptar).
  • Tras un corto período de carga, recibirás una notificación indicándote que Telnet se ha activado con éxito y que ya puede utilizarse.
  • A continuación, abre el símbolo del sistema por medio del campo de búsqueda de Windows.
  • Por último, introduce en la línea de comandos “telnet” para iniciar el servicio.

Cómo activar Telnet en Windows 11

Windows 11 también permite activar Telnet de forma sencilla:

  • Abre la configuración de Windows, ya sea a través del menú principal o por medio del campo de búsqueda.
  • Accede a la pestaña “Aplicaciones” y selecciona la opción “Funciones opcionales”.
  • A continuación, busca la opción “Más funciones de Windows” en la parte inferior del menú.
  • En la ventana que acaba de aparecer, marca la casilla en la opción “Cliente Telnet” y confirma dicha selección.
  • Por último, abre el símbolo del sistema e inicia el protocolo con el comando “telnet”

Conclusión

En lo que respecta a las conexiones remotas, el protocolo Telnet fue, durante un largo período de tiempo, una herramienta muy valiosa que, debido tanto a su practicidad como a su sencillez, se ha estado utilizando hasta ahora. Sin embargo, las exigencias con respecto al nivel de seguridad de los datos que se gestionan y transmiten han hecho que el protocolo se hiciera inservible o ya no fuera compatible.

En la actualidad, las conexiones remotas en Internet funcionan, gracias a su autentificación Public Key, en base a protocolos SSH (Secure Shell) seguros y cifrados. Telnet se convierte también en una solución adecuada para aquellos dispositivos con sistemas operativos limitados que no permiten la gestión de servidores SSH. Un software para clientes que se utiliza a menudo y que simplifica el acceso remoto basándose en ambos protocoles es PuTTy.

Comparación con el modelo TCP/IP

El modelo TCP/IP no se ocupa de los detalles del modelo OSI de la semántica del protocolo de aplicación o transporte y, por lo tanto, no considera una capa de sesión. La gestión de la sesión de OSI en relación con los protocolos de transporte típicos (TCP, SCTP) está contenida en los protocolos de la capa de transporte, o de lo contrario se considera el ámbito de los protocolos de la capa de aplicación. Las capas de TCP/IP son descripciones de ámbitos operativos (aplicación, host-a-host, red, enlace) y no prescripciones detalladas de procedimientos operativos o semántica de datos.

Conclusión:

En este fascinante viaje a través del «Curso Gratis de Redes – Capítulo 14», hemos desglosado los cimientos de la Capa 5 de Sesión. Desde el establecimiento hasta la terminación de sesiones, entendemos ahora la trascendencia de este componente para una red segura y eficiente. Al comprender cómo las sesiones contribuyen a la integridad de nuestras comunicaciones digitales, nos equipamos con las herramientas necesarias para salvaguardar la esencia misma de la ciberseguridad.

Que este conocimiento inspire la implementación de prácticas robustas, y que cada conexión sea una afirmación de seguridad en el vasto y dinámico mundo digital. ¡Sigamos fortaleciendo nuestras defensas en el próximo capítulo de este apasionante curso!

Lee Nuestra Guía Completa:

No te detengas, sigue avanzando….

Aquí tienes un propósito para este 2024 que debes considerar seriamente: si has querido mejorar tus habilidades en redes, hacking y seguridad cibernética pero nunca lo has logrado, ahora es definitivamente el momento de dar el siguiente paso. Nuestros cursos. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble! Aprende Redes y Hacking y avanza en tu carrera.

CCNA 200-301: Introducción a las Redes

Cisco es una empresa que existe desde 1984. Su reconocimiento y popularidad en las empresas es conocida por su excelencia en el producto y servicio.

A raíz de tener tantos años en el mercado, muchas empresas hoy tienen sus redes conformadas por Cisco, lo cual hace que necesiten de personas con conocimientos en sus tecnologías para que puedan administrar sus redes.

Por esa razón, saber de redes y entender como funciona la tecnología Cisco, es clave. Y no solo eso, además de enseñarte todo lo que debes de conocer sobre esta marca y sus redes, te prepararemos para que si quieres, puedas certificarte en Cisco.

Te enseñaremos:

  • Una base sólida en los principales temas que se cubren a lo largo de la certificación
  • Entender cómo funciona internamente una red en lo que a protocolos se refiere
  • un primer acercamiento a los fundamentos de la seguridad de la red
  • posibles amenazas, ataques, mitigación de los mismos y automatización en redes con cisco
  • armar su primera red funcional dentro del simulador, sería una red pequeña, pero con eso ya quedarían las bases sentadas para seguir en CCNA 2

Contaras con nuestra supervisión, experiencia y respuesta a todas tus preguntas que tengas sobre el contenido.

Así también sobre las actualizaciones que hagamos sobre el curso, el cual será tuyo de por vida y recibirás dichas actualizaciones sin tener que volver a pagar.

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 500.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma.

Y junto a mi compañero Andrés Muro, formado en CCNA y CyberOps, hemos creado esta formación profesional para que te puedas preparar para rendir una de las certificaciones más demandadas del mercado.

Empieza a aprender ya mismo!

Lo que aprenderás

  • Planear, crear y desplegar una red desde 0
  • Entender cómo solucionar los distintos problemas que se puedan llegar a presentar
  • Comprender las posibles amenazas que podrían comprometer, tanto a un único host, como a toda la red
  • Crear redes a medida, según los requisitos del cliente
  • Tendrán una base sólida en redes, tanto para certificarse como CCNA, como para introducirse en otras áreas, como lo es la ciberseguridad

Introducción de Camino a la Certificación del CCA, donde vas a tener tu primer acercamiento al mundo de las redes.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes serguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/como-iniciarse-en-ciberseguridad-y-hacking-en-2024/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Cómo Iniciarse en Hacking y Ciberseguridad en 2024

Continúa leyendo: