Sunteți pe pagina 1din 438

Problema congestiei

Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Problema congestiei
 Alocarea resurselor reţelei(lărgimea de bandă, spaţiul de stocare din
routere sau switchuri) este o problemă competiţională, ţinând cont de
faptul că, la un moment dat există mai multe cereri ale aplicaţiilor în acest
sens. Deci, anumiţi utilizatori ai reţelei vor primi la un moment dat mai
puţine resurse decât au cerut. Dacă s-ar acorda resursele cerute tuturor
solicitanţilor, ar apare fenomenul de supraîncărcare.
 La nivelul router-elor sau switch-urilor există buffere, organizate pe
principiul cozilor, în care sunt păstrate pachete/cadre de date care urmează
să fie transmise mai departe. Dacă la un moment dat nu mai există spaţiu
de stocare în aceste buffere şi sosesc pachete/cadre de date, o parte din
aceste pachete trebuie abandonate(care dintre ele vor fi abandonat depinde
de disciplina cozii). Când un astfel de fenomen apare frecvent, spunem că
reţeaua este congestionată.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Problema congestiei
 Problema congestiei poate fi cel mai bine evidenţiată într-o reţea cu
comutare de pachete, cum este cazul Internet-ului. Spre deosebire de
reţelele locale, în care o gazdă poate observa traficul de pe mediul de
comunicaţie şi poate decide dacă poate transmite sau nu cadre de date, aici
situaţia este mai complicată. Într-un astfel de mediu, o anumită sursă poate
avea o capacitate suficientă pe un mediu de comunicaţie la care ea este
conectată local, dar undeva pe inter-reţea pachetele transmise de ea
întâlnesc o legătură care este folosită de către gazde aflate pe alte reţele
locale şi în plus, lărgimea de bandă are o dimensiune insuficientă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Problema congestiei
 Exemplu. Două gazde, sursa1 şi sursa2 vor să transmită date către o
gazdă aflată pe o reţea cu o lărgime de bandă mai mică; datele pot circula
pe reţelele locale respective dar routerul nu le poate transmite mai departe
in totalitate, deoarece viteza de transmitere pe reţeaua de destinaţie este
mult mai mica.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Problema congestiei
 La nivelul unei reţele, controlul congestiei şi alocarea resurselor,
reprezintă componente ale aceleiaşi probleme. Dacă la nivelul
comunicaţiei în reţea, există o planificare a utilizării circuitelor fizice de
către cele virtuale, atunci controlul congestiei nu mai este necesar. De
asemenea, la nivelul gazdelor nu există o limitare a numărului de pachete
pe care aceasta doreşte să le transmită, deci se pune problema refacerii
pachetelor care au fost abandonate datorită apariţiei fenomenului de
congestie.
 De asemenea, trebuie făcută o distincţie clară între controlul fluxului de
date şi controlul congestiei. Dacă controlul fluxului se referă la a
regulariza comunicaţia dintre un transmiţător mai rapid şi un primitor mai
lent, controlul congestiei se referă la a păstra activi numai anumiţi
transmiţători din reţea sau a abandona anumite pachete sau cadre de date
care sunt transmise prin mediul de comunicaţie al reţelei.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Problema congestiei
 Controlul congestiei nu este acelaşi lucru cu routarea. Legăturilor
congestionate li se asociază o anumită valoare(pondere) şi ţinând cont de
această valoare, routerele vor căuta să transmită pachetele evitând această
conexiune. Dar sunt situaţii, cum este cea prezentată în figura ant. în care
legătura congestionată nu poate fi evitată. Într-o astfel de situaţie spunem
că are loc o “gâtuire” în reţea.
 Problema evitării congestiei trebuie rezolvată atât la nivel de routere cât şi
la nivel de gazde. Fiecare router ia decizii în ceea ce priveşte care dintre
pachete sunt transmise mai departe şi care sunt abandonate. De asemenea,
informează gazdele cât de multe pachete le este permis să transmită în
reţea. La nivel de gazdă, se observă condiţiile de trafic din reţea, adică
ponderea pachetelor care au ajuns la destinaţie din numărul total al
pachetelor transmise.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Problema congestiei
 În continuare vom înţelege prin noţiunea de flux ca fiind o secvenţă de
pachete transmise de la o gazdă sursă la o gazdă destinaţie, care urmează
un acelaşi drum, în reţeaua de comunicaţie a inter- reţelei. În figura urm.
este sunt prezentate astfel de fluxuri.
 O modalitate prin care este realizată alocarea resurselor, este cea bazată pe
rezervare. În astfel de sisteme, gazdele cer reţelei alocarea de resurse
pentru intervalul de timp cât este stabilit un anumit flux. Fiecare router ar
trebui să aloce resurse suficiente fluxului respectiv. Dacă la un anumit
router nu se poate face alocarea de resurse, deoarece s-ar realiza
supraîncărcarea routerului respectiv, atunci acesta va abandona pachetele
primite pe fluxul respectiv.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Problema congestiei
 O metodă mai perfecţionată, este cea bazată pe conceptul de „feedback”.
Gazdele încep transmiterea de date fără a cere alocarea de resurse şi îşi
ajustează transmiterea de date pe baza „feedback- ului” pe care îl primesc.
Acest „feedback” poate fi explicit(un router congestionat transmite un
mesaj „încetineşte transmiterea” gazdei respective) sau poate fi
implicit(gazda ajustează propria transmitere de date prin observarea
comportamentului reţelei, reflectat prin numărul de pachete pierdute). În
cadrul acestor metode, observăm rolul major al routerelor în alocarea
resurselor.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Problema congestiei
 Controlul congestiei sub TCP se bazează pe următoarea idee: gazda
sursă trebuie să fie capabilă să determine capacitatea reţelei de a primi
pachete de la aceasta, pe care să le poată transporta în siguranţă către
destinaţie. Acest lucru se poate realiza pe baza ACK-urilor primite. Astfel,
când o gazdă sursă primeşte confirmarea primirii unui pachet transmis
anterior de către gazda destinaţie, ea poate să transmită un nou pachet. De
asemenea, deoarece conexiunile logice din cadrul reţelei sunt variabile în
timp, şi lărgimea de bandă pe care o are la dispoziţie o anumită gazdă este
variabilă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Metoda creşterii aditive/descreşterii
multiplicative
 Pentru fiecare legătură, TCP utilizează o variabilă CongestionWindow,
care este folosită de către fiecare gazdă pentru a reduce cantitatea de date
pe care să o transmită în reţea, astfel încât să nu se ajungă la starea de
congestie.
 Modificarea valorilor variabilei CongestionWindow se face pe baza
gradului de congestie al reţelei. O anumită gazdă trage concluzia că o
reţea este congestionată, pe baza observaţiei că anumite pachete nu au fost
confirmate în timp util, cauza cea mai probabilă fiind că pachetele
respective au fost abandonate de anumite routere supraîncărcate. În acest
moment, gazda respectivă va concluziona că reţeaua este congestionată şi
va înjumătăţi valoarea variabilei CongestionWindow.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Metoda creşterii aditive/descreşterii
multiplicative
 Reciproc, în momentul când primeşte confirmarea unui pachet, va adăuga
