mp2_modele de referinţă osi_tcpip stanica giovanna

15
Internet Protocol (IP) Internet Protocol (IP).html[18.10.2015 21:58:38] Internet Protocol (IP) Cuprinsul capitolului Adresa IP Formatul zecimal al adresei IP Formatul binar al adresei IP Clase de adrese IP : Clasa A , Clasa B , Clasa C , Clasa D , Clasa E . Adrese IP speciale : toti bitii 0, toti bitii 1, loopback. Subretele IP Masca de subretea Un bun obicei Tipuri de subretele : Statice, cu Lungime variabila si Mixte. Rutarea IP Rutarea directa Rutarea indirecta Metode de livrare: Uni-, Broad-, Multi- si Anycast Broadcast Multicast Anycast Intraneturi (Adrese IP Private) Datagramele IP Formatul datagramei IP IP este un protocol standard cu numarul 5: STD 5. Aceste standard mai include ICMP (Internet Control Message Protocol) si IGMP (Internet Group Management Protocol). Statutul sau este necesar. Specificatiile curente ale IP pot fi gasite in RFC-urile 791, 950, 919 si 922, actualizari in RFC 1349. IP este protocolul care ascunde detaliile referitoare la reteaua fizica prin crearea unei imagini de retea virtuala. Este un protocol pentru livrarea pachetelor nesigur, best-effort si fara conexiune. De retinut ca best-effort inseamna ca pachetele trimise de IP pot fi pierdute, duplicate sau neordonate, dar IP nu va rezolva aceste situatii. Revine in sarcina protocolalelor superioare sa rezolve aceste situatii. Unul dintre motivele utilizarii unui protocol fara conexiune a fost minimalizarea dependentei de centre de calcul specifice care utilizeaza retele ierarhizate orientate pe conexiune. DoD (U.S. Department of Defense) a intentionat sa dezvolte o retea care sa functioneze chiar si atunci cand unele parti ale tarii ar fi fost distruse. In timpul cutremurelor de pamant, acesta intentie si-a dovedit existenta reala in Internet. Adresa IP Formatul zecimal al adresei IP Adresa IP este reprezentate printr-un numar intreg fara semn pe 32 de biti (patru octeti) care este de regula scrisa sub forma unei liste de patru intregi fara semn (cate unul pentru fiecare octet) separate prin puncte. Acest format se numeste formatul zecimal al adresei IP. De exemplu, 9.167.5.8 este o adresa valida de Internet. Forma numerica este utilizata de catre softul IP. Corespondenta dintre

Upload: ionbacunov

Post on 21-Feb-2016

217 views

Category:

Documents


0 download

DESCRIPTION

Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

TRANSCRIPT

Page 1: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

Internet Protocol (IP)

Cuprinsul capitolului

Adresa IP Formatul zecimal al adresei IP Formatul binar al adresei IP Clase de adrese IP: Clasa A, Clasa B, Clasa C, Clasa D, Clasa E. Adrese IP speciale: toti bitii 0, toti bitii 1, loopback. Subretele IP Masca de subretea Un bun obicei Tipuri de subretele: Statice, cu Lungime variabila si Mixte. Rutarea IP Rutarea directa Rutarea indirecta Metode de livrare: Uni-, Broad-, Multi- si Anycast Broadcast Multicast Anycast Intraneturi (Adrese IP Private) Datagramele IP Formatul datagramei IP

IP este un protocol standard cu numarul 5: STD 5. Aceste standard mai include ICMP (Internet Control Message Protocol) si IGMP (Internet Group Management Protocol). Statutul sau este necesar. Specificatiile curente ale IP pot fi gasite in RFC-urile 791, 950, 919 si 922, actualizari in RFC 1349.

IP este protocolul care ascunde detaliile referitoare la reteaua fizica prin crearea unei imagini de retea virtuala. Este un protocol pentru livrarea pachetelor nesigur, best-effort si fara conexiune. De retinut ca best-effort inseamna ca pachetele trimise de IP pot fi pierdute, duplicate sau neordonate, dar IP nu va rezolva aceste situatii. Revine in sarcina protocolalelor superioare sa rezolve aceste situatii.

Unul dintre motivele utilizarii unui protocol fara conexiune a fost minimalizarea dependentei de centre de calcul specifice care utilizeaza retele ierarhizate orientate pe conexiune. DoD (U.S. Department of Defense) a intentionat sa dezvolte o retea care sa functioneze chiar si atunci cand unele parti ale tarii ar fi fost distruse. In timpul cutremurelor de pamant, acesta intentie si-a dovedit existenta reala in Internet.

