Als een spraaksignaal wordt gereduceerd tot pakketten, en het wordt gedwongen een verbinding te delen met bursty dataverkeer (verkeer met enkele grote gegevenspakketten), dan zouden de spraakpakketten, hoe klein ze ook kunnen worden gemaakt, altijd op full-size gegevenspakketten stuiten. Onder normale wachtrijomstandigheden zouden de cellen maximale wachtrijvertragingen kunnen ondervinden. Om dit probleem te vermijden hebben alle ATM-pakketten, of “cellen”, dezelfde kleine omvang. Bovendien betekent de vaste celstructuur dat ATM gemakkelijk hardwarematig kan worden geschakeld zonder de inherente vertragingen die worden geïntroduceerd door softwarematig geschakelde en gerouteerde frames.
Dus hebben de ontwerpers van ATM kleine gegevenscellen gebruikt om jitter (vertragingsvariatie, in dit geval) te verminderen bij het multiplexen van gegevensstromen. Vermindering van jitter (en ook end-to-end round-trip vertragingen) is bijzonder belangrijk bij het vervoeren van spraakverkeer, omdat de omzetting van gedigitaliseerde spraak in een analoog audiosignaal een inherent real-time proces is, en om goed werk te leveren moet de decoder (codec) die dit doet een gelijkmatig gespreide (in de tijd) stroom van data-items hebben. Als het volgende data-item niet beschikbaar is wanneer het nodig is, heeft de codec geen andere keuze dan stilte te produceren of te gissen – en als de data te laat is, is het nutteloos, omdat de tijdspanne waarin het in een signaal had moeten worden omgezet, reeds verstreken is.
Toen ATM werd ontworpen, werd 155 Mbit/s synchrone digitale hiërarchie (SDH) met 135 Mbit/s payload beschouwd als een snelle optische netwerkverbinding, en veel plesiochrone digitale hiërarchie (PDH) verbindingen in het digitale netwerk waren aanzienlijk langzamer, variërend van 1.544 tot 45 Mbit/s in de VS, en 2 tot 34 Mbit/s in Europa.
Bij 155 Mbit/s zou een typisch datapakket van 1500 bytes (12.000 bits) over de volledige lengte, voldoende om een IP-pakket van de maximale grootte voor Ethernet te bevatten, 77,42 µs nodig hebben om te worden verzonden. Bij een lagere snelheidsverbinding, zoals een 1,544 Mbit/s T1-lijn, zou hetzelfde pakket tot 7,8 milliseconden nodig hebben.
Een wachtrijvertraging die door verscheidene van dergelijke gegevenspakketten wordt veroorzaakt, zou het cijfer van 7,8 ms verscheidene malen kunnen overschrijden, naast de eventuele vertraging in het genereren van pakketten in het kortere spraakpakket. Dit werd onaanvaardbaar geacht voor spraakverkeer, dat een lage jitter moet hebben in de datastroom die aan de codec wordt toegevoerd, wil het geluid van goede kwaliteit produceren. Een pakketspraaksysteem kan deze lage jitter op een aantal manieren produceren:
- Het gebruik van een afspeelbuffer tussen het netwerk en de codec, één die groot genoeg is om de codec over bijna alle jitter in de data heen te helpen. Hierdoor kan de jitter worden afgevlakt, maar de vertraging die wordt geïntroduceerd door de passage door de buffer vereist echo-onderdrukkers, zelfs in lokale netwerken; dit werd destijds als te duur beschouwd. Ook nam de vertraging over het kanaal toe, en werd conversatie over kanalen met een hoge vertraging bemoeilijkt.
- Een systeem gebruiken dat inherent lage jitter (en minimale totale vertraging) levert aan verkeer dat dat nodig heeft.
- Opereren op een 1:1 gebruikersbasis (d.w.z. een dedicated pipe).
Het ontwerp van ATM was gericht op een netwerkinterface met lage jitter. Er werden echter “cellen” in het ontwerp geïntroduceerd om korte wachtrijvertragingen te bieden en toch datagrammenverkeer te kunnen blijven ondersteunen. ATM verdeelde alle pakketten, gegevens en spraakstromen in brokken van 48 bytes en voegde aan elke brok een routing-header van 5 bytes toe, zodat deze later weer konden worden samengevoegd. De keuze van 48 bytes was eerder politiek dan technisch. Toen de CCITT (nu ITU-T) ATM standaardiseerde, wilden partijen uit de Verenigde Staten een payload van 64 bytes omdat dit als een goed compromis werd beschouwd tussen grotere payloads die geoptimaliseerd waren voor datatransmissie en kortere payloads die geoptimaliseerd waren voor real-time toepassingen zoals spraak; partijen uit Europa wilden payloads van 32 bytes omdat de kleine omvang (en dus de korte transmissietijden) spraaktoepassingen vereenvoudigde met betrekking tot echo-onderdrukking. De meeste Europese partijen sloten zich uiteindelijk aan bij de argumenten van de Amerikanen, maar Frankrijk en enkele andere landen hielden vast aan een kortere cellengte. Met 32 bytes zou Frankrijk in staat zijn geweest een spraaknetwerk op ATM-basis te implementeren waarbij gesprekken van het ene eind van Frankrijk naar het andere geen echo-onderdrukking behoeven. 48 bytes (plus 5 header bytes = 53) werd gekozen als een compromis tussen de twee partijen. Er werd gekozen voor 5 bytes headers omdat men vond dat 10% van de payload de maximale prijs was om te betalen voor routing-informatie. ATM multiplexed deze 53-byte cellen in plaats van pakketten waardoor de worst-case cell contention jitter met een factor van bijna 30 verminderde, waardoor er minder echo cancellers nodig waren.
Cell structureEdit
Een ATM cel bestaat uit een 5-byte header en een 48-byte payload. De payload grootte van 48 bytes is gekozen zoals hierboven beschreven.
ATM definieert twee verschillende cel formaten: user-network interface (UNI) en network-network interface (NNI). De meeste ATM-links gebruiken het UNI-celformaat.
Diagram van een UNI ATM-cel
|
diagram van een NNI ATM-cel
|
GFC = Het generic flow control (GFC) veld is een 4-bit veld dat oorspronkelijk werd toegevoegd ter ondersteuning van de verbinding van ATM-netwerken met gedeelde toegangsnetwerken zoals een distributed queue dual bus (DQDB) ring. Het GFC-veld was bedoeld om de User-Network Interface (UNI) 4 bits te geven om te onderhandelen over multiplexing en flow control tussen de cellen van verschillende ATM-verbindingen. Het gebruik en de exacte waarden van het GFC-veld zijn echter niet gestandaardiseerd, en het veld is altijd ingesteld op 0000. VPI = Virtual path identifier (8 bits UNI, of 12 bits NNI) VCI = Virtual channel identifier (16 bits) PT = Payload type (3 bits) PT bit 3 (msbit): Netwerkbeheercel. Indien 0, gebruikersgegevenscel en het volgende is van toepassing: PT bit 2: Explicit forward congestion indication (EFCI); 1 = netwerkcongestie ondervonden PT bit 1 (lsbit): ATM user-to-user (AAU) bit. Gebruikt door AAL5 om pakketgrenzen aan te geven. CLP = Cell loss priority (1-bit) HEC = Header error control (8-bit CRC, polynoom = X8 + X2 + X + 1)
ATM gebruikt het PT-veld om diverse speciale soorten cellen aan te duiden voor operaties, administratie en management (OAM) doeleinden, en om pakketgrenzen af te bakenen in sommige ATM-adaptatielagen (AAL). Als de meest significante bit (MSB) van het PT-veld 0 is, is dit een gebruikersgegevenscel, en worden de andere twee bits gebruikt om netwerkcongestie aan te geven en als een headerbit voor algemene doeleinden die beschikbaar is voor ATM-adaptatielagen. Als de MSB 1 is, is dit een beheerscel, en geven de andere twee bits het type aan. (Network management segment, network management end-to-end, resource management, en gereserveerd voor toekomstig gebruik.)
Verschillende ATM link protocols gebruiken het HEC veld om een CRC-gebaseerd framing algoritme aan te sturen, waarmee de ATM cellen kunnen worden gelokaliseerd zonder overhead buiten wat anders nodig is voor header protection. De 8-bit CRC wordt gebruikt om single-bit headerfouten te corrigeren en multi-bit headerfouten te detecteren. Wanneer multi-bit header-fouten worden gedetecteerd, worden de huidige en volgende cellen gedropt totdat een cel zonder header-fouten wordt gevonden.
Een UNI-cel reserveert het GFC-veld voor een lokaal flow control/submultiplexing-systeem tussen gebruikers. Dit was bedoeld om verschillende terminals in staat te stellen een enkele netwerkaansluiting te delen, op dezelfde manier waarop twee Integrated Services Digital Network (ISDN)-telefoons een enkele ISDN-basistariefaansluiting kunnen delen. Alle vier GFC-bits moeten standaard nul zijn.
Het NNI-celformaat repliceert bijna exact het UNI-formaat, behalve dat het 4-bits GFC-veld opnieuw wordt toegewezen aan het VPI-veld, waardoor de VPI wordt uitgebreid tot 12 bits. Aldus is een enkele NNI ATM interconnectie in staat om bijna 212 VP’s tot bijna 216 VC’s elk te adresseren (in de praktijk zijn enkele van de VP en VC nummers gereserveerd).
DiensttypenEdit
ATM ondersteunt verschillende soorten diensten via AAL’s. Gestandaardiseerde AALs omvatten AAL1, AAL2, en AAL5, en de zelden gebruikte AAL3 en AAL4. AAL1 wordt gebruikt voor diensten met constante bitsnelheid (CBR) en circuitemulatie. Synchronisatie wordt ook gehandhaafd op AAL1. AAL2 tot en met AAL4 worden gebruikt voor diensten met variabele bitsnelheid (VBR), en AAL5 voor gegevens. Welke AAL wordt gebruikt voor een bepaalde cel is niet gecodeerd in de cel. In plaats daarvan wordt hierover onderhandeld door of het wordt geconfigureerd op de eindpunten op een per-virtuele-verbindingsbasis.
Na het oorspronkelijke ontwerp van ATM zijn netwerken veel sneller geworden. Een 1500 byte (12000-bit) full-size Ethernet-frame heeft slechts 1,2 µs nodig om te worden verzonden op een 10 Gbit/s-netwerk, waardoor er minder behoefte is aan kleine cellen om de jitter als gevolg van contention te verminderen. Sommigen zijn van mening dat dit pleit voor vervanging van ATM door Ethernet in de backbone van het netwerk. De hogere verbindingssnelheden op zich verminderen de jitter als gevolg van wachtrijen niet. Bovendien is de hardware voor het implementeren van de dienstenaanpassing voor IP-pakketten duur bij zeer hoge snelheden. Met name bij snelheden van OC-3 en hoger maken de kosten van SAR-hardware (segmentation and reassembly) ATM minder concurrerend voor IP dan Packet Over SONET (POS); vanwege de vaste cel-lading van 48 bytes is ATM niet geschikt als datalinklaag die direct onder IP ligt (zonder de noodzaak van SAR op datalinkniveau), aangezien de OSI-laag waarop IP opereert een maximale transmissie-eenheid (MTU) van ten minste 576 bytes moet bieden. De SAR-prestatielimieten houden in dat de snelste ATM-interfaces van de IP-router STM16 – STM64 zijn, hetgeen in feite vergelijkbaar is, terwijl vanaf 2004 POS met OC-192 (STM64) kan werken, waarbij in de toekomst hogere snelheden worden verwacht, limieten op basis van segmentatie en hermontage (SAR).
Op langzamere of overbelaste verbindingen (622 Mbit/s en lager) heeft ATM wel zin, en om die reden gebruiken de meeste asymmetrische digitale abonneelijn (ADSL) systemen ATM als tussenlaag tussen de fysieke verbindingslaag en een Layer 2 protocol zoals PPP of Ethernet.
Bij deze lagere snelheden biedt ATM een nuttige mogelijkheid om meerdere logische circuits op een enkel fysiek of virtueel medium te vervoeren, hoewel er andere technieken bestaan, zoals Multi-link PPP en Ethernet VLAN’s, die bij VDSL-implementaties optioneel zijn. DSL kan worden gebruikt als toegangsmethode voor een ATM-netwerk, waardoor een DSL-aansluitpunt in een telefooncentrale via een wide-area ATM-netwerk verbinding kan maken met een groot aantal internet service providers. Althans in de Verenigde Staten heeft dit DSL-providers in staat gesteld DSL-toegang te verlenen aan de klanten van een groot aantal internetproviders. Aangezien één DSL-aansluitpunt meerdere ISP’s kan ondersteunen, is de economische haalbaarheid van DSL aanzienlijk verbeterd.