# ATA over Ethernet

ATA over Ethernet (AoE) es un protocolo de red diseñado para acceder a dispositivos de almacenamiento ATA mediante redes Ethernet. Proporciona la posibilidad de construir redes de almacenamiento (Storage Area Network, SAN) de bajo costo con tecnologías estándar.
Fue desarrollado por la compañía Brantley Coile.
AoE no depende de las capas superiores de Ethernet, tales como IP, UDP, TCP, etc. Esto significa que AoE no es ruteable en las LAN y está diseñado únicamente para SAN. Como alternativa a iSCSI, la especificación AoE mide solamente ocho páginas comparado con las 257 páginas de iSCSI.

## Soporte de sistemas operativos

Los siguientes sistemas operativos proveen un soporte nativo de AoE:
| Sistema Operativo | Fecha | Versión |
| Linux | 2005-03-01 | 2.6.11 |
| Solaris | 2007-08-20 | 1.4 |
| Plan 9 | 2007-08-12 | N/A |
Coraid es el proveedor original de los controladores para FreeBSD, y las versiones actuales son mantenidas por Stacey D. Son.
2DegreesFrost ha distribuido el controlador para Mac OS X (10.4), que posee soporte para AoE.

## Soporte de hardware

La compañía Coraid ofrece un disco de AoE llamado EtherDrive. Además, el programa vblade hace posible exportar los datos desde discos duros, usando computadores que usen Linux. Existen dos implementaciones diferentes de vblade: un paquete de programas y como un módulo del kernel de Linux.

## Conceptos relacionados

A pesar de que AoE es un simple protocolo de red, abre un amplio espectro de posibilidades para el almacenamiento. Para comprender y evaluar los posibles escenarios, se deben manejar los siguientes conceptos.

### Bloque de almacenamiento

La tecnología de ATA en "ATA over Ethernet" es un tipo de protocolo con cables para discos duros. Los datos son escritos al disco y leídos desde el dispositivo en uno o más trozos de longitud fija, llamados bloques de datos.
El protocolo de AoE pone los comandos de control de ATA en un nivel inferior (Paquete), o para ser más específicos, en una trama de datos (o data frame), permitiendo que una red de Ethernet reemplace al cable que va al disco duro. Como los bloques de datos pueden ir al disco duro usando los cables de transmisión tradicional, además pueden ir al disco con los cables de red.
El cable de datos tradicional no se preocupa de los datos que van dentro de los bloques, pero AoE sí lo hace. Se pueden leer y escribir cualquier bloque de datos, pero la mayoría del tiempo, se usa un sistema de archivos para organizar los datos.

#### Sistema de archivos

Tradicionalmente, un sistema de archivos que usan los computadores son ext3, XFS, HFS+, y NTFS.
Cuando se usa AoE, usando una red Ethernet en lugar del cable, es posible violar la suposición inicial de utilizar un sistema de archivos tradicional. Para los sistemas tradicionales, es peligroso no llevar el control directo sobre las particiones, provocando fallos del sistema de archivos o un pánico de kernel.
Los sistemas de archivos en formas de clúster, evitan asumir, que un solo computador posee acceso a los bloques del dispositivo. Hay diseños que permiten a varios usuarios compartir los bloques en forma segura, mediante la coordinación de sus acciones. Algunos sistemas de archivos son GFS and OCFS2.
El sistema de archivos Storage Area Network (SAN) es otra forma de abarcar este problema. MetaSAN es un programa que permite el manejo de SAN que soporta la metodología de AoE.

#### Unidades de disco

El objetivo de AoE es manejar un disco duro, o algo similar que funcione como un disco duro. Algunas características básicas que debemos recordar de los discos duros son:
* Velocidad de acceso independiente a la latencia de la velocidad rotacional, movimiento de la cabeza lectora y escritor, densidad magnética y precisión del alineamiento de la cabeza en la pista, además de la localización del disco y la interferencia electrónica.
* Tiempo de acceso aleatorio al disco duro determinado completamente por el tiempo de búsqueda.
** El acceso aleatorio es cerca de 100 veces más lento que el acceso secuencial access;
** El acceso secuencial en un disco duro normal es de 50-80 MB/s.
** Los discos RAID generalmente mejora el rendimiento de acceso secuencial y aleatorio.
** Los sistemas operativos y los sistemas de archivos intentar almacenar los datos en forma secuencial para mejorar el rendimiento del disco (McKusick 1984).

### Ethernet

* Los paquetes de AoE usan la dirección MAC para identificar el origen y destino del movimiento de los bloques. Las direcciones MAC son identificadores, que a nivel de Ethernet, es requerido por cualquier red para poder trabajar en forma eficiente. Las direcciones MAC sólo funcionan en el interior de un dominio que soporte Ethernet.
* Los actuales dispositivos de Ethernet soportan el control de flujo de datos, que ayuda a minimizar la necesidad de retrasmitir paquete de datos erróneos.
* Ethernet usa chequeos de redundancia cíclica para asegurar que los paquetes que se han recibido lleguen en forma intacta a destino.

### Almacenamiento en red

El uso de Ethernet representa una ventaja para AoE, ya que:
* Es fácil añadir capacidad de almacenamiento.
* La cantidad de almacenamiento es prácticamente ilimitada
* El acceso puede ser controlado creando redes ad hoc en las redes ethernet.
* El respaldo de los datos puede ser más fácil.
* Los datos pueden ser distribuidos entre varios computadores en vez de usar uno sólo como almacén de datos.