Capas
Modelo de capas
Previamente hemos comentado que los procesos de las aplicaciones distribuidas necesitan comunicarse para cooperar y ofrecer un servicio. Dicha comunicación requiere resolver múltiples problemas, y el modelo de capas da una solución modular que requiere descomponer varios servicios interdependientes donde:- El servicio pertenecerá a un nivel o capa según las tareas que realice, y dependerá del servicio de nivel inferior (usa al nivel inferior).
– Cada servicio tendrá su forma propia de solicitarlo y un protocolo que permita la colaboración de entidades pares.
En la siguiente imagen podemos observar una aplicación distribuida de multiplicación donde en cada equipo se ejecuta un proceso y la capa de aplicación necesita apoyarse sobre la capa de red y transporte para lograr comunicarse con el otro extremo. La idea es observar como un servicio que ofrecen las aplicaciones distribuidas se puede descomponer en varios niveles o capa, donde en cada uno se realiza una tarea distinta. Por ejemplo, en el de aplicación es donde se realizaría las tareas en sí de la aplicación pero ese servicio requieren utilizar la capa de red para poder comunicarse con el proceso remoto (en otra red o en la misma) que ocurre en otro equipo informático que a su vez necesita de la capa de enlace para establecer un medio físico por donde viajarán los 0s y 1s correspondientes del mensaje.

Modelo OSI
Es un estándar de referencia para el intercambio de datos entre procesos de aplicación (Standard ISO/IEC 7498/ITU-X.200), desarrollado por la Organización Internacional de Normalización ISO en 1984, cuya arquitectura se basa en 7 capas/niveles donde:
- Cada capa ofrece un servicio a la capa superior y usa los servicios del nivel inferior.
- Las entidades pares de cada capa cooperan para ofrecer un servicio.

En las siguiente imágenes se describen los funciones y objetivos de cada nivel.


Como ya hemos comentado, las entidades pares deben colaborar entre ellas y para eso deben intercambiar mensajes y dar así el servicio. Los mensajes intercambiados entre entidades de un mismo nivel se conoce como PDU (unidad de datos del protocolo), y por tanto cada capa tiene una N-PDU (donde N es el nivel o capa).
Una N-PDU está compuesta por:
- N-PCI o información de control del protocolo: información intercambiada entre entidades N para coordinar su operación conjunta.
- N-SDU o unidad de datos del servicio: son los datos que le ha pasado la entidad superior (N+1) a la N.
Además, una N-PDU suele encapsular la PDU de nivel superior tal y como se muestra en la siguiente imagen:

De tal forma que la 2-PDU se podría expresar como: 2-PCI+3-PCI+4-PCI+5-PCI+6-PCI+7-PCI+7-SDU o 2-PCI+3-PCI+3-SDU, etc.
Por último, al igual que una capa superior usa una inferior, también hemos dicho que una inferior puede solicitar un servicio de la superior, pero ¿cómo? Pues existe un Interfaz de Uso del servicio que define cómo solicitar los servicios de una entidad de una capa:

En la imagen anterior además, se pueden observar dos términos importantes a la hora de comprender esa solicitud del servicio. El primer término es SAP, que son los puntos de acceso al servicio e identifica a la entidad que ofrece el servicio. El otro término es primitiva, que es el protocolo de interacción, es como la función que permite solicitar ese servicio. Por otro lado se habla de encapsular y desencapsular. Cada vez que el mensaje baja una capa se dice que se encapsula ya que añade la cabecera y el mensaje encapsulándolo en la SDU de nivel inferior. Cuando el procedimiento es al contario, es decir, cuando es el servicio inferior el que usa al superior (se sube en una capa) se desencapsula el mensaje ya que se desmenuza la SDU de nivel inferior, descubriendo la PCI y SDU de nivel superior.
Modelo TCP/IP
Modelo creado por Vinton Cerf y Robert Khan en 1970. Es el que hay en internet actualmente y fue implantando en la red ARPANET ( primera red de área amplia o WAN), también conocido como modelo DoD o DARPA ya que fue desarrollado por encargo de DARPA ( Departamento de Defensa de los Estados Unidos).
Este modelo describe un conjunto de guías generales de operaciones para permitir que un equipo se pueda comunicar en una red, especificando cómo los datos deberían ser formateados, direccionados, transmitidos, enrutados y recibidos. El mismo se divide en 4 capas.

Si lo comparamos con el modelo OSI, éste no es un modelo de capas independientes, más bien es un conjunto de protocolos interrelacionados que pueden ser clasificados como pertenecientes a una capa OSI en función del servicio que prestan. Tal y como se ve en la siguiente imagen , la capa de aplicación del modelo TCP/IP englobaría las capas de Aplicación, Presentación y Sesión del modelo OSI. Así mismo las de Host del modelo TCP/IP englobaría a la capa de Enlace y Físico del modelo OSI.

Por último, según en qué capa analicemos el mensaje, el mismo adquiere distinta terminología:
– El mensaje que se genere en la capa de aplicación se conoce como mensaje.
– Una vez que estemos hablando del mensaje en la capa 4 del modelo OSI o de la capa 3 del modelo de internet, pasaría a conocerse como segmento, es decir, la cabecera de transporte más el mensaje (en el modelo TCP/IP) es lo que conoce como un segmento.
– Si estuviéramos en el nivel 3 se conoce como datagrama. Cuando hablamos de datagrama nos estamos refiriendo a la cabecera de red, más la cabecera de transporte más todos los datos que van encapsulados de las capa de aplicación.
– Cuando estamos a nivel de enlace se denomina trama: que sería la cabecera de enlace, más cabecera de red, más cabecera de transporte, más el mensaje de la aplicación. La trama es lo que se envía al medio físico.
