Citat:
Ursprungligen postat av wooten
Ponera att jag sitter bakom min ISPs ip nummer som är 130.65.0.12 och har en router hemma som har 3 datorer bakom sig: 192.168.0.2, 192.168.0.3, 192.168.0.4. Låt säga att 192.168.0.3 vill gå in på aftonbladet och requestar således sidan av aftonbladet. Så 192.168.0.3 skickar ett paket med bl.a. sin macadress och ip nummer till aftonbladet till routern som skickar det vidare till ISP-routern och paketet tar sig till aftonbladet. Väl på aftonbladet syns inte längre mac adressen, så aftonbladet skickar tillbaka sidan i packet samma väg tillbaka. Men när det når routern i lägenheten, finns ju inte avsändarmacadressen kvar i paketet (hur skulle den kunna göra det? aftonbladet fick ju aldrig macadressen). Så hur vet routern vilken av de tre datorerna bakom sig paketet var tänkt till?
Eftersom du lokalt använder ip-adresser från en privat serie (192.168.x.x) använder du även NAT (Network Adress Translation) vilket gör det hela lite mer komplicerat.
Men för att ta ditt exempel:
Datorn på 192.168.0.2 skickar en request till aftonbladet.
1. Först måste datorn veta ip-adressen och använder därför av DNS för att översätta "aftonbladet.se" till "192.71.238.76".
2. Då adressen inte är lokal, tittar datorn i sin router-tabell vart adressen ska routas, vanligtvis via default gateway som troligen är 192.168.0.1 i ditt fall. Om datorn inte har mac-adressen i sin arp-tabell frågar den på nätet vem som har den ip-adressen.
3.Datorn skapar ett ip-paket med sitt eget ip-nummer och ett slumpässigt port-nummer (1025-65535) [exempel 6321] som avsändare, och med aftonbladets ip-adress och port 80 (om det är en http-request) som mottagare. När IP-paketet skickas över ethernet läggs en ethernet-header till där datorns MAC-adress står som avsändare och default gateway som mottagare.
4. Default gateway tar emot paketet, och ethernet-headern plockas bort.
Eftersom du kör med privata ip-adressser måste paketet nu gå igenom NAT där avsändarens ip-adress (192.168.0.2) och port-nummer skrivs över av routerns publika ip-adress och ett nytt slummässigt portnummer [exempel: 5987] (detta lagras i routern och används för att kunna skicka tillbaka paketen till 192.168.0.2)
5. Routern skickar ut det till din ISP som sen skickar det via olika nät tills det kommer fram till aftonbladet. Av din MAC-adress syns det inte ett spår.
6. Aftonbladets server med ip-nummer 192.71.238.76 får ett inkommande paket på port 80. Aftonbladet svarar och sätter avsändaren som 192.71.238.76 port 80, och sätter mottagaren som ditt publika ip och port 5987.
7. Efter att ha passerat alla nät och routrar kommer paketet fram till din router som tar emot paketet. Där ser den NAT:en att det är ett paket från 192.71.238.76 port 80 och att det ska till port 5987. NAT:en har ju skickat ett paket i omvända riktningen och skriver därför om paketet så att mottagaren blir 192.168.0.2 på port 6321.
8. Routern skickar ut ip-paketet på ditt lokala nätverk. För att skicka ut det på ditt ethernet läggs det till en ethernet-header med routerns MAC-adress som avsändare och din dator som mottagare.
Hoppas du hängde med.