Asynchronous Transfer Mode
Asynchronous Transfer Mode (ATM) ist eine Technologie, bei der der Datenverkehr in kleine Pakete, Zellen genannt, mit fester Länge (53 Byte) codiert und über asynchrones Zeitmultiplex übertragen wird. Die Zellen-Technik hat im Vergleich zu Übertragungstechniken mit variabler Paketgröße (zum Beispiel Ethernet) den Vorteil, dass die Zellen durch sogenanntes Zell-Relay (ähnlich Frame Relay) effizienter weitergeleitet werden können.
Überblick und Entstehungsgeschichte
ATM wurde als Netzwerk-Standard entwickelt, der die synchronen (PDH, SDH) Transporttechnologien 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- oder TCP/IP-Technologie, die in Lastsituationen zu unberechenbaren Ergebnissen führen kann, bietet ATM Garantien hinsichtlich effektiver Bitrate, Delay und Jitter, was gewöhnlich (neben anderen Features) als Quality of Service (QoS) bezeichnet wird.
Das Problem, vielfältige Datenströme unterschiedlicher Art zusammenzuführen, also z.B. sowohl mit synchronen als auch paketbasierten Netzwerken 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 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üsseltechnologie 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 komplette ATM-Standard besteht deshalb aus Definitionen für die Layer 1 bis 3 (Bitübertragungsschicht, Sicherungsschicht und Vermittlungsschicht) des OSI-Modells. Federführend bei der Entwicklung der ATM-Standards waren vorwiegend Telekommunikationsfirmen (Telcos), aber auch das amerikanische Department of Defense (DoD). Aus diesem Grunde wurden viele der existierenden Telco-Technologien und -Konventionen in ATM integriert.
Heute ist ATM eine Technologie mit sehr großer Leistungsfähigkeit, mit Unterstützung für Anwendungen vom globalen Telco-Netzwerk bis zum privaten LAN.
Fast alle Telcos haben im Backbone-Bereich ATM-Netzwerke eingerichtet, benutzen aber keine ATM-Signalisierung, sondern feste Verschaltungen. Im breitbandigen Zugangsnetz wird als Multiplex-Layer fast ausschließlich ATM genutzt (DSLAM, RAS). ATM konnte sich als Technologie für lokale Netzwerke nur im Hochleistungsbereich durchsetzen. Seine hohe Komplexität und die damit verbundenen Kosten verhinderten den großflächigen Einsatz als integrierte Netzwerklösung im Bürobereich. Einige grundlegenden Prinzipien der ATM-Standards wie z.B. 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.
ATM-Schichten-Modell:
Höhere Schichten für Nutzdaten, Steuerbits |
---|
ATM-Anpassungsschicht |
ATM-Schicht |
Bitübertragungschicht |
Management-Funktionen (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 (Adaptionsschicht)(AAL):
- Daten der höheren Schichten werden an das Format des Info-Feldes der ATM-Zelle angepasst (Protokollanpassung). Man unterscheidet 5 Diensttypen.
Im Rahmen des ATM-Schichtenmodells wird die Zellensynchronisation durchgeführt. Der Empfänger sucht für die Synchronisation den HEC im Zellenkopf. Der HEC besteht aus einer Prüfsumme des restlichen Zellenkopfes. Stimmen die Prüfsummen der ersten 4 Bytes mit dem 5. Byte überein, spricht man von Synchronisation.
ATM-Konzepte
Warum Zellen?
Der Grund für die Benutzung kleiner Daten-"Zellen" war die Reduktion des Jitters beim Multiplexen von Datenströmen.
Zu der Zeit, als ATM entwickelt wurde, waren STM-1-Leitungen mit 155 Mbit/s (135 Mbit/s Nutzlast) eine schnelle optische Netzwerkverbindung, wobei viele PDH-Leitungen der damaligen Netzwerke noch ein ganzes Stück langsamer waren, zwischen 1,544 Mbit/s und 45 Mbit/s in den USA, und 2-34 Mbit/s in Europa.
Bei diesen Datenraten braucht ein typisches Datenpaket voller Länge (1500 Byte/12000 bit) etwa 89 µs für die Serialisierung der Daten. Bei langsameren Verbindungen, beispielsweise 1,544 Mbit/s T1, bräuchte das gleiche Paket 7,8 Millisekunden.
Jetzt stellen wir uns ein auf Pakete aufgeteiltes Sprachsignal vor, das sich die Leitung mit großvolumigem Datenverkehr teilen muss. Egal wie klein die Sprachpakete gemacht werden könnten, sie würden immer auf die Datenpakete voller Größe treffen, und die Wartezeiten, bis die Leitung mal frei ist, wären ein mehrfaches der reinen Serialisierungszeit von 7,8 ms. Für Sprachverkehr war dies ganz klar inakzeptabel. Selbst wenn man den Jitter herausfilterte, war die Verzögerung so groß, dass man sogar im lokalen Netzwerk Echokompensation benötigt hätte. Zu jener Zeit war dies schlichtweg zu teuer.
Die ATM-Lösung bestand nun darin, alle Pakete, sowohl Daten als auch Sprache, in 48 Byte große Teile zu splitten und einen Routing-Header von 5 Byte hinzuzufügen, so dass sie später wieder zusammengefügt werden konnten, und diese 53-Byte-Zellen dann anstelle von Paketen zu multiplexen. Dieses Verfahren reduzierte die Warteschleifen-Zeit fast um den Faktor 30, wodurch man sich die Echokompensation sparen konnte.
Die Regeln für die Aufteilung und Re-Assemblierung von Paketen und Streams in Zellen werden als ATM Adaptation Layers bezeichnet: Die zwei wichtigsten sind AAL 1, der für Streams (z.B. Sprache) zuständig ist, 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.
Seitdem wurden die Glasfasernetze viel schneller. Heute braucht ein Ethernet-Paket voller Länge nur noch 1,2 µs auf einer optischen Verbindung mit 10 Gbit/s Bandbreite, was es eigentlich nicht mehr notwendig macht, kleine Pakete zu verwenden, um die Latenzzeiten kurz zu halten. Einige Leute haben daraus den Schluss gezogen, dass ATM im Netzwerk-Backbone dadurch überflüssig wurde.
Für langsamere Verbindungen (2 Mbit/s und kleiner) 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.
Wozu virtuelle 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 hat einen 8 bzw. 12 Bit langen Virtual Path Identifier (VPI) und einen Virtual Channel Identifer (VCI) von 16 bit in ihrem Header. Während diese Zellen das ATM-Netzwerk 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 dies dem Konzept einer Verbindung, da alle Pakete mit gleichen VPI/VCI-Werten den gleichen Weg nehmen (im Gegensatz zu IP, wo 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 Multiplexing-Layer für unterschiedliche Services (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", wörtlich ein "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:
- UBR - Unspecified Bit Rate (unbestimmte Bitrate), der Defaulttyp für "normalen" Traffic. Hier bekommt man an Bandbreite, was übrig ist, nachdem der QoS-Traffic abgewickelt ist.
- CBR - Constant Bit Rate (konstante Bitrate), hier wird eine Spitzenrate (Peak Cell Rate, PCR) angefordert, die dann garantiert wird
- VBR - Variable Bit Rate, hier "bestellt" man eine durchschnittliche Zellenrate, die man aber um einen bestimmten Betrag für eine bestimmte Zeit überschreiten darf (gibt es in Echtzeit- und Non-Echtzeit-Varianten).
- ABR - Available Bit Rate, die Senderate wird anhand der aktuell freien Bandbreite geregelt. Die Regelung erfolgt entweder über das EFCI-Flag im Cellheader oder über spezielle Resource-Management (RM)-Zellen.
Das Einhalten der Traffic Contracts wird normalerweise durch "Shaping", eine Kombination aus Warteschleife und Klassifizierung von Paketen, sowie "Policing" erzwungen.
Traffic Shaping
Üblicherweise passiert das Shaping am Eingangspunkt eines ATM-Netzwerkes, es wird dort 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-Netzwerkes erfordert Pufferkapazitäten (Buffer Manager), da die Zellen gelegentlich verzögert weitergeleitet werden und es daher zu Zellanhäufung kommt.
Traffic Policing
Um die Netzwerk-Performance zu erhalten, ist es möglich, virtuellen Verbindungen Regeln entgegen ihren Traffic Contracts zu geben. Wenn eine Verbindung ihren Traffic Contract überschreitet, kann das Netzwerk 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 Frame beginnt (sieh Discard-Protokoll). Dies reduziert die Anzahl redundanter Zellen im Netzwerk und spart Bandbreite für volle Frames. 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 Nutzlast (Payload). Die Payload-Größe von 48 Bytes ergab sich als Kompromiss zwischen den Bedürfnissen der Sprachtelefonie und denen paketbasierter Netzwerke. Man nahm einfach den Durchschnitt der Paketlängen des amerikanischen (64 Byte) und des europäischen Vorschlags (32 Byte).
ATM definiert zwei unterschiedliche Zellen-Formate: NNI (Netzwerk-Netzwerk-Interface) und UNI (User-Netzwerk-Interface). Private ATM-Verbindungen benutzen das UNI-Format, öffentliche ATM-Netzwerke das NNI-Format.
Diagramm einer UNI-ATM-Zelle
7 | 4 |
3 |
0 | ||||
GFC | VPI | ||||||
VPI |
VCI | ||||||
VCI | |||||||
VCI | PT | CLP | |||||
HEC | |||||||
|
Das PT-Feld wird zur Unterscheidung verschiedener besonderer Arten von Zellen für Wartungs- und Management-Zwecke benutzt.
In einer Zelle mit UNI-Headerformat ist das GFC-Feld für eine (bis heute undefinierte) lokale Flusskontrolle zwischen Netzwerk 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 dies verbieten.
Das NNI-Format einer ATM-Zelle ist bis auf das fehlende GFC-Feld mit dem UNI-Format identisch. Diese Bits werden statt dessen benutzt, um das VPI-Feld von 8 auf 12 Bits zu vergrößern. Daher können dann über einen einzigen Port 212 VPs mit je 216 VCs adressiert bzw. die entsprechende Anzahl von Verbindungen geschaltet werden. Beim UNI-Format sind es nur 256 VPs mit je 216 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 HEC-Feld (Header Error Correction, Checksumme des Headers) ermöglicht es zu prüfen, ob die ATM-Zelle fehlerfrei übertragen wurde. 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 synchronisert hat. Das Prüfen des HEC-Feldes wird von der empfangenden Seite in Echtzeit vorgenommen.
Siehe auch: DSL, IP, MPLS, DQDB