Historial de Internet: ARPANET - paquete


Diagrama de red de computadoras ARPA para junio de 1967. Un círculo vacío: una computadora con acceso compartido, un círculo con un guión, una terminal para un usuario


Hacia fines de 1966, Robert Taylor, con dinero de ARPA, lanzó un proyecto para conectar muchas computadoras en un solo sistema, inspirado en la idea de la " red intergaláctica " de Joseph Carl Robert Liklider .

Taylor transfirió la responsabilidad de la ejecución del proyecto a las manos capaces de Larry Roberts . Al año siguiente, Roberts tomó varias decisiones críticas que posteriormente se harán eco en la arquitectura técnica y la cultura de ARPANET y sus seguidores, en algunos casos incluso durante varias décadas. La primera decisión importante, aunque no en cronología, fue determinar el mecanismo para enrutar mensajes de una computadora a otra.

El problema


Si la computadora A desea enviar un mensaje a la computadora B, ¿cómo se puede encontrar este mensaje de uno a otro? En teoría, es posible permitir que cada nodo de la red de comunicación se comunique con todos los demás, conectando nodos físicos a cada nodo entre sí. Para comunicarse con B, la computadora A simplemente envía un mensaje a través del cable de salida que lo conecta a B. Esta red se llama completamente conectada. Sin embargo, para cualquier tamaño de red significativo, este enfoque se vuelve rápidamente poco práctico, ya que el número de conexiones aumenta a medida que el cuadrado del número de nodos (para ser precisos, como (n 2 - n) / 2).

Por lo tanto, se requiere un cierto método para construir una ruta de mensajes que, al llegar el mensaje a un nodo intermedio, lo enviaría más al destino. A principios de la década de 1960, se conocían dos enfoques básicos para resolver este problema. El primero es el método de cambiar mensajes a través del "almacenamiento y transmisión". Este enfoque fue utilizado por el sistema telegráfico. Cuando un mensaje llegó a un nodo intermedio, se almacenó temporalmente allí (generalmente en forma de cinta de papel) hasta que fue posible transferirlo más al objetivo, oa otro centro intermedio ubicado más cerca del objetivo.

Entonces apareció el teléfono y se requirió un nuevo enfoque. Un retraso de varios minutos después de cada declaración hecha por teléfono, que tuvo que ser descifrada y transmitida al destino, daría la sensación de conversación con un interlocutor ubicado en Marte. En cambio, el teléfono usó la conmutación de circuitos. La persona que llama comenzó cada llamada enviando un mensaje especial que indica a quién quiere llamar. Al principio, hicieron esto hablando con el operador, y luego marcaron un número procesado por el equipo automático en el interruptor. El operador o el equipo establecieron una conexión eléctrica dedicada entre la persona que llama y la parte llamada. En el caso de llamadas de larga distancia, esto podría requerir varias iteraciones conectando la llamada a través de varios conmutadores. Una vez establecida la conexión, la conversación en sí podría comenzar, y la conexión se mantuvo hasta que una de las partes la interrumpió colgando.

La comunicación digital, que se decidió utilizar en ARPANET para conectar computadoras que funcionaban de acuerdo con el esquema de tiempo compartido , utilizaba las características tanto del telégrafo como del teléfono. Por un lado, los mensajes de datos se transmitían en paquetes separados, como en un telégrafo, y no en forma de conversaciones continuas por teléfono. Sin embargo, estos mensajes pueden ser de diferentes tamaños para diferentes propósitos, desde comandos de consola de varios caracteres, hasta archivos grandes con datos transferidos de una computadora a otra. Si los archivos se retrasaron en tránsito, nadie se quejó. Pero la interactividad remota requería una respuesta rápida, como una llamada telefónica.

Una diferencia importante entre las redes de datos de computadora por un lado, y un teléfono con telégrafo por el otro, era la sensibilidad a los errores en los datos procesados ​​por las máquinas. Un cambio o pérdida durante la transmisión de un personaje en un telegrama, o la desaparición de una parte de una palabra en una conversación telefónica, difícilmente podría interrumpir seriamente la comunicación de dos personas. Pero si el ruido en la línea cambia un solo bit de 0 a 1 en el comando enviado a la computadora remota, esto podría cambiar completamente el significado del comando. Por lo tanto, cada mensaje tenía que verificarse en busca de errores y reenviarse si se encontraban. Dichas repeticiones serían demasiado costosas para mensajes grandes, y la probabilidad de errores en ellos era mayor, ya que se transmitían por más tiempo.

