vineri, 6 ianuarie 2017

Cum arata adresele IP Publice, Private si ce Legătura are NAT cu acestea ? | Invata Retelistica #7

        In acest articol vom discuta de IP-uri, si anume care este diferenta intre o adresa IP publica si una privata, de ce este necesara o adresa IP privata si ce legatura are NAT (Network Address Translation) cu acestea. Hai sa incepem !






Cateva vorbe despre IPv4 

      Protocolul IPv4 a fost dezvoltat in anii '80 si s-a propus folosirea a 32 de biti pentru definirea unei adrese (ex: 192.168.1.1). In fiecare camp din aceste 4 pot fi alocati 8 biti:
8 biti * 4 campuri = 32 biti.
        Acum, hai sa ne gandim putin la acest numar de biti, 32. Acesta ne poate spune ceva legat de numarul maxim de adrese IP care pot fi generate: 2^32 ~= 4.2 Miliarde !  Da, ai citit bine, 4.2 miliarde de adrese IPv4... si s-au terminat.
TIP: de ce 2 ^32 ? deoarece fiecare bit poate lua valoare 0 sau 1, asadar daca avem 32 de biti vom putea genera aproximativ 4.2 miliarde de numere unice.

        In anul 2011, mai exact in vara acelui an, IANA (Internet Assigned Numbers Authority) a alocat ultimul spatiu de adrese IPv4. Asta inseamna ca nu mai putem conecta alte dispozitive la internet ? Nicidecum, de atunci si pana acum (2016) internetul a crescut foarte mult ca numar de dispozitive conectate. Iata urmatorul grafic:


       
        Dupa cum spuneam si mai devreme, numarul maxim de adrese IPv4 este de aproximativ ~4.2 Miliarde. In anul 2016 se estimeaza ca numarul total de dispozitive conectate la Internet este in jur de ~30 Miliarde, numar care depaseste cu mult limita adreselor IPv4. 
(graficul de mai sus a fost construit in 2014, datele nefiind exacte; Internetul creste mult mai repede decat si-ar fi inchipuit cineva in mod special datorita IoT - Internet of Things)

        Iata un alt grafic interesant (si acesta este mai vechi):


        O solutie temporara a acestei probleme (cresterea prea rapida a numarului de dispozitive conectate la Internet si numarul limitat de adrese IPv4) a dus la introducerea conceptului NAT (vorbim in detaliu despre acesta in partea a 2 a articolului). Acesta foloseste  adreselor IPv4 Publice si Private, despre care vom vorbi mai jos.

        O solutie, mult mai buna decat NAT, pentru problema epuizarii adreselor IPv4 este protocolul IPv6, despre care vom vorbi, mai tarziu, in articole viitoare.

IP Public vs IP Privat

        IP-urile Publice, dupa cum le spune si numele, sunt folosite pentru a comunica (tranzita) in Internet, iar cele Private sunt folosite in Retelele Locale (LAN), cum ar fi reteaua noastra de acasa.

Astfel, IP-urile Private nu vor ajunge niciodata in Internet, deoarece se foloseste un procedeu numit NAT (Network Address Translation) care "transforma" IP-urile Private in IP-uri Publice.

Clasele de IP-uri

        Dupa cum am spus si la inceputul acestui articol, fiecare camp (4 in total) al unei adrese IP poate avea orice valoarea intre 0 - 255 (8 biti/camp, deci in total 256 de valori; 2^8 = 256). Astfel, adresele IP se imparte in mai multe clase:
A 0.0.0.0 - 127.255.255.255
B 128.0.0.0 - 191.255.255.255
C 192.0.0.0 - 223.255.255.255
D 224.0.0.0 - 239.255.255.255
E 240.0.0.0 - 255.255.255.255
        Clasele A, B, C sunt cele folosite in Internet, clasa D fiind rezervata pentru Adresele de tip Multicast, iar clasa E este o clasa experimentala si nu este folosita.

Dintre aceste clase se disting urmatoarele IP-uri PRIVATE:
A 10.0.0.0 - 10.255.255.255     // cu Masca Specifica Clasei /8
B 172.16.0.0 - 172.31.255.255  // cu Masca Specifica Clasei /16
C 192.168.0.0 - 192.168.255.255 // cu Masca Specifica Clasei /24

