ALOHAnet

ALOHAnet (o simplemente ALOHA) fue un sistema de redes de computadoras pionero desarrollado en la Universidad de Hawái. Fue desplegado por primera vez en 1970, y aunque la propia red ya no se usa, uno de los conceptos esenciales de esta red es la base para la casi universal Ethernet.

Descripción

Antes de ALOHAnet, la mayoría de las comunicaciones entre computadoras tendían a utilizar rasgos similares. Los datos que iban a ser enviados se convertían en una señal analógica utilizando un mecanismo similar a un módem, que sería enviada sobre un método de conexión conocido, como podría ser una línea telefónica. La conexión era punto a punto, y normalmente se establecía de modo manual.

Por el contrario, ALOHAnet era una auténtica red. Todas las computadoras conectadas a ALOHAnet podían enviar datos en cualquier momento sin necesidad de intervención por parte de un operador, y se podía ver envuelto cualquier número de computadoras. Como la transmisión se realizaba por radio, no había costes fijos, por lo que el canal se dejaba abierto y se podía utilizar en cualquier momento.

Usar una señal compartida de esta manera conlleva un importante problema: si dos sistemas en la red (conocidos como nodos) enviaban al mismo tiempo, ambas señales se estropearían. Era necesario algún tipo de sistema para evitar este problema. Existen varios modos de hacerlo.

Uno sería utilizar una frecuencia de radio diferente para cada nodo, sistema conocido como multiplexación en frecuencia. Comoquiera que este sistema requiere que cada nodo que se añada sea capaz de sintonizarse con el resto de máquinas, pronto se necesitarían cientos de frecuencias distintas y radios capaces de escuchar este número de frecuencias al mismo tiempo, lo que sería demasiado costoso.

Otra solución es tener ranuras de tiempo asignadas a cada nodo para enviar, lo que se conoce como multiplexación por división de tiempo. Este sistema es más fácil de implementar, dado que los nodos pueden seguir compartiendo una única frecuencia de radio. El inconveniente es que si un nodo en particular no tiene nada que enviar, su ranura estaría siendo desperdiciada. Esto nos lleva a situaciones en las que el tiempo disponible está vacío en gran parte y un nodo con datos que enviar lo tendría que hacer muy despacio por si acaso alguno de los otros 100 nodos decidiera enviar algo.

En cambio, ALOHAnet utilizó una nueva solución al problema, que más tarde se convertiría en el estándar, el Acceso múltiple por detección de portadora. En este sistema no hay multiplexación fija en absoluto. En su lugar, cada nodo escucha para saber si alguien está utilizando el canal, y si no escucha a nadie comienza a emitir.

Normalmente esto significaría que el primer nodo que empiece a transmitir tendría la posesión del medio por tanto tiempo como quisiera, lo que supone que los otros nodos no podrían tomar parte en la comunicación. Para evitar este problema, ALOHAnet hizo que los nodos partieran sus mensajes en pequeños paquetes, y que los enviasen de uno en uno y dejando huecos entre ellos. Esto permitía a los otros nodos enviar sus paquetes entre medias, por lo que todo el mundo podía compartir el medio al mismo tiempo.

Existe un último problema a considerar: si dos nodos intentan comenzar su transmisión al mismo tiempo, tendrán los mismos problemas que tendrían en cualquier otro sistema. En este caso, ALOHAnet inventó una solución muy inteligente. Después de enviar cualquier paquete, los nodos escuchaban el medio para saber si su propio mensaje les había sido devuelto por un hub central. Si recibían de vuelta su mensaje, podían avanzar al siguiente paquete.

Si, en cambio, no recibían su paquete de vuelta, eso significaría que algo había impedido que llegase al hub (posiblemente una colisión con un paquete de otro nodo). En ese caso, simplemente debería esperar un tiempo aleatorio e intentarlo de nuevo. Como cada nodo esperaría un tiempo aleatorio, alguno debería ser el primero en reintentarlo, y el resto de nodos podrían ver que el canal está en uso al intentar emitir. En la mayoría de los casos, esto serviría para evitar las colisiones.

