Bienvenido al Curso Gratis de Redes – Capitulo 15 – Capa 6 de Presentación. La capa de presentación es la sexta capa del modelo OSI y se encarga de traducir los diferentes formatos de archivo, lo cual permite la comunicación entre dos sistemas. Otras tareas del presentation layer son la compresión y el cifrado de datos.

Table of Contents

¿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 presentación: todo acerca de la sexta capa del modelo OSI

Esta capa es principalmente responsable de preparar los datos para que los pueda usar la capa de aplicación; en otras palabras, la capa 6 hace que los datos se preparen para su consumo por las aplicaciones. La capa de presentación es responsable de la traducción, el cifrado y la compresión de los datos.

Dos dispositivos de comunicación que se conectan entre sí podrían estar usando distintos métodos de codificación, por lo que la capa 6 es la responsable de traducir los datos entrantes en una sintaxis que la capa de aplicación del dispositivo receptor pueda comprender.

Si los dispositivos se comunican a través de una conexión cifrada, la capa 6 es responsable de añadir el cifrado en el extremo del emisor, así como de decodificar el cifrado en el extremo del receptor, para poder presentar a la capa de aplicación datos descifrados y legibles.

Después, la capa de presentación es también la encargada de comprimir los datos que recibe de la capa de aplicación antes de ser enviados a la capa 5. Esto ayuda a mejorar la velocidad y la eficiencia de la comunicación mediante la minimización de la cantidad de datos que serán transferidos.

El nivel de presentación o capa de presentación

se encarga de la representación de la información, de manera que aunque distintos equipos puedan tener diferentes representaciones internas de caracteres (ASCII, Unicode, EBCDIC), números (little-endian tipo Intel, big-endian tipo Motorola), sonido o imágenes, los datos lleguen de manera reconocible.

Esta capa es la primera en trabajar más el contenido de la comunicación que cómo se establece la misma. En ella se tratan aspectos tales como la semántica y la sintaxis de los datos transmitidos, ya que distintas computadoras pueden tener diferentes formas de manejarlas.​

Por lo tanto, podemos resumir definiendo a esta capa como la encargada de manejar las estructuras de datos abstractas y realizar las conversiones de representación de datos necesarias para la correcta interpretación de los mismos.

Esta capa también permite cifrar los datos y comprimirlos. Actúa como traductor.

La Capa 6, o capa de presentación, cumple tres funciones principales.

Estas funciones son las siguientes:

  • Formateo de datos: Significa operar como traductor entre dos tipos diferentes de códigos, cuando dos sistemas diferentes emplean distintos códigos y es indispensable que se comuniquen y su representación en pantalla sea la misma.
  • Cifrado de datos: El cifrado de datos protege la información durante la transmisión. Se utilizan claves (llaves) de cifrado para cifrar los datos en el lugar de origen y luego descifrarlos en el lugar destino.
  • Compresión de datos:La compresión de datos funciona mediante el uso de algoritmos para reducir el tamaño de los archivos. El algoritmo busca patrones de bits repetidos en el archivo y entonces los reemplaza con un token. Un token es un patron de bit más corto que representa el patrón largo.

La información que transmiten los datos puede ser de 3 tipos:

  • Redundante: Información repetitiva o predecible.
  • Irrelevante: Información que no se aprecia y cuya eliminación por tanto no afecta al contenido del mensaje.
  • Básica: Es relevante y debe ser transmitida para que se pueda reconstruir la señal.

Para comprender cómo funciona el formateo de datos, tenemos dos sistemas diferentes. El primer sistema utiliza el Código ampliado de caracteres decimal codificados en binario (EBCDIC) para representar los caracteres en la pantalla. El segundo sistema utiliza el Código americano normalizado para el intercambio de la información (ASCII) para la misma función. La Capa 6 opera como traductor entre estos dos tipos diferentes de códigos.

El cifrado de los datos protege la información durante la transmisión. Las transacciones financieras utilizan el cifrado para proteger la información confidencial que se envía a través de Internet. Se utiliza una clave de cifrado para cifrar los datos en el lugar origen y luego descifrarlos en el lugar destino.

Existen dos tipos de cifrado:

  • Cifrado simétrico: Consiste en el uso una única clave para cifrar y descifrar, esta es conocida como clave privada y tiene como característica principal que es robusta.
  • Cifrado asimétrico: Consiste en el uso de dos claves, una se usa para cifrar (clave pública) y otra para descifrar (clave privada).

La compresión funciona mediante el uso de algoritmos para reducir el tamaño de los archivos. El algoritmo busca patrones de bits repetidos en el archivo y entonces los reemplaza con un token. Un token es un patrón de bit mucho más corto que representa el patrón largo. Una analogía sencilla puede ser el nombre Rafa (el apodo), el token, para referirse a alguien cuyo nombre completo sea Rafael.

¿Qué funciones desempeña la capa de presentación del modelo OSI?

