Sunteți pe pagina 1din 3

Curs 7

IP V6 (IP versiunea 6)
Datorita cresterii din ultimii ani ai retelei internet, adresele IP au inceput sa se imputineze. In 1990 a
inceput lucrul la o noua versiune IP. Obiectivele majore care au stat la baza acestui protocol au fost: -sa suporte
miliarde de gazde; -sa reduca dimensiunea tabelelor de routare; -sa asigure securitate mai buna; -sa acorde o
atentie mai mare tipului de serviciu; -sa permita evolutia protocolului in viitor; -sa permita coexistenta de IPV4
si IPV6 pentru inca cativa ani.
IPV6 are adrese pe 16 octei. Are un antet mult mai simplificat (7 campuri). Aceasta simplificare a
antetului permite routerelor sa proceseze pachetele mai rapid.
Antetul IPV6
Fig 7.1

Campul versiune are valoarea 6 pentru IPV6, iar pentru compatibilitate cu IPV4 va contine 4. Tranzitia
de la IPV4 la IPV6 va lua probabil 10 ani.
Campul prioritate e folosit pentru a distinge intre pachetele ale caror surse pot fi controlate ca flux si
acelea care nu pot fi controlate. Valorile intre 0 si 7 sunt pentru transmisiuni care pot fi incetinite in cazul
congestiilor, iar valorile de la 8 la 15 sunt pentru trafic in timp real a carei rata de transmisie e constanta chiar
daca toate pachetele se pierd.
Campul eticheta fluxului e experimental si este folosit pentru a permite unei surse si unei destinatii sa
stabileasca pseudoconexiuni cu proprietati si cerinte particulare.
Campul lungimea informatiei utile spune cati octeti urmeaza dupa antetul care are o lungime de 40
octeti.
Campul urmatorul antet spune ce antet de extensie (daca exista) urmeaza dupa cel curent.
Campul limita de salturi e folosit pentru a impiedica pachetele sa traiasca vesnic (identic cu campul
timp de viata din IPV4).
Campurile adresa sursa si adresa destinatie se intind pe 16 octeti si reprezinta un compromis intre
lungime si spatiul de adresa acoperit. Exista 2128 adrese. Daca intreaga planeta ar fi acoperita cu calculatoare,
IPV6 ar permite 71023 IP-uri pe m2.
Nivelul transport
Se afla deasupra nivelului retea.
Sarcina acestui nivel e de a transporta date de la sursa la destinatie intr-o maniera sigura si eficienta din
punct de vedere al costurilor, independent de reteaua fizica utilizata.
Pentru a atinge sopul declarat, nivelul transport utilizeaza serviciile oferite de nivelul retea. Exista 2
tipuri de servicii care nivelul transport le furnizeaza nivelurilor superioare: serviciul orientat pe conexiune si
serviciu fara conexiune.
Datorita nivelului transport e posibil ca aplicatiile sa fie scrise folosind un set standard de primitive.
Pentru a vedea cum pot fi utilizate aceste primitive consideram un server si un numar oarecare de clienti aflati
la distanta. La inceput serverul apeleaza primitva Listen care face un apel sistem pentru a instrui serverul sa
astepte cererea unui client. Cand un client vrea sa comunice cu serverul, va executa un apel Connect. La acest
moment apelantul se blocheaza trimitand un pachet la server. Cand acest pachet ajunge la server, serverul se
blocheaza si timite inapoi clientului un mesaj de tipul Connected accepted. Cand acest mesaj ajunge inapoi la
client, acesta e deblocat si conexiunea e stabilita. De acum in colo pot fi schimbate date folosindu-se primitivele
Send si Received. Cand o conexiune nu mai e necesara, oricare din utilizatori poate apela o primitiva
Disconnect, generandu-se un mesaj Disconnect Request. La sosirea acestui mesaj conexiunea e eliberata.
Internetul are 2 protocoale importante la nivel transport: orientat pe conexiuni TCP si fara conexiuni
UDP.
TCP (transport comunication protocol) a fost proiectat pentru a asigura un flux sigur de octeti de la un
capat la celalalt al unei conexiuni intr-o retea. TCP a fost proiectat sa se adapteze in mod dinamic la
proprietatile retelei internet si sa fie robust in ceea ce priveste defectele. Serviciul TCP e obtinut prin crearea de
catre emitator si de receptor a unor puncte finale numite socluri (socket). Fiecare socket are o adresa formata
din adresa IP a masinii gazda si un numar de 16 biti locali gazdei respective, numit port (Ex:
193.231.42.8:6666).
Pentru a obtine o conexiune TCP trebuie stabilita explicit o conexiune intre un socket de pe masina
emitatoare si unul de pe cea receptoare. Un socket poate fi folosit la un moment dat pentru mai multe
conexiuni. Numerele de port mai mici ca 256 se numesc porturi general cunoscute si sunt rezervate serviciilor
standard. De exemplu orice proces care doreste sa stabileasca o conexiune cu o gazda pentru a transfera posta
electronica se va conecta la portul 25 al masinii destinatie pentru a conecta daemonul de posta electronica.
Toate conexiunile TCP sunt full duplex si punct la punct. Full duplex inseamna ca traficul se poate
desfasura in ambele sensuri in acelsi timp. Punct la punct inseamna ca fiecare conexiune are exact 2 puncte
finale. TCP nu suporta divizare.
Entitatile TCP de transmisie si receptie interschimba informatia sub forma de segmente. Un segment
consta intr-un antet de 20 octeti urmat de octeti de date. TCP e cel care decide cat de mare trebuie sa fie aceste
segmente. Poate fi acumulata informatia provenita din mai multe scrieri intr-un singur segment sau poate
fragmenta informatia provenita dintr-o singura scriere in mai multe segmente. Exista 2 limite care
restrictioneaza dimens unui segment.
In primul rand, fiecare segment, inclusiv antetul TCP, trebuie sa incapa in 65535 octeti de informatie
utila IP. In al 2-lea rand fiecare retea are o unitate maxima de transfer MTU. Deci fiecare segment trebuie sa
incapa in acest MTU.
Fig 7.2

