IP (Internet Protocol) este un protocol care asigură un serviciu de transmitere a datelor, fără conexiune permanentă. Acesta identifică fiecare interfață logică a echipamentelor conectate printr-un număr numit „adresă IP”. Versiunea de standard folosită în majoritatea cazurilor este IPv4. În IPv4, standardul curent pentru comunicarea în Internet, adresa IP este reprezentată pe 32 de biți (de ex. 192.168.0.1).[1] Alocarea adreselor IP nu este arbitrară; ea se face de către organizații însărcinate cu distribuirea de spații de adrese. De exemplu, RIPE este responsabilă cu gestiunea spațiului de adrese atribuit Europei.

Internetul este în proces de evoluție către versiunea următoare de IP, numită IPv6, care practic așteaptă un utilizator major, care să oblige folosirea acestei versiuni superioare și de către alții. Ramurile Ministerului Apărării al SUA (DoD) au anunțat ca în decursul anilor 2009 - 2011 vor înceta relațiile cu furnizorii de servicii Internet care nu folosesc IPv6.

 
Formatul unei adrese IP în format zecimal și binar

Adresele IPv4 au o lungime de 32 de biți (4 octeți). Fiecare adresă identifică o rețea (network) și o stație de lucru (work station) din cadrul rețelei. Notația obișnuită este obținută prin scrierea fiecărui octet în formă zecimală, separați între ei prin puncte. De exemplu, 192.168.0.1(10) este notația folosită pentru adresa 11000000.10101000.00000000.00000001(2).

Clase de adrese

modificare

La începuturile Internetului, adresele IPv4 se împărțeau în 5 clase de adrese, notate de la A la E. Împărțirea se făcea în funcție de configurația binară a primului octet al adresei, astfel:

Clasa Primul octet în binar Prima adresă Ultima adresă Observații
A 0xxxxxxx 0.0.0.1 127.255.255.255 folosește 8 biți pentru rețea și 24 pentru stația de lucru
B 10xxxxxx 128.0.0.0 191.255.255.255 folosește 16 biți pentru rețea și 16 pentru stație
C 110xxxxx 192.0.0.0 223.255.255.255 folosește 24 biți pentru rețea și 8 pentru stație
D 1110xxxx 224.0.0.0 239.255.255.255 folosită pentru adresarea de tip multicast
E 1111xxxx 240.0.0.0 255.255.255.255 utilizată în scopuri experimentale

Adresele rețelelor au toți biții de stație 0 și nu pot fi folosite pentru o stație. În plus, mai există și adrese de difuzare, care au toți biții de stație 1.

Pentru identificarea stațiilor se folosesc numai adresele de clasă A până la C. În plus, există două intervale de adrese de clasă A nefolosite în Internet:

  • Intervalul 0.0.0.0 - 0.255.255.255 nu se folosește, pentru a nu fi confundat cu ruta implicită;
  • Intervalul 127.0.0.0 - 127.255.255.255 este folosit numai pentru diagnosticarea nodului local (întotdeauna acesta va fi cel care va răspunde la apelul unei adrese din aceasta clasă).

Din păcate, această metodă risipea multe adrese IP, iar odată cu răspândirea Internetului a apărut pericolul epuizării spațiului de adrese. Pentru a soluționa această problemă, la începutul anilor '90 au fost concepute mai multe soluții:

  • adrese private
  • CIDR
  • VLSM

Metodele de mai sus aveau rolul de a prelungi viața lui IPv4. În plus, a fost conceput și un nou protocol, IPv6.

Adrese private

modificare

Dispozitivele neconectate la Internet nu au nevoie de o adresă IP unică. Pentru aceste dispozitive au fost standardizate adresele private. Aceste adrese nu sunt unice la nivelul Internetului și de aceea nu sunt rutate de dispozitivele de nivel 3. În RFC 1918 au fost definite trei intervale rezervate pentru adresare privată:

  • Adrese rezervate pentru clasa A: 10.0.0.0 - 10.255.255.255
  • Adrese rezervate pentru clasa B: 172.16.0.0 - 172.31.255.255
  • Adrese rezervate pentru clasa C: 192.168.0.0 - 192.168.255.255

