Sådan videresender routeren HTTP-svar til den rigtige computer på port 80: En detaljeret forklaring

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:

  1. En computer på det lokale netværk sender en HTTP-anmodning til en webserver.
  2. Routeren ændrer den lokale IP-adresse og portnummer til sin egen offentlige IP-adresse og et unikt portnummer (NAT).
  3. 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.
  4. Webserveren sender et HTTP-svar tilbage til routerens offentlige IP-adresse og det unikke portnummer.
  5. Routeren bruger NAT-tabellen til at finde den oprindelige lokale IP-adresse og portnummer.
  6. Routeren bruger ARP til at finde den tilsvarende MAC-adresse på det lokale netværk.
  7. 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.