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.
Die ATM-Technik wurde 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“) Die Senderate wird anhand der aktuell freien Bandbreite geregelt. Die Regelung erfolgt entweder über das EFCI-Flag im Cellheader oder über spezielle Ressourcenmanagement (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.
Diagramm einer UNI-ATM-Zelle 7 4 3 0 GFC VPI VPI VCI VCI VCI PT CLP HECPayload 48Byte Diagramm einer NNI-ATM-Zelle
7 4 3 0 VPI VPI VCI VCI VCI PT CLP HECPayload 48Byte
(GFC: Generic Flow Control, VPI: Virtual Path Identifier, VCI: Virtual Channel Identifier, PT: Payload Type, CLP: Cell Loss Priority, HEC: Header Error Control)