logo

Network Address Translation (NAT)

For å få tilgang til Internett trengs én offentlig IP-adresse, men vi kan bruke en privat IP-adresse i vårt private nettverk. Ideen med NAT er å la flere enheter få tilgang til Internett via en enkelt offentlig adresse. For å oppnå dette kreves oversettelsen av en privat IP-adresse til en offentlig IP-adresse. Network Address Translation (NAT) er en prosess der en eller flere lokale IP-adresser oversettes til en eller flere globale IP-adresser og omvendt for å gi Internett-tilgang til de lokale vertene. Den gjør også oversettelse av portnumre, dvs. maskerer portnummeret til verten med et annet portnummer, i pakken som vil bli rutet til destinasjonen. Den gjør deretter de tilsvarende oppføringene av IP-adresse og portnummer i NAT-tabellen. NAT opererer vanligvis på en ruter eller brannmur.

Network Address Translation (NAT) fungerer –
Vanligvis er grenseruteren konfigurert for NAT, dvs. ruteren som har ett grensesnitt i det lokale (inne) nettverket og ett grensesnitt i det globale (utenfor) nettverket. Når en pakke går utenfor det lokale (inne) nettverket, konverterer NAT den lokale (private) IP-adressen til en global (offentlig) IP-adresse. Når en pakke kommer inn i det lokale nettverket, konverteres den globale (offentlige) IP-adressen til en lokal (privat) IP-adresse.



int i streng

Hvis NAT går tom for adresser, det vil si at ingen adresse er igjen i bassenget som er konfigurert, vil pakkene bli droppet og en ICMP-vertspakke som ikke kan nås til destinasjonen, sendes.

Hvorfor maskere portnumre?
Anta at i et nettverk er to verter A og B koblet sammen. Nå ber begge om samme destinasjon, på samme portnummer, si 1000, på vertssiden, samtidig. Hvis NAT bare oversetter IP-adresser, vil begge IP-adressene deres maskeres av den offentlige IP-adressen til nettverket når pakkene deres kommer til NAT-en og sendes til destinasjonen. Destinasjonen vil sende svar til den offentlige IP-adressen til ruteren. Ved å motta et svar vil det således være uklart for NAT om hvilket svar som tilhører hvilken vert (fordi kildeportnumrene for både A og B er de samme). Derfor, for å unngå et slikt problem, maskerer NAT også kildeportnummeret og gjør en oppføring i NAT-tabellen.

NAT innenfor og utenfor adresser –
Innsiden refererer til adressene som må oversettes. Utenfor refererer til adressene som ikke har kontroll over en organisasjon. Dette er nettverksadressene der oversettelsen av adressene skal gjøres.



    Inside local address – En IP-adresse som er tilordnet en vert på Inside (lokalt) nettverk. Adressen er sannsynligvis ikke en IP-adresse som er tildelt av tjenesteleverandøren, dvs. dette er private IP-adresser. Dette er den innvendige verten sett fra innsiden av nettverket.
    Global intern adresse – IP-adresse som representerer en eller flere interne lokale IP-adresser til omverdenen. Dette er den innvendige verten sett fra det ytre nettverket.
    Utenfor lokal adresse – Dette er den faktiske IP-adressen til destinasjonsverten i det lokale nettverket etter oversettelsen.
    Utenfor global adresse - Dette er den eksterne verten sett fra det eksterne nettverket. Det er IP-adressen til den eksterne destinasjonsverten før oversettelse.

Nettverksadresseoversettelsestyper (NAT) –
Det er tre måter å konfigurere NAT på:

windows kommando arp
    Statisk NAT – I dette tilordnes en enkelt uregistrert (privat) IP-adresse med en lovlig registrert (offentlig) IP-adresse, dvs. en-til-en-tilordning mellom lokale og globale adresser. Dette brukes vanligvis til webhotell. Disse brukes ikke i organisasjoner ettersom det er mange enheter som vil trenge Internett-tilgang og for å gi Internett-tilgang er det nødvendig med en offentlig IP-adresse.

    Anta at hvis det er 3000 enheter som trenger tilgang til Internett, må organisasjonen kjøpe 3000 offentlige adresser som vil være svært kostbare.
    Dynamisk NAT – I denne typen NAT blir en uregistrert IP-adresse oversatt til en registrert (offentlig) IP-adresse fra en gruppe offentlige IP-adresser. Hvis IP-adressen til bassenget ikke er ledig, vil pakken bli droppet ettersom bare et fast antall private IP-adresser kan oversettes til offentlige adresser.



    Anta at hvis det er en pool med 2 offentlige IP-adresser, kan bare 2 private IP-adresser oversettes på et gitt tidspunkt. Hvis den tredje private IP-adressen ønsker å få tilgang til Internett, vil pakken bli slettet, og derfor blir mange private IP-adresser tilordnet en gruppe med offentlige IP-adresser. NAT brukes når antall brukere som vil ha tilgang til Internett er fast. Dette er også svært kostbart ettersom organisasjonen må kjøpe mange globale IP-adresser for å lage en pool.
    Port Address Translation (PAT) – Dette er også kjent som NAT-overbelastning. I denne kan mange lokale (private) IP-adresser oversettes til én enkelt registrert IP-adresse. Portnumre brukes til å skille trafikken, dvs. hvilken trafikk som tilhører hvilken IP-adresse. Dette er mest brukt da det er kostnadseffektivt da tusenvis av brukere kan kobles til Internett ved å bruke kun én ekte global (offentlig) IP-adresse.

Fordeler med NAT –

  • NAT bevarer lovlig registrerte IP-adresser.
  • Det gir personvern siden enhetens IP-adresse, som sender og mottar trafikken, blir skjult.
  • Eliminerer omnummerering av adresse når et nettverk utvikler seg.

Ulempen med NAT –

  • Oversettelse resulterer i byttebaneforsinkelser.
  • Enkelte applikasjoner vil ikke fungere mens NAT er aktivert.
  • Kompliserer tunneleringsprotokoller som IPsec.
  • Også, ruteren som er en nettverkslagsenhet, bør ikke tukle med portnumre (transportlag), men den må gjøre det på grunn av NAT.