Internet Protocol. Bijna iedereen maakt hier dagelijks gebruik van.
Wanneer je een computer aan een netwerk koppelt, vraagt deze een privé IP adres aan. De aanvraag komt bij een DHCP server, welke IP adressen uitdeelt. Eenmaal de computer een IP adres heeft, kan het communiceren met andere computers op hetzelfde netwerk of externe netwerken (internet).
De hoeveelheid adressen welke gebruikt kunnen worden op IPv4, is in totaal 4,294,967,296 (van 0.0.0.0 tot en met 255.255.255.255). Het uitdelen van de adressen door Internet Service Providers ging echter zó ontzettend hard, dat binnen no-time geen adressen meer te verdelen zijn en IPv4 vol zit.
Daarom zijn privé reeksen bedacht; vaste reeksen in de IPv4 schema welke gebruikt worden voor interne netwerken voor particulieren en bedrijven. Privé reeksen zijn 10.0.0.0 t/m 10.255.255.255, 172.16.0.0 t/m 172.31.255.255, en 192.168.0.0 t/m 192.168.255.255. Zie RFC 1918 (https://nl.wikipedia.org/wiki/RFC_1918) voor meer informatie.
Er is een verschil tussen een privé- en een publiek IP adres.
Om op internet te kunnen communiceren (routeren), wordt er gebruik gemaakt van een router. De kabel welke de router in gaat en naar de Internet Service Provider gaat, heet een Link.
Beide kanten van de Link heeft een publiek IP adres nodig om te kunnen communiceren. Dit betekent dat, wanneer de internetlijn bij je thuis binnen komt, je 1x een publiek IP adres hebt gekregen (dit kun je zien als je naar www.mijnip.nl gaat).
Je eigen router heeft een DHCP server aan boord, welke intern in je thuis netwerk IP adressen uitdeelt in de privé reeksen zoals vermeld in RFC 1918.
Privé adressen mogen niet gerouteerd worden op internet.
Dit zou ook erg gek zijn; er zijn namelijk miljarden apparaten met dezelfde IP adressen in de privé adressen reeksen.
Dit betekent dat alle communicatie vertaald wordt op de router. De router houdt bij welke computers in het interne netwerk willen communiceren over het internet. Dit heet het Network Address Translation (NAT) tabel.
Dit zorgt ervoor dat het interne privé adres wordt vertaald naar het publieke IP adres dat door de router wordt gebruikt.
Met een poortnummer die achter het publieke IP adres wordt gehangen middels Port Address Translation (PAT), worden sessies beheerd door de router.
Voorbeeld:
Je computer heeft een IP adres van 192.168.1.10.
De interne IP adres van je router (dit heet de Default Gateway), is 192.168.1.1.
Je computer wilt communiceren naar een Google DNS Server met IP adres 8.8.8.8.
De data pakketjes om te communiceren gaan naar je interne router.
De pakketjes welke gegenereerd worden door de computer, hebben een Source IP adres van 192.168.1.10, en een Destination IP adres van 8.8.8.8.
DNS werkt met port 53. De computer gebruikt voor de Source Port een willekeurige poort (10500), en Destination Port 53.
Wanneer de pakketjes aankomen bij de router, wilt de router dit doorsturen over het internet.
De router wijzigt de Source IP adres van 192.168.1.10 (de interne computer) naar het publieke IP adres van de router (123.123.123.123). Dit is de werking van NAT.
Ook wordt de Source Port hierachter geplakt (123.123.123.123:10500). Dit is de werking van PAT.
Hiermee houdt de router de sessies en pakketjes in de gaten.
Wanneer Google DNS Server wilt reageren op de pakketjes van de router, reageert hij op de nieuwe source (123.123.123.123:10500).
Zijn antwoord terug naar de bron (de computer met de DNS aanvraag), zet de Source IP adres met Port naar 8.8.8.8:53, en Destination IP adres met port is 123.123.123.123:10500).
Wanneer de reactie van Google DNS Server weer aankomt bij de router, wordt door de router in het NAT tabel gekeken om te zien waar dit naartoe moet (192.168.1.10:10500).
De nieuwe destination is dan 192.168.1.10:10500, en de pakketjes komen aan bij de computer.
Wanneer pakketjes binnen komen van buiten naar de router, en informatie staat niet in het NAT tabel, worden de pakketjes “gedropped” (wordt niks mee gedaan).
NAT in combinatie met PAT zorgt uiteindelijk voor de conservering van IPv4 adressen, maar ook voor een stukje veiligheid. Let me explain.
Als iemand van buiten naar het interne netwerk wilt communiceren (of afluisteren, of hacken), kan dit alleen door te communiceren met de router met het publieke IP adres.
Omdat privé adressen niet worden gerouteerd over internet, weet de buitenwereld niet hoe het apparaat intern in je netwerk bereikt kan worden.
De buitenwereld krijgt alleen het publieke IP adres te zien.
Met IPv6 verandert de noodzaak van conservering, maar verandert daarmee ook gelijk de veiligheid welke inherent is aan NAT + PAT.
Met IPv6 zijn er in totaal 3,4 × 10^38 adressen beschikbaar (340.282.366.920.938.000.000.000.000.000.000.000.000).
Elk apparaat kan zijn eigen IPv6 adres krijgen. Dit betekent dat NAT + PAT niet meer benodigd is.
Dit betekent dat de veiligheid van NAT + PAT, omdat het interne IPv4 adres van computers is afgeschermd van de buitenwereld, niet meer aanwezig is.
IPv6 adressen kunnen gewoon gerouteerd worden over het internet. De router zal dus niet de Source IP adres aanpassen naar zijn eigen publieke IP adres.
Vanaf buiten is dus te zien hoe een apparaat in je netwerk benaderd kan worden over het internet.
Niet alleen dat; het blijkt dat in het IPv6 adres bepaalde eigenschappen worden meegegeven.
Zo zal elke fabrikant een eigen “signature” krijgen. Zonder een scan te hoeven doen, kan men al weten met wat voor apparaat ze te maken hebben.
Straks wanneer 5G is geïntroduceerd, en de toekomstige 6G en 7G ook aan bod komen, zullen miljarden extra apparaten direct worden aangesloten op het internet middels een eigen IPv6 adres.
Zoals je waarschijnlijk in kunt denken, is dit behoorlijk privacy gevoelig. Je interne apparaten zijn nog makkelijker extern te benaderen.
Je smartwatch krijgt zijn eigen IPv6 adres. Je auto. Je koelkast. Je vriezer. Je droger. Je wasmachine. Je TV. Je vaatwasser. Je watermeter. Je energiemeter. Je thermostaat. Je tablet. Je laptop. Je desktop. Je printer. Je mobiel. Je lamellen. Je camera’s. Je spelcomputer. Je douche.
En wie weet wat er over 5 jaar op de markt is.
De tijd gaat hard. De eerste iPhone werd geïntroduceerd in 2007. Sindsdien is er een hoop veranderd. Als 4G niet het eindstation was, gaan er straks ongekende veranderingen plaatsvinden in onze samenleving, samen met de honderdduizenden satelietten die om een baan om de aarde gaan.