Portul sursa si portul destinatie identifica punctele finale ale conexiunii. Nr secventa si Nr confirmare
ajuta la identificarea unui pachet dintr-un sir de pachete transmise, pentru a decide daca s-au pierdut pachete
sau daca pachetele au ajuns intr-o alta ordine decat au fost transmise.
Lungimea antetului indica nr de cuvinte de antet, deoarece campul Optiuni e de lungime variabila,
proprieatate care se transmite astfel si antetului.
Campul de 7 biti care urmeaza e neutilizat.
Bitul URG e pozitionat pe 1 daca indicatorul urgent e valid.
Bitul ACK e 1 pentru a indica faptul ca nr de confirmare e valid. Daca acest e 0, segmentul in discutie
nu contine confirmarea si campul nr confirmare este ignorat.
PSH indica informatia fortata, adica receptorul e instruit sa linseze informatia imediat ce e receptionata
si sa nu o memoreze in buffere.
RST e folosit pentru a desfiinta o conexiune care a devenit inutilizabila. E deasemenea folosit pentru a
refuza un segment invalid.
SYN e folosit pentru stabilirea unei conexiuni. Cererea de conexiune are SYN=1 si ACK=0. Raspunsul
la o astfel de cerere contine o confirmare si are SYN=1 si ACK=1.
Bitul FIN e folosit pentru a incheia o conexiune. Indica facptul ca emitatorul nu mai are informatie de
transmis.
Campul dimensiunea ferestrei indica nr de octeti care pot fi transmisi incepand de la octetul confirmat.
Suma de control e folosita pentru a detecta erorile care pot apare la transmisie.
Indicatorul urgent e folosit pentru a indica deplasamentul in octeti fata de numarul curent de secventa la
care se gaseste o informatie cu caracter urgent.
Optiuni a fost proiectat pentru a permite adaugarea unor facilitati suplimentare neacoperite de antetul
obisnuit. In TCP conexiunile sunt stabilite folosind 3 WAY HandShacking.
Fig 7.3

Pentru a stabili o conexiune, una din parti asteapta in mod pasiv o cerere de conexiune, prin executia
primitivelor Listen si Accept. Clientul executa o primitiva Connect indicand adresa IP si nrde port la care
doreste sa se conecteze. Primitiva Connect trimite un segment TCP avand bitul SYN=1 si ACK=0 dupa care
asteapta raspuns. Atunci cand soseste la destinatie, entitatea TCP receptoare verifica daca exista un proces care
a executat Listen pe portul specificat. Daca conexiunea e acceptata se trimite inapoi expeditorului un segment
de confirmare.

S-ar putea să vă placă și