Oversettelse av nettverksadresse

I datanettverk sies det at en ruter gjør NAT- oversettelse (NAT) når den samsvarer med IP-adresser med andre IP-adresser. Spesielt er et vanlig tilfelle å tillate maskiner med private adresser som er en del av et intranett og som hverken er unike eller internettomfattelige, kan kommunisere med resten av Internett ved hjelp av ormer utenfor offentlige, unike og rutbare eksterne adresser.

Dermed er det mulig å matche en enkelt ekstern offentlig adresse som er synlig på Internett med alle adressene til et privat nettverk , for å kompensere for utmattelsen av IPv4-adresser .

NAT-funksjonen i en integrert tjeneruter (ISR) oversetter en intern kilde-IP-adresse til en global IP-adresse.

Denne prosessen er mye brukt av Internett-boksen (eller modem ruter ) av leverandører for å skjule personlige datamaskiner bak en enkelt offentlig identifikasjon. Den brukes også på samme måte i virtuelle private nettverk .

Eksempel

En campus består av 1000 verter (datamaskiner, skrivere osv.), Fordelt på 4 delnett. Uten bruk av NAT, ville en slik campus kreve tildeling av nesten 1000  unike og rutede IPv4-adresser .

Ved å koble en slik campus til Internett via en ruter som implementerer NAT, er det mulig å endre den interne adresseringsplanen og bruke ikke-unike (brukes andre steder i verden) og ikke-rutbare adresser på Internett (se RFC  1918). . Vi snakker også om offentlige adresser (unike i verden) og private (unike bare i det private nettverket ). Et av målene med NAT er å gjøre private adresser usynlige fra Internett.

Bare noen få hundre adresser vil bli tildelt alle de eksterne NAT-adressene, vel vitende om at skrivere (og bestemt annet utstyr) ikke trenger å kommunisere med utsiden permanent (derfor trenger ikke adressene deres å være, trenger ikke å bli oversatt) .

NAT reduserer derfor antall unike IP-adresser som brukes.

NAT-implementering

Korrespondansene mellom de private adressene (interne) og offentlige (eksterne) lagres i en tabell som par ( intern adresse , ekstern adresse ). Når en ramme sendes fra en intern adresse til utsiden, passerer den gjennom NAT-ruteren som i toppteksten til TCP / IP- pakken erstatter avsenderens adresse med den eksterne IP-adressen. Omvendt erstatning gjøres når en ramme som tilsvarer denne forbindelsen, må rutes til den interne adressen. Vi kan også gjenbruke en oppføring i NAT-korrespondansetabellen hvis ingen trafikk med disse adressene har krysset ruteren i en viss tid (konfigurerbar).

Intern IP Ekstern IP Varighet ( er ) Gjenbrukbar?
10.101.10.20 193.48.100.174 1200 Nei
10.100.54.251 193.48.101.8 3.601 Ja
10.100.0.89 193.48.100.46 0 Nei

Her er for eksempel en forenklet NAT-tabell. Det antas at en oppføring kan gjøres gjeldende hvis oversettelsen ikke har blitt brukt i mer enn 3600 sekunder.

Den første linjen indikerer at den interne maskinen med IP-adressen 10.101.10.20 er oversatt til 193.48.100.174 når den snakker med omverdenen. Hun har ikke sendt en pakke på 1200 sekunder, men grensen er 3600, denne tabelloppføringen er fortsatt tildelt henne. Den andre maskinen har vært inaktiv i mer enn 3600 sekunder, den kan være av, en annen maskin kan ta over denne oppføringen (ved å endre den første kolonnen siden den ikke vil ha samme interne IP). Endelig er den siste maskinen for tiden i samtale med utsiden, varighet- feltet er 0.

De fleste brannmurer og rutere implementerer NAT slik at flere maskiner kan dele en offentlig IP-adresse.

Fordeler med NAT

Interne adresser kan velges blant adressene som er definert i RFC 1918 . Dermed kan flere nettsteder ha samme interne adressering og kommunisere med hverandre ved hjelp av denne mekanismen. Siden de interne adressene blir gjenbrukt, lagrer vi offentlige IP-adresser, hvis belegg i IPv4 når metning.

Vi kan ha færre adresser i settet med eksterne adresser enn det vi har som IP-adresser inne i nettverket, hvis vi får på plass en mekanisme for å gjenopprette ubrukt adresser etter en viss tid (dette kalles en leieavtale). Mer presist, hvis en oppføring i oversettelsestabellen ikke brukes i en viss tid (kan konfigureres i nettverkets DHCP- server ), kan denne oppføringen brukes på nytt: en annen maskin med en intern adresse vil hente den eksterne adressen.

