El modelo OSI (Open Systems Interconnection, ‘Interconexión de Sistemas Abiertos’) está basado en una propuesta establecida en el año 1983 por la organización internacional de normas ISO (ISO 7498) como un avance hacia la normalización a nivel mundial de protocolos. El modelo se llama modelo de referencia OSI de la ISO, puesto que se ocupa de la conexión de sistemas abiertos, esto es, sistemas que están preparados para la comunicación con sistemas diferentes. Usualmente lo llamaremos sólo modelo OSI para acortar. OSI emplea una arquitectura en niveles a fin de dividir los problemas de interconexión en partes manejables. Posteriores estándares de ISO definieron las implementaciones en cada nivel para asegurar que se consigue una compatibilidad total entre ellos. Como se vio en el apartado anterior, la aproximación en niveles asegura modularidad y facilita que el software pueda mejorarse sin necesidad de introducir cambios revolucionarios, además de permitir la compatibilidad entre equipos diferentes. Consta de siete niveles:
Nivel físico: Tiene que ver con la transmisión de dígitos binarios por un canal de comunicación. Las consideraciones de diseño tienen que ver con el propósito de asegurarse de que, cuando un lado envíe un “1”, se reciba en el otro lado como “1”, no como “0”. Las preguntas típicas aquí son: ¿qué voltaje deberá usarse para representar un 1 y para representar un 0?, ¿cuántos microsegundos dura cada dígito?, ¿en qué frecuencia de radio se va a transmitir?, ¿cuántas puntas tiene el conector de la red y para qué sirve cada una?, etc. Aquí las consideraciones de diseño tienen mucho que ver con las interfaces mecánica, eléctrica y de procedimientos, y con el medio de transmisión físico que está bajo la capa física.
Nivel de enlace: Su tarea principal es detectar y corregir todos los errores que se produzcan en la línea de comunicación.
También se encarga de controlar que un emisor rápido no sature a un receptor lento, ni se pierdan datos innecesariamente. Finalmente, en redes donde existe un único medio compartido por el que circula la información, este nivel se encarga de repartir su utilización entre las estaciones. La unidad mínima de datos que se transfiere entre entidades pares a este nivel se llama trama o marco.
Nivel de red: Se ocupa de determinar cuál es la mejor ruta por la cual enviar la información. Esta decisión tiene que ver con el camino más corto, el más rápido, el que tenga menor tráfico, etc. Por todo esto, la capa de red debe controlar también la congestión de la red, intentando repartir la carga lo más equilibrada posible entre las distintas rutas. También a este nivel se realiza gran parte del trabajo de convertir y adaptar los mensajes que circulan entre redes heterogéneas. La unidad mínima de información que se transfiere a este nivel se llama paquete.
Nivel de transporte: Es el nivel más bajo que tiene independencia total del tipo de red utilizada, y su función básica es tomar los datos procedentes del nivel de sesión y pasarlos a la capa de red, asegurando que lleguen correctamente al nivel de sesión del otro extremo. A este nivel, la conexión es realmente de extremo a extremo, ya que no se establece ninguna conversación con los niveles de transporte de todas las máquinas intermedias.
Nivel de sesión: A este nivel se establecen sesiones (conexiones) de comunicación entre los dos extremos para el transporte ordinario de datos. A diferencia del nivel de transporte, a este nivel se proporcionan algunos servicios mejorados, como la reanudación de la conversación después de un fallo en la red o una interrupción, etc.
Nivel de presentación: A este nivel se controla el significado de la información que se transmite, lo que permite la traducción de los datos entre las estaciones. Por ejemplo, si una estación trabaja con un código concreto y la estación del otro extremo maneja uno diferente, el nivel de presentación es el encargado de realizar esta conversión. Para conversa-ciones confidenciales, este nivel también codifica y encripta los datos para hacerlos incomprensibles a posibles escuchas ilegales.
Nivel de aplicación: Es el nivel que está en contacto directo con los programas o aplicaciones informáticas de las estaciones y contiene los servicios de comunicación más utilizados en las redes. Como ejemplos de servicios a este nivel se puede mencionar la transferencia de archivos, el correo electrónico, etc.