Paketförmedlande nätverk

Ett paketförmedlande nätverk (engelska: packet switching network) är ett datornät, där data överförs uppdelade på datapaket. Långa meddelanden, exempelvis stora datafiler eller långvariga videoströmmar, som ska skickas över ett paketförmedlande nät delas upp i segment som överförs i var sitt paket, och sedan sammanfogas på mottagarsidan. Paketen mellanlagras i köer i nätnoder (datorer och nätutrustning), i likhet med att bilar kan vänta i köer vid vägnätets korsningar och rondeller. Väntetiden i köerna och den genomströmningshastighet eller bandbredd en användare upplever kan därmed variera, beroende på hur stor trafikbelastningen från andra användare i samma nät för tillfället är. Förbindelsernas och nodernas kapacitet delas på så sätt av flera olika dataströmmar, genom att dataströmmarna får turas om att utnyttja dem. 

Paketförmedlande nätverk skiljer sig från kretskopplade nät, exempelvis analoga och konventionella digitala telefonnät och äldre mobiltelefonnät, som ger konstant tidsfördröjning och konstant bandbredd eller genomströmningshastighet under ett samtal eller en uppkoppling (om man inte förflyttar sig i mobilnätet). Vid kretskopplade nät kan inte en användare få utnyttja hela nätets kapacitet i lågtrafik, utan endast en kanal. Resurser (kanaler) står då outnyttjade, och nätet utnyttjas inte lika effektivt som vid paketförmedling. Antalet kanaler (samtidiga telefonsamtal eller dataströmmar) är givet på förhand. När alla kanaler är upptagna så spärras nya inkommande samtal eller uppkopplingar i ett kretskopplat nätverk, medan bandbredden (hastigheten) dynamiskt kan sänkas för alla pågående dataströmmar i ett paketförmedlande nät så att fler dataströmmar kan förmedlas. 

Om man har rörlig taxa, exempelvis i mobilnät, så baseras avgiften vid paketförmedlad datakommunikation på trafikvolymen i Gigabyte. Förr när mobilnät enbart var kretskopplade togs rörliga avgifter istället ut baserat på uppkopplingstiden i minuter, eftersom ingen annan kunde utnyttja kanalen så länge den var uppkopplad, oavsett om användaren för tillfället sände data eller ej.

Typer och exempel på protokoll
Två huvudtyper av paketförmedlande nät förekommer: (1) Datagramnät, exempelvis nät baserade på Internet Protocol (IP) och konventionella IP-routrar, samt (2) virtuellt kretskopplade nät, exempelvis baserade på något av kommunikationsprotokollen X.25, Frame Relay, ATM, MPLS eller GPRS och paketswitchar.

Datagramnät

I datagramnät utgörs nätnoderna av routrar. Varje paket är försett med en adressetikett (en paketheader), som innehåller avsändarens och mottagarens adresser, exempelvis IP-adresser. Nätnoderna (knutpunkterna) utgörs av routrar som analyserar adresserna på nytt för varje paket, och väljer vilken väg paketen ska vidarebefordras, i likhet med brevbärare som sorterar post. Adressanalysen är en komplex  uppgift, som i allmänhet inte kan göras enbart med hårdvara, utan kräver mjukvara, vilket kan begränsa den högsta möjliga genomströmningshastigheten i datagramnät.

Vägen som ett paket tar genom nätet behöver inte vara densamma som tidigare eller senare sända paket mellan samma avsändare och mottagare, utan kan ändras. En sekvens av paket kan därmed komma fram i ändrad ordning. Exempelvis kan routrarna ändra routingtabeller om de upptäcker att en ledning är trasig eller en kö är för lång. Detta kan liknas vid ett vägnät där korsningarnas trafikskyltar kan ändras dynamiskt under dagens gång. Datagramnät kan också liknas vid brevbärare som kan sortera brev så att de går varierande väg. Det är fullt möjligt att postsorteringen väljer att skicka kolli 1 och 3 med bil men att kolli 2 skickas med tåg till mottagaren. Resultatet blir att kolli 2 når sin destination snabbare än kolli 1 och 3.  

Datagramnät ger ingen bekräftelse på att paketen verkligen har levererats till mottagaren. Paketen fungerar således inte som rekommenderade brev, utan som telegram (eller som vanliga brev), och kallas därför datagram. 

Datagramnät är förbindelsefria därför att ingen förbindelse behöver definieras i nätet innan paket överförs och avsändaren behöver inte fråga nätnoderna om det finns lediga nätresurser innan ett paket överförs. Istället kastar nätnoderna bort paket om nätet blir överbelastat och paketköer fulla. Nätnoderna ger inga garantier att paket levereras, men gör sitt bästa för att så många paket som möjligt ska nå sin destination (den så kallade "best effort"-principen).

IP-paket (som hanteras av lager 3, nätverkslagret) kallas således datagram. Begreppet datagram används även på lager 4, transportlagret, där UDP-paket kallas datagram.

Virtuellt kretskopplade nät
Virtuellt kretskopplade nät är paketförmedlande nät som liknar kretskopplade nät på så sätt att en sekvens av paket levereras samma väg och i samma ordning. I likhet med andra paketförmedlande nät kan tidsfördröjningen och genomströmningshastigheten variera till följd av paketköer och varierande trafikbelastning. De nätnoder som förmedlar kommunikationen kallas växlar eller switchar (paketväxlar) därför att de har vissa likheter med kretskopplade telefonväxlar. 