La solución a este problema surgió gracias a dos eventos independientes que ocurrieron en 1960, sin embargo, los que aparecieron más tarde fueron notados primero por Larry Roberts y ARPA.

Reunión


En el otoño de 1967, Roberts llegó a Gatlinburg, Tennessee, desde detrás de los picos boscosos de las Grandes Montañas Humeantes, para entregar un documento sobre los planes de despliegue de la red ARPA. Había estado trabajando en la Oficina de Tecnología de Procesamiento de la Información (IPTO) durante casi un año, pero muchos de los detalles del diseño de la red todavía eran bastante vagos, incluida la solución al problema de enrutamiento. Además de las vagas referencias a los bloques y sus tamaños, la única referencia a él en el trabajo de Roberts fue un comentario breve y evasivo al final: “Parece necesario mantener una línea de comunicación usada periódicamente para recibir respuestas de una décima a un segundo necesarias para el trabajo interactivo. "Esto es muy costoso en términos de recursos de la red y, a menos que podamos llamar más rápido, el cambio de mensajes y la concentración serán muy importantes para los participantes de la red". Obviamente, en ese momento, Roberts aún no había decidido si abandonar el enfoque que usó con Tom Marrill en 1965, es decir, conectar las computadoras a través de una red telefónica mediante el marcado automático.

Casualmente, otra persona estuvo presente en el mismo simposio, con una idea mucho mejor pensada para resolver el problema del enrutamiento en las redes de datos. Roger Scantbury cruzó el Atlántico, llegando del British National Physical Laboratory (NPL) con un informe. Scantlebury sacó a Roberts a un lado después de su charla y le contó sobre su idea de cambio de paquetes . Esta tecnología fue desarrollada por su jefe en NPL, Donald Davis. En los EE. UU., Los logros y la historia de Davis son poco conocidos, aunque en el otoño de 1967, el grupo de Davis de NPL estaba al menos un año por delante de ARPA con sus ideas.

Davis, como muchos de los primeros pioneros de las computadoras electrónicas, era un físico entrenado. Se graduó en el Imperial College de Londres en 1943 a la edad de 19 años, y fue admitido de inmediato en un programa secreto de desarrollo de armas nucleares, cuyo nombre en código era Tube Alloys . Allí, dirigió un grupo de informáticos que utilizaron calculadoras mecánicas y eléctricas para emitir rápidamente soluciones numéricas a problemas relacionados con la fusión nuclear (su líder era Emil Julius Klaus Fuchs , un físico expatriado alemán que ya había comenzado a transmitir los secretos de las armas nucleares a la URSS ) Después de la guerra, el matemático John Womersley se enteró del proyecto que dirigió en la NPL: era la creación de una computadora electrónica que debía realizar los mismos cálculos a una velocidad mucho más rápida. Desarrollado por Alan Turing, la computadora se llamaba ACE, "máquina de computación automática".

Davis aprovechó esta idea y contrató a la NPL tan rápido como pudo. Contribuyendo al diseño detallado y la creación de la computadora ACE, se mantuvo profundamente involucrado en el campo de las computadoras como líder de investigación en NPL. En 1965, sucedió que estaba en los Estados Unidos en una reunión profesional relacionada con su trabajo, y aprovechó esta oportunidad para visitar varios lugares grandes basados ​​en computadora con tiempo compartido para ver de qué se trataba todo este alboroto. En el entorno informático británico, no se conocía el tiempo compartido en el sentido estadounidense del uso compartido interactivo de computadoras entre múltiples usuarios. En cambio, su tiempo compartido significaba distribuir la carga de la computadora entre varios programas de procesamiento por lotes (de modo que, por ejemplo, un programa funciona mientras otro está ocupado leyendo de la cinta). Entonces esta opción se llamará multiprogramación.

Las andanzas de Davis lo llevaron al Proyecto MAC en el MIT, al Proyecto JOSS de la Corporación RAND en California, y al sistema de tiempo compartido Dartmouth en New Hampshire. De camino a casa, uno de sus colegas sugirió realizar un taller de intercambio para contarle a la comunidad británica sobre las nuevas tecnologías que habían aprendido en los Estados Unidos. Davis estuvo de acuerdo y fue anfitrión de muchas de las figuras más importantes en el campo de la computación estadounidense, incluido Fernando José Corbato (creador del "sistema de tiempo compartido compatible" en el MIT) y el propio Larry Roberts.