La capa de presentación colabora estrechamente con la capa de aplicación a la que precede. Su principal tarea es presentar los datos de forma que puedan ser entendidos e interpretados por ambas partes, es decir, el sistema emisor y el sistema receptor. Para ello, la capa de aplicación establece con anterioridad cómo deben estructurarse los datos y qué tipos y valores se admiten.

Partiendo de esta información se crea automáticamente un conjunto de comandos o una sintaxis de transferencia abstracta. La capa de presentación tiene que transferir los datos de manera que sean legibles, pero sin modificar o afectar a la información que contienen.

La segunda función de la capa de presentación es el cifrado y el descifrado de los datos, que en la mayoría de los casos se realiza a nivel de la capa de presentación. Para ello, la información se cifra primero por parte del remitente y posteriormente se envía al destinatario de forma cifrada. Las claves y el método de encriptado informático se intercambian a través de la capa de presentación, la cual permite al destinatario descifrar los datos que parecen ilegibles y pasarlos a un formato que pueda ser leído y analizado.

La tercera función de la capa de presentación del modelo OSI es la serialización de objetos, que se gestiona a través del presentation layer. Para ello, los objetos de datos de las aplicaciones complejas se traducen de forma que sean más fáciles de transportar y que se puedan almacenar más fácilmente en el receptor, facilitando la transferencia de datos incluso con archivos complejos y permitiendo que la parte receptora reconstruya el objeto rápidamente y sin errores. El objeto se convierte nuevamente a un formato que puede ser ejecutado por la aplicación, lo cual evita tener que implementar una función de compresión en la propia aplicación.

¿Qué formatos utiliza la capa de presentación?

Los datos que se muestran durante una transferencia aparecen con una sintaxis de transferencia. La sintaxis se divide en dos: la sintaxis abstracta de transferencia (mencionada anteriormente), en la que se describen los valores transferidos, y la sintaxis concreta, que describe la codificación de los valores.

El receptor no puede procesar y comprender los datos que ha recibido hasta que ha recibido toda la información de la capa de presentación. El lenguaje de descripción más común es el Abstract Syntax Notation One (ASN.1), promovido por la organización ISO. La Organización Internacional de Normalización (ISO, International Organization for Standarization) es una organización que establece estándares internacionales.

La capa de presentación reconoce muchos formatos diferentes, cada uno mejor o peor en función de su destinatario. Los formatos para textos más utilizados son el código ASCII (American Standard Code for Information Interchance) y EBCDIC (Extended Binary-Coded Decimal Interchance Code). Los formatos de imagen más utilizados son GIF, JPEG y TIFF, mientras los formatos de vídeo más utilizados son MIDI, MPEG y QuickTime.

¿Cuáles son los protocolos de la capa de presentación del modelo OSI?

Son muchos los protocolos y técnicas de transmisión y conmutación de la capa de presentación. Entre ellos, se encuentran los siguientes:

  • Telnet
  • FTP
  • HTTP
  • SMTP
  • NNTP
  • NetBIOS

Omisión del presentation layer

Las funciones que realiza la capa de presentación no son necesarias para todas las comunicaciones entre dos sistemas cualesquiera. Si ambos sistemas utilizan el mismo formato, se prescinde de la traducción del formato. El cifrado y la compresión no son necesarios en todas las interacciones y pueden llevarse a cabo en otras capas del modelo OSI. Puede suceder que no se utilice la capa de presentación y que, en su lugar, la capa de aplicación (capa 7) se comunique directamente con la capa de sesión (capa 5).

Protocolo HTTP

HTTP, de sus siglas en inglés: «Hypertext Transfer Protocol», es el nombre de un protocolo el cual nos permite realizar una petición de datos y recursos, como pueden ser documentos HTML. Es la base de cualquier intercambio de datos en la Web, y un protocolo de estructura cliente-servidor, esto quiere decir que una petición de datos es iniciada por el elemento que recibirá los datos (el cliente), normalmente un navegador Web. Así, una página web completa resulta de la unión de distintos sub-documentos recibidos, como, por ejemplo: un documento que especifique el estilo de maquetación de la página web (CSS), el texto, las imágenes, vídeos, scripts, etc…

A Web document is the composition of different resources

Clientes y servidores se comunican intercambiando mensajes individuales (en contraposición a las comunicaciones que utilizan flujos continuos de datos). Los mensajes que envía el cliente, normalmente un navegador Web, se llaman peticiones, y los mensajes enviados por el servidor se llaman respuestas.

HTTP as an application layer protocol, on top of TCP (transport layer) and IP (network layer) and below the presentation layer.Diseñado a principios de la década de 1990, HTTP es un protocolo ampliable, que ha ido evolucionando con el tiempo. Es lo que se conoce como un protocolo de la capa de aplicación, y se transmite sobre el protocolo TCP, o el protocolo encriptado TLS (en-US), aunque teóricamente podría usarse cualquier otro protocolo fiable. Gracias a que es un protocolo capaz de ampliarse, se usa no solo para transmitir documentos de hipertexto (HTML), si no que además, se usa para transmitir imágenes o vídeos, o enviar datos o contenido a los servidores, como en el caso de los formularios de datos. HTTP puede incluso ser utilizado para transmitir partes de documentos, y actualizar páginas Web en el acto.