Adresa IP

Formatul zecimal al adresei IP

Adresa IP este reprezentate printr-un numar intreg fara semn pe 32 de biti (patru octeti) care este de regula scrisa sub forma unei liste de patru intregi fara semn (cate unul pentru fiecare octet) separate prin puncte. Acest format se numeste formatul zecimal al adresei IP. De exemplu, 9.167.5.8 este o adresa valida de Internet. Forma numerica este utilizata de catre softul IP. Corespondenta dintre

Page 2: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

adresele IP si numele simbolic usor-de-citit, de exemplu myhost.hyperion.ro, este facuta de catre DNS (Domain Name System).

Modul de standardizare al adreselor IP este descris in RFC 1166 – Internet Numbers. Pentru ca un calculator sa fie identificabil pe Internet, este necesar ca lui sa-i fie atribuita o adresa, adresa IP sau adresa de Internet. Atunci cand un calculator este atasat la mai mult de o retea, el se numeste multi-homed si are cate o adresa IP pentru fiecare interfata de retea.

Adresele IP constau dintr-o pereche de numere:

adresa IP= <numar retea><numar gazda>

Numarul retelei parte a adresei IP este central administrat de catre InterNIC (Internet Network Information Center) si este unic pe tot Internet.

Spre exemplu adresa IP 128.2.7.9 are numarul de retea 128.2, 7.9 fiind adresa calculatorului gazda. Regulile folosite pentru a imparti o adresa IP in partea de retea si parte ade gazda sunt descrise in continuare.

Formatul binar al adresei IP

Formatul binar al adresei IP 128.2.7.9 este:

10000000 00000010 00000111 00001001

Adresele IP sunt folosite de catre protocolul IP pentru a identifica in mod unic un calculator pe Internet. (Strict vorbind, o adresa IP identifica o interfata care este capabila sa trimita datagrame IP, iar un sistem poate avea mai multe astfel de interfete. Totusi, Atat gazdele cat si ruterele pot avea cel putin o adresa IP, astfel incat aceasta definitie simplificata este acceptabila). Datagramele IP (Pachetele de date schimbate intre calculatoare) sunt transmise printr-o retea fizica la care este atasata interfata calculatorului gazda si fiecare datagrama IP contine adresa IP sursa si o adresa IP destinatie. Pentru a trimite o datagrama catre o anumita destinatie IP, adresa IP tinta trebuie trandusa (mapata) intr-o adresa fizica. Aceasta poate necesita transmisii prin retea pentru a afla adresa de retea fizica a calculatorului destinatie. Spre exemplu, pe LAN-uri (Local Area Networks) ARP (Address Resolution Protocol) este folosit pentru a traduce adresele IP in adrese fizice MAC (Media Access Control). Primii biti ai unei adrese IP specifica modul cum restul adresei trebuie separata in partea de retea si partea de gazda. Termenul adresa de retea si netID sunt uneori utilizate in loc de numar de retea, dar termenul formal, utilizat in RFC 1166, este numarul de retea (network number). Analog, termenul adresa de gazda (host address) si hostID sunt uneori folosite in locul numarului de gazda.

Clase de adrese IP

Exista cinci clase de adrese IP. Aceste sunt prezentate in figura urmatoare.

Page 3: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

Clasa A de adrese foloseste 7 biti pentru <retea> si 24 biti pentru partea <host> a adresei IP. Aceasta asigura 27-2 (126) retele cu 224-2 (16777214) calculatoare host fiecare. In total un numar de peste 2 miliarde de adrese. Clasa B de adrese foloseste 14 biti pentru <retea> si 16 biti pentru partea <host> a adresei IP. Aceasta asigura 214-2 (16382) retele cu 216-2 (65534) calculatoare host fiecare. In total un numar de peste 1 miliard de adrese. Clasa C de adrese foloseste 21 biti pentru <retea> si 8 biti pentru partea <host> a adresei IP. Aceasta asigura 221-2 (2097150) retele cu 28-2 (254) calculatoare host fiecare. In total un numar de peste jumatate de miliard de adrese. Clasa D de adrese este rezervata pentru multicasting un fel de difuzare - broadcasting - dar pe arie limitata si numai gazdelor care folosesc aceeasi clasa D de adrese). Clasa E de adrese este rezervata pentru dezvoltari ulterioare

