Modelo OSI

El Modelo OSI

Si eres estudiante de ingeniería, tecnología o si eres un curioso gatuno que se pregunta cómo rayos le llegan desde tu computador los saludos que le envías a tu familia ubicada en las antípodas, o qué es lo que hace posible el streaming multimedia, entonces definitivamente este articulo es para tí. Parece sencillo (porque la tecnología lo hace ver así) pero cuando hacemos una videollamada por Skype, cuando enviamos los trabajos de la universidad por correo electrónico, cuando jugamos en línea Warcraft con nuestros parceros, y en general cualquier actividad ociosa, académica o comercial que hagamos dependiente de la red y de Internet, todo, absolutamente todo eso, funciona gracias a unos estándares agrupados en un patrón abstracto llamado El Modelo OSI.

Modelo OSI

Flujo del modelo

El modelo OSI, o modelo de Sistemas Abiertos de Interconexión, define los métodos y protocolos necesarios para conectar un dispositivo informático con cualquier otro a través de una red. De paso, nos ayuda a visualizar la forma en que esos dispositivos interactúan  entre sí en dicha red.

También podemos referirnos a este marco como el modelo de siete capas. Fue desarrollado por la Organización Internacional de Estándares (ISO) en 1983, y está registrado como el estándar 7498.

El modelo OSI es semejante a un sistema de paquetería


La dinámica de este modelo de interconexión obedece a una serie de pasos lógicos, semejante a un sistema de paquetería física, tipo DHL. Siguiendo dicha semejanza, digamos que necesitamos enviar una mercancía a un destino lejano. Entonces, lo normal es empaquetarla, etiquetarla con información de origen y destino, y entregarla a la empresa de logística para su envío. De ahí en adelante, esta empresa la clasifica y la transporta a través de una ruta, que puede ser marítima, terrestre, aérea, o una combinación de estas. Finalmente, gracias al cuidado de esta empresa y a la información del etiquetado, el paquete llega a su destino completo y en buen estado.

Pues bien, la dinámica es parecida cuando nuestra información atraviesa las siete capas, y es igualmente tratada como un paquete debidamente etiquetado con información de origen y destino (el de tu computador y el computador destino).

Cuando nuestros datos (DATA) descienden por cada nivel del modelo, se les anexa información (cabeceras) propia de cada capa. A ese proceso se le llama Encapsulado (Encapsulation). En el otro extremo los paquetes se somete al proceso de Desencapsulado. Fuente: https://www.practicalnetworking.net/series/packet-traveling/osi-model/

Análisis de sus capas


Este conjunto de siete capas es un esquema conceptual. Se utiliza principalmente para el diseño de redes de datos y soluciones de red. En el mundo real, las redes cumplen con este marco de trabajo básico. 

Veamos la travesía de nuestra información por este modelo y el tratamiento que le proporciona cada capa:

 

Aplicación

Punto de partida

La información que enviamos por la red inicia su viaje en esta capa. La capa de Aplicación, o capa 7, controla la forma en que el sistema operativo y sus aplicaciones interactúan con la red. Define los protocolos y servicios que facilitan dicha interacción. Algunos protocolos que conforman esta capa son conocidos como HTTP (web), SMTP (correo electrónico), así como NFS y SMB (Samba, para compartir recursos en la red, igual que NFS), incluyendo también a SSH (conexión remota) y FTP, entre otros.

       Las aplicaciones que usamos, como por ejemplo LibreOffice, Adobe Acrobat Reader, Mozilla Firefox, Photoshop y similares, no son parte de la capa de Aplicación, pero se benefician de ella (por ejemplo, cuando adjuntamos un PDF en un mensaje que sale por protocolos de correo).
Presentación

 

Esta capa, la 6, recibe los datos proporcionados por las capas de nivel más bajo y los transforma de manera que puedan ser presentados al sistema. Las funciones que se efectúan en esta capa pueden incluir la compresión y la descompresión de datos, además del cifrado y descifrado de la información.

También se ocupa de gestionar la presentación de los caracteres que se presentan al usuario, tales como los caracteres codificados con ASCII, así como también la gestión de la compresión de imágenes JPG, PNG, TIFF, y el formateado de texto en HTML.

Sesión

 