Cum functioneaza NAT ?

        Organizatiile care "administreaza" Internetul au propus, prin conventie, adresele IP Private sa nu poata fi rutate in Internet (orice pachet cu IP-ul sursa Privat va fi aruncat !).

        Astfel toate companiile furnizoare de servicii de Internet au implementat politici de filtrare a traficului (ACL) pe baza IP-ului sursa care verifica daca un pachet are un IP este privat sau nu. In cazul in care, IP-ul sursa este privat (i.e: 10..., 172.16... sau 192.168...) atunci acesta va fi oprit si "aruncat la gunoi", transportarea lui catre destinatie nefiind permisa.

AICI intervine NAT:
Network Address Translation (NAT) mascheaza ("translateaza") un IP Privat intr-un IP Public
        Practic fara acest mecanism nu am putea accesa internetul. De NAT se ocupa Routerul (fie ca este vorba de cel al companiei tale sau a celei la care lucrezi sau ca este vorba de Routerul Wireless din sufrageriile noastre)

Tipurile de NAT

Exista mai multe tipuri de NAT printre care identificam:
  1. NAT Static
  2. NAT Dinamic
  3. PAT (Port Address Translation)

1) NAT Static

Face o mapare 1-la-1 a unui IP Privat intr-un IP Public.
PC1: 192.168.1.5 -> 93.1.8.6
        Este folosit, de obicei, in momentul in care avem un server (Web, FTP, etc.) in reteaua locala (LAN) si dorim ca resursele de pe acel server (pagina Web, Serverul de CS, un fisier, etc.) sa fie accesibile din Internet.

Exemplu: Ai creat un folder cu poze din ultima vacanta pe care doresti sa le impartasesti cu prietenii si familia ta. Te-ai gandit sa apelezi la un server web si pentru ca ai o adresa IP Public in plus de la Furnizorul de Internet, ai decis sa apelezi la NAT Static.

        Adresa IP a serverului tau este 192.168.1.5, iar cea publica este 93.1.8.6. Faci setarile pe Routerul tau de acasa (din Interfata Web - Browser) si le trimiti prieteniilor si familiei link-ul http://93.1.8.6/poze_vacanta2016, iar acestia vor putea sa iti vada cu succes pozele :)

2) NAT Dinamic

Face o mapare m-la-n a unui IP Privat intr-un IP Public, unde m nu este neaparat egal cu n.
PC1: 192.168.1.6 -> 93.1.8.7
PC2: 192.168.1.7 -> 93.1.8.8
PC3: 192.168.1.8 -> 93.1.8.9
        NAT-ul dinamic foloseste un spatiu de adrese (ex: 93.1.8.7 pana la 93.1.8.10) pe care le poate aloca cate unui singur calculator care doreste sa ajunga in Internet. Functioneaza pe principiul FIFO (primul venit, primul servit), asadar daca avem 20 de PC-uri in retea si numai 4 adrese IP publice disponibile, doar 4 din cele 20 de PC-uri vor putea ajunge (comunica) in Internet.

3) PAT (Port Address Translation)

        In cazul PAT, maparea este n-la-1. Adica, avem mai multe adrese IP Private si te "transformam" intr-o singura adresa IP Publica la care adaugam Portul Sursa al conexiunii.
PC1: 192.168.1.6:22413 -> 93.1.8.5:22413
PC2: 192.168.1.7:62459 -> 93.1.8.5:62459
PAT ascunde mai multe device-uri (cu IP Privat) in spatele unui singur IP Public.
O conexiune dintre 2 device-uri in Internet contine si urmatoarele elemente:
  • IP Sursa
  • IP Destinatie
  • Port Sursa
  • Port Destinatie
        Cand vine vorba de PAT, Routerul va folosi adresa IP Sursa (Privata) si Portul Sursa, pentru a identifica conexiunea (exact cum este ilustrat in exemplul de mai sus).
        PAT este cea mai folosita varianta de NAT, fiind configurat pe marea majoritate a Routerelor Home-Oriented (TP-Link, D-Link, Asus, Huawei, Cisco etc.).

Iti recomand sa urmaresti urmatorul clip, pentru a afla mai multe despre PAT:


Thank You 🙂

        Iti multumesc pentru atentie, si te rog sa dai un SHARE acestui articol ! De asemenea, spune-mi ce parere ai despre toate aceste concepte. Lasa un comentariu in sectiunea de mai jos.
Pentru a fi la curent cu ultimele video-uri ABONEAZA-TE la canalul de YouTube !
Conecteaza-te cu mine pe LinkedIn !

Afla mai multe Despre Mine AICIiar daca esti interesat de Citit, poti sa urmaresti aceasta postare legata de:

Niciun comentariu:

Trimiteți un comentariu