viernes, 20 de enero de 2012

InterNET: Red de Redes. I. Los orígenes

Entre la detención de los dueños de Megaupload o la denuncia a otras webs, la próxima votación de la llamada SOPA en USA o la ley Sinde aquí en las provincias del mundo, creo interesante recordar cómo surge InterNET y sus diversos avatares a lo largo del tiempo.

En nuestro imaginario están, por un lado, los ISP (Proveedores de Acceso a Internet, en España típicamente Telefónica, Vodafone y otros), por otro las grandes empresas que se lucran con el comercio electrónico, o las web de enlaces a contenidos casi siempre sujetos a derechos de autor, y, finalmente, nosotros, los usuarios. Normalmente imaginamos Internet como una maraña de conexiones de un punto a otro: digamos, yo arranco el computador y me conecto a, digamos, Facebook. Esta imagen de InterNET es correcta, pero muy incompleta. Pretendo que con este texto y otros que sigan, podamos hacernos una idea mejor de cómo funciona. Y para explicar como funciona, nada mejor que recordar su origen y evolución.

La historia de InterNET corre paralela a la historia de Unix. Por un lado, hay que recordar que, por entonces, en los años 60 y 70, la computación era un recurso brutalmente caro. Por otro lado, está la parte de la historia más conocida: en plena Guerra Fría, el ejército de USA se interesó por un sistema de comunicaciones en red que garantizase que la pérdida de algún nodo de la red no implicase el colapso de las comunicaciones. De ahí se derivó un protocolo de comunicaciones con el nombre de la Agencia que lo había encargado: Arpa, y que dio lugar a una red con el descriptivo nombre de Arpanet.

Suele maximizarse la importancia de Arpanet en el desarrollo de Internet, pero eso es sólo una excusa para mantener la mitología de que los avances militares antes o después redundan en la sociedad civil... y es que, aunque no se pueda negar que eso sea cierto en algunas ocasiones, no lo es más que, en el mejor de los casos, sea un extraordinario rodeo.

En los años 70, a medida que se iba comprobando las ventajas de la interconexión de equipos informáticos, se trató de establecer la forma en la que interconectar equipos a largas distancias. Dicen de la época que era bastante desalentador ver la atmósfera de desconfianza en las reuniones entre los directivos de las grandes empresas de telecomunicaciones (telefonía, sobre todo) y los informáticos universitarios: aquéllos señores orondos en caros trajes, éstos barbudos más o menos desaliñados... como era de esperar, las cosas no fueron muy bien.

No era la desconfianza el único problema: en Europa se apostaba por un protocolo de comunicaciones más semejante al sistema telefónico tradicional: estableces una línea (en este contexto, una ruta entre nodos) y por ella mandas los paquetes de forma sucesiva; en cambio, en América los investigadores universitarios apostaban por los protocolos TCP/IP. Estos protocolos eran muy sencillos de implementar, aunque con muchos problemas, de seguridad y coherencia al principio y ahora vemos el último gran escollo cuando se tenga que cambiar del protocolo IPv4 al IPv6. Puede decirse que gran parte de la historia de los servicios ofrecidos a través de InterNET es consecuencia directa de las limitaciones de TCP/IP.

Cuando he hablado antes de la imagen mental de InterNET, he dado a entender que InterNET era una red que permite la interconexión de computadores. Y he dicho que eso es falso, o al menos, una imagen muy incompleta. InterNET es un sistema de interconexión de redes, no de computadores. Mediante TCP/IP conectamos una red con otra, que a su vez nos permite acceder a otras. No importa en qué consiste una red: puede ser un equipo conectado a través de un módem, puede ser una red doméstica, o una red universitaria con cientos de equipos. Incluso pueden crearse redes locales con equipos que se interconectan a través de InterNET. Es en parte por eso que suelo poner NET en mayúsculas, para enfatizar que lo que InterNET permite conectar son redes completas, no computadores individuales. Y no importa cómo se conectan entre sí los distintos equipos de cada red individual: una red puede usar IPX, otra por ejemplo X25, etc.

Ante el bloqueo de las negociaciones antes mencionadas, muchos universitarios decidieron interconectar las universidades por su cuenta, a través del operador telefónico: para ello se desarrollaron los módems. Si bien fueron las universidades de USA las primeras en conectarse (y ahora podemos decir mejor) con InterNET, las europeas no tardaron mucho en seguirlas.

Es común asociar InterNET con las páginas y sitios web. Sin embargo, estos constituyen una parte de los servicios que se ofrecen a través de InterNET. De hecho, hay que esperar casi 20 años desde que se interconectan las primeras universidades americanas hasta que Tim Berners-Lee inventa web. Retrocedamos otra vez para encontrarnos con el gran protagonista hasta ahora ausente: Unix.