La capa de Sesión, o capa 5, define la conexión de un usuario en un servidor de red, o desde un punto de una red hasta otro punto. Esta conexiones virtuales también son conocidas como sesiones. Incluye varios aspectos de estas conexiones, entre las cuales se encuentra la negociación entre el cliente y el servidor o anfitrión, transferencia de la información de usuario y su autenticación.

Transporte

Comienza el encapsulamiento

Controla el flujo de la información de un equipo a otro. Si la información que le llega desde el nivel superior es muy extensa, la fragmenta en datos. Se asegura de que éstos sean identificados en el orden adecuado y de que todos ellos sean recibidos. Algunos ejemplos de los protocolos de la capa de Transporte son:

 

  • TCP – Protocolo de Control de Transmisión (por sus siglas en inglés)
  • UDP – Protocolo de Datagrama de Usuario (por sus siglas en inglés)
  • SPX – Intercambio Secuenciado de Paquetes (por sus siglas en inglés)

 

Cada uno de ellos se usa junto con el protocolo IP e IPX, respectivamente.

UDP es un protocolo no orientado a conexión, lo que quiere decir que los equipos no necesitan ponersen de acuerdo para intercambiar paquetes. En este tipo de transmisión, los paquetes son enviados y recibidos sin ningún tipo de control o seguimiento, pero a cambio, se gana mayor fluidez. Este protocolo es útil para enviar información de audio como la Voz IP, o para la transmisión de streaming multimedia.

TCP es un protocolo orientado a conexión, es decir, debe establecer un acuerdo entre ambos extremos para intercambiar información secuenciada y no tolerable a fallos. Imagínese que el envío de correo electrónico se gestionara con el protocolo UDP, el sistema correría el riesgo que la información llegase a nuestro buzón dañada o incompleta.

Esta capa separa las complejidades de la red de las capas que están por encima suyo, pues es su responsabilidad garantizar una comunicación confiable entre los equipos, esto por medio del protocolo TCP. Las funciones de este nivel son:

 

  • Control del flujo de transmisión de datos entre equipos
  • Multiplexación o entremezcla de paquetes (segmentos) para transferirlos a los distintos servicios de la capa de Aplicación.
  • Verificación de errores
  • Detección y recuperación de segmentos perdidos o dañados, lo que implica la solicitud de la retransmisión de paquetes.

 

Cuando nuestros datos llegan a este nivel, el protocolo TCP les anexa unas etiquetas de identificación y control para que sean ensamblados correctamente en su destino. Esas etiquetas se llaman cabeceras, y juntos (cabeceras y datos) reciben el nombre de segmentos.

Segmento TCP (datos más cabecera)

Según sea el puerto del protocolo de la capa de Aplicación (80 -> http, 25 -> SMTP, 22 -> SSH) que le haya transferido la información, TCP le incluye a las cabeceras el número de puerto destino para que su homónimo, en el otro extremo, sepa a qué protocolo de la capa de Aplicación entregarla.

Red

Decidiendo la mejor ruta

El nivel de red se preocupa por la entrega de la información de extremo a extremo, a través de algún protocolo que puede ser el IP (Protocolo de Internet) o el IPX (Protocolo de Intercambio de Paquetes de Red). El protocolo IP es el más común en las redes.

Ejemplos de direcciones IP versión 4 y versión 6:

IP v4 190.144.248.195
IP v6 2607:f0d0:4545:3:200:f8ff:fe21:67cf

En esta capa también encontramos protocolos de enrutamiento de paquetes, típicos de routers, tales como el Protocolo de Información de Enrutamiento (RIP), el Trayecto Abierto mas Corto Primero (OSPF) y el Protocolo de Pasarela de Frontera (BGP).

Trayecto que siguen los paquetes a través de las capas de distintos dispositivos de la red. Como se ve en la gráfica, los paquetes de red del PC1 son direccionados por la capa 3 de los enrutadores hacía su destino, el PC2.

Entonces, el segmento llega aquí desde la capa de Transporte y se le adiciona cabeceras propias de esta capa, en la que destaca la dirección IP de origen y de destino (lugar en la red a donde la información debe llegar). A esta altura del modelo, el encapsulado recibe el nombre de paquete y puede procesarse con distintos protocolos de enrutamiento, sean dinámicos o estáticos, para alcanzar su destino de la forma más eficiente posible.