In mod evident, clasa A va fi atribuita retelelor cu numar imens de gazde, iar clasa C de adrese este indicat sa fie utilizata pentru retele cu numar mic de calculatoare host. In ceea ce priveste retelele de dimensiuni medii (acelea cu mai mult de 254 calculatoare sau acele retele unde se asteapta sa fie mai mult de 254 calculatoare in viitor) trebuie sa utilizeze clasa B de adrese. Numarul de retele mici si medii a crescut foarte repede in ultimii ani si a aparut teama ca, daca lucrurile vor continua asa, toate adresele de retea din clasa B vor fi ocupate pana la mijlocul anilor 1990. Acest fapt este cunoscut drept problema epuizarii adreselor IP.

Se poate observa aici ca impartirea adreselor IP in doua parti conduce la impartirea responsabilitatii privind alegerea adreselor de retea in doua parti. NUmarul de retea este atribuit de catre InterNIC, iar numerele host de catre autoritatea care controleaza reteaua. Dupa cum se va vedea in sectiunea urmatoare, partea de adrese host poate fi de asemenea subdivizata: aceasta impartire fiind controlata de autoritatea care detine reteaua si nu de catre InterNIC.

Adrese IP speciale

Page 4: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

Oricare dintre numerele ce compun o adresa IP (numarul de retea si numarul de host) care are toti bitii 0 sau toti bitii 1 are un semnificatie speciala:

toti bitii 0 inseamna fie aceasta retea (adresa IP cu netID = 0) fie acest host (adresa IP cu hostIP = 0). Cand un calculator vrea sa comunice intr-o retea, dar nu cunoaste numarul retelei el poate trimite un pachet cu numarul de retea 0. Celelalte calculatoare din retea vor interpreta adresa ca insemnand aceasta retea, iar raspunsul lor va contine adresa IP completate cu numarul retelei, pe care calculatorul emitent o va inregistra pentru a o folosi in viitor.toti bitii 1 inseamna toate retelele sau toate host-urile. Spre exemplu, urmatoarea adresa semnifica toate calculatoarele din reteaua 128.2 (de clasa B): 128.2.255.255 Aceste mod de adresare se numeste adresare broadcast directa din cauza ca are o adresa de retea valida si un numar host de broadcast.Loopback. Reteaua de Clasa A 127.0.0.0 este reteaua loopback. In faza de inceput a dezvoltarii retelelor sistemele de operare Unix foloseau adrese din acest spatiu cu rolul de retea loopback. Adresele din aceasta retea nu acceseaza nici o retea fizica. Ele sunt desemnate sa interfateze comunicarea datelor in sistemul local (loopback interfaces).

Subretele IP

Datorita cresterii explozive a Internetului, principiul atribuirii adreselor devenise prea inflexibil pentru a permite schimbari usoare ale configuratiei retelei locale. Necesitatea acestor modificari poate apare atunci cand:

Se instaleaza un nou tip de retea fizica.cresterea numarului de hosturi necesita subimpartirea retelei in doua sau mai multe retele separate.Cresterea distantei necesita separarea retelei in retele mai mici, folosind calculatoare gateway intre ele.

Pentru evitarea cererii de adrese IP suplimentare in aceste situatii conceptul de subretele a fost introdus. Impartirea in subretele poate fi facuta sub autoritatea locala, deoarece intreaga retea este in continuare vazuta ca o singura retea de catre celelalte retele.

Partea ce reprezinta numarul host al unei adrese IP este subdivizat din nou intr-un numar de subretea (subnetID) si un numar host (hostID). Astfel adresa completa IP este divizata in:

[ netID ] [ subnetID ] [ hostID ]

Combinatia [ subnetID ] [ hostID ]este adesea numita adresa locala sau parte locala a adresei IP.

Subretelele sunt implementate intr-un mod care este transparent retelelor indepartate. Un host dintr-o retea care are subretele detine toata informatia care ii este necesara despre subreteau sa, in timp ce un host din alta retea nu are nevoie sa cunoasca aceasta informatie (si lui ii este suficienta cunoasterea detaliilor referitoare la subreteaua lui) si nu are acces la aceasta informatie. El vede in continuare calculatoarele din prima retea ca facand parte dintr-o unica retea si priveste partea locala a adresei IP ca pe un numar host.

Page 5: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

Impartirea partii locale a adresei IP in numar de subretea si numar host poate fi aleasa fara restrictii de administratorul local, orice bit al partii locale poate fi folosit pentru a forma o subretea.

Masca de subretea

Impartirea este facuta folosind o masca de subretea care este un numar de 32 biti.

Bitii 0 din masca de subretea indica bitii care fac parte din numarul de host, in timp ceBitii 1 sunt atribuiti numarului de subretea.