la CongestionWindow, valoarea MSSx(MSS/CongestionWindow),
 în care MSS(Maximum Segment Size reprezintă dimensiunea maximă a
segmentului pe care o suportă TCP.
 O perfecţionare a acestui mecanism, este metoda startului lent(„slow
start”). La începutul sesiunii de transmitere de date, gazda sursă setează
CongestionWindow la dimensiunea unui segment.
 Când soseşte confirmarea pentru acest pachet, TCP adaugă dimensiunea
unui segment la CongestionWindow şi apoi transmite două pachete. După
ce primeşte cofirmarea celor două pachete transmise, TCP va adăuga
2Xdimensiunea unui segment la CongestionWindow şi apoi va transmite 4
segmente ş.a.m.d.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Metoda creşterii aditive/descreşterii
multiplicative
 Cu alte cuvinte, avem de a face cu o creştere exponenţială a numărului de
pachete pe care îl transmite gazda în reţea, atunci când primeşte o
confirmare a pachetelor transmise anterior.
 Justificarea acestei metode constă în: dacă gazda ar fixa la începutul
transmisiei o valoare mare pentru CongestionWindow, în conformitate cu
lărgimea de bandă disponibilă, este posibil ca anumite routere
aglomerate(care au bufferele pline) să nu poată primi aceste pachete
şi deci să le abandoneze.
 Startul lent înseamnă o atitudine prudentă a gazdei sursă, deoarece la
începutul conexiunii, aceasta nu are nici un fel de informaţii despre
cantitatea de date pe care o pot transmite mai departe routerele din reţea.
De asemenea, atunci când valoarea timpului de aşteptare pentru
confirmarea unui pachet depăşeşete o anumită valoare(„timeout”) sau, cu
alte cuvinte pachetul este pierdut, valoarea lui CongestionWindow este
împărţită la 2.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Metoda creşterii aditive/descreşterii
multiplicative
 Cele două metode pot fi combinate, rezultând următorul algoritm.
 În momentul când un pachet este pierdut, valoarea variabilei
CongestionWindow este atribuită variabilei CongestionThershold.
 CongestionWindow este resetată la dimensiunean unui pachet, gazda
sursă intrând în starea de start lent.
 CongestionWindow creşte exponenţial pentru fiecare ACK primit, până
când ajunge la valoarea lui CongestionThershold, după care creşte liniar
pentru fiecare ACK primit.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Protocolul IPv6

Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Adresa IPv6
Prefix(in bin.) Utilizare Prefix(in Utilizare
binar)
0000 0000 Rezervate (incl.) 101 Neatribuite
0000 0001 Neatribuite 110 Neatribuite
0000 001 Adrese OSI NSAP 1110 Neatribuite
0000 010 Adr.IPX Novell 1111 0 Neatribuite
0000 011 Neatribuite 1111 10 Neatribuite
0000 1 Neatribuite 1111 110 Neatribuite
0001 Neatribuite 1111 1110 1 Neatribuite
001 Neatribuite 1111 1110 10 Adr.de leg.de uz local
010 Adr.bazate pe 1111 1110 11 Adr.de site.de uz local
furniz.
011 Neatribuite 1111 1111 Trimitere multipla
100 Adr.pe bază geogr.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Adresa IPv6
 Lungimea adresei IPv6 este de 16 octeti.
 Impartirea spatiului de adrese.
 Spaţiul de adrese IP este împărţit aşa cum este prezentat în tabelul
anterior.
 Adresele care încep cu 8 zerouri sunt rezervate pentru adresele IPv4.Sunt
admise două variante difernţiabile prin următorii 15 octeţi. Aceste variante
se referă la modul în care pachetele IPv6 vor fi transmise prin
infrastructuri ale reţelelor care încă mai funcţionează pe baza protocolului
IPv4.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Adresa IPv6
 Folosirea de prefioxe separate pentru adresele bazate pe furnizor şi pentru
cele pe bază geografică, este un compromis între două concepţii diferite
asupra viitorului Internet-ului. Adresele bazate pe furnizor au sens dacă se
ia în consideraţie faptul că în viitor vor exista un număr de companii care
oferă servicii Internet pentru clienţi(de exemplu, comp. care oferă servicii
telefonice). Fiecare din aceste companii va primi o fracţiune din spaţiul de
adrese. Primii 5 biţi care urmează prefixului 010 sunt folosiţi pentru a
indica la carev registratură să fie căutat furnizorul. În prezent funcţionează
3 registraturi: ptr. Europa, America de Nord şi Asia; ulterior mai pot fi
adăugate încă 29 de registraturi.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Adresa IPv6
 La nivelul fiecărei registraturi, se împart următorii 15 octeţi, după
 cum consideră fiecare de cuviinţă. Se pot considera două variante:
 să se folosească un număr de furnizor reprezentat pe 3 octeţi, ceea ce înseamnă că pot
exista aproape 16 milioane de furnizori;
 să se folosească 1 octet pentru a indica furnizorii naţionali şi a permite acestora să facă
alocarea în continuare. Eventual, pot fi introduse niveluri suplimentare de ierarhie.
 Modelul geografic este la fel ca Internet-ul actual, în care furnizorii nu
joacă un rol important. În acest fel. IPv6 poate trata ambele tipuri de
adresă.
 Adresele de uz local pentru legături şi site-uri au numai o semnificaţie
locală. Ele pot fi refolosite fără conflict în fiecare organizaţie, dar nu pot fi
propagate în altă organizaţie. Ele sunt potrivite pentru organizaţiile care
folosesc ziduri de protecţie pentru a se proteja de restul Internet-ului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Adresa IPv6
 În cadrul adreselor de transmitere multiplă, după prefix urmează un câmp
indicator de 4 biţi, un câmp domeniu de 4 biţi şi un identificator de grup de 112
biţi.
 Unul dintre biţii indicatori face distincţie dintre grupurile permanente şi cele
temporare.
 Câmpul domeniu permite ca o trimitere multiplă să fie limitată la o anumită
legătură (site, organizaţie etc.).
 În plus faţă de transmiterea unică(unicast sau point-to-point) şi
multiplă(multicast), IPv6 suportă un nou tip de transmitere: trimitere către
oricine(anycast). Şi acest tip de transmitere presupune că destinaţia este un grup
de adrese, dar în loc să se livreze pachetul către toate adresele, se livrează către
prima întâlnită. De exemplu, un client care doreşte să contacteze un grup de
servere de fişiere care cooperează între ele, poate folosi transmiterea anycast
pentru a ajunge la cel mai apropiat server, fără să trebuiască să ştie care este
acesta.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Scrierea adreselor IPv6
 Pentru scrierea adreselor pe 16 octeţi se foloseşte o nouă notaţie.Sunt
scrise ca opt grupuri de câte patru cifre hexazecimale, cu semnul : între
grupuri.
 Deoarece multe adrese vor avea multe zerouri în interiorul lor, sunt
permise:
 zerourile de la începutul unui grup pot fi omise;
 unul sau mai multe grupuri de 16 zerouri pot fi înlocuite de o pereche de semne :
 Exemplu: Adresa 8000:0000:0000:0000:0123:89AB:CDEF
 se poate scrie 8000::123:4567:89AB:CDEF
 Adresele IPv4 pot fi scrise ca o pereche de semne : urmate de scrierea
cunoscută.
 Exemplu: Adresa IPv4 192.31.32.34 se scrie ca o adresă IPv6
 :: 192.31.32.34

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Antetul principal TCPv6
 Versiune (4 biţi) este 6 pentru IPv6 şi 4 pentru IPv4; este utilizat deoarece
se presupune că cele două protocoale vor exista pentu o perioadă de timp
şi permite routerelor care lucrează sub protocolul IPv6 să examineze acest
câmp pentru a decide ce tip de pachete examinează.
 Prioritate (4 biţi) este folosit pentru a distingeîntre pachetele ale căror
surse pot fi controlate ca flux şi acelea care nu pot fi controlate. Valorile
cuprinse între 0 şi 7 sunt pentru transmisii care pot fi încetinite în cazul
apariţiei unor evenimente de congestie. Valorile cuprinse între 8 şi 15 sunt
pentru trafic în timp real, a cărui rată de transmisie este constantă, chiar
dacă toate pachetele sunt pierdute.În ultima categorie intră mesajele audio
şi video. În cadrul fiecărui grup, pachetele cu număr mic sunt mai puţin
importante decât cele cu număr mare. Standardul IPv6 propune folosirea
lui 1 pentru ştiri, 4 pentru FTP 6 pentru conexiuni TelnetDacă un pachet
de ştiri întârzie câteva sec. nu este o probl., spre deosebire de o conexiune
de tip Telnet.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Antetul principal TCPv6
 Eticheta fluxului (24 biţi) va fi folosit pentru a permite unei surse şi unei
destinaţii să stabilească o conexiune virtuală cu proprietăţi şi cerinţe
particulare. De exemplu, un şir de pachete trimis de un proces de pe o
anumită gazdă sursă către un proces de pe o anumită gazdă destinaţie,
poate avea cerinţe de întârzier stricte şi din acest motiv necesită capacitate
de transmisie rezervată. Fluxul poate fi stabilit în avans şi poate primi un
identificator. Ca efect, fluxurile încearcă să combine transmiterea de
datagrame(UDP) cu transmiterea de pachete folosind un circuit
virtual(TCP).
 Lungimea informaţiei utile (16 biţi) spune câţi octeţi urmează după cei 40
de octeţi ai antetului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Antetul principal TCPv6
 Antetul următor (16 biţi) specifică ce antet de extensie(dacă există) va
urma.Dacă acest antet este ultimul antet IP, câmpul Antetul următor spune
cărui tip de protocol(TCP, UDP) i se va transmite pachetul. Despre această
noţiune vom discuta imediat.
 Limita salturilor (8 biţi) este similar câmpului TTL al protocolului IPv4.
 Adresă sursă şi adresă destinaţie sunt reprezentate pe câte 16 octeţi.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Antete de extensie
 Au fost introduse deoarece anumite informaţii pentru introducerea unor
informaţii suplimentare, specifice unui anumit pachet.
 Există 6 tipuri de astfel de antete; fiecare este opţional, dar dacă sunt
prezente mai multe, ele trebuie să apară imediat după antetul fix.
 Unele antete au format fix, altele conţin un număr variabil de câmpuri de
lungime variabilă. Fiecare element este codificat ca un triplet
(Tip,Lungime,Valoare). Tipul este un câmp de 1 octet care specifică ce
opţiune este aceasta. Primii 2 biţi ai tipului spun routerelor care nu ştiu să
proceseze opţiunea, ce trebuie să facă în acest caz. Variantele sunt: sărirea
opţiunii, eliminarea pachetului, eliminarea pachetului şi transmiterea unui
mesaj de eroare. Lungimea este un câmp de 1 octet şi indică ce lungime
are câmpul valoare(de la 0 la 255 octeţi). Valoarea este orice informaţie
cerută, de cel mult 255 de octeţi.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Antetul salt-după-salt
 Antetul salt-după-salt este folosit pentru informaţii care trebuie
examinate de toate ruterele de pe o anumită cale.Până acum a fost definită
o singură opţiune:suportul penttru pachete de date care depăşesc 64K.
 Ca şi toate antetele de extensie, acesta începe cu octet care spune ce tip de
antet este următorul.Urmează un octet care conţine lungimea antetului
salt-dupa-salt în octeţi, excluzând primii 8 octeţi, care sunt obligatorii.
Urmează 2 octeţi care conţin un cod ce indică faptul că această opţiune
defineşte dimensiunea datagramei şi aceasta va fi reprezentată pe 4 octeţi.
Ultimii 4 octeţi, conţin dimensiunea datagramei.
 Dimensiuni mai mici de 65536(64K) nu sunt permise şi au ca rezultat
eliminarea pachetelui de către primul router, care va trimite înapoi un
mesaj ICMP de eroare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Antetul salt-după-salt
 Datagramele care folosesc acest antet de extensie sunt numite
jumbograme. Ele sunt utilizate de aplicaţiile super-calculatoarelor care
trebuie să transfere blocuri de date de dimensiuni foarte mari.
 Antetul de dirijare menţionează unul sau două routere care trebuie să fie
vizitate în calea spre destinaţie. Sunt disponibile 2 posibilităţi:
 dirijarea strictă(este furnizată întreaga cale);
 dirijarea aproximativă(sunt furnizate numai anumite routere)
 Formatul antetului de extensie de dirijare:
 primii 4 octeţi conţin conţin 4 întregi reprezentaţi pe câte 1 octet fiecare, cu
semnificaţia: tipul următorului antet, tipul de dirijare (de obicei 0), numărul de
adrese prezente în antet (de la 1 la 24) şi indicele următoarei adrese de vizitat.
Conţinutul ultimului octet porneşte de la 0 şi este incrementat pentru fiecare adresă
(router) vizitat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Antetul salt-după-salt
 un octet de rezervă;
 o hartă de biţi pentru fiecare din cele 24 de adrese IPv6
potenţiale care urmează; aceşti biţi spun dacă fiecare
adresă trebuie să fie vizitată direct după cea precedentă
(dirijare strictă pe baza sursei) sau dacă pot interveni şi
alte routere pe parcurs (dirijare aproximativă pe baza
sursei).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Antetul fragment
 Antetul fragment tratează fragmentarea într-un mod similar cu cel al
IPv4. Antetul conţine identificatorul datagramei, numărul de fragment şi
un bit care spune dacă mai urmează fragmente.
 În IPv6, spre deosebire de IPv4 numai gazda sursă poate fragmenta un
pachet. Această modificare simplifică activitatea routere-lor şi permite ca
dirijarea să se facă mai rapid. Aşa cum am menţionat anterior, dacă un
router primeşte un pachet de dimensiune prea mare, îl va distruge şi va
trimite un pachet ICMP către gazda sursă a pachetului; pe baza acestei
informaţii, gazda sursă fragmentează pachetul în bucăţi mai mici, pe care
le transmite ca pachete individuale.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Antetul de autentificare
 Antetul de autentificare oferă un mecanism prin care receptorul unui
mesaj verifică identitatea celui care l-a transmis. IPv4 nu oferă un astfel
de mecanism, problema fiind rezolvată de alte protocoale specializate.
 Pentru a înţelege acest mecanism, sunt necesare cunoştinţe de securitatea
datelor în reţele de calculatoare; aceste noţiuni le vom studia în
continuare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Securitatea datelor în
reţele de calculatoare
Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Obiectivele cursului
 Criptarea/Decriptarea datelor
 Autentificarea
 Semnătura digitală
 Zid de protecţie(firewall)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Criptarea datelor
 Mesajele care trebuiesc criptate sunt sub formă de text clar(“plain text”)
şi sunt transformate într-un text care nu poate fi interpretat numit text
cifrat.
 Criptarea este procesul care realizează această transformare, pe baza
unor algoritmi şi a unei mulţimi de parametri de intrare.
 Decriptarea este procesul invers, de transformare a textului cifrat într-un
text clar, care se bazează, de asemenea pe o serie de algoritmi şi o
mulţime de parametri de intrare.
 În general, atât criptarea cât şi decriptarea necesită un parametru numit
cheie, a cărei secretizare este esenţială în funcţionarea întregului proces.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Criptarea datelor
 Model de sistem de criptare este prezentat în fig. urm. Blocul E execută
criptarea. El ia ca intrări un text clar M şi o cheie de criptare ke şi produce
ca ieşire un text cifrat C, C=E(ke,M).
 Textul cifrat C este transmis peste un canal nesigur către o destinaţie, unde
este decriptat. Canalul nesigur este un mediu de comunicaţie care poate fi
accesat de un intrus.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Criptarea datelor
 Operaţia de decriptare este notată printr-un pătrat etichetat cu D, care
preia textul cifrat C si o cheie de decriptare kd, ca intrări şi produce textul
original M, ca ieşire, M=D(kd,C).Blocul CA desemnează un intrus, a cărui
sarcină este de a descifra informaţia transmisă peste un canal. Acesta are
cunostinţe totale despre tehnicile de criptare şi decriptare folosite.
 Intrusul (“cryptoanalyst”) poate asculta canalul şi poate avea acces la
informaţiile laterale (“side information - SI). Exemplu de astfel de
informaţii, pot fi frecvenţele literelor şi cuvintelor, contextul canalului şi
anumite părţi ale textului clar.
 Intrusul nu are cunoştinte despre cheia de decriptare kd. Pentru a sparge
sistemul, intrusul trebuie să găsească o schemă pentru a determina cheia
kd, pe baza informaţiilor pe care le are la dispoziţie.
 În anumite cazuri, este posibil să descifreze anumite părţi ale textului
cifrat, fără a cunoaşte cheia de decriptare.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Criptarea datelor
 Protecţia furnizată de către un sistem de criptare, este măsurată în
dificultatea găsirii valorii cheii de decriptare folosită de către sistem.
 Ameninţările potenţiale la adresa securităţii datelor depind de cât de
multe şi de câte tipuri de informaţii laterale (SI) sunt disponibile unui
intrus. Ameninţarea pentru un sistem de criptare creşte o dată cu cantitatea
de informaţii laterale. Un sistem care poate fi distrus în absenţa
informaţiei laterale este nesigur şi deci lipsit de utilitate. Pentru a fi sigur
şi robust, un sistem trebuie să reziste la o mulţime de atacuri severe, adică
să rămână sigur chiar şi când o mulţime de astfel de informaţii (cu
excepţia cheii) sunt disponibile. În cele ce urmează, sunt discutate
pericolele potentiale la un anumit sistem de criptare, când intrusul are
acces la diverse informaţii laterale.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Criptarea datelor
 O ameninţare la un sistem în care un intrus poate avea acces numai la
textul cifrat, este numit atac la textul cifrat. Un sistem de criptare
vulnerabil la o astfel de ameninţare are un grad redus de utilizare,
deoarece accesul la un text cifrat pe un canal nesigur se poate realiza
foarte uşor.
 Un sistem în care un intrus poate avea acces atât la textul cifrat cât şi la o
cantitate importantă din textul cifrat, poate fi subiectul unui atac cu
cunoştinţe asupra textului clar. Sistemele care rezistă unui astfel de atac
sunt mult mai sigure, deoarece un intrus poate obţine o cantitate
considerabilă de text clar, dintr-un text cifrat. Ameninţarea unui sistem în
care un intrus poate obţine textul cifrat, ce corespunde unui anumit text
clar pe baza alegerii sale, este referit ca un atac bazat pe alegerea textului
clar. De exemplu, aceasta se întâmplă când un intrus reuşeşte spargerea
unui sistem la spaţiul (locul) unde sistemul criptează un text clar ales de
intrus.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7

Criptarea datelor
 La baza proiectării sistemelor de criptare stau principiile lui Shannon:
 Principiile de difuzare cer necesitatea necorelării dintre cheie şi subşirurile de
caractere ale textului clar, astfel încât să se maximizeze lungimea textului clar
necesar pentru a sparge un system;
 Principiile dezordinii cer ca ieşirea să nu fie într-o relaţie evidentă cu intrarea.
 Principiul de bază pe care se sprijină sistemele convenţionale, este punerea în
corespondenţă a literelor alfabetului unui limbaj cu alte litere din alfabet, deduse
pe baza unei proceduri de corespondenţă. Problema care se pune este secretizarea
procedurii de realizare a corespondenţei dintre caractere, care poate fi privită ca o
cheie. Sistemele moderne sunt folosite, în principal pentru cifrarea informaţiei
care este în formă binară. Acest sistem urmează principiului proiectării deschise,
în sensul că algoritmii pe care se bazează criptarea şi decriptarea nu sunt ţinute
secrete. În schimb, numai valorile anumitor parametri (numiţi chei) folosiţi în
criptare şi decriptare sunt păstrate secret. Există şi aici două tipuri de sisteme:
sisteme cu chei private şi sisteme bazate pe chei publice.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Criptarea datelor
 În sistemele cu chei private, cheile folosite atât pentru criptare, cât şi
pentru decriptare sunt păstrate secrete. Pe de altă parte, în sistemele cu
chei publice, cheile pentru criptare sunt cunoscute (publice), dar cheile
folosite în decriptare sunt secrete. Elementul esenţial al sistemului cu chei
publice este că, chiar dacă procedura de calcul a cheii de criptare este
cunoscută, procedura este foarte complicată, astfel încât timpul de calcul
este atât de lung şi numărul de soluţii este atât de mare, încât este puţin
probabil ca sistemul să fie spart. Sistemele cu chei private folosesc
principiile lui Shannan pentru a adăuga mai multă securitate.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Criptografia convenţională
 Criptografia convenţională se bazează pe substituirea cifrului. În
substituirea cifrului, fiecare alfabet într-un text clar, este substituit de către
un alt alfabet. Vom folosi limba engleză pentru a ilustra cele discutate şi
vom folosi corespondenţa numerică a literelor (A↔0,B↔1,….,Z↔25).
 Cifrul lui Caesar. O literă este transformată într-a treia care o urmează în
secvenţa alfabetului, conform funcţiei matematice:
 E : M→M; M=alfabetul≡{0,1,…25}; E(x) = (x+3) mod 26 ; 0 ≤ x ≤25
 Exemplu. Textul clar “Iulius loves Cleopatra” este transformat in
“mxolxv oryhv forsdwnd”. Formula se poate generaliza sub forma:
En(x) = (x+n) mod 26 ; 1≤n ≤25

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Criptografia convenţională
 Dezavantaje:
 Deoarece transformarea este liniară, căutarea pentru a determina cheia este foarte
simplă;
 Numărul cheilor (adică posibilităţle de transformare a literelor) este destul de mic
(numai 25 ).
 Substituirea simplă se bazează pe faptul că orice permutare a literelor
poate fi pusă în corespondenţă cu literele din limba engleză.
 Fiecare permutare a literelor este o cheie; deoarece numărul permutărilor
este 26! si 26 ! >1026, căutarea cheii devine destul de costisitoare.
 Deoarece aceeaşi substituţie este executată la toate apariţiile unei litere în
şir, pe baza unei analize statistice, se poate sparge cifrul. Atacurile de
bază, folosesc ca informaţie proprietăţile statistice ale limbajelor naturale.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Criptografia convenţională
 În limba engleză, “e” este cea mai frecventă literă, urmată de literele
“t,o,a,n,i ” etc.
 Cele mai comune combinaţii de două litere(“digrams”) sunt: “th”, “in”,
“er”, “re”, “an”.
 Cele mai comune combinaţii de trei litere sau trigrame (“trigrams) sunt:
“the”, “ing”, “and”, “ion”.
 Un criptanalist care încearcă să spargă un cifru monoalfabetic, va începe
prin a număra frecvenţele relative ale tuturor literelor din textul cifrat.
 După accea, el trebuie să încerce să asocieze cea mai frecventă literă cu
“e”, următoarea cu “t”.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Criptografia convenţională
 Apoi el trebuie să caute trigramele, să o gasească pe cea mai comună de
forma “tXe”, care sugerează că X este “h”. Similar, dacă apare frecvent
şablonul “thYt”, probabil că Y este “a”. Cu această informaţie, el poate
căuta apariţiile frecvente ale trigramelor de forma “aZn”, care sunt
asemănătoare cu “and” ş.a.m.d.
 Astfel, criptanalistul încearcă să creeze o varianta de text clar.
 O altă variantă, este de a ghici un cuvânt sau o expresie probabilă.
 Din acest punct, deducerea cheii este uşor de realizat, folosind statisticile
de frecvenţe a literelor din textele englezeşti.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Cifrurile cu transpozitie
 Metodele prezentate anterior păstrează ordinea simbolurilor din textul
clar, dar le deghizează. Spre deosebire de acestea, cifrurile cu transpoziţie
reordonează literele, dar nu le deghizează.
 Cifrul are drept cheie un şir de caractere ce nu conţine litere repetate.
Presupunem că cheia este de forma c1c2...cn şi avem ck(1)< ck(2)<… <
ck(n), în care k este o permutare a mulţimii
 {1,…,n}.Putem considera ordinea ASCII a caracterelor.
 Se scrie cheia c1c2...cn
 Textul clar este scris orizontal, pe linii: pe prima linie se scriu primele n
caractere, pe a doua următoarele n ş.a.m.d.
 Textul cifrat se obţine prin citire pe coloane, începând cu coloana de sub
ck(1), apoi coloana de sub ck(2) ş.a.m.d. coloana de sub ck(n) .

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Exemplu
 Cheia este MEGABUCK.
 Textul clar este:
 pleasetransferonemilliondollarstomyswissbankaccountsixtwotwo
 Textul cifrat este:
 afllsksoselawaiatrossctclnmomantlsilynt wrnntsowdpaedobuo

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Exemplu
M E G A B U C K
7 4 5 1 2 8 3 6
p l e a s e t r
a n s f e r o n
e m i l l i o n
d o l l a r s t
o m y s w i s s
b a n k a c c o
u n t s i x t w
o t w o a b c d

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
RC/Securitatea IT

Universitatea “Transilvania” din Brasov


Securitatea IT

1. Societatea informației și a
cunoașterii

costel.aldea@unitbv.ro 2
Societatea informației și a cunoașterii

1.1 eSociety – Societatea electronica


1.2 Securitate IT
1.3 Strategii (politici) de securitate

costel.aldea@unitbv.ro 3
1.Societatea informației și a cunoașterii

Client conectat Actori Internet


Client Wireless

Mobile Client Companie

Sistem deschis de
comunicare

e-business, e-commerce, e-government


B2B, B2C, G2C, P2P
costel.aldea@unitbv.ro 4
1. Societatea informației și a cunoașterii
Rețeaua globală a societății informației și cunoașterii

 Cunoașterea implică resurse, care sunt folosite productiv


Factorii de producție,capitalul și materiile prime vor fi trase înapoi
 Sectorul IT și internetul au dus la apariția unor noi forme de comunicare,de
producție,de comerț online și de servicii benefice populației
Forumuri de discuții online, administrație publică, piață electronică, etc.
 Piața electronică: Magazine online pentru diverse domenii:
cărți,audio/video,electronice,automobile,
licitații online
 Domeniul financiar: tranzacții online, online banking, plata taxe si impozite, etc.
 Apariția unor noi forme de organizare, tehnici și instrumente, chiar și în domenii
importante, cum ar fi domeniul medical, infrastructură, alimentarea cu apă și energie
electrică, etc. eBusiness
eCommerce „eSociety“
eGovernment
costel.aldea@unitbv.ro 5
1. Societatea informației și a cunoașterii

e-Business
• Utilizari ale domeniului IT și ale Internetului în procesul de afaceri interne și externe
• Sistemul ierarhic al unei companii de la furnizori până la clienții posesori de sisteme IT
• e-marketing, e-procurement, e-sales, e-learing, e-recruiting. eB

eG
e-Commerce eC
• Comerț electorinic prin intermediul unor rețele deschise și nesigure între vânzătorul de produse și client
• Dispozitive mobile ca aparaturi personale cu uz general
• Servicii de informare,servicii comerciale,servicii de plată,servicii de informare,etc

e-Government
• Tranzacții juridice și de afaceri în administrația locală,reginală,națională
• Procese electronice administrative(anunțuri de angajare,de relocare,etc)
• Comunicație prin e-mai cu cetățenii

costel.aldea@unitbv.ro 6
1. Societatea informației și a cunoașterii
ee––Business
Businessee –
Era digitală: e– Commerce
Commerce
„eSociety“
e– Society
„eSociety“
ee––Government
Government
 Comunicarea în societate este de neconceput fară sisteme IT!

 Cantități imense de date sunt salvate online,procesate electronic și pot fi accesate prin
intermediul rețelelor deschise și locale atât acasă cât și in instituțiile publice.
 Sistemele de telecomunicații și sistemele IT se dezvolta concomitent.

 Întreprinderile și administrția publică sunt dependente de funcționalitatea proprilor lor


sisteme informatice

 Sistemele IT sunt un factor de producție și reprezintă o rentabilitate sigură a investiției

Dependență generalizată de sisteme IT


Sistemele IT sunt „liantul“ eSociety-ului !
costel.aldea@unitbv.ro 7
1.Societatea informației și a cunoașterii
(A) Schimbări în organizarea afacerilor

Internet ca platforma în domeniul

afacerilor online
Nevoi de securitate

înainte

În prezent

IT-Systeme

costel.aldea@unitbv.ro 8
1.Societatea informației și a cunoașterii
(B) Schimbări în domeniul comunicațiilor
Dispozitive noi
Sisteme distribuite
Nevoi de securitate

Sisteme integrate
Comerț mobil
Servicii web
Sistemele IT și de comunicații sunt
omniprezente
Securitatea IT este esențială pentru o bună și eficientă
comunicare în eSociety
costel.aldea@unitbv.ro 9
1.Societatea informației și a cunoașterii

Realitatea în eSociety:

Creșterea rapidă a
numărului de actacuri
în domeniul IT

Varietate mare de amenințări


=>Risc major!

Sursă: Computer Zeitung


costel.aldea@unitbv.ro Mai 2004
10
1.Societatea informației și a cunoașterii
„Viața de zi cu zi“ B2B
B2B Creșterea nr. deVernetzung
Zunehmende rețele
în eSociety: B2C, G2C Creșterea
Zunehmende Komplexität
complexității
P2P
P2P Formare neadecvată
Unzureichende Ausbildung
 Trimiterea e-mailurilor
• de obicei în text plan,pot fi manipulate
• expeditorul și destinatarul nu sunt autentificați
• atașamentele pot conține viruși,viermi,troieni
• mesajele de tip SPAM sunt deranjante
Creșterea
Zunehmende
 Website-uri
• parolele,nr. cardului bancar,etc pot fi interceptate de altcineva
vulnerabilității
Sicherheitslücken
• descărcările de pe internet pot avea și conținut malware,care Lipsa conceptelor
Unzureichendede
poate fi daunător computerului
•Informațiile pot fi falsificate sau inventate
securitate
Sicherheitskonzepte
Mangelndes
Conștientizarea siguranței
 Utilizarea defectuasă a software-ului(inclusiv SO) Sicherheitsbewußtsein
• instalarea patch-urilor
• atacurile prin metoda exploit sunt în continuă creștere Zunehmende
Creșterea erorilor soft
 Intruziune neautorizată în rețelele private Softwarefehler
• respingerea atacurilor asupra serviciului
costel.aldea@unitbv.ro 11
1.Societatea informației și a cunoașterii

eSociety

Economie, administrație publică și gospodăriilor de a comunica în rețelele de computere deschise


Schimbului de informații, documente și produse

Servicii Informații Comunicare


De ce se dezvoltă
eSociety
Handel
așa de lent?
costel.aldea@unitbv.ro 12
1.Societatea informației și a cunoașterii
Ce este securitatea IT?

 Securitate în Tehnologia informației


 Protecția datelor,a informațiilor și a serviciilor
împotriva persoanelor neautorizate
 Disponibilitate tehnică și stabilitatea sistemelor IT
 Protecția datelor și a informațiilor împotriva distrugerilor
 Protecție împotriva interceptării și modificării datelor
 Autorizarea accesului persoanelor la date,servicii și sisteme IT,
adică definirea responsabilității lor
 Eliminarea erorilor soft din programe
 Protecția componentelor de rețea
 Evitarea erorilor de configurare

costel.aldea@unitbv.ro 13
1.Societatea informației și a cunoașterii

Securitate IT ...
 măsuri generale de protecție
 Backup periodic al datelor
 Controlul accesului la sistemele IT(PC,Server,
clădirea de birouri)
 Social Engineering (campanii de sensibilizare,
de formare,de control,etc.)
„ Protecție împotriva oamenilor,a sabotajelor și a spionajelor
industriale,etc.
„ Protecție împotriva calamităților,a intemperiilor,a furtunilor,
a inundațiilor,etc.

costel.aldea@unitbv.ro 14
1.Societatea informației și a cunoașterii
Securitatea IT este costisitoare!
o Securitate costă bani și sistemele IT sigure sunt scumpe,iar
securitatea absolută nu poate fi realizată!
o Costurile și beneficiile măsurilor de securitate ce sunt
implementate trebuie să fie rezonabile
o Analiză de risc pentru a determina riscul acceptat
o Determinare costurilor măsurilor de securitate,pentru a se
afla dacă riscul rămas este asigurat

Securitatea IT este dependentă de resursele


financiare disponibile!

costel.aldea@unitbv.ro 15
1.Societatea informației și a cunoașterii
Securitatea IT
 Realizează în siguranță transmisia de date in rețea

 Înseamnă siguranța propriei rețele de calulatoare

 Este protecție împotriva oamenilor care folosesc fără


autorizare,în scop propriu,informații și servicii din rețeaua
de calculatoare sau atacă sistemele IT aparținând altor
societăți,provocând acestora pagube serioase

 Nu este un produs,ci un proces,inlcuzând partea


Hardware,Software,precum și oameni.
costel.aldea@unitbv.ro 16
1.Societatea informației și a cunoașterii

Securitatea IT se referă la

• Aspecte tehnice, organizatorice și juridice

• Măsuri orientate în funcție de domeniu, corporative și


la nivel de întreprindere

• Precauții la nivel personal asupra conținutului,


sistemului de aplicare, la nivel rețea și la nivel
fizic

costel.aldea@unitbv.ro 17
1.Societatea informației și a cunoașterii
Ce este securitatea in Internet?
 Protecția sistemelor IT împotriva pericolelor existente în internet
ca unire dintre mai multe rețele de calculatoare diferite din punct
de vedere fizic.
 Este parte a securității în domeniul IT
 Afectează toate persoanele care au o conexiune la internet
 Este dependentă de modul și scopul în care computerul este
legat la Internet
• Numai pentru căutarea informațiilor
• Pentru prelucrarea unor procese de afaceri,cum ar fi
Home Banking,magazine online,etc
 Protecție împotriva conținutului malware(Viruși, viermi,
cai troieni, etc.)

costel.aldea@unitbv.ro 18
1.Societatea informației și a cunoașterii
Securitatea internetului ...
 Confidențialitatea și integritatea datelor importante
 Autentificarea oamenilor, procese și alte resurse
 Ghiduri de configurare pentru Browser, Server, Clients
 Instalare firewall,proxy,etc
 Asigură Remote Acces prin Internet la rețele locale
 Legături între sedii ale unor firme prin Internet
 Protecția componentelor de rețea, printre care și serverul web
 Raportarea conectărilor la server,la router,etc

costel.aldea@unitbv.ro 19
1.Societatea informației și a cunoașterii

Securitatea Internetului...
 reguli generale de folosire a Internetului
• Computerul personal nu trebuie folosit pentru a afecta alte persoane sau
computere(din „Zece porunci pentru etica computerelor”)
• Verificarea zilnică a poștei electronice

Securitatea internetului înseamnă înseamnă o conexiune


sigură la internet public.

Securitatea internetului este o componentă esențială a


Securității IT a unei companii,când rețeaua internă este
conectată la un internet public

costel.aldea@unitbv.ro 20
1.Societatea informației și a cunoașterii

Policiti de securitate

„ bazate pe obiectivele și cerințele


de securitate ale întreprinderii
„ este un concept global cu orientări și politici pentru
Domeniul securității IT și managementul riscurilor IT
„ bazat pe riscurile identificate și cerințele de
securitate care rezultă
„ include măsurile technice,organizatorice și legale necesare
pentru a fi atinse obiectivele de securitate dorite
(managementul securității)

costel.aldea@unitbv.ro 21
1.Societatea informației și a cunoașterii
Scopurile securității Analiza amenințarilor

Corecturi
Analiza riscurilor

Procesul securității
ca ciclu de
Controlul
proces Cerințe de securitate respecării
global conceptelor
de securitate
și
a bilanțului
Conceptul de securitate normal
Măsuri,reguli,reglementări

costel.aldea@unitbv.ro Punerea în aplicare 22


1.Societatea informației și a cunoașterii
Concepte de securitate IT

Strategie pentru realizarea și asigurarea securității IT cu privire


la riscul acceptat în conformitate cu fondurile financiare
disponibile și respectarea legilor
ƒ bazat pe o analiză a riscurilor si apoi pe cerințele de securitate
care rezultă în urma acesteia
ƒ servește pentru a identifica și elimnia vulnerabilităților prin implementarea
unor măsuri adecvate
ƒ se referă la măsuri în technologie și organizare implicând toți factorii
de decizie și respectarea cerințelor legale
ƒ definește limitele unui comportament acceptat și reacția la încălcarea
acestora

costel.aldea@unitbv.ro 23
1.Societatea informației și a cunoașterii

Stuctura sistemului IT

Măsuri de Criterii de
securiate securitate

Conceptede
Concepte de
securitate
securitate

cerințe
Analiza de risc
de securitate

costel.aldea@unitbv.ro Personal 24
1.Societatea informației și a cunoașterii
Politica de securitate ca proces ciclic

Politică

Îmbunătățire continuă!
Tehnică
Grad tot mai mare de
diferențiere!
Creșterea profunzimii!
Securitatea IT se va dezvolta!
costel.aldea@unitbv.ro 25
1.Societatea informației și a cunoașterii
Recapitulare
ƒ Se observă creșterea continuă a companiilor care dispun de un sistem
informatic;eSociety ne influențează viața de zi cu zi;dependența de sisteme
IT și de funcționalitățile acestora crește în fiecare zi
ƒ Sistemele și serviciile IT trebuie protejate împotriva atacurilor;atacurile
sunt diverese;trebuie implementate măsuri de securitate adecvate;
ca politici de securitate
ƒ Conexiunea la internet conține riscuri și amenințări adiționale,așadar
măsurile de securitate sunt necesare pentru orice sistem ce este
conectat la internet
ƒ Politica de securitate IT cu măsurile de securitate pentru atingerea
unor anumite scopuri este un proces ciclic
ƒ Aceste reguli trebuie conștientizate de toți care posedă un sistem IT!
ƒ Securitatea IT asigură rentabilitate și profit companiilor
costel.aldea@unitbv.ro 26
Recapitulare IT Security
ƒ S
ƒ E
Ce părere aveți?
ƒ C
ƒ U
ƒ R
ƒ I
ƒ T
ƒ A
ƒ T
ƒ E Internet Rețeaua
de acasă
costel.aldea@unitbv.ro 27
Securitate in IT

Universitatea “Transilvania” din Brasov


3. Principiile
criptografiei
Cuprins: Securitatea in
Tehnologia Informatiei

3 Principiile criptografiei
3.1 Criptare si confidentialitate
 Substitutie mono- si polialfabetica
 On-time Pad
 Steganografia
3.2 Sisteme de criptare si confidentialitate
 Metoda simetrica si asimetrica
 Sisteme hibrid
 Criptosisteme cu cifruri bloc si cu cifruri secventiale
3.3 Valoarea Hash si integritatea datelor
 Functia hash
 Integritatea datelor
3.4 Semnatura digitala si autentificare
 Semnatura digitala
 Semnatura digitala standard
3.5 Criptare pe curbe eliptice

costel.aldea@unitbv.ro 3
Tipul de amenintare Modul de securitate
Cai Troieni Confidentialitatea
Ingineria Sociala

Attack Applets
Virusuri Integritatea
Cai Troieni
 Mail-Spoofing, IP-, ARP-,
DNS-Spoofing Autentificare
Violarea politicii de securitate

Respingerea de comenzi Non-repudierea

Passwort Cracking, Session-Hijacking


ICMP-Tunneling Controlul accesului

costel.aldea@unitbv.ro 4
Principiile criptografiei
Metode criptografice

Codarea Integritatea Autentificarea

Metodele criptografice constituie baza teoretica


pentru aplicatii de securitate in retele de calculatoare!
costel.aldea@unitbv.ro 5
Codarea
Principiile codarii

m c m
c = E(m) m = D(c)

m c m
c = E(m,K) m = D(c,K)

costel.aldea@unitbv.ro 6
Codarea
Metode de codare

Metoda cu cheie privata Metoda cu cheie publica

Cheie secreta Cheie secreta si cheie publica


Operatii aritmetice simple Operatii aritmetice complexe
Codarea cantitatilor mari de date Codarea cantitatilor mai mici de
date

Metoda hibrid

costel.aldea@unitbv.ro 7
Codarea
Metode de codare

Metoda cu cheie privata Metoda cu cheie publica

Atacator

Transmitator
Receptor cu
cu text
text simplu
simplu

Cifrare Descifrare
Metode simetrice
DES, 3DES, IDEA, AES

c = E(m,K ) D( c,K ) = m

Canal nesigur

costel.aldea@unitbv.ro 8
Codarea
Metode simetrice
DES, 3DES, IDEA, AES
Metode de codificare

Metoda cu cheie privata Metoda cu cheie publica

Atacator

Metode asimetrice
RSA, DH, ElGamal,
Cifrare
EC-DH, EC-ElGamal

Canal nesigur

costel.aldea@unitbv.ro 9
Codarea
Exemplu Algoritmul RSA

 Dezvoltare Ron Rivest, Adi Shamir, Leonard Adleman, 1978, bazat pe factorizare.

p,q prim n = p* q φ ( n ) = ( p − 1)* ( q − 1) d ∈Ζφ ( n ) = {0,1,...,φ ( n ) − 1},d ≠ 0


 Initializare ggT( d ,φ ( n )) = 1 e* d =1 mod φ ( n )

 Codare

Apoi :
 Decodare

costel.aldea@unitbv.ro 10
Codarea
Calcul: Algoritmul RSA
 (1)
p = 47 q = 59 n = 2773 φ ( n ) = 46 * 58 = 2668
d = 157 0 < e < 2668 e* 157 = 1 mod 2668 e = 17
Cheie
Codare
Decodare
 (2)
p = 3 q = 17 n = 51 φ ( n ) = 2* 16 = 32
d = 13 0 < e < 32 e * 13 = 1 mod 32 e=5 Sei m = 19
Cheie
Codare

Decodare
costel.aldea@unitbv.ro 11
Integritatea
Principiul functiei Hash

Mesaj m = (10011010...1000110 )
Cu lungime arbitrara
Functia Hash m → h = H ( m )
Comprimare

 Functia disponibila
H(m) ⇒ m

 Rezistenta la coliziune
Valoarea hash h = (01...101)
m ≠ m′ ⇒ H(m) ≠ H(m′ )
Cu lungime fixa (128, 160 Bit)

costel.aldea@unitbv.ro 12
Integritatea
Verificarea datelor

Transmitator Receptor cu
Atacator Integritatea
cu text simplu text simplu
datelor
m m

Da
m,h
h = H(m)
H h′ = h
Nu
mext := [m,h]

Pierderea
h′ = H(m) datelor

Canal nesigur

costel.aldea@unitbv.ro 13
Integritatea
Functia Hash

Compresia, Sens unic, Rezistenta la coliziuni

Modificarea
Cod de
codului de
autentificare
detectare
Mesajul de lungime arbitrara este Parametrizare prin metoda de criptare
comprimat prin metoda speciala de simetrica cu cheia secreta.
comprimare la cativa octeti.

Metoda: MD5 (128 Bit), SHA (160 Bit) Metoda: MAC-DES

Metoda: HMAC
costel.aldea@unitbv.ro 14
Integritatea
Algoritmul HMAC

Algoritmul HMAC a fost dezvoltat in anul 1996 si este cel mai frecvent MDC bazat pe algoritmul
MAC. Dintr-un mesaj m de lungime arbitrara si o cheie secreta K se creaza o valoare fixa H, dupa cum
urmeaza:

 Functia Hash H(m) (meist MD5 oder SHA-1) Cheie secreta K


Mesajul m descompus in blocuri de 64 biti.
Cheia secreta K este umpluta cu zerouri pana la lungimea blocului.

 Cheie de ajtor

Valoarea Hash

costel.aldea@unitbv.ro 15
Autentificarea
Principiul semnaturii
digitale
Autentificarea
transmitatorilor
Atacator necunoscuti si
integritatea datelor.

Da

h′ = h
Nu

Metoda semnaturii
DSA, RSA, RIPEMD, ElGamal,
EC-DSA, EC-ElGamal

Canal nesigur
costel.aldea@unitbv.ro 16
Autentificarea
Strucutura de baza: Metoda
semnaturii digitale

 Parametru Perechi de chei de la statiile de comunicare


Functia Hash

Generarea de semnatura Generarea mesajului transmis


(a) Valoarea Hash
(b) Parametrul semnaturii

 Examinarea semnaturii Calcularea measjului primit


(a)Valori ajutatoare
(b)Valoarea de comparare pentur parametrul semnaturii
(c)Testul de comparare

costel.aldea@unitbv.ro 17
Autentificarea
Exemplu: Algoritmul semnaturii
digitale(DSA)

 Dezvoltare: Dezvoltat de NSA, in functie de problema logaritmului discret.

 Setup:

Generare:

Verificare:

costel.aldea@unitbv.ro 18
Trust Center
Cheile publice trebuie sa fie autentificate!!!
Hierarchical Trust
PKIX-Standard

Trust Center, Certification Service Provider


(Certification Authority)

Serviciul de certificare Serviciul de registrare

Verzeichnisdienst Zeitstempeldienst

Generarea cheii
Cheie cu informatie suplimentara (CA-Signatur)
 Salvarea si distribuirea cheii
Tasta de blocare sau reeditare (Zertifikate-Management)

costel.aldea@unitbv.ro 19
Recapitulare IT Security
ƒ S
ƒ E
Ce părere aveți?
ƒ C
ƒ U
ƒ R
ƒ I
ƒ T
ƒ A
ƒ T
ƒ E Internet Rețeaua
de acasă
costel.aldea@unitbv.ro 20
Proxy
Kerberos
Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Servicii proxy
 • Un proxy-server este un program care rulează pe o maşină,
componentă a firewall-ului numita gazdă bastion, datorită rolului de
"fortăreaţă" pe care îl îndeplineşte în apărarea reţelei(figura urm).
 Ca urmare a acestui rol, trebuie luate o serie de măsuri pentru asigurarea
securităţii sale:
 • • Pe gazda bastion nu vor exista, pe cât posibil, conturi de utilizatori
 - deoarece acestea expun gazda unor atacuri de tip "password guessing";
de asemenea, utilizatorii pot instala şi rula programe proprii care pot
constitui ameninţări pentru securitate. Este de preferat să existe un singur
cont (al super-user-ului).
 • • Pe gazda bastion nu trebuie să se gasească instrumente (de exemplu,
compilatoare) care ar putea ajuta un eventual atacator; în general, pe
gazda bastion trebuie să existe doar acele programe (proxy-servere), strict
necesare pentru îndeplinirea rolului său.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Servicii proxy
 • • Sistemul de operare trebuie să fie cât mai simplu, având activate
doar opţiunile strict necesare.
 • • Trebuie să existe proceduri de backup periodic, inclusiv al fişierelor
de log. În cazul unui atac, fişierele de log pot furniza informaţii cu privire
la natura acestuia.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Servicii proxy
Host 1
Conexiun
Conexiun e proxy-
e Client server
proxy- server
Host 2 server real

Firewall Serv
Proxi - er
Host 3 server real

Host 4
Reteaua
interna

Arhitectură cu gazdă duală

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Servicii proxy
 • De obicei, gazda bastion este o poartă (gateway). Din aceasta cauză,
un proxy server mai este denumit şi poartă la nivel aplicaţie (application
gateway). De obicei, o sesiune de comunicaţie în Internet se desfăşoară
după modelul client-server: clientul emite o cerere către un server (de
exemplu, transferul unei pagini Web) iar acesta răspunde cererii. În cazul
serviciilor proxy, comunicaţia se desfasoară astfel:
 • 1. Clientul emite cererea către proxy server (nu către serverul real),
comunicându-i acestuia destinaţia dorită (serverul real care va răspunde
cererii);
 • 2. Proxy-serverul analizează cererea şi, dacă aceasta respectă
politica de securitate a organizaţiei, este trimisă serverului real.
 • 3. Serverul răspunde cererii, răspuns care se întoarce la proxy-server.
 • 4. Proxy-serverul analizează răspunsul şi dacă aceasta
respectă politica de securitate a organizaţiei, este trimis clientului.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Servicii proxy
 Ca urmare, nu mai este creată o singură conexiune client-/server, ci
două: client/proxy-server şi proxy-server/server-real. Serverul nu este
conştient de existenţa clientului; el comunică doar cu proxy-serverul.
Clientul nu comunică direct cu serverul, ci doar cu proxy-serverul. Pentru
ca aceasta schemă să funcţioneze, trebuie ca între client şi server să nu
existe conectivitate directă (la nivel IP); în caz contrar, clientul poate
trimite cererea direct către serverul real, eludând astfel proxy-serverul.
Din această cauză, opţiunea de routare pe gateway (transfer automat al
pachetelor dintr-o reţea în cealaltă) va fi dezactivată.
• Fiecare proxy-server va avea un set de reguli (analoge celor de la
ruterele protectoare), care implementează politica de securitate a
organizaţiei relativ la protocolul respectiv.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Servicii proxy
 • Avantajul proxy-serverelor, este că ele înţeleg protocolul pentru care
au fost proiectate, făcând astfel posibil controlul la nivel aplicaţie, care
constă din:
 • • Autentificare - aceasta permite selectarea utilizatorilor (interni sau
externi) care au dreptul să acceseze un anumit serviciu.
 • • Filtrarea individuală a operaţiilor protocolului - de exemplu, cu
ajutorul unui proxy-server pentru FTP poate fi implementatăo politică de
securitate care permite aducerea dar interzice exportarea de fişiere;
 • • Monitorizarea - înregistrarea în fişierele de log a sesiunilor de
reţea.
 • Principalul dezavantaj al proxy-serverelor îl constituie faptul că, prin
existenţa a două conexiuni în loc de una, se modifică procedura de
utilizare a serviciilor Internet. Acest lucru impune modificarea fie a
programelor client, fie a modalităţii de apel al acestora de catre utilizatori.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Servicii proxy
 • Rezultă astfel două abordări posibile:
 • • Utilizarea de clienţi normali şi modificarea comportamentului utilizatorilor:
aceştia nu se mai pot conecta direct la serverele dorite, ci trebuie să se conecteze
mai intâi la firewall( proxy-server) si să-i "spună" acestuia destinaţia dorită, într-
un limbaj specific fiecărui proxy-server. Această metodă impune utilizatorilor un
mod de lucru mai greoi. În particular, utilizatorii trebuie să folosească proceduri
diferite pentru accesarea serverelor din reţeaua internă a organizaţiei (pentru
aceasta nu trebuie sa treacă prin firewall), faţă de cele externe (din Internet).
 • • Utilizarea de clienţi modificaţi sau configuraţi corespunzător pentru
"conlucrarea" cu proxy-serverul. În acest caz, utilizatorul nu va sesiza prezenţa
proxy-serverului (exceptând cazul când este necesară autentificarea de către
firewall): clientul va efectua automat toate procedurile privind conectarea prin
firewall. Astfel de clienţi există în prezent pentru o serie de protocoale, ca FTP sau
HTTP. De exemplu, Netscape Navigator sau Internet Explorer pot fi configurate
să se conecteze prin intermediul unui proxy-server.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Arhitectura cu subreţea
protejată (screened subnet)
 În această arhitectură, bastionul nu se mai află în reţeaua internă, ci
este despărţit de aceasta printr-un al doilea ruter protector, numit router
interior. Cele două routere delimitează o reţea intermediară, care separă
reţeaua internă de cea externă (Internet). Pe această reţea (numită şi DMZ
- DeMilitarized Zone) se află gazda (sau gazdele) bastion (vezi figura
urm).
 • Astfel, dacă un atacator reuşeşte să compromită fie routerul exterior,
fie un gazda bastion, el nu are acces imediat 1a reţeaua internă. Datorită
routerului interior, prin reţeaua intermediară nu circulă informaţie internă,
deci interceptarea traficului în această reţea nu va divulga informaţie
 confidenţială. Routerul exterior separă reţeaua intermediară de cea
externă. Permite traficul doar între reţeaua intermediară (bastion host-uri)
şi reţeaua externă, traficul direct între reţeaua internă şi cea externă este
interzis. Principalul său rol este de a proteja reţeaua intermediară (bastion
host-urile) împotriva atacurilor provenite din reţeaua externă.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Arhitectura cu subreţea
protejată (screened subnet)
 • Ruterul interior separă reţeaua internă de reţeaua
intermediară, permiţând traficul doar între cele două; traficul direct între
reţeaua internă şi cea externă este interzis. Se observă că traficul direct
intre reţeaua internă şi cea externă este interzis atât de routerul interior, cât
şi de cel exterior.
 • Această arhitectură oferă cel mai înalt grad de protecţie, însă are
costul cel mai mare, datorită prezenţei a două routere. În reţeaua
intermediară pot exista mai multe gazde bastion (fiecare rulând proxy-
servere diferite), dar această configuraţie este foarte costisitoare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Arhitectura cu subreţea
protejată (screened subnet)
Bastion host
Bastion host
Proxi server
Proxi server
Ruter
interior Ruter
exterior
Host 2

Serve
r real
Host 3

Proxi server
Host 4

Subretea
Reteaua interna protejata

Arhitectura cu subreţea protejată

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Kerberos
 • Autentificarea (authentication) este procesul prin care se verifică
identitatea unei instanţe (de exemplu un utilizator) care a produs nişte
date.
 • Să observăm că pentru a putea vorbi despre autentificare trebuie să
avem o noţiune de identitate a utilizatorilor. Calculatorul trebuie să poată
distinge diferiţii indivizi care îl folosesc. Trebuie să existe un spaţiu de
nume pentru utilizatori; autentificarea va pune în corespondenţă o entitate
activă cu un astfel de nume.
 • În Unix numele utilizatorilor autorizaţi sunt trecute într-o mică bază de
date/etc/passwd (sistemele mai moderne au scheme mai complicate, dar
înrudite); pentru un sistem Unix a autentifica un utilizator constă în a
asigna unul dintre aceste nume cunoscute unui set de procese executate de
acel utilizator. Dacă un individ nu are un nume în acel fişier atunci el nu
există pentru calculator.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Kerberos
 • Cu alte cuvinte, pentru a putea vorbi despre autentificare trebuie ca
părţile implicate în comunicare să aibă un spaţiu de nume comun pentru
utilizatori.
 • Protocolul Kerberos a fost proiectat la Universitatea MIT
(Massachusetts Institute of Techonology) în cadrul proiectului Athena, în
jurul anului 1984. Scopul protocolului Kerberos este de a permite unui
client să-şi demonstreze identitatea unui server aflat la distanţă,undeva
dincolo de o reţea complet nesigură.
 • Protocolul garantează, de asemenea că clientul nu poate conversa cu
un calculator care se dă drept server; autentificarea se face în ambele
direcţii.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Kerberos
 Protocolul în sine constă dintr-un schimb de mesaje între un client şi o
serie de servere, fiecare cu o altă misiune. Idea de bază aparţine lui
Needham şi Schroeder care au publicat-o în 1978 în Comm. of the ACM.
Descrierea detaliată a protocolului se găseşte în documentul numit RFC
1510, disponibil de pe Internet.
 • Cei care administrează Kerberos pot pune întrebări pe grupul de
 News comp.protocols.kerberos.com
 • Protocolul Kerberos indică de fapt o serie de mesaje care trebuie
schimbate între părţile care doresc să comunice; unele din mesaje sunt
criptate. Ca funcţie de criptare/decriptare se foloseşte DES (Data
Encryption Standard).
 • Kerberos este un protocol; pentru a fi util anumitor aplicaţii (cele care
au nevoie de comunicaţie client-server),acestea trebuie modificate pentru
a folosi autentificarea oferită de Kerberos. (Aplicaţiile modificate sunt
atunci numite ``kerberized'').
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Kerberos
 • În mod normal într-un domeniu administrativ în care se foloseşte
Kerberos programe ca telnet, rlogin, POP (post-office protocol), fişiere la
distanţă (AFS), etc. trebuie rescrise în aşa fel încît clientul să se autentifice
serverului folosind noua metodă (toate aceste aplicaţii sunt de tip client-
server).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Principii
 Premiza iniţială este că există un server central, numit server de
autentificare (AS), care cunoaşte identităţile tuturor clienţilor posibili.
 • Fiecare client a stabilit o parolă secretă pe care şi acest server o ştie.
 Parola ajunge la server printr-o cale sigură; aceasta parola nu este
cunoscută de nimeni altcineva, nici măcar de celelalte servere cu care
 clientul va comunica (de la care va obţine serviciile care-l interesează).
 • Toate celelalte servere din domeniul administrativ sunt şi ele clienţi ai
AS: au o parolă unică ştiută numai de AS şi de acel server.
 • Niciodată parola nu va circula în clar pe reţea; atunci oricine ar putea
să o citească şi să o folosească în locul clientului de drept.
 • Pentru a se proteja împotriva intruşilor care pot înregistra sau şterge
mesaje, acestea vor contine informaţii ca ora la care au fost trimise şi un
număr de ordine (pentru a detecta omisiunile).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Principii
 • Cheile folosite în comunicarea dintre client şi servere se schimbă
frecvent.
 Implementarea standard expiră o cheie după 25 de ore. În felul acesta un
atac criptanalitic nu va avea prea mult succes: dacă durează mai mult de
25 de ore atunci cheia descoperită este deja inutilă (eventualele mesaje
deja interceptate şi stocate vor putea fi citite, dar stricăciunile sunt
limitate).
 Cheia pe care un client şi un server o folosesc în comun se numeşte cheie
de sesiune şi este generată aleator.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Mesajele (protocolul Needham-
Schroeder)
 • Să presupunem că un client vrea să dialogheze cu un server de fisiere.
 Protocolul esenţial este compus din 4 mesaje (protocolul real este o simplă
 extensie a ideii prezentate):
 - Un mesaj de la client spre AS, prin care se indică intenţia de a comunica
cu serverul de fisiere;
 - Un mesaj de răspuns de la AS pentru client, prin care AS îi trimite
clientului noua cheie de sesiune şi un pachet pentru serverul de fisiere;
 - Un mesaj de la client spre serverul de fisiere, în care este inclus
pacheţelul de mai sus, pentru a garanta faptul că clientul a discutat cu AS
(pacheţelul poate veni numai de la AS);
 - Un mesaj de răspuns de la serverul de fisiere prin care clientul este
convins că serverul a putut deschide pacheţelul, deci că discută într-adevăr
cu acest server.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Mesajele (protocolul Needham-
Schroeder)
 • După acest schimb iniţial de mesaje, clientul şi serverul de fisiere vor
folosi cheia de sesiune generată de AS pentru a cripta cu DES toată
comunicaţia dintre ei.
 • Vom vedea că mesajele sunt relativ încîlcite pentru a preveni toate
atacurile de mai sus. Dacă veţi încerca să simplificaţi protocolul aproape
sigur îl veţi face vulnerabil la anumite tipuri de atacuri.
 • Să notăm cele 3 entităţi care colaborează astfel: C clientul, AS
serverul de autentificare şi S serverul de fisiere(vedeţi şi figura urm.).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
Mesajele (protocolul Needham-
Schroeder)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
Mesajele (protocolul Needham-
Schroeder)
 • Vom mai introduce următoarele notaţii:
 - Ka,b este cheia de sesiune pe care o folosesc pentru conversaţie a şi b;
de exemplu KC,S va fi cheia folosită pentru criptare/decriptare între client
şi serverul de fis.; cum am spus mai sus, AS este serverul de autentif., care
ştie parola fiecărei alte entităţi din sistem.
 - Kz este cheia pe care clientul z şi AS o folosesc în comun (parola
clientului z); de pildă Ks este parola serv. de fis. (cunoscută numai de el şi
de AS);
 - {mesaj1, mesaj2}K indica faptul că mesajele 1 şi 2 sunt puse într-un
pachet care este apoi criptat cu cheia K.
 - tichet (ticket): Ta,b = { Ka,b, a, ora curenta };
 un mesaj în care sunt împachetate 3 informaţii: o cheie de sesiune
 între a şi b, numele lui a şi ora curentă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
Mesajele (protocolul Needham-
Schroeder)
 Cu aceste notaţii putem scrie complet ne-ambiguu toate mesajele
schimbate între C, S şi AS. Săgeata indică traseul fiecărui mesaj: C --->
AS: C, S, ora expirare, N (aleator).
 Clientul afirmă propria identitate, identitatea serverului cu care vrea să
discute, trimite un număr aleator şi cît timp ar dori să converseze cu S.
 • AS va răspunde astfel: AS ---> C$: {KC,S, S, ora expirare, N}KC,
 {TC,S}KS .
Acest mesaj complicat are două părţi mari: prima este destinata clientului,
şi este criptată cu cheia clientului KC, iar a doua este un tichet pentru S,
criptat cu cheia lui S. Să vedem la ce folosesc părţile din mesaj:

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
Mesajele (protocolul Needham-
Schroeder)
 • Prima parte a mesajului este criptată cu cheia KC a lui C. Pentru că
această cheie este secretă, nimeni altcineva nu poate decripta acest mesaj
decît C; la fel stau lucrurile şi pentru partea a doua a mesajului, care fiind
criptată cu KS este inteligibilă numai pentru S.
 • KC,S este un număr aleator generat de AS, care va fi folosit ca cheie
de sesiune între C şi S; observaţi că cheia de sesiune apare în ambele părţi
ale mesajului, în aşa fel încît va fi cunoscută atît de către C cît şi de S.

 • AS îi confirmă lui C identitatea serverului de disc S şi indică durata


de validitate a lui KC,S (care poate fi diferită decît a dorit C în primul
mesaj).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
Mesajele (protocolul Needham-
Schroeder)
 • Faptul că N apare în mesajul către C garantează că acest mesaj a fost
criptat de AS; de asemenea, acest mesaj nu putea fi un mesaj mai vechi
dintr-o comunicaţie anterioară, pentru că N diferă.
 • Partea a doua a mesajului este opacă pentru C; tot ce poate face C cu
ea este să o înainteze lui S; C (sau oricine altcineva) nu o poate citi; dacă
cineva ar modifica partea a doua, S nu ar mai putea-o decodifica şi obţine
un mesaj corect, deci tichetul nu poate fi contrafăcut sau modificat.
 • C ---> S: {C, ora curenta, suma de control}KC,S, {TC,S}KS.
 • Mesajul are din nou două părţi.
 -Partea a doua este exact partea a doua a mesajului 2, aşa cum a fost
primită de la AS.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
Mesajele (protocolul Needham-
Schroeder)
 - Prima parte a mesajului are scopul de a demonstra că acest mesaj este
 ``proaspăt'': S va extrage KC,S din partea a doua a mesajului şi o va folosi
pentru a citi prima parte a mesajului. De acolo află ora la care a fost trimis
mesajul, şi îl rejectează dacă ora diferă prea tare de ora locală. (Asta ar
putea să însemne că mesajul a fost capturat de un inamic şi re-lansat).
Suma de control ne asigură că mesajul nu a fost modificat de nimeni; este
 practic imposibil să modifici un mesaj criptat şi să repari şi suma de
control dacă nu ştii cheia.
 • S ---> C: {ora curenta+1}KC,S.
 • Prin acest mesaj S în convinge pe C că a ajuns la destinaţia
dorită: mesajul are ora curentă trimisă anterior de C plus 1. Dar ora putea
fi extrasă numai de cel care avea KC,S, care fiind o cheie de sesiune era
ştiută numai de S. Nu era suficient să returneze aceeaşi valoare, pentru că
atunci acest mesaj putea fi o copie a (unei părţi a) mesajului anterior.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
Mesajele (protocolul Needham-
Schroeder)
 La sfîrşitul acestei comunicaţii atît C cît şi S sunt siguri de identitatea
celuilalt şi în plus au la dispoziţie o cheie de sesiune KC,S cu care pot
cripta toate mesajele pe care le schimbă. Autentificarea a fost făcută.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
Implementarea Kerberos
 • Implementarea lui Kerberos încearcă să ţină cont de anumite
particularităţi ale lumii reale care fac realizarea protocolului mai dificilă.
 • Prima întrebare: unde este stocată parola fiecărui client KC, KS, etc.
AS trebuie să fie o maşină foarte sigură; dacă parola unui client este
stocată pe disc, atunci este mai putin protejata. Deci Kerberos nu
memorează parola nicăieri! Utilizatorul este obligat să o tasteze de fiecare
dată cînd vrea să fie autentificat.
 • Observaţi că KC este folosită în mesajele de mai sus numai pentru a
decripta mesajul 2; în rest este inutilă.
 • Deci procedura este următoarea: programul kerberizat al clientului va
lua legătura cu AS, iar cînd răspunsul soseşte utilizatorul trebuie să tasteze
parola KC. Parola este imediat folosită pentru a decripta mesajul de la AS
după care este complet ştearsă din memorie. În acest fel fereastra de
vulnerabilitate este redusă la maximum.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
Implementarea Kerberos
 • Pe de altă parte, utilizatorul va trebui să tasteze parola pentru fiecare
nou server S pe care vrea să-l folosească (adică pentru fiecare nouă
sesiune). Situatie care mareste efortul. Kerberos a introdus atunci un al
doilea server central numit ``Serverul care dă tichete'‘(TGS- Ticket
Granting Server). Ideea este TGS are de fapt toate parolele KS. Clientul C
se autentifică la TGS exact în acelaşi fel ca la oricare server S, obţinînd un
tichet de la AS.
 Odată autentificat la TGS şi folosind cheia de sesiune KC, TGS clientul