Formato de un paquete IP. El campo de Datos es el mismo segmento TCP, que a su vez viene con los datos de la capa de Aplicación

Enlace de datos

Toca hacer escalas para alcanzar el destino

La capa de Enlace de Datos, o capa 2, define los estándares que establecen un significado a los bits que viajan a través de la Capa Física. Además establece un protocolo confiable para en el nivel 1, de modo que la Capa de Red (capa 3), pueda transmitir los paquetes.

Siguiendo con nuestra dinámica, el paquete de red ahora llega a este nivel, es encapsulado con más cabeceras en la que destaca información como la dirección MAC destino, la MAC origen, y un campo adicional para la verificación de errores.

Con este nuevo encapsulado, el paquete se convierte en una trama (frame), y de ahí se transmite a la capa Física en forma de señales eléctricas. Ejemplos de tipo de tramas son X.25 y 802.x. Las tramas de la familia 802.x abarcan las tramas Ethernet y Token Ring, eso quiere decir que la capa 2 también define la topología física, es decir, la forma en la que se deben conectar físicamente los equipos, como en una topología en bus, en estrella o en anillo.

Topologías o formas de conectar físicamente los equipos en una red

 

Estructura de la trama Ethernet, en la que se aprecia las cabeceras típicas de la capa 2, envolviendo el paquete de red (Datos).

La dirección MAC (Media Access Control) es un identificador de la interfaz de red única en el mundo (todas las tarjetas de red vienen con una), están formateados en 6 bloques hexadecimales y pueden tener la siguiente estructura:

00:1e:68:78:f7:86
00-1e-68-78-f7-86

Podemos visualizar la dirección MAC de un equipo de la red con el siguiente comando:

ifconfig (para Linux)

ipconfig (para Windows)

La página web de Arul John puede ayudarnos a identificar el fabricante de una tarjeta de red. Solo pega su dirección MAC en el formulario y te dará el resultado.

La Capa de Enlace de Datos se divide en dos subcapas, conocidas como Control de Enlace Lógico (LLC) y Control de Acceso a Medios (MAC).

La subcapa LLC ejecuta llamadas de establecimiento y terminación de conexión (el modelo OSI se puede aplicar tanto a redes de telecomunicaciones como a las LAN), además de la transferencia de datos. 

Según el sentido del flujo de los datos, la subcapa MAC controla la fragmentación o el ensamble de las tramas a partir de los bits de las señales eléctricas que entran o salen de la capa Física.

También controla el flujo entre los equipos (velocidades de transferencia) para que un equipo más lento que otro no se “desborde” por no tener la velocidad requerida para procesar las tramas.

Otras de las funciones de esta capa es la detección y corrección de errores, en la que pudiera verse afectada alguna trama durante su viaje por el medio físico. Así, se garantiza aún más un flujo de datos confiables.

Cuando una trama entra del lado físico, se ensambla y se analiza la dirección MAC destino. Si ésta concuerda con la MAC de la interfaz de red entonces se acepta y se transfiere a la capa 3. De lo contrario se descarta. Un switch ethernet no descartaría esa trama, sino que la direccionaría a otro equipo que coincida con la dirección MAC destino de su cabecera. O sea que el switch es un conmutador de tramas, gestiona el direccionamiento de tramas entre conmutadores, por eso el swicth es un dispositivo de la capa 2.

Los protocolos más comunes de este nivel son el Ethernet II, el 802.5 Token Ring, el Protocolo de Punto a Punto (PPP), la Interfaz de Datos Distribuidos por Fibra (FDDI).  También gestiona el protocolo de las redes inalámbricas. 802.11.

Durante más de dos décadas, y desde su concepción basada por allá en ALOHAnet, la trama Ethernet a presentado varias versiones… que Ethernet v1… que 802.3… pero es la segunda generación de Ethernet, también llamada Ethernet II o Ethernet DIX, la que utilizamos en la actualidad. La segunda generación fue desarrollada por Xerox en cooperación con Digital e Intel. Esos dos nombres, Ethernet II y Ethernet DIX, se refieren al mismo formato de la trama. De todas formas tanto 802.3 como Ethernet II pueden coexistir en la misma red.

