# Asynchronous Transfer Mode

Asynchronous Transfer Mode (ATM) ist ein Kommunikationsprotokoll, welches sich für die Übertragung von Daten, Sprache und Video eignet. Die Layer-2-Pakete werden Zellen oder Slots genannt, haben eine feste Länge (53 Byte, davon 48 Byte Daten, 5 Byte Zellkopf) und werden über asynchrones Zeitmultiplexing übertragen.

## Überblick und Entstehungsgeschichte

ATM wurde als Netz-Standard entwickelt, der die synchronen (Plesiochrone Digitale Hierarchie (PDH), Synchrone Digitale Hierarchie (SDH)) Transporttechniken verwendet und ihnen weitere nützliche Leistungsmerkmale hinzufügt. Nicht nur leitungsvermittelte Datenübertragung wird von ATM unterstützt, sondern auch paketbasierte wie IP, Frame Relay etc. Im Gegensatz zur einfachen und robusten Ethernet-Technik, die in Lastsituationen aber zu unberechenbaren Ergebnissen führen kann, bietet ATM Garantien hinsichtlich effektiver Bitrate, Delay und Jitter, was gewöhnlich (neben anderen Eigenschaften) als Quality of Service (QoS) bezeichnet wird.
Das Problem, vielfältige Datenströme unterschiedlicher Art zusammenzuführen, also zum Beispiel sowohl mit synchronen als auch paketbasierten Netzen zusammenarbeiten zu können, wurde gelöst, indem beide Bitstrom-Arten (synchron oder paketbasiert) an den Schnittpunkten auf einen neuen Bitstrom mit ATM-Zellen umgesetzt werden. Die Zellen werden typischerweise in den Nutzdaten von PDH- oder SDH-formatierten Datenströmen gesendet. Asynchron bei ATM bedeutet, dass Sender und Empfänger mit in weiten Grenzen voneinander abweichenden Taktraten arbeiten können: Der Empfänger prüft mittels Header Error Check (HEC) für jede Zelle neu, ob eine ausreichende Synchronisation besteht, und führt notfalls eine Neusynchronisation durch.
In der ursprünglichen Konzeption war ATM die Schlüsseltechnik für das Broadband Integrated Services Digital Network (Breitband-ISDN), das für das existierende analoge Telefonnetz (Plain Old Telephone System, POTS) das Backbone-Netz bilden sollte. Der gesamte ATM-Standard besteht deshalb aus Definitionen für die Schichten („layer“) 1 bis 3 (Bitübertragungsschicht, Sicherungsschicht und Vermittlungsschicht) des OSI-Modells. Federführend bei der Entwicklung der ATM-Standards waren vorwiegend Telekommunikationsfirmen, aber auch das amerikanische Verteidigungsministerium (DoD). Daher wurden viele der existierenden Telekommunikationsverfahren und -konventionen in ATM integriert.
Heute wird die ATM-Technik zur Unterstützung für Anwendungen von den globalen Internet- und Telefonie-Backbones über die DSL-Technik bis zum privaten LAN genutzt. Die Spezifikationen werden vom ATM Forum entwickelt. Die Spezifikationen werden dann bei der ITU-T (früher CCITT) zur Standardisierung eingereicht.

## ATM-Standards

ATM-Schichten-Modell (Ebenen):
* höhere Schichten für Nutzdaten, Steuerbits
* ATM-Anpassungsschicht
* ATM-Schicht
* Bitübertragungsschicht
Verwaltungsfunktionen (OAM) sind für ATM in wesentlich stärkerem Ausmaß definiert als für IP. Sie umfassen Konfigurationsmanagement, Fehlermanagement und Leistungsmessung.
Aufgaben der Schichten:

### Bitübertragungsschicht

    Physikalische Verbindung zu anderen Systemen, bevorzugtes Medium SDH

### ATM-Schicht

    Transport und Vermittlung von ATM-Zellen

### Anpassungsschicht oder ATM Adaptation Layer (AAL)

    Aufgabe der AAL ist, Daten höherer Schichten an das Format des Nutzdaten-Feldes der ATM-Zelle anzupassen, und der Gegenseite Steuerinformationen zu übermitteln. Man unterscheidet fünf Diensttypen, wovon aber bisher nur der einfachste eine größere Bedeutung hat. IP benutzt die ATM Adaption Layer 5 (AAL5). Die Adaptierung der AAL5 übernimmt hauptsächlich die Fragmentierung und Reassemblierung für die IP-Pakete, die nicht in das kurze Nutzdatenfeld passen.

## ATM-Konzepte
### Verwendung von Zellen

