Hvordan ved routeren, hvilken computer den skal videresende HTTP-svaret til, når TCP-headeren ikke indeholder den lokale IP-adresse, og alle computere bruger port 80? Har dette noget at gøre med MAC-adresser? Hvordan fungerer dette præcist?
Routeren bruger Network Address Translation (NAT), unikke portnumre og MAC-adresser til at videresende HTTP-svar til den korrekte computer på det lokale netværk.
Hvordan ved routeren, hvilken computer den skal videresende HTTP-svaret til, når TCP-headeren ikke indeholder den lokale IP-adresse, og alle computere bruger port 80?
Routeren bruger flere mekanismer til at bestemme, hvilken computer den skal videresende HTTP-svaret til. Her er en detaljeret forklaring:
1. Network Address Translation (NAT)
Routeren anvender en teknik kaldet Network Address Translation (NAT) for at håndtere flere enheder på et lokalt netværk, der deler en enkelt offentlig IP-adresse.
- Når en computer på det lokale netværk sender en HTTP-anmodning, ændrer routeren den lokale IP-adresse og portnummer til sin egen offentlige IP-adresse og et unikt portnummer.
- Routeren opretter en tabel, der kortlægger den lokale IP-adresse og portnummer til den offentlige IP-adresse og det unikke portnummer.
2. Portnummer
Selvom alle computere bruger port 80 til HTTP-anmodninger, tildeler routeren et unikt portnummer til hver udgående forbindelse.
- Dette unikke portnummer bruges til at skelne mellem forskellige forbindelser, selvom de alle bruger port 80 internt.
- Når routeren modtager et svar fra internettet, bruger den det unikke portnummer til at slå op i NAT-tabellen og finde den tilsvarende lokale IP-adresse og portnummer.
3. MAC-adresser
MAC-adresser spiller også en rolle i den lokale netværkskommunikation.
- Routeren bruger ARP (Address Resolution Protocol) til at kortlægge IP-adresser til MAC-adresser på det lokale netværk.
- Når routeren skal videresende en pakke til en specifik enhed på det lokale netværk, bruger den MAC-adressen til at sikre, at pakken når den rigtige enhed.
Sådan fungerer det præcist:
- En computer på det lokale netværk sender en HTTP-anmodning til en webserver.
- Routeren ændrer den lokale IP-adresse og portnummer til sin egen offentlige IP-adresse og et unikt portnummer (NAT).
- Routeren opretter en post i NAT-tabellen, der kortlægger den lokale IP-adresse og portnummer til den offentlige IP-adresse og det unikke portnummer.
- Webserveren sender et HTTP-svar tilbage til routerens offentlige IP-adresse og det unikke portnummer.
- Routeren bruger NAT-tabellen til at finde den oprindelige lokale IP-adresse og portnummer.
- Routeren bruger ARP til at finde den tilsvarende MAC-adresse på det lokale netværk.
- Routeren videresender HTTP-svaret til den korrekte computer på det lokale netværk ved hjælp af MAC-adressen.
På denne måde sikrer routeren, at HTTP-svaret når den rigtige computer, selvom TCP-headeren ikke indeholder den lokale IP-adresse, og alle computere bruger port 80.