Capa Física (PHY)

Feliz viaje

Finalmente nuestra información ha llegado a esta nivel en forma de trama. Justo aquí le llega la hora de “salir de casa” (de nuestro PC). Ahora, debe convertirse en señales eléctricas, electromagnéticas o lumínicas codificadas (según sea el medio) para emprender su partida. Dependiendo de las marañas de los cables, sus longitudes, las condiciones del espectro electromagnético, la cantidad de usuarios conectados y el uso que le estén dando a la red, su viaje puede estar saturado de congestiones, quizás colisiones, tormentas eléctricas y si está muy de malas, hasta podría morir en el camino (en ese caso tendríamos un paquete perdido). Buena suerte hijo! 

La capa física ó PHY (de Physical Layer), define las propiedades del medio físico que se debe usar para crear una conexión de red y las características de las señales eléctricas o lumínicas que viajan por esos medios. Los conectores, los terminales, corrientes eléctricas, niveles de voltaje, esquemas de codificación y modulación de la luz, forman diferentes especificaciones de este nivel.

Concepto de un bloque de codificación digital

Se pueden combinar varias especificaciones para definir el componente del nivel físico; por ejemplo, la RJ-45 define la forma del conector y el número de conductores en el cable. Ethernet y 802.3 definen el uso de los cables 1,2,3 y 6 para el transporte de las señales eléctricas. También define las categorías del cableado de par trenzado; categoría 3 para 10baseT (base se refiere a una frecuencia sin modulación), categoría 5e para 100baseT y la categoría 6 para 1000baseT, o Gigabit Ethernet. Incluso, el cable categoría 6 es retrocompatible con las categoría 3 y 5e. El cable de ser trenzado para mitigar interferencia eléctricas.

Cable UTP – El trenzado de sus hilos permite que la señal resista a largos trayectos de este cable (hasta 100 m).

Cable de fibra óptica

También venimos hablando de que esta capa se encarga del esquema de codificación de los voltajes de las señales. Este método consiste en codificar los datos dentro de una señal digital, su objetivo es que la señal transporte la mayor cantidad de información posible. Entre esos esquemas tenemos a:

 

NRZI y Manchester -> para velocidades a 10 Mbps
MLT-3 -> para velocidades a 100 Mbps
PAM-5 -> para 1000 Mbps o Gigabit Ethernet

Formatos de codificación

Por ejemplo, Manchester es insuficiente para enviar información a velocidades de 100 Mbps, en su lugar se usa MLT-3. Los esquemas de codificación podemos verlos en un diagrama de bloques de cualquier chip de una tarjeta de red Ethernet, tal como la REALTEK RTL8139C.

Con los bloques de códificación Manchester y MLT-3 podemos deducir que esta tarjeta de red opera a velocidades de 10 y 100 Mbps.

modelo osi

Trama codificada con Manchester. Un osciloscopio muestra la trama en su recorrido por un cable UTP. (Inferior) La trama se ve entera al principio de la transmisión. (Superior) La misma trama degradada al final del cable cuando se supera los 100 metros que recomienda la norma.

Hasta aquí hemos visto someramente que en Ethernet se basan algunos protocolo lógicos y estándares físicos, que estipula una gran cantidad de requisitos.. que velocidades de transmisión… que tipos y longitudes de cables… que codificación de señales y protocolos a nivel lógico. Por eso, si recordamos la capa 2, considero que es la más compleja, pues debe ser mediadora entre la parte tangible e intangible del modelo.

Ethernet se define mediante protocolos de la capa física y de capa de enlace de datos

 

Flujo de las capas


En este artículo hemos explicado el modelo de arriba hacia abajo porque la capa de Aplicación es el punto de partida, es la que produce la información. Si no se produce pues no hay nada de ahí en adelante. La literatura informática generalmente lo explica de abajo hacía arriba, con la trama formada, porque es más fácil trepar el árbol que bajarlo.

Ahora que ya tenemos más o menos una idea de ese ritual técnico, podríamos ser asaltados por un montón de dudas tal como “¿y para qué la dirección MAC si tenemos la dirección IP? “. Bueno, eso no es fácil de responder. Algunos emplean cosas como tu nombre y tu número cédula para establecer la analogía con la dirección IP y la MAC, respectivamente. Pero la respuesta está en el direccionamiento IP, la culpa es de la dirección IP, al menos de la versión 4.