Este tipo de sistema de prevención de colisiones tiene la ventaja de permitir a cualquier nodo usar la capacidad total de la red si ningún otro nodo la está usando. Además, no necesita inicialización, cualquiera puede conectarse y comenzar a emitir sin establecer información adicional como la frecuencia o la ranura temporal a usar.

El inconveniente es que, si la red está saturada, el número de colisiones puede crecer drásticamente hasta el punto de que todos los paquetes colisionen. Para ALOHAnet el uso máximo del canal estaba en torno al 18%, y cualquier intento de aumentar la capacidad de la red simplemente incrementaría el número de colisiones, y el rendimiento total de envío de datos se reduciría, fenómeno conocido como colapso por congestión.

Con Aloha ranurado, un reloj centralizado envía pequeños paquetes con la señal de reloj a las estaciones periféricas. Las estaciones solamente tienen permitido enviar sus paquetes inmediatamente después de recibir la señal de reloj. Si hay una sola estación con intención de emitir un paquete, esto garantiza que nunca habrá una colisión para ese paquete. Por otra parte, si hay dos estaciones con paquetes para enviar, este algoritmo garantiza que habrá una colisión y se malgastará toda la ranura de tiempo hasta la siguiente señal de reloj. Con algunas matemáticas es posible demostrar que este protocolo mejora la utilización total del canal, reduciendo la probabilidad de colisiones a la mitad.

La relativamente baja utilización resulta ser un pequeño precio a pagar a cambio de las ventajas. Una ligera modificación de este sistema para redes conectadas (con cables) realizada por Robert Metcalfe mejoró la prevención de colisiones en redes saturadas, y se convirtió en el estándar para Ethernet. Hoy en día la técnica es conocida como CSMA/CD, Acceso Múltiple con Detección de Portadora y Detección de Colisiones.

Los mecanismos de detección de colisiones son mucho más difíciles de implementar en sistemas inalámbricos en comparación con los sistemas cableados, y ALOHA no intentó siquiera comprobar las colisiones. En un sistema cableado, es posible detener la transmisión de paquetes que colisionen, detectando primero la colisión y notificándolo a continuación al remitente. En general, esta no es una opción viable en sistemas inalámbricos, por lo que ni siquiera se intentó en el protocolo ALOHA.

ALOHAnet se ejecutaba usando módems de 9.600 baudios de un extremo a otro de Hawái. El sistema usaba dos canales (secciones de frecuencia) de 100 kHz: uno conocido como canal de emisión a 413'475 MHz; y el otro, canal de acceso aleatorio a 407'350 MHz. La red tenía una topología de estrella, con un único computador central (un HP 2100) en la universidad que recibía todos los mensajes en el canal de acceso aleatorio, y reenviándolos entonces a todos los nodos por el canal de emisión. Este montaje reducía el número posible de colisiones, ya que no había colisiones en absoluto en la frecuencia de emisión, por lo que merecía la pena. Posteriores mejoras añadieron repetidores que también actuaban como hubs, incrementando enormemente el área y la capacidad total de la red.

Los paquetes enviados y recibidos eran idénticos. Cada paquete tenía una cabecera de 32 bits con un test de paridad de 16 bits, seguidos de hasta 80 bytes de datos con otros 16 bits de test de paridad.

Los detalles históricos sobre la red inalámbrica original son ahora bastante difíciles de obtener.

Other Languages
čeština: ALOHAnet
Deutsch: ALOHAnet
English: ALOHAnet
français: ALOHAnet
italiano: ALOHAnet
日本語: ALOHAnet
한국어: 알로하넷
മലയാളം: അലോഹനെറ്റ്
မြန်မာဘာသာ: အလိုဟာ
Nederlands: ALOHA (protocol)
polski: ALOHAnet
português: ALOHAnet
русский: ALOHAnet
српски / srpski: Алоханет
svenska: ALOHAnet
中文: ALOHAnet