poate solicita oricîte chei pentru alte servere S, S1, etc.
 • Figura urm. arată o situaţie reală: mesajele 1,2 sunt schimbate numai
cînd utilizatorul se logineaza. Mesajele 3,4 sunt schimbate de fiecare dată
cînd utilizatorul vrea să contacteze un nou server (adică să deschidă o
nouă sesiune).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
Implementarea Kerberos
 Mesajul 5 este folosit de client pentru a se autentifica fiecărui nou server,
iar mesajul 6 este opţional, autentificînd serverul pentru client. În mesajul
5 apare un element nou, numit Ksubsesiune: clientul poate alege aici o
nouă cheie de sesiune care să fie folosită în locul cheii oferite de TGS,
KC,S.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
Implementarea Kerberos
 • Schimbul complet de mesaje în protocolul Kerberos, este prezentat in
tab. urm.
 • Kerberos este implementat sub forma unor procese server (AS, TGS)
şi a unor biblioteci care se pot lega în programele clienţilor şi serverelor.
Funcţionează sub o mare varietate de sisteme de operare( Unix,Windows).
Mai are si alte aspecte( de autentificarea între domenii administrative
diferite, transmiterea tichetelor, etc.)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
Implementarea Kerberos
Nr Între Conţinutul mesajului
1 C ---> AS C, TGS, ora de expirare, N
2 AS ---> C KC, TGS, ora de expirare, N}K_C,
{TC,TGS}KTGS
3 C ---> TGS {ora locala}KC,TGS, {TC,TGS}KTGS, S, ora
de expirare, N1
4 TGS ---> C KC,S, S, ora de expirare, N1}KC, TGS,
{TC,S}KS
5 C ---> S {ora locala, suma de
control,Ksubsesiune}KC,S, {TC,S}KS
6 S ---> C {ora locala}KC,S

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
Slăbiciunile lui Kerberos
 • Chiar dacă în teorie Kerberos este minunat, implementarea lui în
practică este cel puţin dificilă. Condiţiile ideale existente pe hîrtie sunt
greu de obţinut într-o reţea de calculatoare reale.
 • La ora actuală nu există nici un fel de metodă complet riguroasă
pentru a arăta ca un protocol criptografic nu scapă informaţii; există
metode pentru a testa dacă un protocol rezistă la atacurile cunoscute, dar
foarte adesea se publică algoritmi care mai tîrziu se dovedesc greşiţi. În
general, raţionamentele cu astfel de protocoale sunt foarte complicate.
Cercetarea în domeniu este în plină desfăşurare şi foloseşte tehnici ca
teoria informaţiei, teoria complexităţii, logici speciale (ex. knowledge
theory), etc.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Slăbiciunile lui Kerberos
 • Voi ilustra aici numai unele dintre deficienţe, pentru a da o idee
despre natura lor.
 • Să observăm că clientul trebuie să păstreze undeva cheile de sesiune
pentru a putea conversa cu serverele: fiecare mesaj după cele de
autentificare va fi criptat cu aceste chei. Clientul trebuie să posede deci
practic permanent KC, TGS şi KC,S. E adevărat că aceste chei expiră în
25 de ore, deci sunt mai puţin importante decît o parolă care teoretic este
folosită luni întregi. Întrebarea este însă: unde sunt ţinute pe calculatorul
clientului aceste chei?

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 33
Slăbiciunile lui Kerberos
 • Pe o staţie obişnuită Unix lucrează în mod normal mai mulţi
utilizatori. Tichetele utiliz. Trebuie sa fie diferite. Pe un sistem Unix nimic
nu poate fi ascuns de administrator (root). Administratorul unui sistem
poate citi orice fişier, şi poate inspecta memoria fizică a oricărui proces.
Acesta este un călcîi al lui Ahile al lui Kerberos;
 toate metodele cunoscute pentru a penetra un sistem Unix ameninţă
 siguranţa întregului protocol. Ori securitatea unui sistem Unix, care este
foarte complicat, este extrem de greu de controlat; există o sumedenie de
breşe de care un atacator ar putea profita.
 • O altă mare problemă este cu staţiile de lucru fără disc (diskless);
aceste staţii de obicei importă discuri prin reţea. Deci de îndată ce o astfel
de staţie stochează un tichet pe disc, tichetul va călători prin reţea, care am
stabilit că este expusă la tot felul de atacuri!

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 34
Slăbiciunile lui Kerberos
 • Nici păstrarea tichetului în memorie nu este neapărat mai sigură:
algoritmii de paginare stochează paginile pe disc (în partiţia de swap)
atunci cînd calculatorul nu are destulă memorie, deci am revenit la aceeaşi
problemă.

• Exemplu:
 • Într-o reţea mare de calculatoare sincronizarea ceasurilor se face
automat, folosind un protocol numit NTP Network: ora locală a serverului
cu ora din tichet. Pentru un interval de 5 minute serverul memorează toate
tichetele primite, pentru a depista duplicate, eventual rezultate dintr-un
atac care re- transmite pachete vechi capturate. Un tichet mai vechi de 5
minute este considerat expirat şi ignorat. În felul acesta un server nu va
primi niciodată acelaşi pachet de două ori. Asta presupune că serverul şi
clientul au ceasuri Time Protocol.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 35
Slăbiciunile lui Kerberos
 • Un atac foarte spectaculos este următorul: un atacator înregistrează o
serie de mesaje de la un client care ştie că reprezintă o tranzacţie
importantă. Peste o săptămînă atacatorul infiltrează în reţea mesaje false
NTP prin care setează ceasul unui server cu o săptămînă în urmă. După
asta atacatorul retransmite mesajele capturate, care vor fi re-executate,
pentru că serverului îi par proaspete.
 • Asta face securitatea în calculatoare o problemă foarte spinoasă:
adesea protocoalele propuse sunt eronate, dar nu există nici o metodă
formală pentru a depista şi verifica asta. Chiar dacă un protocol este corect
formal, se poate baza pe presupuneri nerezonabile asupra mediului în care
operează, cum ar fi ceasurile sincronizate. Şi chiar dacă se bazează pe
presupuneri rezonabile, implementarea scrisă de un programator uman
poate să fie vulnerabilă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 36
Kerberos pentru un utilizator
 • Domeniul administrativ de lucru este complet kerberizat. Programul
de login a fost modificat ca imediat ce se tasteaza parola să converseze cu
AS şi să obţină un tichet pentru serverul care dă tichete, TGS. Directorul
gazda se afla pe un server de fis.pe un disc din reţea, aflat la distanta.
Atunci cînd se comunica prima oară cu serverul de fis. demonul local de
pe maşina pe care s-a loginat clientul, acesta foloseşte tichetul obţinut de
la AS pentru a obţine de la TGS un tichet pentru serverul de fis.. După
aceea se autentifică serverului de fis., exact ca în schema de mai sus.
 • După autentificarea cu serverul de fis. toată comunicaţia între maşina
client şi serverul de fis. se va face folosind un alt protocol, numit Secure
RPC (Remote Procedure Call): apel sigur de procedură la distanţă, care
foloseşte iniţial cheia de sesiune oferită de TGS.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 37
Kerberos pentru un utilizator
 • Pentru utilizatorul final totul este aproape complet transparent.
 Singura neplăcere este că la fiecare 25 de ore tichetele pentru TGS expiră,
şi atunci trebuie să tasteze din nou parola pentru a obţine tichete noi.
 • Utilizatorul poate vedea în orice clipă tichetele pe care le poseda cu
comanda klist:

 $ klist
 Ticket file: /tkt/7108-0401-35ae552f
 Principal: me@CS.CMU.EDU
 Issued Expires Principal
 Jul 20 10:50:34 Jul 21 12:16:55 krbtgt.CS.CMU.EDU@CS.CMU.EDU
Jul 20 10:50:34 Jul 21 12:16:55 afs@CS.CMU.EDU
 Jul 20 10:51:30 Jul 21 12:17:51 zephyr.zephyr@CS.CMU.EDU

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 38
Kerberos pentru un utilizator
 • Tichetele sunt ţinute în fişierul /tkt/7108-0401-35ae552f pe discul
local.
 • Utilizatorul poseda 3 tichete: unul pentru TGS, unul pentru serverul
