sábado, 15 de marzo de 2014

Demostrando las ideas


DARPA firmó tres contratos con Stanford (Cerf), BBN (Ray Tomlinson) y UCL (Peter Kirstein) para implementar TCP/IP (en el artículo de Cerf y Kahn se llamaba simplemente TCP, pero contenía ambos componentes). El equipo de Stanford, liderado por Cerf, produjo la especificación detallada y, en un año aproximadamente, se realizaron tres implementaciones independientes de TCP que podían interoperar.
Este fue el principio de una experimentación y desarrollo a largo plazo para perfeccionar y madurar los conceptos y la tecnología de Internet. Empezando con las tres primeras redes (ARPANET, red de radiopaquetes y red satélite de paquetes) y sus primeras comunidades de investigación, el entorno experimental incorpora ya prácticamente cualquier forma de red y una comunidad de investigación y desarrollo con una base muy amplia. [REK78]Con cada expansión se han presentado nuevos desafíos.
Las primeras implementaciones de TCP se hicieron con grandes sistemas de tiempo compartido como Tenex y TOPS 20. Cuando aparecieron los ordenadores de sobremesa por primera vez, algunos pensaron que TCP era demasiado grande y complejo para ejecutarse en un ordenador personal. David Clark y su grupo de investigación del MIT se propusieron demostrar que se podía hacer una implementación compacta y sencilla de TCP. Produjeron una implementación, primero para el Xerox Alto (la primera estación de trabajo personal desarrollada por Xerox PARC) y después para el IBM PC. La implementación era completamente interoperable con otros TCP, pero se adaptó al conjunto de aplicaciones y los objetivos de rendimiento de los ordenadores personales, y demostró que las estaciones de trabajo, además de grandes sistemas de tiempo compartido, podían ser parte de Internet. En 1976, Kleinrock publicó el primer libro sobre ARPANET. Destacaba la complejidad de los protocolos y las dificultades que a menudo introducían. Este libro fue influyente a la hora de difundir el conocimiento sobre las redes de conmutación de paquetes entre una comunidad muy amplia.
El amplio desarrollo de LAN, PC y estaciones de trabajo en los años 80 permitió florecer a la incipiente Internet. La tecnología de Ethernet, desarrollada por Bob Metacalfe en Xerox PARC en 1973, es ahora probablemente la tecnología de redes dominante en Internet, y los PC y las estaciones de trabajo son los ordenadores dominantes. Este cambio entre tener unas cuantas redes con un número modesto de hosts de tiempo compartido (el modelo original de ARPANET) y tener muchas redes ha originado una serie de conceptos nuevos y cambios en la tecnología subyacente. Primero, tuvo como resultado la definición de tres clases de redes (A, B y C) para acomodar todas las redes. La clase A representaba las grandes redes a escala nacional (un pequeño número de redes con gran número de hosts); la clase B representaba las redes a escala regional, y la clase C representaba las redes de área local (un gran número de redes con relativamente pocos hosts).
Hubo un gran cambio como resultado del aumento de la escala de Internet y sus problemas de gestión asociados. Para que la gente encontrase fácil el uso de la red, se asignaron nombres a los hosts, de modo que no era necesario recordar las direcciones numéricas. Originalmente, había un número bastante limitado de hosts, de modo que era factible mantener una sola tabla con todos los hosts y sus nombres y direcciones asociados. El cambio de tener un gran número de redes gestionadas de manera independiente (por ejemplo, LAN) significaba que tener una sola tabla de hosts ya no era factible, y Paul Mockapetris, de USC/ISI, inventó el sistema de nombres de dominio (DNS). El DNS permitía un mecanismo escalable distribuido para resolver nombres de hosts jerárquicos (por ejemplo, www.acm.org) en una dirección de Internet.
El aumento de tamaño de Internet también desafiaba las capacidades de los enrutadores. Originalmente, existía un solo algoritmo distribuido para enrutar que se implementaba de manera uniforme en todos los enrutadores de Internet. Cuando aumentó tanto el número de redes en Internet, su diseño inicial no se pudo ampliar lo suficiente, de modo que se reemplazó por un modelo de enrutamiento jerárquico, con un Protocolo de puerta de enlace interna (IGP) que se usaba dentro de cada región de Internet, y un Protocolo de puerta de enlace externa (EGP) que se usaba para unir las regiones. Este diseño permitió que las diferentes regiones usasen un IGP diferente, de modo que se podían cumplir diferentes requisitos de coste, velocidad de reconfiguración, robustez y escala. No solo el algoritmo de enrutamiento, sino también el tamaño de las tablas de direccionamiento suponía un reto para la capacidad de los enrutadores. Nuevos enfoques para la agregación de direcciones, en particular el enrutamiento entre dominios sin clases (CIDR), se han introducido recientemente para controlar el tamaño de las tablas de los enrutadores.
Conforme evolucionó Internet, uno de los principales desafíos fue cómo propagar los cambios al software, en particular al software de host. DARPA apoyó a UC Berkeley para investigar modificaciones del sistema operativo Unix, incluyendo la incorporación de TCP/IP, desarrollado en BBN. A pesar de que Berkeley reescribió después el código de BBN para que encajase de una forma más eficiente en el sistema y kernel de Unix, la incorporación de TCP/IP en el sistema Unix BSD demostró ser un elemento fundamental para la difusión de los protocolos entre la comunidad investigadora. Gran parte de la comunidad investigadora informática empezó a usar Unix BSD en su entorno informático diario. Echando la vista atrás, vemos que la estrategia de incorporar protocolos de Internet en un sistema operativo compatible para la comunidad investigadora fue uno de los elementos clave para el éxito de Internet.
Uno de los retos más interesantes fue la transición del protocolo de host de ARPANET de NCP a TCP/IP el 1 de enero de 1983. Fue una transición “histórica”, que exigió que todos los hosts se convirtiesen simultáneamente para no tener que comunicarse a través de mecanismos especiales. Esta transición se planificó cuidadosamente en la comunidad durante años antes de llevarse a cabo realmente, y fue sorprendentemente bien (pero dio como resultado que se distribuyeran chapas con las palabras “Yo sobreviví a la transición a TCP/IP”).
TCP/IP se había adoptado como estándar en Defensa tres años antes, en 1980. Esto permitió a Defensa empezar a compartir en la base de tecnología de Internet de DARPA, y llevó directamente a la división de las comunidades militar y no militar. En 1983, ARPANET la usaba un número significativo de organizaciones operativas y de I+D de Defensa. La transición de ARPANET de NCP a TCP/IP le permitió dividirse en MILNET, que cumplía requisitos operativos, y ARPANET, que cubría las necesidades de investigación.
Así pues, para 1985 Internet ya estaba bien establecida como tecnología que daba cobertura a una amplia comunidad de investigadores y desarrolladores, y empezaba a ser usada por otras comunidades para comunicaciones informáticas diarias. El correo electrónico se usaba ampliamente entre varias comunidades, a menudo con diferentes sistemas, pero la interconexión entre diferentes sistemas de correo demostraba lo útil que era una amplia comunicación electrónica entre la gente.

