Som Plus-medlem får du: Tillgång till våra Plus-artiklar | Egen blogg och Portfolio | Fri uppladdning av dina bilder | Rabatt på kameraförsäkring och fotoresor | 20% rabatt på Leofoto-stativ och tillbehör | Köp till Sveriges mest lästa fototidning Fotosidan Magasin till extra bra pris.

Plusmedlemskap kostar 349 kr per år

Annons

spårningssystem

Produkter
(logga in för att koppla)
Vad jag menar är att om jag från 192.168.0.2 skickar en ping till xxx.xxx.xxx.xxx som då går via min router 192.168.0.1 ut på "nätet", hur vet min router att paketet som kommer tillbaka ska till 192.168.0.2 och inte till 192.168.0.3?
 
dumbo skrev:
Vad jag menar är att om jag från 192.168.0.2 skickar en ping till xxx.xxx.xxx.xxx som då går via min router 192.168.0.1 ut på "nätet", hur vet min router att paketet som kommer tillbaka ska till 192.168.0.2 och inte till 192.168.0.3?

NAT/Adresöversättnings funktionen i din brandvägg håller reda på det, exakt hur den fungerar hag jag aldrig funderat på...men det borde vara en eller flera tabeller med "connections" och "states". Olika brandväggar löser dessutom detta på lika olika sätt.

-Thomas
 
Uppslagningen från IP-adress till ethernet-adress (MAC) görs via ARP (Address Resolution Protocol). I princip går det till så att sändande dator (router) skickar ett broadcast-meddelande och frågar om någon dator på nätet har en viss IP-address. Sedan sparas denna info i en tabell.

På en unix-maskin kan man titta på och manipulera ARP-tabellen med arp(8), som vanligen ligger i /sbin/arp. Till exempel skriver "arp -a" ut hela tabellen. Det borde finnas något motsvarande i Windows.

Ovanstående gäller normala internet. Att hålla ordning på förbindelser genom en NAT är ett annat djur. Man kan även låta en brandvägg svara på ARP-förfrågningar för maskinerna "innanför", så kallad proxy-ARP. En google-sökning ger mer information än de flesta vill ha... :cool:

MvH / Sven
 
dumbo skrev:
Vad jag menar är att om jag från 192.168.0.2 skickar en ping till xxx.xxx.xxx.xxx som då går via min router 192.168.0.1 ut på "nätet", hur vet min router att paketet som kommer tillbaka ska till 192.168.0.2 och inte till 192.168.0.3?

Om du t.ex. pingar www.fotosidan.se så kommer du att skicka ett ICMP-data (ping) inkapslat i ett IP-paket. Paketet från din dator har adresserna:

MAC: din dators MAC -> din routers insidas MAC
IP: 192.168.0.2 -> 192.71.58.72

När paketet kommer fram till din router/brandvägg/NAT kommer den att lägga upp detta i en tabell och översätta din 192.168-adress på "insidan" till en officiell adress på "utsidan". Vilken adress du har där vet jag inte men det är nåt du får från din Internetleverantör, i allmänhet automatiskt. Du kan säkert se i din brandvägg vilken den är. För detta exempel kan vi låtsas att det är adress 199.199.199.199. Nåväl, när routern/brandväggen skickar ditt paket vidare så kommer adresserna nu vara:

MAC: routerns utsidas MAC -> nästa routers MAC
IP: 199.199.199.199 -> 192.71.58.72

Till slut kommer paketet fram till Fotosidans server som svarar tillbaka till dig:

MAC: FS server MAC -> FS router insidas MAC
IP: 192.71.58.72 -> 199.199.199.199

FS server har ju ingen aning om att din dator som ursprungligwn skickade paketet egentligen har en annan adress.

Till slut kommer detta svar fram till din router/brandvägg. Den tittar då återigen i sin tabell och ser att för just denna session med dessa adresser så ska trafiken till din dator och inte någon annan på insidan. Den skapar det slutliga paketet med adresserna:

MAC: din routers insidas MAC -> din dators MAC
IP: 192.71.58.72 -> 192.168.0.2

Voila! Enkelt va? Och sådär gör alla routrar på Internet, för varje paket, som alla skickar. Det blir en del jobb... sen ska vi inte ens tänka på att de faktiskt måste gå in i IP-paket och kontrollera checksummor, ändra "time-to-live" för varje router som passeras m.m. m.m. Samtidigt som de är utsatta för DOS-atacker och annat skräp. Det är ett hårt liv att vara router idag :)
 
Vad jag menar är att om jag från 192.168.0.2 skickar en ping till xxx.xxx.xxx.xxx som då går via min router 192.168.0.1 ut på "nätet", hur vet min router att paketet som kommer tillbaka ska till 192.168.0.2 och inte till 192.168.0.3?
När du ansluter till en adress på nätet kan routern associera din interna adress till en viss port som den använder för att kommunicera externt, så när svaret kommer till routerns externa IP adress på den porten så vet routern var den ska skicka det.
 
ANNONS
Köp TZ99 hos Götaplatsens Foto