## Adressering

Zoals eerder uitgelegd maakt pakketcommunicatie het mogelijk om een verbinding te gebruiken voor meerdere computers en meerdere toepassingen tegelijk.
Maar we moeten dan wel een mechanisme hebben om deze pakketten op de juiste plaats bezorgd te krijgen, bij de juiste computer en bij de juiste toepassing.

De elementen hiervoor zijn adressering en routering (bezorging).
We beschouwen eerst het probleem van de adressering van computers in het internet en bezorging bij de juiste computer.
Het adresseren van de toepassing en het bezorgen bij de juiste toepassing komt later aan bod (bij de transportlaag).

Adressering computers in het internet
De adressering en de bezorging staan in het internet niet los van elkaar.
Een adres in het internet (IP-adres) identificeert een computer, of beter gezegd, een netwerkinterface van een computer.
Een router is in meerdere netwerken verbonden, via verschillende interfaces. Een router heeft dus ook meerdere IP-adressen.
Een IP-adres bestaat uit twee gedeelten: het netwerkadres en het adres van het computer-netwerkinterface in dat netwerk.
De bezorging van een pakket vindt in twee stappen plaats: eerst wordt dit pakket bij het juiste netwerk afgeleverd en vervolgens wordt het bij het juiste computer-netwerkinterface in dat netwerk afgeleverd.
Een gevolg van deze aanpak is dat het IP-adres van een computer afhangt van het netwerk waar deze computer in verbonden is.
Eenzelfde laptop die in het netwerk van school verbonden is, zal daar een ander IP-adres hebben dan deze laptop in het netwerk thuis.
Een ander gevolg is dat een computer die in meerdere netwerken tegelijk verbonden is, voor elk van die verschillende netwerken een eigen IP-adres heeft.
Dit geldt in het bijzonder voor de routers.
Deze zijn tegelijk in verschillende netwerken verbonden.

Bezorging pakket in een lokaal netwerk
De bezorging van een pakket binnen het lokale netwerk van de bestemming maakt gebruik van de fysieke laag van het betreffende netwerk, bijvoorbeeld Ethernet of WiFi.
Dit mechanisme bespreken we in het gedeelte over de fysieke laag; hier gaan we ervan uit dat dit een opgelost probleem is.
De bezorging van een pakket bij het lokale netwerk van de bestemming heet ook wel routering; hier komen we later in dit gedeelte op terug.

IP-adressen: IPv4 en IPv6
We gaan nu verder in op de adressering en de vorm van adressen. Hierbij maken we verschil tussen IPv4 en IPv6.
Er zijn momenteel twee versies van het IP-protocol in gebruik: IPv4 en IPv6.
Een belangrijk verschil tussen deze twee is de vorm van het adres.
In het geval van IPv4 bestaat een adres uit 32 bits, waarmee maximaal 232 (ca. 4 miljard) computers geadresseerd kunnen worden.
Door de sterke toename van het aantal computers, inclusief ingebouwde computers en mobiele telefoons, zijn de IPv4 adressen op.
Dit is een belangrijke reden om over te gaan op IPv6, waar een adres bestaat uit 128 bits - wat voorlopig voldoende lijkt.
Een IPv4 adres wordt meestal weergegeven in groepen van 8 bits, gescheiden door een punt.
Elke 8 bits worden door een decimaal getal (tussen 0 en 255) voorgesteld.
Een typisch IPv4 adres is dan 92.212.13.193.
De hoogste bits geven het adres van het netwerk weer, de laagste het adres van de computer.
De grens tussen deze twee varieert van netwerk tot netwerk.

De grens tussen het netwerkadres en het computeradres wordt vaak weergegeven door een getal dat het aantal bits in het netwerkadres aangeeft. In het geval van 92.212.12.193/24 vormen de eerste 24 bits het netwerkadres: 92.212.12.0, en de laatste 8 bits het adres van de computer in dat netwerk: 0.0.0.193. In plaats van deze / ofwel CIDR-notatie wordt ook wel een zogenaamd subnetmasker gebruikt dat de bits van het netwerk door middel van een 1 weergeeft. /24 komt dan overeen met het subnetmasker 255.255.255.0. (Dit is de decimale representatie van het bitmasker 11111111.11111111.11111111.00000000.)

Een IPv6 adres wordt weergegeven als een serie van 8 16-bits hexadecimale getallen gescheiden door een dubbele punt, bijvoorbeeld:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

Een serie nullen aan het begin van een 16-bits getal kan weggelaten worden.
Er moet tenminste één cijfer overblijven. We kunnen dit adres dan afkorten als:

2001:db8:85a3:0:0:8a2e:370:7334

Eén gedeelte met alleen nullen kan afgekort worden tot "::", waardoor dit adres afgekort kan worden tot:

2001:db8:85a3::8a2e:370:7334

Deze laatste afkorting van opeenvolgende nullen is maar op één plaats in een adres toegestaan, om dubbelzinnigheden te voorkomen.
In het geval van IPv6 vormen de eerste 64 bits het netwerkadres en de laatste 64 bits het adres van de computer in het netwerk.
Deze grens ligt vast en hangt dus niet van het netwerk af.