Adressupplösning


För att datorer ska kunna kommunicera i ett nätverk behövs både logiska adresser (IP-adresser) och fysiska adresser (MAC-adresser). IP-adressen används för att identifiera enheten i nätverket och bestämma vägen till destinationen, medan MAC-adressen används för att leverera själva ramen till rätt nätverkskort på den lokala länken.

När en dator bara känner till en annan enhets IP-adress men inte dess MAC-adress, måste den ta reda på denna information. Denna process kallas adressupplösning (address resolution). Utan adressupplösning skulle paketet aldrig kunna levereras, eftersom nätverkskortet inte vet vart ramen ska skickas. För IPv4 används Address Resolution Protocol (ARP), och för IPv6 används ICMPv6 Neighbor Discovery (ND).

Även om adressupplösning sker automatiskt är det viktigt att förstå hur den fungerar. Som nätverksadministratör kan du behöva felsöka problem, och i vissa fall kan felaktig eller manipulerad adressupplösning utnyttjas vid attacker.

I detta avsnitt fokuserar vi på hur adressupplösning fungerar i praktiken – både i lokala nätverk och när trafiken måste passera en router för att nå ett fjärrnätverk.

Det finns två primära adresser som tilldelas en enhet i ett Ethernet-LAN:

  • Fysisk adress (MAC-adress) – används för kommunikation mellan nätverkskort (NIC till NIC) på samma Ethernet-nätverk. Denna adress används för att leverera Datalänkskiktets ramar.
  • Logisk adress (IP-adress) – används för att skicka paketet från source till destination. Destinationens IP-adress kan antingen finnas i samma IP-nätverk som source eller i ett fjärrnätverk.

Exempel:

PC1 vill skicka ett paket till PC2. Figuren visar lager 2-destination och source (MAC-adresser) samt lager 3-adressering (IPv4) i det paket som PC1 skickar.

Ethernet-ramen på lager 2 innehåller:

  • Destination MAC: förenklad MAC-adress för PC2, 55-55-55
  • Source MAC: adress: förenklad MAC-adress för PC1:s nätverkskort, aa-aa-aa

IP-paketet på lager 3 innehåller:

  • Source IPv4: 192.168.10.10 (PC1)
  • Destination IPv4: 192.168.10.11 (PC2)

Destination i ett fjärrnätverk

När destinationsadressen (IPv4 eller IPv6) tillhör ett fjärrnätverk används istället default gateway, det vill säga routerns interface, som destination MAC-adress i ramen. Till exempel:

PC1 vill skicka ett paket till PC2, men PC2 finns i ett fjärrnätverk. Eftersom destinationens IPv4-adress inte finns i samma lokala nät som PC1 används MAC-adressen för den lokala routerns interface som destinationsadress.

Routern R1 undersöker sedan destinationsadressen i IPv4-paketet för att avgöra den bästa vägen vidare. När routern tar emot Ethernet-ramen avlägsnar den lager 2-informationen (decaptulation).

Baserat på IPv4-destinationen bestämmer routern nästa hopp och kapslar därefter in paketet i en ny datalänk-ram på utgående interface.

I vårt exempel kommer R1 att kapsla in paketet på nytt med:

  • Ny destinations-MAC-adress: MAC-adressen för R2-interface G0/0/1, dd-dd-dd
  • Ny source-MAC-adress: MAC-adressen för R1-interface G0/0/1, cc-cc-cc

På varje länk längs vägen kapslas IP-paketet in i en ny ram. Ramen är anpassad till den datalänks teknik som används på just den länken, till exempel Ethernet. Om nästa hopp är den slutliga destinationen via R2 kommer destinations-MAC-adressen att vara mottagarens MAC-adress, precis som figuren visar.