Der Grund für die Benutzung kleiner Daten-„Zellen“ war die Reduktion des Jitters beim Multiplexen von Datenströmen.
Als ATM entwickelt wurde, waren STM-1-Leitungen mit 155 Mbit/s (135 Mbit/s Nutzlast) eine schnelle optische Netzverbindung, wobei viele PDH-Leitungen der damaligen Netze deutlich langsamer waren: 1,544 Mbit/s bis 45 Mbit/s in den USA und 2 bis 34 Mbit/s in Europa.
Ein Standard-IP-Datenpaket maximaler Länge (1546 Byte/12368 Bit, obwohl die IP-Spezifikation 64 KiB zulässt) benötigt mit diesen Datenraten zwischen ca. 90 µs (135 MBit/s) und 8 ms (1,544 MBit/s) zur Übertragung und blockiert in dieser Zeit den Datenkanal.
Muss sich nun ein in Pakete aufgeteiltes Sprachsignal die Leitung (Datenkanal) mit großvolumigem Datenverkehr teilen, so treffen diese Sprachpakete – ganz egal, wie klein sie gemacht werden – immer auf Datenpakete voller Größe und müssen entsprechend lange warten, um übertragen werden zu können. Für Sprachverkehr waren diese Verzögerungen zu lang, sodass man selbst nach Herausfilterung des Jitters sogar in lokalen Netzen Echokompensation benötigt hätte. Das war zu jener Zeit schlichtweg zu teuer.
Die Lösung für dieses Problem war, alle Pakete in 48 Byte große Teilpakete aufzuteilen, mit einem Routing-Header von 5 Byte zu versehen und dann diese 53-Byte-Zellen anstelle der Original-Pakete zu multiplexen. Anhand des Headers können die Original-Pakete später identifiziert und wieder zusammengesetzt werden. Dieses Verfahren reduzierte die Warteschlangenzeit fast auf ein Dreißigstel, wodurch man sich die Echokompensation sparen konnte.
Die Regeln für die Aufteilung und Wieder-Zusammensetzung von Paketen und Streams in Zellen werden als ATM Adaptation Layers bezeichnet: Die zwei wichtigsten sind AAL 1 für Streams (zum Beispiel Sprache) und AAL 5 für fast alle Arten von Paketen. Welcher AAL jeweils benutzt wird, ist nicht in der Zelle encodiert. Stattdessen wird er zwischen zwei Endpunkten konfiguriert oder auf Basis einer virtuellen Verbindung vereinbart.
Heute braucht ein Ethernet-Paket voller Länge nur noch 1,2 µs auf einer optischen Verbindung mit 10 Gbit/s Datenübertragungsrate, was es eigentlich nicht mehr notwendig macht, kleine Pakete zu verwenden, um die Latenzzeiten kurz zu halten. Manche schließen daraus, dass ATM in Backboneverbindungen überflüssig geworden sei.
Für langsame Verbindungen (bis zu 2 Mbit/s) ist ATM immer noch sinnvoll. Aus diesem Grund nutzen viele ADSL-Systeme ATM zwischen der physischen Schicht und einem Layer-2-Protokoll wie PPP oder Ethernet.

### Verwendung virtueller Verbindungen

ATM beruht auf Verbindungen, die sowohl fest eingerichtet werden können als auch mittels einer ISDN-ähnlichen Signalisierung nur für eine bestimmte Zeit geschaltet werden können. Für diesen Zweck wurden Virtual Paths (VPs) und Virtual Channels (VCs) definiert. Jede ATM-Zelle enthält im Header einen Virtual Path Identifier (VPI, 8 bzw. 12 Bit) und einen Virtual Channel Identifier (VCI, 16 Bit). Während diese Zellen das ATM-Netz passieren, wird das Switching durch Änderung der VPI/VCI-Werte erreicht. Obwohl die VPI/VCI-Werte also nicht notwendigerweise von einem Ende der Verbindung zum anderen gleich bleiben, entspricht das dem Konzept einer Verbindung, da alle Pakete mit gleichen VPI/VCI-Werten denselben Weg nehmen, im Gegensatz zu IP, bei dem ein Paket sein Ziel über eine andere Route erreichen könnte als vorhergehende und nachfolgende Pakete.
Virtuelle Verbindungen haben auch den Vorteil, dass man sie als Multiplexinglayer für unterschiedliche Dienste (Sprache, Frame Relay, IP, SNA etc.) benutzen kann, die sich dann eine gemeinsame ATM-Verbindung teilen können, ohne sich gegenseitig zu stören.

### Traffic-Management mit Zellen und virtuellen Verbindungen