de fis. şi unul pentru sistemul de mesagerie zephyr (care nu ne interesează
prea tare acum).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 39
Kerberos pentru un utilizator
 • Mai sunt dispoziţie următoarele comenzi:
 • kinit prin care se poate schimba identit. Kerberos (de pildă dacă un
utiliz. vrea să lucreze pe calculatorul altui utiliz. va tasta kinit numele-lui
şi apoi parola lui personală;
 • kdestroy prin care toate tichetele de pe maşina locală sunt
distruse;
 foarte utila dacă un utiliz. nu doreste ca un altul să lucreze în numele sau;
 • kpasswd prin care se poate schimba cheia (parola) stocată pe AS.
 Schimbarea parolei este sigură, pentru că parola va fi trimisă criptat la un
server special care face managementul parolelor şi modifică baza de date
 din care citeşte AS. Autentificarea la managerul de parole se face tot
 folosind Kerberos. Asta înseamnă că odată ce utiliz. are o parolă Kerberos
(care trebuie introdusă manual în baza de date a lui AS) schimbarea o
poate face fără să se mai adreseze la vreun administrator;
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 40
Kerberos pentru un utilizator
 • kdb_init este o comandă folosită de administrator pentru a crea o
nouă
 bază de date Kerberos atunci cînd porneşte serviciul;
 • kdb_admin este comanda prin care administratorul adaugă un nou
utilizator în baza de date;
 • kdb_edit este comanda prin care se pot adăuga noi administratori în
baza de date AS: persoane care au dreptul să modifice baza de date.
 • În plus, majoritatea comenzilor care operează în reţea au fost
kerberizate.
 De pildă demonul şi clientul de telnet (terminal virtual): cînd se face telnet
pe o maşină la distanţă clientul cere parola după care obţine un tichet de la
 TGS pentru demonul telnet de pe maşina de la distanţă; în acest fel parola
 nu circulă niciodată prin reţea (cum ar fi fost cazul dacă telnet nu era
kerberizat).
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 41
Problema distribuirii cheilor
Protocoale email
Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Distribuirea manuală a cheilor
 • Foloseşte metode de distribuţie off-line pentru a distribui cheile între
perechi sau la mai mulţi participanţi.
 • Este dificilă şi are probleme de scalabilitate, în plus nu oferă o
autentificare alta decât cea oferită în mod implicit. De aceea, siguranţa
metodelor de distribuire off-line este extrem de importantă.
 • În multe cazuri, distribuirea manuală a cheilor este necesară doar o
singură dată pentru un utilizator anume. Distribuirea materialelor
adiţionale se face folosind cheia distribuită manual ca o cheie de cifrare a
cheilor (KEK – Key Encryption Key). Materialele astfel cifrate se
distribuie apoi prin orice canal convenabil.

 • Distribuirea manuală este adesea cea mai eficientă metodă pentru


distribuţia cheilor de grup, în special în cazul grupurilor mari.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Schimbul de chei DIFFIE-
HELLMAN
 • Scopul algoritmului este de a permite ca doi utilizatori să schimbe în
mod sigur o cheie secretă care urmează a fi folosită pentru criptarea
mesajelor. Algoritmul se limitează la schimbarea cheilor.Algoritmul se
bazează pe dificultatea calculului algoritmilor discreti.
 • Se numeste rădacină primitivă a unui număr prim p un număr a ale
cărui puteri generează toate numerele de la 0 la p-1. Deci daca a este o
radăcină primitivă a lui p, atunci numerele:
 • a mod p, a2 mod p, …,ap-1 mod p sunt distincte si reprezintă intregii de
la 1 la p-1, intr-o ordine oarecare.
 • Oricare ar fi b întreg si a rădăcină primitivă a unui număr prim p, se
poate găsi un exponent unic i, astfel ca b = ai mod p unde 0 < i < (p-1)
 • Exponentul i se numeste logaritmul discret sau indexul lui b; se
notează inda,p(b).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Schimbul de chei DIFFIE-
HELLMAN
 • Cu aceste precizări, se poate defini schimbul de chei Diffie-Hellman
care este prezentat în fig urm.

• Există două numere cunoscute public: un număr prim q si un intreg
 a care este o rădăcină primitivă a lui q. Dacă utilizatorii A si B doresc sa
facă un schimb de chei, A alege un întreg oarecare XA < q si calculează
YA = aXA mod q. Similar, B alege un întreg oarecare
 XB < q si calculează YB = aXB mod q. Fiecare parte păstreză
 secretă valoarea X si comunică celeilalte părti valoarea Y. A
 calculează cheia publică K = (YB)XA mod q iar B calculează
 K = (YA)XB mod q.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Schimbul de chei DIFFIE-
HELLMAN
 Folosind reguluile aritmeticii modulare se arată că A si B obtin aceeasi
valoare pentru K.
 • Astfel cele două parti si-au transmis cheia secretă K.
 • XA si XB fiind secrete, un intrus are la dispozitie pentru a calcula cheia
K numai valorile: q,a,YA,YB.
 • De exemplu, pentru a obtine cheia secretă a lui B, trebuie calculat:
 XB = inda,q(YB)
 • Apoi cheia secretă K poate fi calculată identic cu modul în care a
calculat-o B.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Schimbul de chei DIFFIE-
HELLMAN
 • În aritmetica modulară, exponenţierea este o funcţie într-un singur
sens.Aceasta înseamnă că este uşor de calculat un număr
 y = gx mod N pentru o valoare secretă x, însă este mult mai dificil
 să se calculeze x din y, dacă numerele sunt suficient de mari(de ex.
 o lg.de câteva sute de cifre - presupunem că g şi N sunt cunoscute).
 Aceasta este referită ca şi problema logaritmului discret pentru că x
 este logaritm din y în baza g (mod N), iar numerele sunt finite şi
 întregi.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Schimbul de chei DIFFIE-
HELLMAN
 • Exemplu:Să presupunem că p = 7, g = 3, cheia lui A este xa = 1
 şi a lui B este xb = 2
 Vom avea:
 - A calculează cheia sa publică:
yA = gxA mod p = 31 mod 7 = 3
 - B calculează cheia sa publică:
yB = gxB mod p = 32 mod 7 = 2

- A calculează K = yB xA mod p = 21 mod 7 = 2


- B calculează K = yA xB mod p = 32 mod 7 = 2

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Schimbul de chei DIFFIE-
HELLMAN
 • Securitatea algoritmului constă în faptul că este relativ usor de
calculat puteri modulo un număr prim si foarte dificil de calculatat
logaritmii discreti; pentru numere mari ultima operatie este considerată
practic imposibil de realizat.
 • Fig urm arată protocolul simplu descris mai sus pe baza algoritmului
Duffie- Hellman
 • Securitatea algoritmului constă în faptul că este relativ usor de
calculat puteri modulo un număr prim si foarte dificil de calculatat
logaritmii discreti; pentru numere mari ultima operatie este considerată
practic imposibil de realizat.
 • Fig urm arată protocolul simplu descris mai sus pe baza algoritmului
Duffie- Hellman

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Schimbul de chei DIFFIE-
HELLMAN

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Schimbul de chei DIFFIE-
HELLMAN
 • Un alt exemplu se referă la un grup de utilizatori dintr-o retea locală.
 • Fiecare utilizator generează o valoare XA si calculează o valoare
publică YA. Aceste valori publice, împreună cu valorile publice q si a sunt
memorate într-un director central. In orice moment un utilizator B care
vrea să comunice cu A, poate citi valoarea YA si calcula o cheie secretă
pentru criptarea unui mesaj către A. A va citi din director valoarea YB si
va calcula cheia.
 • Dacă directorul este sigur, metoda asigură pe lângă confidentialitate si
un anunt grad de autentificare - A poate calcula cheia numai folosind YB,
deci mesajul provine de la B.
 • Metoda Diffie-Hellamn, precum şi variantele ei sunt utilizate în
câteva protocoale de securitate a reţelelor şi în produse comerciale,
inclusiv la AT&T 3600 Telephone Security Device, la Fortezza card
 – o variantă de carduri criptate, şi la Pretty Good Privacy pentru criptarea
e-mail-urilor şi a unor fişiere.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10

Distribuirea bazată pe centru
 • Tehnicile de distribuire bazate pe centru se folosesc pentru a distribui
chei între două sau mai multe părţi prin intermediul unui terţ credibil.
Partea terţă poate fi:
 1 Un centru de distribuţie a cheilor (KDC – Key Distribution
 Center)
 2 Un centru de translaţie a cheilor (KTC – Key Translation Center)
 • Distribuţia bazată pe centru acoperă atât KDC-urile cât şi KTC-urile.
 Acestea depind de KEK pentru a furniza confidenţialitatea şi protecţia
integrităţii cheilor distribuite.
 • Obs : Cele mai multe metode de distribuire a cheilor au fost
proiectate având în vedere scenarii şi aplicaţii specifice. Spre exemplu,
orice schemă care se bazează pe amprente de timp favorizează mediul
local, unde toţi utilizatorii au acces la un server de timp credibil.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Distribuirea bazată pe centru
 Cerința de a avea xeasuri sincronizate în rețele mari nu este absurdă, dar
este cu siguranță dificil de asigurat. Mai important este că schemele
existente fac presupuneri despre configurația rețelei și modelele de
conectivitate. Spre exemplu, acestea pot cere o anumită paradigmă în
contactarea unui server credibil sau KDC – Key Distribution Center.
 Când A necesită o cheie pentru a comunica cu B, Kerberos – spre exemplu
– cere ca A să obţină o cheie de la KDC înainte de a comunica cu B.
Această paradigmă se mai numeşte modelul
 „trage”, prezentat in fig. urm.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Distribuirea bazată pe centru

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Distribuirea bazată pe centru
 • In structura certificatului sunt urmǎtoarele campuri:
 • ► Versiunea – permite sǎ se facǎ distinctie intre versiuni succesive
ale formatelor de certificat;
 • ► Numǎrul serial – identificǎ in mod unic certificatul intre cele emise
de aceeasi entitate;
 • ► Algoritmul de semnǎturǎ – identificǎ algoritmul folosit pentru
calcularea semnǎturii digitale la acel certificat;
 • ► Emitent – contine numele distinct al entitǎtii (autoritǎtii) care a
creat certificatul si garanteazǎ pentru legǎtura corectǎ cheie publicǎ
 – subiect; este vorba de numele autorului certificatului;
 • ► Subiect – contine numele distinct al entitǎtii care reprezintǎ
 subiectul certificǎrii si proprietarul cheii publice cuprinse in certificat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Distribuirea bazată pe centru
 Tehnicile de distribuire bazate pe centru se folosesc pentru a distribui chei
între două sau mai multe părţi prin intermediul unui terţ credibil. Partea
terţă poate fi:
 1 Un centru de distribuţie a cheilor (KDC – Key Distribution
 Center)
 2 Un centru de translaţie a cheilor (KTC – Key Translation Center)
 • Distribuţia bazată pe centru acoperă atât KDC-urile cât şi KTC-urile.
 Acestea depind de KEK pentru a furniza confidenţialitatea şi protecţia
integrităţii cheilor distribuite.
 • Obs : Cele mai multe metode de distribuire a cheilor au fost
proiectate având în vedere scenarii şi aplicaţii specifice. Spre exemplu,
orice schemă care se bazează pe amprente de timp favorizează mediul
local, unde toţi utilizatorii au acces la un server de timp credibil.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Distribuirea bazată pe centru
 • Cerinţa de a avea ceasuri sincronizate în reţele mari nu este

• Când A necesită o cheie pentru a comunica cu B, Kerberos – spre
exemplu – cere ca A să obţină o cheie de la KDC înainte de a comunica cu
B. Această paradigmă se mai numeşte modelul
 „trage”, prezentat in fig. urm.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Distribuirea bazată pe centru
 În contrast, în aceeaşi situaţie, standardul american pentru managementul
cheilor instituţiilor financiare (ANSI X9.17), cere ca A să contacteze mai
întâi pe B, apoi B obţine cheia necesară de la KDC. Această paradigmă se
numeşte modelul „împinge”, prezentat in fig. urm.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Distribuirea bazată pe centru
 • Este important de remarcat că nici unul dintre aceste modele nu este
superior faţă de celălalt, fiecare fiind potrivit în mediul său.
 • În reţele locale, pentru care Kerberos a fost proiectat, cerinţa ca
clienţii să obţină cheile are sens deoarece distribuie efortul care altfel ar fi
preluat de doar câteva servere.
 • Într-o reţea mare, se adoptă metoda opusă deoarece tipic sunt mult
mai mulţi clienţi decât servere şi KDC-urile se află mai apropiate de
acestea. În aceste condiţii, costul conectivităţii între clienţi şi KDC
necesitată de Kerberos devine prohibitiv.
 • Există şi posibilitatea de a combina cele două metode – modelul mixt.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Distribuirea bazată pe centru

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
SECURITATEA E-MAIL
 • In cazul postei electronice, rolul oficiului postal este jucat de un
calculator (de regula o masina Unix sau Windows) care ruleaza un
program numit (la modul generic) server de e-mail. Suntem clientii
acestui server daca dispunem de un cont pe acest server. Aceasta implica
faptul ca avem o adresa e-mail prin care putem fi identificati si un spatiu
de stocare unde sunt memorate mesajele (mailbox - cutie postala).
 • Un oficiu postal are doua interfete: una spre clientii sai
(corespunzatori adreselor care-i sunt arondate) si una spre ansamblul
sistemului postal. Prima interfata implica distribuirea corespondentei
sosite spre clientii oficiului si preluarea corespondentei acestora in
vederea expedierii. A doua interfata o reprezinta relatia directa sau
indirecta (prin intermediul altor oficii postale, oficii de triere etc.) cu
celelalte oficii postale.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
SECURITATEA E-MAIL
 • In mod analog, serverul de e-mail dispune de doua protocoale diferite,
corespunzatoare acestor interfete. Astfel, comunicarea cu clientii se face,
in marea majoritate a cazurilor, prin protocolul POP3 (Post Office
Protocol 3), care asigura distribuirea mesajelor (acesta este termenul prin
care ne referim la o scrisoare electronica) receptionate catre clientii proprii
carora le sunt destinate si preluarea mesajelor expediate de acestia.
 • Interfata cu alte servere de e-mail din Internet se face prin protocolul
SMTP (Simple Mail Transfer Protocol), prin care serverul receptioneaza
si expediaza corespondenta clientilor sai in si din Reteaua Globala.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
SECURITATEA E-MAIL
 • De regula, utilizatorul are de-a face cu un singur server de e-mail
(altfel spus: serverul POP3 si serverul SMTP ruleaza pe aceeasi masina).
Este insa posibil ca expedierea sa se faca printr-un alt server SMTP.
 • In ceea ce priveste insǎ securitatea, posta electronicǎ nu oferǎ
conditiile ideale. Mesajele pot fi interceptate, voit sau din eroare, de cǎtre
persoane neautorizate
 • Ca urmare, trebuie respectatǎ urmǎtoarea regulǎ fundamentalǎ in
folosirea e-mail-ului: ori se foloseste criptarea pentru asigurarea
confidentialitǎtii si autenticitǎtii mesajelor, ori se tine cont cǎ prin e-mail
nu trebuie transmis nimic ce nu se doreste a se afla despre familie,
adversari, concurenti, clienti etc.
 • Una din preocupǎrile grupurilor de specialisti este imbunǎtǎtirea
serviciilor de e-mail sub aspectul securitǎtii, solutia constand in utilizarea
criptǎrii. Acest lucru plaseazǎ responsabilitatea confidentialitǎtii
comunicatiilor in mana celor care corespondeazǎ.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
SECURITATEA E-MAIL
 Așa cum s-a văzut, problema complicată în stabilirea unui sistem
criptografic între 2 parteneri nu o reprezintă obținerea unui program
adecvat de cifrare, ci stabilirea și transmiterea cheilor, care trebuie să facă
prin alte mijloace de comunicație sigure. Dar criptografia cu chei publice
a înlăturat această problemă complexă, deoarece cheile de criptare pot fi
făcute publice. Fiecare persoană își face cunoscută, într-un fișier publuc
cheia sa publică, necesară oricărui eventual corespodent să-i cripteze
mesajele. Cu ajutorul unei chei pereche secretă, numai destinatarul este
cel care poate decripta scrisorile care îi sunt adresate.
 De regula, utilizatorul are de-a face cu un singur server de e-mail (altfel
spus: serverul POP3 si serverul SMTP ruleaza pe aceeasi masina). Este
insa posibil ca expedierea sa se faca printr-un alt server SMTP.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
SECURITATEA E-MAIL
 • In ceea ce priveste insǎ securitatea, posta electronicǎ nu oferǎ
conditiile ideale. Mesajele pot fi interceptate, voit sau din eroare, de cǎtre
persoane neautorizate
 • Ca urmare, trebuie respectatǎ urmǎtoarea regulǎ fundamentalǎ in
folosirea e-mail-ului: ori se foloseste criptarea pentru asigurarea
confidentialitǎtii si autenticitǎtii mesajelor, ori se tine cont cǎ prin e-mail
nu trebuie transmis nimic ce nu se doreste a se afla despre familie,
adversari, concurenti, clienti etc.
 • Una din preocupǎrile grupurilor de specialisti este imbunǎtǎtirea
serviciilor de e-mail sub aspectul securitǎtii, solutia constand in utilizarea
criptǎrii. Acest lucru plaseazǎ responsabilitatea confidentialitǎtii
comunicatiilor in mana celor care corespondeazǎ.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
SECURITATEA E-MAIL
 Asa cum s-a vǎzut, problema complicatǎ in stabilirea unui sistem
criptografic intre doi parteneri nu o reprezintǎ obtinerea unui program
adecvat de cifrare ci stabilirea si transmiterea cheilor, care trebuie sǎ se
facǎ prin alte mijloace de comunicatie sigure. Dar criptografia cu chei
publice a înlăturat această problemă complexă, deoarece cheile de criptare
pot fi făcute publice. Fiecare persoană își face cunoscută, într-un fișier
public cheia sa publică, necesară oricărui eventual corespondent să-i
cripteze mesajele. Cu ajutorul unei chei pereche secretă, numai
destinatarul este cel care poate decripta scrisorile care îi sunt adresate.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
Protocolul PGP(Pretty Good
Privacy) (PGP)
 • Pretty Good Privacy- confidenţialitate destul de bună
 • PGP este în bună parte rezultatul eforturilor unei singure persoane,
Phil Zimmermann; asigură un serviciu utilizat pentru e-mail si aplicatii de
stocare de fisiere.
 • Zimmermann a făcut următoarele:
 • 1. A selectat cei mai buni algoritmi criptografici existenti.
 • 2. A integrat acesti algoritmi într-o aplicatie de uz general bazată pe
un set redus de comenzi usor de folosit si care este independentă de
sistemul de operare si de procesor.
 • 3. A făcut accesibil în mod gratuit pachetul de programe, inclusiv
codul sursă si documentatia, prin Internet.
 • 4. A făcut un acord cu societatea Network Associates pentru a elabora
o variantă comercială a PGP.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
Protocolul PGP(Pretty Good
Privacy) (PGP)
 • Răspândirea PGP se explică prin următoarele:
 • 1. Este disponibil gratis in versiuni care rulează sub maj. SO. În plus, versiunea
comercială asigură un produs care are asigurată asistența din partea
producătorului.
 • 2. Se bazează pe algoritmi care au rezistat unei analize criptografice intense si
sunt considerati extrem de siguri. Pachetul de programe include RSA, DSS si
Diffie-Hellman pentru criptarea cu cheie
 publică, CAST-128, IDEA si TDEA (sau 3DES) pentru criptarea conventională si
SHA-1 pentru codare hash.
 • 3. Are o largă gamă de aplicatii, de la societăti care vor să folosească o
metodă de criptare a fisierelor si mesajelor la utilizatori individuali care doresc să
comunice în mod securizat prin Internet sau alte retele.
 4. Nu a fost dezvoltat si deci nu este controlat de o organizatie de standardizare
sau guvernamentală; aceasta poate reprezenta o atractie pentru cei care nu
agreează astfel de organizatii.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
DESCRIEREA MODULUI DE
OPERARE A PGP
 • Modul de operare al PGP este constituit din cinci servicii:
autentificare,confidentialitate, compresie, compatibilitate cu e-mail si
segmentare.
 • Autentificarea se realizează printr-o schema de semnatura digitala
prezentată în cursul anterior.
 • Confidentialitate este asigurată de PGP prin criptarea mesajelor de
transmis sau de stocat local ca fisiere. In ambele cazuri se utilizează
criptarea cu IDEA (International Data Encryption Algorithm) sau
 3DES (Triple Data Encryption Standard).
 • Pentru acest serviciu, problema distribuirii cheilor este esentială.
 PGP utilizează fiecare cheie o singură data; desi este numită cheie de
sesiune, ea este o cheie de folosintă unică care este generată ca număr
aleator de 128 de biti pentru fiecare mesaj si este atasată mesajului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
DESCRIEREA MODULUI DE
OPERARE A PGP
 • Pentru a se asigura confidenţialitatea se parcurge următoarea
secventă:
 • 1. Expeditorul generează un mesaj si un număr aleator de 128 biti
folosit drept cheie de sesiune numai pentru acest mesaj.
 • 2. Mesajul este criptat cu IDEA sau TDES utilizând cheia de sesiune
 • 3. Cheia de sesiune este criptată cu RSA, utilizând cheia publică a
destinatarului si adăugată mesajului.
 • 4. Destinatarul utilizează RSA cu cheia sa privată pentru a decripta
cheia de sesiune.
 • 5. Cheia de sesiune este utilizată pentru decriptarea mesajului.
 • Ca alternativă la RSA, PGP permite folosirea algoritmului de
transmitere a cheii Diffie-Hellman într-o variantă numită ElGamal.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
DESCRIEREA MODULUI DE
OPERARE A PGP
 • Compresia. În mod implicit, PGP comprimă mesajul după aplicarea
semnături, dar înainte de criptare. Criptarea este astfel folosită atât pentru e-mail
cât si la receptie, pentru stocarea fisierului.
 • Semnătura este generată înainte de compresie din două motive:
 • -pentru stocare este preferabil să se memoreze textul clar împreună cu
semnătura pentru verificări viitoare; în caz contrar ar fi necesară recomprimarea
textului pentru verificarea semnăturii.
 • -chiar dacă se doreste recomprimarea mesajului, algoritmul de compresie al
PGP generează iesiri diferite în functie de versiunea
 de implementare, desi diferitele versiuni pot opera împreună, fiecare versiune
decomprimând corect, iesirea oricărei alte versiuni.
 • Criptarea mesajului este aplicată după compresie pentru a mări securitatea
criptografică; deoarece mesajul comprimat este mai putin redundant, criptanaliza
este mai dificilă.
 • Algoritmul de compresie este ZIP.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
Compatibilitatea e-mail
 Atunci când se utilizează PGP, cel putin o parte a blocului de transmis
(semnătura, mesajul sau amândouă) este criptată. Astfel blocul de transmis
este format partial sau integral dintr-un sir arbitrar de octeti. Multe sisteme
de e-mail admit însă numai blocuri care contin text in ASCII. PGP asigură
 un serviciu care converteste sirurile de octeti în caractere ASCII
printabile.
 • Metoda folosită este conversia radix-64: fiecare grup de trei octeti
este convertit într-un grup de patru caractere ASCII. Conversia radix-64
expandează mesajul cu 33%,însă utilizarea compresiei compensează
aceasta, raportul de compresie fiind în medie 2.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
Relatia dintre cele patru servicii
prezentate
 . La transmitere, dacă este necesar , o semnătură este generată utilizând un
cod hash al textului clar. Apoi, textul clar si semnătura, dacă este prezentă,
sunt comprimate. Dacă este necesară confidenţialitate, urmează criptarea
blocului (text clar comprimat sau text clar plus semnătură comprimate) si
precedat de cheia de criptare conventională criptată cu cheia publică a
destinatarului. În final, întregul bloc este convertit în formatul radix-64.
 • La receptie, blocul primit este convertit din radix-64 în binar. Dacă
mesajul este criptat, destinatarul obtine cheia de sesiune si decriptează
mesajul; blocul rezultat este decomprimat. Dacă mesajul este semnat,
destinatarul compară codul hash receptionat cu codul hash pe care îl
calculează din mesajul primit.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Segmentare si reasamblare
 Blocurile transmise prin e-mail au în general o limită maximă a lungimii;
deexemplu în Internet lungimea maximă este 50.000 octeti.
 • PGP subdivide automat un mesaj care este prea lung în segmente de
lungime compatibilă cu e-mail. Segmentarea se face după toate celelalte
procesări, inclusive conversia radix-64, astfel încât cheia de sesiune si
semnătura apar o singură dată, la începutul primului segment. La receptie,
PGP trebuie să elimine toate antetele de e- mail si să reasambleze blocul
original înainte de a executa pasii indicati.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 33
Formatul unui mesaj PGP
 Acesta este format din trei componente: mesaj, semnătură (optional),
cheie de sesiune (optional).
 • Componenta mesaj contine datele de transmis sau de stocat, un nume
de fisier si o stampilă de timp care indică momentul creării.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 34
Semnătura cuprinde:
 • 1. stampila de timp: momentul semnării.
 • 2. message digest: 160 biti, rezultatul algoritmului SHA-1,criptat cu
cheia privată a expeditorului. Semnătura este calculată asupra stampilei de
timp a semnăturii concatenată cu datele mesajului; includerea stampilei de
timp a semnăturii previne atacurile prin repetitie (replay attack).
 • 3. primii doi octeti din message digest: permit destinatarului să
verifice dacă a utilizat cheia publică corectă pentru decriptarea message
digest prin compararea celor doi octeti necriptati receptionati cu cei
rezultati din calcul.
 • 4. ID-ul cheii publice a expeditorului: identifică cheia publică pentru
decriptarea semnăturii, corespunzătoare cheii private utilizată de
expeditor.
 • Componentele mesaj si semnătură pot fi optional comprimate cu
algoritmul ZIP si criptate cu o cheie de sesiune.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 35
Cheie de sesiune
 Componenta cheie de sesiune include cheia de sesiune si ID-ul cheii
publice a destinatarului, cheie utilizată de expeditor pentru a cripta cheia
de sesiune.
 • Întregul bloc este de obicei convertit în format ASCII prin codare
radix-64.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 36
Protocolul PEM (Privacy Enhanced
Mail)
 Scopul proiectului PEM (Privacy Enhanced Mail) il constituie asigurarea
securitǎtii transmisiilor intre utilizatorii postei electronice din Internet.
Eforturile au inceput in 1985 in cadrul comisiei PSRG (Privacy and
Security Research Group), sub auspiciile consiliului IAB (Internet
Architecture Board). Rezultatele cercetǎrii s-au concretizat in RFC-urile
(Request for
 Coment) 1421-1424 care constituie propuneri de standarde Internet.
Aceste
 RFC-uri sunt produsul grupului de lucru PEM din interiorul IEFT
(Internet
 Engineering and Task Force), care face parte din IAB.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 37
Protocolul PEM (Privacy Enhanced
Mail)
 Standardul PEM oferǎ o varietate de servicii de securitate pentru
utilizatorii postei electronice:
 - confidentialitatea (secretizarea) mesajelor;
 - autentificarea originii mesajelor;
 - integritatea legǎturii in retea;
 - nerepudierea mesajelor prin dovedirea originii.
 • Aceste servicii, definite si in modelul de referintǎ al securitǎtii OSI,
pot fi divizate in douǎ grupe:
 - toate mesajele prelucrate in PEM incorporeazǎ facilitǎtile de
autentificare, integritate si nerepudiere;
 - confidentialitatea este un serviciu optional, la alegerea utilizatorului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 38
Certificarea cheilor
 • Un sistem criptografic bazat pe chei publice poate fi compromis de o
persoana A care transmite o cheie publica a unei persoane B catre un alt
partener C. In acest caz C va folosi cheia publica a lui B
 pentru a cripta mesajul, cu intentia de a ajunge inapoi la B, numai ca
 A, folosindu-si propria lui cheie private, va face ca receptorul sa fie el,
reusind astfel sa decripteze mesajul care era adresat lui B.
 • Pentru a se evita aparitia acestei anomalii, se utilizeaza procesul
certificarii, prin care se leaga o cheie de atribute ale persoanei respective.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 39
Certificarea cheilor
 • Un certificat de cheie publicǎ reprezintǎ o structurǎ de date folositǎ
pentru a se putea asocia in mod sigur o cheie publicǎ la niste atribute de
utilizator. Atributele pot fi, de exemplu, informatii de identificare (nume,
adresǎ) sau informatii de autorizare (dreptul de a folosi o resursǎ).
 • Documentul oferit de o autoritate de certificare(CA- Certification
Autority) poate fi comparat cu un act notarial si se efectueaza dupa
aceleasi reguli, adica pe baza verificarii atributelor persoanei solicitante,
concretizându-se prin atribuirea unei chei publicepentru persoana
respectiva. Autoritatea de certificare semnează certificatul cu propria lui
cheie privată.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 40
Certificarea cheilor
 • In structura certificatului sunt urmǎtoarele campuri:
 • ► Versiunea – permite sǎ se facǎ distinctie intre versiuni succesive
ale formatelor de certificat;
 • ► Numǎrul serial – identificǎ in mod unic certificatul intre cele emise
de aceeasi entitate;
 • ► Algoritmul de semnǎturǎ – identificǎ algoritmul folosit pentru
calcularea semnǎturii digitale la acel certificat;
 • ► Emitent – contine numele distinct al entitǎtii (autoritǎtii) care a
creat certificatul si garanteazǎ pentru legǎtura corectǎ cheie publicǎ
 – subiect; este vorba de numele autorului certificatului;
 • ► Subiect – contine numele distinct al entitǎtii care reprezintǎ
 subiectul certificǎrii si proprietarul cheii publice cuprinse in certificat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 41
Certificarea cheilor
 • ► Valabilitate – cuprinde intervalul de timp (data de inceput si cea de
sfarsit) in care certificatul este valabil;
 • ► Cheie publicǎ subiect – contine un identificator al algoritmului
folosit precum si parametrii ceruti de algoritm, care constituie cheia
publicǎ a subiectului – proprietar al certificatului;
 • ► Semnǎtura – contine semnǎtura digitalǎ a certificatului si este
adǎugatǎ celorlalte campuri ale acestuia. De exemplu, functia de dispersie
poate fi MD5, iar algoritmul cu chei publice, RSA. Semnǎtura se aplicǎ de
cǎtre autoritatea Emitentǎ, folosind cheia sa privatǎ si poate fi verificatǎ
oriunde, folosind cheia publicǎ a Emitentului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 42
Certificarea cheilor
 Dupǎ cum se vede, problema obtinerii cheii publice a unui utilizator
Subiect constǎ in validarea semnǎturii digitale a certificatului acestuia,
care se face cu cheia publicǎ a Emitentului. Obtinerea cheii publice a
Emitentului este o problemǎ similarǎ de validare a certificatului acestuia.
Ca urmare, procesul de validare a
 certificatelor este recursiv si se bazeazǎ pe un graf de certificare.

• Autoritatile de certificare formează o structură ierarhică de genul celei
prezentate în figura următoare.
 • IPRA(Internet Policy Registration Authority) – Autoritatea de
înregistrare a politicii din Internet
 • PCA(Policy Certification Authority)- Autoritati de certificare a politicii.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 43
Un exemplu de CA este o companie care certifică chei pt.
salariatii ei.
IPRA

PCA1 PCA2 PCA3

CA CA
CA CA CA CA CA

User User User User User CA


CA User

User User User

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 44
Certificarea cheilor
 Certificarile permit crearea de lanturi de incredere. Dacă X certifică faptul
că o anumită cheie apartine lui Y şi Y merge mai departe sa certifice că o
altă cheie publică ce aparţine lui Z, atunci există un lanţ de certificări de la
X la Z, chiar dacă X şi Z nu au cunoştinţe
 unul despre altul. Dacă Z doreşte să furnizeze cheia lui publică lui A, el
poate să să furnizeze lantul complet de certificări-certificarea pentru cheia
publică a lui Y furnizată de X, şi certificarea pentru
 cheia lui Z, furnizată de către Y. Dacă A are cheia publică a lui X, el poate
folosi lantul pentru a verifica ca cheia publică a lui Z este legitimă.
 Fiecare PCA trebuie să definească o politică oficială faţă de înregistrare şi
pe care să o pună de acord cu IPRA. Aceste reguli sunt apoi confirmate de
IPRA şi făcute publice(ce informatii să constituie certificarea respectivă).
 • Revocarea certificării este posibilă şi necesară atunci când un CA este
spart.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 45
Certificarea cheilor
 Mesajele trimise folosind PEM se obţin astfel:
 • 1. Sunt convertite într-o formă canonică astfel încât ele au aceleaşi
convenţii referitoare la spaţii albe(tab-uri, spaţii de la sfârşit de text) şi
folosirea caracterelor line feed şi carriage return. Fără aducere la forma
canonică, astfel de modificări ar putea afecta codurile de dispersie
construite din mesaje, la destinaţiile lor.
 • 2. Este calculat un cod al mesajului cu MD5.
 • 3. Se criptează concatenarea dintre codul de dispersie si mesaj,
folosind DES.
 • 4. Cheia de criptare este si ea inclusa in mesaj si, la rândul ei este
criptată cu cu RSA.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 46
Problema congestiei

Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Problema congestiei
 Alocarea resurselor reţelei(lărgimea de bandă, spaţiul de stocare din
routere sau switchuri) este o problemă competiţională, ţinând cont de
faptul că, la un moment dat există mai multe cereri ale aplicaţiilor în acest
sens. Deci, anumiţi utilizatori ai reţelei vor primi la un moment dat mai
puţine resurse decât au cerut. Dacă s-ar acorda resursele cerute tuturor
solicitanţilor, ar apare fenomenul de supraîncărcare.
 La nivelul router-elor sau switch-urilor există buffere, organizate pe
principiul cozilor, în care sunt păstrate pachete/cadre de date care urmează
să fie transmise mai departe. Dacă la un moment dat nu mai există spaţiu
de stocare în aceste buffere şi sosesc pachete/cadre de date, o parte din
aceste pachete trebuie abandonate(care dintre ele vor fi abandonat depinde
de disciplina cozii). Când un astfel de fenomen apare frecvent, spunem că
reţeaua este congestionată.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Problema congestiei
 Problema congestiei poate fi cel mai bine evidenţiată într-o reţea cu
comutare de pachete, cum este cazul Internet-ului. Spre deosebire de
reţelele locale, în care o gazdă poate observa traficul de pe mediul de
comunicaţie şi poate decide dacă poate transmite sau nu cadre de date, aici
situaţia este mai complicată. Într-un astfel de mediu, o anumită sursă poate
avea o capacitate suficientă pe un mediu de comunicaţie la care ea este
conectată local, dar undeva pe inter-reţea pachetele transmise de ea
întâlnesc o legătură care este folosită de către gazde aflate pe alte reţele
locale şi în plus, lărgimea de bandă are o dimensiune insuficientă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Problema congestiei
 Exemplu. Două gazde, sursa1 şi sursa2 vor să transmită date către o
gazdă aflată pe o reţea cu o lărgime de bandă mai mică; datele pot circula
pe reţelele locale respective dar routerul nu le poate transmite mai departe
in totalitate, deoarece viteza de transmitere pe reţeaua de destinaţie este
mult mai mica.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Problema congestiei
 La nivelul unei reţele, controlul congestiei şi alocarea resurselor,
reprezintă componente ale aceleiaşi probleme. Dacă la nivelul
comunicaţiei în reţea, există o planificare a utilizării circuitelor fizice de
către cele virtuale, atunci controlul congestiei nu mai este necesar. De
asemenea, la nivelul gazdelor nu există o limitare a numărului de pachete
pe care aceasta doreşte să le transmită, deci se pune problema refacerii
pachetelor care au fost abandonate datorită apariţiei fenomenului de
congestie.
 De asemenea, trebuie făcută o distincţie clară între controlul fluxului de
date şi controlul congestiei. Dacă controlul fluxului se referă la a
regulariza comunicaţia dintre un transmiţător mai rapid şi un primitor mai
lent, controlul congestiei se referă la a păstra activi numai anumiţi
transmiţători din reţea sau a abandona anumite pachete sau cadre de date
care sunt transmise prin mediul de comunicaţie al reţelei.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Problema congestiei
 Controlul congestiei nu este acelaşi lucru cu routarea. Legăturilor
congestionate li se asociază o anumită valoare(pondere) şi ţinând cont de
această valoare, routerele vor căuta să transmită pachetele evitând această
conexiune. Dar sunt situaţii, cum este cea prezentată în figura ant. în care
legătura congestionată nu poate fi evitată. Într-o astfel de situaţie spunem
că are loc o “gâtuire” în reţea.
 Problema evitării congestiei trebuie rezolvată atât la nivel de routere cât şi
la nivel de gazde. Fiecare router ia decizii în ceea ce priveşte care dintre
pachete sunt transmise mai departe şi care sunt abandonate. De asemenea,
informează gazdele cât de multe pachete le este permis să transmită în
reţea. La nivel de gazdă, se observă condiţiile de trafic din reţea, adică
ponderea pachetelor care au ajuns la destinaţie din numărul total al
pachetelor transmise.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Problema congestiei
 În continuare vom înţelege prin noţiunea de flux ca fiind o secvenţă de
pachete transmise de la o gazdă sursă la o gazdă destinaţie, care urmează
un acelaşi drum, în reţeaua de comunicaţie a inter- reţelei. În figura urm.
este sunt prezentate astfel de fluxuri.
 O modalitate prin care este realizată alocarea resurselor, este cea bazată pe
rezervare. În astfel de sisteme, gazdele cer reţelei alocarea de resurse
pentru intervalul de timp cât este stabilit un anumit flux. Fiecare router ar
trebui să aloce resurse suficiente fluxului respectiv. Dacă la un anumit
router nu se poate face alocarea de resurse, deoarece s-ar realiza
supraîncărcarea routerului respectiv, atunci acesta va abandona pachetele
primite pe fluxul respectiv.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Problema congestiei
 O metodă mai perfecţionată, este cea bazată pe conceptul de „feedback”.
Gazdele încep transmiterea de date fără a cere alocarea de resurse şi îşi
ajustează transmiterea de date pe baza „feedback- ului” pe care îl primesc.
Acest „feedback” poate fi explicit(un router congestionat transmite un
mesaj „încetineşte transmiterea” gazdei respective) sau poate fi
implicit(gazda ajustează propria transmitere de date prin observarea
comportamentului reţelei, reflectat prin numărul de pachete pierdute). În
cadrul acestor metode, observăm rolul major al routerelor în alocarea
resurselor.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Problema congestiei
 Controlul congestiei sub TCP se bazează pe următoarea idee: gazda
sursă trebuie să fie capabilă să determine capacitatea reţelei de a primi
pachete de la aceasta, pe care să le poată transporta în siguranţă către
destinaţie. Acest lucru se poate realiza pe baza ACK-urilor primite. Astfel,
când o gazdă sursă primeşte confirmarea primirii unui pachet transmis
anterior de către gazda destinaţie, ea poate să transmită un nou pachet. De
asemenea, deoarece conexiunile logice din cadrul reţelei sunt variabile în
timp, şi lărgimea de bandă pe care o are la dispoziţie o anumită gazdă este
variabilă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Metoda creşterii aditive/descreşterii
multiplicative
 Pentru fiecare legătură, TCP utilizează o variabilă CongestionWindow,
care este folosită de către fiecare gazdă pentru a reduce cantitatea de date
pe care să o transmită în reţea, astfel încât să nu se ajungă la starea de
congestie.
 Modificarea valorilor variabilei CongestionWindow se face pe baza
gradului de congestie al reţelei. O anumită gazdă trage concluzia că o
reţea este congestionată, pe baza observaţiei că anumite pachete nu au fost
confirmate în timp util, cauza cea mai probabilă fiind că pachetele
respective au fost abandonate de anumite routere supraîncărcate. În acest
moment, gazda respectivă va concluziona că reţeaua este congestionată şi
va înjumătăţi valoarea variabilei CongestionWindow.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Metoda creşterii aditive/descreşterii
multiplicative
 Reciproc, în momentul când primeşte confirmarea unui pachet, va adăuga
la CongestionWindow, valoarea MSSx(MSS/CongestionWindow),
 în care MSS(Maximum Segment Size reprezintă dimensiunea maximă a
segmentului pe care o suportă TCP.
 O perfecţionare a acestui mecanism, este metoda startului lent(„slow
start”). La începutul sesiunii de transmitere de date, gazda sursă setează
CongestionWindow la dimensiunea unui segment.
 Când soseşte confirmarea pentru acest pachet, TCP adaugă dimensiunea
unui segment la CongestionWindow şi apoi transmite două pachete. După
ce primeşte cofirmarea celor două pachete transmise, TCP va adăuga
2Xdimensiunea unui segment la CongestionWindow şi apoi va transmite 4
segmente ş.a.m.d.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Metoda creşterii aditive/descreşterii
multiplicative
 Cu alte cuvinte, avem de a face cu o creştere exponenţială a numărului de
pachete pe care îl transmite gazda în reţea, atunci când primeşte o
confirmare a pachetelor transmise anterior.
 Justificarea acestei metode constă în: dacă gazda ar fixa la începutul
transmisiei o valoare mare pentru CongestionWindow, în conformitate cu
lărgimea de bandă disponibilă, este posibil ca anumite routere
aglomerate(care au bufferele pline) să nu poată primi aceste pachete
şi deci să le abandoneze.
 Startul lent înseamnă o atitudine prudentă a gazdei sursă, deoarece la
începutul conexiunii, aceasta nu are nici un fel de informaţii despre
cantitatea de date pe care o pot transmite mai departe routerele din reţea.
De asemenea, atunci când valoarea timpului de aşteptare pentru
confirmarea unui pachet depăşeşete o anumită valoare(„timeout”) sau, cu
alte cuvinte pachetul este pierdut, valoarea lui CongestionWindow este
împărţită la 2.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Metoda creşterii aditive/descreşterii
multiplicative
 Cele două metode pot fi combinate, rezultând următorul algoritm.
 În momentul când un pachet este pierdut, valoarea variabilei
CongestionWindow este atribuită variabilei CongestionThershold.
 CongestionWindow este resetată la dimensiunean unui pachet, gazda
sursă intrând în starea de start lent.
 CongestionWindow creşte exponenţial pentru fiecare ACK primit, până
când ajunge la valoarea lui CongestionThershold, după care creşte liniar
pentru fiecare ACK primit.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Nivelul Aplicaţie

Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Obiectivele cursului:
 Protocolul DNS
 Posta electronica
 HTTP

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Caracteristici
 În contextul modelului de referinţă OSI, nivelul aplicaţie conţine
componentele de comunicare ale proceselor.
 Nivelul aplicaţie este cel accesibil sistemelor terminale;
 determină dacă există suficiente resurse pentru a se realiza comunicarea
între aceste tipuri de unităţi.
 nu oferă servicii altui nivel, în schimb el oferă servicii aplicaţiilor care se
execută în afara modelului OSI, cum sunt, de exemplu:
 programe de calcul tabelar, programe de procesare de texte etc.
 nivelul aplicaţie furnizează o interfaţă pentru întreg modelul OSI, folosind
aplicaţiile de reţea (WWW, E-mail, FTP, Telnet etc).
 Prin utilizarea conceptului de redirectare, nivelul aplicaţie este o interfaţă
pentru aplicaţiile destinate calculatoarelor independente, care se execută
în reţea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Aplicatii client/server
 Multe dintre aplicaţiile care lucrează într-un mediu de reţea (FTP,
browsere de WWW, E-mail etc) sunt de tipul client-server. Clientul este
localizat pe un calculator local şi solicită resurse. Server-ul este localizat
pe un calculator aflat la distanţă care oferă servicii, la solicitările
clientului.
 O aplicaţie client/server lucrează repetând perechea de acţiuni
(cerere/client, răpsuns/server).
 Un exemplu în acest sens, este un “browser” de Web care accesează o
pagină cerând un URL (Uniform Resource Locator), o adresă de web sau
un server de web aflat la distanţă. După ce obţine aceste informaţii,
clientul poate cere alte informaţii, sau poate accesa alte pagini de web, de
pe alte servere.
 Browserele si clientii de mesagerie sunt cele mai utilizate aplicaţii de
reţea.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Redirectare
 Într-o reţea LAN, redirectarea este protocolul care lucrează la nivelul
sistemului de operare şi permite să se facă distincţie între cererile adresate
unităţii centrale a calculatorului respectiv şi cele adresate unui server.
 Astfel, este posibil să se acceseze, să se creeze, să se moddifice şi să se
listeze fişiere pe un server aflat pe o reţea locală sau pe o altă reţea.
 Redirectorul permite administratorului de reţea să atribuie nume logice
resurselor aflate pe diverse unităţi, iar utilizatorul, pentru a accesa o
anumită resursă va utiliza numai aceşti identificatori, fără nici o referinţă
la reţeaua respectivă.
 redirectoarele extind componentele software locale. Este posibilă
utilizarea în comun a resurselor logice şi fizice ale reţelei, precum şi
integrarea aplicaţiilor locale cu cele de reţea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Redirectare
 În toate aplicaţiile de tip client/server din cadrul unei reţele, conectarea la
un server este menţinută atâta timp cât se procesează cererea respectivă.
 conectarea la un server de web va dura atâta timp cât se transferă
conţinutul paginii de Web accesate pe calculatorul client;
 în cazul tipăririi unui document, conectarea la server-ul de tipărire va dura
pâna când a fost tipărit documentul cerut etc.
 În momentul când aplicaţia respectivă şi-a terminat execuţia, conectarea
este întreruptă, urmând să fie eventual reluată odată cu o nouă cerere
adresată server-ului respectiv. Acest mod de lucru este necesar pentru a nu
se bloca cu cereri serverele.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Protocolul DNS
 Fiecare “site” de pe Internet are alocată o adresă IP.
 Folosirea de către utilizatorii obişnuiţi, care actionează la nivelul Aplicaţie
al arhitecturii de reţea a acestor adrese este dificilă şi poate genera erori.
 este un protocol care face corespondenţa dintre numele diverselor
componente de reţea şi adresele lor IP, denumit protocolul DNS (Domain
Names System).
 Domeniul este un grup de calculatoare care sunt asociate prin localizarea
lor geografică sau prin tipul de activitate al organizaţiei pe care o
deservesc.
 Numele de domeniu este un şir de caractere şi/sau numere, de obicei un
nume sau prescurtarea unui nume.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Protocolul DNS
 La începutul existenţei Internetului, când numărul de calculatoare legate
în reţea era relativ mic, a existat o tabelă realizată de organizaţia NIC
(Network Information Couter), care făcea corespondenţa dintre adresa IP
şi numele gazdei. Numele de gazde erau şiruri de caractere, fără a avea o
organizare ierarhică. Aceste corespondenţe erau introduse manual în
tabelă şi erau transmise tuturor administratorilor de reţele conectate la
Internet.
 Ierarhia de domeniu. DNS implementează un spaţiu ierarhizat de nume
pentru obiectele din Internet. Spre deosebire de numele de fişiere (calea
către acestea), care sunt prelucrate de la stânga la dreapta, fiind separate
de slash-uri, numele DNS sunt prelucrate de la dreapta la stânga,
separatorul fiind caracterul “.”.
 Asemănător ierarhiei de fişiere, ierarhia DNS poate fi văzută ca un arbore.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Protocolul DNS
• Exemplu. În figura urm. este prezentată o ierarhie de domenii .

edu com mil


org fr
gov
ro

mit cisco nasa nsf arpa nato acm ieee unitbv edu
princeton yahoo

cs ce
physics

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Servere de nume
 Primul pas în organizarea acestor servere este partiţionarea
ierarhiei în zone.
 Fiecare zonă poate fi gândită ca fiind corespondentă la o
anumită autoritate administrativă, responsabilă pentru acea
porţiune a ierarhiei.
 Nivelul cel mai înalt al ierarhiei formează o zonă administrată
de NIC.
 Urmează zone care corespund structurii administrative
respective (princeton, cisco, unitbv, etc.).
 În cadrul acestor zone, există alte zone care corespund
anumitor departamente care se administrează singure.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Servere de nume
 Nu toate departamentele formează o zonă, unele rămân la
nivelul de administrare al universităţii, de exemplu zona care
corespunde serverului de nume, ce reprezintă unitatea
fundamentală de implementare a DNS.
 informaţiile relative la fiecare zonă, sunt implementate în
două sau mai multe servere de nume.
 Serverele de nume sunt accesate de către clienţi, care
transmit cereri către acestea şi primesc un răspuns care poate
fi cel dorit sau un pointer către alt server la care clientul îi va
transmite cererea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Servere de nume
 Din punct de vedere al implementării, DNS este gândit ca o ierarhie de
servere de nume, mai degrabă decât o ierarhie de domenii.
 Fiecare server de nume, implementează informaţia de zonă ca o colecţie
de înregistrări (articole) de resursă. O înregistrare de resursă conţine 5
câmpuri: (Nume, valoare, tip, clasă, TTL)
 câmpul tip specifică cum va fi interpretat câmpul valoare.
 tip=A, va indica faptul că valoare este o adresă IP; astfel, valoare A
indică o corespondenţă nume – adresă.
 tip=NS, valoare furnizează numele de domeniu pentru o gazdă care
execută un server de nume, care ştie cum să rezolve problema
numelui, în interiorul domeniului specificat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Servere de nume
 tip=CNAME, valoare furnizează numele canonic al unei gazde
particulare; este folosit pentru a defini „alias-uri”.
 tip=MX, valoare furnizează numele de domeniu pentru o gazdă care
execută un server de poştă, care acceptă mesaje dintr-un domeniu
specificat.
 Câmpul clasă a fost inclus pentru a permite alte tipuri de înregistrări decât
cele definite de NIC. Cea mai răspândită valoare a câmpului, utilizată în
Internet este IN.
 Câmpul TTL arată cât timp această înregistrare este validă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Servere de nume
 Vom considera ierarhia prezentă în figura şi vom ignora câmpul TTL.
 În primul rând serverul de nume rădăcină conţine o înregistrare NS
pentru fiecare server de la nivelul secund. De asemenea, el conţine o
înregistrare A care translatează acest nume în adresa sa IP. Luate
împreună, aceste două înregistrări implementează efectiv un pointer de la
serverul de nume rădăcină, la fiecare dintre serverele de nivel doi.
 (princeton.edu, cit.princeton.edu, NS, IN)
 (cit.princeton.edu, 128.196.128.233, A, IN)
 (cisco.com, ns.cisco.com, NS, IN)
 (ns.cisco.com, 128.96.32.20, A, IN)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Servere de nume
 Domeniul princeton.edu are un nume de server, disponibil pe gazda
cit.princeton.edu, care conţine înregistrările următoare:
 (cs.princeton.edu, guat.cs.princeton.edu, NS, IN)
 (guat.cs.princeton.edu, 192.12.69.5, A, IN)
 (ee.princeton.edu, helios.ee.princeton.edu, NS, IN)
 (helios.ee.princeton.edu, 128.196.28.166, A, IN)
 (jupiter.physics.princeton.edu, 128.196.4.1, A, IN)
 (saturn.physics.princeton.edu, 128.196.4.2, A, IN)
 (mars.physics.princeton.edu, 128.196.4.3, A, IN)
 (venus.physics.princeton.edu, 128.196.4.4, A IN)
 etc.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Servere de nume
 În final, serverul de nume de la un al treilea nivel cum ar fi cel administrat
de către domeniul cs.princeton.edu, conţine pentru toate gazdele o
înregistrare cu un câmp A. De asemenea el poate defini o mulţime de
„alias-uri” (înregistrări CNAME) pentru fiecare dintre aceste gazde.
„Alias-urile” pot fi alte „nume” ale gazdelor, dar ele pot furniza şi un
anumit nivel de indirectare.
 De exemplu, www.cs.princeton.edu este un „alias” pentru gazda cu
numele cicada.cs.princeton.edu. Aceasta permite serverelor de site-uri
web de a se muta la o altă maşină, fără a afecta utilizatorii de la distanţă.
Ele folosesc „alias-ul”, fără a fi interesate pe care dintre maşinile din reţea
este executat server-ul.
 Înregistrările de tipul MX (Mail Exchange) servesc acelaşi scop pentru
aplicaţiile de e- mail - ele permit unui administrator să schimbe care gazdă
primeşte un mail, din partea altui domeniu.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Servere de nume
 (cs.princeton.edu, guat.cs.princeton.edu, MX, IN)
 (cicada.cs.princeton.edu, 192.12.69.90, A, IN)
 (cic.cs.princeton.edu, cicada.cs.princeton.edu, CNAME, IN)
 (guat.cs.princeton.edu, 192.12.69.5, A, IN)
 (guat.cs.princeton.edu, guat.cs.princeton.edu, CNAME, IN)
 (www.cs.princeton.edu, 192.12.69.35, A, IN)
 (cicada.cs.princeton.edu,roach.cs.princeton.edu,roach.cs.princeton.edu,
CNAME, IN) etc.
 Observăm că deşi înregistrările pot fi definite pentru orice tip de obiect,
DNS este de obicei folosit pentru a identifica gazde (incluzând servere) şi
„site”-uri. El nu este folosit pentru a identifica utilizatori sau alte obiecte
de genul fişiere sau directoare; alte sisteme de nume se folosesc pentru
aceste obiecte.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Rezolvarea numelor
 Fiind dată o ierarhie de servere de nume, se pune problema utilizării
acestora pentru a rezolva un nume de domeniu. De exemplu, să
considerăm statia1.info.unitbv.ro; aici statia1 este numele unui calculator;
el este gestionat de un grup, care se numeste info, corespunzător
Departamentului de Informatică al Universităţii “Transilvania”, care la
rândul lui este o componentă a grupului unitbv, corespunzător universităţii
amintite. La rândul său unitbv face parte din grupul (domeniul) ro,
corespunzator României.
 Pentru realizarea corespondenţei dintre adresa numerică IP şi nume este
folosit un serviciu similar cu cel de informaţii telefonice. Rolul serviciului
de informaţii este jucat de serverele de nume, care păstreaza
corespondenţa “nume – adresă IP” relativă la un anumit domeniu.
 Când cineva foloseşte un nume, calculatorul îl converteşte în adresa
numerică, folosind una dintre următoarele schemele urmatoare
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Rezolvarea numelor
 face conversia directă, deoarece numele aparţine unui domeniu de care el
este responsabil;
 ştie corespondenţa deoarece a mai folosit recent numele;
 ştie cum să găsească corespondenţa; de exemplu, pentru adresa
statia1.info.unitbv.ro, comunică cu un server de nume special (radacină) şi
află adresa server-ului responsabil cu domeniul ro; comunică apoi cu
acesta şi află adresa server-ului responsabil cu domeniul unitbv ş.a.m.d.
află adresa calculatorului statia1.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
Rezolvarea numelor
 Domeniile primare (de nivelul cel mai înalt) se împart în două categorii:
 corespunzătoare tipului organizaţiilor:
 com – organizaţii comerciale; org – alte organizaţii;
 edu – organizaţii educaţionale; int – organizatii internaţionale;
 gov – organizaţii guvernamentale; mil – organizaţii militare;
 net – resurse din reţea etc.
 corespunzatoare ţărilor:
 ro – Romania; de – Germania;
 fr – Franţa; nl – Olanda;
 it – Italia; dk – Danemarca;
 uk – Marea Britanie; us – Statele Unite ale Americii.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
Rezolvarea numelor
 În legatură cu sistemul de nume, sunt valabile următoarele observaţii:
părţile unui nume arată cine este responsabil cu gestiunea numelui, nu
unde se află nodul denumit; anumite nume se referă la servicii oferite, nu
la noduri fizice; serviciile respective pot fi utilizate cu acelaşi nume, chiar
dacă, din diferite motive, sunt mutate de la un calculator la altul;un
calculator poate avea mai multe nume, atunci când pe el se află mai multe
servicii, fiecare fiind apelat cu un alt nume; de exemplu, ftp.atm.ro şi
news.atm.ro pot fi două servicii (unul de transfer de fişiere şi altul de
difuzare de ştiri) aflate amândouă pe acelaşi calculator, dar care pot,
eventual să existe pe două maşini diferite; la folosirea unui nume greşit,
care nu poate fi translatat într-o adresă Internet validă, sistemul furnizează
mesajul host unknown;
 Avantajul principal al sistemului de nume, este faptul că ele divizează
Internet-ul în domenii care au o logică, sunt uşor de reţinut şi de localizat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
Poşta electronică (PE)
 Pentru a înţelege cum lucrează PE trebuie:
 să distingem între interfaţa utilizator şi SMTP;
 să distingem între SMTP şi protocoalele care o însoţesc (RFC 822 şi MIME
(Multipurpose Internet Mail Extension));
 RFC 822 este un standard care defineşte structura unui mesaj
 MIME extinde RFC 822, adăugând posibilitatea de a transmite imagini, fişiere
multimedia, etc.
 SMTP este protocolul care asigură transferul mesajului de la o gazdă la
alta. El presupune: un program de interfaţă dintre utilizatori şi PE, care
permite utilizatorilor să compună, să citească, să caute etc. mesaje; un
program „mail daemon (MD)” care se execută pe fiecare gazdă, care joacă
rolul oficiului poştal.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
Poşta electronică (PE)
 Procedura de transmitere a unui mesaj, implică doua procese.
 Primul este transmiterea mesajului unui oficiu poştal la care este conectat
destinatarul;
 al doilea proces constă în furnizarea mesajului de către serviciul de poştă
electronică, utilizatorului căruia îi este adresat. Aceasta presupune că atât
expeditorul cât şi destinatarul au deschise câte o cutie poştală, păstrate în
sistemele (server-ele de poştă electronică) în care au deschis un cont.
 Fiecare cont sau adresă de e-mail este format din două părţi, separate prin
caracterul “@”. Prima parte conţine identificatorul cutiei poştale, iar a
doua numele server-ului de e-mail, scris în concordanţă cu specificaţiile
DNS.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
Poşta electronică (PE)
 Programul de interfaţă transmite lui MD mesajele pe care el vrea să le
transmită altor utilizatori.
 MD foloseşte SMTP (care se sprijină pe TCP) pentru a transmite mesajul
la MD-ul care se execută pe o altă maşină
 MD-ul destinatie pune mesajul în cutia poştală a utilizatorului (unde
găseşte programul de interfaţă al utilizatorului căruia îi este destinat
mesajul).
 MD poate fi implementat în concordanţă cu arhitectura gazdei respective.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
Poşta electronică (PE)
 Procesul prin care MD-ul de pe o maşină stabileşte o conexiune cu MD-ul
de pe o altă maşină este redat în figura urm. Deoarece MD-ul de pe o
maşină stabileşte o conexiune SMTP/TCP cu MD-ul de pe o altă maşină,
în multe cazuri mesajul de „mail” traversează una sau mai multe relee de
mail, pe drumul pe care îl parcurge de la gazda sursă la gazda destinaţie.
Asemenea gazdelor terminale şi poarta implicită de mail (PIM) execută un
proces MD. PIM sunt numite „porţi” deoarece asemănător router-elor,
stochează şi transmit mai departe mesaje IP. Singura diferenţă, este că o
PIM păstrează mesajele într-un „buffer” pe disc, urmând ca ele să le
transmită după un timp (chiar şi de ordinul zilelor), pe când un router IP
păstrează mesajele într-un „buffer” din memoria internă, urmând ca
transmiterea acestora să se facă într-un timp foarte scurt (fracţiune dintr-o
secundă).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
Stabilirea conexiunii dintre două oficii poştale

Program „mail” de Program „mail” de


interfaţă interfaţă

MD

MD MD

SMTP/TCP SMTP/TCP

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
Poşta electronică (PE)
 Releele sunt necesare deoarece utilizatorul care transmite mesajul de pe o
gazdă sursă nu trebuie (şi nu poate) să specifice gazda la care el lucrează.
În adresa de mail este specificat numele aşa zisului cont, urmat de un
nume. Deci, mai întâi mesajul este transmis PIM-ului (sau server-ului) de
mail, care mai departe se ocupă de transmiterea mesajului. PIM-ul
administrează o bază de date unde sunt depuse mesajele care urmează să
fie transmise. Protocolul POP3 (Post Office Protocol) este utilizat pentru
regăsirea mesajelor din baza de date.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
Poşta electronică (PE)
 Independent de câte PIM-uri există în drumul de la sursă la destinaţie,
SMTP realizează o conexiune pentru transmiterea de mesaje. Fiecare
sesiune SMTP implică un dialog între două MD-uri. SMTP realizează un
dialog între un client şi un server. Clientul îşi specifică numele său de
domeniu iar server-ul va verifica dacă acest nume corespunde adresei IP
ce va fi utilizată de către conexiunea realizată de către TCP. De asemenea,
este verificat numele de domeniu din adresa de destinaţie. Este posibilă
specificarea mai multor destinaţii.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
HTTP(HyperText Transmission Protocol)
 HTTP(HyperText Transmission Protocol) reprezintă „limbajul comun”,
prin care clienţii şi serverele se pot înţelege prin Internet. Programul de
interfaţă(„Browser”) are o funcţie ce permite utilizatorului să deschidă un
URL (Uniform Resource Locater) ce furnizează informaţii prin care se
localizează un obiect de pe Web. Când se deschide un anumit URL,
„browser”- ul de Web va deschide o conexiune TCP cu calculatorul
indicat prin numele respectiv. Multe din fişierele de pe Web conţin
imagini, texte, clip-uri audio sau video. De asemenea, ele conţin alte
URL-uri care referenţiază alte fişiere pe care „browser-ul” de Web le
poate deschide. Aceste URL-uri se mai numesc şi legături hiper-text. Când
se deschide o astfel de legătură, este realizată o nouă conexiune şi se
deschide un alt fişier. Când se selectează o pagină, „browser”-ul client
extrage pagina de pe server folosind HTTP-ul care se execută peste TCP.
La fel cu SMTP, HTTP este un protocol orientat pe texte.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
HTTP(HyperText Transmission Protocol)
 Mesajele de cerere şi răspuns. Prima linie a cererii HTTP conţine trei
entităţi: operaţia care va fi executată, pagina Web pe care va fi executată
operaţia respectivă şi versiunea HTTP care este utilizată. Asemănător,
mesajul de răspuns va conţine versiunea HTTP, un cod care indică
dacă cererea a fost(sau nu) rezolvată cu succes şi un text care conţine
semantica răspunsului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
Conexiunea TCP
 Versiunea originală (HTTP 1.0) stabilea o conexiune separată pentru
fiecare unitate de date regăsită pe un server. Acesta era un mecanism
ineficient: de fiecare dată când un acelaşi client şi acelaşi server voiau să
primească /transmită o altă unitate de date, trebuia stabilită o nouă
conexiune, cu eforturile de rigoare.
 Soluţia pe care au implementat-o versiunile următoare, este că un server
va închide o sesiune cu un client numai dacă într-un interval de timp el nu
a mai primit nici o cerere din partea clientului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
Conexiuni
 Păstrarea în memorie a unor conexiuni recente reprezintă o altă metodă
prin care se realizează îmbunătăţirea activităţii la nivelul clientului. Pentru
a nu se păstra conexiuni în memorie care nu sunt folosite, fiecare legătură
are alocat un anumit „timp de viaţă”, după expirarea căruia ele sunt şterse
din memorie.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Rutare. Niveluri de reţea

Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Modul de lucru la nivelul unui router
 Lucrul în reţea presupune două scheme de adresare: una foloseşte
adresele MAC, adică o adresă a nivelului 2, iar alta foloseste o adresă a
nivelului reţea, cum este adresa IP. Router-ul este o unitate inter–reţea
care transmite pachete de date între reţele, pe baza adresei nivelului 3,
spre deosebire de punţi sau switch-uri, care folosesc adresa MAC pentru
a transmite mai departe cadrele de date primite. Spre deosebire de
adresele MAC, care sunt asignate de către producătorul de plăci de reţea,
adresele IP sunt asignate de către administratorul de reţea, deoarece ele
sunt implementate prin software. Router-ele conectează două sau mai
multe reţele, fiecare având un număr unic de reţea, încorporat în adresa
IP. Astfel, este posibil ca două sisteme terminale aflate pe reţele diferite
să poată fi conectate între ele; de asemenea, este posibil ca acestea să
poată avea acces la multitudinea de informaţii de pe reţeaua Internet.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Pentru a ne face o imagine asupra modului de lucru al router-ului, vom
considera câteva aspecte:

 O reţea A are un unic număr de reţea – A1. Ea este compusă din patru
unităţi. Adresele IP ale unităţilor sunt A2, A3, A4, şi A5. Deoarece
interfaţa unde router-ul conectează reţeaua este considerată parte a reţelei
şi aceasta va avea o adresă IP - A1.

 O altă reţea B, cu un alt număr de identificare - B1, are patru unităţi.


Această reţea este la rândul ei ataşată aceluiasi router, dar printr-o altă
interfaţă. Adresele IP ale unităţilor sunt B2, B3, B4 şi B5, iar adresa IP a
celei de-a doua interfeţe a router-ului este B1.

 Dacă o gazdă din reţeaua A vrea să transmită date la o gazdă din reţeaua
B, când cadrele de date care vin de la reţeaua A ating router-ul, acesta
execută următoarele acţiuni:

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
 Scoate header-ul cadrului, care conţine adresele MAC ale sursei şi
destinaţiei.

 Examinează adresa nivelului reţea, pentru a determina reţeaua de


destinaţie.

 Consultă tabelele lui de rutare, pentru a vedea care dintre interfeţele lui
vor fi folosite pentru a transmite datele mai departe către reţeaua de
destinaţie; în exemplul nostru, router-ul va folosi interfaţa cu adresa B1
pentru a transmite date către reţeaua B. Înainte ca router-ul să transmită
datele, el le va încapsula într-un cadru de date corespunzator.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
 O interfaţa a router-ului mai este numită şi port. În rutarea IP, fiecare interfaţă
trebuie să aibă o adresă unică de reţea (sau subreţea). Activitatea la nivelul unui
router, se bazează pe două concepte fundamentale:transmiterea mai departe
(“forwarding”) a pachetelor IP; dirijarea sau routarea pachetelor(“routing”).
“Forwarding” este procesul prin care un pachet este preluat de la o intrare a router-
ului şi transmis către ieşirea corespunzătoare, pe când dirijarea este procesul de
construire şi întreţinere a tabelelor pe baza cărora se desfăşoară procesul de
transmitere mai departe a datelor.

 Când ne referim la transmiterea mai departe a pachetelor, trebuie să luăm în discuţie


următoarele aspecte:fiecare pachet conţine adresa IP a gazdei destinaţie; câmpul de
reţea al unei adrese IP identifică în mod unic o singură legătură fizică, către o
anumită reţea ce face parte dintr-o inter-reţea; toate gazdele şi router-ele care au
aceeaşi valoare a câmpului de reţea în adresle lor IP, sunt conectate la aceeaşi reţea
locală şi astfel fiecare poate transmite cadre de date peste peste acea reţea; fiecare
reţea fizică ce face parte dintr-o inter-reţea este conectată la o interfaţă a unui
router.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
 Când o gazdă sursă doreşte să transmită un pachet unei gazde destinaţie, mai întâi
compară valoarea câmpului reţea din propria adresă cu cel din adresa de
destinaţie; dacă cele două valori sunt egale, atunci pachetul de date se transmite în
reţeaua locală din care fac parte cele două gazde, deci el este încapsulat într-un
cadru de date şi transmis pe mediul de comunicaţie; în caz contrar, pachetul este
transmis router-ului prin interfaţa corespunzătoare reţelei locale, router-ul fiind
responsabil cu transmiterea mai departe a pachetului.

 În general, fiecare router are mai multe posibilităţi de a alege router- ul căruia să-i
transmită un anumit pachet. Evident, că el va alege acest nod următor din
subreţeaua de comunicaţie, astfel încât pachetul respectiv să urmeze cel mai bun
drum până la destinaţie. Despre această alegere vom discuta într-o secţiune
următoare. Router-ul găseşte un nod următor corect consultându-şi o aşa – zisă
“tabelă de transmitere mai departe”. Această tabelă conţine intrări de forma
(Număr Reţea, Nod următor).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Rutarea şi transmiterea mai departe a
pachetelor
 Pentru ca un pachet să ajungă de la o gazdă aflată pe o anumită reţea
locală, la o altă gazdă situată pe o altă reţea locală, el trebuie, mai întâi
transmis routerului la care este legată prima reţea locală şi apoi să străbată
un drum ale cărui noduri sunt routere intermediare din subreţeaua de
comunicaţie, până la routerul la care este conectată gazda destinaţie.
Determinarea acestui drum apare la nivelul reţea. Funcţia de determinare a
drumului permite routerului, să aleagă dintre mai multe căi disponibile, pe
cea optimă. Pentru determinarea acestor drumuri şi alegerea celui optim la
momentul respectiv, routerul foloseşte o serie de tabele. O intrare într-o
astfel de tabelă conţine adresa IP a unei anumite destinaţii şi următorul
nod către destinaţia respectivă. Actualizarea acestor tabele se numeşte
routare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
 Pentru evaluarea drumurilor, existente între două routere la un moment
dat se folosesc informaţiile despre topologia reţelei. Aceste informaţii se
introduc manual de către administratorul de reţea sau pot fi actualizate
dinamic de către anumite procese care se execută în reţea. Nivelul reţea
foloseşte tabelele de rutare pentru a transmite pachetele de la o reţea sursă,
la o reţea destinaţie. După ce routerul determină care drum va fi folosit, el
trece la transmiterea mai departe a pachetului. El ia pachetul care a fost
primit la o interfaţă şi îl transmite mai departe la o altă interfaţă care
constituie următorul nod din drumul optim
 Acesta reprezintă procesul de transmitere mai departe(“forwarding”) al
pachetului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Reţeaua ca un graf

 În esenţă, rutarea este o problemă de teoria grafurilor. În


figura următoare este prezentat un graf care reprezintă o reţea.
Nodurile grafului pot fi gazde, switch-uri, routere sau reţele.
Pentru început, vom considera nodurile ca fiind routere. O
muchie a grafului corespunde unei legături a reţelei. De
asemenea, fiecare muchie are un cost care corespunde la cât
de convenabilă este acea legătură. Despre modul în care se
stabilesc aceste legături vom discuta puţin mai târziu.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
 Problema principală este să se găsească drumul de cost minim între
oricare două noduri şi acestea să fie memorate. O astfel de abordare
statică are o mai multe dezavantaje, printre care: nu ia în consideraţie
posibilitatea defectării unui nod sau a unei legături; nu ia în consideraţia
posibilitatea adăugării unui nod sau a unei legături; nu ia în consideraţia
posibilitatea modificării costului unei legături, în funcţie de încărcarea
acesteia.
 Din aceste motive, rutarea este realizată prin execuţia protocoalelor de
rutare pe fiecare dintre nodurile reţelei, care furnizează o soluţie dinamică
a determinării drumului de cost minim, în condiţiile modificării
configuraţiei reţelei. Există două tipuri de protocoale de rutare: cele bazate
pe vectorul distanţă şi cele bazate pe starea legăturilor.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
 Tabelele de rutare pot fi modificate manual, de către administratorul de
reţea(rutare statica) sau automat(rutare dinamica). Modificarea manuală a
tabelelor de rutare, se face atunci când administratorul de reţea vrea să
controleze care drum este ales de către router, atunci când vrea să testeze
o anumită legatură, să conserve lărgimea de bandă sau să conecteze o
reţea LAN, cu o singură posibilitate de conexiune în exterior.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Protocolul bazat pe vectorul distanţă
( Routing Information Protocol - RIP).
 Fiecare nod îşi construieşte un vector cu distanţele(costurile) către toate nodurile
din reţea şi distribuie acest vector tuturor vecinilor săi. Iniţial, fiecare nod
cunoaşte costul legăturii către vecinii lui. O legătură care nu mai este operaţională
are un cost egal cu ∞. Pentru graful din figura urm. distanţele iniţiale stocate în
fiecare nod sunt date de:

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
 În acest exemplu, costul fiecărei legături este 1 deci costul unui drum
minim este egal cu numărul de noduri intermediare care trebuie parcurse
pentru a ajunge la destinaţie. La nivelul fiecărui nod se construieşte o
tabelă iniţială de rutare. De exemplu, pentru nodul A tabela este:

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
 pentru celelate noduri distanţa este ∞. Următorul pas este că fiecare nod
transmite câte un mesaj către vecinii săi prin care comunică listele cu
distanţele către alte noduri pe care le deţine. De exemplu, nodul F
comunică nodului A că el poate atinge nodul G printr-un drum de cost
egal cu 1; deoarece A cunoaşte că distanţa de la el la F este 1, poate
calcula distanţa de la el la G, egală cu 2. Acest cost este mai mic decât
costul existent în tabelă(∞), deci este înlocuit cu valoarea care afost
determinată. Într-un mod asemănător, A şi celelalte vârfuri determină
drumul minim către celelalte noduri din reţeaua de comunicaţii. În final,

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
 Tabela de rutare a nodului A este:

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
 Dacă nu are loc nici o schimbare în topologia reţelei, se realizează numai
schimburi de informaţii între vecini pentru ca fiecare nod să aibă o tabelă
completă de rutare. Procesul prin care se obţin informaţiile de rutare de
către noduri se numeşte convergenţă.

 Schimbul de informaţii între noduri se poate realiza periodic, sau de


fiecare dată când are loc o anumită modificare în structura reţelei.

 Spre deosebire de RIP, protocolul bazat pe starea legăturilor OSPF ("open


shortest path first") ia în considerare costul conexiunilor dintre două
routere. Acestea pot fi: viteza de rutare, traficul, fiabilitatea şi securitatea,
lărgimea de bandă, încărcarea şi întârzierea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Nivelul Transport
 Schema de adresare a nivelului reţea permite comunicarea dintre două
gazde într-o inter-reţea. De fapt, pe aceste gazde se execută aplicaţii care
comunică între ele. Se pune în mod firesc problema identificării
proceselor corespunzătoare aplicaţiilor care sunt executate în reţea. Acest
lucru este realizat de către nivelul transport, care recunoaşte numerele de
port. Un port formează împreună cu adresa IP a gazdei un unic punct de
acces la serviciul de transport (TSAP-Transport Service Acces Point).
Protocoalele nivelului 4 folosesc numerele de port (sau soclu) pentru a
transmite informaţiile la nivelurile superioare. Numerele de port sunt
folosite pentru a identifica în mod unic diverse conversaţii care au loc în
reţea la acelaşi moment. Numerele de port sunt atribuite în conformitate
cu următoarele convenţii: Numere până la 255 – pentru aplicaţii publice;
Numere între 255-1023 – pentru aplicaţii ale unor companii furnizoare de
produse soft; Numere mai mari decât 1023 – la dispoziţia utilizatorilor
obişnuiţi.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
 Sistemele terminale folosesc numerele de port pentru a selecta aplicaţiile
corespunzătoare.

 Scopul principal al nivelului transport este de a asigura transmiterea sigură şi


fiabilă a informaţiilor între aplicaţiile(procesele) care se execută în reţea. Deoarece
utilizatorii nu pot controla reţeaua de comunicaţie, ei nu pot rezolva problema
apariţiei unor erori folosind servicii ale nivelurilor 2 sau 3. Singura posibilitate
este de a pune deasupra nivelului reţea un alt nivel care să îmbunătăţească
calitatea serviciilor. Dacă entitatea de transport este informată la jumătatea
transmisiei că a fost închisă brusc conexiunea sa la nivelul reţea, fără nici o
indicaţie despre ceea ce s-a întâmplat cu datele aflate în acel moment în tranzit, el
poate iniţia o altă conexiune la nivel de reţea, cu entitatea transport aflată la
distanţă. Folosind această nouă conexiune, ea poate cere informaţii despre felul
cum au ajuns datele la destinatar şi poate continua comunicarea din locul unde a
fost întreruptă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
 De asemenea, primitivele nivelului transport pot fi proiectate astfel încât
să fie independente de primitivele de la nivelul reţea, care pot să fie
diferite de la o reţea la alta (serviciile orientate pe conexiune dintr-o reţea
locală pot fi diferite de cele dintr-o altă reţea).
 Semnificaţia celor prezentate se regăseşte în arhitecturaTCP/IP.
 Acesta conţine două componente: TCP si UDP
 UDP (User Datagram Protocol) realizează transportul nefiabil al datelor
între gazde, fiind caracterizat de: nu este orientat pe conexiune; nu este
fiabil; transmite mesaje (numite datagrame utilizator); nu conţine
componente de verificare a furnizării mesajelor; nu reasamblează mesajele
sosite; nu foloseşte confirmarea; nu realizează controlul fluxului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
 Principala lui calitate este rapiditatea transmiterii mesjelor. Prelucrarea
erorilor şi retransmiterea sunt lăsate în sarcina altor protocoale. El este
folosit atunci când se transmit mesaje între unităţi, când se preferă o
transmisie rapidă în locul uneia mai sigure. Printre protocoalele care
folosesc UDP amintim: TFTP, SNMP, DHCP, DNS (Domain Name
System), care vor fi studiate în capitolele următoare.
 TCP furnizeaza un circuit virtual între aplicaţiile utilizator aflate pe
sistemele terminale. Caracteristicile TCP sunt: orientarea pe conexiune;
fiabilitatea; gazda sursă poate fragmenta mesajele; staţia destinatar
reasamblează fragmentele aceluiaş mesaj primit; se retransmite tot ceea ce
nu a fost confirmat ca fiind primit.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
 TCP/IP este stiva de protocole pe care se sprijină Internet-ul. Dacă IP este
un protocol al nivelului reţea, neorientat pe conexiune care furnizează
servicii prin care se realizează comunicarea într-o inter-reţea, TCP este un
protocol al nivelului transport, orientat pe conexiune, care permite
transmisia datelor în ambele sensuri (full-duplex), ce furnizează servicii
pentru controlul fluxului, precum şi fiabilitatea comunicării. TCP
manevrează informaţiile primite sub forma unei structuri numită segment.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
Antetul TCP
În cele ce urmează, sunt prezentate semnificaţiile unor câmpuri principale
din antetului unui segment TCP.
►port sursă, port destinaţie – numărul portului sursă corespunzator
aplicaţiei (procesului) utilizator aflat pe calculatorul expeditor, respectiv
numărul portului destinaţie corespunzător aplicaţiei (procesului) utilizator
aflat pe calculatorul destinatar;
►număr de secvenţă - număr folosit pentru secvenţierea corectă a datelor
primite
►număr de confirmare – identifică numărul octetului următor (numărul
de secvenţă) pe care sursa se aşteaptă să-l recepţioneze; deci, numărul de
confirmare verifică recepţionarea celor n-1 octeţi anteriori, atunci când
numărul de secvenţă este n;

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
►lungime antetului (hlen) – specifică lungimea antetului ca multiplu de
32 de biţi
►biţi de cod – conţine şase biţi indicatori. Aceşti biţi, când au valoarea 1,
indică faptul că un anumit câmp al antetului este semnificativ şi valoarea
acestui câmp trebuie interpretată, în timp ce ceilalţi biţi sunt utilizaţi
pentru controlul conexiunii şi al operaţiilor de transfer al datelor.
 Semnificaţia lor este:
 URG: câmpul relevant al unui indicator de urgenţă;
 ACK: câmpul relevant de confirmare; bitul ACK este poziţionat pe 1
pentru a indica faptul că numărul de confirmare este valid; dacă ACK
este setat pe 0, segmentul în discuţie nu conţine o confirmare şi
numărul de confirmare este ignorat;

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
 PSH: funcţie de impulsionare; receptorul este rugat să livreze aplicaţiei
informaţia respectivă imediat ce este recepţionată şi să nu aştepte până când
se umple buffer-ul;
 RST: anularea conexiunii, datorată defectării unei maşini etc.;
 SYN: este utilizat pentru stabilirea unei conexiuni; cererea de
conexiune conţine SYN=1 şi ACK=0 pentru a indica faptul că acel
câmp suplimentar de confirmare nu este utilizat; răspunsul la o astfel
de cerere conţine o confirmare, având deci SYN=1 şi ACK=1; în
esenţă, bitul SYN este utilizat pentru a indica o cerere de conexiune
sau o conexiune acceptată, bitul ACK făcând distincţia între cele două
posibilităţi.
 FIN: emiţătorul nu mai are date de transmis.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
 fereastră - numărul de octeţi, începând cu cel din câmpul de confirmare,
pe care creatorul segmentului îl poate controla; deoarece protocolul TCP
reprezintă un protocol de comunicaţii full – duplex, fiecare capăt al căii de
comunicaţie poate utiliza câmpul “fereastră” pentru a controla cantitatea
de informaţii care îi este trimisă; această caracteristică, asigură
receptorului posibilitatea de a lua unele decizii; astfel, dacă receptorul
devine supraaglomerat cu prelucrarea datelor sau are alte probleme care
determină incapacitatea sa de a recepţiona fragmente mari de date, acesta
poate utiliza câmpul “fereastră” pentru a redue dimensiunea fragmentelor
de date care îi sunt destinate; un câmp fereastră de valoare 0 este valid şi
are semnificaţia că octeţii până la număr de confirmare-1, inclusiv au fost
recepţionaţi, dar gazda receptor, pentru moment nu doreşte continuarea
transferului; persegment având acelaşi număr de confirmare, dar un câmp
fereastră misiunea de expediere poate fi acordată ulterior prin trimiterea
unui care conţine o valoare nenulă.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
 suma de control – reprezintă mecanismul de detecţie a erorilor din cadrul
unui segment, deci asigură transmisia sigură a antetului TCP, a antetului
IP şi a datelor transportate în cadrul segmentului.
 indicator de urgenţă – permite identificarea poziţiei unor date de urgenţă
din cadrul unui segment TCP; valoarea acestui câmp este folosită pentru a
indica deplasamentul în octeţi faţă de numărul curent de secvenţă la care
se găseşte informaţia urgentă.
 Pe lângă antet, segmentul TCP conţine şi câmpul de date, care conţine
informaţiile primite de la protocolul nivelului superior.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
Transmiterea cu confirmare
 Serviciile orientate pe conexiune implică trei faze. În faza de stabilire a
conexiunii, este determinat un drum unic între sursă şi destinaţie şi sunt
stabilite resursele necesare unei transmisii corespunzătoare a datelor. În
timpul fazei de transfer, datele sunt transmise secvenţial de-a lungul
drumului stabilit, sosind la destinaţie în ordinea în care ele au fost
transmise. Faza de terminare a conecsiunii apare atunci când legătura
dintre sursă şi destinaţie nu mai este necesară.
 Înainte ca datele să fie transferate, gazdele TCP stabilesc o sesiune
orientată pe conexiune printr-o înţelegere în trei paşi. Mai întâi, una
dintre gazde iniţiază o conexiune, transmiţând un pachet, ce contine x
numărul iniţial de secvenţă(de obicei 0), cu biţii SYN=1 şi ACK=0 din
antet setaţi să indice o cerere de conectare. Apoi, gazda care primeşte
pachetul, înregistrează pe x şi răspunde cu un număr de confirmare x+1.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
 Numărul de confirmare x+1 înseamnă că gazda a primit toţi octeţii până la
x şi aşteaptă pe următorul, x+1. De asemenea, include în mesaj
dimensiunea ferestrei (notată cu f); dimensiunea ferestrei determină
cantitatea de date ce se poate transmite la un moment dat(exprimată în
număr de octeţi), înaintea primirii confirmării de la destinaţie.
 Un mesaj de confirmare a primirii unui segment în care f=0 , este valid şi
însemnă că gazda respectivă a primit segmental transmis, dar pentru o
perioadă nu mai poate primi date, urmând ca transmisia să fie reluată
atunci când va retrimite un nou mesaj, în care cu excepţia câmpului
fereastră care va conţine o valoare nenulă, toate celelalte informaţii vor fi
identice cu cele din mesajul anterior. Dialogul continuă într-un mod
asemănător, până când gazda care a iniţiat dialogul transmite un segment
care conţine bitul FIN poziţionat pe 1, ceea ce înseamnă teminarea
sesiunii.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
 Confirmarea pozitivă şi retransmisia (PAR - Positive Acknowledgement
and Retransmission), este o tehnică folosită de protocoalele care
realizeaza transmiterea fiabila a datelor. Folosind PAR, sursa transmite un
pachet, iniţializează ceasul şi aşteaptă o confirmare, înainte de a transmite
următorul pachet. Dacă valoarea ceasului depăşeste o anumită valoare
limită, fară ca sursa să primească o confirmare a primirii pachetului
transmis, aceasta retransmite pachetul şi reiniţializează ceasul. După ce o
gazdă transmite un număr de octeţi (dimensiunea ferestrei), gazda trebuie
să primească o confirmare care să ateste că datele au fost primite, înainte
ca ea să transmită alte mesaje. TCP foloseste “confirmarea aşteptată”,
adică numărul de confirmare se referă la urmatorul octet aşteptat.
Termenul de “glisant”, se referă la faptul că dimensiunea ferestrei este
negociată dinamic de-a lungul sesiunii TCP.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
 Folosirea ferestrei glisante este un mecanism de control al fluxului, care
constă în necesitatea ca unitatea sursă să primească o confirmare de la
destinaţie, după transmiterea unei cantităţi de date. Prin mesajele de
confirmare, se stabileste dinamic cantitatea de date care urmează sa fie
transmisă în continuare. Astfel, se stabileşte o înţelegere între o sursă mai
puternică, care poate transmite cantităţi mai mari de date şi o destinaţie de
putere mai slabă sau care are de făcut multe prelucrări în momentul
respectiv, asupra cantităţii de date pe care destinaţia urmează să o poată
primi.
 Fiecare segment transmis are un număr de secvenţă. La destinaţie, TCP
realizează reasamblarea segmentelor primite, pentru a obţine mesajul
complet. Segmentele neconfirmate ca primite, sunt retransmise.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
 În figura urm este prezentat un exemplu de derulare a unei astfel de
sesiuni.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Nivelul prezentare
 Calculatoarele legate în reţea pot să utilizeze metode diferite de reprezentare a
datelor. De aceea, informaţiile pe care un calculator vrea să le transmită pe mediul
de comunicaţie, trebuie transformate într-un format intermediar, universal
recunoscut; calculatorul destinaţie efectuează operaţia inversă, adică transformă
informaţia primită din formatul intermediar, în reprezentatea calculatorului
respectiv.Nivelul prezentare este responsabil cu furnizarea datelor într-o formă pe
care unitatea destinatar să o înţeleagă. De aceea, i se mai spune şi traducătorul
reţelei. Acest nivel, realizează trei mari funcţii: Formatarea datelor (prezentarea);
Criptarea datelor; Comprimare datelor.
 După primirea datelor de la nivelul aplicaţie nivelul prezentare execută una dintre
funcţiile prezentate mai sus, după care le transmite nivelului sesiune. La staţia
destinatar, nivelul prezentare primeşte datele de la nivelul sesiune şi execută
funcţiile cerute, înainte de a le transmite nivelului aplicaţie.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 33
 Nivelul prezentare realizează translatarea textelor din formatul EBCDIC
(Extended Binary Coded Decimal Interchange Code) sau formatul ASCII
(American Standard Code for Information Interchange), precum şi a aplicaţiilor
software din formatul binary(Aplicaţia FTP foloseşte acest format pentru a
transfera fişiere), în format intermediar.
 De asemenea, nivelul prezentare recunoaşte anumite formate pentru reprezentarea
imaginilor grafice. Aceste standarde sunt:
 PICT – un format pentru imagini grafice realizate prin produsul QuickDraw;
 TIFF (Tagged Image File Format) – un format pentru bitmap-uri;
 JPEG (Joint Photographic Experts Group) – un format utilizat pentru
comprimarea fotografiilor;
 GIF (Graphic Interchange Format) – un format folosit în Internet pentru
reprezentarea imaginilor.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 34
 Nivelul 6 cuprinde şi standarde de reprezentare (codificare) a fişierelor
multimedia, care conţin sunete, muzică şi filme, dintre care cele mai
importante sunt:
 MIDI (Musical Instrument Digital Interface) – pentru muzica
digitizată;
 MPEG (Motion Picture Experts Group) – pentru comprimarea şi
codificarea filmelor de pe CD – uri;
 WAV – formatul pentru sunete sub Windows;
 AVI – pentru codificarea filmelor sub Windows.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 35
 Un alt tip de fisiere sunt cele de tip hipertext, adică fişiere care pe lângă
textul propriu-zis conţin referinţe către alte URL-uri.

 Nivelul 6 realizează şi criptarea datelor. Criptarea datelor protejează


informaţiile în timpul transmiterii lor; acest concept deosebit de important
va fi prezentat într-un capitol special. De asemenea, nivelul prezentare este
responsabil pentru comprimarea datelor, acţiune prin care se reduce
dimensiunea fişierelor. Acest lucru se realizeaza pe baza tehnicilor de
codificare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 36
Reţele WAN
Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Obiectivele cursului
 Inter-reţele
 Adrese IP
 Utilizarea routerelor în reţele locale.
 Subreţea
 Pachetul IP

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Inter-reţele
 Inter-reţeaua este o mulţime de reţele sau segmente care folosesc acelaşi
tip de adrese.
 Necesitatea interconectării reţelelor a apărut din cel puţin două motive:
 pe de o parte, datorită faptului că sisteme de calcul din reţele locale cu arhitecturi
diferite trebuie să comunice între ele,
 iar pe de altă parte datorită creşterii numărului de calculatoare din fiecare reţea locală.
 Necesitatea interconectării reţelelor a apărut din cel puţin două motive:
 Când o reţea LAN, MAN sau WAN creşte, este necesar să fie divizat
controlul traficului în mai multe părţi, denumite segmente de reţea sau pe
scurt segmente.
 Aceasta are ca rezultat, faptul că reţeaua devine un grup de reţele, fiecare
necesitând o adresă separată.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Inter-reţele
 Datorită faptului că adresa MAC este o adresă pe un singur nivel
(distribuirea lor nu respectă nici o regulă care să permită determinarea căii
pe care trebuie să o urmeze un pachet), acest lucru necesită un nou tip de
adresă, organizată ierarhic. Aceasta este adresa IP, care este o adresă a
nivelului reţea.
 Internetul este cea mai cunoscută inter-reţea, dar nu este singura.
 Există organizaţii care au filiale situate în diferite zone geografice, dotate
cu sisteme de calcul care trebuie să comunice între ele. De multe ori, din
motive de securitate, ele nu folosec conectarea la Internet pentru a realiza
acest lucru, preferând să fie legate într-o inter-reţea distinctă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Inter-reţele
 O adresă MAC poate fi comparată cu numele unei persoane iar o adresă
IP cu adresa poştală a persoanei respective.
 De exemplu, dacă persoana respectivă doreşte să se mute în alt oraş,
numele ei rămâne acelaşi, dar se schimbă adresa de domiciliu.
 Asemănător, în reţele, dacă un calculator este mutat pe o altă reţea, adresa
sa MAC rămâne aceeaşi, dar se schimbă adresa de reţea.
 Router-ul poate fi asimilat cu un oficiu poştal care cunoaşte adresele IP de
pe segmentul respectiv.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Inter-reţele - Router
 sunt unităţi de legătură între reţele care operează la nivelul reţea.
 interconectează segmente de reţea sau chiar reţele întregi.
 transmit pachetele de date între reţele, pe baza informaţiilor nivelului 3.
 iau decizia cu privire la drumul optim pe care trebuie să-l parcurgă
pachetele de date pe o inter-reţea, pe baza unor informaţii cu privire la
topologia reţelei, densitatea de trafic şi viteza de legătură.
 Protocolul Internet (IP) este cea mai populară implementare a schemei de
adresare ierarhice.
 IP este protocolul nivelului reţea utilizat în Internet.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Adresa IP
 Modalitatea de adresare a gazdelor într-o inter-reţea
 Este reprezentată pe 32 de biţi.
 Poate fi reprezentată şi zecimal; numerele care corespund conţinutului
celor patru octeţi ai adresei reprezintă echivalentul zecimal al acestora şi
sunt separate prin punct.
 Este formată din două câmpuri: reţea şi gazdă.
 Deoarece adresa IP conţine patru octeţi, unul, doi sau trei dintre aceşti
octeţi pot fi folosiţi pentru a identifica numărul de reţea, iar restul pentru a
identifica numărul de gazdă din cadrul reţelei respective.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Tipuri de adrese IP
 de gazdă
 de reţea (toţi biţii din câmpul de gazdă sunt setaţi pe 0)
 de difuzare sau broadcast (toti biţii din câmpul de gazdă sunt
setaţi pe1)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Clase de adrese IP
 Există următoarele clase de adrese IP: A, B, C, D, E.
 Primele 3 clase sunt destinate reţelelor companiilor/instituţiilor, în conformitate cu
dimensiunea companiei pe care reţeaua respectivă o deserveşte.
 Clasa A de adrese este rezervată pentru companii mari care au multe gazde în
reţea,
 Clasa B pentru cele de dimensiune medie
 Clasa C pentru celelalte.
 Această clasificare este realizată în conformitate cu ARIN (American Registry for
Internet Numbers).
 Clasa de adrese D a fost creată pentru a permite multicasting folosind o adresă IP.
 Clasa E este rezervată de către IETF (Internet Engineering Task Force) pentru
cercetare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Adrese IP de clasa A
 În format binar, primul (cel mai din stânga) bit este întotdeauna
0.
 Primul octet, identifică numărul de reţea asignat de către ARIN.
 Administratorul reţelei manipulează ceilalţi 24 de biţi rămaşi.

 O adresă de clasa A se recunoaşte dacă numărul memorat în


primul octet este între 0 şi 126.
 (127 a fost rezervat pentru alte scopuri speciale).

 Toate adresele clasei A, folosesc ceilalţi trei octeţi (24 de biţi)


pentru a identifica numărul de gazdă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Adrese IP de clasa A
 Fiecare reţea, care are o adresă din clasa A, poate avea asignate
cel mult 2^24-2, sau 16777214 adrese IP posibile, pentru unităţile
ataşate ei, deoarece adresa IP de forma x.0.0.0, în care x este
numărul de reţea este asociată reţelei, iar x.255.255.255 este o
adresă de difuzare (broadcast).
Exemplu de adresă de tip A este 124.95.44.15.

Adresa reţelei este 124.0.0.0. Adresa de difuzare este


124.255.255.255.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Adrese IP de Clasa B
 Primii 2 biţi ai unei adrese de clasă B sunt totdeauna 10.
 Primii doi octeţi identifică numărul de reţea, asignat de către ARIN.
 Administratorul reţelei asignează ceilalţi 16 biţi rămaşi.
 O adresă de clasa B se recunoaşte dacă numărul memorat în primul octet
este cuprins între 128 şi 191. Ceilalţi 16 biţi sunt alocaţi pentru numărul
de gazdă.
 Fiecare reţea ce foloseşte adrese IP din clasa B poate asigna 2^16-2 , sau
65534 adrese IP posible unităţilor reţelei.
 Exemplu de adresă de clasă B este 151.10.13.28; adrea IP a reţelei este
151.10.0.0;
 Adresa IP de broadcast în reţea este 151.10.255.255.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Adrese IP de clasa C
 Primii 3 biţi ai unei adrese de clasă C sunt totdeauna 110.
 Primii trei octeţi identifică numărul de reţea, asignat de către ARIN.
 Administratorul reţelei asignează ceilalţi 8 biţi rămaşi.
 O adresă de clasa C se recunoaşte dacă numărul memorat în primul octet
este cuprins între 192 şi 223.
 Fiecare reţea ce foloseşte adrese IP din clasa C poate asigna 2^8-2, sau
254 adrese IP posible unităţilor reţelei.
 Exemplu de adresă de clasă C este 201.110.213.28.
 Adresa reţelei este 201.110.213.0;
 Adresa de broadcast în reţea este 201.110.213.255.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Subreţele
 În cazul reţelelor cu un număr mare de unităţi, în vederea
diminuării traficului în reţea este necesară împărţirea gazdelor
în grupuri cu mai puţine unităţi, numite subreţele.
 Ca şi câmpul de gazdă, câmpul de subreţea este asignat local,
de către administrator şi este unic.
 Pentru a-l crea, administratorul împrumută un număr de biţi
din câmpul de gazdă. Aceşti biţi sunt cei mai din stânga ai
câmpului de gazdă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Subreţele
 Numărul minim de biţi ce poate fi împrumutat este de 2.
 Dacă se împrumută un singur bit pentru a crea o subreţea,
atunci dacă acesta are valoarea 0, va corespunde adresei de
reţea iar dacă are valoarea 1 va corespunde adresei de
broadcast.
 Numărul maxim de biţi ce pot fi împrumutaţi este numărul
de biţi alocaţi câmpului de gazdă din care scădem doi,
deoarece trebuie să rămână cel puţin doi biţi pentru câmpul
de gazdă, din aceleaşi motive ca mai sus.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Masca de subreţea
 Masca de subreţea are o lungime de 32 de biţi, ca şi adresa IP şi este
folosită pentu a determina care câmp este destinat numărului de sub-reţea
şi care celui de gazdă.
 Pentru a determina masca de subreţea, pentru o subreţea oarecare,
executăm paşii următori:
 Înlocuim porţiunea de reţea şi cea de subreţea cu cifre binare egale cu 1.
 Înlocuim porţiunea de gazdă cu cifre binare egale cu 0.
 Forma binară de la pasul (3) se exprimă cu notaţia zecimală, utilizată în cazul adreselor
IP.
 Pentru determinarea subreţelei căreia îi aparţine o anumită gazdă se
execută o operaţie “şi” logic între adresa IP a gazdei destinaţie şi masca de
subreţea, exprimate în forma binară. Rezultatul va fi adresa IP a reţelei
(subreţelei).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Exemple
 Dacă adresa IP de clasă B este 130.5.2.144 şi dacă
masca de subreţea este 255.255.255.0,
 Au fost împrumutaţi 8 biţi pentru a crea subreţele,
 Router-ul va şti să transmită acest pachet subreţelei
130.5.2.0.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Exemple
 Fie adresa de clasă C 197.15.22.131, cu masca de subreţea
255.255.255.224.
 Numărul 224 din ultimul octet (11100000 în binar) indică
faptul că la cei 24 de biţi ai câmpului de reţea, s-au adăugat 3
biţi, în total 27.
 Numărul 131 din ultimul octet ne spune că gazda care
corespunde adresei specificate, va fi a treia din subreţeaua
care are adresa 197.15.22.128.
 Router-ele din Internet (care nu cunosc masca de subreţea)
vor efectua rutarea numai către reţeaua de adresă 197.15.22.0,
iar router-le din interiorul acestei reţele, cunoscând masca de
subreţea, vor lua decizia finală de rutare.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Exemple
 Dacă masca de subreţea este 255.255.240.0, iar reţeaua este
de clasă B, deoarece reprezentarea în binar a numărului 240
este 11110000, vom avea 4 biţi pentru câmpul de subreţea.
 Dacă câmpul de subreţea are o lungime de 4 biţi, deoarece
numărul zecimal 15 are reprezentarea binară 1111, atunci
numărul posibil de subreţele este 15-2=13, deoarece din cele
15 posibilităţi le scădem pe cele extreme, 0000 şi 1111 care
fac parte din adresa întregii reţele, respectiv a celei de
„broadcast”.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
Exemple
 Fie adresa de reţea de clasă C 199.5.12.0 care are
masca de subreţea 255.255.255.224, atunci gazda
care are adresa 199.5.12.97 aparţine celei de-a treia
subreţele?
 97 are reprezentarea binară 01100001
 224 în binar este 11100000,
 pentru câmpul de subreţea au fost împrumutaţi 3 biţi
şi 3 are reprezentarea binară 011.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
Pachetul IP
 Este strucura gestionată de nivelul reţea al ierarhiei OSI.
 Conform principiului încapsulării, la gazda destinaţie se
adaugă setului de date primite de la nivelul superior un antet,
care conţine informaţii destinate nivelului reţea al gazdei
destinaţie.
 Orice pachet are două zone: header-ul şi datele care sunt
transmise.
 Protocolul Internet determină forma header-ului pachetului IP,
care include informaţii de adresare precum şi alte informaţii
de control.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
MTU
 La interconectarea unor reţele de diverse tehnologii, una dintre probleme
este dimensiunea diferită a pachetului care poate fi transmis prin mediul
de comunicaţie al unei anumite reţele.
 De exemplu, o reţea Ethernet poate accepta pachete cu o lungime de cel
mult 1500 de octeţi, pe când pachetele într-o reţea FDDI pot avea cel mult
4500 de octeţi.
 Fiecare reţea are o dimensiune maximă a unităţii transmisie (MTU-
Maximum Transmision Unit), care este dimensiunea maximă a pachetelui
ce poate fi încapsulat într-un cadru de date.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
Fragmentare şi reasamblare
 Fragmentarea apare la un router atunci când vrea să transmită
un pachet peste o reţea, care are un MTU mai mic decât
dimensiunea pachetului primit de către router.
 Pentru a se putea realiza reasamblarea la gazda destinaţie,
elementele de identificare ale fragmentelor trebuie să conţină
aceeaşi valoare.
 Dacă nu sunt primite toate fragmentele, gazda destinaţie nu
realizează reasamblarea şi fragmentele primite sunt distruse.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
Fragmentare şi reasamblare
 Fiecare fragment este el însuşi un pachet IP care este
transmis independent de celelalte fragmente.
 Fiecare pachet IP este reîncapsulat pentru fiecare
reţea fizică pe care o traversează.
 Antetul IP conţine următoarele informaţii:
 versiune - indică versiunea protocolului IP folosit; prin includerea acestui
câmp, este posibil ca două gazde pe care rulează versiuni diferite ale unui
protocol, să poată comunica între ele (4 biţi).
 hlen - indică lungimea efectivă a header-lui, exprimată în cuvinte de 32 de
biţi (4 biţi).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
Atribute antet IP
 tip-de-serviciu - permite gazdei să comunice subreţelei de
comunicaţie(reţeaua de routere) ce tip de serviciu doreşte. Sunt posibile
diferite combinaţii de fiabilitate şi viteză.
 Pentru vocea digitizată, livrarea rapidă are prioritate faţă de transmisia corectă.
 Pentru transferul de fişiere, transmisia fără erori este mult mai importantă decât
transmisia rapidă.
 Câmpul este format dintr-un subcâmp de trei biti Precedenţă, din trei fanioane
(indicatori) D, T si R, plus doi biţi nefolosiţi. Precedenţa indică prioritatea, de la 0
(obişnuit) la 7 ( pachet de control al reţelei). Cei trei indicatori, permit gazdei să
specifice ce este mai important din mulţimea {Delay (Întirziere), Throughput
(Productivitate), Reliability (Fiabilitate)}.
 Aceste câmpuri permit router-ului să ia decizii privind căile pe car să fie transmis
pachetul respectiv (8 biţi).
 Lungime totală – specifică lungimea totală a pachetului, incluzând datele
şi header-ul (16 biţi)
 identificare - conţine un întreg ce identifică datagrama curentă (16 biţi)
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
Fragmentare şi reasamblare
 DF si MF – sunt două câmpuri de un bit; DF(Don’t Fragment) indică
router- ului să nu fragmentize datagrama pentru că destinaţia nu este
capabilă să asambleze bucăţile la loc; MF(More Fragments) este activat
pentru toate fragmentele cu excepţia ultimului; el este necesar pentru a şti
când au ajuns toate pachetele la destinaţie. Următorul bit este gol. (3 biţi)
 deplasament de fragment – dacă o datagramă a fost fragmentată, acest
câmp specifică deplasamentul faţă de datagrama iniţială a datelor care se
transferă (poziţia fragmentului în cadrul mesajului transmis). Toate
fragmentele dintr-o datagramă, cu excepţia ultimului, trebuie să fie un
multiplu de 8 octeţi – unitatea de fragmentare elementară. Din moment ce
sunt prevăzuţi 13 biţi, există un maxim de 8192 de fragmente pe
datagrama, obţinându-se lungimea maximă a datagramei de 65536 octeţi,
cu unul mai mult decât lungimea totala.(13 biţi)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
Fragmentare şi reasamblare
 suma de control - câmp prin care se verifică transmiterea corectă a header-
ului (16 biţi)
 adresa sursă - specifică adresa IP a expeditorului (32 biţi)
 adresa destinaţie - specifică adresa IP a destinatarului (32 biţi)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
Protocoale de rezoluţie a adreselor
 Deşi fiecare unitate din Internet are una sau mai multe adrese
IP, acestea nu pot fi folosite pentru trimiterea pachetelor pe
mediile de comunicaţie ale reţelelor locale, deoarece nivelul
legătură de date nu înţelege adresele IP.
 Plăcile de reţea ataşate gazdelor recunosc numai adresele
MAC.
 Protocolul ARP (Adress Resolution Protocol) este cel care
permite aflarea unei adrese MAC, pe baza unei adrese IP.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
Protocoale de rezoluţie a adreselor
 Să presupunem că un utilizator de pe o gazdă (cu A adresa IP)
de pe o reţea vrea să transmită un pachet unui alt utilizator,
conectat la o altă gazdă, aflată pe aceeaşi reţea (cu B adresa
IP).
 Prin intermediul protocolului DNS, pe care îl vom studia mai
târziu, expeditorul poate afla adresa IP a destinatarului.
 Programele de la nivelele superioare ale expeditorului
construiesc un pachet IP cu adresa destinatarului.
 Programele IP văd adresa destinatarului şi constată că acestea
se află pe aceeaşi reţea, dar au nevoie de un mecanism prin
care să determine adresa MAC a destinatarului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
ARP
 La nivelul fiecărei gazde există în memorie o tabelă numită
tabelă ARP care realizează o corespondenţă între adresele IP ale
gazdelor şi adresele MAC corespunzătoare.
 Dacă adresa IP a gazdei destinaţie se găseşte în tabela ARP a
gazdei sursă, se ia de aici adresa MAC corespunzătoare şi se
formează cadrul de date corespunzător.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
ARP
 În caz contrar, expeditorul trimite un pachet de difuzare în reţeaua locală cu
adresa IP a destinatarului (de genul “Cine este proprietarul adresei B?”).
 Pachetul de difuzare va ajunge la toate maşinile din reţeaua locală şi fiecare
îşi va verifica adresa IP. Doar gazda cu adresa B va răspunde cu adresa
plăcii sale de reţea, care va ajunge la gazda expeditor care a iniţiat cererea.
 Protocolul folosit pentru a pune astfel de întrebări şi a primi răspunsul se
numeste ARP (Adress Resolution Protocol – Protocolul de rezoluţie a
adresei).
 După ce a obţinut adresa MAC a destinatarului (notată B1), programele IP
ale gazdei încapsulează într-un cadru de date care conţine B1 şi-l transmit
pe cablu; placa de reţea a gazdei destinatar va recunoaşte acest pachet, îl va
prelua şi-l va prelucra. De asemenea, tabela ARP a sursei va fi actualizată,
prin introducerea acestei noi corespondenţe ca intrare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
Protocolul de rezoluţie inversă a adresei
 Protocolul de rezoluţie inversă a adresei (RARP – Reverse Address
Resolution Protocol) rezolvă problema inversă, adică a aflării adresei IP
corespunzătoare unei adrese fizice. Această problemă apare, de exemplu
atunci când se porneşte o gazdă fără disc. O astfel de maşină primeşte
imaginea binară a sistemului său de operare de la un server de fişiere aflat
la distanţă. Pentru a se realiza acest lucru, este necesar să-şi cunoască
propria adresă IP.
 Pentru aceasta, se foloseşte protocolul RARP, care permite unei staţii de
lucru de- abia pornite să difuzeze adresa sa fizică, pentru a-şi obţine
propria adresa IP. Server-ul RARP vede această cerere, caută adresa fizică
în fişierele sale de configurare şi trimite înapoi adresa sa de configurare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Proxy ARP
 Când o gazdă dintr-o reţea locală doreşte să transmită un pachet unei
gazde dintr-o altă reţea locală, din aceeaşi inter-reţea, pachetul trebuie să
parcurgă mediile locale de comunicaţie sub formă de cadre de date. Pentru
construcţia acestora, este necesară adresa IP a destinaţiei.
 Proxy ARP este folosit atunci când o gazdă cunoaşte adresa IP a altei
gazde de pe o altă reţea şi doreşte adresa fizică a acesteia. În acest scop,
gazda expeditor transmite o cerere ARP care ajunge la router. Acesta
răspunde cu adresa MAC a interfeţei asociate reţelei locale, unde se află
gazda care a iniţiat cererea, pentru acele cereri în care adresa IP de
destinaţie nu este în domeniul adreselor de pe reţeaua locală respectivă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 33
Proxy ARP
 Router-ele conţin şi ele tabele ARP, adică tabele care fac corespondenţa
între adrese IP şi adrese MAC.
 Router-ul transmite pachetul IP către router-ul la care este conectată
reţeaua locală în care se află gazda de destinaţie.
 Pe baza tabelelor sale, router-ul construieşte cadrul de date, înlocuind
adresa MAC de destinaţie primită în pachet, cu adresa MAC de destinaţie.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 34
Rutarea pachetelor
 Pentru ca un pachet să ajungă de la o gazdă aflată pe o anumită reţea
locală, la o altă gazdă situată pe o altă reţea locală, el trebuie, mai întâi
transmis routerului la care este legată prima reţea locală şi apoi să străbată
un drum ale cărui noduri sunt routere intermediare din subreţeaua de
comunicaţie, până la routerul la care este conectată gazda destinaţie.
 Determinarea acestui drum apare la nivelul reţea.
 Funcţia de determinare a drumului permite routerului, să aleagă dintre mai
multe căi disponibile, pe cea optimă.
 Pentru determinarea acestor drumuri şi alegerea celui optim la momentul
respectiv, routerul foloseşte o serie de tabele.
 O intrare într-o astfel de tabelă conţine adresa IP a unei anumite destinaţii
şi următorul nod către destinaţia respectivă.
 Actualizarea acestor tabele se numeşte routare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 35
Transmiterea mai departe a pachetelor
 Pentru evaluarea drumurilor, existente între două routere la un moment dat
se folosesc informaţiile despre topologia reţelei.
 Aceste informaţii se introduc manual de către administratorul de reţea sau
pot fi actualizate dinamic de către anumite procese care se execută în
reţea.
 Nivelul reţea foloseşte tabelele de rutare pentru a transmite pachetele de la
o reţea sursă, la o reţea destinaţie.
 După ce routerul determină care drum va fi folosit, el trece la
transmiterea mai departe a pachetului. El ia pachetul care a fost primit
la o interfaţă şi îl transmite mai departe la o altă interfaţă care constituie
următorul nod din drumul optim ales.
 Acesta reprezintă procesul de transmitere mai departe (“forwarding”) al
pachetului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 36
Retele de calculatoare

Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Obiectivele cursului

Tehnologii de reţea locală (tehnologia


Ethernet,tehnologia Token Ring)
Componente ale nivelului legătură de date
utilizate în conectarea segmentelor de reţea
Protocoale ale nivelului legătură de date

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Plasarea datelor pe cablu
 Setul de reguli care definesc modul în care un calculator
plasează şi preia date pe/de pe cablu poartă numele de
metodă de acces.
 Calculatoarele dintr-o reţea pot să aibă acces la cablu în
acelaşi timp.
 Dacă două calculatoare ar plasa simultan date pe cablu,
cadrele de date ale unui calculator ar intra în coliziune cu
pachetele celuilalt şi ambele seturi de date ar fi distruse.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Plasarea datelor pe cablu
 Pentru ca datele să fie transmise prin reţea de la un utilizator
la altul sau să fie accesate de pe un server, trebuie să existe o
modalitate prin care să poată fi plasate pe cablu, fără a intra în
coliziune cu alte date.
 Metodele de acces:
 diferă de la o tehnologie LAN la alta.
 trebuie să fie aceleaşi pe toate calculatoarele din reţea, altfel unele
metode nu vor funcţiona deoarece alte metode vor domina cablul.
 pentru a preveni accesul simultan la cablu, metodele de acces
organizează transmiterea şi receptionarea datelor din reţea ca un
proces ordonat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Tehnologia Ethernet
 CSMA/CD - Carrier Sense Multiple Acces / Collision Detection este
metodă de acces - acces multiplu cu detectarea purtatoarei si a
coliziunii ().
 În acest caz fiecare calculator din reţea (statie sau server), “ascultă” cablul
pentru a verifica existenţa traficului de date în reţea.
 Calculatorul poate transmite date dacă nu există date pe cablu.
 Dacă există date pe cablu, nici un alt calculator nu poate transmite până
când datele nu ajung la destinaţie, eliberând astfel cablul.
 CSMA/CD este cunoscuta ca metoda competiţională, deoarece
calculatoarele din reţea se află în competiţie (îşi dispută dreptul de a
transmite date).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Tehnologia Ethernet
 Dacă două calculatoare ar transmite date exact în acelaşi timp, va avea loc
o coliziune de date. În acest caz, cele două calculatoare îşi întrerup
transmisia, pe o perioadă de timp aleatoare, după care încearcă din nou să
transmită.
 Numărul de încercări de evitare a coliziunilor este direct proporţional cu
numărul de calculatoare din reţea, astfel încât la o dimensiune mare a
reţelei (ca număr de calculatoare), CSMA/CD poate fi considerată o
metoda de acces lentă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Tehnologia Ethernet
 Dacă reţeaua este aglomerată, două calculatoare aflate în evitare de
coliziune pot intra, la rândul lor în această stare cu alte calculatoare care
încearcă să transmită date ş.a.m.d. În acest caz, va exista un număr de
calculatoare ce va încerca să retransmită date, fenomen ce poate duce la
blocarea aparentă a reţelei.
 Acest fenomen se întâlneşte mai ales atunci când se execută aplicaţii care
cer acces la baze de date.
 În concluzie, în funcţie de componentele hardware, de sistemul de cablare
şi de software-ul de reţea, o reţea CSMA/CD cu mulţi utilizatori ce
rulează aplicaţii de baze de date, poate fi dificil de utilizat, datorită
traficului intens.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Tipuri de reţele Ethernet
 10 Base 2 transmite la viteza de 10 Mbps în banda de bază,
poate transporta un semnal pe o distanţă care măsoară
aproximativ de două ori 100 metri (mai exact: 185 m), şi
foloseşte cablu coaxial subţire.
 10 Base 5(Ethernet standard). Specificaţia IEEE pentru
această topologie prevede: 10 Mbps, banda de bază,
segmente de 500 metri şi cablu coaxial gros.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Tipuri de reţele Ethernet
 10 Base FL reprezintă specifcaţia IEEE pentru arhitectura
Ethernet cu cablu de fibră optică. 10 base FL (10 Mbps,
banda de bază, fibra optică) este de fapt o reţea Ethernet care
foloseşte fibra optică pentru a conecta calculatoarele şi
repetoarele.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Tipuri de reţele Ethernet
 10 Base T reprezintă specificaţia IEEE pentru reţeaua care
foloseşte cablu torsadat, lungimea acestuia fiind de maxim
100 de metri, celelalte caracteristici rezultă din denumire.
 100 BaseX Ethernet (Fast Ethernet) reprezintă o dezvoltare a
standardului Ethernet existent. Foloseşte cablu UTP de
categoria 5 şi metoda de acces CSMA/CD, într-o topologie de
tip magistrală-stea, ca şi 10 BaseT, unde toate cablurile sunt
ataşate la un concentrator.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Tehnologia Token Ring
 Versiunea IBM de reţea Token Ring a fost prezentată în 1984
 A propus o soluţie de conectare pentru întreg domeniul de
calculatoare şi medii de calcul:
 calculatoare personale,
 calculatoare de putere medie (microcalculatoare),
 calculatoare mainframe
 mediul de reţea SNA (Systems Network Architecture) - arhitectura de
reţea IBM, existente la vremea respectivă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Caracteristicile arhitecturii Token Ring
 O reţea Token Ring reprezintă implementara standardului
IEEE 802.5.
 Mai mult decât dispunerea fizică a cablului în teren, ceea ce
distinge reţelele Token Ring de alte tipuri de reţele este
metoda de acces prin transferul jetonului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Token Passing
 În cazul metodei de acces prin transfer de jeton (token
passing), există un pachet special, denumit jeton, care circulă
de-a lungul inelului de la un calculator la altul.
 Pentru ca un calculator din inel să transmită date în reţea, el
trebuie să aştepte un jeton liber.
 La detectarea unui jeton liber, calculatorul poate prelua
controlul asupra acestuia şi poate transmite date.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Token Passing
 Calculatorul nu poate transmite date până când nu intră în
posesia jetonului.
 Cât timp jetonul este folosit de un calculator, alte calculatoare
nu pot transmite date, deci nu va mai exista concurenţă în
obţinerea dreptului de a transmite date.
 Jetonul constă dintr-o secvenţă predefinită de biţi (un şir de
date) care permite unui calculator să transfere date prin cablu.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Funcţionare reţea Token Ring
 Atunci când primul calculator din reţeaua Token Ring este
pornit, se generează un jeton.
 Jetonul circulă de-a lungul inelului, parcurgând fiecare
calculator, până când unul dintre ele semnalizează intenţia de
a transmite date şi a prelua controlul asupra jetonului.
 După ce calculatorul “capturează” jetonul, el transmite în
reţea un cadru de date. Cadrul parcurge inelul până când
ajunge la calculatoul destinaţie.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Funcţionare reţea Token Ring
 Calculatorul destinatar copiază cadrul în memoria sa tampon
(buffer), şi-l marchează în câmpul ce conţine starea cadrului,
pentru a indica faptul că informaţia a fost receptionată.
 Cadrul îsi continuă apoi drumul pe inel până când ajunge
înapoi la calculatorul emiţator, unde transmisia este validată.
 Calculatorul sursă elimină(şterge) cadrul din inel si eliberează
un nou jeton, pe care îl transmite pe inel.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Funcţionare reţea Token Ring
 La un moment dat, un singur jeton poate fi activ pe reţea, iar
acesta nu poate parcurge inelul decât într-un singur sens.
 Metoda de acces prin transferul jetonului este deterministă,
deoarece la un moment dat un singur calculator poate deţine
jetonul, deci poate încerca să transmită date.
 Fiecare calculator se comportă la fel asemeni un repetor
unidirectional, regenerând jetonul si transmiţându-l mai
departe.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Arhitectura reţea Token Ring
 Arhitectura unei reţele Token Ring obişnuite are la bază un
inel fizic.
 Totuşi,calculatoarele din reţea sunt conectate la un
concentrator (hub) central (inel cablat in stea).
 Inelul logic este reprezentat de calea jetonului printre
calculatoare.
 Inelul fizic este reprezentat în interiorul concentratorului.
Utilizatorii fac parte dintr-un inel, însa ei sunt conectaţi la
acesta printr-un concentrator.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Punţi (bridges)
 Punţile (bridges) ca şi repetoarele pot fi folosite pentru
prelungirea unui segment de reţea, conectarea unor medii
fizice diferite( de exemplu cablul coaxial şi cablul torsadat),
conectarea unor segmente de reţea diferite.
 Spre deosebire de repetoare, punţile operează la subnivelul
MAC al nivelului legatură de date, deci recunosc adresele
MAC.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
Punţi (bridges)
 Punţile controlează traficului din reţea:
 verifică adresele sursă şi destinaţie al fiecărui pachet.
 generează o tabelă de comutare, pe măsură ce informaţiile devin
disponibile.
 transferă pachetele:
 dacă destinaţia nu se găseşte în tabela de comutare, puntea transmite pachetele pe
ambele segmentele.
 dacă destinaţia apare în tabelă, puntea transferă pachetul pe segmentul respectiv
 Pe măsură ce traficul trece prin punte, informaţiile despre adresele
calculatoarelor sunt stocate in memoria acesteia. Puntea foloseşte aceste
informaţii pentru a construi o tabelă de comutare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
Punţi (bridges)
 Singurele cadre pentru care nu se face filtrare sunt cele de tip
broadcast
 Spre deosebire de repetoare, punţile pot reduce traficul,
cauzat de ataşarea unui număr prea mare de calculatoare;
 o punte poate împărţi o reţea supraîncărcată în două segmente
de reţea separate şi cunoscând adresele MAC din fiecare
segment, va transmite cadrele de date numai pe segmentul pe
care se găseşte gazda respectivă, reducându-se astfel traficul
în reţea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
Punţi (bridges)
 Punţile pot preveni anumite probleme legate de traficul în
reţea.
 De exemplu, dacă traficul provenit de la unul sau mai multe
calculatoare "inundă" reţeaua cu date, reducându-se
performanţele întregii reţele, o punte poate izola
calculatoarele respective.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
Comutatoarele (switch-urile)
 Comutatoarele (switch-urile) sunt asemănătoare punţilor, fiind unităţi
ale nivelului de reţea 2.
 Aşa cum hub-urile sunt denumite repetoare multi-port, aşa şi switch-urile
sunt denumite punţi multi-port.
 Diferenţa între hub-uri şi switch-uri este că switch-urile iau decizii bazate
pe adresele MAC, pe care hub-urile nu le cunosc, contribuind astfel la
cresterea eficientei lucrului într-o reţea LAN.
 Cu ajutorul switch-urilor se pot construi, topologii stea cu un număr
nelimitat de gazde, deorece ele pot filtra traficul în reţea şi chiar dacă au
un număr limitat de porturi, la un port se poate conecta alt switch, la care
putem lega gazde sau alte switch-uri ş.a.m.d.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
Comutatoarele (switch-urile)
 Ele primesc date într-un port de intrare şi le transferă într-
unul sau mai multe porturi de ieşire, la care segmentul pe care
se află gazda destinatar este conectat.
 Porturile sunt identificate printr-un număr sau prin
identificatorul nodului (gazdă sau alt switch) care este
conectat la el. În cele ce urmează vom folosi numerotarea
porturilor.
 Transmiterea mai departe a pachetelor se realizează prin mai
multe metode:
 transmitere neorientată pe conexiune sau utilizarea datagramelor;
 transmitere orientată pe conexiune sau stabilirea unui circuit virtual.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
Transmiterea neorientată pe conexiune
 Se presupune că fiecare cadru de date care trebuie transmis
conţine adresa completă de destinaţie.
 Pentru a decide cum să transmită mai departe un cadru de
date, switch-ul consultă o tabelă, care conţine adresele
destinaţiilor posibile şi porturile de ieşire către ele.
 Drumul urmat de un cadru de date este succesiunea de
switch-uri prin care trece cadrul, de la gazda sursă la gazda
destinaţie.
 Aceste tabele sunt întreţinute dinamic, modificările fiind
efectuate în funcţie de schimbările care au loc în structura sau
topologia reţelei.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
Caracteristici
- transmiterea neorientată pe conexiune
 În oricare moment de timp, o gazdă poate transmite un cadru de date către
oricare altă gazdă din reţea, deoarece orice cadru care ajunge la un switch
poate fi imediat transmis mai departe, spre deosebire de metoda orientată
pe conexiune, la care trebuie stabilită mai întăi o stare de conectare şi apoi
se efectuează transmiterea datelor.
 Când o gazdă sursă transmite un cadru de date, nu ştie dacă reţeaua este
capabilă să-l furnizeze gazdei destinatar sau dacă aceasta este ocupată.
 Fiecare cadru provenit de la o gazdă A, către o gazdă B, este transmis mai
departe independent de alte cadre transmise de la gazda A către gazda B;
astfel, două pachete succesive, de la A la B pot urma drumuri diferite.
 Defectarea unui switch sau a unei legături cu acesta nu poate întrerupe
comunicaţia, dacă este posibilă găsirea unei căi alternative şi prelucrarea
corespunzătoare a celorlalte tabele.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
Transmiterea orientată pe conexiune
 Circuitul de comutare virtual foloseşte conceptual de circuit virtual
(VC-Virtual Circuit).
 Modelul orientat pe conexiune, necesită ca mai întâi să se stabilească o
conexiune virtuală de la gazda sursă către gazda destinaţie.
 Procesul de transmitere a datelor se împarte în două etape:
 stabilirea conectării,
 transferul datelor.
 În faza de fixare a conectării, este necesar ca în toate switch-urile dintre
gazdele sursă şi destinaţie să se stabilească o “stare de conectare”. Acest
lucru se poate realiza de către administratorul de reţea, situaţie în care
circuitul virtual devine permanent (PVC-Permanent Virtual Circuit) şi
poate fi şters tot de către administratorul de reţea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
Protocoale
- nivelul legătură de date
 Datele sunt transmise de la o gazdă sursă către o gazdă
destinaţie sub formă de cadre de date.
 Problema esenţială este ca gazda destinaţie să recunoască
unde începe şi unde se termină cadrul de date respectiv.
 Protocoalele nivelului 2 rezolvă această problemă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
Protocoale orientate pe octeţi
 Consideră un cadru de date ca fiind o secvenţă de octeţi
(caractere).
 Protocolul BISYNC (Binary Synchronous Communication) a
fost dezvoltat de IBM spre sfârşitul anilor ’60
 DDCMP (Digital Data Communication Message Protocol) a
fost dezvoltat de către firma Digital Equipment Corporation.
 Aceste protocoale folosesc codificarea caracterelor (ASCII,
EBCDIC, etc.).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
Protocolul BISYNC – structura cadru
 SYN este un câmp de sincronizare care marchează începutul cadrului de
date.
 SOH (“start of header”) indică începutul câmpului antet.
 STX (“start of text”) şi ETX (“end of text”) sunt utilizate pentru a delimita
câmpul de date, fiind numite câmpurile santinelă.
 Câmpul CRC are semnificaţia: validarea corectitudinii datelor.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
Character stuffing
 În cadrul protocolului BISYNC apare următoarea problemă: caracterul
ETX poate apare în porţiunea de date a cadrului.
 Pentru a rezolva această problemă, BISYNC foloseşte un caracter de
evitare DLE (“data link escape”), oricând ETX apare în partea de date a
cadrului.
 De asemenea caracterul DLE poate fi şi el evitat, plasând în faţă un alt
caracter DLE, dacă acesta apare în câmpul de date (dublarea caracterului
DLE).
 Această abordare se numeşte cu inserare de caractere (“character
stuffing”), deoarece sunt inserate caractere suplimentare în partea de date
a cadrului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
Protocolul Point to Point (PPP)
 Este utilizat în cazul legăturilor dintre modemuri bazate pe serviciile “dial
- up”,
 Este asemănător lui BISYNC, în ceea ce priveşte inserarea de caractere.
 Formatul unui cadru PPP este:
 Câmpul Flag delimitează începutul cadrului şi este 01111110.
 Câmpul Protocol este folosit pentru demultiplexare; el conţine numele protocolului de
nivel superior utilizat, cum ar fi IP sau IPX (variante IP dezvoltată de firma Novell).
 Lungimea câmpului de date poate fi negociată, fiind implicit de 1500 de octeţi.
 Lungimea câmpului de verificare (“checksum”) este de 2 sau 4 octeţi.
 Lungimile unor câmpuri ale cadrului sunt negociate între gazde, prin
intermediul protocolului LCP (Link Control Protocol). LCP transmite
mesaje de control încapsulate în cadre PPP.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Protocoale orientate către biţi - HDLC
 HDLC reprezintă cadrul de date ca o secvenţă de biţi.
 Aceşti biţi pot reprezenta codul binar al unor caractere (folosind
codificarea ASCII), pot fi valorile unor pixeli ce reprezintă o imagine sau
pot fi instrucţiuni sau operanzi dintr-un fişier executabil.
 Un astfel de protocol este SDLC (Synchronous Data Link Control)
dezvotat de către IBM şi care, mai târziu a fost standardizat de către OSI
ca HDLC (High Level Data Link Control).
 Formatul cadrului HDLC este:
 Începutul de secvenţă
 Antet
 Date
 CRC
 Sfârşit de secvenţă

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 33
Protocoale orientate către biţi - HDLC
 Câmpurile început/sfârşit de secvenţă conţin secvenţa de biţi 01111110.
 Această secvenţă este transmisă în orice moment când legătura este liberă,
astfel încât gazda sursă şi cea destinaţie îşi pot păstra ceasurile
sincronizate.
 Deoarece această secvenţă poate apare şi în câmpul de date, protocoalele
HDLC folosesc o tehnică similară celei care introduce un caracter DLE,
cunoscută ca cea cu inserare de biţi (“bit stuffing”).
 Dacă datele utilizator conţin şablonul indicator, 01111110, acest indicator
este transmis ca 011111010, dar în memoria receptorului este păstrat ca
01111110.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 34
Clasificări, IP
Reţele de calculatoare
Curs
Universitatea “Transilvania” din Brasov

Lect. dr. Costel ALDEA


Recunoașterea și corectarea erorilor
 La trasmiterea datelor se pot produce erori
 Sunt urmărite (tratate) erorile care se produc
la perturbarea semnalului
 Coduri
 De detectare a erorilor
 De corectare a erorilor

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Rețele larg răspândite geografic

 Inter-rețele
 Adrese IP
 Utilizarea routerelor în rețele locale. Conceptul de
subrețea
 Pachetul IP

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Inter-reţele
 Inter-reţeaua este o mulţime de reţele sau segmente care
folosesc acelaşi tip de adrese.
 Necesitatea interconectării reţelelor a apărut din cel puţin
două motive;
 sisteme de calcul din reţele locale cu arhitecturi diferite trebuie să
comunice între ele,
 creşterea numărului de calculatoare din fiecare reţea locală.
 Atunci când o reţea LAN, MAN sau WAN creşte:
 este necesar să fie divizat controlul traficului în mai multe părţi,
denumite segmente de reţea sau pe scurt segmente.
 reţeaua devine un grup de reţele, fiecare având o adresă separată.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Internet
 Internetul este cea mai cunoscută inter-reţea, dar nu este
singura.
 Există organizaţii care au filiale situate în diferite zone
geografice, dotate cu sisteme de calcul care trebuie să
comunice intre ele.
 De multe ori, din motive de securitate, ele nu folosesc
conectarea la Internet pentru a realiza acest lucru, preferând
să fie legate intr-o inter-reţea distinctă

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Adresa IP - adresa MAC
 Datorită faptului că adresa
MAC este o adresă pe un
Nivelul aplicație singur nivel (distribuirea
MAC nu respectă nici o regulă
care să permită determinarea
Nivelul transport
căii pe care trebuie să o
urmeze un pachet), acest lucru
Nivelul rețea necesită un nou tip de adresă,
organizată ierarhic.
Nivelul acces la mediu  Adresa IP este o adresă a
Logical Link Control (LLC) nivelului reţea.
Media Access Control (MAC)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Adresa MAC
 O adresă MAC poate fi comparată cu numele unei persoane
iar o adresă IP cu adresa poştală a persoanei respective.
 De exemplu, dacă persoana respectivă doreşte să se mute în
alt oraş, numele ei rămâne acelaşi, dar se schimbă adresa de
domiciliu.
 În mod analog, dacă un calculator este mutat pe o altă reţea,
adresa sa MAC rămâne aceeaşi, dar se schimbă adresa de
reţea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Router
 Poate fi asimilat cu un oficiu poştal care cunoaşte adresele IP
de pe segmentul respectiv.
 sunt unităţi de legătură între reţele care operează la nivelul reţea.
 interconectează segmente de reţea sau chiar reţele întregi.
 transmit pachetele de date între reţele, pe baza informaţiilor nivelului 3.
 iau decizia cu privire la drumul optim pe care trebuie să-l parcurgă pachetele
de date pe o inter-reţea, pe baza unor informaţii cu privire la
 topologia reţelei,
 densitatea de trafic
 viteza de legătură.

 Protocolul Internet (IP) este cea mai populară implementare a


schemei de adresare ierarhice. IP este protocolul nivelului
reţea utilizat în Internet.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Adresa IP (v4)
 Modalitatea de adresare a gazdelor într-o inter-reţea.
 Este o adresă reprezentată pe 32 de biţi.
 Adresa IP poate fi reprezentată şi zecimal; numerele care corespund conţinutului
celor patru octeţi ai adresei reprezintă echivalentul zecimal al acestora şi sunt
separate prin punct.
 Adresa IP este formată din două câmpuri: reţea şi gazdă.
 Adresa IP conţine patru octeţi şi unul, doi sau trei dintre aceşti octeţi pot fi folosiţi
pentru a identifica numărul de reţea, iar restul pentru a identifica numărul de
gazdă din cadrul reţelei respective.
 Tipuri de adrese IP:
 de gazda
 de reţea (toţi biţii din câmpul de gazdă au valoarea 0)
 de difuzare sau broadcast (toţi biţii din câmpul de gazdă au valoarea 1)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Clase de adrese IP (I)
 Există următoarele clase de adrese IP: A, B, C, D, E.
 Primele 3 clase sunt destinate reţelelor
companiilor/instituţiilor, în conformitate cu dimensiunea
companiei pe care reţeaua respectivă o deserveşte.
 Clasa A de adrese este rezervată pentru companii mari care au
multe gazde în reţea,
 Clasa B pentru cele de dimensiune medie iar clasa C pentru
celelalte.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Clase de adrese IP (II)
 Această clasificare este realizată în conformitate cu ARIN
(American Registry for Internet Numbers) -
https://www.arin.net/.
 Clasa de adrese D a fost creată pentru a permite multicasting
folosind o adresă IP.
 Clasa E este rezervată de către IETF (Internet Engineering
Task Force http://www.ietf.org) pentru cercetare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Adrese IP de clasă A
 În format binar, primul (cel mai din stânga) bit este întotdeauna 0.
 Primul octet, identifică numărul de reţea atribuit de către ARIN.
 Administratorul reţelei manipulează ceilalţi 24 de biţi rămaşi.
 Un mod uşor de a recunoaşte o adresă de clasa A, este de a observa că
numărul memorat în primul octet este între 0 şi 126. (127 a fost rezervat
pentru alte scopuri speciale).
 Toate adresele clasei A, folosesc ceilalţi trei octeţi (24 de biţi) pentru a
identifica numărul de gazdă.
 Fiecare reţea, care are o adresă din clasa A, poate avea alocate cel mult
2^24-2=16777214 adrese IP posibile, pentru gazdele ataşate ei, deoarece
adresa IP de forma x.0.0.0, în care x este numărul de reţea este asociată
reţelei, iar x.255.255.255 este o adresă de difuzare (broadcast).
 Exemplu de adresă de tip A este 124.95.44.15. Adresa reţelei este 124.0.0.0,
iar adresa de difuzare este 124.255.255.255.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Adrese IP de clasă B
 Primii 2 biţi ai unei adrese de clasă B au întotdeauna valoarea 10.
 Primii doi octeţi identifică numărul de reţea, atribuit de către ARIN.
 Administratorul reţelei atribuie ceilalţi 16 biţi rămaşi.
 Un mod uşor de a recunoaşte dacă unei gazdă îi este atribuită o adresă de
tip B se face prin verificarea dacă numărul memorat în primul octet este
cuprins între 128 şi 191. Ceilalţi 16 biţi sunt alocaţi pentru numărul de
gazdă.
 Fiecare reţea ce foloseşte adrese IP din clasa B poate atribui 2^16 -2 =
65534 adrese IP gazdelor reţelei.
 Exemplu de adresă de clasă B este 151.10.13.28; adresa IP a reţelei este
151.10.0.0; adrea IP de broadcast în reţea este 151.10.255.255.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Adrese IP de clasa C
 Primii 3 biţi ai unei adrese de clasă C au întotdeauna valoarea 110.
 Primii trei octeţi identifică numărul de reţea (N.N.N.H), atribuit de către
ARIN.
 Administratorul reţelei atribuie ceilalţi 8 biţi rămaşi.
 Un mod uşor de a recunoaşte dacă o gazdă este ataşată unei adrese de tip
C, este de a verifica dacă numărul memorat în primul octet este cuprins
între 192 şi 223.
 Fiecare reţea ce foloseşte adrese IP din clasa C poate atribui 2^8-2 = 254
adrese IP gazdelor reţelei.
 Exemplu de adresă de clasă C este 201.110.213.28. Adresa reţelei este
201.110.213.0; adresa de broadcast în reţea este 201.110.213.255.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Subreţele (I)
 În cazul reţelelor cu un număr mare de gazde, în vederea diminuării traficului în
reţea este necesară împărţirea gazdelor în grupuri cu mai puţine gazde, denumite
subreţele.
 Analog câmpului de gazdă, câmpul de subreţea este atribuit local, de către
administrator şi este unic. Pentru a-l crea, administratorul împrumută un număr de
biţi din câmpul de gazdă. Aceşti biţi sunt cei mai din stânga ai câmpului de gazdă.
 Numărul minim de biţi ce poate fi împrumutat este de 2. Dacă se împrumută un
singur bit pentru a crea o subreţea, atunci dacă acesta are valoarea 0, va
corespunde adresei de reţea iar dacă are valoarea 1 va corespunde adresei de
broadcast.
 Numărul maxim de biţi ce pot fi împrumutaţi este numărul de biţi alocaţi
câmpului de gazdă din care scădem doi, deoarece trebuie să rămână cel puţin doi
biţi pentru câmpul de gazdă.
 Masca de subreţea are o lungime de 32 de biţi şi este folosită pentru a determina
câţi biţi din adresă sunt utilizaţi pentru identificarea subreţelei şi gazdei.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Subreţele (II)
 Pentru a determina masca de subreţea, pentru o subreţea
oarecare, executăm paşii următori:
 Înlocuim partea de reţea şi cea de subreţea cu cifre binare egale cu 1.
 Înlocuim partea de gazdă cu cifre binare egale cu 0.
 Forma binară se exprimă folosind notaţia zecimală.
 Determinarea subreţelei căreia îi aparţine o anumită gazdă:
 Se execută o operaţie “şi” logic între adresa IP a gazdei destinaţie şi
masca de subreţea, exprimate în forma binară şi rezultatul reprezintă
adresa IP a reţelei (subreţelei).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Exemple (I)
 Dacă adresa IP de clasă B este 130.5.2.144 şi dacă masca de
subreţea este 255.255.255.0,
 Atunci 8 biţi au fost împrumutaţi pentru a crea subreţele,
 Iar routerul va şti să transmită acest pachet subreţelei
130.5.2.0.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Exemple (II)
 Considerăm adresa de clasă C 197.15.22.131, cu masca de
subreţea 255.255.255.224.
 Numărul 224 din ultimul octet (11100000 în binar), specifică
faptul că la cei 24 de biţi ai câmpului de reţea, s-au mai
adăugat 3 biţi, deci în total 27.
 Numărul 131 din ultimul octet ne spune că gazda care
corespunde adresei specificate, va fi a treia din subreţeaua
care are adresa197.15.22.128.
 Routerele din Internet (care nu cunosc masca de subreţea) vor
efectua rutarea numai către reţeaua de adresă 197.15.22.0, iar
routerle din interiorul acestei reţele, cunoscând masca de
subreţea, vor lua decizia finală de rutare.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Exemple (III)
 Dacă masca de subreţea este 255.255.240.0, iar reţeaua este
de clasă B, deoarece reprezentarea în binar a numărului 240
este 11110000, vom avea 4 biţi pentru câmpul de subreţea.
 Dacă câmpul de subreţea are o lungime de 4 biţi, deoarece
numărul zecimal 15 are reprezentarea binară 1111, atunci
numărul posibil de subreţele este 15-2=13,
 deoarece din cele15 posibilităţi le scădem pe cele extreme,
0000 şi 1111 care fac parte din adresa întregii reţele, respectiv
a celei de „broadcast”.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
Exemple (IV)
 Dacă considerăm adresa de reţea de clasă C 199.5.12.0 care
are masca de subreţea 255.255.255.224, atunci gazda care are
adresa 199.5.12.97 va aparţine celei de-a treia subreţele; într-
adevăr 97 are reprezentarea binară 01100001 şi cum 224 în
binar este 11100000, va rezulta că pentru câmpul de subreţea
au fost împrumutaţi3 biţi şi cum 3 are reprezentarea binară
011, va rezulta concluzia exprimată.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
Pachetul IP
 Este strucura gestionată de nivelul reţea al ierarhiei OSI.
 Conform principiului încapsulării, la gazda destinaţie se adaugă setului de
date primite de la nivelul superior un antet, care conţine informaţii
destinate nivelului reţea al gazdei destinaţie.
 Orice pachet conţine două secţiuni: antet (header) şi date care sunt
transmise.
 Protocolul Internet determină forma header-ului pachetului IP, care
include informaţii de adresare precum şi alte informaţii de control.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
Fragmentare şi reasamblare
 La interconectarea unor reţele de diverse tehnologii, una dintre probleme este
dimensiunea diferită a pachetului care poate fi transmis prin mediul de
comunicaţie al unei anumite reţele. De exemplu, o reţea Ethernet poate accepta
pachete cu o lungime de cel mult 1500 de octeţi, pe când pachetele într-o reţea
FDDI pot avea cel mult 4500 de octeţi. Fiecare reţea are o dimensiune maximă a
gazdei transmisie (MTU-Maximum Transmision Unit), care este dimensiunea
maximă a pachetelui ce poate fi încapsulat într-un cadru de date.

 Fragmentarea apare la un router atunci când vrea să transmită un pachet peste o


reţea, care are un MTU mai mic decât dimensiunea pachetului primit de către
router. Pentru a se putea realiza reasamblarea la gazda destinaţie, elementele de
identificare ale fragmentelor trebuie să conţină aceeaşi valoare. Dacă nu sunt
primite toate fragmentele, gazda destinaţie nu relizează reasamblarea şi
fragmentele primite sunt distruse.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
Fragmentare şi reasamblare
 Fiecare fragment este el însuşi un pachet IP care este transmis
independent de celelalte fragmente.
 Fiecare pachet IP este reîncapsulat pentru fiecare reţea fizică pe
care o traversează.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
Antet (header I)
 Antetul IP conţine următoarele informaţii:
 versiune - indică versiunea protocolului IP folosit; prin includerea acestui câmp, este posibil
ca două gazde pe care rulează versiuni diferite ale unui protocol, să poată comunica între ele
(4 biţi).
 hlen - indică lungimea efectivă a header-lui, exprimată în cuvinte de 32 de biţi (4 biţi).
 tip-de-serviciu - permite gazdei să comunice subreţelei de comunicaţie (reţeaua de routere)
ce tip de serviciu doreşte. Sunt posibile diferite combinaţii de fiabilitate şi viteză:
 Pentru vocea digitizată, livrarea rapidă are prioritate faţă de transmisia corectă.
 Pentru transferul de fişiere, transmisia fără erori este mult mai importantă decât transmisia rapidă.
Câmpul este format dintr-un subcâmp de trei biti Precedenţă, din trei fanioane (indicatori) D, T si R,
plus doi biţi nefolosiţi.
Câmpul este format dintr-un subcâmp de trei biti Precedenţă, din trei fanioane (indicatori) D, T
si R, plus doi biţi nefolosiţi.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
Antet (header II)
 Precedenţa indică prioritatea, de la 0 (obişnuit) la 7 ( pachet de control al reţelei). Cei trei
indicatori, permit gazdei să specifice ce este mai important din mulţimea
 {Delay (Întirziere), Throughput (Productivitate), Reliability (Fiabilitate)}.
 Teoretic, aceste câmpuri permit router-ului să ia decizii privind căile pe care să fie transmis
pachetul respectiv (8 biţi).
 Lungime totală – specifică lungimea totală a pachetului, incluzând datele şi header-ul (16
biţi)
 identificare - conţine un întreg ce identifică datagrama curentă (16 biţi)
 DF si MF – sunt două câmpuri de un bit;
 DF (Don’t Fragment) indică router- ului să nu fragmenteze datagrama pentru că destinaţia nu
este capabilă să asambleze bucăţile la loc;
 MF (More Fragments) este activat pentru toate fragmentele cu excepţia ultimului; el este necesar
pentru a şti când au ajuns toate pachetele la destinaţie. Următorul bit este gol. (3 biţi)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
Antet (header III)
 deplasament de fragment – dacă o datagramă a fost fragmentată, acest câmp specifică
deplasamentul faţă de datagrama iniţială a datelor care se transferă (poziţia fragmentului în
cadrul mesajului transmis). Toate fragmentele dintr-o datagramă, cu excepţia ultimului,
trebuie să fie un multiplu de 8 octeţi – unitatea de fragmentare elementară. Din moment ce
sunt prevăzuţi 13 biţi, există un maxim de 8192 de fragmente pe datagrama, obţinându-se
lungimea maximă a datagramei de 65536 octeţi, cu unul mai mult decât lungimea
totala.(13 biţi)
 timp de viaţă - conţine un contor ce descreşte gradual, prin decrementare, până la zero,
punct la care datagrama este distrsusă, оmpiedicând pachetele să parcurgă un ciclu de o
infinitate de ori (8 biţi)
 protocol - indică protocolul de nivel superior utilizat în crearea mesajelor transportate de
datagrama; de exemplu, dacă acest câmp are valoarea 6, el specifica protocolul TCP, în
timp ce valoarea 12 va indica protocolul UDP (8 biţi)
 suma de control – câmp prin care se verifică transmiterea corectă a header- ului (16 biţi)
 adresa sursă – specifică adresa IP a expeditorului (32 biţi)
 adresa destinaţie - specifică adresa IP a destinatarului (32 biţi)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
Protocoale de rezoluţie a adreselor
 Deşi fiecare gazdă din Internet are una sau mai multe adrese IP, acestea nu pot fi
folosite pentru trimiterea pachetelor pe mediile de comunicaţie ale reţelelor locale,
deoarece nivelul legătură de date nu înţelege adresele IP.
 Plăcile de reţea ataşate gazdelor recunosc numai adresele MAC.
 Protocolul ARP (Adress Resolution Protocol) este cel care permite aflarea unei
adrese MAC, pe baza unei adrese IP.
 Să presupunem că un utilizator de pe o gazdă (cu A adresa IP) de pe o reţea vrea
să transmită un pachet unui alt utilizator, conectat la o altă gazdă, aflată pe aceeaşi
reţea (cu B adresa IP).
 Prin intermediul protocolului DNS, pe care îl vom studia mai târziu, expeditorul
poate afla adresa IP a destinatarului. Programele de la nivelele superioare ale
expeditorului construiesc un pachet IP cu adresa destinatarului. Programele IP văd
adresa destinatarului şi constată că acestea se află pe aceeaşi reţea, dar au nevoie
de un mecanism prin care să determine adresa MAC a destinatarului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
Protocoale de rezoluţie a adreselor
 La nivelul fiecărei gazde există în memorie o tabelă numită tabelă ARP care
realizează o corespondenţă între adresele IP ale gazdelor şi adresele MAC
corespunzătoare. Dacă adresa IP a gazdei destinaţie se găseşte în tabela ARP a
gazdei sursă, se ia de aici adresa MAC corespunzătoare şi se formează cadrul de
date corespunzător.
 În caz contrar, expeditorul trimite un pachet de difuzare în reţeaua locală cu adresa
IP a destinatarului (de genul “Cine este proprietarul adresei B?”). Pachetul de
difuzare va ajunge la toate maşinile din reţeaua locală şi fiecare îşi va verifica
adresa IP. Numai gazda cu adresa B va răspunde cu adresa plăcii sale de reţea, care
va ajunge la gazda expeditor care a iniţiat cererea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
Protocoale de rezoluţie a adreselor
 Protocolul folosit pentru a pune astfel de întrebări şi a primi răspunsul se numeste
ARP (Adress Resolution Protocol – Protocolul de rezoluţie a adresei).
 După ce a obţinut adresa MAC a destinatarului (notată B1), programele IP ale
gazdei încapsulează într-un cadru de date care conţine B1 şi-l transmit pe cablu;
placa de reţea a gazdei destinatar va recunoaşte acest pachet, оl va prelua şi-l va
prelucra. De asemenea, tabela ARP a sursei va fi actualizată, prin introducerea
acestei noi corespondenţe ca intrare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
Rezoluţia inversă a adresei
 Protocolul de rezoluţie inversă a adresei (RARP – Reverse Address Resolution
Protocol) rezolvă problema inversă, adică a aflării adresei IP corespunzătoare unei
adrese fizice.
 Această problemă apare, de exemplu atunci când se porneşte o gazdă fără disc. O
astfel de maşină primeşte imaginea binară a sistemului său de operare de la un
server de fişiere aflat la distanţă. Pentru a se realiza acest lucru, este necesar să-şi
cunoască propria adresă IP. Pentru aceasta, se foloseşte protocolul RARP, care
permite unei staţii de lucru de- abia pornite să difuzeze adresa sa fizică, pentru a-şi
obţine propria adresa IP. Server-ul RARP vede această cerere, caută adresa fizică
în fişierele sale de configurare şi trimite оnapoi adresa sa de configurare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
Proxy ARP
 Când o gazdă dintr-o reţea locală doreşte să transmită un pachet unei gazde dintr-o
altă reţea locală, din aceeaşi inter-reţea, pachetul trebuie să parcurgă mediile locale
de comunicaţie sub formă de cadre de date. Pentru construcţia acestora, este
necesară adresa IP a destinaţiei.
 Proxy ARP este folosit atunci când o gazdă cunoaşte adresa IP a altei gazde de pe o
altă reţea şi doreşte adresa fizică a acesteia. în acest scop, gazda expeditor transmite
o cerere ARP care ajunge la router. Acesta răspunde cu adresa MAC a interfeţei
asociate reţelei locale, unde se află gazda care a iniţiat cererea, pentru acele cereri
în care adresa IP de destinaţie nu este în domeniul adreselor de pe reţeaua locală
respectivă.
 Routerele conţin şi ele tabele ARP, adică tabele care fac corespondenţa între adrese
IP şi adrese MAC. Routerul transmite pachetul IP către routerul la care este
conectatăreţeaua locală în care se află gazda de destinaţie.
 Pe baza tabelelor sale, router-ul construieşte cadrul de date, înlocuind adresa MAC
de destinaţie primită în pachet, cu adresa MAC de destinaţie.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
Rutarea şi retransmiterea pachetelor
 Pentru ca un pachet să ajungă de la o gazdă aflată pe o anumită reţea locală, la o
altă gazdă situată pe o altă reţea locală, el trebuie, mai оntâi transmis routerului la
care este legată prima reţea locală şi apoi să străbată un drum ale cărui noduri
sunt routere intermediare din subreţeaua de comunicaţie, până la routerul la care
este conectată gazda destinaţie.
 Determinarea acestui drum apare la nivelul reţea. Funcţia de determinare a
drumului permite routerului, să aleagă dintre mai multe căi disponibile, pe cea
optimă. Pentru determinarea acestor drumuri şi alegerea celui optim la momentul
respectiv, routerul foloseşte o serie de tabele. O intrare într-o astfel de tabelă
conţine adresa IP a unei anumite destinaţii şi următorul nod către destinaţia
respectivă.
 Actualizarea acestor tabele se numeşte routare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Rutarea şi retransmiterea pachetelor
 Pentru evaluarea drumurilor, existente între două routere la un moment dat se
folosesc informaţiile despre topologia reţelei.
 Aceste informaţii se introduc manual de către administratorul de reţea sau pot fi
actualizate dinamic de către anumite procese care se execută în reţea.
 Nivelul reţea foloseşte tabelele de rutare pentru a transmite pachetele de la o reţea
sursă, la o reţea destinaţie.
 După ce routerul determină care drum va fi folosit, el trece la transmiterea mai
departe a pachetului.
 El preia pachetul care a fost primit la o interfaţă şi îl transmite mai departe la o
altă interfaţă care constituie următorul nod din drumul optim ales. Acesta
reprezintă procesul de transmitere mai departe (“forwarding”) al pachetului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 33
Reţele de calculatoare
Curs
Universitatea “Transilvania” din Brasov

Lect.dr. Costel ALDEA


Obiectivul cursului
 Definiţie - reţea de calculatoare.
 Clasificare
 Avantaje
 Topologii de reţea
 Arhitectură de reţea

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
REŢEA DE CALCULATOARE
 Reţea de calculatoare - o colecţie de calculatoare autonome,
interconectate intre ele.
 Un calculator nu este autonom atunci când el poate să fie pornit, să fie
oprit sau să fie controlat în mod forţat de către un altul.
 Se spune despre două calculatoare că sunt interconectate dacă sunt
capabile să schimbe informaţii între ele.
 Dacă impunem calculatoarelor cerinţa de a fi autonome, este exclusă
relaţia de tip master-slave între acestea.
 Există mai multe posibilităţi fizice de conectare:
 cabluri din cupru,
 fibre optice,
 microunde,
 sateliţi de comunicaţie, etc.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Lucrul în reţea
 Un calculator interconectat cu alte sisteme, poate avea acces la datele
stocate pe acestea, precum şi la echipamentele lor.
 Conceptul de conectare al unor calculatoare care partajează resurse se
numeşte lucrul în reţea.
 Calculatoarele care fac parte dintr-o reţea pot partaja:
 date,
 mesaje,
 imagini grafice,
 imprimante,
 aparate fax,
 modemuri etc.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Avantaje (I)
 Utilizarea eficientă a imprimantelor şi a altor periferice.
Dacă calculatorul lucrează autonom el are acces numai la perifericele lui
şi astfel fiecare calculator ar avea nevoie de o imprimantă proprie pentru
scrierea rapoartelor. Acest lucru nu este economic, ţinând cont de:
 costul acestui periferic,
 timpul efectiv de utilizare,
 uzarea morală rapidă a tehnicii de calcul.
 Deci, mai economic este ca mai multe calculatoare să utilizeze în comun diverse
periferice, lucru care este posibil numai dacă calculatoarele sunt interconectate în reţea.
Este mai economic ca mai multe calculatoare să utilizeze în comun
diverse periferice.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Avantaje (II)
 Partajarea datelor.
Înaintea apariţiei reţelelor de calculatoare, mai mulţi utilizatori foloseau acelaşi set
de date prin modalităţi mai puţin sigure şi performante:
 transmiterea de rapoarte scrise,
 copierea informaţiilor pe un suport magnetic şi transmiterea lor etc.

 Partajarea de produse soft.


Fiecare calculator din reţea poate avea acces la programe şi dispozitive instalate
pe alte calculatoare din reţea.

 Standardizarea aplicaţiilor.
Orice calculator din reţea poate folosi aceeaşi versiune a unui fişier/ produs.

 Schimbul rapid de informaţii între membrii organizaţiei

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Termeni
 Servere - Aplicaţii care oferă resurse partajate pentru
utilizatorii reţelei.
 Clienţi - Aplicaţii care accesează resursele partajate în reţea
de un server.
 Mediu de comunicaţie - Modul în care sunt conectate
calculatoarele.
 Resurse - Componente software şi hardware folosite în
comun de către utilizatorii reţelei.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Modelul centralizat
 Presupune existenţa unui calculator mainframe la
care sunt conectate mai multe terminale;
 Terminalele nu au capacitate de procesare, ele doar
servesc la introducerea sau afișarea datelor;
 O aplicaţie rulează pe un calculator central, cu
resurse multiple şi este accesată prin intermediul
unor terminale.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Modelul client/server
 Se referă la împărţirea operaţiilor de prelucrare a datelor între
calculatorul client şi un calculator server mai puternic.
 Modelul este avantajoas pentru organizaţiile în care un număr
mare de utilizatori trebuie să aibă acces permanent la cantităţi
mari de date.
 Calculatorul client lansează o solicitare, iar un calculator care
funcţionează ca server o îndeplineşte. D
 într-un model client-server, orice calculator poate juca atât rol
de server cât şi de client.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Client/server - baze de date (I)
 Administrarea bazelor de date este un tip de aplicatie client/server
 Aplicația client foloșeste limbajul SQL, pentru a traduce cererea formulată
de utilizator.
 Procesul de solicitare şi de primire a informaţiilor constă din:
 Clientul formulează solicitarea.
 Solicitarea este tradusă în SQL.
 Solicitarea SQL este transmisă servereului de reţea.
 Serverul de baze de date începe căutarea datelor pe calculatorul pe care acestea sunt
stocate.
 Înregistrările sunt returnate clientului
 Datele sunt prezentate utilizatorului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Client/server - baze de date (II)
 Aplicaţia, care se numeşte client sau componenta front-end (interfaţă).
 Serverul de baze de date, care se numeşte server sau componenta back-end.
 Clientul este cel care generează (emite) o solicitare.
Aplicaţia executată de client are rolul de:
 A prezenta o interfaţă pentru utilizator.
 A formula solicitarea de date.
 A afişa anumite rapoarte, pe baza datelor pe care le primeşte de la server.
 Serverul este folosit pentru păstrarea şi administrarea datelor.
Pe server se desfăşoară majoritatea operaţiilor bazei de date.
Sistemul de gestiune al bazei de date de pe server reacţioneaza la interogările
clientului, lansând o operaţie (de căutare).
În cadrul modelului client/server se returnează doar rezultatele căutării.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Avantajele modelului client /server
 Oferă facilităţi de prelucrare mai ieftine decât cele cu
calculatoare centrale (mainframe), deoarece se obţine o
reducere a traficului prin reţea.
 Se realizează economie de memorie internă a calculatorului
client, deoarece serverele sunt capabile sa stocheze o cantitate
mare de informaţie.
 Datele care sunt obiectul prelucrării sunt stocate pe server
deci pot fi mult mai bine protejate.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Server dedicat
 este un calculator care funcţionează doar ca server,
rulând programe specializate pentru oferirea de
servicii de reţea.
 se numesc "dedicate" deoarece sunt optimizate să
deservească rapid cerinţele clienţilor din reţea şi să
asigure securitatea resurselor deţinute, a fişierelor şi
a directoarelor.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Clasificare reţelelor
 Reţele peer-to-peer
 nu există servere dedicate şi nici o organizare ierarhică a calculatoarelor.
 Toate calculatoarele sunt considerate egale (peer), de unde şi numele tipului de reţea.
 fiecare calculator are şi rolul de client si cel de server, neexistând un administrator
responsabil pentru întreaga reţea.
 Utilizatorul fiecărui calculator stabileşte resursele locale care vor fi partajate în reţea.
 dimensiunea acestui tip de reţea este redusă, (este formată din maximum 10
calculatoare).
 se foloseşte un sistem de cablare simplu, vizibil care conectează toate calculatoarele
din reţea.
 Reţelele peer-to-peer sunt denumite şi grupuri de lucru (workgroups).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Peer-to-peer
 Reţelele peer-to-peer sunt relativ simple.
 fiecare calculator joacă atât rolul de client cât şi de sever,
 nu este nevoie de un server central puternic si nici de alte componente necesare, ca în cazul unei
reţele de mare capacitate.,
 implică costuri mai mici decât cele bazate pe server.
 Într-o reţea peer-to-peer, software-ul de reţea nu presupune acelaşi nivel de
performanţe şi de securitate cu cel al reţelelor bazate pe server dedicat.
 Unele sisteme de operare, cum ar fi cele din familia Microsoft Windows
9x/Me/XP înglobează funcţionalitatea de reţea peer-to-peer (nu mai este necesar
software suplimentar).
 Reţele peer-to-peer reprezintă o alegere bună pentru mediile în care utilizatorii se
află într-o zonă restrânsă, securitatea datelor nu este o problemă esenţială,
organizaţia şi reţeaua nu au o creştere previzibilă în viitorul apropiat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Retelele bazate pe server
Într-o astfel de reţea există următoarele tipuri de servere:
 Serverele de administrare a drepturilor

(PDC-Primary Domain controller)


 Serverele de fişiere şi de tipărire administrează accesul şi
folosirea de către utilizatori a resurselor de tip fişier şi
imprimantă.
 De exemplu, dacă folosiţi o aplicaţie de prelucrare a textelor, aceasta va rula
pe calculatorul dumneavoastră. Documentul prelucrat de aplicaţie este păstrat
pe server şi încărcat în memoria calculatorului propriu, astfel încât poate fi
folosit local. Cu alte cuvinte, serverele de fişiere şi de tipărire sunt folosite, în
general pentru stocarea datelor şi a fişierelor.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
 Serverele de aplicaţii pun la dispoziţia clienţilor componenta server a aplicaţiilor
de tip client-server, precum şi datele respective. De exemplu, serverele păstrează
volume mari de date structurate, care sunt uşor de accesat(baze de date). Acest tip
de servere diferă de serverele de fişiere şi de tipărire, în cazul cărora datele sau
fişierele sunt descărcate în totalitate pe calculatorul care le-a solicitat. La serverele
de aplicaţii, baza de date se află pe server şi numai rezultatul interogării este
descărcat pe calculatorul care a lansat solicitarea. O aplicaţie client, care rulează
local va accesa datele de pe serverul de aplicaţii. În loc de întreaga bază de date,
pe calculatorul local va fi descărcat de pe server numai rezultatul interogării.
 Serverele de poştă gestionează transferul de mesaje electronice între utilizatorii
reţelei
 Serverele de mail gestionează fluxul de date şi mesaje e-mail transmise între
reţeaua serverului şi alte reţele, calculatoare mainframe sau utilizatori aflaţi la
distanţă, care folosesc modem şi linii telefonice pentru a se conecta la retea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Reţele locale, reţele metropolitane
 La început, reţelele erau de dimensiuni mici, cu cel mult 10 calculatoare şi o
imprimantă, legate împreună. Tehnologia existentă limita dimensiunile reţelei
atât în privinţa numărului de calculatoare cât şi a distanţei fizice pe care o putea
acoperi. De exemplu, la începutul anilor ´80, cea mai uzuală metodă de cablare
permitea conectarea a maximum 30 de utilizatori, printr- un cablu având
lungime maxima de 180-200 de metri. O astfel de reţea putea acoperi un singur
etaj al unei clădiri sau sediul unei firme mici. O astfel de reţea se numeşte reţea
locală sau LAN (Local Area Network)
 O reţea metropolitană (Metropolitan Area Network – MAN) este o versiune
extinsă de LAN ce se poate întinde pe zona ocupată de un grup de birouri
învecinate sau chiar suprafaţa unui oraş. Acest tip de reţea funcţioneză pe baza
unor tehnologii similare cu cele ale LAN-urilor.
 Pentru unităţile care sunt conectate direct la o reţea vom folosi termenul de
gazdă. Acestea pot fi calculatoare (client sau server), imprimante, scannere etc.
Pentru ca acestea să lucreze în reţea, ele trebuie să fie dotate cun un dispozitiv de
interfaţă, numit placă de reţea. O reţea LAN poate fi extinsă utilizând mai multe
componente (repetoare, hub-uri, punţi, comutatoare).
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Topologii de reţea locală
 Topologia defineşte structura reţelei. Topologia fizică se referă la
dispunerea fizică în teren a calculatoarelor, a cablurilor şi celorlalte
componente ale reţelei. Topologia logică se referă la modul cum gazdele
accesează mediul de comunicaţie. Topologia unei reţele afectează direct
performanţele reţelei. O anumită topologie aleasă influenţează tipul de
echipament utilizat, precum şi posibilităţile de extindere a reţelei.
 Clasificare:
 Topologie Magistrală;
 Topologie inel;
 Topologie stea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
Topologia magistrală (bus I)
În cazul în care calculatoarele sunt conectate de-a lungul unui singur
cablu (segment), topologia poartă numele de magistrală (bus)(figura).
Topologia de tip magistrală (bus) este numită şi magistrala liniară. Constă
dintr-un singur cablu, numit trunchi (sau coloană vertebrală sau
segment), care conectează toate calculatoarele din reţea pe o singură linie.

Gazda

Cablu

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
Topologia magistrală (bus II)
 Magistrala este o topologie pasivă. Calculatoarele legate la o magistrală recepţionează datele
care sunt transmise în reţea. Ele nu acţionează pentru transmiterea datelor de la un calculator
la altul. Dacă un calculator se defectează el nu afectează restul reţelei.
 Într-o topologie activă calculatoarele regenerează semnalul şi transferă datele în reţea.
Deoarece datele sau semnalele electronice sunt transmise în întreaga reţea, acestea vor
parcurge cablul de la un capăt la altul. Dacă semnalului i s-ar permite să se deplaseze fără
întrerupere, el ar continua să se reflecte înainte şi înapoi de-a lungul cablului, împiedicând
celelalte calculatoare să transmită semnale. Din acest motiv, semnalul trebuie oprit după ce a
ajuns la adresa destinaţie. Pentru a opri reflectarea semnalului, la fiecare capăt al cablului
este plasată o componentă numită terminator, care are rolul de a absorbi semnalele libere.
Absorbirea semnalelor eliberează cablul, astfel încât şi alte calculatoare să poată transmite
date. Fiecare capăt al cablului trebuie conectat la ceva. De exemplu, un capăt poate fi
conectat la un calculator sau la un conector pentru a putea mări lungimea cablului. Orice
capăt liber trebuie cuplat la un terminator pentru a putea preveni reflectarea semnalului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
Topologia inel
 conectează o gazdă la următoarea şi ultima gazdă la prima. Nu există
capete libere. Semnalul parcurge bucla într-o singură direcţie, trecând pe
la fiecare calculator. Spre deosebire de topologia magistrală, care este
pasivă, aici fiecare calculator amplifică semnalul şi îl trimite la
calculatorul următor. Deoarece semnalul traversează fiecare calculator,
defectarea unuia afectează întreaga reţea.

Gazda

Cablu

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
Topologia stea
 calculatoarele sunt conectate prin segmente de cablu la o componentă
centrală, numită concentrator (hub) Semnalele sunt transmise de la un
calculator emiţător, prin intermediul concentratoarelor, la toate
calculatoarele din reţea. Această topologie îsi are originile în perioada de
început a informaticii, când toate calculatoarele dintr-o instituţie erau
conectate la un calculator mainframe central. Reţelele cu topologie stea
oferă resurse de administrare centralizată. Totuşi, din cauză că, fiecare
calculator este conectat la un punct central, acest tip necesită o cantitate
mai mare de cablu. În plus, în cazul în care concentratorul se defectează
cade întreaga reţea. Dacă un calculator sau cablul de legătură al acestuia la
concentrator cade, numai calculatorul respectiv este în imposibilitatea de a
primi mesaje; restul reţelei va continua să funcţioneze normal.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
Topologia stea

concentrator

gazdă

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
Topologia magistrală-stea
 Este combinaţie între topologiile magistrală şi stea. În cadrul
topologiei magistrală-stea există mai multe reţele cu
topologie stea, conectate prin intermediul unor trunchiuri
liniare de tip magistrală. Dacă un calculator se defectează
acest lucru nu va afecta restul reţelei; celelalte calculatoare
vor putea să comunice în continuare. Dacă se defectează un
concentrator toate calculatoarele conectate la acesta vor fi
incapabile să mai comunice. În cazul în care calculatorul
defectat este conectat la alte concentratoare, conexiunile
respective vor fi, de asemenea, întrerupte. Concentratoarele
din mai multe topologii stea sunt conectate la un concentrator
principal stea, rezultând topologia stea generalizată.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
Retele larg raspandite geografic
 Gazdele finale sunt utilizate pentru a executa programele utilizatorilor şi pot fi,
eventual legate între ele printr-un mediu de comunicaţie formând o reţea LAN.
Gazdele sau reţelele LAN sunt conectate prin sisteme intermediare sau elemente
de comutare (routere), care formează o subreţeaua de comunicatie.
Subretea

Gazda Router

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
Rețele larg răspândite geografic
 Elementele de comutare sunt sisteme specializate folosite pentru a conecta
două sau mai multe linii de transmisie. Conform acestui model, fiecare
gazdă este conectată la un LAN în care există un router sau direct la un
router. Colecţia de linii de comunicaţie şi de routere (dar nu şi de gazde)
formează subreţeaua.
 În cazul celor mai multe WAN – uri, două routere pot comunica direct,
dacă sunt legat prin acelaşi cablu sau indirect prin intermediul altor
routere. Când un router intermediar primeşte un pachet de date, îl reţine
acolo până când linia pe care trebuie să-l transmită mai departe devine
liberă şi apoi îl retransmite. O subreţea care funcţionează pe acest
principiu se numeşte subreţea punct-la- punct sau subreţea cu comutare
de pachete.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
Arhitectură de reţea
 Reţeaua este formată din gazde care execută programele utilizatorilor. La
nivelul fiecărei gazde, reţeaua este structurată pe niveluri. Numărul de
niveluri, numele fiecărui nivel, conţinutul şi funcţia sa, poate să fie diferit
de la o categorie de reţele la alta. Indiferent de tipul de reţea, scopul
fiecărui nivel este să ofere anumite servicii nivelurilor superioare.

 Modelul OSI.
 Arhitectura TCP/IP.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
Modelul OSI
 Lucrul în reţea presupune transmiterea datelor de la o gazdă
la alta. Acest proces complex poate fi împărţit în etape:
Recunoasterea datelor; Împărţirea datelor în blocuri mai uşor
de manevrat; Adăugarea de informaţii fiecărui bloc de date,
pentru a localiza datele respective şi a identifica destinatarul;
Adăugarea unor informaţii de sincronizare şi de verificare a
erorilor; Transmiterea datelor in retea.
 Modelul OSI împarte comunicaţia in reţea pe şapte niveluri.
Fiecare nivel presupune anumite activităţi, componente sau
protocoale în reţea. Cele şapte niveluri sunt:

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
Modelul OSI
 Numărul nivelului Denumirea nivelului
 7 Aplicaţie
 6 Prezentare
 5 Sesiune
 4 Transport
 3 Reţea
 2 Nivelul Legătură de date
 1 Nivelul Fizic

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
Modelul OSI
 Un nivel OSI are un set bine definit de funcţii de reţea, iar funcţiile fiecărui nivel
comunică şi colaborează cu funcţiile nivelurilor aflate imediat deasupra şi
dedesubtul nivelului respectiv. Fiecare nivel asigură anumite servicii sau acţiuni
care pregătesc datele pentru a fi transmise în reţea către un alt calculator. Toate
cererile sunt transmise de la un nivel la altul prin intermediul interfeţelor. Fiecare
nivel se bazeaza pe activitătile si serviciile nivelului ierarhic inferior. Nivelurile
sunt configurate în aşa fel încât fiecare dintre ele se comportă ca si când ar
comunica direct cu nivelul echivalent de pe celălalt calculator. Aceasta reprezintă
o comunicaţie logică, sau virtuală, între nivelurile echivalente.
 Nivelul Aplicatie, cel mai înalt in ierarhia OSI, serveşte drept fereastră prin care
aplicaţiile au acces la serviciile de retea. Acest nivel nu oferă servicii altui nivel şi
reprezintă interfaţa prin care aplicaţiile în reţea au acces la componentele retelei.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
Modelul OSI
 Nivelul prezentare, determină formatul folosit pentru schimbul de date între
calculatoarele din reţea. El poate fi numit şi ‘Traducătorul reţelei’. În cazul
calculatorului emiţător, acest nivel converteşte datele din formatul transmis de
nivelul superior (Aplicaţie), într-un format intermediar, universal recunoscut.
În calculatorul receptor, acest nivel converteşte formatul intermediar într-unul
care poate fi folosit de nivelul Aplicaţie al calculatorului respectiv. De
asemenea, acest nivel realizeaza criptarea datelor, modificarea sau conversia
setului de caractere, precum şi interpretarea comenzilor grafice.
 Nivelul sesiune permite ca două aplicaţii aflate pe calculatoare diferite să
stabilească, să folosească şi să încheie o conexiune numită sesiune.
 Nivelul transport asigură transportul pachetelor de date la destinaţie, în
succesiune, fără pierderi şi fără duplicate. Acest nivel reîmpachetează
mesajele, fragmentându-le pe cele de dimensiuni mai mari în mai multe
segmente sau concatenînd mai multe pachete mici într-un singur segment.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Modelul OSI
 Nivelul reţea gestioneaza adresele logice (IP). De asemenea, acest nivel
determină ruta (calea de acces) de la sursă la destinaţie intr-o inter-retea
Segmentele primite de la nivelul superior se transformă în pachete, prin
adăugarea informaţiilor de adresare, în cazul calculatorului emiţător şi
respectiv, suprimarea acestor informaţii şi transmiterea datelor nivelului
superior, în cazul calculatorului receptor.
 Nivelul legătură de date transmite cadrele de date către nivelul Fizic, cel
care realizează transportul şirurilor de biţi. Un cadru de date este o
structura logică, organizată, în care pot fi plasate datele pe mediul de
comunicatie La capătul receptor, el împachetează biţii “bruţi” sosiţi de la
nivelul Fizic în cadre de date. Acest nivel recunoaste adresele
fizice(MAC) si realizeaza comunicatia intr-o retea locala.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 33
Incapsulare si decapsulare
 La gazda sursa are loc fenomenul de incapsulare. Datele circula de sus in
jos; fiecare nivel primeste o structura de date de la nivelul superior si
adauga o zona de informatie specifica lui, care contine informatii adresate
nivelului correspondent de la gazda destinatie. Nivelul fizic realizeaza
transportul sirurilor de biti pe mediul de comunicatie. La gazda destinatie
are loc fenomenul de
 decapsulare. Fiecare nivel(cu exceptia nivelui fizic) primeste de la
nivelul inferior structura de date adresata lui, extrage informatia adresata
lui si transmite restul de date catre nivelul superior. Atunci când pachetul
ajunge in sfârsit la nivelul Aplicaţie, informaţiile de adresare sunt complet
înlaturate, volumul de date recăpatându-şi forma iniţială, care poate fi
interpretată de receptor. Regulile dupa care nivelurile comunica intre ele
formeaza protocolul nivelului respectiv.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 34
Arhitectura TCP/IP
 Modelul OSI este un standard orientativ, iar modelul TCP/IP
este o arhitectură utilizată de reţeaua Internet şi de
predecesorul ei, ARPANET.
 Modelul TCP/IP are patru niveluri: Aplicaţie, Transport,
Internet, Acces la reţea. Observăm că nu conţine nivelurile
sesiune şi prezentare, funcţiile acestora fiind preluate de către
nivelul cel mai înalt.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 35
Nivelul aplicaţie
 conţine protocoalele (aplicaţiile) de nivel înalt.
 TELNET- protocolul de terminal virtual, care permite unui utilizator
de pe o maşină să lucreze pe o maşină aflată la distanţă;
 FTP – protocolul de transfer de fişiere;
 SMTP – protocolul de poştă electronică;
 DNS – protocolul care transformă adresele de reţea în identificatori;
 HTTP – protocolul folosit pentru aducerea paginilor de Web.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 36
Nivelul transport
 este proiectat astfel încât să permită conversaţii între entităţile pereche ale
gazdelor sursă şi destinaţie.
 Protocolul TCP (Transmission Control Protocol- protocolul de control
al transmisiei), este un protocol sigur, orientat pe conexiune, care permite
ca un flux de octeţi trimişi de la o gazdă să ajungă la gazda destinatar din
inter - reţea fără pierderi de date. Acest protocol fragmentează datele
primite de la nivelul superior în segmente pe care le transmite nvelului
inferior. La destinaţie segmentele sunt reasamblate, într-un flux de ieşire
care este apoi transmis nivelului superior.
 Protocolul UDP( User Datagram Protocol – protocolul datagramelor
utilizator) este utilizat pentru a trimite mesaje de tipul întrebare-răspuns,
fără confirmare, pentru care este mai importantă rapiditatea comunicării
decât siguranţa.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 37

Nivelul reţea (Internet)


 face posibilă transmiterea de pachete între oricare gazde aflate pe oricare reţea a
inter-reţelei;
 pachetele circulă independent unele de altele, existând posibilitatea ca pachetele să
ajungă la destinaţie într-o ordine diferită de cea în care au fost transmise,
rearanjarea lor în ordinea firească fiind o operaţie executată de gazda destinaţie.
 Analogia cu sistemul poştal este evidentă; când se trimite o scrisoare se indică
adresele destinatarului şi expeditorului, fără ca expeditorul să fie interesat prin ce
oficii poştale intermediare trece scrisoarea respectivă, până când ajunge la
destinatar.
 La acest nivel funcţionează protocolul IP (Internet Protocol).
 La emiţător, segmentele primite de la nivelul superior sunt transformate în
pachete, care conţin informaţii superioare de adresare, iar la receptor se efectuează
operaţia inversă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 38
Nivelul acces la reţea
 Nivelul Acces la reţea cuprinde toate aspectele legate accesul la mediu,
transportul pachetelor prin mediul fizic pe care le-am prezentat în cadrul
modelului OSI.
 Dacă comparăm modelul OSI cu modelul TCP/IP, observăm atât asemănări cât şi
deosebiri. Asemănările sunt:ambele sunt împărţite pe niveluri; ambele au nivelul
aplicaţie; ambele conţin nivelele transport şi reţea care sunt asemănătoare; ambele
folosesc comutarea de pachete (şi nu comutarea de circuite) ca tehnologie de
transmitere a datelor; la gazda sursă apare fenomenul de încapsulare, iar la gazda
de decapsulare.
 Diferenţele sunt: TCP/IP include serviciile oferite de nivelurile prezentare şi
sesiune ale modelului OSI, în nivelul său aplicaţie; TCP/IP combină nivelurile
OSI legătură de date şi fizic într-un singur nivel; TCP/IP apare mai simplu
deoarece are numai patreu niveluri; TCP/IP este o stivă de protocoale utilizată de
toate calculatoarele conectate la Internet, pe când modelul OSI este un ghid de
lucru orientativ.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 39
Reţele de calculatoare
Curs
Universitatea “Transilvania” din Brasov

Lect.dr. Costel ALDEA


Internet

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Definiţie
O reţea de calculatoare este
o colecţie de calculatoare
interconectate între ele.
1969 – se creează ARPANET - reţea de
4 calculatoare în cadrul ARPA
(Advanced Research Projects Agency).
1972 – Robert Kahn demonstrează în
public tehnologiile de reţea; Ray
Tomlinson scrie primul program de
poştă electronică (email) + stabileşte că
simbolul @ să fie separator între numele
căsuţei postale şi adresa gazdei.
1973 – DARPA – reţele interconectate;
1974 – Vincent Cerf & Robert Hahn
propun protocolul de comunicare TCP
(Transmission Control Protocol).
1978 – suita de protocoale TCP/IP este
standardizată via documentele RFC
(Request For Comments).
1986 – NFSNET – coloana vertebrală a
Internetului.
Servicii: email, transfer de fişiere
(FTP), Gopher, grupuri de ştiri, IRC
(1988), World Wide Web (1990).
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Scop

 Utilizarea eficientă a imprimantelor şi a altor


periferice
 Partajarea resurselor (fizice, logice, date)
 Standardizarea aplicaţiilor
 Schimbul rapid de informaţii
 Divertisment interactiv

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Termeni
 Legatura reprezinta o conexiune realizata intre membrii retelei
 Nod este un calculator al unei retele, avind asociata o adresa
 Resurse pot fi programe, echipamente, date
 Comunicatia este modul de a schimba informatii intre calculatoarele
unei retele (via canale)
 Protocol este un set de reguli prin care se realizeaza comunicatia
 Difuzare este trimiterea de informatii la mai multe
 calculatoare (multicast) sau la toate (broadcast)
 Pachet reprezinta o modalitate de stocare a datelor
 Topologia unei reţele reprezintă structura ei.
 Lăţimea de bandă reprezintă cantitatea de informaţie care este
transferată în reţea în unitatea de timp.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Topologii

Stea Inel Mesh

Magistrală

Linie

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Topologii
 Stea: toate nodurile sunt conectate direct la un nod central.
Topologia stea simplifică selecţia rutelor şi are fiabilitate
ridicată în cazul în care nodul central este suficient de fiabil.
 Inel: toate nodurile sunt interconectate în forma de inel.
Fiabilitate scăzută şi efort ridicat în caz de reconfigurare.
 Mesh: toate nodurile sunt inerconectate între ele. Nu sunt
necesare intermedieri dar sunt n(n-1)/2 legături necesare
 Magistrală: toate nodurile sunt conectate la un mediu comun.
Fiabilitate bună cât timp magistrala este funcţională.
 Linie: Nodurile interconectate direct două câte două sub
formă de linie. Caz interesant: 2 noduri.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Backbone

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Mediu de transmisie
Cablu coaxial (Ethernet 10Base2) 10 Mbps
Cablu UTP (Ethernet 10BASE-T) 10 Mbps
Cablu UTP (Fast Ethernet – 100BASE-TX) 100 Mbps
Cablu UTP 10GBASE-T Ethernet 1000Mbps
Fibră optică (Multimode, 100BASE-FX) 100 Mbps
Fibră optică (Singlemode, 1000BASE-LX) 1000Mbps
Fără fir (wireless) 100 Mbps
Rata efectivă de transfer este de obicei mai mică decât lăţimea de bandă.
Fenomene: propagarea, atenuarea, reflectarea semnalului, zgomotul, dispersia,
latenta, coliziunea.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Codarea datelor digitale
 Return-to-Zero (RZ)
 Non-Return-to-Zero (NRZ)
 Codare diferenţiată
 Manchester
 Alternate Mark Inversion (AMI)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Return-to-Zero (RZ)
 0 pentru o valoare mică a semnalului
 1 pentru o valoare mare a semnalului
 Se marcheză cu 1 trecerea de la valori ridicate
la valori mici ale semnalului

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Non-Return-to-Zero (NRZ)
 0 pentru valori mici
 1 pentru valori ridicate
 Valoare etalon pentru 1

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Codare diferenţiată
 NRZ-I orice schimbare de semnal este 1
 NRZ-S orice schimbare de semnal este 0

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Codare Manchester
 1 salt de la valoare etalon mare la valoare
etalon mică
 0 salt de la valoare etalon mică la valoare
etalon mare
 Se foloseşte în reţele locale

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Alternate Mark Inversion (AMI)
 1 pentru impuls pozitiv sau negativ
 0 pentru valoare etalon de nul
 Codare folosită la ISDN

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Reţele de calculatoare
Curs
Universitatea “Transilvania” din Brasov

Lect.dr. Costel ALDEA


Recunoaşterea şi corectarea erorilor
 La trasmiterea datelor se pot produce erori
 Sunt urmărite erorile care se produc şi care
duc la perturbarea semnalului
 Coduri:
 Pentru detectarea erorilor
 Pentru corectarea erorilor

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Coduri de detectare a erorilor

 Biţi de paritate
 La orice şir de bişi este adăugat un bit care face ca şirul
trasmis să aibă întotdeauna un număr par (impar) de biţi
 Cyclic Redundancy Check – verificare ciclică
 Se calculează o suma de control pe blocuri de date. Se
adaugă la sfârşitul unei secvenţe biţi redundanţi. Între
destinatar şi expeditor se stabileşte modul de control.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Algoritm CRC
 Şirul de biţi este reprezentat ca polinom pe corpul {0,1}
 Reguli de calcul:
0 + 0 = 1 + 1 = 0, 1 + 0 = 0 + 1 = 1 şi
1 · 1 = 1, 0 · 0 = 0 · 1 = 1 · 0 = 0
 Între expeditor şi destinatar se stabileşte un polinom generator G(x) cu
grad(G) = r
 Se transmite:

 Cu

 Destinatarul verifică dacă şirul de biţi recepţionat se împarte exact la


polinomul generator G(x)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Algoritm CRC
- În funcţie de alegrea polinomului generator
metoda necesită performanţă de calcul
- Există cazuri în care împărţirea se face exact
dar sunt erori de transmitere a datelor
- O implementare eficientă este aceea în care
se folosesc regiştrii

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Exemplu CRC

Se transmite

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
La destinatar CRC

0 arată că nu s-a detectat nici o eroare

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
CRC des utilizate
 HEC ATM (Header Error Control / Asynchronous
Transfer Mode)

 Polinomul CRC 16

 CRC-CCITT (HDLC - High-Level Data Link


Control)

 CRC-32 (Ethernet)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Suma de control Internet
 În Internet se foloseşte o
alta sumă de control RFC
1071 , RFC 1141 , RFC
1624
 Are o implementare soft
eficientă
 Se calculează pe un buffer
ce are număr par de bytes
(altfel se completează cu
0x00)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Caracteristici ale sumei de control
 Suma este comunativă şi asociativă astfel că poate fi
evaluată în orice combinaţie şi în orice ordine
 Calcularea sumei nu este dependentă de ordinea byte
 Pe maşini cu dimensiunea cuvânt mai mare de 16
poate fi calculată în paralel
 Poate fi integrată într-o operaţie de copiere a datelor
 Câmpurile de date pot fi actualizate individual fără a
fi necesară recalcularea sumei pentru toate câmpurile
 Este implementată în limbaj maşina şi chiar hard

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Coduri de corectare a erorilor
 Pentru a se realiza corectarea erorilor sunt necesare informaţii
redundante
 Distanţa hamming dintre două cuvinte ale codului C este
definită ca numărul poziţiilor prin care cele două cuvinte
diferă între ele

 Distanţa codului C este prin definiţie ceea mai mică distanţă


dintre două cuvinte oarecare

 Pentru recunoaşterea şi corectarea unui bit eronat dintr-un


cuvât de dimensiune b biţi sunt necesari r biţi redundanţi care
respectă ecuaţia

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Hamming
 Cei r biţi redundanţi se pun pe poziţia 2i , i=0, , r − 1
(rezultă poziţiile 1,2,4,8,16,…)
 Pentru determinarea biţilor se reprezintă poziţiile sub
formă de matrice pe linii şi se citeşte matricea pe
coloane şi astfel se obţine numărul poziţiei pentru
care este determinat bitul
 Destinatarul recalculează biţii redundaţi şi-i compară
cu cei recepţionaţi
 Prin sau exclusiv se obţine poziţia cu eroare

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Hamming exemplu m=4
Fie

pe pozitia

pe pozitia

pe pozitia

pe pozitia

Pentru şirul de date


Se obţin biţii redundanţi rezultă cuvântul codat
Presupunem că se recepţionează cuvântul

R R’
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Hamming exemplu m=8
 Dacă dim(m)=8
Mesajul extins este:
c1 c2 d1 c3 d2 d3 d4 c4 d5 d6 d7 d8
Pozitiile convertite in baza 2:
d1 – 3 0011
d2 – 5 0101
d3 – 6 0110
d4 – 7 0111
d5 – 9 1001
d6 – 10 1010
d7 – 11 1011
d8 – 12 1100
Atunci:
c1 = d1 xor d2 xor d4 xor d5 xor d7

Pentru un cuvânt dat m=10001000 (8biţi)


c1 = 1 xor 0 xor 0 xor 1 xor 0 = 0

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Acces la mediu şi partajare mediu
comunicare
 Mediile fizice de comunicare sunt utilizate de mai
multe sisteme
Partajare mediu

Multiplexare timp Multiplexare frecventa

prestabilit in functie de necesitati

necentralizat centralizat

concurenta ordonare

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Multiplexare frecvenţă
 Benzile de frecvenţă nu trebuie să fie egale
 Între benzi sunt alte benzi de protecţie
 Fiecare canal deţine o bandă exactă
 Dacă un expeditor transmite pe mai multe
frecvenţe, la destinatar demodularea se face
pe fiecare frecvenţă în parte şi se reface
mesajul

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Frecvenţa
Frecventa

Canal 1

Canal 2

Canal 3

Canal 4

Canal 5

Timp

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Multiplexare timp
 Sloturile de timp nu trebuie să fie de aceeaşi
dimensiune
 Între sloturile de timp există timpi de protecţie
 Dacă împărţirea este clară se poate determina
clar latenţa canalului respectiv
 O variantă îmbunătăţită este STDM
(statistical time division multiplexing)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Canal 1 Timp
Frecvenţa

http://cs.unitbv.ro/~costel
Canal 2

Canal 3

Canal 4

Canal 5

Canal 1

Canal 2

Canal 3
Canal 4

Canal 5

Canal 1

Canal 2

Canal 3
Timp

costel.aldea@unitbv.ro
19

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