I likhet med kretskopplade nät såsom det gamla telefonnätet är virtuellt kretskopplade nät förbindelseorienterade. Det krävs ett uppkopplingsförfarande innan data överförs. Under uppkopplingsfasen överförs och analyseras adress (telefonnummer), och vägen genom nätet beräknas, vilket kan vara en komplex och tidskrävande uppgift, som belastar datorer i nätet. En sekvens av paket kan sedan överföras under en dataöverföringsfas. Adressen behöver inte analyseras och vägen beräknas på nytt för varje paket under dataöverföringsfasen, utan endast under uppkopplingsförfarandet. Därmed kan switchingen utföras i mycket hög hastighet av enbart hårdvara under dataöverföringsfasen. Om inga fler paket ska överföras kan uppkopplingen avslutas under en nedkopplingsfas, motsvarande att luren läggs på och telefonsamtalet avslutas. 

Paketen behöver därmed inte vara försedda med adressetiketter, men med en liten etikett (en header eller tag) som innehåller ett förbindelsenummer (en connection identifier eller path identifier), som anger vilken dataström som paketet tillhör och vilken väg det ska gå. I varje switch finns en tabell över vilka förbindelser som för tillfället har kopplats upp. Switchen sorterar paketen snabbt genom att titta i tabellen till vilken väg paketet ska vidarebefordras, och vilket nytt förbindelsenummer paketet ska märkas med. Under uppkopplingsförfarandet läggs förbindelsen till som en rad i tabellerna i varje switch som ska förmedla kommunikationen. Under nedkopplingsförfarandet raderas förbindelsen från tabellen i varje switch. Uppkopplingens rad i tabellerna ändras inte under uppkopplingens gång, och därför går kommunikationen samma väg.

För att uppnå höga hastigheter och kunna välja tjänstekvalitet till olika användare eller tillämpningar har routrar i vissa moderna IP-nätverk ersatts av så kallad nivå 3-switching, det vill säga virtuell kretskoppling exempelvis med MPLS (ett nivå 2-protokoll) som emulerar IP-routing (som normalt sker på OSI-nivå 3).

Ibland används begreppet även om lager 4, transport-lagret, och kallas då även circuit emulation. Enligt en utökad definition som används i RFC-dokument är även transportprotokollet TCP virtuellt kretskopplat, eftersom det innefattar en uppkopplingsfas, eftersom det levererar en byteström till applikationsprogrammet, efter att ha sorterat paketen i rätt ordning. I fallet TCP kan dock olika paket gå olika väg genom nätet under en TCP-session, eftersom det underliggande lager 3-nätverket inte är förbindelseorienterat.

Datapaketens format
Varje paket har ett brevhuvud (en "header"), följt av nyttodata (payload) och ibland ett avslutande släp (en "trailer"). Headern, trailern, mellanrum mellan paket samt eventuella omsändning av paket utgör overhead. Headern och trailern innehåller information om paketets storlek, adress eller förbindelsenummer, segmentnummer, prioritet, felupptäckande kod, med mera. Ett protokoll definierar paketets format, med mera. Paket som sänds direkt över det fysiska transmissionsmedlet kallas ramar och förses med en ramsynkronisering (en särskilt bitsekvens) som anger att ett nytt paket startar.

Paketförmedling som multiplexmetod
Paketförmedling (packet mode transmission) kan beskrivas som en multiplexmetod, det vill säga en metod att låta flera dataströmmar eller kanaler dela på kapaciteten i en förbindelse. I likhet med tidsdelningsmultiplex (TDM) delas kapaciteten i tidsdomänet, genom att dataströmmarna får turas om att få tillgång till nätverket. Paketförmedling kallas ibland statistisk multiplex, därför att den ordningsföljd paketen överförs i kan beskrivas som slumpmässig, vanligen i den ordning de anlände till kön, i kontrast mot TDM, där kanalernas överförs i var sin tidlucka enligt ett cykliskt upprepat schema som bestäms vid uppkopplingen. I kontrast mot TDM kan bandbredden och tidsfördröjningen som varje dataström eller kanal får variera dynamiskt med tiden vid statistisk multiplex, och antalet dataströmmar (eller kanaler) som delar på kapaciteten är inte konstant, utan kan variera med tiden och i teorin vara obegränsat.

Användning och teknisk utveckling
Paketförmedlande nät är idag mer vanliga än kretskopplade nät, till följd av att datakommunikationstillämpningar såsom filöverföring (kallas ibland asynkrona tillämpningar) numera dominerar över telefonitillämpningar och TV/videoströmmar med konstant bandbredd (synkrona tillämpningar). Teknologin bakom paketförmedlande nät har därför blivit billigare än teknologin bakom kretskopplade nät. Därför har världens telefonbolag stegvis gått över från kretskopplade nät till paketförmedlande nät, så kallad IP-telefoni, trots att det kan innebära mer varierande ljudkvalitet och större tidsfördröjning. I mobilnät infördes paketförmedling (GPRS eller 2.5G) kring sekelskiftet, och mobilnäten fick då dubbla infrastrukturer för både kretskopplad kommunikation (för telefoni) och paketförmedlad kommunikation (för datakommunikationstjänster). I 4G-mobilnät har kretskopplad infrastruktur helt ersatts av paketförmedling.

Se även 
 Paketanalysator

Datorkommunikation
Telekommunikation
Internethistoria