Hopp til innhald

Fagstoff

NAT

NAT (Network Address Translation) set om lokal, ikkje-rutbar IP-adressering til ruteren si rutbare IP-adresse. Teknikken lèt mange einingar i lokalnettverk dele på ei enkelt rutbar IP-adresse for kommunikasjon mot internett. NAT har vore viktig for å ikkje gå tom for IPv4-adresser.
Seks ujamne sirklar ligg i nærleiken av kvarandre, ruterar koplar dei saman. Illustrasjon.
Opne bilete i eit nytt vindauge

Problemet med for få IPv4-adresser

Då IPv4-protokollen vart utvikla tidleg på 1980-talet, var ARPANET, forgjengaren til internett, brukt av forsvar, forskarar og store bedrifter med tett offentleg tilknyting. IPv4 vart laga med adresser på 32 bit. Dette gav til saman 4,29 milliardar unike IP-adresser, og det vart rekna som rikeleg for framtidige behov. Få kunne føresjå utbreiinga av datateknologi og internett som skulle kome i løpet av få år.

Tidleg på 1990-talet kom dei første bekymringsmeldingane om at det kunne bli for få IPv4-adresser til å dekkje behovet. Fleire tiltak vart utvikla for å løyse problemet.

Overgang frå klasseinndeling til CIDR

Tidlegare var IP-adressesegment delt inn i rigide kategoriar (Class A, B og C).

Kvart nettverk som var ein del av internett, hadde eit adressesegment som følgde ein av desse klassane.

Namn

Talet på IP-adresser i kvart nettverk

Talet på moglege nettverk

Class A

16 millionar

128

Class B

65 536

16 384

Class C

256

2 millionar

Dette systemet gjorde ruting mellom nettverka og subnettverka enkelt, men fordi det berre fanst tre klassar, fekk mange nettverk tilgang til alt for mange IP-adresser samanlikna med dei faktiske behova deira. Dette gav ein mangel på IPv4-adresser samtidig som det fanst milliardar av ubrukte adresser rundt omkring i dei ulike nettverka.

CIDR (Classless Inter-Domain Routing) vart introdusert i 1993 og gjorde det mogleg å bestemme storleiken av adressesegment meir findelt.

Klasse

CIDR

Talet på 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 heilt ned til /1, men dei største IP-adressesegmenta som er utdelte av IANA (Internet Assigned Numbers Authority), er /8.

Overgang til IPv6

IPv4 vart utvikla for rundt 40 år sidan og har i tillegg for få tilgjengelege adresser, så standarden er ikkje optimal for det moderne internett. Å gå heilt bort frå IPv4 er derfor ønskjeleg.

I perioden 1998–2006 vart IPv6 utvikla som arvtakar til IPv4. Infrastrukturen på internett, det vil seie ruterane og nettverksutstyret som dannar grunnstammen av internett, nyttar allereie IPv6. I heimenettverk og bedriftsnettverk er IPv6 òg på veg inn.

Overgangen til IPv6 vil ta tiår å fullføre. I mellomtida må andre tiltak derfor brukast for å avlaste oss frå problema.

Det viktigaste grepet som vart gjort for å unngå at vi skulle gå tom for IPv4-adresser, var innføringa av NAT (Network Address Translation) for bruk i lokale nettverk. NAT er eit samleomgrep for fleire teknikkar som lèt oss omadressere frå ikkje-rutbare IP-adresser i lokale nettverk (LAN) til rutbare IP-adresser på internett.

NAT-funksjonaliteten blir gjord av ruteren i lokalnettverk, og denne er den einaste eininga i nettverket som treng ein rutbar IP-adresse (ut mot internett).

Døme på NAT

I modellen under ser du eit døme på eit lite heimenettverk som er kopla til internett gjennom ein ruter. I heimenettverket blir det ikkje-rutbare (private) IP-adressesegmentet 192.168.0.x brukt.

Steg 1

Ei datamaskin i lokalnettverket (med IP-adressa 192.168.1.105) ønskjer å nå ein server på internett (serveren har IP-adressa 203.0.113.22). Ho sender derfor ein datapakke med ein førespurnad om informasjon. Datapakken blir send gjennom det lokale nettverket og til ruteren.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter koplar saman nettverket og internett. Datapakke blir send frå ei av datamaskinene i lokalnettverket. Illustrasjon.
Opne bilete i eit nytt vindauge

Steg 2