Arquitectura de los sistemas basados en HTTP

HTTP es un protocolo basado en el principio de cliente-servidor: las peticiones son enviadas por una entidad: el agente del usuario (o un proxy a petición de uno). La mayoría de las veces el agente del usuario (cliente) es un navegador Web, pero podría ser cualquier otro programa, como por ejemplo un programa-robot, que explore la Web, para adquirir datos de su estructura y contenido para uso de un buscador de Internet.

Cada petición individual se envía a un servidor, el cuál la gestiona y responde. Entre cada petición y respuesta, hay varios intermediarios, normalmente denominados proxies (en-US), los cuales realizan distintas funciones, como: gateways o caches.

Client server chain

En realidad, hay más elementos intermedios, entre un navegador y el servidor que gestiona su petición: hay otros tipos de dispositivos: como routersmodems … Es gracias a la arquitectura en capas de la Web, que estos intermediarios, son transparentes al navegador y al servidor, ya que HTTP se apoya en los protocolos de red y transporte. HTTP es un protocolo de aplicación, y por tanto se apoya sobre los anteriores. Aunque para diagnosticar problemas en redes de comunicación, las capas inferiores son irrelevantes para la definición del protocolo HTTP .

Cliente: el agente del usuario

El agente del usuario, es cualquier herramienta que actué en representación del usuario. Esta función es realizada en la mayor parte de los casos por un navegador Web. Hay excepciones, como el caso de programas específicamente usados por desarrolladores para desarrollar y depurar sus aplicaciones.

El navegador es siempre el que inicia una comunicación (petición), y el servidor nunca la comienza (hay algunos mecanismos que permiten esto, pero no son muy habituales).

Para poder mostrar una página Web, el navegador envía una petición de documento HTML al servidor. Entonces procesa este documento, y envía más peticiones para solicitar scripts, hojas de estilo (CSS), y otros datos que necesite (normalmente vídeos y/o imágenes). El navegador, une todos estos documentos y datos, y compone el resultado final: la página Web. Los scripts, los ejecuta también el navegador, y también pueden generar más peticiones de datos en el tiempo, y el navegador, gestionará y actualizará la página Web en consecuencia.

Una página Web, es un documento de hipertexto (HTTP), luego habrá partes del texto en la página que puedan ser enlaces (links) que pueden ser activados (normalmente al hacer click sobre ellos) para hacer una petición de una nueva página Web, permitiendo así dirigir su agente de usuario y navegar por la Web. El navegador, traduce esas direcciones en peticiones de HTTP, e interpretara y procesará las respuestas HTTP, para presentar al usuario la página Web que desea.

El servidor Web

Al otro lado del canal de comunicación, está el servidor, el cual «sirve» los datos que ha pedido el cliente. Un servidor conceptualmente es una unica entidad, aunque puede estar formado por varios elementos, que se reparten la carga de peticiones, (load balancing), u otros programas, que gestionan otros computadores (como cache, bases de datos, servidores de correo electrónico, …), y que generan parte o todo el documento que ha sido pedido.

Un servidor no tiene que ser necesariamente un único equipo físico, aunque si que varios servidores pueden estar funcionando en un único computador. En el estándar HTTP/1.1 y Host , pueden incluso compartir la misma dirección de IP.

Proxies

Entre el cliente y el servidor, además existen distintos dispositivos que gestionan los mensajes HTTP. Dada la arquitectura en capas de la Web, la mayoria de estos dispositivos solamente gestionan estos mensajes en los niveles de protocolo inferiores: capa de transporte, capa de red o capa física, siendo así transparentes para la capa de comunicaciones de aplicación del HTTP, además esto aumenta el rendimiento de la comunicación. Aquellos dispositivos, que sí operan procesando la capa de aplicación son conocidos como proxies. Estos pueden ser transparentes, o no (modificando las peticiones que pasan por ellos), y realizan varias funciones:

  • caching (la caché puede ser pública o privada, como la caché de un navegador)
  • filtrado (como un anti-virus, control parental, …)
  • balanceo de carga de peticiones (para permitir a varios servidores responder a la carga total de peticiones que reciben)
  • autentificación (para el control al acceso de recursos y datos)
  • registro de eventos (para tener un histórico de los eventos que se producen)

Características clave del protocolo HTTP

HTTP es sencillo

Incluso con el incremento de complejidad, que se produjo en el desarrollo de la versión del protocolo HTTP/2, en la que se encapsularon los mensajes, HTTP esta pensado y desarrollado para ser leído y fácilmente interpretado por las personas, haciendo de esta manera más facil la depuración de errores, y reduciendo la curva de aprendizaje para las personan que empieza a trabajar con él.

HTTP es extensible