Bitii din masca de subretea corespunzatori numarului de retea sunt setati la 1 si nu sunt utilizati. Mastile de subretea sunt de regula scrise ca si adresele IP: fiecare octet este scris in baza zece, octetii fiind separati prin puncte.

Spre exemplu, o retea de clasa B cu subretele, care are o parte locala de 16 biti, poate folosi una dintre urmatoarele scheme:

Primul octet (al partii locale) este numarul subretelei iar al doilea octet este numarul host. Astfel sunt posibile 28-2 subretele (mai exact 254 deoarece valorile 0 si 255 sunt rezervate), fiecare avand pana la 28-2 (254) hosturi. Masca de subretea se alege in acest caz 255.255.255.0.Primii 12 biti sunt utilizati pentru numarul de subretea si ultimii 4 pentru numarul host. In acest caz sunt posibile 212-2 (4094) subretele fiecare cu 24-2 (14) hosturi. Masca de subretea se alege acum 255.255.255.240.

Exista desigur multe alte posibilitati. De fapt, numarul de subretele si hosturi si necesitatile viitoare trebuie luate in considerare inainte de a defini o subretea. In exemplul anterior pentru o retea de clasa B cu subretele raman 16 biti pentru numarul de subretea si numarul de host. Administratorul are de ales intre definirea unui numar mare de subretele cu numar mic de hosturi sau un numar mic de subretele cu multe gazde.

Un bun obicei

In ceea ce priveste alegerea bitilor alocati numarului de subretea este un bun obicei ca o zona continua dintre cei mai semnificativi biti sa formeze numarul de subretea restul (iarasi o zona continua) fiind atribuiti numarului host. In acest mod se evita surprizele care pot apare datorita modurilor diferite de implementare al suitei TCP/IP, deoarece nu toate aceste implementari sunt flexibile in ceea ce priveste selectia bitilor pentru cele doua subzone ale partii locale a unei adrese IP.

Tipuri de subretele

Exista doua tipuri de subretele: statice si cu lungime variabila. Subretelele cu lungime variabila sunt cele mai flexibile dintre cele doua tipuri. Ce tip de subretea se alege depinde de protocolul de rutare utilizat. In mod natural rutarea IP suporta numai subretele statice datorita largii utilizari a protocolului RIP. Mai nou, versiunea 2-a a RIP suporta si subretele cu lungime variabila.

Subretele statice: in acest caz toate subretelele folosesc aceeasi masca de subretea. O astfel de organizare este usor de implementat si usor de intretinut. Ea insa nu foloseste eficient spatiul de

Page 6: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

adresare si este dificil de reorganizat.Subretelele cu lungime variabila: in acest caz subretelele pot folosi masti de subretea de lungimi diferite, Pot coexista astfel subretele mici si subretele mari. Se foloseste astfel mult mai eficient spatiul de adresare. Ierarhizarea este posibila deoarece o subretea poate fi la randul ei divizata in alte subretele. In acest mod reteaua poate urmarii indeaproape structura de organizare a organizatiei care detine reteaua. De retinut ca nu orice host si ruter suporta subretele de lungime variabila.Subretele mixte: La prima vedere acest lucru pare imposibil. Din fericire nu est asa. Presupunand ca ruterele dintre subretele cu masti de subretea diferite suporta subretelele de lungime variabila, atunci protocoalele de rutare folosite sunt capabile sa ascunda diferentele dintre mastile de retea ale calculatoarelor host din subretele diferite. In acest fel, hosturile pot utiliza in continuare protocoale statice, ruterelor revenindu-le sarcina de a realiza structura de subretea mixta care se constituie astfel.

Rutarea IP

O functie foarte importanta a stratului IP este rutarea. Ea furnizeaza mecanismul de baza pentru ca ruterele sa poata interconecta retele fizice diferite. Aceasta inseamna ca un host poate functiona simultan ca un host obisnuit si ca ruter.

Un ruter de acest tip este cunoscut drept un ruter cu informatie de rutare partiala, deoarece ruterul are doar informatii despre patru tipuri de destinatii:

1. Calculatoare host care sunt direct atasate uneia dintre retelele fizice la care ruterul este atasat.2. Calculatoare host sau retele pentru care ruterul dispune de definitii explicite.3. Calculatoare host sau retele pentru care ruterul a primit un mesaj ICMP de redirectare.4. O destinatie precizata (default) pentru orice altceva.

Ultimele doua destinatii permit unui ruter simplu (care detine o foarte mica cantitate de informatie la inceput) sa-si creasca aceasta informatie.

