Som du redan vet måste Applikationsskiktets protokoll på både sändande och mottagande dator vara kompatibla för att kommunikationen ska fungera.
I det här avsnittet ska vi titta närmare på hur detta sker i den klassiska klient–server modellen, samt hur det fungerar i peer-to-peer nätverk (P2P), där alla datorer är jämbördiga.
Klient–server modellen
I en klient–server modell kallas den enhet som begär information för en klient, och den som tillhandahåller informationen för en server. Klienten består av både hårdvara och programvara som användaren arbetar med – till exempel en webbläsare eller e-post klient – medan servern lagrar och hanterar de resurser som efterfrågas.
- Klienten initierar kommunikationen genom att skicka en begäran till servern.
- Servern svarar genom att skicka tillbaka den information som efterfrågas, ofta i flera datasegment.
Protokollen på Applikationsskiktet – till exempel HTTP,FTP eller SMTP – bestämmer hur begäran och svar ska se ut. Utöver dataöverföringen kan kommunikationen också omfatta inloggning, autentisering och identifiering av filer.
Ett vanligt exempel på klient–server kommunikation är e-post tjänster hos en internetleverantör (ISP).
Din e-post klient begär olästa mejl från ISP:ns e-postserver, som sedan svarar med att skicka dessa meddelanden tillbaka. När data skickas från klient till server kallas det uppladdning (upload), och när det går från server till klient kallas det nedladdning (download).

Peer-to-peer-nätverk (P2P)
I ett peer-to-peer-nätverk delas resurser direkt mellan datorer utan en central server.
Alla enheter, eller peers, kan agera både klient och server beroende på situationen.
Det betyder att rollerna växlar dynamiskt – en dator kan skicka filer (server roll) i en transaktion och ta emot filer (klient roll) i nästa.
P2P-nätverk finns i två former:
- P2P-nätverk – där datorer delar resurser direkt över ett nätverk.
- P2P-applikationer – program som hanterar delningen, ofta via internet.
I ett P2P-nätverk kan flera datorer kopplas samman och dela filer, skrivare eller internetanslutning.
Eftersom ingen central server styr kommunikationen är nätverket decentraliserat och självorganiserande.
Exempel: Peer 1 kan dela sina filer med Peer 2, medan Peer 2 delar sin skrivare med Peer 1 – båda agerar samtidigt som klient och server.

P2P-applikationer
En P2P-applikation låter en dator vara både klient och server samtidigt i samma kommunikation.
Det kräver att varje dator både har ett användargränssnitt för delning och en bakgrunds tjänst som hanterar anslutningarna.
Ett exempel är fildelnings program där användarna både laddar ner och delar filer med andra i nätverket.
Vissa P2P-applikationer använder en hybridlösning:
- själva filerna delas direkt mellan användarna (decentraliserat), medan indexet över filernas plats lagras centralt på en index-server.
- När en användare söker efter en fil kontaktas index-servern först, som sedan pekar ut vilken dator filen finns på. Därefter ansluter klienten direkt till den datorn.

I denna modell kan båda datorerna skicka och ta emot data samtidigt, vilket ger effektiv och snabb kommunikation.
Vanliga P2P-applikationer
I ett nätverk med P2P-applikationer kan varje dator fungera som både klient och server gentemot andra datorer som kör samma program. Exempel på vanliga P2P-nätverk är:
- BitTorrent
- Direct Connect
- eDonkey
- Freenet
En del P2P-applikationer bygger på Gnutella-protokollet, där användare delar hela filer direkt med varandra. Med en Gnutella-kompatibel klient, som μTorrent, BitComet, DC++, Deluge eller eMule, kan man ansluta till nätverket, söka efter filer och ladda ner dem från andra användare.

Gnutella-applikationer söker alltså efter resurser som delas av flera användare samtidigt.
BitTorrent och swarm-tekniken
Många moderna P2P-applikationer delar inte längre hela filer i ett stycke, utan skickar dem i små delar, så kallade chunks. Varje klient använder en torrentfil som innehåller information om vilka användare som har de olika delarna av filen, samt om särskilda tracker-servrar som håller reda på dessa användare.
När en användare vill ladda ner en fil, ansluter klienten till flera andra användare samtidigt och hämtar olika delar av filen parallellt. Denna grupp av sammankopplade användare kallas en swarm (”svärm”).
Tekniken bakom detta kallas BitTorrent, och den används av många olika klient-program, till exempel BitTorrent, μTorrent, Deluge och qBittorrent.
Eftersom nedladdningen sker från många källor samtidigt blir överföringen snabbare, effektivare och mindre beroende av en central server än i den traditionella klient–server modellen.
Viktigt om upphovsrätt
Alla typer av filer kan delas via P2P-nätverk – men många är skyddade av upphovsrätt. Det betyder att endast skaparen har rätt att sprida materialet.
Att ladda ner eller dela upphovsrättsskyddade filer utan tillstånd är olagligt och kan leda till straffrättsliga påföljder eller civilrättsliga skadestånd. Det är därför viktigt att alltid säkerställa att de filer du delar är lagliga och tillåtna att sprida.