Hasta aquí hemos hablado del modelo de capas en un sentido
genérico. Vamos a hablar ahora con cierto detalle de las dos arquitecturas de
redes más importantes en la actualidad, correspondientes a los protocolos OSI
(Open Systems Interconnection) y TCP/IP (Transmission Control Protocol/Internet
Protocol). Conviene destacar que la arquitectura es una entidad abstracta, más
general que los protocolos o las implementaciones concretas en que luego se
materializan éstos. Típicamente para cada capa de una arquitectura existirán
uno o varios protocolos, y para cada protocolo habrá múltiples
implementaciones. Las implementaciones cambian continuamente; los protocolos
ocasionalmente se modifican o aparecen otros nuevos que coexisten con los
anteriores o los dejan anticuados; sin embargo una vez definida una
arquitectura ésta permanece esencialmente intacta y muy raramente se modifica.
El modelo de referencia OSI
Después de la especificación de SNA por parte de IBM cada
fabricante importante definió su propia arquitectura de redes; así la evolución
de los productos de comunicaciones estaba garantizada, pero no se había
resuelto el problema de la interoperabilidad entre diferentes fabricantes.
Debido a la posición de hegemonía que IBM disfrutaba en los años 70 y
principios de los ochenta la compatibilidad con IBM era un requisito necesario,
por lo que la mayoría de los fabricantes tenían implementaciones de los
protocolos SNA para sus productos, o estas estaban disponibles a través de
terceros. Así, la forma mas sencilla de interconectar dos equipos cualesquiera
era conseguir que ambos hablaran SNA.
En 1977 la ISO (International Organization for
Standardization) consideró que esta situación no era la mas conveniente, por lo
que entre 1977 y 1983 definió la arquitectura de redes OSI con el fin de
promover la creación de una serie de estándares que especificaran un conjunto
de protocolos independientes de cualquier fabricante. Se pretendía con ello no
favorecer a ninguno a la hora de desarrollar implementaciones de los protocolos
correspondientes, cosa que inevitablemente habría ocurrido si se hubiera
adoptado alguna de las arquitecturas existentes, como la SNA de IBM o la DNA
(Digital Network Architecture) de Digital. Se esperaba llegar a convertir los
protocolos OSI en el auténtico Esperanto de las redes telemáticas. Por
diversas razones que veremos luego el éxito de los protocolos OSI en la
práctica ha sido mucho menor de lo inicialmente previsto (cosa que por cierto
también le ha ocurrido al Esperanto, aparentemente).
Seguramente la aportación más importante de la iniciativa
OSI ha sido precisamente su arquitectura. Ésta ha servido como marco de
referencia para describir multitud de redes correspondientes a diversas
arquitecturas, ya que la arquitectura OSI es bien conocida en entornos de
redes, y su generalidad y no dependencia de ningún fabricante en particular le
hacen especialmente adecuada para estos fines. Por este motivo generalmente a
la arquitectura OSI se la denomina Modelo de Referencia OSI, o también OSIRM
(OSI Reference Model). Por extensión hoy en día se utiliza a menudo el término modelo
de referencia para referirse a una arquitectura de red; así oímos hablar
del Modelo de Referencia TCP/IP, el Modelo de Referencia ATM, etc.
El modelo OSI define siete capas, curiosamente como en la
arquitectura SNA si bien la funcionalidad es diferente. Las capas son las
siguientes:
o Física
o Enlace
o Red
o Transporte
o Sesión
o Presentación
o Aplicación
La ISO ha especificado protocolos para todas las capas,
aunque algunos son poco utilizados. En función del tipo de necesidades del
usuario no siempre se utilizan todas ellas.
Pasaremos a describir brevemente las funciones desarrolladas
por cada una de las capas.
La Capa Física
Esta capa transmite los bits entre dos entidades (nodos)
directamente conectadas. Puede tratarse de un enlace punto a punto o de una
conexión multipunto (una red broadcast, por ejemplo Ethernet). La comunicación
puede ser dúplex, semi-dúplex o simplex. Si la información se transmite por
señales eléctricas se especifican los voltajes permitidos y su significado (1 ó
0) y análogamente para el caso de fibra óptica. Se especifican las
características mecánicas del conector, la señalización básica, etc.
Como ejemplos de la capa física podemos mencionar las norma
EIA RS-232-C, utilizada por las puertas COM de los ordenadores personales, la
EIA-RS-449, CCITT X.21/X.21bis, CCITT V.35. Las normas de redes locales
incluyen en sus especificaciones la capa física (IEEE 802.3 o Ethernet, IEEE
802.5 o Token Ring, ISO 9314 o FDDI, etc.)
Muchas de las normas que existen en la capa física se
refieren a la interfaz utilizada para conectar un ordenador con un módem o
dispositivo equivalente, que a través de una línea telefónica conecta con otro
módem y ordenador en el extremo opuesto. Este es el caso por ejemplo de las
normas EIA RS-232-C, EIA-RS-449, CCITT X.21/X.21bis y CCITT V.35 antes mencionadas.
En estos el conector del ordenador y el módem son de diferente ‘sexo’ (macho o
hembra). En este contexto se suele utilizar la denominación DTE (Data
Terminal Equipment) para referirse al ordenador y DCE (Data
Circuit-Terminating Equipment) para referirse al módem. El ‘módem’ en
ocasiones no es más que un adaptador, ya que por ejemplo la norma X.21 se
utiliza para líneas digitales. En sentido general al equipo que actúa como
adaptador entre el ordenador y el medio de transmisión se le denomina CSU/DSU
(Channel Service Unit/ Data Service Unit).
La capa de enlace (data link)
La principal función de la capa de enlace es ofrecer un
servicio de comunicación fiable a partir de los servicios que recibe de la capa
física, también entre dos entidades contiguas de la red. Esto supone que se
realice detección y posiblemente corrección de errores. A diferencia de la capa
física, que transmitía los bits de manera continua, la capa de enlace transmite
los bits en grupos denominados tramas (frames en inglés) cuyo tamaño
es típicamente de unos pocos cientos a unos pocos miles de bytes. En caso de
que una trama no haya sido transmitida correctamente se deberá enviar de nuevo;
también debe haber mecanismos para reconocer cuando una trama se recibe
duplicada. Generalmente se utiliza algún mecanismo de control de flujo, para
evitar que un transmisor rápido pueda ‘abrumar’ a un receptor lento.
Las redes broadcast utilizan funciones especiales de la capa
de enlace para controlar el acceso al medio de transmisión, ya que éste es
compartido por todos los nodos de la red. Esto añade una complejidad a la capa
de enlace que no está presente en las redes basadas en líneas punto a punto,
razón por la cual en las redes broadcast la capa de enlace se subdivide en dos
subcapas: la inferior, denominada subcapa MAC (Media Access Control) se ocupa
de resolver el problema de acceso al medio, y la superior, subcapa LLC (Logical
Link Control) cumple una función equivalente a la capa de enlace en las líneas
punto a punto.
Ejemplos de protocolos de la capa de enlace son el ISO 7776,
la capa de enlace de X.25 (de la ITU) o el
ISO HDLC. Como ejemplos de protocolos de la subcapa MAC podemos citar
los IEEE 802.3 (Ethernet), IEEE 802.5 (Token Ring) o el ISO 9314 (FDDI). El
protocolo de subcapa LLC de todas las redes locales broadcast es el IEEE 802.2.
La capa de red
La capa de red se ocupa del control de la subred. Esta es la
capa que tiene ‘conciencia’ de la topología de la red, y se ocupa de decidir
por que ruta va a ser enviada la información; la decisión de la ruta a seguir
puede hacerse de forma estática, o de forma dinámica en base a información
obtenida de otros nodos sobre el estado de la red.
De forma análoga a la capa de enlace la capa de red maneja
los bits en grupos discretos que aquí reciben el nombre de paquetes;
motivo por el cual a veces se la llama la capa de paquete. Los paquetes tienen
tamaños variables, pudiendo llegar a ser muy elevados, sobre todo en protocolos
recientes, para poder aprovechar eficientemente la elevada velocidad de los
nuevos medios de transmisión (fibra óptica, ATM, etc.). Por ejemplo en TCP/IP
el tamaño máximo de paquete es de 64 KBytes, pero en el nuevo estándar, llamado
IPv6, el tamaño máximo puede llegar a ser de 4 GBytes (4.294.967.296 Bytes).
Entre las funciones de la capa de red cabe destacar, aparte
de la ya mencionada de elegir la ruta a seguir, el control del tráfico para
evitar situaciones de congestión o 'atascos'. En el caso de ofrecer servicios
con QoS el nivel de red debe ocuparse de reservar los recursos necesarios para
poder ofrecer el servicio prometido con garantías. También debe ser capaz de
efectuar labores de contabilidad del tráfico en caso necesario (por ejemplo si
el servicio se factura en base a la cantidad de datos transmitidos).
En la capa de red es donde con mas intensidad se observa la
distinción entre servicios orientados y no orientados a conexión (CONS vs
CLNS). En el curso veremos en detalle las redes ATM, que en el nivel de red dan
un servicio de tipo CONS, y las redes TCP/IP, que en el nivel de red dan un
servicio de tipo CLNS.
La capa de red es la más importante en redes de conmutación
de paquetes (tales como X.25 o TCP/IP). Algunos ejemplos de protocolos
utilizados en la capa de red son los protocolos de nivel de paquete y nivel de
pasarela CCITT X.25 y X.75, el IP (Internet Protocol), CCITT/ITU-T Q.931,
Q.933, Q.2931, y el OSI CLNP (ConnectionLess Network Protocol).
En las redes de tipo broadcast el nivel de red es casi
inexistente, ya que desde un punto de vista topológico podemos considerar que
en una red broadcast los nodos están interconectados todos con todos, por lo
que no se toman decisiones de encaminamiento. Sin embargo veremos que la unión
de redes broadcast mediante puentes suscita en algunos casos la necesidad de
efectuar tareas propias del nivel de red en el nivel de enlace.
La capa de transporte
La capa de transporte es la primera que se ocupa de
comunicar directamente nodos terminales, utilizando la subred como un medio e
transporte transparente gracias a los servicios obtenidos de la capa de red.
Por esta razón se la ha llamado históricamente la capa host-host. También se
suele decir que es la primera capa extremo a extremo.
La principal función de la capa de transporte es fragmentar
de forma adecuada los datos recibidos de la capa superior (sesión) para
transferirlos a la capa de red, y asegurar que los fragmentos llegan y son
recompuestos correctamente en su destino.
En condiciones normales la capa de transporte solicita a la
capa de red una conexión diferente por cada solicitud recibida de la capa de
sesión, pero puede haber razones de costo que aconsejen multiplexar diferentes
conexiones en la capa de sesión sobre una sola conexión en la capa de red o,
inversamente, razones de rendimiento pueden requerir que una conexión
solicitada por la capa de sesión sea atendida por varias conexiones en la capa
de red; en ambos casos la capa de transporte se ocupará de hacer la
multiplexación mas adecuada de forma transparente a la capa de sesión.
La capa de transporte establece el tipo de servicio que
recibe la capa de sesión, y en último extremo los usuarios. Éste podría ser por
ejemplo un servicio libre de errores que entrega los mensajes en el mismo orden
en que se envían; también podría ser un servicio de datagramas, es decir,
mensajes independientes sin garantía en cuanto al orden de entrega ni
confirmación de la misma, o un servicio broadcast o multicast en que los
paquetes se distribuyen a múltiples destinos simultáneamente.
El control de flujo, que ha aparecido en capas anteriores,
es necesario también en la capa de transporte para asegurar que un host rápido
no satura a uno lento. La capa de transporte realiza también su propio control
de errores, que resulta ahora esencial pues algunos protocolos modernos como
Frame Relay o ATM han reducido o suprimido totalmente el control de errores de
las capas inferiores, ya que con las mejoras en la tecnología de transmisión de
datos éstos son menos frecuentes y se considera mas adecuado realizar esta
tarea en el nivel de transporte.
Salvo el caso de transmisiones multicast o broadcast el
nivel de transporte se ocupa siempre de una comunicación entre dos entidades,
lo cual le asemeja en cierto sentido al nivel de enlace. Por esto existen
grandes similitudes entre ambas capas en cuestiones tales como el control de
errores o control de flujo.
Ejemplos de protocolos de transporte incluyen el CCITT
X.224, también llamado protocolo de transporte OSI TP4 (Transport Protocol 4).
En Internet existen dos protocolos de transporte: TCP y UDP.
La capa de sesión
La capa de sesión es la primera que es accesible al usuario,
y es su interfaz más básica con la red. Por ejemplo, mediante los servicios de
la capa de sesión un usuario podría establecer una conexión como terminal
remoto de otro ordenador. En un sistema multiusuario la capa de sesión se ocupa
de ofrecer un SAP a cada usuario para acceder al nivel de transporte.
La capa de presentación
Hasta aquí nos hemos preocupado únicamente de intercambiar
bits (o bytes) entre dos usuarios ubicados en dos ordenadores diferentes. Lo
hemos hecho de manera fiable y entregando los datos a la sesión, es decir al
usuario, pero sin tomar en cuenta el significado de los bits transportados. La
capa de presentación se ocupa de realizar las conversiones necesarias para
asegurar que dichos bits se presentan al usuario de la forma esperada. Por
ejemplo, si se envía información alfanumérica de un ordenador ASCII a uno
EBCDIC será preciso efectuar una conversión, o de lo contrario los datos no
serán interpretados correctamente. Lo mismo podríamos decir de la transferencia
de datos enteros, flotantes, etc. cuando la representación de los datos difiere
en los ordenadores utilizados.
La capa de aplicación
La capa de aplicación comprende los servicios que el usuario
final está acostumbrado a utilizar en una red telemática, por lo que a menudo
los protocolos de la capa de aplicación se denominan servicios. Dado que
se crean continuamente nuevos servicios, existen muchos protocolos para la capa
de aplicación, uno o más por cada tipo de servicio.
Ejemplos de protocolos estándar de la capa de aplicación son
el X.400 o X.500 de la ITU, los protocolos SMTP, FTP y HTTP de Internet, etc.
Transmisión de datos en el modelo OSI
La transmisión de datos en el modelo OSI se realiza de forma
análoga a lo ya descrito para el modelo de capas. La capa de aplicación recibe
los datos del usuario y les añade una cabecera (que denominamos cabecera de
aplicación), constituyendo así la PDU (Protocol Data Unit) de la capa de aplicación.
La cabecera contiene información de control propia del protocolo en cuestión.
La PDU es transferida a la capa de aplicación en el nodo de destino, la cual
recibe la PDU y elimina la cabecera entregando los datos al usuario. En
realidad la PDU no es entregada directamente a la capa de aplicación en el nodo
de destino, sino que es transferida a la capa de presentación en el nodo local
a través de la interfaz; esto es una cuestión secundaria para la capa de
aplicación, que ve a la capa de presentación como el instrumento que le permite
hablar con su homóloga en el otro lado.
A su vez la capa de presentación recibe la PDU de la capa de
aplicación y le añade una cabecera propia, (cabecera de presentación) creando
la PDU de la capa de presentación Esta PDU
es transferida a la capa de presentación en el nodo remoto usando a la capa de
sesión como instrumento para la comunicación, de manera análoga a lo ya
descrito para la capa de aplicación.
En el caso mas general cada capa añade una cabecera propia a
los datos recibidos de la capa superior, y construye así su PDU. La capa
homóloga del nodo de destino se ocupará de extraer dicha cabecera,
interpretarla, y entregar la PDU correspondiente a la capa superior. En algunos
casos la cabecera puede no existir. En el caso particular de la capa de enlace
además de la cabecera añade una cola al construir la PDU (trama) que entrega a
la capa física.
Volviendo por un momento a nuestra analogía de los dos
ejecutivos que intercambian un documento, vemos que a medida que vamos
descendiendo capas en el envío (jefe, secretaria, motorista, líneas aéreas) el
documento va recibiendo nuevos envoltorios que contienen a los anteriores. A la
llegada el paquete es procesado de forma simétrica, es decir se le va
quitando en cada capa el envoltorio correspondiente antes de pasarlo a la
siguiente.
El modelo de referencia TCP/IP
En 1969 la agencia ARPA (Advanced Research Projects Agency)
del Departamento de Defensa (DoD, Department of Defense) de los Estados Unidos
inició un proyecto de interconexión de ordenadores mediante redes telefónicas.
Al ser un proyecto desarrollado por militares en plena guerra fría un principio
básico de diseño era que la red debía poder resistir la destrucción de parte de
su infraestructura (por ejemplo a causa de un ataque nuclear), de forma que dos
nodos cualesquiera pudieran seguir comunicados siempre que hubiera alguna ruta
que los uniera. Esto se consiguió en 1972 creando una red de conmutación de
paquetes denominada ARPAnet, la primera de este tipo que operó en el mundo. La
conmutación de paquetes unida al uso de topologías malladas mediante múltiples
líneas punto a punto dio como resultado una red altamente fiable y robusta.
La ARPAnet fue creciendo paulatinamente, y pronto se
hicieron experimentos utilizando otros medios de transmisión de datos, en
particular enlaces por radio y vía satélite; los protocolos existentes tuvieron
problemas para interoperar con estas redes, por lo que se diseñó un nuevo
conjunto o pila de protocolos, y con ellos una arquitectura. Este nuevo
conjunto se denominó TCP/IP (Transmission Control Protocol/Internet Protocol)
nombre que provenía de los dos protocolos más importantes que componían la
pila; la nueva arquitectura se llamó sencillamente modelo TCP/IP, los
nuevos protocolos fueron especificados por vez primera por Cerf y Kahn en un
artículo publicado en 1974. A la nueva red, que se creó como consecuencia de la
fusión de ARPAnet con las redes basadas en otras tecnologías de transmisión, se
la denominó Internet.
La aproximación adoptada por los diseñadores del TCP/IP fue
mucho más pragmática que la de los autores del modelo OSI. Mientras que en el
caso de OSI se emplearon varios años en definir con sumo cuidado una
arquitectura de capas donde la función y servicios de cada una estaban
perfectamente definidas, y solo después se planteó desarrollar los protocolos
para cada una de ellas, en el caso de TCP/IP la operación fue a la inversa;
primero se especificaron los protocolos, y luego se definió el modelo como una
simple descripción de los protocolos ya existentes. Por este motivo el modelo
TCP/IP es mucho más simple que el OSI. También por este motivo el modelo OSI se
utiliza a menudo para describir otras arquitecturas, como por ejemplo la
TCP/IP, mientras que el modelo TCP/IP nunca suele emplearse para describir
otras arquitecturas que no sean la suya propia.
En el modelo TCP/IP se pueden
distinguir cuatro capas:
o
La capa host-red
o
La capa internet
o
La capa de transporte
o
La capa de aplicación
Pasemos a describirlas brevemente.
La capa host-red
Esta capa engloba realmente las funciones de la capa física
y la capa de enlace del modelo OSI. El modelo TCP/IP no dice gran cosa respecto
a ella, salvo que debe ser capaz de conectar el host a la red por medio de
algún protocolo que permita enviar paquetes IP. Podríamos decir que para el
modelo TCP/IP esta capa se comporta como una ‘caja negra’. Cuando surge una
nueva tecnología de red (por ejemplo ATM) una de las primeras cosas que aparece
es un estándar que especifica de que forma se pueden enviar sobre ella paquetes
IP; a partir de ahí la capa internet ya puede utilizar esa tecnología de manera
transparente.
La capa internet
Esta capa es el ‘corazón’ de la red. Su papel equivale al
desempeñado por la capa de red en el modelo OSI, es decir, se ocupa de
encaminar los paquetes de la forma más conveniente para que lleguen a su
destino, y de evitar que se produzcan situaciones de congestión en los nodos
intermedios. Debido a los requisitos de robustez impuestos en el diseño, la
capa internet da únicamente un servicio de conmutación de paquetes no orientado
a conexión. Los paquetes pueden llegar desordenados a su destino, en cuyo caso
es responsabilidad de las capas superiores en el nodo receptor la reordenación
para que sean presentados al usuario de forma adecuada.
A diferencia de lo que ocurre en el modelo OSI, donde los
protocolos para nada intervienen en la descripción del modelo, la capa internet
define aquí un formato de paquete y un protocolo, llamado IP (Internet
Protocol), que se considera el protocolo 'oficial' de la arquitectura.
La capa de transporte
Esta capa recibe el mismo nombre y desarrolla la misma
función que la cuarta capa del modelo OSI, consistente en permitir la
comunicación extremo a extremo (host a host) en la red. Aquí se definen dos
protocolos: el TCP (Transmission Control Protocol) ofrece un servicio CONS
fiable, con lo que los paquetes (aquí llamados segmentos) llegan ordenados y
sin errores. TCP se ocupa también del control de flujo extremo a extremo, para evitar
que por ejemplo un host rápido sature a un receptor más lento. Ejemplos de
protocolos de aplicación que utilizan TCP son el SMTP (Simple Mail Transfer
Program, correo electrónico) y el FTP (File Transfer Protocol).
El otro protocolo de transporte es UDP (User Datagram
Protocol) que da un servicio CLNS, no fiable. UDP no realiza control de errores
ni de flujo. Una aplicación típica donde se utiliza UDP es la transmisión de
voz y vídeo en tiempo real; aquí el retardo que introduciría el control de errores
produciría más daño que beneficio: es preferible perder algún paquete que
retransmitirlo fuera de tiempo. Otro ejemplo de aplicación que utiliza UDP es
el NFS (Network File System); aquí el control de errores y de flujo se realiza
en la capa de aplicación.
La capa de aplicación
Esta capa desarrolla las funciones de las capas de sesión,
presentación y aplicación del modelo OSI. La experiencia ha demostrado que las
capas de sesión y presentación son de poca utilidad, debido a su escaso
contenido, por lo que la aproximación adoptada por el modelo TCP/IP parece mas
acertada.
La capa de aplicación contiene todos los protocolos de alto
nivel que se utilizan para ofrecer servicios a los usuarios. Entre estos
podemos mencionar tanto los ‘tradicionales’, que existen desde que se creó el
TCP/IP: terminal virtual (TelNet), transferencia de ficheros (FTP), correo
electrónico (SMTP) y servidor de nombres (DNS), como los mas recientes, como el
servicio de news (NNTP), el Web (HTTP), el Gopher, etc.
Comparación de los modelos OSI y TCP/IP
Como ya hemos comentado, la génesis del modelo OSI y TCP/IP
fue muy diferente. En el caso de OSI primero fue el modelo y después los
protocolos, mientras que en TCP/IP el orden fue inverso. Como consecuencia de
esto el modelo OSI es mas elegante y esta menos condicionado por ningún
protocolo en particular, y se utiliza profusamente como modelo de referencia
para explicar todo tipo de redes. El modelo OSI hace una distinción muy clara
entre servicios, interfaces y protocolos, conceptos que a menudo se confunden
en el modelo TCP/IP. Podríamos decir que la arquitectura (o el modelo) OSI es
mas modular y académico que el TCP/IP.
Pero este mayor nivel de abstracción también tiene sus
inconvenientes. Los diseñadores del modelo OSI no tenían experiencia práctica
aplicando su modelo para desarrollar protocolos y olvidaron algunas
funcionalidades importantes. Por ejemplo, las redes broadcast no fueron
previstas inicialmente en la capa de enlace, por lo que se tuvo que insertar a
la fuerza la subcapa MAC para incluirlas. Otro problema era que no se había
previsto la interconexión de redes diferentes, cosa que fue como ya hemos visto
el alma mater del modelo TCP/IP.
El modelo OSI tiene siete capas, mientras que el modelo
TCP/IP sólo tiene cuatro. Aunque es desafortunada la fusión de la capa física y
la de enlace en una oscura capa host-red, la fusión de las capas de sesión,
presentación y aplicación en una sola en el modelo TCP/IP es claramente mas
lógica que la del modelo OSI.
Otra diferencia fundamental estriba en los servicios
orientados a conexión (CONS) o no orientados a conexión (CLNS). El modelo OSI
soporta ambos modos en la capa de red, pero sólo el modo CONS en la capa de
transporte, que es la que percibe el usuario. El modelo TCP/IP en cambio
soporta solo CLNS en la capa de red, pero ambos en la de transporte. Quizá un
sutil detalle pueda explicar esta diferencia: el servicio CONS a nivel de red
hace mucho mas sencillo facturar por tiempo de conexión, cosa a la que están
muy acostumbradas las compañías telefónicas, que son las que han participado
activamente en los comités técnicos de ISO que diseñaron el modelo OSI.
En la práctica los protocolos basados en las normas estándar
OSI definidas por la ISO nunca llegaron a tener gran relevancia a nivel
mundial, a pesar de que la mayoría de los grandes fabricantes de ordenadores y
compañías telefónicas impulsaron su utilización ofreciendo productos y
servicios basados en ellos. Las razones principales que motivaron este fenómeno
las podemos resumir en los siguientes puntos:
- Momento inadecuado: Para cuando estaban disponibles productos comerciales basados en protocolos OSI (finales de los ochenta) ya estaban ampliamente difundidos los productos basados en los protocolos TCP/IP; esto era especialmente cierto en entornos académicos (universidades y centros de investigación), que aunque económicamente no eran los mejor dotados sí tenían las mayores redes a nivel mundial.
- Tecnología inapropiada: como ya hemos comentado la elección del modelo de siete capas para el protocolo OSI era algo forzada. Una de las razones que llevaron a elegir este número de capas era que coincidía con el del modelo SNA de IBM, que dominaba el mercado de la informática por aquel entonces; los autores del modelo OSI creían que aproximándose a SNA tenían mayores posibilidades de éxito. La complejidad de la arquitectura OSI (análogamente a la SNA) es considerable, y en muchos aspectos difícil de traducir en programas.
- Implementaciones inadecuadas: en parte como consecuencia de su complejidad, los productos comerciales que aparecían basados en los protocolos OSI eran muy caros y poco fiables. Esto creó un círculo vicioso, ya que al ser caros los usuarios no los compraban, y al no usarse en condiciones reales los nuevos productos no se depuraban; además, las empresas fabricantes tenían que mantener un alto precio del software OSI para compensar los elevados costos de desarrollo y mantenimiento. Como contraste una de las primeras implementaciones de TCP/IP formaba parte del UNIX de Berkeley, era muy buena y además se distribuía gratuitamente. No es extraño pues que rápidamente se asociara OSI con baja calidad, complejidad y costos elevados.
- Mala política: el desarrollo de OSI era patrocinado principalmente por la ISO, las PTTs europeas, la Comunidad Europea y los gobiernos de sus países miembros; las decisiones eran fruto de multitud de reuniones de los diversos comités y grupos de trabajo, y en ocasiones se tomaban en consideración no sólo aspectos técnicos sino también políticos, buscando el compromiso entre sus miembros. Por el contrario el desarrollo de TCP/IP seguía un curso mucho más improvisado e informal, cualquier persona podía (y puede) proponer un nuevo protocolo para su estandarización independientemente de su nacionalidad, prestigio o situación laboral. Haciendo una simplificación podríamos decir que OSI funcionaba como una 'democracia parlamentaria' (similar a un gobierno moderno), mientras que TCP/IP era más similar a una ONG, o a un movimiento alternativo; esto se reflejaba incluso en la indumentaria utilizada por uno y otro colectivo. No es de extrañar que en entornos académicos (de nuevo recordemos los más avanzados en redes globales) se viera con mucha más simpatía el mecanismo de estandarización del TCP/IP que el de OSI.
Aunque por la exposición anterior pueda parecer lo
contrario, también existen aspectos negativos en los protocolos TCP/IP. Por un
lado no se distinguen claramente los conceptos de servicio, interfaz y
protocolo. En segundo lugar, el 'modelo' TCP/IP fue diseñado con posterioridad
al protocolo, intentando imitar la labor de síntesis que se había hecho en el
modelo OSI (podríamos decir que es como si se hubieran cortado los patrones
después de cosido el traje). En tercero esta la 'caja negra' que hemos llamado
capa host-red y que en el modelo TCP/IP es mas bien una interfaz que una capa,
ya que lo único que se especifica de ella es que ha de ser capaz de transmitir
paquetes IP. Como consecuencia de esto el modelo TCP/IP no distingue entre la
capa física y la de enlace, ya que ambas entran en la 'capa' host-red.
Por otro lado, aun cuando los protocolos IP y TCP fueron
diseñados concienzudamente y bien implementados, algunos protocolos,
especialmente del nivel de aplicación, fueron el resultado de una improvisación
para resolver un problema concreto; como las implementaciones se distribuían
después de forma gratuita se extendían con rapidez por lo que resultaban
difíciles de sustituir; un ejemplo de esto lo tenemos en el protocolo TelNet
que se utiliza ampliamente a pesar de no tener soporte para interfaz gráfica,
ratón, etc.
Durante la década de los ochenta en Europa las redes
académicas de la mayoría de los países (incluido España) utilizaban protocolos
OSI por imposición de los respectivos gobiernos y de la Comunidad Europea; a la
vista de los problemas ya mencionados de los productos OSI, y la extensión y
buen resultado de los protocolos TCP/IP, se empezaron a ofrecer en 1991
servicios basados en TCP/IP, lo cual provocó su inmediata difusión por toda Europa
y el estancamiento y casi desaparición de los servicios basados en protocolos
OSI.
Probablemente el único protocolo OSI que sobrevivirá la
batalla contra TCP/IP será el X.500, protocolo a de aplicación que implementa
los servicios de directorio. Estos estaban cubiertos en TCP/IP por un servicio
denominado Whois de funcionalidad mucho mas pobre. Probablemente es el hecho de
no haber una alternativa en TCP/IP lo que ha salvado a X.500, que actualmente
funciona sobre TCP/IP.
Consecuentemente con los puntos fuertes y débiles de cada
modelo y protocolo, en el curso nos basaremos en una versión modificada del
modelo OSI, del cual hemos suprimido la capa de sesión y la de presentación.
Sin embargo utilizaremos este modelo para describir fundamentalmente protocolos
TCP/IP, si bien también hablaremos de otros mas modernos y que en muchos casos
se utilizan como medio de transporte para TCP/IP. En la tabla siguiente hacemos
un resumen del modelo y los protocolos más comunes de cada capa.
Capa
|
Protocolo
|
Aplicación
|
TCP/IP (DNS, SMTP,
SNMP, NNTP, HTTP)
|
Transporte
|
TCP/IP (TCP, UDP) ATM (AAL1, AAL2, AAL3/4, AAL5)
|
Red
|
TCP/IP (IP, ICMP, ARP, RARP, OSPF, BGP, IPv6), ATM (Q2931)
|
Enlace
|
ISO( HDLC), TCP/IP
(SLIP, PPP), ATM, LANs
|
Física
|
N-ISDN, B-ISDN (ATM),
GSM, SONET/SDH, LANs
Cable coaxial, cable UTP, fibra óptica, microondas, radioenlaces,
satélite
|
Tabla
1.1.- Ejemplos de protocolos en cada uno de los niveles del modelo de red
OSI-TCP/IP
No hay comentarios:
Publicar un comentario