Y mientras tanto, en un mundo paralelo sin direcciones MAC…


Debemos estudiar el funcionamiento del swicth de red para entender la necesidad de las direcciones MAC, sin embargo, déjame contarte un escenario hipotético de un mundo paralelo sin ellas:

Si en una red privada el direccionamiento fuera exclusivamente IP, no habría problema conectando unos cuantos equipos por medio de un switch (el swicth relacionaría en una tabla la dirección IP con el puerto donde se conecta). Pero, si tuviéramos docientos equipos, repartidos entre decenas de switches, la situación se complicaría.

Los swtiches tendrían que compartir esas tablas (todos contra todos) para que cada uno sepa del paradero de cada equipo… y así sucesivamente se crearían tablas ramificadas (una detrás de otra) en cada switch. Habría que configurarles protocolos de enrutamiento para gestionar esas tablas, más el costo en memoria y ciclos de CPU que eso consumiría en el switch. Sin la dirección MAC sería hasta imposible crear el concepto de VLAN. Ni hablar de poner en marcha un DHCP.

No. Definitivamente no! Sería cosa de locos (más todavía). Necesitamos de las direcciones MAC para que el direccionamiento IP no se haga una melcocha. Imagínate si no tuviéramos un número de cédula que nos identificara.

Detallando el modelo


Hace 14 años cuando recibíamos clases de redes informáticas, una compañera corchó al profesor preguntándole “¿bueno, y yo dónde puedo ver todo eso en un computador?”. El docente quedó pasmado por unos segundos, claro, su retórica sólo era en el ámbito general del modelo, pero nunca lo profundizaba. La joven aprendiz solo quería que el profe le hiciera “zoom” a toda esa conceptualización (como lo poco que he tratado de hacer en este post).

Profundizar el Modelo OSI es un poco arduo, requiere disciplina e investigación. Desmenuzarlo exije algo de electrónica, programación de software, informática, algo de física (el modelo OSI es una sinergia de disciplinas).

Observando la trama en acción


Lo que podemos hacer por ahora es estudiar una trama con su carga útil (la información), pues es el único producto de esta línea de ensamblaje que consolida todas las operaciones de esos siete pasos.

Una forma de observar las tramas es por medio de un osciloscopio, pero solo veríamos la codificación de la señal.

Otra forma más sencilla, y que nos permite observar su estructura lógica, es por medio de un sniffer llamado Wireshark. La función de este software es capturar los paquetes que viajan por la red y mostrar su contenido (cabeceras, datos, flags, de todo) para su posterior análisis. 

Para facilitar más nuestra compresión, usemos también un programa llamado Packet Sender. Es muy sencillo, este software se instala en los dos extremos y se pone a funcionar para enviar información de un lado a otro, y ya.

Manos a la obra!


Abrimos Packet Sender en el extremo 1 (un PC con Windows). Escribimos la información que vamos a enviarle al extremo 2 en el campo ASCII (para este ejemplo un “Hola!”). Luego, escribimos la dirección IP destino especificando también el puerto TCP (Port) en el que el extremo 2 está escuchando (en este caso el 44655). El programa calcula automáticamente el valor hexadecimal (HEX) de la información. Y listo, lo enviamos (Send).

Donde dice “You” es la dirección IP 192.168.0.32 que tenía el Windows en ese momento.

En el extremo 2 (el destino, un PC con GNU/Linux) tenemos abierto el Packet Sender que ha recibido la información:

Mientras la trama viaja con la información por el medio físico, el sniffer la captura, genera una copia de ella y nos la muestra en pantalla:

Desglose de una trama con Wireshark

Es por esta situación que en materia de seguridad informática, no recomendamos que las personas realicen operaciones bancarias o cualquier otra actividad que incluya información sensible dentro de redes publicas, como las de los aeropuertos, salas de café internet y esas cosas, pues alguien conectado puede estar espiando todo. 

 

 

 

Tal vez le interse ver cómo configurar un firewall en Linux, aquí

 

 

Comparte esto en
Publicado en Tecnología.