miércoles, 19 de febrero de 2014

Comersalisacion de la tecnologia


La comercialización de Internet no solo implicó el desarrollo de servicios de redes competitivos y privados sino también el desarrollo de productos comerciales para implementar la tecnología de Internet. A principios de los 80, docenas de vendedores estaban incorporando TCP/IP en sus productos porque veían compradores para este tipo de enfoque a la interconexión. Desafortunadamente, no tenían información real sobre cómo se suponía que funcionaba la tecnología y cómo planeaban los clientes usar este enfoque a la interconexión. Muchos lo veían como un complemento incordioso que se tenía que pegar a sus propias soluciones propietarias de interconexión: SNA, DECNet, Netware, NetBios. DoD había obligado a usar TCP/IP en muchas de sus compras pero no ayudaba a los vendedores a construir productos TCP/IP útiles.
En 1985, reconociendo esta falta de disponibilidad de información y entrenamiento apropiado, Dan Lynch en cooperación con la IAB organizó un taller de tres días para que TODOS los vendedores aprendiesen cómo TCP/IP funcionaba y lo que aún no podía hacer bien. Los conferenciantes provenían casi todos de la comunidad de investigación de DARPA, gente que había desarrollado esos protocolos y los usaba diariamente. Unos 250 vendedores fueron a escuchar a 50 inventores y experimentadores. Los resultados fueron sorpresas en ambas partes: los vendedores se sorprendieron al darse cuenta que los inventores eran tan abiertos sobre el funcionamiento de las cosas (y sobre lo que aún no funcionaba) y a los inventores les gustó escuchar sobre nuevos problemas que no habían considerado, pero que los vendedores de campo estaban descubriendo. De modo que se formó una discusión a dos vías que ha durado más de una década.
Después de dos años de conferencias, tutoriales, reuniones de diseño y talleres, se organizó un evento especial y se invitó a los vendedores cuyos productos ejecutaban TCP/IP bien para que se juntasen en una sala durante tres días para demostrar lo bien que trabajaban todos juntos con Internet. En septiembre de 1988 nació la primera feria de muestras Interop. 50 compañías consiguieron asistir. 5.000 ingenieros de organizaciones de clientes potenciales fueron a ver si funcionaba como prometían. Funcionaba. ¿Por qué? Porque los vendedores trabajaron duro para asegurarse que todos los productos interoperaban con el resto de los productos; incluso con los productos de los competidores. La feria de muestras Interop ha crecido muchísimo desde entonces y hoy en día se celebra en 7 ubicaciones en todo el mundo durante el año, y más de 250.000 personas vienen a aprender sobre qué productos funcionan con que productos sin problemas, aprender más sobre los últimos productos y discutir la tecnología más puntera.
En paralelo con los esfuerzos de comercialización que se resaltaban en las actividades de Interop, los vendedores empezaron a asistir a las reuniones de la IETF, que se celebraban 3 o 4 veces al año para discutir nuevas ideas sobre ampliaciones del conjunto de protocolos TCP/IP. Empezando con unos pocos cientos de asistentes, mayoritariamente de académicos y pagados por el gobierno, hoy en día, estas reuniones tienen una asistencia de miles de personas, mayoritariamente de la comunidad de vendedores y pagados por los asistentes mismo. Este grupo autoseleccionado evoluciona el conjunto TCP/IP de manera cooperativa. La razón por la que es tan útil es porque está compuesto por todos los interesados: investigadores, usuarios finales y vendedores.
La gestión de redes da un ejemplo de la interacción entre las comunidades de investigación y de venta. En el principio de Internet, el énfasis se ponía en definir e implementar protocolos que consiguiesen la interoperación.
Conforme se hizo más grande la red, quedó claro que los procedimientos ad hoc usados para gestionar la red no escalarían. La configuración manual de las tablas fue sustituida por algoritmos automáticos distribuidos, y se diseñaron mejores herramientas para aislar fallos. En 1987, quedó claro que era necesario un protocolo que permitiese gestionar los elementos de una red, como los enrutadores, remotamente de manera uniforme. Se propusieron varios protocolos con este objetivo, incluyendo el Protocolo Simple de Administración de Red o SNMP (diseñado, como sugiere su nombre, para ser sencillo, y derivado de una propuesta anterior llamada SGMP), HEMS (un diseño más complejo de la comunidad investigadora) y CMIP (de la comunidad OSI). Tras una serie de reuniones se decidió retirar HEMS como candidato para la estandarización, para ayudar a resolver la contención, pero que se continuaría trabajando en SNMP y CMIP, con la idea que SNMP sería una solución a corto plazo y CMIP una solución a largo plazo. El mercado podía elegir el que le pareciese más adecuado. Hoy en día se usa SNMP casi universalmente para la gestión basada en la red.
En los últimos años, hemos visto una nueva fase de comercialización. Originalmente, los esfuerzos de comercialización comprendían principalmente vendedores ofreciendo los productos básicos de redes y los proveedores de servicios ofreciendo los servicios de conectividad y básicos de Internet. Internet casi se ha convertido en un servicio de “mercancías”, y se ha prestado mucha atención en esta infraestructura global de información para soportar otros servicios comerciales. Esto se ha visto acelerado increíblemente por la adopción generalizada y rápida de navegadores y la tecnología World Wide Web, lo que permite a los usuarios tener un fácil acceso a la información enlazada de todo el mundo. Hay productos disponibles para facilitar el aprovisionamiento de esta información y muchos de los últimos desarrollos en la tecnología se han centrado en proveer servicios de información cada vez más sofisticados por encima de los servicios de comunicación básicos de datos de Internet.

