Zum Inhalt springen

Asynchronous Transfer Mode

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 16. Juni 2004 um 15:59 Uhr durch 80.134.69.27 (Diskussion) (Struktur einer ATM-Zelle). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Asynchronous Transfer Mode, oder kurz ATM, ist eine Technologie, bei der der Datenverkehr in kleine Pakete (bei ATM "Zellen" genannt) mit fester Länge (53 byte) encodiert wird. Die Zellen-Technik hat im Vergleich zu Übertragungstechniken mit variabler Paketgröße (v.a. Ethernet) den Vorteil, dass die Pakete geswitcht und nicht geroutet werden und so 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 werden von 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 bei Bedarf in einem synchronen Zeitfenster in einem PDH- oder SDH-Netz gesendet. Asynchron ist bei ATM das Senden oder Nicht-Senden der Zellen im Zeitfenster, nicht der zugrundeliegende Träger-Bitstrom.

In der ursprünglichen Konzeption war ATM die Schlüsseltechnologie für das 'Breitband Integrated Services Digital Network' (B-ISDN), dass 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 Departement of Defence (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-Signalierung, 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 auf Layer 2.

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 Übertragung. 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 Übertragungszeit 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 dem Layer-2-Protokoll wie PPP oder Ethernet.

Wozu virtuelle Verbindungen?

ATM ist eine kanalbasierte Transportschicht. Dies spiegelt sich im Konzept der Virtual Paths (VPs) und Virtual Circuits (VCs) wider. Jede ATM-Zelle hat einen 8 bit langen Virtual Path Identifier (VPI) und einen Virtual Circuit 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 konsistent sind, 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 "Vertrag über Traffic": 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 drei 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 (gibt es in Echtzeit- und Non-Echtzeit-Varianten)
  • VBR - Variable Bitrate, hier "bestellt" man eine durchschnittliche Zellenrate, die man aber um einen bestimmten Betrag für eine bestimmte Zeit überschreiten darf.

Die meisten Traffic-Klassen enthalten auch das Konzept der "Cell Delay Variation Time" (CDVT), das die "Anhäufung" von Zellen über die Zeit definiert.

Die Einhaltung 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.

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. 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). Die Europäer konnten damit gut leben, denn bei 64 Byte hätten sie möglicherweise wieder Echokompensation in die nationalen Leitungen einbauen müssen.

ATM definiert zwei unterschiedliche Zellen-Formate: NNI (Netzwerk-Netzwerk-Interface) und UNI (User-Netzwerk-Interface). Die meisten ATM-Verbindungen benutzen das UNI-Format.

Diagramm einer UNI-ATM-Zelle

Bisher nicht erwähnte Felder:
PT = Nutzlasttyp (Payload Type, 3 bits)
GFC = Flusskontrolle (Generic Flow Control, 4 bits)
HEC = Fehlerkorrektur Header (Header Error Correction, Checksumme des Headers)
7

4
3


0
GFC VPI
VPI
VCI
VCI
VCI PT CLP
HEC




Payload 48Byte



Das PT-Feld wird zur Unterscheidung verschiedener besonderer Arten von Zellen für Wartungs- und Management-Zwecke, und um in einigen AALs Pakete abgrenzen zu können, benutzt.

In einer UNI-Zelle ist das GFC-Feld für eine (bis heute undefinierte) lokale Flusskontrolle zwischen Netzwerk und User reserviert. Alle vier GFC-Bits müssen standardmäßig Null sein.

Das NNI-Format ist größtenteils mit dem UNI-Format identisch, aber es enthält kein GFC-Feld, so dass das VPI-Feld auf 12 bits verlängert werden kann. Daher kann eine einzelne NNI-ATM-Verbindung fast 212 VPs mit je 212 VCs adressieren (in der Praxis sind einige VP/VC-Nummern für besondere Zwecke reserviert).


Siehe auch: DSL, IP, MPLS