Ruteren har to (eller fleire) nettverkskort. Det eine er kopla til lokalnettverket (LAN) og har ei ikkje-rutbar IP-adresse i same adressesegment som resten av lokalnettverket. Det andre er kopla mot internett (WAN), har ei rutbar IP-adresse tildelt av internettleverandør (ISP) og er i same adressesegment som internettleverandøren.

Ruteren omadresserer datapakken og set si eiga rutbare WAN IP-adresse som sender på datapakken. Avsendarporten kan òg bli forandra (dette avheng av NAT-varianten som blir brukt).

Ruteren har ein tabell for NAT der forandringa blir registrert. Når datapakken er omadressert, blir han send ut via WAN-porten til ruteren mot internett.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter koplar saman nettverket og internett. Datapakke har nådd ruteren, og IP-adresse for avsendar og avsendarport blir endra. Illustrasjon.
Opne bilete i eit nytt vindauge

Steg 3

Datapakken går via internett og kjem fram til riktig mottakar. Mottakarportnummeret sikrar at mottakarmaskina veit kva program i maskina datapakken skal til.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter koplar saman nettverket og internett. Datapakke har nådd serveren på internett som pakken var adressert til. Illustrasjon.
Opne bilete i eit nytt vindauge

Steg 4

Når serveren skal sende svar tilbake, lagar han ein datapakke og bruker IP-adressa og portnummeret frå avsendaren. Dette blir lagt inn som mottakar på den nye datapakken og blir sendt ut på internett.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter koplar saman nettverket og internett. Svardatapakke blir laga på serveren og blir send ut på internett. Illustrasjon.
Opne bilete i eit nytt vindauge

Steg 5

Når svardatapakken kjem fram til ruteren til heimenettverket, blir datapakken omadressert på nytt. NAT-tabellen blir brukt for å finne ut kva lokal ikkje-rutbar IP-adresse og port datapakken skal adresserast til.

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter koplar saman nettverket og internett. Datapakke kjem inn til ruteren frå internett og blir omadressert. Illustrasjon.
Opne bilete i eit nytt vindauge

Steg 6

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

Modell av lokalnettverk med to datamaskiner og svitsj. Ruter koplar saman nettverket og internett. Svardatapakke navigerer seg over lokalnettverket og til datamaskina han skal til. Illustrasjon.
Opne bilete i eit nytt vindauge




Ikkje-rutbare adresser kan brukast mange stader samtidig

NAT set om ikkje-rutbare IP-adresser som blir brukte i lokalnettverk til ruteren si rutbare IP-adresse (WAN). Dei ikkje-rutbare IP-adressesegmenta kan dermed brukast i mange lokale nettverk samtidig utan at dette kan forstyrre andre lokale nettverk som bruker dei same IP-adressene.

Tre små heimenettverk er knytte til eit felles nettverk som høyrer til nettleverandøren. Dei tre små nettverka bruker det same IP-området internt. NAT-funksjonen i ruteren omadresserer datapakkar så dei kan forlate nettverket. Illustrasjon.
Opne bilete i eit nytt vindauge
NAT som del av IT-sikkerheit

Alle datapakkar som går ut gjennom ein ruter med NAT, blir omadresserte med ruteren som sender på datapakken (ruterens si WAN IP-adresse).

Ein ekstern trusselaktør som klarer å avlese datapakkane som går ut eller inn av nettverket, vil ikkje kunne sjå kva eining i nettverket datapakken kom frå eller skal til. Han kan heller ikkje skaffe seg oversikt over kva einingar som eksisterer internt i eit nettverk.

NAT gir ei auka sikkerheit og betre personvern, men dette er ein sekundær effekt, altså ikkje det som årsaka til at vi har systemet. Som oftast blir derfor ikkje NAT rekna som ein del av IT-sikkerheita.

Port forwarding

Alle einingar i eit lokalnettverk med ikkje-rutbare IP-adresser deler i praksis ei enkelt rutbar IP-adresse (ruteren si WAN IP-adresse). Dette skaper problem dersom vi ønskjer å gjere interne tenester tilgjengelege frå einingar på utsida av nettverket.

Dersom du ønskjer å setje opp ei serverteneste, til dømes ein Minecraft-server, inne i eit lokalnettverk som bruker NAT, og du ønskjer at tenesta skal vere tilgjengeleg frå internett, er Port forwarding ei god løysing.

Port forwarding er manuelle reglar vi gir ruteren som får NAT til å rute innkomande datapakkar merkte med eit eller fleire portnummer til ei bestemd IP-adresse i lokalnettverket.

CC BY-SASkrive av Tron Bårdgård.
Sist fagleg oppdatert 10.06.2021

Læringsressursar

Nettverkstenester og protokollar