Asynchronous Transfer Mode

Asynchronous Transfer Mode (ATM) eller asynkron overføringsmodus, er en pakkebasert linklagsprotokol som ble utviklet fra ca. 1985 – 1995. Protokollen og systemene skulle kunne overføre både tale og video med sanntidskrav og store datamengder i samme nett.

Brukerdata fordeles på pakker med fast pakkelengde på 53 byte som kalles «celler». En celle har et 5-byte hode for ruting og 48-byte for brukerdata. ATM er en linklagsprotokoll på lag 1. Den skiller seg fra andre protokoller så som Internet Protocol (IP) og Ethernet. Begge disse svitsjer pakker med av varierende pakkelengde som kan være opp til 1500 byte store, eller 9000 byte med jumborammer. Videre er ATM en forbindelsesorientert protokoll der det settes opp en fast rute i nettet og reserveres ressurser mellom endepunktene før datakommunikasjonen starter. Alle cellene vil følge samme rute og vil normalt alltid komme frem i samme rekkefølge som de er sendt, noe som er vanlig i IP, men ikke garantert.

ATM var opprinnelig tenkt som teknologi for å realisere for bredbånds-ISDN B-ISDN, men brukes i dag mye til generell datakommunikasjon. Har 'ekte' QoS (Quality of Service) til forskjell fra enkle IP-baserte systemer.

Bruksområdene er gjerne i forbindelse med ulike bredbåndsaksessystemer der overføring er ATM-basert fra DSLAM eller CMTS og innover i ISP-ens nett.

Det er definert en rekke tjenesteklasser tilpasset ulike behov.

Oppbygning av en ATM celle
En ATM celle består av et cellehode på 5 byte og 48 byte payload (last). Valget av payloadstørrelsen kom etter en lang debatt der de som prioriterte tale ville ha en kortere celle, mens de som prioriterte data ville ha en lengre celle. Kompromisset ble en celle på 53 byte med 48 byte payload – en kostbar løsning i hardware da «53» og «5» er primtall og «48» ikke er kurant i 2-tallsystemet der 64 ville vært enklere.

I ATM er definert to celleformater: NNI (Network-Network Interface) mellom noder i nettet og UNI (User-Network Interface) mellom endebruker og nettnode. De fleste ATM linker bruker UNI-format.

 GFC = Generic Flow Control (4 bits) (default: 0000)
 VPI = Virtual Path Identifier (8 bits UNI) eller (12 bits NNI)
 VCI = Virtual channel identifier (16 bit)
 PT  = Payload Type (3 bit) 
 CLP = Cell Loss Priority (1-bit)
 HEC = Header Error Correction (8-bit CRC, polynomial = X8 + X2 + X + 1)

I en UNI-celle er GFC feltet reservert for en flytkontroll mellom endebrukeren. Tanken var at flere termialer skulle kunne benytte samme nettverksforbindelse, f.eks. ved at alle terminaler i en bankfilial deler samme forbindelse til hovedkontoret. Defaultverdi for GFC er 0000.

PT-feltet brukes til å angi at enkelte celler er for managment (OAM) og brukes også i AAL5 for å definere yttergrensene for datapakker (mest IP-pakker), som er fordelt over flere celler. 

CLP-feltet kan brukes til å angi at en celle skal om mulig ikke kastes i nettet ved overbelastning. Dette for at endebrukerutstyret lettere skal kunne oppdage årsaken til celletap.

HEC-feltet har to funksjoner. Det er 8-bit CRC-feilsjekkode som oppdager og retter en enkelt bitfeil i de 5 cellehodebytene og den vil oppdage 2 og som oftest også flere bitfeil. Dersom det inntreffer 2 eller flere feil i HEC-feltet, vil cellen bli kastet og alle påfølgende inntil HEC igjen er korrekt. I tillegg var det tenkt at HEC-feltet skulle brukes for å synkronisere sender og mottaker der disse kommuniserte direkte over mørk fiber. 

I en NNI-celle er GFC-feltet utelatt. Her er VPI-feltet utvidet til 12 bit. Dette gir en teoretisk kapasitet på  212 VP-forbindelser, hver med 216 VC-forbindelser. I praksis er enkelte verdier reservert.

Nettverksarkitektur
Nettverksprotokoller