sábado, 9 de marzo de 2013

Modelos de referencia


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