Hopp til innhold

Fagstoff

NAT

NAT (Network Address Translation) oversetter lokal, ikke-rutbar IP-adressering til ruterens rutbare IP-adresse. Teknikken lar mange enheter i lokalnettverk dele på en enkelt rutbar IP-adresse for kommunikasjon mot internett. NAT har vært viktig for å ikke gå tom for IPv4-adresser.
Seks ujevne sirkler ligger i nærheten av hverandre, rutere kobler dem sammen. Illustrasjon.
Åpne bilde i et nytt vindu

Problemet med for få IPv4-adresser

Da IPv4-protokollen ble utviklet tidlig på 1980-tallet, var ARPANET, forgjengeren til internett, brukt av forsvar, forskere og store bedrifter med tett offentlig tilknytning. IPv4 ble lagd med adresser på 32 bit. Dette ga til sammen 4,29 milliarder unike IP-adresser, og det ble ansett som rikelig for framtidige behov. Få kunne forutse utbredelsen av datateknologi og internett som skulle komme i løpet av få år.

Tidlig på 1990-tallet kom de første bekymringsmeldingene om at det kunne bli for få IPv4-adresser til å dekke behovet. Flere tiltak ble utviklet for å løse problemet.

Overgang fra klasseinndeling til CIDR

Tidligere var IP-adressesegmenter delt inn i rigide kategorier (Class A, B og C).

Hvert nettverk som var en del av internett, hadde et adressesegment som fulgte en av disse klassene.

Navn

Antall IP-adresser i hvert nettverk

Antall mulige nettverk

Class A

16 millioner

128

Class B

65 536

16 384

Class C

256

2 millioner

Dette systemet gjorde ruting mellom nettverkene og subnettverkene enkelt, men fordi det bare fantes tre klasser, fikk mange nettverk tilgang til alt for mange IP-adresser sammenlignet med deres faktiske behov. Dette gav en mangel på IPv4-adresser samtidig som det fantes milliarder av ubrukte adresser rundt omkring i de forskjellige nettverkene.

CIDR (Classless Inter-Domain Routing) ble introdusert i 1993 og gjorde det mulig å bestemme størrelsen av adressesegment mer findelt.

Klasse

CIDR

Antall adresser i nettverket

Class A

/8*

16 777 216

/9

8 388 608

/10

4 194 304

/11

2 097 152

/12

1 048 576

/13

524 288

/14

262 144

/15

131 072

Class B

/16

65 536

/17

32 768

/18

16 384

/19

8 192

/20

4 096

/21

2 048

/22

1 024

/23

512

Class C

/24

256

/25

128

/26

64

/27

32

/28

16

/29

8

/30

4

/31

2

*CIDR går i teorien helt ned til /1, men de største IP-adressesegmentene som er utdelt av IANA (Internet Assigned Numbers Authority), er /8.

Overgang til IPv6

IPv4 ble utviklet for rundt 40 år siden og har i tillegg for få tilgjengelige adresser, så standarden er ikke optimal for det moderne internett. Å gå helt bort fra IPv4 er derfor ønskelig.

I perioden 1998–2006 ble IPv6 utviklet som arvtaker til IPv4. Infrastrukturen på internett, det vil si ruterne og nettverksutstyret som danner grunnstammen av internett, benytter allerede IPv6. Også i hjemmenettverk og bedriftsnettverk er IPv6 på vei inn.

Overgangen til IPv6 vil ta tiår å fullføre. I mellomtida må andre tiltak derfor brukes for å avlaste oss fra problemene.

Det viktigste grepet som ble gjort for å unngå at vi skulle gå tom for IPv4-adresser, var innføringen av NAT (Network Address Translation) for bruk i lokale nettverk. NAT er et samlebegrep for flere teknikker som lar oss omadressere fra ikke-rutbare IP-adresser i lokale nettverk (LAN) til rutbare IP-adresser på internett.

NAT-funksjonaliteten gjøres av ruteren i lokalnettverk, og denne er den eneste enheten i nettverket som trenger en rutbar IP-adresse (ut mot internett).

Eksempel på NAT

I modellen under ser du et eksempel på et lite hjemmenettverk som er koblet til internett gjennom en ruter. I hjemmenettverket brukes det ikke-rutbare (private) IP-adressesegmentet 192.168.0.x.

Steg 1

En datamaskin i lokalnettverket (med IP-adressen 192.168.1.105) ønsker å nå en server på internett (serveren har IP-adressen 203.0.113.22). Den sender derfor en datapakke med en forespørsel om informasjon. Datapakken sendes gjennom det lokale nettverket og til ruteren.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter kobler sammen nettverket og internett. Datapakke sendes fra en av datamaskinene i lokalnettverket. Illustrasjon.
Åpne bilde i et nytt vindu

