Om toegang te krijgen tot internet is één openbaar IP-adres nodig, maar we kunnen een privé IP-adres in ons privénetwerk gebruiken. Het idee van NAT is om meerdere apparaten toegang tot internet te geven via één openbaar adres. Om dit te bereiken is de vertaling van een privé IP-adres naar een publiek IP-adres vereist. Netwerkadresvertaling (NAT) is een proces waarbij een of meer lokale IP-adressen worden vertaald in een of meer Global IP-adressen en vice versa om internettoegang te bieden aan de lokale hosts. Het zorgt ook voor de vertaling van poortnummers, d.w.z. maskeert het poortnummer van de host met een ander poortnummer in het pakket dat naar de bestemming zal worden gerouteerd. Vervolgens worden de overeenkomstige gegevens van het IP-adres en poortnummer in de NAT-tabel ingevoerd. NAT werkt doorgaans op een router of firewall.
Network Address Translation (NAT) werkt –
Over het algemeen is de grensrouter geconfigureerd voor NAT, dat wil zeggen de router die één interface heeft in het lokale (binnen) netwerk en één interface in het globale (buiten) netwerk. Wanneer een pakket buiten het lokale (binnen) netwerk terechtkomt, converteert NAT dat lokale (privé) IP-adres naar een globaal (openbaar) IP-adres. Wanneer een pakket het lokale netwerk binnenkomt, wordt het globale (openbare) IP-adres omgezet in een lokaal (privé) IP-adres.
Als NAT geen adressen meer heeft, d.w.z. er is geen adres meer in de geconfigureerde pool, dan worden de pakketten verwijderd en wordt een onbereikbaar Internet Control Message Protocol (ICMP)-hostpakket naar de bestemming verzonden.
Waarom poortnummers maskeren?
Stel dat in een netwerk twee hosts A en B met elkaar zijn verbonden. Nu vragen ze allebei tegelijkertijd om dezelfde bestemming, op hetzelfde poortnummer, bijvoorbeeld 1000, aan de hostzijde. Als NAT alleen IP-adressen vertaalt, zullen, wanneer hun pakketten bij de NAT aankomen, beide IP-adressen worden gemaskeerd door het openbare IP-adres van het netwerk en naar de bestemming worden gestuurd. Bestemming stuurt antwoorden naar het openbare IP-adres van de router. Bij het ontvangen van een antwoord zal het voor NAT dus onduidelijk zijn welk antwoord bij welke host hoort (omdat de bronpoortnummers voor zowel A als B hetzelfde zijn). Om een dergelijk probleem te voorkomen, maskeert NAT dus ook het bronpoortnummer en maakt het een vermelding in de NAT-tabel.
NAT binnen- en buitenadressen –
Binnen verwijst naar de adressen die vertaald moeten worden. Buiten verwijst naar de adressen die niet in beheer zijn van een organisatie. Dit zijn de netwerkadressen waarin de vertaling van de adressen zal plaatsvinden.

- Inside lokaal adres – Een IP-adres dat is toegewezen aan een host op het Inside (lokale) netwerk. Het adres is waarschijnlijk geen IP-adres dat door de serviceprovider is toegewezen. Dit betekent dat dit privé-IP-adressen zijn. Dit is de interne host gezien vanuit het interne netwerk.
Intern globaal adres – IP-adres dat een of meer interne lokale IP-adressen vertegenwoordigt voor de buitenwereld. Dit is de interne host, gezien vanaf het externe netwerk.
Buiten lokaal adres – Dit is het werkelijke IP-adres van de bestemmingshost in het lokale netwerk na vertaling.
Buiten globaal adres – Dit is de externe host, gezien vanaf het externe netwerk. Het is het IP-adres van de externe bestemmingshost vóór vertaling.
Typen netwerkadresvertaling (NAT) –
Er zijn 3 manieren om NAT te configureren:
- Statische NAT – Hierbij wordt een enkel niet-geregistreerd (privé) IP-adres toegewezen aan een wettelijk geregistreerd (openbaar) IP-adres, d.w.z. een-op-een mapping tussen lokale en globale adressen. Dit wordt meestal gebruikt voor webhosting. Deze worden niet gebruikt in organisaties omdat er veel apparaten zijn die internettoegang nodig hebben en om internettoegang te bieden is een openbaar IP-adres nodig.
Stel dat als er 3000 apparaten zijn die toegang tot internet nodig hebben, de organisatie 3000 openbare adressen moet kopen, wat erg duur zal zijn.
Dynamische NAT – Bij dit type NAT wordt een niet-geregistreerd IP-adres vertaald naar een geregistreerd (openbaar) IP-adres uit een pool van openbare IP-adressen. Als het IP-adres van de pool niet vrij is, wordt het pakket verwijderd omdat slechts een vast aantal privé-IP-adressen kan worden vertaald naar openbare adressen.
Stel dat als er een pool van twee openbare IP-adressen is, er op een bepaald moment slechts twee privé-IP-adressen kunnen worden vertaald. Als het derde privé-IP-adres toegang wil krijgen tot internet, wordt het pakket verwijderd. Daarom worden veel privé-IP-adressen toegewezen aan een groep openbare IP-adressen. NAT wordt gebruikt wanneer het aantal gebruikers dat toegang tot internet wil hebben, vast is. Dit is ook erg duur omdat de organisatie veel wereldwijde IP-adressen moet kopen om een pool te maken.
Port Address Translation (PAT) – Dit wordt ook wel NAT-overbelasting genoemd. Hierin kunnen veel lokale (privé) IP-adressen worden vertaald naar één geregistreerd IP-adres. Poortnummers worden gebruikt om het verkeer te onderscheiden, dat wil zeggen welk verkeer bij welk IP-adres hoort. Dit wordt het meest gebruikt omdat het kosteneffectief is, aangezien duizenden gebruikers met internet kunnen worden verbonden door slechts één echt wereldwijd (openbaar) IP-adres te gebruiken.
Voordelen van NAT –
- NAT bewaart wettelijk geregistreerde IP-adressen.
- Het biedt privacy omdat het IP-adres van het apparaat, dat het verkeer verzendt en ontvangt, verborgen wordt.
- Elimineert adreshernummering wanneer een netwerk evolueert.
Nadeel van NAT –
- Translatie resulteert in schakelpadvertragingen.
- Bepaalde toepassingen zullen niet functioneren als NAT is ingeschakeld.
- Compliceert tunnelingprotocollen zoals IPsec.
- Omdat de router een netwerklaagapparaat is, mag hij niet knoeien met poortnummers (transportlaag), maar hij moet dit wel doen vanwege NAT.