ATA over Ethernet

ATA over Ethernet (AoE) ist ein von der Firma Brantley Coile entwickeltes Netzwerkprotokoll für den Zugriff auf Speichergeräte (in der Regel Festplatten) über ein Ethernet-Computernetzwerk. Es verwendet dazu das ATA-Protokoll.

Schichtaufbau bei ATA und iSCSI

ATA over Ethernet überträgt die Daten in Form von Ethernet-Frames und verzichtet auf die Verwendung höherstehender Protokolle wie IP, UDP oder TCP. Die von AoE übertragenen Ethernet-Frames können das lokale Netzwerksegment nicht verlassen, weshalb der Einsatz von AoE vorwiegend auf lokale Speichernetze (Storage Area Networks) begrenzt ist. AoE ist technisch einfacher als iSCSI, welches zwar ebenfalls über Netzwerk, aber über höhere Schichten transportiert wird.

Damit wird der größte Unterschied von AoE zu iSCSI sichtbar: AoE ist nur lokal (geswitcht) nutzbar, iSCSI dagegen kann grundsätzlich in andere Netzwerke geroutet werden, wenngleich diese Möglichkeit in der Praxis kaum genutzt wird. Durch den Verzicht auf eine komplexe Infrastruktur erzielt AoE einen Geschwindigkeitsvorteil gegenüber vergleichbaren Techniken.

Ohne AoE werden die Befehle des ATA-Protokolls, welches zur Kommunikation zwischen einem Computersystem und einem daran angeschlossenen Speichergerät dient, direkt über ein Kabel übertragen. AoE verpackt diese Befehle jedoch in Datenpakete, die es über ein Ethernetnetzwerk an einen anderen Computer sendet. Dieses Zielsystem leitet die ATA-Befehle dann über einen Treiber an ein Blockspeichergerät (in der Regel eine Festplatte) weiter und gibt die Antwortpakete ebenfalls wieder über das Netzwerk zurück. So ist ein sehr hardwarenaher Zugriff auf einen Datenträger auch über relativ weite Entfernung möglich.

Durch diese Technik können mehrere Systeme gleichzeitig auf dasselbe Blockspeichergerät zugreifen. Die Koordination der Schreib- und Leseoperationen zwischen den beteiligten Systemen erfolgt durch einen sogenannten „Konfigurationsstring“ auf dem verwaltenden Server. Der gleichzeitige Zugriff mehrerer Systeme auf dasselbe Gerät erfordert den Einsatz spezieller Cluster-Dateisysteme, da die gängigen Dateisysteme nicht für diese Anwendung konzipiert worden sind.

AoE wird unter Linux nativ unterstützt. Für andere gängige Betriebssysteme und Hypervisoren sind oder waren Treiber von Softwareanbietern erhältlich. Zudem existieren spezielle AoE-Host-Bus-Adapter, welche die Verarbeitung des AoE-Protokolls im System übernehmen und so den Hauptprozessor entlasten.

Paketformat

AoE Header[1][2]
OffsetDatentypBeschreibung
00char[6]Zieladresse (MAC-Adresse)
06char[6]Absenderadresse
12uint16_tEthertype: 88A2hex
14uint8_tVersion (Bit 4…7), im Moment stets 1; Flags (Bit 0…3)
15uint8_tError
16uint16_tMajor-Adresse
18uint8_tMinor-Adresse
19uint8_tBefehlsfeld
20uint32_tBefehlsmarkierung (Tag)
24struct arg_fieldArgumente darunter auch übermittelte Daten von der Festplatte

Betriebssysteme mit ATA over Ethernet support

BetriebssystemSupportThird-party Treiber
LinuxNativ (2.6.11 und höher)Coraid[3]
Mac OS X 10.4 und höherThird-party2DegreesFrost[4]
Mac OS X 10.5 and 10.6Third-partySmall Tree Communications[5]
SolarisThird-partyCoraid[6]
FreeBSDThird-partyCoraid[7]
OpenBSDNative (4.5 bis 5.7)
VMWareThird-partyCoraid[8]
Plan 9 from Bell Labs[9]Native

Andere Protokolle zum Ansprechen von Blockgeräten

  • Fibre Channel: FC definiert ein nicht routingfähiges Standardprotokoll aus dem Bereich der Speichernetzwerke, das als Nachfolger von SCSI für die Hochgeschwindigkeitsübertragung großer Datenmengen konzipiert wurde. FC ist nicht mit Ethernet kompatibel, es wird eine separate Infrastruktur (NICs, Switches usw.) benötigt.
  • Fibre Channel over Ethernet: Bei Fibre Channel over Ethernet werden „Fibre Channel“-Pakete in Ethernet gekapselt. Im Unterschied zu iSCSI erfolgt aber keine Kapselung in TCP/IP, hieraus resultieren geringe Performancevorteile, jedoch ist FCoE nicht routingfähig.
  • Fibre Channel over IP Bei Fibre Channel over IP werden „Fibre Channel“-Pakete zusätzlich in TCP/IP gekapselt. FCoIP ist daher routingfähig.
  • iSCSI (SCSI over IP): Bei iSCSI werden SCSI-Pakete in TCP/IP gekapselt. Im Unterschied zu ATA over Ethernet ist iSCSI routingfähig.
  • HyperSCSI Bei HyperSCSI werden SCSI-Pakete in Ethernet gekapselt. Im Unterschied zu iSCSI erfolgt aber keine Kapselung in TCP/IP, hieraus resultieren geringe Performancevorteile, HyperSCSI ist wie AoE nicht routingfähig.

Einzelnachweise

  1. S. Hopkins, B. Coile:AoE (ATA over Ethernet) (Memento vom 25. Oktober 2016 im Internet Archive; PDF)
  2. AoE (ATA over Ethernet) (Memento vom 27. Dezember 2012 im Internet Archive)
  3. coraid.com:Linux Support for AoE EtherDrive (R) Storage (Memento vom 16. Mai 2010 im Internet Archive)
  4. Reiko Kaps: ATA-over-Ethernet am Mac. In: heise online. 24. November 2006, abgerufen am 5. November 2023.
  5. Small Tree – The Mac Network Experts: AoE Treiber für OS X
  6. coraid.com:Coraid AoE Solaris Support (Memento vom 18. Juni 2010 im Internet Archive)
  7. coraid.com:FreeBSD AoE Support (Memento vom 24. Juni 2010 im Internet Archive)
  8. coraid.com:ESX 3.5/4.0 EtherDrive HBA Driver (Memento vom 22. Juni 2010 im Internet Archive)
  9. bell-labs.com:Plan 9 from Bell Labs (Memento vom 28. April 2006 im Internet Archive)

Auf dieser Seite verwendete Medien

Cc25-20060903-AoE-1.png
Autor/Urheber: User Danny.umd on zh.wikipedia, Lizenz: CC BY 2.5
AoE protocol and iSCSI protocol comparison chart