Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Hur vet min router vilken lokal enhet ett IP-paket skall till?

Tråden skapades och har fått 12 svar. Det senaste inlägget skrevs .
1

Jag vet att detta är en basic fråga och jag tror till och med att jag läst om det men nu har jag letat halva dagen på internet och läst massor om NAT och IPv4 (och IPv6 för den delen) men har inte hittat svaret.

Alltså precis som rubriken säger. Om jag har ett internt nätverk (t.ex. hemma) kopplat till internet via en router och två enheter på nätverket är igång samtidigt; då har ju båda samma publika IP-adress, routerns adress. Hur vet routern vilken intern IP-adress ett paket utifrån är avsett för?

NAT, Network Address Translation.
Eller mer utförligt https://sv.wikipedia.org/wiki/Network_Address...

Ursprungligen av hummel:

NAT, Network Address Translation.
Eller mer utförligt https://sv.wikipedia.org/wiki/Network_Address...

Problemet är att det är just den artikeln jag läst.
Den svarar generellt på ungefär hur det går till genom att exemplifiera med en enhet men det svarar inte på min fråga som handlar om flera lokala enheter men en enda publik IP.

Hur vet routern vilken intern IP-adress ett paket utifrån är avsett för?

Ursprungligen av torsig1967:

Problemet är att det är just den artikeln jag läst.
Den svarar generellt på ungefär hur det går till genom att exemplifiera med en enhet men det svarar inte på min fråga som handlar om flera lokala enheter men en enda publik IP.

Hur vet routern vilken intern IP-adress ett paket utifrån är avsett för?

Routern måste ha ett regelverk för att hitta rätt om inte varje interna enhet har en motsvarande publik adress, dvs full NAT. Det vanligaste i hemmasammanhang är sk port-forwarding (PAT i den artikel du refererar till). Det innebär att routern vet att om trafik på i viss port kommer utifrån, så ska den forwardas/skickas vidare till en viss enhet. Tex om det kommer http/port 80 trafik, så har du satt upp en regel i routern för just denna port, så att den förmodligen går till din interna webserver. I ett normalt hem kan du inte ha två enheter NAT:ade till ett enda publikt ipnummer på samma port.

Hoppas det svarar på din fundering. Det finns en massa olika andra sätt rent generellt, special-routers som tex lastbalanserare eller multihoming på webservers. Det viktiga att veta är att det sitter en komponent i närverket som är ansvarig för att ”routa” och den måste känna till någon regel för det. Annars går det inte.

  • Wisserbesser
  • Uddevalla
  • 2018-04-07 11:12

Mark Furneaux tycker jag förklarar det på ett förstårligt sätt:
50m20s in i klippet, avsnitt NAT

Ursprungligen av As89guni:

Routern måste ha ett regelverk för att hitta rätt om inte varje interna enhet har en motsvarande publik adress, dvs full NAT. Det vanligaste i hemmasammanhang är sk port-forwarding (PAT i den artikel du refererar till). Det innebär att routern vet att om trafik på i viss port kommer utifrån, så ska den forwardas/skickas vidare till en viss enhet. Tex om det kommer http/port 80 trafik, så har du satt upp en regel i routern för just denna port, så att den förmodligen går till din interna webserver. I ett normalt hem kan du inte ha två enheter NAT:ade till ett enda publikt ipnummer på samma port.

Hoppas det svarar på din fundering. Det finns en massa olika andra sätt rent generellt, special-routers som tex lastbalanserare eller multihoming på webservers. Det viktiga att veta är att det sitter en komponent i närverket som är ansvarig för att ”routa” och den måste känna till någon regel för det. Annars går det inte.

Ja, i princip svarar det på min fråga. Jag misstänkte att det var portarna som var hemligheten men var inte helt säker. De flesta beskrivningar av NAT handlar om fallet där IP översätts till IP vilket ju i princip aldrig är fallet numera för en hemmarouter. Om jag nu fattat rätt är det nästan alltid fråga om PAT i de här sammanhangn. D.v.s. enheterna A och B på mitt interna nätverk, som får samma IP-nummer externt, skiljs åt genom att de återvändande paketen från internet har olika portnummer trots att IP-numret är samma externt. Har jag fattat detta rätt?

