IPv6
IPv6 (prescurtare pentru engleză Internet Protocol version 6) este un protocol de nivel internet TCP/IP (respectiv nivel rețea din Modelul OSI) pentru rețelele cu comutare de pachete, inclusiv pentru Internet. Documentul ce specifică IPv6 este RFC 4294.[1]
Istoric
[modificare | modificare sursă]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. 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 care aveau rolul de a prelungi viața lui IPv4. În plus, a fost conceput și un nou protocol, IPv6.
La începutul lui 1992 apăruseră mai multe propuneri pentru noul protocol de adresare, iar la sfârșitul aceluiași an, IETF a anunțat un apel de propuneri.[2] În septembrie 1993, IETF a creat o arie de interese temporară, numită IP generația următoare (engleză IP Next Generation, prescurtat IPng), pentru a rezolva problemele specifice IPng. Noua arie era condusă de Allison Mankin și Scott Bradner și era formată din 15 ingineri[3] proveniți din diverse firme, care aveau sarcina să seteze direcția și să realizeze versiuni preliminare ale viitoarelor standarde.[4][5]
IETF a adoptat modelul IPng pe 25 iulie 1994, prin formarea mai multor grupuri de lucru.[4] Până în 1996, IPv6 a fost definit printr-o serie de RFCuri, dintre care primul a fost RFC 1883. S-a sărit peste versiunea 5 deoarece era deja folosită de Internet Stream Protocol, un protocol experimental.
Înlocuirea adreselor IPv4
[modificare | modificare sursă]IPv4, versiunea folosită până în 2011 pe scară largă, nu mai poate scala, numărul de stații conectate la o astfel de rețea fiind limitat la 4,3 miliarde. Ultimele adrese IPv4 au fost alocate de IANA la începutul anului 2011.[6] IPv6 implică în primul rând mărirea radicală a spațiului de adrese de la 232 la 2128, dar și autoconfigurarea adresei printr-un mecanism fără stări, standardizarea dimensiunii unei subrețele și integrarea securității din protocolul IPSec.
Adresele de 128 biți care sunt folosite în IPv6 permit un număr mai mare de adrese și subrețele (spațiu suficient pentru 1015 obiective = în total 340.282.366.920.938.463.463.374.607.431.768.211.456 adrese).
IPv6 a fost proiectată pentru a oferi fiecărei rețele de pe glob mai multe adrese ce pot fi rutate în întregul Internet; adresele pot fi folosite pentru o largă varietate de dispozitive, inclusiv telefoane mobile, PDA-uri, vehicule cu suport IP, electrocasnice și multe altele. În plus față de asigurarea spațiului mai mare de adrese, IPv6 are următoarele avantaje în comparație IPv4:
- Managementul și delegarea adreselor devine mai ușoară;
- Autoconfigurarea ușoară a adreselor;
- IPsec încorporat;
- Rutare optimizată;
- Depistarea adreselor duble.
Este probabil că Internetul va folosi IPv4 și IPv6 în paralel pentru o perioadă destul de lungă.[7] Cele două protocoale nu pot comunica direct, fiind nevoie de un gateway dedicat sau de unul din mecanismele de tranziție implementate.
Caracteristicile protocolului
[modificare | modificare sursă]Jumbo frames
[modificare | modificare sursă]Câmpul de lungime din IPv6, fata de IPv4 (8 biti=1 byte=1 octet), are 16 biți, ceea ce însemna că dimensiunea pachetului este de maxim 216 - 1 = 65.535 octeți de date. Totuși, standardul IPv6 prevede existența unui antet opțional numit Jumbo Payload, care permite folosirea a maxim 232 - 1 = 4.294.967.295 octeți de date pe conexiunile care permit asemenea dimensiuni.[8]
Mobilitate
[modificare | modificare sursă]Multicast
[modificare | modificare sursă]Rutare
[modificare | modificare sursă]În IPv6, antetul pachetului și procesul de forwardare a pachetelor de către rutere au fost simplificate. Deși antetele de IPv6 sunt de 2 ori mai mari decât cele de IPv4, procesarea pachetelor este mai eficientă:[9][10]
- Antetul de IPv6 a fost simplificat prin mutarea câmpurilor rar folosite în antete de extensie opționale.
- ruterele IPv6 nu fragmentează pachetele. Gazdele cu IPv6 trebuie ori să descopere dimensiunea maximă a pachetelor acceptate de toate ruterele de pe cale, să fragmenteze pachetele la capetele transmisiunii sau să folosească un MTU de 1280 de octeți, care este minimul acceptat de protocol.
- Antetul IPv6 nu este protejat de o sumă de control, făcându-se presupunerea că integritatea datelor este asigurată atât la nivelul legătură de date, cât și la nivelul transport[11]. În acest fel, ruterele IPv6 nu trebuie să recalculeze suma de control atunci când schimbă unul din elementele pachetului.
- Câmpul TTL din IPv4 a fost redenumit în Hop Limit, deoarece ruterele nu mai trebuie să calculeze timpul petrecut de pachet în cozile dispozitivelor de rețea.
Securitate
[modificare | modificare sursă]Protocolul IPsec a fost dezvoltat inițial pentru IPv6, dar a fost mai întâi folosit pe scară largă în IPv4, în care a fost inclus ulterior. IPSec este o parte integrantă a suitei de protocoale ce formează standardul IPv6.[9] IPsec este obligatoriu în IPv6[12] dar opțional pentru IPv4.
Formatul pachetului
[modificare | modificare sursă]Adrese IPv6
[modificare | modificare sursă]Notarea adreselor
[modificare | modificare sursă]O adresă IPv6 are 128 de biți, reprezentați ca 8 grupuri de 4 cifre hexazecimale separate prin două puncte (:)
128 biți sunt reprezentați ca 8 câmpuri în sistemul hexazecimal:
2031:0000:130F:0000:0000:09C0:876A:130B ↑
Ca o abreviere, câmpurile egale cu 0 pot fi reprezentate printr-o singură cifră în loc de 4:
2031:0:130F:0:0:9C0:876A:130B ↑ ↑
De asemenea, domeniile succesive de 0 pot fi reprezentate ca două separatoare de câmp consecutive:
2031:0:130F::9C0:876A:130B ↑
Ierarhia
[modificare | modificare sursă]Nu toți biții dintr-o adresă IP sunt folosiți pentru adresarea stațiilor. O adresă IPv6 folosește primii 64 de biți din adresă pentru identificatorul rețelei, iar ceilalți 64 de biți pentru identificatorul portului (plăcii de rețea). Metoda este asemănătoare cu clasele de adrese din IPv4.
Identificatorul portului este determinat automat de către gazdă, fără niciun fel de configurare, pe baza adresei MAC a plăcii de rețea astfel[13]:
- se transformă adresa MAC (numită și EUI-48) într-un identificator EUI-64 adăugând secvența 0xFFFE între primii 3 și ultimii 3 octeți din adresă (metoda descrisă în imaginea din dreapta)
- se modifică valoarea celui de-al șaptelea bit din primul octet (bitul Universal/Local) din identificator, obținându-se ultimii 64 de biți ai adresei IPv6.
În plus față de acest identificator, RFC 3041 prevede și posibilitatea folosirii unui identificator temporar. Acesta este generat folosind o valoare istorică (aleatorie în primă fază) și următorul algoritm:
- se ia valoarea istorică și este concatenează identificatorul automat descris mai sus
- se calculează hashul MD5 pe suma de la pasul anterior
- se salvează ultimii 64 de biți ai hashului ca valoare istorică pentru următoarea adresă temporară
- se iau primii 64 de biți și se setează bitul 7 (bitul Universal/Local) pe 0, ceea ce corespunde unei adrese locale, valoarea rezultată fiind folosită ca identificator de gazdă.
Autoconfigurarea IPv6
[modificare | modificare sursă]Implementarea IPv6 utilizează una din cele două metode pentru alocarea adreselor IP la o gazdă: alocare statică (care reprezintă o gestionare complexă) sau DHCPv6 / BOOTP, care alocă în mod automat adresele IP la o gazdă, odată ce calculatorul este în rețea.
IPv6 oferă o facilitate numită autoconfigurare independentă, care este similară cu DHCP.
Spre deosebire de DHCP, această autoconfigurare nu necesită utilizarea unei cereri speciale de DHCP sau server atunci când se alocă adrese IP pentru dispozitive de rețea generice care nu au suport DHCP (cum ar fi mâini robotizate folosite în fabricație).
La utilizarea protocolului DHCP, orice interfață de pe ruter configurată cu o adresă IPv6, devine „furnizorul” de adrese IP pe rețeaua atașată.
Măsurile de protecție care împiedică duplicarea adreselor au fost înglobate în IPv6. Această caracteristică se numește Duplicate Address Detection. Cu protocolul IPv4, nimic nu împiedică ca două gazde să se conecteze la rețea cu adrese identice. Sistemele de operare sau unele programe sunt capabile să detecteze problema, dar rezultatele apar adesea imprevizibile.
Referințe
[modificare | modificare sursă]- Doherty, Jim. Cisco networking simplified / Jim Doherty, Neil Anderson, Paul Della Maggiora. -- 2nd ed. ISBN 978-1-58720-199-8 (pbk.)
Note
[modificare | modificare sursă]- ^ „RFC 4294”.
- ^ RFC 1550, IP: Next Generation (IPng) White Paper Solicitation, S. Bradner, A. Mankin (December 1993)
- ^ Membrii grupului de lucru erau J. Allard (Microsoft), Steve Bellovin (AT&T), Jim Bound (Digital Equipment Corporation), Ross Callon (Wellfleet), Brian Carpenter (CERN), Dave Clark (MIT), John Curran (NEARNET), Steve Deering (Xerox), Dino Farinacci (Cisco), Paul Francis (NTT), Eric Fleischmann (Boeing), Mark Knopper (Ameritech), Greg Minshall (Novell), Rob Ullmann (Lotus), and Lixia Zhang (Xerox).
- ^ a b RFC 1752 The Recommendation for the IP Next Generation Protocol, S. Bradner, A. Mankin, January 1995.
- ^ „History of the IPng Effort”. Arhivat din original la . Accesat în .
- ^ Roxana Cristea (). „Apocalipsa internetului - cum s-au terminat IP-urile”. Business Magazin. Accesat în .
- ^ Tim Chown (). „How IPv6 will work as IPv4 wanes”. ZDnet.co.uk. Accesat în .
- ^ RFC 2675, IPv6 Jumbograms, D. Borman, S. Deering, R. Hinden (August 1999)
- ^ a b RFC 2460 - Internet Protocol, Version 6 (IPv6) Specification
- ^ RFC 1726 - Technical Criteria for Choosing IP The Next Generation (IPng)
- ^ UDP peste IPv4 poate avea o sumă de control 0, ceea ce înseamnă că nu a fost calculată, dar când este folosit peste IPv6, UDP trebuie să aibă o sumă de control validă.
- ^ J. Loughney, Ed. (). „IPv6 Node Requirements”. Accesat în .
Security Architecture for the Internet Protocol [RFC-4301] MUST be supported.
- ^ IPv6 interface identifiers, Microsoft Technet
Vezi și
[modificare | modificare sursă]Legături externe
[modificare | modificare sursă]- en IP version 6 la Microsoft TechNet
- Standarde