# Asynchronous transfer mode

Asynchronous transfer mode (ATM) is een netwerkprotocol, gebaseerd op pakketjes van 53 bytes, die door ATM-switches van de bron naar de bestemming worden gevoerd. Dit gebeurt over een Virtual Circuit (VC) dat door het netwerk heen wordt aangelegd bij het opzetten van een verbinding. Een belangrijk kenmerk van een ATM-netwerk is dat het in staat is zogeheten Quality of Service te bieden. Dit betekent dat de prioriteit en de bandbreedte van de verbinding kunnen worden aangegeven, en dat het netwerk deze zal garanderen. ATM wordt gestandaardiseerd door het ATM-Forum, opgericht in 1991.
Het protocol heeft drie lagen: een adaptatielaag, een ATM-laag en een fysieke laag. De adaptatielaag definieert het soort gegevensverkeer, en de daaraan verbonden Quality of Service. Zo zal spraak bijvoorbeeld een vaste bandbreedte toegewezen krijgen, terwijl video een variabele bandbreedte (zijnde een minimumbandbreedte met mogelijke piekwaarden) krijgt. De adaptatielaag segmenteert het verkeer in pakketjes van 48 bytes (de payload genaamd) en geeft dit pakketje door aan de ATM-laag. Deze voegt 5 bytes toe (de header) die de verbinding identificeren, en vormt zo de typische 53-bytes ATM-cel (vergelijk met een packet in het Internetprotocol). De fysieke laag zet deze bytes om in de correcte elektrische of optische signalen, afhankelijk van de kabel die wordt gebruikt om de gegevens te transporteren.
Een ATM-cel ziet er dus als volgt uit:
Merk hierbij op dat de header uit 5 bytes bestaat en dat de inhoud of payload 48 bytes beslaat, in totaal 53 bytes. In ATM zijn er twee typen nodes, NNI (Network-node-interface) en UNI (User-node-interface), afhankelijk van het type node kunnen de eerste vier bits (in het geval van een NNI) opgewaardeerd worden tot extra VPI-bits. Dus in het geval van een NNI bestaat de VPI uit 12 bits, in andere gevallen slechts uit 8 bits. Alle codering is MSB (meest significante bit eerst).
Een verduidelijking van alle headervelden is best op zijn plaats:
* GFC: Generic Flow Control, vier bits die gebruikt kunnen worden om op een lagere laag (de fysieke laag) aan flow control te doen.
* VPI: Virtual Path Identifier, daar reeds eerder vermeld is dat ATM circuit switched is in plaats van packet switched (zoals ethernet), informatie nodig om dit virtuele circuit te identificeren. Het VPI-veld beslaat een deel van het circuit, namelijk het statisch gealloceerde deel van het circuit.
* VCI: Virtual Circuit Identifier bevat het tweede deel van het circuit. De VCI beslaat het dynamisch gealloceerde deel van het circuit. Een VPI en een VCI die enkel uit 0 bits bestaan slaan op een idle of een niet geassigneerde cel.
* PTI: Payload Type Identifier, bestaat uit drie bits met meta-informatie over de payload in de cel.
* CLP: Cell Loss Priority is een bit dat aangeeft of een cel een hogere prioriteit heeft.
* HEC: Header Error Control, bevat een 8-bits CRC-checksum van de velden in de header. De CRC8 gebruikt een initialisatievector van 0, bij het resultaat van de CRC wordt 01010101 opgeteld (dit heet een cosetwaarde), de ontvanger die de HEC opnieuw berekent dient hier natuurlijk rekening mee te houden.
ATM is bij de eindgebruiker het bekendst in combinatie met ADSL. ATM is immers het netwerkprotocol dat wordt gebruikt tussen de DSLAM in de wijkcentrale en het ADSL-modem bij de gebruiker thuis. Het werd ook gebruikt in het kabelmodem systeem van Com21: het hart van dat systeem was gebouwd rond een ATM switch. Kabelmodems werken nu meestal volgens de nieuwere DOCSIS standaard.

## Beëindiging van leveringsverplichting

In mei 2015 besloot de ACM dat de aan KPN opgelegde verplichting tot leveren van ATM zal worden opgeheven. De reden is dat de meeste in het aansluitnet aanwezige ATM-verbindingen inmiddels zijn vervangen door een Ethernet-verbinding.