In aanvulling op wat anderen hierboven schreven, zonder op m.i. niet essentiële details van "Carrier-grade NAT" in te gaan:
Door Anoniem: IP kan achter cgnat zitten.
en
Door Bobbie: Kan iemand mij een (makkelijke) uitleg geven
De basisOp Internet wordt uitsluitend gecommuniceerd via losse "IP-pakketjes". In elk IP-pakketje vind je:
1) Een
doel-IP-adres, zoals 82.94.191.110 (van security.nl);
2) Een
afzender-IP-adres, zoals 89.205.128.165 (van T-Mobile);
Ook) Een getal dat het
soort IP-pakketje weergeeft, zoals "TCP" of "UDP". Dat getal bepaalt hoe de ontvanger de verdere indeling van het pakketje, dat niets anders is dan een reeks bytes, moet interpreteren.
Nb. het is een vereiste dat elk IP-adres op Internet uniek is en dat routers weten via welke routes zij pakketjes moeten sturen om ze op het juiste adres af te leveren.
Bij TCP- en UDP-pakketjes vind je tevens:
3) Een
doel-poortnummer, zoals 443 voor https. Door poortnummers te gebruiken kan één server verschillende diensten leveren, zoals ook e-mail ontvangen;
4) Een
afzender-poortnummer, meestal willekeurig gekozen (vaak > 1024). Door poortnummers te gebruiken kun je op één apparaat meerdere browsertabs met verschillende pagina's op security.nl open hebben.
Er zijn nog meer velden maar die zijn niet interessant voor deze uitleg. Belangrijk is dat je weet dat, naast IP-adressen, ook
poortnummers essentieel zijn, en bij "verbindingen" (bidirectionele communicatie) dus
beide afzendergegevens.
Gesimuleerde verbindingenVerbindingen zoals bij de oude analoge telefoonlijn bestaan niet op Internet. Verbindingen worden
gesimuleerd doordat er pakketjes tussen een client en een server worden uitgewisseld als volgt (met de notatie "IP-adres
:poortnummer"):
Aan: 82.94.191.110:443
Van: 89.205.128.165:12345
Mag ik de inhoud van "security.nl/posting/770376"?
Met als antwoord (merk op dat de gegevens achter "aan" en "van" zijn verwisseld):
Aan: 89.205.128.165:12345
Van: 82.94.191.110:443
[...] Mobiel netwerk v.s WiFi [...]
Nb. in werkelijkheid zie je die teksten natuurlijk niet "op de kabel", omdat de
inhoud van die pakketjes versleuteld is - maar dat geldt
niet voor de IP-adressen, poortnummers en andere velden.
Onvoldoende IPv4 adressenOmdat er meer apparaten met een netwerkaansluiting zijn dan IPv4-adressen (en IPv6 al vele jaren wishful thinking is), is er een truc bedacht bestaande uit 3 onderdelen: private-range IP-adressen, NAT en PAT.
Private-range IP-adressenEr bestaan een aantal reeksen IP-adressen (vastgelegd in RFC 1918 [1]) die niet op Internet horen te worden gerouteerd en daarom hergebruikt mogen worden in
private netwerken. Bekende voorbeelden zijn 10.*.*.* en 192.168.*.*. Omdat je daar op Internet weinig aan hebt (je kunt geen antwoord krijgen), is het gebruikelijk (als je met een apparaat met zo'n adres wilt internetten) om NAT toe te passen.
[1]
https://datatracker.ietf.org/doc/html/rfc1918Network Address Translation (NAT)Eerder vandaag heeft mijn Android smartphone het IP-adres 10.129.205.178 gekregen van T-Mobile. Als ik daarmee security.nl open, "zit T-Mobile daartussen" (ik laat de inhoud van de pakketjes achterwege):
Aan: 82.94.191.110:443
Van: 10.129.205.178:12345
T-Mobile wijzigt dit in:
Aan: 82.94.191.110:443
Van: 89.205.128.165:12345
Met als antwoord van security.nl:
Aan: 89.205.128.165:12345
Van: 82.94.191.110:443
Dat T-Mobile wijzigt in:
Aan: 10.129.205.178:12345
Van: 82.94.191.110:443
waardoor mijn smartphone dat antwoord ontvangt.
Op de
heenweg heeft T-Mobile mijn afzender-IP-adres (10.129.205.178) vervangen door het publieke T-Mobile router-IP-adres (89.205.128.165), de "Network address translator" waar ik op dat moment "achter zat". Op de terugweg heeft T-Mobile het omgekeerde gedaan, waardoor mijn smartphone op
hun interne netwerk retourpakketjes kon ontvangen.
Het voordeel van deze constructie is dat tegelijkertijd meerdere apparaten het IP-adres 10.129.205.178 kunnen gebruiken,
mits elk achter een eigen Network Address Translator.
Je kunt het externe IP-adres van een NAT-device vergelijken met het "woon"-adres van een hotel, en interne IP-adressen met kamernummers in dat hotel. Net zoals zo'n NAT-device een tabel moet bijhouden welk
intern apparaat welk "private range" IP-adres heeft, wordt in een hotel bijgehouden wie welke kamer heeft. Als er dan gebeld wordt voor hotelgast meneer Pietersen, kan de receptioniste naar de juiste kamer doorverbinden.
Port address translation (PAT)Als bij T-Mobile de mobiele devices van twee verschillende klanten security.nl bezoeken en daarbij
toevallig allebei dezelfde afzenderpoort gebruiken, ontstaat er een probleem: dan weet T-Mobile niet voor wie de retourpakketjes bestemd zijn. Daarom vindt bij NAT meestal ook
Port Address Translation plaats.
Bij het opzetten van een verbinding door een client (het eerste uitgaande pakketje) zal het PNAT-device een willekeurig nog ongebruikt afzenderpoortnummer kiezen, zoals 34543 en de volgende relatie onthouden:
client: 10.129.205.178:12345
PNAT: 89.205.128.165:34543
server: 82.94.191.110:443
Door zo'n record in haar "translation table" weet een PNAT device hoe
retourpakketjes kunnen worden afgeleverd bij haar klanten. Effectief wordt het poortnummer 34543, samen met de servergegevens "82.94.191.110:443", een
alias voor "10.129.205.178:12345".
De meeste thuis-routers doen dit op precies dezelfde manier. Overigens wordt zo'n record automatisch verwijderd als er enige tijd geen activiteit geweest is "op die verbinding" (zowel providers, routers als "echte" masquerading firewalls doen dat).
Om de vergelijking met een hotelkamer door te trekken: je kunt poortnummers vergelijken met verschillende gezinsleden van de familie Pietersen.
Door Bobbie: Nu zegt de telecom provider dat er miljoenen mensen op dat mobiele netwerk zitten dus dat het niet te achterhalen is, zelfs niet door de politie.
Ben je dus anoniem als je berichten stuur via een mobiel netwerk en niet wanneer je berichten stuurt via een WiFi van je internet provider?
Alleen al omdat providers willen weten hoeveel bytes een klant uitwisselt via hun netwerk, zullen ze vanalles loggen. Ik vermoed dat zij ook verplicht zijn om records uit hun PNAT vertaaltabellen te loggen samen met aanmaaktijdstip en het tijdstip van de laatste activiteit, zodat misbruik opgespoord kan worden.
Met andere woorden, als ik bijvoorbeeld
https://www.myip.com/ bezoek, zie ik wat het
publieke IP-adres is dat het PNAT-device namens mijn smartphone gebruikt, alsmede welk
afzender-poortnummer dat PNAT-device daarbij verzonnen heeft (merk op dat als je die pagina geforceerd ververst het PNAT-device meestal een flink afwijkend afzender-poortnummer kiest). Met die gegevens (IP-adres
én afzenderpoortnummer)
plus het exacte tijdstip zou een provider - in veel gevallen - moeten kunnen achterhalen van wie het bijbehorende account is.
Als jouw browser WebRTC ondersteunt kun je overigens hier tevens jouw
interne IP-adres zien:
https://browserleaks.com/webrtc. Als je zelf een WebRTC-server kunt opzetten en jouw stalker daar naartoe weet te lokken, heb je voor de politie een tijdstip, een extern en een intern IP-adres.
Echter: als de stalker een smartphone van een onschuldige derde gehacked of gestolen heeft en misbruikt, of zelf een pre-paid SIM-kaart gebruikt (en anoniem opwaardeert), wordt opsporing wel een flink stuk lastiger.
Overigens, als iemand jouw WiFi misbruikt om rottigheid uit te halen, is het vaak ook knap lastig om aan te tonen dat
niet jij dat was.