los principales conceptos de internet


La ARPANET original se convirtió en Internet. Internet se basó en la idea de que habría múltiples redes independientes con un diseño bastante arbitrario, empezando por ARPANET como red pionera de conmutación de paquetes, pero que pronto incluiría redes de paquetes satélite, redes terrestres de radiopaquetes y otras redes. Internet tal y como la conocemos hoy en día plasma una idea técnica subyacente fundamental, que es la de red de arquitectura abierta. En este enfoque, la selección de una tecnología de redes no la dictaba una arquitectura particular de redes, sino que la podía elegir libremente un proveedor y hacerla trabajar con las demás redes a través de una “metaarquitectura de interredes”. Hasta ese momento solo había un método general para federar redes. Era el método tradicional de conmutación de circuitos, en el que las redes se interconectaban a nivel de circuito, pasando bits individuales de forma síncrona a través de una parte de un circuito completo entre un par de ubicaciones finales. Recordemos que Kleinrock había demostrado en 1961 que la conmutación de paquetes era un método de conmutación más eficiente. Además de la conmutación de paquetes, las interconexiones entre redes con fines especiales eran otra posibilidad. Aunque había otras maneras limitadas de interconectar redes diferentes, era necesario usar una como componente de la otra, y la primera no actuaba como par de la segunda ofreciendo servicios de extremo a extremo.
En una red de arquitectura abierta, las redes individuales se pueden diseñar y desarrollar por separado, cada una con su propia interfaz única, que puede ofrecerse a usuarios y otros proveedores, incluyendo otros proveedores de Internet. Se puede diseñar cada red según el entorno específico y los requisitos de los usuarios de esa red. En general, no existen restricciones sobre el tipo de redes que se pueden incluir o sobre su alcance geográfico, aunque ciertas consideraciones pragmáticas dictaminan lo que tiene sentido ofrecer.
La idea de las redes de arquitectura abierta la introdujo por primera vez Kahn, poco después de llegar a DARPA, en 1972. Su labor era originalmente parte del programa de radiopaquetes, pero posteriormente se convirtió en un programa independiente por derecho propio. En aquel momento, el programa se llamó “Internetting”. La clave para que el sistema de radiopaquetes funcionase era un protocolo de extremo a extremo fiable que pudiera mantener una comunicación efectiva frente a bloqueos y otras interferencias de radio, o soportar cortes intermitentes como los causados cuando se entra en un túnel o el terreno bloquea la señal. Kahn, al principio, se planteó desarrollar un protocolo solo para la red de radiopaquetes, ya que así evitaría tratar con una multitud de diferentes sistemas operativos, y seguir usando NCP.
Sin embargo, NCP no tenía la capacidad de dirigirse a redes (ni a máquinas) que estuvieran más allá de un IMP de destino de ARPANET, de modo que también hacía falta algún cambio en NCP. (Se asumía que ARPANET no se podía cambiar en este sentido). NCP dependía de ARPANET para ofrecer fiabilidad de extremo a extremo. Si se perdía algún paquete, el protocolo (y probablemente las aplicaciones a las que este daba soporte) se pararía de repente. En este modelo, NCP no tenía control de errores de host de extremo a extremo, ya que ARPANET sería la única red, y tan fiable que no haría falta un control de errores por parte de los hosts. Así pues, Kahn decidió desarrollar una nueva versión del protocolo que podría cubrir las necesidades de un entorno de redes de arquitectura abierta. Este protocolo se llamaría más adelante Protocolo de Control de Transmisión/Protocolo de Internet (TCP/IP). Mientras que NCP tendía a actuar como un controlador de dispositivo, el nuevo protocolo se parecería más a un protocolo de comunicaciones.
Cuatro reglas básicas fueron fundamentales en la primera concepción de Kahn:
  • Cada red diferente debería mantenerse por sí misma, y no debía ser necesario cambio interno alguno para que esas redes se conectasen a Internet.
  • La comunicación se haría en base al mejor esfuerzo. Si un paquete no llegaba a su destino final, se retransmitía poco después desde el origen.
  • Se usarían cajas negras para conectar las redes; más adelante, estas cajas negras se llamarían puertas de enlace y enrutadores. Las puertas de enlace no guardarían información acerca de los flujos individuales de paquetes que pasaban por las mismas, manteniendo su sencillez y evitando la complicación de la adaptación y la recuperación a partir de varios modos de error.
  • No habría control global a nivel operativo.
