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.
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.
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.
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.
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.
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.
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.
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.
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.