Rutarea Directa

Daca calculatorul host destinatie este atasat unei retele fizice la care este de asemenea atasat si calculatorul sursa, o datagrama IP poate fi trimisa direct, prin incapsularea ei intr-un cadru de retea fizica (physical network frame). Modul acesta de livrare directa se numeste rutare directa.

Rutarea Indirecta

Rutarea indirecta apare atunci cand calculatorul host destinatie nu se afla in aceeasi retea cu calculatorul host sursa. Singurul mod in care informatia poate ajunge la destinatie este via unul sau mai multe gateway-uri IP. De retinut ca in terminologia TCP/IP, termenii gateway si ruter sunt interschimbabili pentru un sistem care executa sarcinile unui ruter.

Adresa primului dintre aceste gateway-uri (primul hop) se numeste o ruta indirecta in contextul algoritmului de rutare IP. Adresa primului gateway este singura informatie necesara calculatorului host sursa.

Page 7: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

In anumite cazuri exista mai multe subretele definite in aceeasi retea. Chiar daca calculatorul host este in aceeasi retea cu calculatorul host sursa, daca ele sunt in diferite subretele, atunci mecanismul rutarii indirecte este folosit. Astfel, apare necesitatea unui ruter care sa directioneze traficul intre subretele.

In figura de mai sus calculatorul C are rute directe catre calculatoarele B si D, si o ruta indirecta catre calculatorul A via gateway-ul B.

Metode de livrare: Uni-, Broad-, Multi- si Anycast

Majoritatea adreselor IP se refera la un singur recipient destinatie, numite de aceea adrese unicast. Conexiunile Unicast sunt conexiuni unu-la-unu. In afara acestor conexiuni mai exista trei alte tipuri de adrese IP speciale catre recipienti multipli. Ele sunt: adrese broadcast, multicast si anycast.

Dupa cum se observa in figura urmatoare, un broadcast se adreseaza tuturor, multicast numai catorva si anycast numai unui calculator specific disponibil.

Page 8: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

Orice protocol care este fara conexiune poate trimite mesaje broadcast, multicast sau anycast precum si mesaje unicast. Un protocol care este orientat pe conexiune poate folosi numai adrese unicast deoarece conexiunea exista numai intre doua calculatoare.

Broadcast

Exista un numar de adrese care sunt utilizate pentru broadcast IP. Toate utilizeaza conventia ca toti bitii 1 indica catre toti. Adresele broadcast nu sunt niciodata valide ca adrese sursa, ci numai ca adrese destinatie. Diferitele tipuri de adrese broadcast sunt listate in continuare:

Adresa broadcast limitata

Adresa 255.255.255.255 este utilizata in retele care suporta broadcastul, precum LAN-urile, si se refera la toate calculatoarele din subretea. Nu necesita ca hostul sa cunoasca vreo informatie despre configurarea IP. Toate calculatoarele din reteaua locala vor recunoaste adresa, dar ruterele nu vor trimite niciodata mai departe aceste mesaje. Exista o singura exceptie de al aceasta regula, numita BOOTP forwarding. Protocolul BOOTP utilizeaza adresa broadcast limitata pentru a permita statiilor de lucru fara disk sa contacteze un server de boot. BOOTP forwarding este o optiune de configurare disponibila pe anumite rutere de a face o exceptie pentru datagramele UDP pentru portul 67 (utilizat de protocolul BOOTP). Fara aceasta facilitate, fiecare subretea ar trebui dotata cu un server BOOTP. Totusi, acesta nu este un simplu forwarding (transmitere mai departe) deoarece ruterul are si alt rol in protocolul BOOTP.

Adrese broadcast pentru o retea specificata (Network-Directed Broadcast Address)

Daca numarul de retea este un numar de retea valabil, reteaua nu este divizata in subretele si bitii numarului host sunt toti 1 (de exemplu, 128.2.255.255), atunci adresa se refera la toate calculatoarele din reteaua specificata. Ruterele trebuie sa trimita mai departe aceste mesaje broadcast cu exceptia

Page 9: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

situatiei cand sunt configurate altfel. Acest tip de adresa este utilizat in cererile ARP in retele subdivizate.

Adrese broadcast pentru o subretea specificata (Subnet-Directed Broadcast Address)

Daca numarul de retea este un numar valabil de retea, numarul de sub retea este un numar de subretea valabil si bitii numarului host sunt toti 1, atunci adresa se refera la toate calculatoarele host din subreteaua specificata. Deoarece subreteaua emitentului si subreteaua destinatie pot avea diferite masti de subretea, emitentul trebuie, intr-un mod oarecare, sa afle masca de subretea in uz la destinatie. Broadcastul efectiv este efectuat de catre ruterul care primeste datagrama in subretea.

