5.1 Introducere în NAT

Un alt subiect foarte interesant este NAT. NAT înseamnă traducerea adresei de rețea și este de obicei prezent în fiecare router ca serviciu. Deci, ce este și de ce este nevoie?

NAT este un punct prin care rețelele locale pot fi conectate la rețele globale, cum ar fi Internetul, de exemplu.

După cum știți deja, în rețelele locale, toate computerele (și alte dispozitive conectate la rețea) au propriile lor adrese IP locale. Iar pentru a face schimb de date cu un server de pe Internet, este necesar ca computerul nostru să poată trimite o solicitare către server, iar serverul să ne poată trimite un răspuns. Și unde ar trebui să trimită un răspuns dacă adresa noastră IP este necunoscută în afara rețelei noastre locale?

Imaginează-ți că îi scrii o scrisoare pe hârtie lui Donald Trump. Trump este o persoană publică, el este singurul - acesta este serverul nostru public. Și indicați Masha ca adresă de retur în scrisoare. Pasează mult. Cărei Masha ar trebui să i se trimită răspunsul?

Așa că îi trimiți o scrisoare cunoștinței tale din Washington, de asemenea persoană publică, cu instrucțiuni stricte să i-o trimiți lui Trump. Prietenul tău primește o scrisoare, o trimite lui Trump și îi dă adresa sa din Washington ca adresă de retur.

Apoi, după ce a primit un răspuns de la Trump, cunoscutul ți-l transmite. La fel și cu pachetele IP...

Pentru a permite unui dispozitiv cu o adresă IPv4 privată să acceseze dispozitive și resurse din afara rețelei locale, adresa privată trebuie mai întâi schimbată într-o adresă publică publică.

Doar NAT traduce adresele private în cele publice. Acest lucru permite unui dispozitiv cu o adresă IP locală să acceseze resurse din afara rețelei sale private. NAT, combinat cu adrese IP locale, s-a dovedit a fi o metodă utilă de menținere a adreselor IPv4 publice.

Există 8 miliarde de oameni în lume și există deja mult mai multe dispozitive de rețea: telefoane, laptopuri, ceasuri inteligente, servere, orice dispozitive inteligente. Și există doar 4 miliarde de adrese IP. Odinioară părea mult, dar odată cu creșterea rapidă a internetului, a devenit clar pentru toată lumea că acest lucru nu era suficient.

Aici NAT vine în ajutor: o adresă IPv4 publică poate fi folosită de sute, chiar mii de dispozitive, fiecare dintre ele având o adresă IPv4 locală. NAT are avantajul suplimentar de a adăuga un grad de confidențialitate și securitate unei rețele, deoarece ascunde adresele IPv4 interne de rețelele externe.

5.2 Subrețele în NAT

Rețelele LAN sunt de obicei proiectate cu adrese IP private. Acestea sunt adrese din subrețele private 10.0.0.0/8și 172.16.0.0/12. 192.168.0.0/16Aceste adrese IP sunt folosite intern de o organizație sau site pentru a permite dispozitivelor să comunice local, nu sunt rutabile pe internet.

Routerele activate pentru NAT pot fi configurate cu una sau mai multe adrese IPv4 publice valide. Aceste adrese publice sunt numite pool NAT.

Când un dispozitiv din rețeaua internă trimite trafic din rețea către exterior, routerul compatibil NAT traduce adresa IP internă a dispozitivului în adresa IP publică din pool-ul NAT. Pentru dispozitivele externe, tot traficul din și din rețea pare să aibă o adresă IP publică.

Un router NAT funcționează de obicei la marginea unei rețele Stub. O rețea stub este un termen din teoria rețelei: o rețea stub care are o conexiune la o rețea vecină, o intrare și o ieșire din rețea.

Când un dispozitiv din interiorul rețelei Stub dorește să comunice cu un dispozitiv din afara rețelei sale, pachetul este redirecționat către router și efectuează un proces NAT, traducând adresa privată internă a dispozitivului într-o adresă publică, externă, rutabilă.

5.3 Terminologia NAT

