logo

Network Address Translation (NAT)

For at få adgang til internettet kræves der én offentlig IP-adresse, men vi kan bruge en privat IP-adresse i vores private netværk. Ideen med NAT er at give flere enheder adgang til internettet via en enkelt offentlig adresse. For at opnå dette kræves oversættelse af en privat IP-adresse til en offentlig IP-adresse. Network Address Translation (NAT) er en proces, hvor en eller flere lokale IP-adresser oversættes til en eller flere Global IP-adresser og omvendt for at give internetadgang til de lokale værter. Det udfører også oversættelsen af ​​portnumre, dvs. maskerer værtens portnummer med et andet portnummer i pakken, der vil blive dirigeret til destinationen. Den foretager derefter de tilsvarende indtastninger af IP-adresse og portnummer i NAT-tabellen. NAT fungerer generelt på en router eller firewall.

Network Address Translation (NAT) fungerer –
Generelt er grænserouteren konfigureret til NAT, dvs. routeren, som har en grænseflade i det lokale (indvendige) netværk og en grænseflade i det globale (udenfor) netværk. Når en pakke passerer uden for det lokale (indvendige) netværk, konverterer NAT den lokale (private) IP-adresse til en global (offentlig) IP-adresse. Når en pakke kommer ind på det lokale netværk, konverteres den globale (offentlige) IP-adresse til en lokal (privat) IP-adresse.



datastrukturer i java

Hvis NAT løber tør for adresser, dvs. der ikke er nogen adresse tilbage i den konfigurerede pool, vil pakkerne blive droppet, og en ICMP (Internet Control Message Protocol) værtspakke, der ikke kan nås, til destinationen sendes.

Hvorfor maskere portnumre?
Antag, at to værter A og B er forbundet i et netværk. Nu anmoder de begge om den samme destination, på det samme portnummer, f.eks. 1000, på værtssiden på samme tid. Hvis NAT kun oversætter IP-adresser, vil begge deres IP-adresser, når deres pakker ankommer til NAT, blive maskeret af netværkets offentlige IP-adresse og sendt til destinationen. Destinationen sender svar til routerens offentlige IP-adresse. Ved modtagelse af et svar vil det således være uklart for NAT, hvilket svar der tilhører hvilken vært (fordi kildeportnumrene for både A og B er de samme). Derfor, for at undgå et sådant problem, maskerer NAT også kildeportnummeret og foretager en indtastning i NAT-tabellen.

NAT inde og ude adresser –
Inside henviser til de adresser, der skal oversættes. Udenfor refererer til de adresser, der ikke har kontrol over en organisation. Dette er netværksadresserne, hvor oversættelsen af ​​adresserne vil blive udført.



    Indvendig lokal adresse – En IP-adresse, der er tildelt en vært på det Indvendige (lokale) netværk. Adressen er sandsynligvis ikke en IP-adresse, der er tildelt af tjenesteudbyderen, dvs. disse er private IP-adresser. Dette er den indvendige vært set fra det indvendige netværk.
    Indvendig global adresse – IP-adresse, der repræsenterer en eller flere indvendige lokale IP-adresser til omverdenen. Dette er den indvendige vært set fra det eksterne netværk.
    Udvendig lokal adresse – Dette er den faktiske IP-adresse på destinationsværten i det lokale netværk efter oversættelse.
    Ekstern global adresse – Dette er den eksterne vært set fra det eksterne netværk. Det er IP-adressen på den eksterne destinationsvært før oversættelse.

Netværksadresseoversættelsestyper (NAT) –
Der er 3 måder at konfigurere NAT på:

pandaer og numpy
    Statisk NAT – I dette kortlægges en enkelt uregistreret (privat) IP-adresse med en lovligt registreret (offentlig) IP-adresse, dvs. en-til-en-mapping mellem lokale og globale adresser. Dette bruges generelt til webhosting. Disse bruges ikke i organisationer, da der er mange enheder, der har brug for internetadgang, og for at give internetadgang kræves en offentlig IP-adresse.

    Antag, at hvis der er 3000 enheder, der har brug for adgang til internettet, skal organisationen købe 3000 offentlige adresser, hvilket vil være meget dyrt.
    Dynamisk NAT – I denne type NAT oversættes en uregistreret IP-adresse til en registreret (offentlig) IP-adresse fra en pulje af offentlige IP-adresser. Hvis puljens IP-adresse ikke er ledig, vil pakken blive droppet, da kun et fast antal private IP-adresser kan oversættes til offentlige adresser.



    Antag, at hvis der er en pulje med 2 offentlige IP-adresser, kan kun 2 private IP-adresser oversættes på et givet tidspunkt. Hvis 3. private IP-adresse ønsker at få adgang til internettet, vil pakken blive droppet, derfor er mange private IP-adresser knyttet til en pulje af offentlige IP-adresser. NAT bruges, når antallet af brugere, der ønsker at få adgang til internettet, er fastsat. Dette er også meget dyrt, da organisationen skal købe mange globale IP-adresser for at lave en pulje.
    Port Address Translation (PAT) – Dette er også kendt som NAT-overbelastning. I denne kan mange lokale (private) IP-adresser oversættes til en enkelt registreret IP-adresse. Portnumre bruges til at skelne trafikken, dvs. hvilken trafik der hører til hvilken IP-adresse. Dette bruges oftest, da det er omkostningseffektivt, da tusindvis af brugere kan tilsluttes internettet ved kun at bruge én rigtig global (offentlig) IP-adresse.

Fordele ved NAT –

  • NAT bevarer lovligt registrerede IP-adresser.
  • Det giver privatliv, da enhedens IP-adresse, der sender og modtager trafikken, vil blive skjult.
  • Eliminerer adresseomnummerering, når et netværk udvikler sig.

Ulempen ved NAT –

  • Oversættelse resulterer i forsinkelser i skiftvej.
  • Visse applikationer fungerer ikke, mens NAT er aktiveret.
  • Komplicerer tunneling-protokoller såsom IPsec.
  • Desuden bør routeren, der er en netværkslagsenhed, ikke manipulere med portnumre (transportlag), men den skal gøre det på grund af NAT.