Ein weiteres Schlüsselkonzept von ATM nennt sich „Traffic Contract“ (dt. „Verkehrsvertrag“): Wenn eine ATM-Verbindung eingerichtet wird, wird jeder Switch auf dem Weg über die Traffic-Klasse der Verbindung informiert.
Traffic Contracts sind Teil des Mechanismus, über den Quality of Service (QoS) realisiert wird. Es gibt vier Grundtypen (mit mehreren Varianten), die jeweils einen Satz mit Parametern der Verbindung beschreiben:

#### Unspecified Bit Rate (UBR) (dt. „unbestimmte Bitrate“)

    ist der Defaulttyp für „normalen“ Traffic. Hier erhält man die Bandbreite, die übrig ist, nachdem der QoS-Traffic abgewickelt ist. Es handelt sich hier also um eine Best-Effort-Verbindung.

#### Available Bit Rate (ABR) (dt. „verfügbare Bitrate“)

    ist die Senderate wird anhand der aktuell freien Bandbreite geregelt. Die Regelung erfolgt entweder über das EFCI-Flag im Cellheader oder über spezielle Resourcemanagement (RM)-Zellen.

#### Variable Bit Rate (VBR) (dt. „variable Bitrate“)

    hier „bestellt“ man eine durchschnittliche Zellenrate, die man aber um einen bestimmten Betrag für eine bestimmte Zeit überschreiten darf (es gibt Echtzeit- (RT-VBR) und Non-Echtzeit-Varianten (NRT-VBR)).

#### Constant Bit Rate (CBR) (dt. konstante Bitrate)

    hier wird eine Spitzendatenrate (Peak Cell Rate, PCR) angefordert, die dann garantiert wird. Auf der anderen Seite bedeutet das aber auch, dass u. U. Bandbreite ungenutzt bleibt.
Das Einhalten der Traffic Contracts wird normalerweise durch „Shaping“, eine Kombination aus Warteschlange und Klassifizierung von Paketen, sowie „Policing“ (Anwendung von „Richtlinien“) erzwungen.

#### Traffic Shaping

Üblicherweise passiert das Shaping am Eingangspunkt eines ATM-Netzes, und dort wird versucht, den Zellfluss so zu steuern, dass der Traffic Contract eingehalten werden kann. Einfachste Form ist das Peak Cell Rate- (PCR) Shaping, was die maximale Zellrate nach oben auf einen vorgegebenen Wert begrenzt. Shaping innerhalb des ATM-Netzes erfordert Pufferkapazitäten (Buffer Manager), da die Zellen gelegentlich verzögert weitergeleitet werden und es daher zu Zellanhäufung kommt.

#### Traffic Policing

Um den Datendurchsatz zu steigern, ist es möglich, virtuellen Verbindungen Regeln zuzuordnen, die ihren Traffic Contracts widersprechen. Wenn eine Verbindung ihren Traffic Contract überschreitet, kann das Netz die Zellen entweder selbst verwerfen oder das Cell Loss Priority (CLP)-Bit setzen, um die Pakete für weitere Switches auf dem Weg als verwerfbar zu markieren. Dieses Policing arbeitet also Zelle für Zelle, was zu Problemen führen kann, wenn paketbasierte Kommunikation auf ATM umgesetzt und die Pakete in ATM-Zellen verpackt wurden. Wenn man eine dieser ATM-Zellen verwirft, wird natürlich das ganze vorher segmentierte Paket ungültig. Aus diesem Grund erfand man Schemata wie Partial Packet Discard (PPD) und Early Packet Discard (EPD), die eine ganze Serie von Zellen verwerfen, bis der nächste Datenframe beginnt (siehe Discard-Protokoll). Das reduziert die Anzahl redundanter Zellen im Netz und spart Bandbreite für volle Datenframes. EPD und PPD arbeiten nur mit AAL 5, weil sie das Frame End Bit auswerten müssen, um das Ende eines Paketes festzustellen.

### Struktur einer ATM-Zelle

