Wenn ein Sprachsignal in Pakete zerlegt wird und gezwungen ist, eine Verbindung mit stoßweisem Datenverkehr (Verkehr mit einigen großen Datenpaketen) zu teilen, dann können die Sprachpakete noch so klein gemacht werden, sie würden immer auf Datenpakete in voller Größe treffen. Unter normalen Warteschlangenbedingungen könnten die Zellen maximale Warteschlangenverzögerungen erfahren. Um dieses Problem zu vermeiden, sind alle ATM-Pakete, oder „Zellen“, gleich klein. Darüber hinaus bedeutet die feste Zellenstruktur, dass ATM leicht per Hardware geschaltet werden kann, ohne die Verzögerungen, die durch softwaregeschaltete und geroutete Rahmen entstehen.
Die Entwickler von ATM haben also kleine Datenzellen verwendet, um Jitter (in diesem Fall Verzögerungsvarianz) beim Multiplexen von Datenströmen zu reduzieren. Die Verringerung des Jitters (und auch der Ende-zu-Ende-Verzögerungen) ist besonders wichtig bei der Übertragung von Sprachverkehr, da die Umwandlung digitalisierter Sprache in ein analoges Audiosignal ein inhärenter Echtzeitprozess ist und der Decoder (Codec), der diese Aufgabe übernimmt, einen (zeitlich) gleichmäßigen Datenstrom benötigt. Wenn das nächste Datenelement nicht verfügbar ist, wenn es benötigt wird, hat der Codec keine andere Wahl, als Stille zu erzeugen oder zu raten – und wenn die Daten zu spät kommen, sind sie nutzlos, weil der Zeitraum, in dem sie in ein Signal hätten umgewandelt werden sollen, bereits vergangen ist.
Zur Zeit der Entwicklung von ATM galten 155 Mbit/s synchrone digitale Hierarchie (SDH) mit 135 Mbit/s Nutzlast als schnelle optische Netzverbindung, und viele plesiochrone digitale Hierarchie (PDH)-Verbindungen im digitalen Netz waren wesentlich langsamer und reichten von 1.544 bis 45 Mbit/s in den USA und 2 bis 34 Mbit/s in Europa.
Bei 155 Mbit/s würde ein typisches Datenpaket von 1.500 Byte (12.000 Bit) in voller Länge, das ein IP-Paket maximaler Größe für Ethernet enthält, 77,42 µs für die Übertragung benötigen. Bei einer Verbindung mit geringerer Geschwindigkeit, z. B. einer T1-Leitung mit 1,544 Mbit/s, würde das gleiche Paket bis zu 7,8 Millisekunden benötigen.
Eine Warteschlangenverzögerung, die durch mehrere solcher Datenpakete verursacht wird, könnte den Wert von 7,8 ms um ein Vielfaches übersteigen, zusätzlich zu einer Verzögerung bei der Paketerzeugung im kürzeren Sprachpaket. Dies wurde als inakzeptabel für den Sprachverkehr angesehen, der einen geringen Jitter im Datenstrom, der in den Codec eingespeist wird, benötigt, um eine gute Tonqualität zu erzeugen. Ein Paket-Sprachsystem kann diesen geringen Jitter auf verschiedene Weise erzeugen:
- Durch Verwendung eines Wiedergabepuffers zwischen dem Netz und dem Codec, der groß genug ist, um den Codec über fast den gesamten Jitter in den Daten zu halten. Dies ermöglicht eine Glättung des Jitters, aber die Verzögerung, die durch den Puffer entsteht, erfordert selbst in lokalen Netzen Echokompensatoren; dies wurde damals als zu teuer angesehen. Dies wurde damals als zu teuer angesehen. Außerdem erhöhte es die Verzögerung über den Kanal und erschwerte die Konversation über Kanäle mit hoher Verzögerung.
- Verwendung eines Systems, das von Natur aus einen geringen Jitter (und eine minimale Gesamtverzögerung) für den Verkehr bietet, der dies benötigt.
- Betrieb auf einer 1:1-Benutzerbasis (d. h. eine dedizierte Leitung).
Das Design von ATM zielte auf eine Netzwerkschnittstelle mit geringem Jitter ab. Es wurden jedoch „Zellen“ in das Design eingeführt, um kurze Wartezeiten zu ermöglichen und gleichzeitig den Datagrammverkehr zu unterstützen. ATM teilte alle Pakete, Daten- und Sprachströme in 48-Byte-Blöcke auf und fügte jedem einen 5-Byte-Routing-Header hinzu, damit sie später wieder zusammengesetzt werden konnten. Die Wahl von 48 Bytes war eher politisch als technisch begründet. Als das CCITT (jetzt ITU-T) ATM standardisierte, wollten die Parteien aus den Vereinigten Staaten eine 64-Byte-Nutzlast, weil man der Meinung war, dass dies ein guter Kompromiss zwischen größeren Nutzlasten, die für die Datenübertragung optimiert sind, und kürzeren Nutzlasten, die für Echtzeitanwendungen wie Sprache optimiert sind, sei; die Parteien aus Europa wollten 32-Byte-Nutzlasten, weil die geringe Größe (und damit kurze Übertragungszeiten) Sprachanwendungen im Hinblick auf die Echounterdrückung vereinfachen. Die meisten europäischen Parteien schlossen sich schließlich den Argumenten der Amerikaner an, aber Frankreich und einige andere beharrten auf einer kürzeren Zellenlänge. Mit 32 Bytes wäre Frankreich in der Lage gewesen, ein ATM-basiertes Sprachnetz zu implementieren, bei dem Anrufe von einem Ende Frankreichs zum anderen keine Echounterdrückung erfordern. 48 Bytes (plus 5 Header-Bytes = 53) wurden als Kompromiss zwischen den beiden Seiten gewählt. Man entschied sich für 5-Byte-Header, weil man der Meinung war, dass 10 % der Nutzlast der maximale Preis für Routing-Informationen sei. ATM hat diese 53-Byte-Zellen anstelle von Paketen gemultiplext, was den Jitter bei der Zellkonkurrenz im schlimmsten Fall um fast das 30-fache reduzierte und den Bedarf an Echounterdrückern verringerte.
ZellstrukturBearbeiten
Eine ATM-Zelle besteht aus einem 5-Byte-Header und einer 48-Byte-Nutzlast. Die Payload-Größe von 48 Bytes wurde wie oben beschrieben gewählt.
ATM definiert zwei verschiedene Zellformate: User-Network-Interface (UNI) und Network-Network-Interface (NNI). Die meisten ATM-Verbindungen verwenden das UNI-Zellenformat.
Diagramm einer UNI-ATM-Zelle
|
Diagramm einer NNI-ATM-Zelle
|
GFC = Das generische Flusssteuerungsfeld (GFC) ist ein 4-Bit-Feld, dasBit-Feld, das ursprünglich hinzugefügt wurde, um die Verbindung von ATM-Netzen mit gemeinsam genutzten Zugangsnetzen wie einem DQDB-Ring (Distributed Queue Dual Bus) zu unterstützen. Das GFC-Feld wurde entwickelt, um dem User-Network Interface (UNI) 4 Bits zur Verfügung zu stellen, mit denen Multiplexing und Flusskontrolle zwischen den Zellen verschiedener ATM-Verbindungen ausgehandelt werden können. Die Verwendung und die genauen Werte des GFC-Feldes sind jedoch nicht genormt, und das Feld ist immer auf 0000 gesetzt. VPI = Virtueller Pfad-Identifikator (8 Bits UNI oder 12 Bits NNI) VCI = Virtueller Kanal-Identifikator (16 Bits) PT = Nutzlasttyp (3 Bits) PT Bit 3 (msbit): Netzverwaltungszelle. Wenn 0, Benutzerdatenzelle und das Folgende gelten: PT Bit 2: Explicit Forward Congestion Indication (EFCI); 1 = Netzüberlastung festgestellt PT Bit 1 (lsbit): ATM User-to-User (AAU) Bit. Wird von AAL5 verwendet, um Paketgrenzen anzuzeigen. CLP = Cell Loss Priority (1-Bit) HEC = Header Error Control (8-Bit CRC, Polynom = X8 + X2 + X + 1)
ATM verwendet das PT-Feld, um verschiedene spezielle Arten von Zellen für Betriebs-, Verwaltungs- und Managementzwecke (OAM) zu bezeichnen und um Paketgrenzen in einigen ATM-Anpassungsschichten (AAL) abzugrenzen. Wenn das höchstwertige Bit (MSB) des PT-Feldes 0 ist, handelt es sich um eine Nutzdatenzelle, und die beiden anderen Bits werden verwendet, um Netzüberlastung anzuzeigen und als allgemeines Header-Bit, das für ATM-Anpassungsschichten verfügbar ist. Ist das MSB gleich 1, handelt es sich um eine Managementzelle, und die beiden anderen Bits geben den Typ an. (Netzverwaltungssegment, Netzverwaltung Ende-zu-Ende, Ressourcenverwaltung und reserviert für künftige Verwendung)
Einige ATM-Verbindungsprotokolle verwenden das HEC-Feld, um einen CRC-basierten Framing-Algorithmus zu steuern, der die Lokalisierung der ATM-Zellen ohne Overhead ermöglicht, der über das hinausgeht, was sonst für den Header-Schutz erforderlich ist. Der 8-Bit-CRC wird verwendet, um Ein-Bit-Header-Fehler zu korrigieren und Mehr-Bit-Header-Fehler zu erkennen. Wenn Multi-Bit-Header-Fehler erkannt werden, werden die aktuelle und die nachfolgenden Zellen verworfen, bis eine Zelle ohne Header-Fehler gefunden wird.
Eine UNI-Zelle reserviert das GFC-Feld für ein lokales Flusssteuerungs-/Submultiplexing-System zwischen den Benutzern. Dies sollte es mehreren Endgeräten ermöglichen, sich eine einzige Netzverbindung zu teilen, so wie sich zwei ISDN-Telefone (Integrated Services Digital Network) eine einzige ISDN-Basisverbindung teilen können. Alle vier GFC-Bits müssen standardmäßig Null sein.
Das NNI-Zellenformat entspricht fast genau dem UNI-Format, mit der Ausnahme, dass das 4-Bit-GFC-Feld dem VPI-Feld neu zugewiesen wird, wodurch das VPI auf 12 Bit erweitert wird. Somit ist eine einzelne NNI-ATM-Verbindung in der Lage, fast 212 VPs mit jeweils bis zu 216 VCs zu adressieren (in der Praxis sind einige der VP- und VC-Nummern reserviert).
DiensttypenBearbeiten
ATM unterstützt verschiedene Diensttypen über AALs. Zu den standardisierten AALs gehören AAL1, AAL2 und AAL5, sowie die selten verwendeten AAL3 und AAL4. AAL1 wird für Dienste mit konstanter Bitrate (CBR) und Leitungsemulation verwendet. Auch die Synchronisierung wird bei AAL1 beibehalten. AAL2 bis AAL4 werden für Dienste mit variabler Bitrate (VBR) verwendet, und AAL5 für Daten. Welches AAL für eine bestimmte Zelle verwendet wird, ist nicht in der Zelle kodiert. Stattdessen wird es von den Endpunkten für jede virtuelle Verbindung ausgehandelt oder konfiguriert.
Nach dem ursprünglichen Entwurf von ATM sind die Netze viel schneller geworden. Ein 1500-Byte-(12000-Bit-)Ethernet-Rahmen in voller Größe wird in einem 10-Gbit/s-Netz in nur 1,2 µs übertragen, was den Bedarf an kleinen Zellen zur Verringerung des Jitters aufgrund von Konflikten verringert. Einige sind der Meinung, dass dies ein Argument für den Ersatz von ATM durch Ethernet im Netz-Backbone darstellt. Die höheren Verbindungsgeschwindigkeiten allein vermindern den Jitter aufgrund von Warteschlangen nicht. Außerdem ist die Hardware für die Implementierung der Dienstanpassung für IP-Pakete bei sehr hohen Geschwindigkeiten sehr teuer. Insbesondere bei Geschwindigkeiten von OC-3 und darüber machen die Kosten für die Segmentierungs- und Reassemblierungs-Hardware (SAR) ATM für IP weniger wettbewerbsfähig als Packet Over SONET (POS). Wegen seiner festen Zellnutzlast von 48 Byte eignet sich ATM nicht als Datenübertragungsschicht, die IP direkt unterliegt (ohne die Notwendigkeit von SAR auf der Datenübertragungsebene), da die OSI-Schicht, auf der IP arbeitet, eine maximale Übertragungseinheit (MTU) von mindestens 576 Byte bieten muss. SAR-Leistungsgrenzen bedeuten, dass die schnellsten IP-Router-ATM-Schnittstellen STM16 – STM64 sind, was tatsächlich vergleichbar ist, während POS seit 2004 mit OC-192 (STM64) betrieben werden kann, wobei für die Zukunft höhere Geschwindigkeiten erwartet werden, Grenzen, die auf Segmentierung und Wiederzusammensetzung (SAR) basieren.
Auf langsameren oder überlasteten Verbindungen (622 Mbit/s und darunter) macht ATM durchaus Sinn, und aus diesem Grund verwenden die meisten asymmetrischen digitalen Teilnehmeranschlusssysteme (ADSL) ATM als Zwischenschicht zwischen der physikalischen Verbindungsschicht und einem Schicht-2-Protokoll wie PPP oder Ethernet.
Bei diesen niedrigeren Geschwindigkeiten bietet ATM eine nützliche Möglichkeit, mehrere logische Schaltungen auf einem einzigen physischen oder virtuellen Medium zu übertragen, obwohl es auch andere Techniken gibt, wie Multi-Link-PPP und Ethernet-VLANs, die bei VDSL-Implementierungen optional sind. DSL kann als Zugangsmethode für ein ATM-Netz verwendet werden, so dass ein DSL-Abschlusspunkt in einer Telefonzentrale über ein weiträumiges ATM-Netz mit vielen Internetdienstanbietern verbunden werden kann. Zumindest in den Vereinigten Staaten hat dies den DSL-Anbietern die Möglichkeit gegeben, den Kunden vieler Internet-Diensteanbieter einen DSL-Zugang anzubieten. Da ein DSL-Abschlusspunkt mehrere Internet-Diensteanbieter unterstützen kann, wird die wirtschaftliche Machbarkeit von DSL erheblich verbessert.