¿Por qué la pila OSI no funcionó? ¿Por qué la pila TCP / IP se convirtió en estándar?

Tony Li tiene una buena respuesta. Déjame agregar una anécdota.

Estuve en una conferencia (quiero decir Usenix) donde hubo una sesión sobre FTAM, la transferencia de archivos de OSI equivalente al FTP de TCP / IP. En este momento, el FTP se usaba ampliamente, antes de que despegara HTTP, y había un uso público razonablemente vigoroso con servidores “FTP anónimos” (una especie de pirateo, pero en su mayor parte viable).

El caballero que dio la charla sobre FTAM comenzó disculpándose por el hecho de que el protocolo no estaba completamente completo y pasó de allí para describir cómo, en muchos sentidos, fue (para mí) confuso. Él sabía claramente sus cosas y estaba tan versado como cualquiera podría esperar acerca de FTAM, pero esta cosa fue sobredimensionada de muchas maneras y, sin embargo, no parecía estar lista para el uso público.

Sospecho que si observa otros protocolos de nivel de aplicación OSI en comparación directa con sus contemporáneos TCP / IP, obtendrá resultados similares. Ponga CMIP frente a SNMP, y aunque SNMP tiene algunas decisiones de diseño terribles como ASN.1, sigue siendo “simple” en comparación. O SMTP vs X.400: el tiempo medio para una implementación funcional utilizando herramientas contemporáneas.

En un momento en que OSI solo estaba haciendo que los paquetes fluyeran, la gente de TCP ya estaba usando un nivel inferior en su mayoría bien comportado y abriendo espacio para que un grupo de personas hiciera innovaciones de aplicaciones ad hoc.

La pila OSI en sí misma funcionó (y aún lo hace). Puede construir una red y administrar un negocio sobre ella. No tengo idea de si todavía está en funcionamiento, pero en un momento, un país no trivial dirigió todo su gobierno en una red basada en OSI. De manera conceptual y práctica, todas las piezas están ahí.

La verdadera pregunta es por qué no se convirtió en el estándar de facto. Tenga en cuenta que la pila OSI es en sí misma un conjunto de estándares ISO. No hay duda sobre eso. Pero como ocurre con muchas cosas en las redes, hay tantos estándares diferentes y competitivos que la verdadera pregunta es qué se implementa y se usa.

En ese frente, la pila TCP / IP tenía una gran ventaja: una infraestructura internacional desplegada. Debido a que surgió de la investigación de ARPAnet, después de la transición de IP de 1983, había una red completa que ya brindaba valor, proporcionaba un lugar para la experimentación y crecía lo que hoy se llamaría un ecosistema. OSI nunca tuvo eso.

En cambio, tenía un mandato del gobierno. Debe implementar este estándar o no compraremos su producto. Los vendedores estaban estancados: tenían un producto que funcionaba, que los clientes actuales usaban y este otro cliente que quería algo más. Se dispararon, desarrollaron la pila OSI y luego cobraron por ella. Pero TCP / IP todavía estaba incluido (es decir, sin cargo por separado, efectivamente gratis). Adivina quién ganó eso? Todos, excepto aquellos que operan bajo mandato, usaron IP. Incluso las personas bajo mandato simplemente reclamarían una exención porque necesitaban hacer las cosas ahora mismo y terminarían usando IP.

Moraleja: no se puede exigir un estándar.

Editar: Por cierto, IPv6 también tiene un ‘mandato’. Aparentemente, incluso el IETF no puede aprender esta lección.

La arquitectura OSI es mucho más compleja que TCPIP. Como era de esperar, sus implementaciones se produjeron después de la definición del modelo ISO / OSI, tratando de desarrollar algo compatible con un modelo definido en papel, utilizando un enfoque de arriba hacia abajo.
TCPIP estaba allí antes de la publicación de documentos estándar de OSI (solo las capas superiores pueden compararse de alguna manera con los niveles de OSI correspondientes).
Recuerdo la extrema complejidad de la implementación de DECNET OSI, que durante bastante tiempo estuvo en “competencia” con TCPIP en las redes nacionales italianas (supongo que las redes de otros países estaban en la misma situación). Las estructuras jerárquicas complejas, como las cámaras de compensación, debían mantenerse actualizadas y el proceso consumía mucho tiempo y recursos, en momentos en que el ancho de banda no estaba ampliamente disponible como lo está hoy. TCPIP para mí siempre apareció como una arquitectura * realmente * magra y distribuida, mientras que OSI me recuerda demasiado a una pesada y centralizada.

Las respuestas de Tony y Ed son importantes. Agregaré lo siguiente:

(*) La distribución de los documentos de la pila de protocolos ISO (a diferencia del modelo de pila de red OSI) fue increíblemente costosa, prácticamente fuera del alcance de las personas y muchas pequeñas empresas.

(*) El proceso de creación de las especificaciones del protocolo ISO favoreció en gran medida a las empresas establecidas: los PTT nacionales (operadores post-teléfono-telégrafo). Estas organizaciones querían apoyar sus modelos existentes de pensamiento y negocios y no querían tecnologías disruptivas (es decir: conmutación de circuitos versus conmutación de paquetes, garantías de servicio versus entrega de mejor esfuerzo).

(*) Algunos protocolos ISO tenían tantas formas opcionales de hacer cosas que era posible que dos implementaciones totalmente compatibles no fueran interoperables.

Básicamente, se redujo a suficientes implementaciones de TCP / IP que cuestan menos que las implementaciones de ISO para una funcionalidad similar (a veces mucho menos), y luego los efectos de “red” se hicieron cargo a medida que más organizaciones usaron TCP / IP que ISO, haciendo que TCP / IP sea mucho más atractivo para implementar.

Para mí, la pila de protocolos OSI es un modelo. Estoy encontrando una gran cantidad de software y sistemas de protocolo que se ajustan a este modelo. Regularmente lo aplico a sistemas de software que tienen poco o nada que ver con las redes. Entonces, diría que funciona, como un modelo de cómo los sistemas necesitan ser organizados y modularizados para funcionar dentro de cualquier entorno de procesamiento de protocolos.