Presentadas en la versión HTTP/1.0, las cabeceras de HTTP, han hecho que este protocolo sea fácil de ampliar y de experimentar con él. Funcionalidades nuevas pueden desarrollarse, sin más que un cliente y su servidor, comprendan la misma semántica sobre las cabeceras de HTTP.

HTTP es un protocolo con sesiones, pero sin estados

HTTP es un protocolo sin estado, es decir: no guarda ningún dato entre dos peticiones en la mísma sesión. Esto crea problemáticas, en caso de que los usuarios requieran interactuar con determinadas páginas Web de forma ordenada y coherente, por ejemplo, para el uso de «cestas de la compra» en páginas que utilizan en comercio electrónico. Pero, mientras HTTP ciertamente es un protocolo sin estado, el uso de HTTP cookies, si permite guardar datos con respecto a la sesión de comunicación. Usando la capacidad de ampliación del protocolo HTTP, las cookies permiten crear un contexto común para cada sesión de comunicación.

HTTP y conexiones

Una conexión se gestiona al nivel de la capa de trasporte, y por tanto queda fuera del alcance del protocolo HTTP. Aún con este factor, HTTP no necesita que el protocolo que lo sustenta mantenga una conexión continua entre los participantes en la comunicación, solamente necesita que sea un protocolo fiable o que no pierda mensajes (como mínimo, en todo caso, un protocolo que sea capaz de detectar que se ha pedido un mensaje y reporte un error). De los dos protocolos más comunes en Internet, TCP es fiable, mientras que UDP, no lo es. Por lo tanto HTTP, se apoya en el uso del protocolo TCP, que está orientado a conexión, aunque una conexión continua no es necesaria siempre.

En la versión del protocolo HTTP/1.0, habría una conexión TCP por cada petición/respuesta intercambiada, presentando esto dos grandes inconvenientes: abrir y crear una conexión requiere varias rondas de mensajes y por lo tanto resultaba lento. Esto sería más eficiente si se mandaran varios mensajes.

Para atenuar estos inconvenientes, la versión del protocolo HTTP/1.1 presentó el ‘pipelining’ y las conexiones persistentes: el protocolo TCP que lo transmitía en la capa inferior se podía controlar parcialmente, mediante la cabecera ‘Connection’. La versión del protocolo HTTP/2 fue más allá y usa multiplexación de mensajes sobre un única conexión, siendo así una comunicación más eficiente.

Todavía hoy se sigue investigando y desarrollando para conseguir un protocolo de transporte más conveniente para el HTTP. Por ejemplo, Google está experimentado con QUIC, que se apoya en el protocolo UDP y presenta mejoras en la fiabilidad y eficiencia de la comunicación.

¿Qué se puede controlar con HTTP?

La característica del protocolo HTTP de ser ampliable, ha permitido que durante su desarrollo se hayan implementado más funciones de control y funcionalidad sobre la Web: caché o métodos de identificación o autentificación fueron temas que se abordaron pronto en su historia. Al contrario la relajación de la restricción de origen solo se ha abordado en los años de la década de 2010. Se presenta a continuación una lista con los elementos que se pueden controlar con el protocolo HTTP:

Elementos que se pueden controlar con el protocolo HTTP

  • Cache El como se almacenan los documentos en la caché, puede ser especificado por HTTP. El servidor puede indicar a los proxies y clientes, que quiere almacenar y durante cuanto tiempo. Aunque el cliente, también puede indicar a los proxies de caché intermedios que ignoren el documento almacenado.
  • Flexibilidad del requisito de origen Para prevenir invasiones de la privacidad de los usuarios, los navegadores Web, solamente permiten a páginas del mismo origen, compartir la información o datos. Esto es una complicación para el servidor, asi que mediante cabeceras HTTP, se puede flexibilizar o relajar esta división entre cliente y servidor
  • Autentificación Hay páginas Web, que pueden estar protegidas, de manera que solo los usuarios autorizados puedan acceder. HTTP provee de servicios básicos de autentificación, por ejemplo mediante el uso de cabeceras como: WWW-Authenticate, o estableciendo una sesión especifica mediante el uso de HTTP cookies.
  • Proxies y tunneling (en-US) Servidores y/o clientes pueden estar en intranets y esconder así su verdadera dirección IP a otros. Las peticiones HTTP utilizan los proxies para acceder a ellos. Pero no todos los proxies son HTTP proxies. El protocolo SOCKS, por ejemplo, opera a un nivel más bajo. Otros protocolos, como el FTP, pueden ser servidos mediante estos proxies.
  • Sesiones El uso de HTTP cookies permite relacionar peticiones con el estado del servidor. Esto define las sesiones, a pesar de que por definición el protocolo HTTP es un protocolo sin estado. Esto es muy útil no sólo para aplicaciones de comercio electrónico, sino también para cualquier sitio que permita configuración al usuario.

Flujo de HTTP