Durante el seminario (o, posiblemente, inmediatamente después), a Davis le sorprendió la idea de que la filosofía del tiempo compartido se puede aplicar a las líneas de comunicación de las computadoras, y no solo a las computadoras mismas. Las computadoras de tiempo compartido le dan a cada usuario una pequeña cantidad de tiempo de procesador y luego cambian a otra, creando para cada usuario la ilusión de tener su propia computadora interactiva. Del mismo modo, al cortar cada mensaje en partes de tamaño estándar, que Davis llamó "paquetes", se puede compartir un canal de comunicación entre múltiples computadoras o usuarios de la misma computadora. Además, esto resolvería todos los aspectos de la transmisión de datos para los cuales los conmutadores de teléfono y telégrafo estaban mal adaptados. Un usuario que trabaje con un terminal interactivo, que envíe comandos cortos y reciba respuestas cortas, no será bloqueado por la transferencia de un archivo grande, ya que esta transferencia se dividirá en muchos paquetes. Cualquier daño en mensajes tan grandes afectará a un solo paquete que se puede retransmitir fácilmente para completar el mensaje.

Davis describió sus ideas en un trabajo inédito de 1966, "Una oferta para una red de comunicaciones digitales". En ese momento, las redes telefónicas más avanzadas estaban al borde de la informatización de los conmutadores, y Davis propuso integrar la conmutación de paquetes en una red telefónica de nueva generación, creando una única red de comunicación de banda ancha capaz de manejar varias solicitudes, desde simples llamadas telefónicas hasta acceso remoto a las computadoras. Para entonces, Davis había sido ascendido a gerente de NPL y formó un equipo de comunicaciones digitales dirigido por Scantlebury para implementar su proyecto y crear una demostración funcional.

En el año previo a la conferencia de Gatlinburg, el equipo de Scantlebury resolvió todos los detalles de la creación de una red de paquetes conmutados. Un nodo podría fallar a través del enrutamiento adaptativo, capaz de trabajar con varias rutas hacia el destino, y un solo paquete podría resolverse al reenviarlo. La simulación y el análisis dijeron que el tamaño óptimo del paquete sería de 1000 bytes; si lo hace mucho más pequeño, los costos de rendimiento de línea para los metadatos en el encabezado serán demasiado grandes, mucho más largos, y el tiempo de respuesta para los usuarios interactivos aumentará con demasiada frecuencia debido a los mensajes grandes. .


El trabajo de Scantlebury contenía detalles como el formato del paquete ...


... y análisis del efecto del tamaño de los paquetes en la latencia de la red.

Mientras tanto, las búsquedas de Davis y Scantlebury llevaron al descubrimiento de un trabajo de investigación detallado realizado por otro estadounidense que tuvo una idea similar varios años antes que ellos. Pero al mismo tiempo, Paul Beran , un ingeniero eléctrico de RAND Corporation, no pensaba en absoluto en las necesidades de los usuarios de computadoras con tiempo compartido. RAND fue un grupo de expertos financiado por el Departamento de Defensa de los Estados Unidos en Santa Mónica, California, creado después de la Segunda Guerra Mundial para planificar a largo plazo y analizar cuestiones estratégicas para los militares. El objetivo de Beran era retrasar una guerra nuclear creando una red de comunicaciones militares muy confiable que pudiera sobrevivir incluso a un ataque nuclear a gran escala. Tal red haría menos atractivo un ataque preventivo de la URSS, ya que sería muy difícil destruir la capacidad de los Estados Unidos para golpear varios puntos sensibles en respuesta. Con este fin, Beran propuso un sistema que divide los mensajes en lo que él llama bloques de mensajes que podrían transmitirse de forma independiente a través de una red de nodos de comunicación con un número excesivo de conexiones, y luego ensamblarse juntos en el punto final.

ARPA tuvo acceso a los voluminosos informes de Baran para RAND, pero como no estaban conectados a computadoras interactivas, su importancia para ARPANET no era obvia. Roberts y Taylor, aparentemente, nunca fueron notados. En cambio, como resultado de una reunión casual, Scantlebury presentó todo a Roberts en bandeja de plata: un mecanismo de conmutación bien pensado, aplicabilidad a la tarea de crear redes informáticas interactivas, materiales de referencia de RAND e incluso el nombre "paquete". El trabajo de NPL también convenció a Roberts de que requeriría velocidades más altas para obtener un buen ancho de banda, por lo que actualizó sus planes a enlaces de 50 kbps. Para crear ARPANET, se resolvió la parte fundamental del problema de enrutamiento.