Eine ATM-Zelle besteht aus einem Header von 5 Byte und 48 Byte Nutzdaten (engl. „payload“). Die Nutzdatengröße von 48 Bytes ergab sich als Kompromiss zwischen den Bedürfnissen der Sprachtelefonie und denen paketbasierter Netze. Man nahm einfach den Durchschnitt der Paketlängen des amerikanischen (64 Byte) und des europäischen Vorschlags (32 Byte).
ATM definiert zwei unterschiedliche Zellformate: NNI (Network-Network-Interface) und UNI (User-Network-Interface). Private ATM-Verbindungen benutzen das UNI-Format, öffentliche ATM-Netze das NNI-Format.
| 7 | | | 4 | 3 | | | 0 |
| GFC | GFC | GFC | GFC | VPI | VPI | VPI | VPI |
| VPI | VPI | VPI | VPI | VCI | VCI | VCI | VCI |
| VCI ||||||||
| VCI | VCI | VCI | VCI | PT | PT | PT | CLP |
| HEC ||||||||
| Payload 48Byte ||||||||
| 7 | | | 4 | 3 | | | 0 |
| VPI ||||||||
| VPI | VPI | VPI | VPI | VCI | VCI | VCI | VCI |
| VCI ||||||||
| VCI | VCI | VCI | VCI | PT | PT | PT | CLP |
| HEC ||||||||
| Payload 48Byte ||||||||
(GFC: Generic Flow Control, VPI: Virtual Path Identifier, VCI: Virtual Channel Identifier, PT: Payload Type, CLP: Cell Loss Priority, HEC: Header Error Control)
In einer Zelle mit UNI-Header-Format ist das GFC-Feld für eine (bis heute undefinierte) lokale Flusskontrolle zwischen Netz und User reserviert. Wegen dieses geplanten Verwendungszwecks wird die Übertragung der GFC-Bits von öffentlichen ATM-Netzen nicht garantiert. Bis zur Normung der lokalen Flusskontrolle müssen alle vier Bits standardmäßig auf Null gesetzt sein. In privaten Netzen können sie beliebig genutzt werden, falls nicht herstellerspezifische Einschränkungen das verbieten.
Das NNI-Format einer ATM-Zelle ist bis auf das fehlende GFC-Feld mit dem UNI-Format identisch. Diese Bits werden stattdessen benutzt, um das VPI-Feld von 8 auf 12 Bits zu vergrößern. Daher können dann über einen einzigen Port 2$^{12}$ VPs mit je 2$^{16}$ VCs adressiert bzw. die entsprechende Anzahl von Verbindungen geschaltet werden. Beim UNI-Format sind es nur 256 VPs mit je 2$^{16}$ VCs. In der Praxis sind gewöhnlich einige VP/VC-Nummern für besondere Zwecke reserviert und können daher nicht für Nutzverbindungen verwendet werden.
Das PT-Feld wird zur Unterscheidung verschiedener Arten von Zellen für Nutzdaten oder Wartungs- und Managementzwecke benutzt. So z. B.: Zellen für den Austausch von Signalisierungsinformationen, Steuerdaten für die Überwachung von Netzelementen sowie Zellen für Resource Management und Traffic Control.
Das Cell Loss Priority Bit (CLP) gibt an, ob die Zelle eine hohe (CLP = 0) oder niedrige Priorität (CLP = 1) besitzt. Das ist nur dann wichtig, wenn ein Netzknoten überlastet ist und einige Zellen verworfen werden müssen. Zellen mit der niedrigen Priorität werden als erste verworfen. Das CLP-Bit kann von Endeinrichtungen oder von Netzknoten gesetzt bzw. verändert werden.
Das HEC-Feld (Header Error Correction, Checksumme des Headers) ermöglicht es, zu prüfen, ob der Header der ATM-Zelle fehlerfrei übertragen wurde; eine Fehlerüberprüfung der Nutzdaten muss in höheren Schichten erfolgen. Ferner dient es der Zellsynchronisation: Wenn die empfangende Seite den Zellbeginn nicht korrekt identifiziert hat, nimmt sie auch die falschen Bytes als HEC-Feld und kommt dann solange zu negativen Prüfergebnissen, bis sie sich wieder auf den korrekten Zellbeginn synchronisiert hat.
Siehe auch: DSS2, DSL, IP, MPLS, DQDB

## Nummerierung in ATM-Netzen

Ursprünglich war vorgesehen, dass für das auf der ATM-Technik beruhende B-ISDN der gleiche Nummernraum verwendet wird wie für das ISDN, also der nach ITU-T Empfehlung E.164 standardisierte. Nachdem aber auch die IT-Welt die ATM-Technik als verwendbar erkannt hatte, fand ein heftiger Kampf gegen dieses Nummernschema statt. Er endete damit, dass ein alternativer Nummernraum geschaffen wurde, der heute unter dem Begriff „ATM End-System Address“ (AESA) bekannt ist. Damit konnte vermieden werden, dass die nationalen Telekommunikationsgesellschaften, die damals noch häufig Monopole waren, die Nummernvergabe dominieren könnten. Heute sind beide Adresstypen üblich, die sich aber grundsätzlich unterscheiden:
* Adresstyp A besteht aus einer internationalen Adresse gemäß E.164 mit einer Subadresse. Die Subadresse enthält die notwendige Information, mit der das Endgerät identifiziert wird. Die Subadresse kann aus einem privaten Namensraum kommen und auf einer AESA beruhen.
* Adresstyp B ist die AESA, die auf dem Format der OSI NSAP Adresse beruht (aber selbst keine ist).
Die ehemalige Auseinandersetzung um die ATM-Adressierung ähnelt der heutigen um die Adressierung in der IP-Telefonie, die unter anderen Lösungen zu der unter der Bezeichnung Telephone Number Mapping bekannten geführt hat.