Dacă vă aprofundați în teoria rețelelor, atunci NAT este o rețea internă, care este un set de subrețele care trebuie traduse. Rețeaua externă se referă la toate celelalte rețele.

Când se utilizează NAT, adresele IP au denumiri diferite în funcție de faptul că se află într-o rețea privată sau pe o rețea publică (pe Internet) și dacă traficul este de intrare sau de ieșire.

NAT include patru tipuri de adrese:

  • Adresă locală internă (adresă locală din interior);
  • Internal global address (Inside global address);
  • În afara adresei locale ;
  • Adresă globală externă (adresă globală externă);

Atunci când stabiliți ce tip de adresă este utilizat, este important să rețineți că terminologia NAT este întotdeauna aplicată din punctul de vedere al dispozitivului cu adresa tradusă:

  • Internal address (Inside address) - adresa dispozitivului care este tradusă prin NAT;
  • Adresă exterioară – adresa dispozitivului de destinație;
  • O adresă locală este orice adresă care apare intern în rețea;
  • O adresă globală este orice adresă care apare în exteriorul rețelei.

Să ne uităm la asta cu un exemplu de diagramă.

Computerul din imaginea din stânga are o adresă locală internă ( Inside local ) 192.168.1.5, iar din punctul său de vedere, serverul web are o adresă externă ( exterior208.141.17.4 ) . Când pachetele de date sunt trimise de la computer la adresa globală a serverului web, adresa locală internă ( Inside local ) a computerului este tradusă în 208.141.16.5( interior global ). Adresa dispozitivului extern nu este de obicei tradusă deoarece este o adresă IPv4 publică.

Este de remarcat faptul că un computer are, parcă, două adrese: adrese locale și globale, în timp ce un server web are aceeași adresă IP publică. Din punctul său de vedere, traficul care provine de la computer provine de la adresa globală internă 208.141.16.5. Un router NAT este punctul de separare între rețelele interne și externe și între adresele locale și globale.

Termenii din interior și din exterior sunt combinați cu termenii local și global pentru a se referi la adrese specifice. În figură, routerul este configurat să furnizeze NAT și are un grup de adrese publice pentru a le atribui gazdelor interne.

5.4 Calea pachetului

Dacă ești deja obosit, mergi la următoarea prelegere. Dacă încă ești interesat, atunci bine ai venit mai jos în gaura de vierme.

Figura de mai jos arată cum traficul este trimis de la un computer intern la un server web extern printr-un router compatibil NAT, trimis și retransmis înapoi.

Subrețele în NAT 3
tabelul NAT al routerului
PC server web
Insde Global În interiorul local în afara localului În afara Global
208.141.17.4 192.168.1.5 208.141.16.5 208.141.16.5

Adresă locală din interior - Adresa sursă văzută din rețeaua internă. În figură, adresa 192.168.1.5este atribuită computerului - aceasta este adresa locală internă.

Adresă globală din interior - Adresa sursă văzută din rețeaua exterioară. În figură, când traficul de la computer este trimis către serverul web la 208.141.17.4, routerul traduce adresa locală internă (adresa locală) în adresa globală internă (adresa globală din interior). În acest caz, routerul schimbă adresa sursă IPv4 de la 192.168.1.5la 208.141.16.5.

Adresă globală exterioară - adresa destinației văzută din rețeaua exterioară. Aceasta este o adresă IP rutabilă la nivel global, atribuită unei gazde pe Internet. În diagramă, serverul web este disponibil la 208.141.17.4. Cel mai adesea, adresele externe locale și externe globale sunt aceleași.

Adresă locală din afara - Adresa destinatarului văzută din rețeaua internă. În acest exemplu, computerul trimite trafic către serverul web la208.141.17.4

Acum să ne uităm la întreaga cale a pachetului. Computerul cu adresa 192.168.1.5încearcă să comunice cu serverul web 208.141.17.4. Când un pachet ajunge la un router compatibil NAT, acesta citește adresa IP de destinație a pachetului pentru a determina dacă pachetul corespunde criteriilor specificate pentru traducere. În acest exemplu, adresa sursă corespunde criteriilor și este tradusă din 192.168.1.5(În interiorul adresei locale) în 208.141.16.5(În interiorul adresei globale).