NAT anses noen ganger å være til fordel for et sikkerhetsmessig synspunkt fordi interne adresser er skjult. Sikkerheten til enhetene bak en NAT er imidlertid ikke større enn det en stateful brannmur kan gi.

Iboende problemer

Selv om noen applikasjoner takler uten problemer, er NAT ikke gjennomsiktig for nettverksapplikasjoner og gir ekstra kompleksitet til driften av applikasjoner ( RFC  2993, RFC  3027):

Et stort problem oppstår når en kommunikasjonsprotokoll overfører IP-adressen til kildeverten i en pakke eller portnumre. Siden denne adressen ikke er gyldig etter at den har gått gjennom NAT-ruteren, kan den ikke brukes av målmaskinen. Disse protokollene sies å "  passere brannmurer med vanskeligheter  " fordi de utveksler informasjon på applikasjonsnivå (FTP) av informasjon på IP-nivå (utveksling av adresser) eller TCP-nivå (utveksling av porter), noe som bryter med separasjonsprinsippet av nettverkslag .

Noen slike protokoller er: FTP , H.323 , peer- to- peer ( IRC-DCC ) protokoller, nettverksadministrasjonsprotokoller, DNS , noen ICMP- meldinger , traceroute , SIP- protokoll .

For å overvinne denne ulempen, må NAT-rutere inspisere innholdet; de fungerer deretter som en Application-Level Gateway (ALG) og håndterer pakker som passerer gjennom dem for å erstatte IP-adressene som er spesifisert av de eksterne adressene. Dette innebærer å vite formatet på protokollen.

NAT betyr at delta i sikkerhetspolitikk området, og dette er ikke dens hovedmål: Når oversettelsen er etablert, er det toveis. NAT er derfor ikke en erstatning for brannmuren.

Den hairpinning er et problem med NAT.

Ulike typer NAT

Statisk NAT

Hvor et sett med interne adresser oversettes til et sett med samme størrelse på eksterne adresser. Disse NAT-ene sies å være statiske fordi tilknytningen mellom en intern adresse og dens eksterne peer er statisk (første interne adresse med den første eksterne osv.). Assosiasjonstabellen er ganske enkel, en-til-en, og inneholder bare adresser. Disse NAT-ene brukes til å gi tilgang til interne servere fra utsiden.

Det er tre typer statiske NAT-er  :

Dynamisk NAT

Hvor et sett med interne adresser overføres til et mindre sett med eksterne adresser. Disse NAT-ene sies å være dynamiske fordi tilknytningen mellom en intern adresse og dens eksterne motpart opprettes dynamisk når forbindelsen startes. Dette er portnumrene som vil identifisere oversettelsen på plass: kildeportnummeret (det til den interne maskinen) vil bli endret av ruteren. Han vil bruke den til å identifisere den interne maskinen.

Det finnes flere typer dynamiske NAT-er  :

En annen måte å kategorisere NAT på

Noen finesser:

Carrier Grade NAT

På grunn av utmattelse av IPv4-adresser , vurderer internettleverandører å bruke storskala NAT ( carrier-grade NAT eller stor skala NAT ), noe som ikke er uten konsekvenser for visse applikasjoner.

NAT traversal

I mangel av eksplisitt konfigurasjon avviser NAT-er generelt innkommende tilkoblinger, noe som forårsaker problemer spesielt for peer-to-peer- applikasjoner .

To protokoller er utviklet for å tillate klientarbeidsstasjoner å be om åpning og videresending av bestemte porter fra NAT-ruteren:

Programvare som Skype bruker andre teknikker for kommunikasjon mellom jevnaldrende bak NAT. pwnat bruker en variant som bruker ICMP-meldinger for klientoppdagelse.

NAT og IPv6

Den IETF fraråder NAT med IPv6 på grunn av de iboende problemer og fordi IPv6-adresseområdet er slik at adresse sparing ikke er nødvendig.

Merknader og referanser

  1. (in) "  Adressetildeling for private internett  " Forespørsel om kommentarer nr .  1918Februar 1996.
  2. (no) Stéphane Bortzmeyer , "  Adresseoversettelsen (NAT) hun gir virkelig sikkerhet?  " ,16. september 2012(åpnet 8. november 2012 )
  3. (in) "  Architectural Implications of NAT  " Forespørsel om kommentarer nr .  2993,november 2000.
  4. (in) "  Protokollkomplikasjoner med IP Network Address Translator  " Forespørsel om kommentarer nr .  3027Januar 2001.
  5. (in) "  STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)  " Forespørsel om kommentarer nr .  3489,Mars 2003.
  6. (in) En analyse av Skype Peer-to-Peer Internet Telephony Protocol [PDF] , Salman A. Baset og Henning Schulzrinne,15. september 2004.
  7. pwnat .
  8. RFC 3002 P26

Se også

Relaterte artikler

Eksterne linker