Otros problemas clave que había que resolver eran:
  • Algoritmos para evitar que los paquetes perdidos impidiesen permanentemente las comunicaciones y permitir que dichos paquetes se retransmitiesen correctamente desde el origen.
  • Ofrecer “segmentación” de host a host para que se pudiesen enviar múltiples paquetes desde el origen hasta el destino, según el criterio de los hosts, si las redes intermedias lo permitían.
  • Funciones de puerta de enlace para poder reenviar paquetes de manera adecuada. Esto incluía interpretar encabezados IP para enrutar, manejar interfaces, dividir paquetes en partes más pequeñas si era necesario, etc.
  • La necesidad de sumas de verificación de extremo a extremo, reensamblaje de paquetes a partir de fragmentos y detección de duplicados.
  • La necesidad de un abordaje global
  • Técnicas para el control del flujo de host a host.
  • Interfaces con los diferentes sistemas operativos
  • Había además otras preocupaciones, como la eficacia en la implementación y el rendimiento de las redes, pero estas, en principio, eran consideraciones secundarias.
Kahn comenzó a trabajar en un conjunto orientado a las comunicaciones de principios para sistemas operativos en BBN y documentó algunas de sus ideas iniciales en un memorándum interno de BBN titulado "Principios de comunicación para sistemas operativos". En este momento, se dio cuenta de que sería necesario conocer los detalles de implementación de cada sistema operativo para tener la oportunidad de integrar cualquier protocolo nuevo de una forma eficaz. Así pues, en la primavera de 1973, tras comenzar el trabajo de lo que sería Internet, pidió a Vint Cerf (que entonces estaba en Stanford) que colaborase con él en el diseño detallado del protocolo. Cerf había estado involucrado de lleno en el diseño y desarrollo original de NCP, y ya tenía conocimiento sobre las interfaces de los sistemas operativos existentes. Así que, armados con el enfoque arquitectónico de Kahn para la parte de comunicaciones y con la experiencia de Cerf en NCP, se unieron para crear lo que se convertiría en TCP/IP.
Su colaboración fue muy productiva, y la primera versión escrita7 del enfoque resultante se distribuyó en una reunión especial del International Network Working Group (INWG), que se había creado en una conferencia de la Universidad de Sussex en septiembre de 1973. Se había invitado a Cerf a presidir ese grupo, y aprovechó la ocasión para celebrar una reunión con los miembros del INWG que eran numerosos en la Conferencia de Sussex.
Emergieron algunos enfoques básicos de esta colaboración entre Kahn y Cerf:
  • La comunicación entre dos procesos consistiría lógicamente en una secuencia larguísima de bytes (los llamaron octetos). Se usaría la posición de un octeto en la secuencia para identificarlo.
  • El control de flujo se haría usando ventanas deslizantes y confirmaciones (acks). El destino podría decidir cuándo confirmar, y cada ack devuelta se acumularía para todos los paquetes recibidos hasta ese momento.
  • No se concretó la manera exacta en la que el origen y el destino acordarían los parámetros de división de particiones que se usaría. Al principio se usaban los valores predeterminados.
  • Aunque en ese momento se estaba desarrollando Ethernet en Xerox PARC, la proliferación de LAN no se imaginaba entonces, y mucho menos la de los ordenadores personales y las estaciones de trabajo. El modelo original era de redes nacionales como ARPANET, y se esperaba que existiese un pequeño número de las mismas. Así pues, se usó una dirección IP de 32 bits, en la que los primeros 8 bits indicaban la red y los 24 bits restantes designaban el host de esa red. Fue evidente que habría que reconsiderar esta suposición, la de que sería suficiente con 256 redes en el futuro inmediato, cuando empezaron a aparecer las LAN a finales de los años 70.
