5.1 Introduktion til NAT
Et andet meget interessant emne er NAT. NAT står for Network Address Translation og er normalt til stede i hver router som en tjeneste. Så hvad er det, og hvorfor er det nødvendigt?
NAT er et punkt, hvorved lokale netværk kan forbindes til globale netværk, såsom internettet, for eksempel.
Som du allerede ved, på lokale netværk har alle computere (og andre enheder tilsluttet netværket) deres egne lokale IP-adresser. Og for at udveksle data med en server på internettet, er det nødvendigt, at vores computer kan sende en anmodning til serveren, og serveren kan sende os et svar. Og hvor skal han sende et svar, hvis vores IP-adresse er ukendt uden for vores lokale netværk?
Forestil dig, at du skriver et papirbrev til Donald Trump. Trump er en offentlig person, han er den eneste – dette er vores offentlige server. Og du angiver Masha som returadressen i brevet. Mos meget. Hvilken Masha skal sendes svaret?
Så du sender et brev til din bekendt i Washington, også en offentlig person, med strenge instruktioner om at sende det til Trump. Din ven modtager et brev, sender det til Trump og giver sin adresse i Washington som returadresse.
Så, efter at have modtaget et svar fra Trump, sender bekendten det videre til dig. Det samme med IP-pakker...
For at tillade en enhed med en privat IPv4-adresse at få adgang til enheder og ressourcer uden for det lokale netværk, skal den private adresse først ændres til en offentlig offentlig adresse.
Bare NAT oversætter private adresser til offentlige. Dette giver en enhed med en lokal IP-adresse adgang til ressourcer uden for sit private netværk. NAT, kombineret med lokale IP-adresser, har vist sig at være en nyttig metode til at vedligeholde offentlige IPv4-adresser.
Der er 8 milliarder mennesker i verden, og der er allerede mange flere netværksenheder: telefoner, bærbare computere, smarture, servere, alle smarte enheder. Og der er kun 4 milliarder IP-adresser. Det plejede at virke som meget, men med internettets hurtige vækst blev det klart for alle, at dette ikke var nok.
Her kommer NAT til undsætning: Én offentlig IPv4-adresse kan bruges af hundredvis, endda tusindvis af enheder, som hver har en lokal IPv4-adresse. NAT har den ekstra fordel at tilføje en grad af privatliv og sikkerhed til et netværk, fordi det skjuler interne IPv4-adresser fra eksterne netværk.
5.2 Undernet i NAT
LAN'er er normalt designet med private IP-adresser. Disse er adresser fra private undernet 10.0.0.0/8
og 172.16.0.0/12
. 192.168.0.0/16
Disse IP-adresser bruges internt af en organisation eller et websted for at tillade enheder at kommunikere lokalt, de er ikke routbare på internettet.
NAT-aktiverede routere kan konfigureres med en eller flere gyldige offentlige IPv4-adresser. Disse offentlige adresser kaldes en NAT-pulje.
Når en enhed på det interne netværk sender trafik fra netværket til ydersiden, oversætter den NAT-aktiverede router enhedens interne IP-adresse til den offentlige IP-adresse fra NAT-puljen. For eksterne enheder ser al trafik ind og ud af netværket ud til at have en offentlig IP-adresse.
En NAT-router fungerer normalt på kanten af et Stub-netværk. Et stubnetværk er et begreb fra netværksteori: et stubnetværk, der har én forbindelse til et nabonetværk, én ind- og udgang fra netværket.
Når en enhed inde i Stub-netværket ønsker at kommunikere med en enhed uden for sit netværk, videresendes pakken til routeren, og den udfører en NAT-proces, der oversætter enhedens interne private adresse til en offentlig, ekstern, routbar adresse.
5.3 NAT-terminologi
Hvis du dykker ned i teorien om netværk, så er NAT et internt netværk, som er et sæt undernet, der skal oversættes. Det eksterne netværk refererer til alle andre netværk.
Ved brug af NAT har IP-adresser forskellige betegnelser baseret på, om de er på et privat netværk eller på et offentligt netværk (på internettet), og om trafikken er indgående eller udgående.
NAT inkluderer fire typer adresser:
- Intern lokal adresse (indvendig lokal adresse);
- Intern global adresse (Indvendig global adresse);
- Uden for lokal adresse ;
- Ekstern global adresse (global ekstern adresse);
Når du bestemmer, hvilken type adresse der bruges, er det vigtigt at huske, at NAT-terminologi altid anvendes fra enhedens synspunkt med den oversatte adresse:
- Intern adresse (Indvendig adresse) - adresse på enheden, der er oversat af NAT;
- Ekstern adresse – destinationsenhedens adresse;
- En lokal adresse er enhver adresse, der vises internt på netværket;
- En global adresse er enhver adresse, der vises på ydersiden af netværket.
Lad os se på dette med et diagrameksempel.
Computeren på billedet til venstre har en intern lokal ( Inside local ) adresse 192.168.1.5
, og fra dens synspunkt har webserveren en ekstern ( ekstern ) adresse 208.141.17.4
. Når datapakker sendes fra computeren til webserverens globale adresse, oversættes pc'ens interne lokale ( Inside local208.141.16.5
) adresse til ( inde i global ). Den eksterne enhedsadresse oversættes normalt ikke, fordi det er en offentlig IPv4-adresse.
Det er værd at bemærke, at en computer så at sige har to adresser: lokale og globale adresser, mens en webserver har den samme offentlige IP-adresse. Fra hans synspunkt kommer den trafik, der stammer fra computeren, fra den interne globale adresse 208.141.16.5
. En NAT-router er adskillelsespunktet mellem interne og eksterne netværk og mellem lokale og globale adresser.
Begreberne inde og ude er kombineret med begreberne lokal og global for at henvise til specifikke adresser. På figuren er routeren konfigureret til at levere NAT og har en pulje af offentlige adresser, der skal tildeles til interne værter.
5.4 Pakkesti
Hvis du allerede er træt, så gå til næste foredrag. Hvis du stadig er interesseret, så velkommen længere nede i ormehullet.
Figuren nedenfor viser, hvordan trafik sendes fra en intern computer til en ekstern webserver gennem en NAT-aktiveret router, sendes ud og videresendes tilbage.
router NAT tabel | |||
---|---|---|---|
PC | Webserver | ||
Insde Global | Inde i Lokal | udenfor lokalt | Uden for Global |
208.141.17.4 | 192.168.1.5 | 208.141.16.5 | 208.141.16.5 |
Indvendig lokal adresse - Kildeadressen set fra det interne netværk. På figuren 192.168.1.5
er adressen tildelt computeren - dette er dens interne lokale adresse.
Indvendig global adresse - Kildeadressen set fra det eksterne netværk. På figuren, når trafik fra computeren sendes til webserveren på 208.141.17.4
, oversætter routeren den interne lokale adresse (lokal adresse) til den indvendige globale adresse (Global adresse). I dette tilfælde ændrer routeren IPv4- kildeadressen fra 192.168.1.5
til 208.141.16.5
.
Ekstern global adresse - adressen på destinationen set fra det eksterne netværk. Dette er en globalt routbar IP-adresse, der er tildelt en vært på internettet. I diagrammet er webserveren tilgængelig på 208.141.17.4
. Oftest er eksterne lokale og eksterne globale adresser de samme.
Ekstern lokal adresse - Modtagerens adresse set fra det interne netværk. I dette eksempel sender computeren trafik til webserveren kl208.141.17.4
Lad os nu se på hele pakkestien. Computeren med adressen 192.168.1.5
forsøger at kommunikere med webserveren 208.141.17.4
. Når en pakke ankommer til en NAT-aktiveret router, læser den pakkens destinations-IP-adresse for at afgøre, om pakken matcher kriterierne for oversættelse. I dette eksempel matcher kildeadressen kriterierne og er oversat fra 192.168.1.5
(Indvendig lokal adresse) til 208.141.16.5
(Indvendig global adresse).
Routeren tilføjer denne lokal-til-globale adressetilknytning til NAT-tabellen og sender pakken med den oversatte kildeadresse til destinationen. Webserveren svarer med en pakke adresseret til pc'ens interne globale adresse ( 208.141.16.5
).
Routeren modtager en pakke med en destinationsadresse 208.141.16.5
og tjekker NAT-tabellen for en indgang til denne kortlægning. Den bruger denne information og oversætter den indvendige globale adresse ( 208.141.16.5
) tilbage til den indvendige lokale adresse ( 192.168.1.5
), pakken omdirigeres til pc'en.
5.5 Fordele og ulemper ved NAT
NAT-tjenesten er en meget kraftfuld løsning, der bruges overalt. NAT giver mange fordele , herunder:
- NAT opretholder et registreret adresseringsskema, der giver fleksibel LAN-drift. Med NAT kan interne værter dele én offentlig IP-adresse for al ekstern kommunikation. Denne type konfiguration kræver meget få eksterne adresser for at understøtte mange interne værter.
- NAT øger fleksibiliteten af internetforbindelser. Flere puljer, backup-puljer og belastningsbalanceringspuljer kan implementeres for at give pålidelige offentlige netværksforbindelser.
- NAT giver sammenhæng for netværkets interne adresseringsordninger. På et netværk, der ikke bruger private IP-adresser og NAT, kræver ændring af det generelle IP-adresseskema omdirigering af alle værter på det eksisterende netværk. Omkostningerne ved værtsvideresendelse kan være betydelige. NAT tillader det eksisterende IPv4 private adresseringsskema at forblive, samtidig med at det nye offentlige adresseringsskema nemt kan ændres. Det betyder, at en organisation kan skifte udbyder og ikke behøver at skifte nogen af sine interne kunder.
- NAT giver netværkssikkerhed . Fordi private netværk ikke reklamerer for deres adresser eller interne topologi, forbliver de rimeligt pålidelige, når de bruges sammen med NAT for at få kontrolleret ekstern adgang. Du skal dog forstå, at NAT ikke erstatter firewalls.
Men NAT har nogle ulemper . Det faktum, at værter på internettet ser ud til at tale direkte til en NAT-aktiveret enhed i stedet for til en faktisk vært inde i det private netværk, skaber en række problemer:
- En af ulemperne ved at bruge NAT har at gøre med netværkets ydeevne, især for realtidsprotokoller som VoIP. NAT øger koblingsforsinkelser, fordi oversættelsen af hver IP-adresse i pakkehovederne tager tid.
- En anden ulempe ved at bruge NAT er, at ende-til-ende-adressering går tabt. Mange internetprotokoller og applikationer er afhængige af ende-til-ende-adressering fra kilde til destination. Nogle programmer virker ikke med NAT. Applikationer, der bruger fysiske adresser i stedet for et kvalificeret domænenavn, når ikke destinationer, der er oversat via en NAT-router. Dette kan nogle gange undgås ved at implementere statiske NAT-kortlægninger.
- End-to-end IPv4-sporing går også tabt. Det er sværere at spore pakker, der gennemgår flere pakkeadresseændringer over flere NAT-hop, hvilket gør fejlfinding vanskelig.
- Brugen af NAT gør også tunneling-protokoller som IPsec vanskelige, fordi NAT ændrer værdier i headere, der forstyrrer integritetstjek udført af IPsec og andre tunneling-protokoller.
- Tjenester, der kræver, at TCP-forbindelser startes fra det eksterne netværk, eller tilstandsløse protokoller, såsom dem, der bruger UDP, kan blive brudt. Hvis NAT-routeren ikke er konfigureret til at understøtte disse protokoller, kan indgående pakker ikke nå deres destination.
GO TO FULL VERSION