Steg 2

Ruteren har to (eller flere) nettverkskort. Det ene er koblet til lokalnettverket (LAN) og har en ikke-rutbar IP-adresse i samme adressesegment som resten av lokalnettverket. Det andre er koblet mot internett (WAN), har en rutbar IP-adresse tildelt av internettleverandør (ISP) og er i samme adressesegment som internettleverandøren.

Ruteren omadresserer datapakken og setter sin egen rutbare WAN IP-adresse som avsender på datapakken. Avsenderporten kan også bli forandret (dette avhenger av NAT-varianten som brukes).

Ruteren har en tabell for NAT hvor forandringen registreres. Når datapakken er omadressert, sendes den ut via ruterens WAN-port mot internett.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter kobler sammen nettverket og internett. Datapakke har nådd ruteren, og IP-adresse for avsender og avsenderport blir forandret. Illustrasjon.
Åpne bilde i et nytt vindu

Steg 3

Datapakken går via internett og kommer fram til riktig mottaker. Mottakerportnummeret sikrer at mottakermaskinen vet hvilket program i maskinen datapakken skal til.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter kobler sammen nettverket og internett. Datapakke har nådd serveren på internett som pakken var adressert til. Illustrasjon.
Åpne bilde i et nytt vindu

Steg 4

Når serveren skal sende svar tilbake, lager den en datapakke og bruker IP-adressen og portnummeret fra avsenderen. Dette legges inn som mottaker på den nye datapakken og sendes ut på internett.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter kobler sammen nettverket og internett. Svardatapakke lages på serveren og sendes ut på internett. Illustrasjon.
Åpne bilde i et nytt vindu

Steg 5

Når svardatapakken kommer fram til ruteren til hjemmenettverket, blir datapakken omadressert på nytt. NAT-tabellen brukes for å finne ut hvilken lokal ikke-rutbar IP-adresse og port datapakken skal adresseres til.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter kobler sammen nettverket og internett. Datapakke kommer inn til ruteren fra internett og blir omadressert. Illustrasjon.
Åpne bilde i et nytt vindu

Steg 6

Omadressert med ny IP-adresse, og eventuelt portnummer, kan svardatapakken nå fram til riktig datamaskin i det hjemmenettverket, og kommunikasjonen er fullført.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter kobler sammen nettverket og internett. Svardatapakke navigerer seg over lokalnettverket og til datamaskinen den skal til. Modell
Åpne bilde i et nytt vindu




Ikke-rutbare adresser kan brukes mange steder samtidig

NAT oversetter ikke-rutbare IP-adresser som brukes i lokalnettverk til ruterens rutbare IP-adresse (WAN). De ikke-rutbare IP-adressesegmentene kan dermed brukes i mange lokale nettverk samtidig uten at dette kan forstyrre andre lokale nettverk som bruker de samme IP-adressene.

Tre små hjemmenettverk er tilknyttet et felles nettverk tilhørende nettleverandøren. De tre små nettverkene bruker samme IP-område internt. NAT-funksjonen i ruteren omadresserer datapakker så de kan forlate nettverket. Illustrasjon.
Åpne bilde i et nytt vindu
NAT som del av IT-sikkerhet

Alle datapakker som går ut gjennom en ruter med NAT, blir omadressert med ruteren som avsender på datapakken (ruterens WAN IP-adresse).

En ekstern trusselaktør som klarer å avlese datapakkene som går ut eller inn av nettverket, vil ikke kunne se hvilken enhet i nettverket datapakken kom fra eller skal til. Den kan heller ikke skaffe seg oversikt over hvilke enheter som eksisterer internt i et nettverk.

NAT gir en økt sikkerhet og bedre personvern, men dette er en sekundær effekt, altså ikke det som årsaken til at vi har systemet. NAT regnes derfor som oftest ikke som en del av IT-sikkerheten.

Port forwarding

Alle enheter i et lokalnettverk med ikke-rutbare IP-adresser deler i praksis en enkelt rutbar IP-adresse (ruterens WAN IP-adresse). Dette skaper problemer hvis vi ønsker å gjøre interne tjenester tilgjengelig fra enheter på utsiden av nettverket.

Hvis du ønsker å sette opp en servertjeneste, for eksempel en Minecraft-server, inne i et lokalnettverk som bruker NAT, og du ønsker at tjenesten skal være tilgjengelig fra internett, er Port forwarding en god løsning.

Port forwarding er manuelle regler vi gir ruteren som får NAT til å rute innkommende datapakker merket med et eller flere portnummer til en bestemt IP-adresse i lokalnettverket.

CC BY-SASkrevet av Tron Bårdgård.
Sist faglig oppdatert 10.06.2021

Læringsressurser

Nettverkstjenester og protokoller