Routerul adaugă această mapare locală la adresa globală la tabelul NAT și trimite la destinație pachetul cu adresa sursă tradusă. Serverul web răspunde cu un pachet adresat adresei globale interne a PC-ului ( 208.141.16.5).

Routerul primește un pachet cu o adresă de destinație 208.141.16.5și verifică tabelul NAT pentru o intrare pentru acea mapare. Folosește aceste informații și traduce înapoi adresa globală interioară ( 208.141.16.5) la adresa locală interioară ( 192.168.1.5), pachetul este redirecționat către computer.

5.5 Avantajele și dezavantajele NAT

Serviciul NAT este o soluție foarte puternică care este folosită peste tot. NAT oferă multe beneficii, inclusiv:

  • NAT menține o schemă de adresare înregistrată, oferind funcționare LAN flexibilă. Cu NAT, gazdele interne pot partaja o adresă IP publică pentru toate comunicațiile externe. Acest tip de configurație necesită foarte puține adrese externe pentru a suporta multe gazde interne.
  • NAT crește flexibilitatea conexiunilor la Internet. Mai multe pool-uri, pool-uri de rezervă și pool-uri de echilibrare a încărcăturii pot fi implementate pentru a oferi conexiuni de rețea publică fiabile.
  • NAT oferă coerență pentru schemele de adresare internă ale rețelei. Într-o rețea care nu utilizează adrese IP private și NAT, modificarea schemei generale de adrese IP necesită redirecționarea tuturor gazdelor din rețeaua existentă. Costul redirecționării gazdei poate fi semnificativ. NAT permite ca schema de adresare privată IPv4 existentă să rămână, permițând în același timp schimbarea cu ușurință a noii scheme de adresare publică. Aceasta înseamnă că o organizație poate schimba furnizorii și nu trebuie să-și schimbe niciunul dintre clienții săi interni.
  • NAT asigură securitatea rețelei . Deoarece rețelele private nu își fac publicitate adresele sau topologia internă, ele rămân rezonabil de fiabile atunci când sunt utilizate împreună cu NAT pentru a obține acces extern controlat. Cu toate acestea, trebuie să înțelegeți că NAT nu înlocuiește firewall-urile.

Dar NAT are unele dezavantaje . Faptul că gazdele de pe internet par să vorbească direct cu un dispozitiv compatibil NAT, mai degrabă decât cu o gazdă reală din cadrul rețelei private, creează o serie de probleme:

  • Unul dintre dezavantajele utilizării NAT are de-a face cu performanța rețelei, în special pentru protocoalele în timp real, cum ar fi VoIP. NAT crește întârzierile de comutare, deoarece traducerea fiecărei adrese IP din antetele pachetelor necesită timp.
  • Un alt dezavantaj al utilizării NAT este că adresarea end-to-end este pierdută. Multe protocoale și aplicații Internet se bazează pe adresarea end-to-end de la sursă la destinație. Unele aplicații nu funcționează cu NAT. Aplicațiile care folosesc adrese fizice mai degrabă decât un nume de domeniu calificat nu reușesc să ajungă la destinații care sunt traduse printr-un router NAT. Acest lucru poate fi evitat uneori prin implementarea mapărilor NAT statice.
  • Urmărirea IPv4 de la capăt la capăt este de asemenea pierdută. Este mai dificil să urmăriți pachetele care suferă modificări multiple ale adresei de pachete prin mai multe salturi NAT, ceea ce face dificilă depanarea.
  • Utilizarea NAT face dificilă și protocoalele de tunel, cum ar fi IPsec, deoarece NAT modifică valorile din antete care interferează cu verificările de integritate efectuate de IPsec și alte protocoale de tunel.
  • Serviciile care necesită inițierea conexiunilor TCP din rețeaua externă sau protocoalele fără stat, cum ar fi cele care utilizează UDP, pot fi întrerupte. Dacă routerul NAT nu este configurat să accepte aceste protocoale, pachetele primite nu pot ajunge la destinație.