Lite mer avancerade portfrågor i sammanhanget:
- Hur avgör min router vilka portnummer som skall användas? Finns det en särskild range eller regel som används till det här ändamålen?

- När man i den klassiska internetmodellen (utan routrar och NAT/PAT) beskriver kommunikationen så brukar man kunna läsa saker i stil med: Den lokala datorn pratar med den remota internetservern via port 80. Betyder det att både den remota servern och den lokala datorn skickar sina meddelanden till den andre på IP-nummer + port 80 eller gäller det enbart trafiken från den lokala datorn till internetservern och att internetservern i sin tur mycket väl kan skicka tillbaka på vilken port som helst? Bestämd av avsändaren...?

- Anledningen till ovanstående fråga är att jag undrar om det kan bli problem med PAT om en server väntar sig att få svara på ett från sin horisont förbestämt portnummer. Eller är det alltid avsändaren som bestämmer vilket portnummer som den vill ha svaret på? I så fall blir PAT transparent vad jag förstår.

Ursprungligen av reboot81:

Mark Furneaux tycker jag förklarar det på ett förstårligt sätt:
50m20s in i klippet, avsnitt NAT ...

Väldigt bra tips, videon förklarar det hela tydligt. Bilden klarnar.

Det som jag tror förvirrat mig är att NAT nästan alltid är PAT i praktiken. Det är ju PAT han förklarar i videon, inte NAT.
Men han kallar det NAT. Lite begreppsförvirring tycker jag det verkar vara.

Det jag framförallt lärde mig av videon var att IP-adress och port tillhör olika nivåer i OSI-modellen. Man kan ju säga att renodlad NAT är ett layer 3-förfarande medan PAT är ett kombinerat Layer 3 och layer 4-förfarande. Om jag nu fattat detta rätt.

Blir NAT och PAT helt onödigt om man helt går över till IPv6?

  • Medlem
  • Örnsköldsvik
  • 2018-04-07 16:22

Dags att trassla till det lite till, man skulle kunna kalla PAT för PNAT, det är fortfarande NAT det handlar om.

  • Medlem
  • Karlskoga
  • 2018-04-07 17:33

Det är ju olika om kontakten påbörjas inifrån ditt nätverk, eller utifrån.
Påbörjas det inifrån körs NAT, och routern bygger upp en tabell med de interna enheterna som ska få svaret som kommer utifrån.
Påbörjas kontakten utifrån är det PAT som används, och måste alltså sättas upp av användaren.

Ursprungligen av mattiL:

Dags att trassla till det lite till, man skulle kunna kalla PAT för PNAT, det är fortfarande NAT det handlar om.

Du menar att eftersom det både är översättning av IP (NAT) och översättning av port (PAT) så borde det heta PNAT?
Rimligt i så fall.

Ursprungligen av kenjon:

Det är ju olika om kontakten påbörjas inifrån ditt nätverk, eller utifrån.
Påbörjas det inifrån körs NAT, och routern bygger upp en tabell med de interna enheterna som ska få svaret som kommer utifrån.
Påbörjas kontakten utifrån är det PAT som används, och måste alltså sättas upp av användaren.

Det förstår jag inte. Då har vi ju återigen problemet att om två lokala datorer efterfrågar samma tjänst på samma port så finns det ingen möjlighet för routern att veta vilken av datorerna som skall ha vilket av de återvändande paketen eftersom ingen portnummeröversättning skett. Eller menar du att det finns något mer utöver portnummer som kan användas till detta? Det är i så fall intressant eftersom det är min huvudfråga. Vilka metoder som används för att avgöra vilken lokal dator som skall ha ett inkommande paket. Portnummer är det enda jag sett hittills.

  • Medlem
  • Örnsköldsvik
  • 2018-04-08 13:48

Kolla på det som @reboot81 föreslog i inlägg nummer 5 ovan, det ger en bra förklaring.

  • Medlem
  • Karlskoga
  • 2018-04-08 18:30

Japp, videon om pfSense är väldigt bra och förklarar hur det funkar. Lite lång dock

1
Bevaka tråden