Adresa broadcast pentru toate subretelele (All-Subnets-Directed Broadcast Address)

Daca numarul de retea este un numar de retea valabil, reteaua este subdivizata si bitii partii locale sunt toti 1 (de exemplu, 128.2.255.255), atunci adresa se refera la toate subretele retelei specificate. In principiu ruterele pot transmite mesaje broadcast pentru toate subretelele dar nu este necesar sa faca asa. In practica, ele nu o fac.

Exista cateva circumstante in care astfel de broadcast ar fi dezirabil, si el poate conduce la probleme, in particular daca un calculator host a fost incorect configurat fara masca de subretea. Luati in considerare resursele irosite implicate daca un calculator cu adresa IP 9.180.214.114 dintr-o reta de clasa A subdivizata considera ce reteaua nu a fost divizata si utilizeaza 9.255.255.255 drept adresa broadcast in loc de adresa 9.180.214.255 si toate ruterele din reteaua respectiva respecta cererea de a trimite mai departe cererea catre toti clientii. Daca ruterele trebuie sa respecte adresele broadcast pentru toate subretelele, ele folosesc un algoritm numit reverse path forwarding pentru a impiedica multiplicarea la nesfarsit a mesajelor broadcast (vezi RFC 922 pentru detalii referitor la acest algoritm).

Multicast

Broadcastul are un major dezavantaj: lipsa sa de selectivitate. Daca o datagrama IP este difuzata unei subretele, fiecare calculator gazda il va primi si va trebui sa-l proceseze pentru a determina daca protocolul tinta este activ. Daca nu este, datagrama IP este inlaturata. Multicastul evita aceasta supraincarcare prin utilizarea grupurilor de adrese IP.

Fiecare grup este reprezentat printr-un numar de 28 de biti, care este cuprins intr-o clasa D de adrese. Astfel adresele grupului multicast sunt adrese IP in gama de la 224.0.0.0 la 239.255.255.255. Pentru fiecare adresa multicast exista un set de zero sau mai multe calculatoare host care il asculta. Acest set se numeste host group. Calculatoarele host nu necesita configurare speciala pentru a fi membre ale unui astfel de grup. Pachetele care sunt trimise unei adrese multicast, sunt trimise numai membrilor acelui grup. Astfel multicastul face posibila stabilirea unei conexiuni unul-la-cativa.

Anycast

Uneori, aceleasi servicii IP sunt furnizate de servere diferite. Spre exemplu, un utilizator doreste sa descarce un fisier via FTP si fisierul este disponibil pe diferite servere FTP. Dar utilizatorul nu cunoaste care este conexiunea cea mai rapida. Astfel este posibil ca conexiunea cu serverul de la care face descarcarea fisierului sa fie mai lenta decat celelalte.

Page 10: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

Calculatoarele host care furnizeaza acelasi serviciu IP pot servi o adresa anycast pentru alte calculatoare care pot solicita serviciul. Conexiunea este facuta cu primul calculator host din grupul de adrese anycast care raspunde. Acest proces garanteaza ca serviciul este asigurat de catre hostul care are cea mai buna conexiune cu clientul. Serviciul anycast va face parte din IPV6.

Intraneturi (Adrese IP Private)

Un al mod de abordare pentru conservarea spatiului de adrese IP este descris in RFC 1918 — Address Allocation for Private Internets. Pe scurt, el relaxeaza regula ca adresele IP sunt unice la nivel global prin rezervarea uni parti din spatiul de adrese pentru retele care sunt utilizate exclusiv in interiorul unei singure organizatii si care nu necesita conectivitate IP la Internet. Exista trei game de drese care au fost rezervate de IANA pentru acest scop:

O singura retea din Clasa A: 10.*.*.* 16 clase B: de la 172.16 pana la 172.31256 clase C: de la 192.168.0 pana la 192.168.255

Orice organizatie poate utiliza orice adrese in aceste game fara nici un fel de autorizare. Totusi, deoarece aceste adrese nu sunt unice global, ele nu pot fi referite de gazde din alte organizatii si nu sunt definite nici unui ruter extern. Ruterele din retele care nu utilizeaza adrese private, in particular acele operate de ISP-uri (Internet service providers), vor filtra tacit toate informatiile privind aceste adrese.