Nu este obligatoriu ca fiecare bloc de adrese să fie alocat unei singure rețele. De obicei, administratorul de rețea va împărți un bloc în subrețele; de exemplu, multe rutere pentru uz personal folosesc subrețeaua 192.168.0.0 - 192.168.0.255 (192.168.0.0/24).

Subrețele

modificare

Atât adresele IPv4 cât și cele IPv6 folosesc subnetarea, care constă în împărțirea adresei IP în două părți: adresa de rețea și adresa de stație. Folosind o mască de rețea, calculatorul poate determina unde să împartă adresa IP (conform standardului RFC 950).

Subnetarea a apărut ca soluție pentru problema epuizării spațiului de adrese IP. Odată cu subrețelele a apărut distincția între adresarea "classfull" (care ține cont de clasele de adrese) și adresarea "classless" (care oferă suportul pentru câmpul de subrețea).

În 1992 au fost introduse și mecanismele de rutare pentru adresarea classless. Aceste mecanisme vizau atât protocoalele de rutare (CIDR), cât și protocoalele rutate (VLSM).

VLSM (Variable Length Subnet Mask) este un procedeu care presupune precizarea unei măști de rețea pentru fiecare adresă asociată unei interfețe. Acest lucru permitea împărțirea unei clase de adrese în mai multe rețele de dimensiuni diferite, micșorând astfel irosirea de adrese IP.

De exemplu, pentru o rețea de 20 de calculatoare (stații) se puteau folosi acum doar 32 de adrese (o rețea /27), față de 256 de adrese (o rețea de clasă C, /24).

CIDR (Classless InterDomain Routing) se referă la modul de reprezentare a adreselor IP în tabela de rutare și la modul de trimitere a mesajelor de actualizare. În notația CIDR, adresa IP este reținută întotdeauna împreună cu masca de rețea. De exemplu, o adresă IP de tipul 192.0.2.1, cu masca 255.255.255.0, ar fi scrisă în notația CIDR ca 192.0.2.1/24, deoarece primii 24 de biți din adresa IP indică subrețeaua.

Faptul că în tabela de rutare este precizată și masca de rețea permite agregarea (unirea) rețelelor vecine, reducând dimensiunea tabelei de rutare. De exemplu, rețelele 192.0.2.0/24 și 192.0.3.0/24 vor fi reținute ca 192.0.2.0/23:

192.0.2.0/24 = 11000000.00000000.00000010. / 00000000
192.0.3.0/24 = 11000000.00000000.00000011. / 00000000
-----------------------------------------------------
192.0.2.0/23 = 11000000.00000000.0000001 / 0.00000000
Pentru mai multe detalii, vedeți IPv6.
 
O adresă IPv6 în binar și hexazecimal

IPv6 este un protocol dezvoltat pentru a înlocui IPv4 în Internet. Adresele au o lungime de 128 biți (16 octeți), ceea ce este considerat suficient pentru o perioadă îndelungată. Teoretic există 2128, sau aproximativ 3,403 × 1038 adrese unice. Lungimea mare a adresei permite împărțirea în blocuri de dimensiuni mari și implicit devine posibilă introducerea unor informații suplimentare de rutare în adresă.

Windows Vista, Mac OS X, toate distribuțiile moderne de Linux[2], precum și foarte multe alte sisteme de operare includ suport "nativ" pentru acest protocol. Cu toate acestea, IPv6 nu este încă folosit pe scară largă de către furnizorii de acces și servicii Internet, numiți Internet Service Providers sau ISP.

Notație

modificare

Adresele IPv6 sunt scrise de cele mai multe ori sub forma a 8 grupuri de câte 4 cifre hexazecimale, fiecare grup fiind separat de două puncte (:). De exemplu, 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 este o adresă IPv6 corectă.

Dacă unul sau mai multe din grupurile de 4 cifre este 0000, zerourile pot fi omise și înlocuite cu două semne două puncte(::). De exemplu, 2001:0db8:0000:0000:0000:0000:1428:57ab se prescurtează 2001:0db8::1428:57ab. Această prescurtare poate fi făcută o singură dată, altfel ar putea apărea confuzii cu privire la numărul de câmpuri omise. Plecând de la adresa 2001:0000:0000:ffd3:0000:0000:0000:57ab, prescurtarea 2001::ffd3::57ab ar putea să însemne 2001:0000:0000:0000:0000:ffd3:0000:57ab, 2001:0000:ffd3:0000:0000:0000:0000:57ab, sau altă combinație similară. Zerourile de la începutul unui grup pot fi de asemenea omise, ca de exemplu în adresa localhost ::1.