El artículo original de Cerf y Kahn sobre Internet describía un protocolo, llamado TCP, que ofrecía todos los servicios de transporte y reenvío de Internet. La intención de Kahn era que el protocolo TCP soportase una serie de servicios de transporte, desde la entrega secuenciada totalmente fiable de datos (modelo de circuito virtual) hasta un servicio de datagrama, en el que la aplicación hacía un uso directo del servicio de red subyacente, lo que podía implicar la pérdida, la corrupción y la reordenación de paquetes. Sin embargo, el primer intento de implementar TCP produjo una versión que solo permitía circuitos virtuales. Este modelo funcionó bien para aplicaciones de inicio de sesión remoto y transferencia de archivos, pero algunos de los primeros trabajos en aplicaciones de red avanzadas, en particular la voz por paquetes de los años 70, dejaron claro que en algunos casos la pérdida de paquetes no podía ser corregida por TCP, y la aplicación debería encargarse de ella. Esto llevó a reorganizar el TCP original en dos protocolos, el IP simple, que solo dirigía y reenviaba paquetes individuales, y el TCP por separado, que se ocupaba de funciones del servicio como el control de flujos y la recuperación de paquetes perdidos. Para las aplicaciones que no querían los servicios de TCP, se añadió una alternativa llamada Protocolo de datagramas de usuario (UDP) para ofrecer acceso directo a los servicios básicos de IP.
Una de las principales motivaciones iniciales de ARPANET e Internet era compartir recursos, por ejemplo, permitir a los usuarios de las redes de radiopaquetes acceder a sistemas de tiempo compartido conectados a ARPANET. Conectar ambos era mucho más económico que duplicar estos ordenadores tan caros. Sin embargo, aunque la transferencia de archivos y el inicio de sesión remoto (Telnet) eran aplicaciones muy importantes, el correo electrónico ha sido, probablemente, la innovación de aquella época con mayor impacto. El correo electrónico ofreció un nuevo modelo de comunicación entre las personas, y cambió la naturaleza de la colaboración, primero en la creación de la propia Internet (como se comenta a continuación) y después para gran parte de la sociedad.
Se propusieron otras aplicaciones en los primeros tiempos de Internet, incluyendo la comunicación de voz basada en paquetes (el precursor de la telefonía por Internet), varios modelos para compartir archivos y discos y los primeros programas “gusano” que mostraron el concepto de agentes (y, por supuesto, virus). Un concepto clave de Internet es que no se había diseñado solo para una aplicación, sino como una infraestructura general en la que se podían concebir nuevas aplicaciones, como se ilustró más adelante con la aparición de la World Wide Web. Es la naturaleza generalista del servicio que ofrecen TCP e IP la que lo hace posible.