Es cierto que existe otra versión de la idea de la conmutación de paquetes. Roberts luego afirmó que ya tenía pensamientos similares en su cabeza, gracias al trabajo de su colega, Len Kleinrock, quien supuestamente describió este concepto en 1962, en su disertación doctoral en redes de comunicación. Sin embargo, es increíblemente difícil extraer tal idea de este trabajo, y además, no pude encontrar ninguna otra evidencia para esta versión.

Redes que no fueron


Como podemos ver, hasta dos equipos se adelantaron a ARPA en el desarrollo de la conmutación de paquetes, una tecnología que resultó ser tan efectiva que ahora subyace en casi todas las comunicaciones. ¿Por qué ARPANET se convirtió en la primera red importante en usarlo?

Se trata de sutilezas organizacionales. ARPA no tenía permiso oficial para crear una red de comunicación, pero había una gran cantidad de centros de investigación con sus propias computadoras, una cultura de moral "libre" que casi nadie miraba y montañas de dinero. La solicitud inicial de Taylor de 1966 de fondos para crear ARPANET anunció una cifra de $ 1 millón, y Roberts continuó gastando mucho cada año desde 1969 en adelante para crear y operar esta red. Al mismo tiempo, ese dinero era una bagatela para ARPA, por lo que ninguno de sus jefes estaba preocupado por lo que Roberts estaba haciendo con ellos, siempre y cuando al menos pudiera ser llevado a las necesidades de la defensa nacional.

Baran en RAND no tenía la capacidad ni la autoridad para hacer nada. Su trabajo fue puramente investigativo y analítico, y podría aplicarse a la defensa si lo desea. En 1965, RAND realmente recomendó su sistema de la Fuerza Aérea, y estuvieron de acuerdo con la viabilidad del proyecto. Pero su implementación recayó en los hombros de la agencia de comunicaciones de defensa, y allí no estaban particularmente versados ​​en comunicaciones digitales. Beran convenció a las autoridades de RAND de que sería mejor aceptar esta oferta que permitirle darse cuenta de todos modos y arruinar la reputación de las comunicaciones digitales distribuidas.

Davis, como jefe de la NPL, tenía mucho más poder que Baran, pero tenía un presupuesto más limitado que el ARPA, y no tenía una red social y técnica preparada de computadoras de investigación. Se las arregló para crear un prototipo de red local de conmutación de paquetes (solo había un nodo, pero muchos terminales) en el NPL a fines de la década de 1960, con un modesto presupuesto de £ 120,000 durante tres años. ARPANET gastó aproximadamente la mitad de esta cantidad cada año en la operación y mantenimiento de cada uno de los muchos nodos de la red, excluyendo la inversión inicial en hardware y software. La organización capaz de crear una red británica de conmutación de paquetes a gran escala fue la publicación británica, que operaba redes de telecomunicaciones en el país, excepto el correo directo. Davis logró interesar a algunos funcionarios influyentes en sus ideas sobre una red digital nacional, pero no pudo cambiar la dirección del movimiento de un sistema tan grande.

Liklider, combinando suerte y planificación, encontró un hermoso invernadero donde su red intergaláctica podría florecer. Al mismo tiempo, no se puede argumentar que todo, excepto el cambio de paquetes, se basaba en el dinero. El papel y la ejecución de la idea también jugaron. Además, el espíritu de ARPANET también fue determinado por varias otras decisiones importantes en la etapa de diseño. Por lo tanto, examinaremos más a fondo cómo se distribuyó la responsabilidad entre las computadoras que enviaron y recibieron mensajes y la red a través de la cual enviaron estos mensajes.

Que mas leer


  • Janet Abbate, Inventando Internet (1999)
  • Katie Hafner y Matthew Lyon, donde los magos se quedan despiertos hasta tarde (1996)
  • Leonard Kleinrock, "Una historia temprana de Internet", IEEE Communications Magazine (agosto de 2010)
  • Arthur Norberg y Julie O'Neill, Transformando la tecnología informática: procesamiento de información para el Pentágono, 1962-1986 (1996)
  • M. Mitchell Waldrop, The Dream Machine: JCR Licklider y la revolución que hizo que la informática sea personal (2001)

Source: https://habr.com/ru/post/457256/


All Articles