Ruterele dintr-o organizatie care utilizeaza adrese private este de asteptat sa limiteze referirile la adrese private numai la legaturi interne. Ele nu trebuie nici sa faca cunoscute rute catre adresele private ruterelor externe si nici sa trimita mai departe catre ruterele externe datagramele ce contin adrese private. Hosturile care au numai adrese IP private nu au stratul IP de conectare la Internet. Aceasta poate fi dezirabil si poate chiar fi un motiv pentru utilizarea adresarii private. Toate conectarile cu calculatoare externe din Internet trebuie asigurate aplicatii gateway (Proxy-uri).

Datagramele IP

Unitatea de transfer a unui pachet de date in TCP/IP se numeste datagrama IP. Ea este formata dintr-un antet (ce contine informatii pentru IP) si datele propriuzise (singura partea a datagramei IP relevanta protocoalelor de nivel mai mare).

Page 11: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

IP poate controla fragmentarea si reasamblarea datagramelor IP. Lungimea maxima a unei datagrame IP este 65,535 octeti. Exista de asemenea o cerinta pentru toate calculatoarele host sa suporte datagrame IP de pana la 576 octeti fara fragmentare. Toate fragmentele unei datagrame au doua parti: antet (practic copiat din datagrama originala) si date. Ele sunt tratate ca datagrame normale in timp ce sunt transportate la destinatie. De notat totusi, ca daca unul dintre fragmente se pierde, toata datagrama este considerata pierduta deoarece IP nu asigura nici un mecanism de recunoastere, astfel incat restul fragmentelor sunt inlaturate de catre calculatorul destinatie.

Formatul datagramei IP

Antetul datagramei IP are o lungime de cel putin 20 octeti:

Page 12: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

Unde:

VERS: versiunea protocolului IP

HLEN: lungimea antetului numarata in unitati de 32 de biti. Acesta nu include campul de date.

Tipul serviciului: este o indicatie a calitati serviciului cerut pentru datagrama IP. Structura octetului acestui camp este schitata in figura urmatoare

unde:

precedenta: este o masura a naturii si prioritatii acestei datagrame:

000 Rutina 001 Prioritar 010 Imediat 011 Flash 100 Flash override 101 Critical 110 Sontrol Internetwork 111 Sontrol Network

TOS: specifica valoarea tipului de serviciu:

1000 - Intarziere minima 0100 - Debit maxim 0010 - Siguranta maxima 0001 - Cost monetar minim 0000 - Serviciu normal

MBZ: Rezervat pentru utilizare in viitor (trebuie sa fie 0 in afara situatiei in care participa la un experiment de protocoale Internet, care foloseste acest bit). Detalii suplimentare referitoare la tipul serviciului sunt descrise in RFC 1349

Lungime totala: Lungimea totala a datagramei, antet si date, specificata in octeti.

ID: un numar unic atribuit de catre emitent pentru a ajuta la reasamblarea fragmentelor datagramei. Fragmentele datagramei vor avea acelasi numar de identificare.FLG: diferita fanioane

Page 13: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

unde:

0 - este rezervat si trebuie sa fie zero DF - Don't Fragment (a nu se fragmenta): 0 inseamna ca este permisa fragmentarea 1 inseamna ca nu este permisa fragmentarea MF - More Fragments (mai multe fragmente) 0 inseamna ca este ultimul fragment al unei datagrame 1 inseamna ca nu este ultimul fragment al datagramei

Fragment Offset: Se utiliseaza numai cu datagrame fragmentate, pentru a ajuta la reasamblarea datagramei complete. Valoarea acestui camp este numarul de unitati de 64 biti (antetul nu este numarat) care sunt continute in fragmentele anterioare. Numai la primul fragment aceasta valuare este intotdeauna 0.

TTL: Time to Live. Specifica timpul de calatorie (in secunde) permis acestei datagrame. Fiecare ruter prin care trece datagrama trebuie sa scada din acest camp timpul sau de procesare pentru aceasta datagrama. In realitate un ruter poate procesa o datagrama in mai putin de 1 secunda, si astfel el va scadea 1 din acest camp, TTL numarand hopurile in loc sa masoare timpul efectiv. Cand valoarea atinge 0, se presupune ca aceasta datagrama a calatorit intr-o bucla inchisa si este inlaturata. Valoarea initiala trebuie fixata de protocolul de nivelul cel mai mare care creaza datagrama.

Protocol: De fapt este vorba despre numarul protocolului. Indica protocolul de nivel superior caruia trebuie livrata aceasta datagrama. Cateva valori importante sunt:

0 Rezervat 1 Internet Control Message Protocol (ICMP) 2 Internet Group Management Protocol (IGMP) 3 Gateway-to-Gateway Protocol (GGP) 4 IP (IP encapsulation) 5 Stream 6 Transmission Control Protocol (TCP) 8 Exterior Gateway Protocol (EGP) 9 Private Interior Routing Protocol 17 User Datagram Protocol (UDP) 41 IP Version 6 (IPv6) 50 Encap Security Payload for IPv6 (ESP) 51 Authentication Header for IPv6 (AH) 89 Open Shortest Path First

Intreaga lista se poate gasi in STD 2 — Assigned Internet Numbers.

Page 14: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

Suma de control a antetului: Este o suma de control referitoare numai la antete. Ea nu include datele. Pentru a calcula suma de control a antetului programele de retea trateaza antetul ca o succesiune de numere pe 16 biti. Softul de retea utilizeaza aritmetica in complement fata de 1 pentru a aduna acest sir de numere pe 16 biti. Cand hostul emitent calculeaza suma de control, el trateaza campul sumei de control a antetului ca si cand ar contine numai zerouri. Suma rezultata astfel este apoi complementata fata de 1 si este memorata in campul sumei de control a antetului.

Daca suma de control nu se potriveste continutului, datagrama este inlaturata deoarece cel putin un bit al antetului a fost modificat, si datagrama poate chiar sa fi ajuns la o alta destinatie.

Adresa IP a sursei: Adresa pe 32 de biti a calculatorului care a emis aceasta datagrama.

Adresa IP a destinatiei: Adresa pe 32 de biti a calculatorului destinatie pentru aceasta datagrama.

Optiuni: Este un camp de lungima variabila. Unei implementari a IP nu i se cere sa fie capabila de a genera optiuni in datagramele pe care le creaza, dar toate implementarile IP trebuie sa poata procesa datagrame continand optiuni. Optiunile sunt de lungime variabila. Pot exista zero sau mai multe optiuni. Exista doua formate ale optiunilor. Ambele formate depind de valoarea numarului optiunii gasit in primul octet.

Optiuni pe un singur octet.

Optiuni pe mai multi octeti.

Tip: Octetul de tip are aceeasi structura in ambele cazuri:

unde:fc - Flag copy. Indica daca campul optiune trebuie copiat (1) sau nu (0) atunci cand datagrama este fragmentata.

clasa: Optiunea clasa este un intreg fara semn pe 2 biti cu semnificatia:

0 control 1 rezervat

Page 15: Mp2_modele de Referinţă Osi_tcpip Stanica Giovanna

Internet Protocol (IP)

Internet Protocol (IP).html[18.10.2015 21:58:38]

2 depanare si masuratori 3 rezervat

Numarul optiunii: Este un intreg fara semn pe 5 biti.

0 sfarsitul listei de optiuni. Are o clasa 0, bitul fc este setat la 0 si nu exista octet de lungime sau date. Adica lista de optiuni este terminata printr-un octet X'00'. Este necesar daca lungimea antetului IP (care este multiplu de 4 octeti) nu se potriveste cu lungimea reala a optiunilor

1 Nici o operatie (NOP). Are clasa 0, bitul fc nu este setat si nu exista octet de lungime sau date. Adica, un X'01' este NOP. Poate fi folosit pentru alinierea campurilor in datagrama.

2 Securitate. Are clasa 0, bitul fc este setat si exista octet de lungime cu o valoare 11 si este urmat de 8 octeti de date. Se foloseste pentru informatii de securitate necesare DoD a USA.

3 Loose source routing. Are o clasa 0, bitul fc este setat si are un camp de date de lungime variabila.

4 Internet time stamp. Are o clasa 2, bitul fc nu este setat si lungimea totala poate fi de pana la 40 octeti.

7 Record route. Are o clasa 0, bitul fc nu este setat si exista date de lungime variabila.8 Stream ID. Are o clasa 0, bitul fc este setat, octetul lungime are o valoare 4 si un singur

octet de date. Se foloseste cu sistemul SATNET.9 Strict source routing. Are o clasa 0, bitul fc este setat si exista camp de date cu lungime

variabila.

lungimea: Contine lungimea in octeti a optiunii inclusiv octetii tip si lungime.

Datele optiunii: Contin date relevante pentru optiune

unplutura: Daca se foloseste o optiune, datagrama este completata cu octeti cu valoare zero pana la multiplu de 4 octeti.

datele: Datele continute in datagrama sunt transmise protocolului de nivel superior specificat in campul protocol.

© Cornel Mironel Niculae, 2004-2005

25-Mar-2008