Toate adresele de mai jos sunt corecte și echivalente:

2001:0db8:0000:0000:0000:0000:1428:57ab
2001:0db8:0000:0000:0000::1428:57ab
2001:0db8:0:0:0:0:1428:57ab
2001:0db8:0:0::1428:57ab
2001:0db8::1428:57ab
2001:db8::1428:57ab

Ultimii 4 octeți ai unei adrese IPv6 pot fi scriși în zecimal, folosind ca separator un punct. Această notație este folosită în adresele IPv6 compatibile IPv4 (vezi mai jos). Forma generală este x:x:x:x:x:x:d.d.d.d unde x reprezintă cifre hexazecimale din primele 6 grupuri, iar d corespunde unei număr zecimal (între 0 și 255), ca și în adresele IPv4. De exemplu, ::ffff:12.34.56.78 este aceeași adresă cu ::ffff:0c22:384e și cu 0:0:0:0:0:ffff:0c22:384e. Acest mod de scriere este învechit și nu este folosit decât de unele aplicații.

Mai multe informații pot fi găsite în RFC 4291 - IP Version 6 Addressing Architecture.

Adrese de rețea

modificare

Adresele de rețea IPv6 sunt scrise folosind notația CIDR. O rețea (sau subrețea) IPv6 este un grup continuu de adrese IPv6 a cărui mărime trebuie să fie putere a lui 2; primii biți ai adreselor, identici pentru toate adresele din rețea, formează prefixul rețelei.

O rețea este reprezentată de prima adresă din rețea și de mărimea prefixului în biți, separate de "/". De exemplu, 2001:0db8:1234::/48 este rețeaua cu adresele 2001:0db8:1234:0000:0000:0000:0000:0000 până la 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff

Deoarece un calculator poate fi văzut ca o rețea cu prefixul 128, adresele sunt câteodată urmate de /128.

Adrese publice

modificare

Adrese unicast

modificare

Adresele unicast IPv6 folosite pentru adresarea pe Internet trebuie să aibă prefixul 2000::/3, adică sunt cuprinse între 2000:: și 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff.

Adrese multicast

modificare

Adrese multicast reprezinta modalitatea prin care un echipament poate trimite un mesaj catre un grup de echipamente ce se afla fie in reteaua locala, fie in alte retele. Spre deosebire de broadcast, multicast nu este suportat de toate echipamentele (in special de cele mai vechi) si depinde foarte mult de modul in care sunt configurate routerele ce fac legatura intre retele.

Deoarece mesajele multicast au o sursa si un numar nedefinit de destinatii este necesar sa se foloseasca la nivelul transport un protocol ce nu contine conexiuni. Ca si in cazul broadcast, multicast foloseste protocolul UDP cu toate avantajele si dezavantajele sale. Ca si in cazul broadcast adresa IP a mesajului broadcast nu este adresa specifica a unui echipament, ci este o adresa IP ce are o valoare speciala. Concret, este vorba de o adresa IP din clasa D. Adresele IP se impart pe clase in functie de valoarea octetului cel mai semnificativ, conform tabelului.

Clasa Valoare octet semnificativ Interval adrese IP

A 0XXXXXXX 0.0.0.0 – 127.255.255.255

B 10XXXXXX 128.0.0.0 – 191.255.255.255

C 110XXXXX 192.0.0.0 – 223.255.255.255

D 1110XXXX 224.0.0.0 – 239.255.255.255

E 1111XXXX 240.0.0.0 – 255.255.255.255

În rest, trimiterea unui mesaj multicast nu difera cu nimic fata de trimiterea unui mesaj UDP unicast(catre o singura destinatie). Intern, pe baza clasei adresei IP destinatia, sistemul determina faptul ca este vorba de un mesaj multicast si determina adresa MAC destinatie folosind urmatorul algoritm:

- Primii 3 octeti (cei mai semnificativi) ai adresei MAC destinatie au valoarea 01-00-5E