Cuando el cliente quiere comunicarse con el servidor, tanto si es directamente con él, o a través de un proxy intermedio, realiza los siguientes pasos:

  1. Abre una conexión TCP: la conexión TCP se usará para hacer una petición, o varias, y recibir la respuesta. El cliente pude abrir una conexión nueva, reusar una existente, o abrir varias a la vez hacia el servidor.
  2. Hacer una petición HTTP: Los mensajes HTTP (previos a HTTP/2) son legibles en texto plano. A partir de la versión del protocolo HTTP/2, los mensajes se encapsulan en franjas, haciendo que no sean directamente interpretables, aunque el principio de operación es el mismo.HTMLCopy to ClipboardGET / HTTP/1.1 Host: developer.mozilla.org Accept-Language: fr
  3. Leer la respuesta enviada por el servidor:HTMLCopy to ClipboardHTTP/1.1 200 OK Date: Sat, 09 Oct 2010 14:28:02 GMT Server: Apache Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT ETag: "51142bc1-7449-479b075b2891b" Accept-Ranges: bytes Content-Length: 29769 Content-Type: text/html <!DOCTYPE html... (here comes the 29769 bytes of the requested web page)
  4. Cierre o reuso de la conexión para futuras peticiones.

Si está activado el HTTP pipelining, varias peticiones pueden enviarse sin tener que esperar que la primera respuesta haya sido satisfecha. Este procedimiento es difícil de implementar en las redes de computadores actuales, donde se mezclan software antiguos y modernos. Así que el HTTP pipelining ha sido substituido en HTTP/2 por el multiplexado de varias peticiones en una sola trama

Mensajes HTTP

En las versiones del protocolo HTTP/1.1 y anteriores los mensajes eran de formato texto y eran totalmente comprensibles directamente por una persona. En HTTP/2, los mensajes estan estructurados en un nuevo formato binario y las tramas permiten la compresión de las cabeceras y su multiplexación. Así pues, incluso si solamente parte del mensaje original en HTTP se envía en este formato, la sematica de cada mensaje es la misma y el cliente puede formar el mensaje original en HTTP/1.1. Luego, es posible interpretar los mensajes HTTP/2 en el formato de HTTP/1.1.

Existen dos tipos de mensajes HTTP: peticiones y respuestas, cada uno sigue su propio formato.

Peticiones

Un ejemplo de petición HTTP:

A basic HTTP request

