traders schreef op zaterdag 18 april 2020 @ 09:51:
Hi,
Is er een goede website die netwerken goed uitleggen in detail van begin ?
Ik wil graag de onderliggende concept snappen. B.v. als mijn computer IP address 192.168.1.2 heeft, en mijn tablet 192.168.1.3 en deze gebruiken allebei publiek IP adres 1.2.3.4 hoe weet mijn WIFI router dan als er een response van een website moet doorsturen naar mijn tablet of computer?
Ieder TCP bericht krijgt wat informatie mee. Het IP adres van de afzender en een port nummer wat de afzender aan het bericht mee geeft. En een IP van de bestemming en een port nummer wat aangeeft wat voor soort bericht het is.
Een PC kan bijvoorbeeld IP 9.10.11.12 hebben en port nummer 48482 als afzender gebruiken om een bericht te verzenden. De bestemming kan IP 1.2.3.4 zijn met port nummer 80 (voor een HTTP request).
Eigenlijk zegt die PC:
Hey webserver, hier heb je een HTTP request, je mag het antwoord naar port 48482 op IP 9.10.11.12 sturen. Ik zal wel luisteren op die port. En als daar een bericht binnenkomt met IP 1.2.3.4 en port 80 als afzender dan weet ik dat het van jou komt.
Het systeem verandert niet veel als er een router tussen zit. Je krijgt alleen een extra stap:
De router ontvangt een bericht wat naar port 80 op IP 1.2.3.4 moet en het is afkomstig van port 48482 op het IP 9.10.11.12. (hoe dat bericht uberhaupt op die router belandt, terwijl het naar IP 9.10.11.12 is verstuurt, is een verhaal apart)
De router stuurt het bericht door. Daarbij worden afzender IP en port nummer vervangen door het (externe) IP van de router en een nieuw port nummer. Bijvoorbeeld afzender wordt 5.6.7.8 en port 53002.
De webserver ontvangt dit bericht, doet wat hij altijd doet, en stuurt een antwoord terug naar de router. De router ziet nu weer aan de IP adressen en port nummers van het antwoord bij welke request dit antwoord hoort, vervangt de bestemming door het IP 9.10.11.12 en port nummer 48482, en stuurt het door naar de PC. De PC herkent deze gegevens en doet er iets mee.
Ofwel: De combinatie van IP adres en port nummer wordt gebruikt om te zorgen dat een router snapt naar welk apparaat op het interne netwerk een bericht moet. Dit heet Network Address Translation omdat op elk pakketje data wat door de router gaat de IP adressen en port nummers vertaald worden.
Daarom wordt NAT ook wel als een vorm van beveiliging gezien. Immers, als een willekeurig IP adres op het internet een bericht naar de router stuurt, zal de router dit niet herkennen omdat hij het IP en port nummer in dat bericht niet kan vinden in de tabel met recent vertaalde IP adressen en port nummers die hij bewaart. Dat bericht wordt dan niet doorgestuurd.