## Anwendung und Betreiber

Fast alle Betreiber von Kommunikationsnetzen haben im Backbone-Bereich ATM-Netze eingerichtet, benutzen aber keine ATM-Signalisierung, sondern feste Verschaltungen. Im breitbandigen Zugangsnetz wird als Multiplex-Layer fast ausschließlich ATM verwendet (DSLAM, RAS). ATM konnte sich als Technik für lokale Netze nur im Hochleistungsbereich durchsetzen. Seine hohe Komplexität und die damit verbundenen Kosten verhinderten den großflächigen Einsatz als integrierte Netzlösung im Bürobereich. Einige grundlegende Prinzipien der ATM-Standards wie zum Beispiel die Möglichkeit, bestimmte Typen des Datenverkehrs zu priorisieren, wurden später in MPLS übernommen, ein allgemeines Protokoll für effizientes Switching unterhalb Layer 3.

### Verwendung bei Rundfunk- und Sendeanstalten

Die Verwendung der ATM-Technik wird von Sende- und Rundfunkanstalten in Deutschland genutzt: Über Glasfasernetze versenden größere Produktionsfirmen und Sender in Echtzeit unter anderem ihr Ton- und Bildmaterial an die verschiedenen Sendeanstalten – das ARD-interne Produktionsnetz (HYBNET) basiert auf ATM-Technik. Mit Hilfe von Satellitentechnik (Uplink) lassen sich auch größere Strecken (interkontinental) über das ATM-Netz überbrücken. Die Übergabepunkte bestehen aus einem En- und einem Decoder, die sogenannten Muxer (Multiplexverfahren). Die Technik bietet auch die Grundlage zum Live-Schalten von Studio zu Studio.

### Aktuelle Situation

Obwohl beispielsweise die klassischen Telekommunikationsnetzbetreiber enorme Summen in ATM-Infrastruktur investierten, mehrten sich seit den späten 1990er Jahren Indizien dafür, dass bei immer mehr Anwendungen andere, oft Ethernet-basierte Technik statt ATM zum Einsatz kommt, Gründe dafür könnten die viel niedrigeren Preise von Geräten der IEEE-802.3-Familie und das einfacher zugängliche Know-how sein.
Die Deutsche Telekom AG plante bis zum Jahr 2012 ihre Internet-DSL-Anschlüsse und auch ihre Telefonvermittlungsstellen nicht mehr mit ATM-Technik aufzurüsten, so dass ATM im Backbonebereich in Zukunft keine große Rolle mehr spielt. Ersetzt wird die ATM-Technik durch Ethernet-basierte Technik und IP-basierende VPNs. Im Februar 2013 wurde bekannt, dass die Telekom in einer Testphase bis 2016 schrittweise „wenig genutzte Teile der herkömmlichen Netztechnologie“ (gemeint sind ATM-DSLAMs) abschalten und die Kunden auf IP-Lösungen („All-IP“) migrieren will. Betroffen seien einige Tausend Kunden, die bereits angeschrieben worden seien. Die Vermittlungsstellen sollen erhalten bleiben, jedoch wolle der Netzbetreiber „wichtige Erfahrungen für die Migration auf IP-Technik gewinnen, die dann in die weitere Planung einfließen sollen.“
Im März 2020 gab die Deutsche Telekom bekannt, dass die Umstellung auf IP-Technik im Privatkundenbereich nahezu abgeschlossen sei. Die Abschaltung der alten Breitband-Plattformen ATM und GbE wurde eingeleitet, um eine vereinfachte Netzinfrastruktur mit höheren Bandbreiten und effizienterem Betrieb zu ermöglichen.
Obwohl ATM als Technik damit keine Rolle mehr spielt, sollte noch erwähnt werden, dass einige der mit ATM gewonnenen Forschungserkenntnisse in anderen Netztechnologien weitergenutzt werden, wie etwa bei MPLS. Aber auch QoS im Internet bzw. in zukünftigen Netzen oder die TCP-Überlastkontrolle hat – zumindest im Bereich der Forschung – auch von ATM profitiert (siehe TCP/Überlastkontrolle als Forschungsfeld).