Una petición de HTTP, está formado por los siguientes campos:

  • Un método HTTP, normalmente pueden ser un verbo, como: GETPOST o un nombre como: OPTIONS (en-US) o HEAD (en-US), que defina la operación que el cliente quiera realizar. El objetivo de un cliente, suele ser una petición de recursos, usando GET, o presentar un valor de un formulario HTML (en-US), usando POST, aunque en otras ocasiones puede hacer otros tipos de peticiones.
  • La dirección del recurso pedido; la URL del recurso, sin los elementos obvios por el contexto, como pueden ser: sin el protocolo (http://), el dominio (aquí developer.mozilla.org), o el puerto TCP (aquí el 80).
  • La versión del protocolo HTTP.
  • Cabeceras HTTP opcionales, que pueden aportar información adicional a los servidores.
  • O un cuerpo de mensaje, en algún método, como puede ser POST, en el cual envía la información para el servidor.

Respuestas

Un ejemplo de repuesta:

Las respuestas están formadas por los siguientes campos:

  • La versión del protocolo HTTP que están usando.
  • Un código de estado, indicando si la petición ha sido exitosa, o no, y debido a que.
  • Un mensaje de estado, una breve descripción del código de estado.
  • Cabeceras HTTP, como las de las peticiones.
  • Opcionalmente, el recurso que se ha pedido.

Conclusión

El protocolo HTTP es un protocolo ampliable y fácil de usar. Su estructura cliente-servidor, junto con la capacidad para usar cabeceras, permite a este protocolo evolucionar con las nuevas y futuras aplicaciones en Internet.

Aunque la versión del protocolo HTTP/2 añade algo de complejidad, al utilizar un formato en binario, esto aumenta su rendimiento, y la estructura y semantica de los mensajes es la misma desde la versión HTTP/1.0. El flujo de comunicaciones en una sesión es sencillo y puede ser fácilmente estudiado e investigado con un simple monitor de mensajes HTTP.

Protocolo FTP

Ftp

Las siglas de FTP significan File Transfer Protocol, que se traduce como Protocolo de Transferencia de Archivos. Como su nombre indica, se trata de un protocolo que permite transferir archivos directamente de un dispositivo a otro. Actualmente, es un protocolo que poco a poco va abandonándose, pero ha estado vigente más de 50 años.

El protocolo FTP se empezó a utilizar en abril de 1971, y terminó de definir su estructura en el 73, aunque durante las décadas de los 70 y los 80 del siglo pasado fue perfeccionándose. Para que te hagas una idea, este protocolo nació antes de que existieran Internet o el correo electrónico, ya que fue uno de los componentes básicos de ARPANET, que fue esa red primigenia que luego dio lugar a Internet.

Este protocolo funciona entre computadoras que estén conectados a una red TCP, que significa Transmission Control Protocol o Protocolo de control de transmisión. Este protocolo TCP da soporte a muchas tecnologías, entre ellas a Internet. Para que te hagas a la idea, la familia de protocolos que forman Internet se llama TCP/IP.

Pero vamos, dejándonos de palabrerías y nombres extraños, simplemente decirte que el protocolo FTP funciona para compartir archivos entre equipos que estén conectados a Internet, y los archivos se comparten de forma directa y sin ningún intermediario.

El protocolo FTP tal cual es un protocolo inseguro

Ya que su información no viaja cifrada. Sin embargo, en 2001 esto se solucionó con el protocolo FTPS, que le añade una capa SSH para hacerlo más seguro y privado.

El FTP es un protocolo muy útil para el envío de archivos, ya que te permite enviarlos de un equipo a otro a gran velocidad de transferencia, y no hay ningún tipo de límites de tamaño como puede pasar en la descarga directa. También suele utilizarse en contextos como la creación de webs, pudiendo enviar pro FTP los ficheros de una web al servidor donde están.

Cómo funciona el FTP

Cliente Servidor

El funcionamiento de este protocolo es bastante sencillo. Simplemente, un dispositivo A se conecta directamente a un dispositivo B, y podrá ver los archivos que tiene disponible para compartir. Al verlos, simplemente podrá descargarlos directamente en el equipo que se ha conectado al otro.

Las conexiones FTP tienen una relación de cliente y servidor

Esto quiere decir que un dispositivo tiene que estar configurado como servidor FTP, ese en el que se aloja el contenido, y luego te conectas a él como un cliente. En los dispositivos, los datos del protocolo FTP se envían a través de los puertos 20 y 21, que son los que están asignados en todos los equipos para llevar a cabo sus transferencias de archivos.

Aunque eso de tener un dispositivo como cliente y otro como servidor puede parecer complicado si no entiendes de estas cosas, afortunadamente hoy en día todo esto es sencillo. Sólo vas a tener que utilizar un programa que se encargue de todo, que son esos a los que se les llama clientes FTP. Muchos son gratis, y como usuarios sólo tendrás que establecer la dirección del servidor a la que te quieres conectar y listo. Además, suelen tener también versiones para crear el servidor.

FileZilla

Conectarte

Posiblemente, el cliente FTP más popular entre la mayoría de usuarios sea FileZilla de Mozilla, los mismos creadores que Firefox. La mayoría de clientes son parecidos, y para conectarte necesitas tener la dirección IP y el puerto del servidor (1), saber el modo de conexión (2), y el usuario y contraseña (3) para acceder a ese servidor FTP.

Porque claro, estos servidores no suelen estar abiertos para que cualquiera entre y coja los archivos que quiera. Necesitarás tener una cuenta de acceso para conectarte. Esto, en parte, ha hecho que otras alternativas más sencillas de cara a los usuarios como las nubes o el P2P se acabasen imponiendo a la hora de compartir archivos.

Protocolo Netbios

NetBIOS es un protocolo de red que viene activado por defecto en las tarjetas de red en Windows. Está algo obsoleto y hoy en día no es muy utilizado. Sin embargo puede tener vulnerabilidades que son aprovechadas por los piratas informáticos para llevar a cabo diferentes métodos de ataques.

Básicamente lo que permite NetBIOS es que las aplicaciones se comuniquen con la red. Un equipo en una red local se comunica con otro a través de una conexión utilizando lo que se conoce como datagramas NetBIOS. Su función es establecer la sesión y mantener las conexiones.

Hay que mencionar que este protocolo necesita de otros protocolos para transportar datos tanto en redes inalámbricas como en LAN. Esto es así ya que opera en la capa 5 de OSI y no tiene un formato de datos para la transmisión. Pero de cara al usuario final, lo que importa es que se trata de un protocolo que dejó de utilizarse salvo en contadas ocasiones, pero que sigue habilitado por defecto y podría ser un problema.

Incluso estando en sus últimas fases de vida, NetBIOS cuenta con varios cometidos, como los siguientes:

  • Permite que las aplicaciones puedan comunicarse con la red.
  • Evita que los desarrolladores de los softwares tengan que realizar rutinas de recuperación ante posibles errores de enrutamiento o de direccionamiento de mensajes de bajo nivel.
  • En la red local con soporte para NetBIOS, los dispositivos son conocidos e identificados por un nombre, y cada uno tiene uno único.

Esta es capaz de soportar tres servicios, donde cada uno cumple una función. También entre ellos varían los puertos TCP/UDP utilizados.

  • Servicio de sesión: Se trata de un protocolo orientado a la conexión (peer-to-peer y cliente/servidor). En este apartado usa el puerto 139 TCP.
  • Servicio de Datagramas: Se utiliza para enviar broadcast. Aquí da uso del puerto 138 UDP.
  • Servicio Nombre: Existe alguna posibilidad de correr NetBIOS por TCP/IP, y otra es que necesitamos un nombre de resolución. En este servicio, usará el puerto 137 UDP. Para esto hay dos opciones, el archivo LMHOST y un servidor WINS (Windows Internet Name Service).

Así a todo, NetBIOS sigue contando con algunas ventajas, algunas de ellas son:

  • Resuelve nombres de sus dispositivos sin requerir configuración por parte del usuario.
  • Se encuentra habilitado en todas las sesiones de Windows (Esto puede resultar un inconveniente también).
  • Se convirtió en el fundamento básico de muchas aplicaciones de red.

Por la contra también nos podemos encontrar con algunos inconvenientes. Recordemos que estamos dejando de lado, que se trata de una función que poco a poco se está quedando obsoleta. Esos son:

  • NetBIOS no proporciona ningún marco estándar o formato de datos para sus transmisiones.
  • No resulta práctico para ser utilizado en redes de gran tamaño debido a que tiende a sobrecargar la red relativamente fácil.
  • Actualmente, se trata de un protocolo que no resulta seguro.

Efectos en el rendimiento

Proceder a la desactivación del protocolo NetBIOS, es algo que puede tener algunos efectos en el rendimiento general de un equipo. Pero por lo general, no estamos hablando de algo que sea demasiado significativo. Este se utiliza para la resolución de nombres de red y comunicación entre dispositivos, como hemos visto. Y a pesar de que se trata de un protocolo antiguo el cual ya se ha ido reemplazando, sigue activo en algunos lugares. Las nuevas versiones con el DNS y el TCP/IP.

Desactivarlos puede suponer que la seguridad del sistema mejore, y esto es porque se recue la superficie sobre la cual se puede realizar algún ataque a nuestro equipo. NetBIOS, cuenta con algunas vulnerabilidades que puedes ser explotadas por algún atacante. Una de estas, es la vulnerabilidad ante ataques de denegación de servicio, lo cual quiere decir que los atacantes, pueden saturar nuestra red hasta que sea inutilizable.

En cambio, NetBIOS puede tener efectos sobre el rendimiento general del sistema. Existen aplicaciones antiguas que dependen de este protocolo, por lo cual, si lo desactivamos, estas pueden tener un funcionamiento más lento, o incluso dejar de funcionar directamente. Por otro lado, al desactivarlo podemos hacer que afecte a las capacidades del sistema. Nos referimos a los recursos del mismo, que comparte con los demás dispositivos en red. Tales como impresoras, o unidades de red compartidas. Si estos están compartidos por NetBIOS, puede que queden totalmente inaccesibles.

Pero en general podemos mejorar la seguridad del sistema, al menos en un grado mayor al rendimiento que vamos a ganar. Y vistos los problemas que se nos pueden presentar, lo mejor que podemos hacer es verificar todo lo que puede ocurrir si lo desactivamos. Para ello, lo mejor es realizar un análisis de ventajas y desventajas. Donde pueden entrar muchos factores diferentes.

Cómo desactivar NetBIOS en Windows 10

Podemos desactivar NetBIOS en Windows 10 de forma muy sencilla. Para ello podemos hacerlo a través de TCP/IP, desde el Símbolo del sistema y también desde el Registro. Es un proceso rápido y no vamos a tener que instalar nada adicional. Vamos a detallar cómo hacerlo en cada una de las alternativas.

Desactivarlo a través de TCP/IP

En primer lugar tenemos la opción de desactivarlo mediante TCP/IP y la función de propiedades de la tarjeta de red. Para ello tenemos que ir al menú de Inicio y entramos en Configuración. Posteriormente vamos a Red e Internet y entramos en Cambiar opciones del adaptador. Aquí aparecerán las diferentes opciones de redes que tenemos, tanto el adaptador Wi-Fi como LAN (podemos usar cualquiera). Tenemos que pinchar en el correspondiente y le damos a Propiedades.

Desactivar NetBIOS en Windows

Aquí nos aparecerá una serie de opciones y tenemos que seleccionar Protocolo de Internet versión 4 (TCP/IPv4) y le damos a Propiedades. Hecho este paso tenemos que pinchar directamente en Opciones avanzadas, sin tener que tocar nada más.

Dentro de Opciones avanzadas veremos que hay un total de tres pestañas. La que nos interesa es la que tiene el nombre de WINS. La seleccionamos y una vez aquí marcamos la casilla de Deshabilitar NetBIOS a través de TCP/IP.

Pasos para deshabilitar NetBIOS

Cuando marquemos esa casilla simplemente tenemos que darle a Aceptar y listo. A partir de ese momento NetBIOS ya no estará activado en nuestra tarjeta de red. Si en algún momento vamos a necesitar este protocolo, simplemente hay que volver a realizar estos pasos pero en esta ocasión le damos a Habilitar NetBIOS.

Deshabilitar NetBIOS desde el Editor del Registro

También podemos deshabilitar NetBIOS a través del Editor del Registro de Windows. Para ello tenemos que seguir unos sencillos pasos nuevamente.

Lo primero que tenemos que hacer es ir a Inicio otra vez, escribimos Editor del Registro y entramos. Igualmente podemos acceder a través de la combinación de teclas Windows+R y ejecutar regedit. Tenemos que ir a la ruta EquipoHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParametersInterfaces. Selecciona una clave de registro Tcpip, como vemos en la imagen, y a la derecha nos aparecerán diferentes opciones.

Editor del Registro

Tenemos que hacer doble clic encima de NetbiosOptions. Nos mostrará un valor 0 y para desactivarlo tenemos que ponerle un valor 2. Solo tenemos que aceptar y con esto ya tendremos desactivado NetBIOS en Windows 10 a través del Editor del Registro.

Desactivar NetBIOS desde el Símbolo del Sistema

Una tercera y última opción es desactivarlo a través del Símbolo del Sistema. En este caso tenemos que iniciar la línea de comandos de Windows. Podemos ir a Inicio, escribir Símbolo del sistema y abrirlo o también a través de la combinación de teclas Windows+R y ejecutar cmd. Una vez lo tengamos abierto hay que introducir el comando wmic nicconfig get caption,index,TcpipNetbiosOptions y entrar. Nos mostrará una lista y tenemos que ver de cuál de esos adaptadores queremos desactivar NetBIOS.

Símbolo del Sistema

Cuando tengamos el número del adaptador tenemos que introducir este otro comando: wmic nicconfig where index=X call SetTcpipNetbios 2

La X es el número correspondiente al adaptador. Por ejemplo si fuera el 4 pues pondríamos wmic nicconfig where index=4 call SetTcpipNetbios 2. Aceptamos y listo. Automáticamente quedaría desactivado.

En definitiva, siguiendo estos pasos como hemos mencionado podemos desactivar NetBIOS en Windows 10. Lo podemos hacer desde la línea de comandos, el Registro del sistema o a través de TCP/IP. En todos los casos el objetivo va a ser el mismo y siempre podremos volver a habilitarlo nuevamente si hiciera falta.

Por qué desactivar NetBIOS en Windows 10

Hemos visto qué es NetBIOS y también hemos explicado los diferentes métodos que podemos encontrar para desactivarlo en Windows 10. Ahora bien, ¿por qué deberíamos hacerlo? ¿Qué motivos tenemos para desactivar esta característica que de forma predeterminada viene con nuestra tarjeta de red?

Sin duda la seguridad está detrás del motivo por el que un usuario podría considerar desactivar NetBIOS en Windows 10. Muchos tipos de ataques en la red van a utilizar protocolos que están obsoletos, como es este caso. Se aprovechan de que vienen activados de forma predeterminada y pueden buscar alguna brecha para entrar en el equipo, robar datos o colar malware.

No significa que por sí mismo este protocolo sea peligroso, pero sí que podría llegar a ser una puerta de entrada para los ciberdelincuentes. Mientras menos posibilidades demos a los atacantes, mejor. Este es un ejemplo claro de por qué no conviene tener programas antiguos sin actualizar o cualquier característica que pueda ser explotada.

Por qué ocurre esto

Esto ocurre generalmente con el software antiguo que no ha recibido una actualización desde hace mucho tiempo. Hemos visto caso como el de WinRAR y una vulnerabilidad muy antigua o versiones de Microsoft Office que dejan de ser seguras y necesitamos actualizar lo antes posible. El problema es que algunas aplicaciones ya no reciben soporte, ya no tienen esos parches o mejoras de seguridad necesarios porque simplemente no lo utiliza casi nadie. Algo así es lo que ocurre con NetBIOS, que es un protocolo de red que viene activado por defecto pero que en realidad hoy en día no se utiliza.

Los ciberdelincuentes pueden aprovecharse de vulnerabilidades que aparezcan en este protocolo de red y que no estén corregidas. Por ello puede ser interesante optar por deshabilitar NetBIOS de Windows 10. Una manera más de proteger nuestra seguridad y evitar problemas. Además, como hemos visto es muy sencillo llevar a cabo esta acción. En poco tiempo podemos tenerlo deshabilitado del sistema operativo

Conclusión:

Al llegar al final de este capítulo, hemos descubierto la importancia crítica de la Capa 6 de Presentación en la seguridad de nuestras redes. Desde la codificación hasta la decodificación, cada paso en este proceso contribuye a la preservación de la integridad de nuestros datos. Recordemos siempre que en el mundo digital, la presentación precisa de la información es la clave para una comunicación segura y eficiente. Que este conocimiento impulse la implementación de prácticas robustas, fortaleciendo así nuestras defensas cibernéticas. Nos vemos en el próximo capítulo, donde continuaremos explorando las capas que definen el tejido de la seguridad en redes. ¡Hasta entonces, sigamos protegiendo nuestros activos digitales con sabiduría y determinación!

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: