Protocolul IP este respunzator de dirijarea pachetelor de la sursa la destinatie in in retelele cu comutatie de pachete. Protocolul IP imparte un pachet primit de la stratul Transport in mai multe fragmente (datagrame) pe care le transmite in retea. La destinatie reface pachetul, chiar daca datele au ajuns pe cai diferite si la momente de timp diferite. Versiunea actual a protocolului IP este versiunea 4. Inca din 1998 se afla in dezvoltare versiunea 6 a protocolului IP, dar acesta nu este inca implementat decat in mai putin de 1% din statiile din Internet. IPv4 O adresa IPv4 este un numar pe 32 de biti. Pentru a putea memora o adresa IP mai usor, cei 32 de biti se impart in 4 grupe de 8 biti, fiecare grupa fiind transformata in zecimal, astfel adresele IP se scriu de forma a.b.c.d, unde fiecare litera poate lua valori intre 0 si 255. O adresa IP este formata din doua campuri, Net si Host. Campul Host identifica in mod unic un echipament, iar campul Net este adresa retelei din care face parte hostul. Lungimea celor doua campuri nu este constanta, ea diferind in functie de clasa din care face parte IP-ul. Numarul de statii din fiecare clasa este
2 2
Prima si ultima adresa dintr-o retea sunt rezervate. Clasa unui IP este definita de pozitia primului bit de zero din adresa. Sunt 5 clase de IPuri, dupa cum urmeaza:
Domeniul de adrese: 0.0.0.0 127.255.255.255 Numarul de retele: 27 = 128 Numarul de statii/retea: 224 2 = 16.277.214
Domeniu de adrese: 128.0.0.0 191.255.255.255 Numarul de retele: 214 = 16.384 Numarul de statii/retea: 216 2 = 65.534
Domeniu de adrese: 192.0.0.0 223.255.255.255 Numarul de retele: 221 = 2.097.152 Numarul de statii/retea: 28 2 = 254
Clasa D primul bit de zero se afla pe pozitia a patra din adresa. Aceasta clasa este o clasa speciala, folosita pentru comunicarea de tip multicast (discutata mai jos). O adresa de clasa D este de forma 1110xxxx.b.c.d, iar domeniul de adrese este 224.0.0.0 239.255.255.255.
Clasa E primul bit de zero se afla pe pozitia a cincea din adresa. Clasa E este rezervata, adresele din aceasta clasa ne fiind folosite. Forma unei adrese este 11110xxx.b.c.d, iar domeniu de adrese este 240.0.0.0 255.255.255.255 In IPv4 exista trei tipuri de adrese: Unicast Multicast Broadcast
Adresele unicast identifica in mod unic o statie din retea. Acestea sunt adresele din clasele A-C. O adresa multicast este asignata mai multor statii din retea, astfel incat un pachet trimis unei astfel de adrese este primit de toate statiile care o au. Adresa de broadcast este folosita pentru a trimite tuturor statiilor din retea un pachet. Adresa de broadcast a unei retele este adresa care are toti bitii Host egali cu 1. Adresa retelei este adresa care are toti bitii Net egali cu 1. Asa se explica formula de calcul a numarului de statii dintr-o retea. Deoarece numarul de IP-uri este limitat, s-au rezervat anumite adrese IP pentru utilizare private. O statie care are oa dresa privata nu poate comunica in Internet, decat daca o alta statie (gateway sau proxy) transmite datele in numele sau. Adresele private (sau neroutabile) sunt: Clasa A: 10.0.0.0 10.255.255.255 (o retea, 16.277.214 adrese) Clasa B: 172.16.0.0 172.31.255.255 (16 retele, 65.534 adrese/retea) Clasa C: 192.168.0.0 192.168.255.255 (256 de retele, 254 adrese/retea)
Pentru a optimiza distributia adreselor IP, s-a introdus conceptul de subretea. Pentru a crea o subretea, se imprumuta o parte din bitii din campul Host pentru campul (sub)Net. Acest lucru se realizeaza cu ajutorul unei masti de subretea (subnet mask). O masca de subretea este tot un numar pe 32 de biti. Numarul de biti de 1 din masca de subretea reprezinta numarul bitilor din campul (sub)Net, iar cei de zero numarul bititlor din campul Host. In fiecare din cele 3 clase de IP-uri unicast exista o masca implicita, care nu imprumuta niciun bit din campul Host. O masca de subretea trebuie sa aiba cel putin atati biti de 1 cati care masca implicita. Mastile implicite sunt:
Avand o adresa IP si masca de subretea, se poate calcula adresa (sub)retelei din care face parte si adresa de broadcast a retelei respective, prin operatia de SI logic intre adresa si masca. Problema: Calculati adresa retelei si adresa de broadcast pentru IP-ul 192.168.2.165 si amsca 255.255.255.192. Cate statii sunt in acea (sub)retea? Rezolvare: 192.168.2.165 = 11000000.10101000.00000010.101001012 255.255.255.192 = 11111111.11111111.11111111.110000002 Facand SI logic intre IP si masca, obtinem: 11000000.10101000.00000010.100000002 = 192.168.2.128 Dupa cum se poate observa mai sus, s-au imprumutat doi biti pentru retea din campul Host. Pentru a afla adresa de broadcast, se forteaza in 1 ultimii 6 biti din adresa: 11000000.10101000.00000010.101111112 = 192.168.2.191 Numarul de statii din aceasta (sub)retea este 26 2 = 62. IP-ul si masca de mai sus mai pot fi scrise si sub forma 192.168.2.165/26, unde 26 este numarul de biti alocati pentru (sub)retea.
IPv6 In versiunea 6 a protocolului IP adresele sunt pe 128 de biti, asigurand suficiente adrese pentru viitor. Reprezentarea unei adrese IPv6 se face sub forma a 8 grupuri de cate 4 cifre hexa separate de : - 2001:abcd:1234:0000:0000:8a2e:0000:6666. Unul sau mai multe grupuri de zero pot fi inlocuite de ::, o singura data in corpul adresei. Adresa de mai sus poate fi scrisa si 2001:abcd:1234::8a2e:0000:6666 sau 2001:abcd:1234:0000:0000:8a2e::6666.
In IPv6 dispare conceptul de broadcast, tipurile de adrese fiind: Unicast Multicast Anycast
Adresele unicast si multicast sunt folosite in acelasi scop ca si adresele corespondente din versiunea 4. Mecanismul anycast asigneaza aceeasi adresa (din spatiul de adrese unicast) mai multor statii. Un pachet trimis catre o adresa anycast ajunge la o sigura statie, de obicei la cea mai apropiata (in termeni de routare nu ca enitatie fizica) de emitator.