En los años 70 y 80, la red telefónica sólo permitía conexiones muy lentas. Básicamente, se podías mandar correos electrónicos y enviar o recibir ficheros. Sin embargo, Unix pronto incorpora el protocolo TCP/IP en su propio núcleo. Eso, entre muchas otras cosas permite que un equipo doméstico pueda acceder a un computador central en otra ubicación. Y no sólo eso: permite compartir recursos: sea una impresora, un dispositivo de disco... Nacen dos conceptos fundamentales para la informática actual: el concepto de compartir recursos, y la computación personal.

Un estudiante o cualquier otra persona podía entonces costearse una cuenta en un sistema Unix. Con un simple terminal que constaba de un pequeño monitor y un teclado (con un ratón en el mejor de los casos) y un módem, podía conectarse a un sistema Unix, identificarse en él y utilizar los recursos de dicho sistema.

Fijaos en cualquier dirección de internet al azar: veis que las páginas se organizan en carpetas, de forma muy similar a como lo hacemos en nuestros discos... sin embargo, la barra para separar las carpetas de su contenido es la de dividir ('/'), no la habitual de los sistemas Microsoft ('\'): no es casualidad que los contenidos de un sitio web se organicen usando el mismo separador que en Unix!

Como aun así, una cuenta era relativamente cara y la capacidad de las líneas telefónicas era muy reducida, se organizaron un buen montón de formas de maximizar lo que se podía hacer con las redes: pronto se organizaron listas de correo para poder crear pequeñas comunidades online y con ellas surgieron los primeros protocolos de comunicación: en particular, la netiquette. Si veis ahora algún listado de normas de comportamiento, veréis que el desperdicio del ancho de banda era una preocupación frecuente.

A medida que las empresas y otras organizaciones fueron haciendo un uso cada vez mayor de la interconexión con InterNET, también comenzaron a aparecer los primeros usuarios más interesados en explotar las debilidades de los demás que en el uso más o menos responsable de los primeros universitarios. Tanto Unix como InterNET se habían creado con la vista puesta en facilitar la vida de los usuarios, con lo que la súbita aparición de la necesidad de seguridad fue todo un desafío. Ésta fue la segunda pata de los tres grandes problemas que arrastró InterNET casi desde su origen.

Antes de finalizar este primer contacto con InterNET, he de mencionar un suceso que cambió todo para bien o para mal: FreeBSD. La parte de la historia que le toca está relacionada con los problemas de propiedad que encierra esta historia, y que son el tercer gran problema, junto con la debilidad de TCP/IP y la seguridad.

Los ingenieros que crearon Unix, TCP/IP y gran parte del software que usamos no tenían la propiedad del software entre sus preocupaciones. Creaban software con frecuencia utilizando retazos de software que otros habían desarrollado antes, con el único ánimo de crear aquella aplicación que necesitasen. Con frecuencia, las Universidades no se metían en ese comportamiento, pero las grandes empresas fueron otra historia.

Muchas grandes empresas (y muchos desarrolladores, sería ingenuo suponer que todos eran una camada de hippys anarquistas) consideraban importante mantener la propiedad del software: bien porque lo veían como una ventaja competitiva -secreto industrial- o una fuente de aprovechamiento económico -venta de licencias- o por cualquier motivo que se le metiese al ejecutivo de turno entre ceja y ceja. El resultado era un código cerrado muchas veces ajustado a máquinas concretas -no utilizable por tanto en otras distintas-. FreeBSD fue en su momento un proyecto para crear una especie de Unix pero adaptada a los entonces recientes procesadores Intel, manteniendo además el código abierto. Quizás los responsables de FreeBSD fueron muy lejos, creando una licencia (llamada "tipo BSD") demasiado abierta... tanto que permitía que cualquiera hiciese modificaciones de su código y publicase el resultado... ¡con cualquier otra licencia!!

Microsoft fue el primero en aprovecharse de esta debilidad: creó su propia implementación -no del todo compatible- y la publicó con una licencia restrictiva. Así, la maraña legal que hasta entonces sólo sacudía a los sistemas Unix entró con fuerza en los aun incipientes PC de IBM. La lentitud con la que se desplegaron los nuevos servicios tuvo buena parte de su origen en la lucha por mantener la propiedad de InterNET por parte de algunas corporaciones.

1 comentario:

  1. Hola!
    Muy bueno el artículo, interesante e instructivo de los orígenes de este invento que ha revolucionado el mundo y muchos aspectos de nuestra cultura. Sigue quedando claro que desde el origen Unix ha jugado un papel muy importante, como sistema operativo pensado para redes.
    Me ha gustado, espero las siguientes entregas.
    Salud !!

    ResponderEliminar