- Ultimii 3 octeti (cei mai putin seminificativi) ai adresei MAC se obtin prin aplicarea mastii 7F-FF-FF peste ultimii 3 octeti (cei mai putin semnificativi) ai adresei IP destinatie

Adrese anycast

modificare

Adrese private

modificare

Asemenea rezervărilor IPv4 pentru adrese private sau rețele interne închise, există și adrese IPv6 rezervate pentru spațiul privat de adresare. În IPv6, acestea se numesc Adrese Local Unice (engleză Unique Local Addresses - ULA). RFC 4193 rezervă prefixul fc00::/7 în acest scop, împărțindu-l în 2 spații /8 cu politici implicite diferite pentru fiecare spatiu (cfm. IPv6). Adresele includ un număr aleator de 40 de biți care minimizează riscul unei coliziuni de adrese în cazul conectării a 2 spații private sau pachetele sunt rutate greșit.

Proiectele inițiale (RFC 3513) foloseau alt bloc de adrese în acest scop (fec0::), denumite și adrese specifice unei locații. Din păcate definiția a ceea ce sunt reprezintă locațiile (engleză site) a rămas neclară și politicile de adresare prost definite creau ambiguități în algoritmul de rutare. Blocul respectiv de adrese a fost abandonat și trebuie să nu mai fie utilizat în sistemele noi.

Adresele ce încep cu fe80: - numite adrese link-local - sunt atribuite în zona local link. Adresele sunt generate automat de către nivelul IP al sistemului de operare pentru fiecare interfață de rețea. Aceasta asigură conectivitate la rețea automată și instantanee pentru orice host IPv6 și semnifică faptul că mai multe host-uri conectate la un hub sau switch comun au o cale de comunicare garantată prin adrese local-link. Această funcționalitate este utilizată extensiv și invizibil pentru majoritatea utilizatorilor, în nivelele inferioare ale administrării rețelelor IPv6 (Neighbor Discovery Protocol).

Toate prefixele atribuite adreselor private nu sunt rutate pe Internet.

Adrese locale

modificare

Adrese IPv6 mapate peste IPv4

modificare

Pentru a permite trecerea fără probleme de la IPv4 la IPv6, au fost imaginate diferite metode de alocare automată a unor adrese IPv6 plecând de la adrese IPv4:

  • ::ffff:0:0/96 — acest prefix este folosit pentru adrese IPv4 mapate.
  • 2001::/32 — folosit pentru Tunelare Teredo.
  • 2002::/16 — folosit pentru adresare 6to4.

În plus, mai exista și prefixul ::/96 (adresă cu primii 96 de biți 0). Adresele din acest spațiu erau cunoscute inițial ca „adrese compatibile IPV4" și aveau ultimii 32 de biți egali cu adresa IPv4 a gazdei. IETF a declarat acest bloc de adrese depășit prin publicarea RFC 4291. Singura utilizare a acestui prefix rămâne reprezentarea unor adrese IPv4 și Pv6 într-un același tabel sau bază de date cu coloane de dimensiune fixă.

Adrese statice și dinamice

modificare

NAT (engleză network address translation - translatarea adresei de rețea) este un procedeu prin care antetul pachetelor IP este modificat pentru a transforma adresa IP sursă sau destinație într-o alta.

În prezent, cea mai frecventă utilizare pentru NAT este maparea mai multor adrese private pe o singură adresă publică. Această utilizare este cunoscută ca PAT (engleză port address translation) sau NAPT (engleză network address port translation).

  1. ^ J. Postel, ed. (septembrie 1981). Internet Protocol, DARPA Internet Program Protocol Specification. IETF. RFC 791 .  Updated by Format:IETF RFC.
  2. ^ „Linux IPv6 Implementation”. ipv6.org. . Arhivat din original la . Accesat în . 

Vezi și

modificare

Legături externe

modificare

Organizații însărcinate cu distribuirea de spații de adrese

modificare
  • en IANA (Internet Assigned Numbers Authority)
  • en RIPE (pentru Europa, Orientul Mijlociu și părți din Africa și Asia)
  • en AfriNIC (pentru Africa)
  • en APNIC (pentru regiunea Asiei Pacifice)
  • en ARIN (pentru America de Nord, o porțiune din Caraibe și Africa Sub-Sahariană)
  • en LACNIC (pentru America Latină și regiunea Caraibelor)