orígenes del internet

La primera descripción registrada de las interacciones sociales que se podían habilitar a través de la red fue una serie de memorandos escritos por J.C.R. Licklider, del MIT, en agosto de 1962, en los que describe su concepto de “Red galáctica”. Imaginó un conjunto de ordenadores interconectados globalmente, a través de los que todo el mundo podría acceder rápidamente a datos y programas desde cualquier sitio. En espíritu, el concepto era muy similar a la Internet de hoy en día. Licklider era el director del programa de investigación informática de DARPA,4 que comenzó en octubre de 1962. Mientras estaba en DARPA convenció a sus sucesores en dicha agencia (Ivan Sutherland, Bob Taylor y Lawrence G. Roberts, investigador del MIT), de la importancia de su concepto de red.
Leonard Kleinrock, del MIT, publicó el primer documento sobre la teoría de conmutación de paquetes en julio de 1961 y el primer libro sobre el tema en 1964 Kleinrock convenció a Roberts de la factibilidad teorética de comunicarse usando paquetes en vez de circuitos, lo que fue un gran paso en el viaje hacia las redes informáticas. El otro paso clave fue conseguir que los ordenadores hablasen entre sí. Para explorar esta idea, en 1965, trabajando con Thomas Merrill, Roberts conectó el ordenador TX-2, en Massachusetts, con el Q-32, en California, mediante una línea telefónica conmutada de baja velocidad, creando la primera (aunque pequeña) red de área amplia del mundo. El resultado de este experimento fue la constatación de que los ordenadores con tiempo compartido podían trabajar bien juntos, ejecutando programas y recuperando datos según fuese necesario en el equipo remoto, pero que el sistema telefónico de conmutación de circuitos era totalmente inadecuado para esa tarea. Se confirmó la convicción de Kleinrock de la necesidad de la conmutación de paquetes.
A finales de 1966, Roberts entró en DARPA para desarrollar el concepto de redes informáticas y rápidamente creó su plan para "ARPANET", que publicó en 1967. En la conferencia en la que presentó el artículo había otra ponencia sobre el concepto de redes de paquetes, que venía del Reino Unido, de la mano de Donald Davies y Roger Scantlebury, del NPL. Scantlebury le comentó a Roberts el trabajo del NPL y el de Paul Baran y otras personas de RAND. El grupo RAND había escrito un artículo sobre redes de conmutación de paquetes para cifrar comunicaciones de voz en el ejército en 1964. La labor del MIT (1961-1967), de RAND (1962-1965) y del NPL (1964-1967) se había llevado a cabo en paralelo sin que los investigadores conociesen el trabajo de los demás. Se adoptó el término “paquete” del trabajo del NPL, y la velocidad de línea propuesta en el diseño de ARPANET pasó de 2,4 kbps a 50 kbps. 5En agosto de 1968, después de que Roberts y la comunidad financiada por DARPA redefinieran la estructura general y las especificaciones de ARPANET, DARPA publicó una solicitud de presupuesto para desarrollar uno de los componentes clave, los conmutadores de paquetes llamados procesadores de mensajes de interfaz (IMP). La solicitud de presupuesto la ganó en diciembre de 1968 un grupo liderado por Frank Heart, de Bolt, Beranek y Newman (BBN). Mientras el equipo de BNN trabajaba en los IMP con Bob Kahn desempeñando un importante papel en el diseño arquitectónico general de ARPANET, Roberts, junto con Howard Frank y su equipo de Network Analysis Corporation, diseñaron la topología y la economía de la red. El sistema de medición de la red lo preparó el equipo de Kleinrock en UCLA. 6Debido al temprano desarrollo de Kleinrock de la teoría de conmutación de paquetes y a su trabajo en el análisis, el diseño y la medición, su Network Measurement Center de UCLA fue seleccionado como el primer nodo de ARPANET. Se recogió el fruto de estos esfuerzos en septiembre de 1969, cuando BBN instaló el primer IMP en UCLA y se conectó el primer host. El proyecto de Doug Engelbart, “Augmentation of Human Intellect” (aumento del intelecto humano, que incluía NLS, un antecedente del sistema de hipertexto), en el Standford Research Institute (SRI), fue el segundo nodo. El SRI estaba detrás del Network Information Center, liderado por Elizabeth (Jake) Feinler, que incluía funciones como mantenimiento de tablas de nombres de host para asignar direcciones, así como de un directorio de RFC.
Un mes más tarde, cuando el SRI se conectó a ARPANET, se envió el primer mensaje de host a host desde el laboratorio de Kleinrock hasta el SRI. Se añadieron dos nodos más, en la Universidad de California en Santa Bárbara y en la Universidad de Utah. Estos dos últimos nodos incorporaron proyectos de visualización de aplicaciones, con Glen Culler y Burton Fried, de la Universidad de California en Santa Bárbara, investigando métodos para mostrar funciones matemáticas usando pantallas de almacenamiento para resolver el problema de la actualización en la red, y Robert Taylor e Ivan Sutherland, de Utah, investigando métodos de representación 3D en la red. De esta manera, a finales de 1969, había cuatro hosts conectados en la ARPANET inicial, e Internet iniciaba su trayectoria. Incluso en esta primera etapa, conviene destacar que la investigación sobre redes incorporaba trabajo sobre la red subyacente y trabajo sobre cómo usar la red. Esta tradición continúa hoy en día.
En los siguientes años, se añadieron rápidamente ordenadores a ARPANET, y se siguió trabajando para conseguir un protocolo de host a host funcionalmente completo y otro software de red. En diciembre de 1970, el Network Working Group (NWG), bajo el liderazgo de S. Crocker, terminó el protocolo de host a host inicial de ARPANET, llamado Network Control Protocol (NCP). Cuando los sitios de ARPANET terminaron de implementar NCP, en el periodo de 1971 a 1972, los usuarios de la red pudieron, por fin, comenzar a desarrollar aplicaciones.
En octubre de 1972, Kahn organizó una gran demostración de ARPANET, que tuvo mucho éxito, en la International Computer Communication Conference (ICCC). Fue la primera demostración pública de esta nueva tecnología de redes. En 1972 también se introdujo la aplicación “hot” inicial, el correo electrónico. En marzo, Ray Tomlinson, de BBN, escribió el software básico de envío y lectura de mensajes de correo electrónico, motivado por la necesidad de los desarrolladores de ARPANET de un mecanismo sencillo de coordinación. En julio, Roberts amplió su utilidad escribiendo la primera utilidad de correo electrónico para hacer listas de mensajes, leerlos selectivamente, archivarlos, reenviarlos y responder a los mismos. A partir de ese momento, el correo electrónico se convirtió en la aplicación de red más importante durante más de una década. Esto presagió el tipo de actividad que vemos hoy en día en la World Wide Web, es decir, un crecimiento enorme de todo tipo de tráfico “de persona a persona”.