Documente Academic
Documente Profesional
Documente Cultură
adresarea ( dirijarea)
segmentarea i asamblarea pachete IP trecnd de la o reea la alta se poate ntmpla ca
dimensiunea de cadru s fie mai mic dect lungimea unui pachet IP. Deci este necesar o
procedur de fragmentare a pachetelor lungi i de reasamblarea lor la staia receptoare.
Adresarea IP
O adres IP este un ir de 32 de bii ce identific dou lucruri: o reea i o staie n cadrul acelei
reele. Forma n care sunt folosite totui adresele IP nu este cea binar, astfel nct cnd spunem
adres IP aveam mai degrab n minte reprezentarea decimal a patru octei, separai prin trei
puncte.
Astfel pentru o adres IP dat: 10110001000001000001011000001000, vom separa mai nti biii
n grupuri de cte 8 bii: 10110001.00000100.00010110.00001000 i n final vom converti fiecare
grup n decimal: 177.4.22.8.
Clasele de adrese IP
n tabelul de mai jos sunt prezentate cele 5 clase definite pentru spaiul de adrese IP.
Clasa Primii bii Nr bii reea Nr de reele Nr bii staie Nr staii
Domeniul de
valori
0...
27
24
224-2
1.0.0.0126.255.255.255
10...
16
214
16
216-2
128.0.0.0191.255.255.255
110...
24
221
28-2
192.0.0.0223.255.255.255
1110...
Adrese multicast
11110...
Rezervat
Distribuia adreselor pe clase este asemntoare cu un arbore Huffmann, spaiile de adrese astfel
obinute fiind inegale. Clasele A, spre exemplu, sunt definite de valoarea zero a primului bit din
adresa IP, ajungndu-se la situaia cnd mai puin de 130 de reele s consume jumtate din spaiul
de adrese IP, rmnnd pentru restul de peste 2 milioane de reele mai puin de jumtate din acest
spaiu de adrese.
Clasa A a fost proiectat pentru a satisface cerinele ridicate de reele de mari dimensiuni. Astfel
pentru definirea reelei va fi folosit doar primul octet, rmnnd pentru identificarea staiei 24 de
bii, adic mai mult de 16,7 milioane de posibiliti. Din tabelul de mai sus se poate observa c
1
domeniul de valori pentru clasa A nu include reelele 0.0.0.0 i 127.0.0.0, acestea fiind rezervate.
Clasa de adrese 0.0.0.0 nu este folosit datorit posibilelor confuzii cu rutele implicite, n vreme
ce clasa 127.0.0.0 este rezervat pentru adrese de lookback, n scopul monitorizrii i testrii.
Tot din studiul numrului de staii din tabelului de mai sus se observ eliminarea a cte dou
adrese dintre cele ce pot fi alocate staiilor, pentru fiecare dintre clasele rutabile. Cele dou adrese
sunt: adresa de reea i adresa de difuzare.
O adres IP de reea este o adres pentru care toi biii de staie sunt 0. O astfel de adres este
folosit pentru identificarea ntregii reele, aceast fiind n fapt forma relevant a oricrei adrese
ce cltorete peste Internet.
O adres IP de boadcast sau de difuzare este o adres pentru care toi biii de staie sunt 1. Un
pachet destinat unei astfel de adrese va ajunge la toate staiile din aceeai reea.
O clas de adrese B este definit de valorile primilor doi bii din adresa IP, aceti primi doi bii
fiind 10. Respectnd aceast constrngere rezult c toate adresele IP ale cror prim octet se afl
ntre 10000000 i 10111111, adic ntre 128 i 191, aparin unei clase B. Cmpul de reea pentru o
clas B va cuprinde primii doi octei, dar cum primii doi bii ai primului octet sunt fixai, ne
rmn doar 14 bii pentru a crea clase B. Pentru definirea staiilor vom avea la dispoziie ultimii
doi octei, adic 16 bii. Astfel vom obine 16.384 reele, fiecare avnd un numr maxim de staii
de 65.533.
Clasele A i B la un loc reprezint 75% din spaiul de adrese disponibile, aceste clase fiind
epuizate n primii ani de expansiune a Internetului (`92 -`94). Dac mai dm la o parte clasele D i
E, clase ce nu pot fi folosite pentru rutare, rezult c aproape ntreaga expansiune a Internetului
din ultimul deceniu s-a fcut folosindu-se doar 12,5% din spaiul de adresare IP, i anume clasele
C.
Clasele C se definesc prin alocarea primilor 3 octei pentru definirea reelei i doar a ultimilor 8
bii pentru distingerea ntre staiile aceleiai reele. Primii trei bii din primul octet trebuie s fie
110, adic valoarea acestui prim octet trebuie s se afle ntre 192 i 223 pentru ca o adres s
aparin unei clase C. Dei numrul claselor C depete 2 milioane, numrul de staii pentru
fiecare dintre aceste reele este de doar 254.
Clasa de adrese D este folosit pentru reele multicast.
Pentru adresa multicast spaiul de adrese este plat, toi cei 4 octei fiind folosii pentru definirea
adresei de staie. Deoarece primii 4 bii ai primului octet sunt fixai, i anume 1110, numrul
adreselor de multicast este de 268 milioane.
Clasa de adrese E este rezervat i nu poate fi folosit n reelele publice, sau n soluii de
multicast.
Figura: Adresarea IP
Odat cu subreelele a aprut distincia ntre adresarea ce ine cont doar de cele trei clase: A, B i
C, aceasta fiind numit adresare classful, i noul tip de adresare, ce ofer suport pentru cmpul de
subreea, aceasta din urm fiind numit adresare classless.
Problema crizei adreselor IP (n anul 1992), a fcut ca adresarea classless s ocupe un loc central
n noua arhitectur a Internetului, prin dezvoltarea mecanismelor de rutare pentru astfel de adrese.
Soluia s-a numit CIDR (Classless InterDomain Routing) i a rspuns att la problema epuizrii
rapide a spaiului de adrese IP, ct i la problema creterii n dimensiune a tabelelor de rutare.
Masca de reea
Masca de reea este un ir de 32 de bii care, n conjuncie logic cu o adres IP, va separa adresa
de reea, anulnd biii de staie.
Fiecare bit din masca de reea ce corespunde (se afl pe aceai poziie) cu un bit din cmpul de
reea va avea valoare 1, n vreme ce toi biii corespunztori cmpului de staie vor avea valoarea
zero.
Mtile de reea sunt inutile ntr-un mediu ce ofer adresare classful, deoarece simpla testare a
valorii primului octet fa de 128 i 192 ne-ar oferi toate informaiile necesare despre numrul
biilor ce aparin cmpului reea dintr-o adres IP dat. n schimb, odat cu apariia adresrii
classless, masca de reea a devenit piatra de temelie n deciziile de rutare. Reprezentarea mtilor
de reea folosit cel mai des este cea decimal, datorit similitudinii cu forma de exprimare a
adreselor IP.
O a doua form de reprezentare a mtilor de reea este sub forma unui numr ce reprezint
numrul de bii de 1 din masca de reea, aceast form de reprezentare fiind referit ca prefix de
reea.
3
130.
170
Prima adres
132.
Masca de reea
170.
128.
130.
170
32.
/17
A doua jumtate
Prima adres
Masca de reea
170.
0.
/17
Prima jumtate
Putem acum aloca acum pentru reeaua de 300 de staii doar jumtate de clas B, adic 32 de mii
de adrese. Dar nimic nu ne mpiedic s njumtim nc odat unul dintre spaiile de adrese
obinut, avnd astfel la dispoziie dou spaii de cte 16 mii de adrese. i, de ce nu, s mergem
mai departe cu procesul de creare de subreele pentru a obine spaii de 512 adrese.
Pentru a reprezenta 512 variante avem nevoie de 9 bii n cmpul staie. Din cei 16 bii iniiali
vom trece direct 7 bii n cmpul de subreea. Masca de reea trebuie extins cu 7 bii devenind 23,
rezultatul operaiei fiind definirea unui spaiu de adrese ce ocup doar 1/64 din spaiul iniial.
Rutarea static nu are cerine de lime de band, timp de procesor sau memorie (n afar de
memoria efectiv ocupat de tabela de rutare) i, dei introducerea manual de informaii poate
prea o metod arhaic de administrare, deseori rutarea static este mult mai potrivit pentru
ruterele de la periferia Internetului dect rutarea dinamic.
n concluzie, rutele statice nu sunt o soluie depit de configurare a ruterelor, iar viitorul nu pare
s anune nlocuirea rutrii statice cu rutarea dinamic. Rutarea static va continua s fie soluia
optim pentru reelele cu un grad redus de complexitate sau a reelelor stub (reele cu o singur
conexiune la Internet).
Protocolul IP este unul dintre protocoalele de rutare, fiind n fapt singurul protocol rutabil folosit
peste Internet ncepnd cu anii 2000.
Alte protocoale de rutare sunt AppleTalk i IPX, i dei implementrile soluiilor de conectare
peste Internet bazate pe aceste protocoale sunt rare, cele dou protocoale rmn nc destul de
folosite n reelele locale.
Caracteristici TCP
Deoarece protocolul IP este de tip datagram utilizarea lui direct n aplicaii, care in general au
nevoie de conexiuni sigure, este mult prea anevoioas. Din aceste motive peste IP a fost construit
un alt protocol, TCP (transmission control protocol), care corecteaz aceste probleme.
Alturi de protocolul UDP, TCP se situeaz pe nivelul transport n ierarhia de protocoale, deci
ntre nivelul aplicaie i nivelul reea. Dar, cu toate c se bazeaz pe acelai protocol (IP) ca i
UDP, TCP furnizeaz ctre nivelul aplicaie cu totul alt tip de servicii, servicii orientateconexiune, sigure, de tip flux de octei.
Termenul de orientat-conexiune presupune c, ntre cele dou aplicaii care comunic utiliznd
TCP, trebuie s se stabileasc o conexiune TCP nainte ca transferul de date s aib loc. Aceast
conexiune nu este efectiv una fizic ci virtual, asemntor cum se ntmpl n sistemul de
telefonie clasic: cineva formeaz un numr i abia n momentul n care cealalt persoan
rspunde se poate ncepe conversaia. Fiind o conexiune host-la-host, nu exist noiunile de
broadcast sau multicast.
Transferul sigur de date este asigurat n urmtorul mod:
Datele sunt mprite n buci a cror dimensiune optim e determinat de TCP, spre
deosebire de UDP care trimite datagrame UDP corespunztoare cu dimensiunea datelor
primite de la nivelul aplicaie. Unitatea de date trimis de TCP ctre nivelul reea poart
numele de segment.
Cnd TCP trimite un segment pornete un timer i dac nu se primete confirmarea
segmentului respectiv ntr-un anumit timp, l retransmite.
n momentul n care se primete un segment TCP trimite o confirmare (din motive de
eficien aceasta poate fi amnat un anumit interval de timp).
n headerul TCP este meninut o sum de control pentru detectarea modificrilor n date.
Dac se recepioneaz un segment corupt TCP l ignor urmnd s fie retransmis datorit
neprimirii confirmrii.
Deoarece segmentele TCP sunt transmise mai departe ncapsulate n datagrame IP iar
acestea pot ajunge n orice ordine, segmentele TCP pot ajunge n alt ordine dect cea n
care au fost trimise. De aceea, la destinaie TCP-ul trebuie s se foloseasc de numere de
secven pentru a reordona eventual segmentele nainte de a le livra ctre nivelul aplicaie.
De asemenea, TCP trebuie s asigure ignorarea duplicatelor.
TCP asigur controlul fluxului n condiiile n care viteza de trimitere a datelor de la surs
poate fi mult prea mare dect capacitatea de prelucrare de la destinaie.
Serviciul oferit de TCP este de tip flux de octei deoarece ofer garanii c fluxul de date trimis de
surs va fi livrat fr modificri la destinaie. Comparativ, UDP-ul produce pentru fiecare transfer
cerut de nivelul aplicaie, un pachet IP (care ulterior poate fi supus fragmentrii) care, dac ajunge
la destinaie corect va fi livrat direct nivelului aplicaie fr a garanta n vreun fel ordinea.
Protocolul de iniiere
Modul de transmisie n cazul protocolului TCP este full-duplex, deci sunt transmise date simultan
n ambele direcii. Aceasta presupune c cel care iniiaz conexiunea trebuie s primeasc
aprobarea celuilalt capt nainte de nceperea transferului de date: sursa i anun intenia de a
iniia o conexiune, destinaia trimite un pachet cu confirmarea cererii i un pachet de iniiere a
conexiunii de la el la surs iar apoi sursa confirm cererea primit de la destinaie. Paii 2 i 3 pot
fi realizai prin trimiterea unui singur pachet, de aceea protocolul de iniiere este cunoscut sub
numele de three-way handshake.
n cadrul protocolului de iniiere exist 2 tipuri de cereri de iniiere: cerere activ (active open),
iniiat de clientul ce dorete s stabileasc conexiunea cu serverul i cerere pasiv (passive
open), din partea serverului.
Cei 3 pai sunt:
1. Clientul trimite un segment cu flag-ul SYN setat (SYN - iniierea conexiunii )i care
conine portul surs, portul de la destinaie i numrul de secven generat iniial (ISN) de
la care se vor numerota octeii de la client ctre server. Opional se pot stabili parametrii
conexiunii prin setarea lungimii maxime a segmentelor (MSS) dispus s le primeasc de la
server, factorului de scalare a ferestrei. Acest prim segment nu conine nici un parametru
de confirmare i de asemenea nu are rost s conine s seteze dimensiunea ferestrei.
2. Al doilea segment e trimis de server i are un rol dublu: confirm segmentul primit de la
client prin setarea flag-ului ACK (ACK - cmpul de confirmare este valid) i completeaz
numrul de secven cu numrul de secven primit plus 1 i, al doilea rol, iniializeaz
conexiunea de la el ctre client prin setarea flag-ului SYN i generarea unui numr de
secven iniial ce va fi folosit n numerotarea octeilor de la server spre client. Pe lng
aceasta trebuie s conin dimensiunea ferestrei i opional, poate seta factorul de scalare i
dimensiunea maxim a segmentului acceptat.
3. Clientul trimite un segment cu confirmarea cererii din partea serverului (ACK setat +
completeaz numrul confirmat cu numrul de secvena primit + 1). Ca i n cazul pasului
2, trebuie s seteze dimensiunea ferestrei. Acest pachet poate conine date.
Deschiderea simultan
Se poate ntmpla ca uneori cele dou capete care vor s comunice s ncerce s stabileasc
conexiunea simultan. n acest caz, dup ce fiecare a trimis segmentul de iniiere (iniiere activ),
ambele vor trimite un segment cu SYN + ACK i se va stabili o singur conexiune, nu dou.
Protocolul de terminare
Oricare dintre cele dou pri poate solicita nchiderea conexiunii, dar conexiunea fiind fullduplex, transferul de date n cellalt sens poate continua (aceast situaie e denumit half-close).
O nchidere complet a unei conexiuni TCP presupune urmtorii pai:
1. Clientul trimite un segment cu flag-ul FIN (FIN - nchiderea conexiunii) activat, solicitnd
nchiderea conexiunii.
Terminarea simultan
n mod similar cu deschiderea simultan exist posibilitatea ca ambele capete ale conexiunii TCP
s iniieze simultan procedura de nchidere a conexiunii. n acest caz ambele pri vor trimite FIN
i vor atepta primirea unui ACK. n continuare fiecare va primi cererea de terminare i va trimite
ACK. Se observ c numrul de segmente transferate pentru realizarea nchiderii conexiunii (4
segmente) este acelai ca la terminarea normal.
Resetarea conexiunii
Exist situaii n care TCP dorete resetarea conexiunii. De exemplu dac se solicit iniierea unei
conexiuni la un port inexistent. n acest caz cealalt parte va trimite un segment cu bitul RST
(RST - se dorete resetarea conexiunii) setat pentru a anula solicitarea. O alt situaie este atunci
cnd se constat c celalalt capt al conexiunii nu rspunde un anumit timp (timeout).
10