Sunteți pe pagina 1din 52

1. Apariia i importana reelelor de calculatoare.

Avantajele
utilizrii lor (strategice, tactice).
O retea de calculatoare reprezinta un ansamblu de
calculatoare interconectate prin intermediul unor medii
de comunicatie, asigurindu-se in acest fel utilizarea in
comun de catre un numar mare de utilizatori a tuturor
resurselor fizice(hardware), logice(software si aplicatii de
baza) si informatice(baze de date) de care dispune
ansamblul de calculatoare conectate.
Anii 60 i se numea ARPANET.
Avantaje strategice de utilizare:
Facilitarea comunicatiilor in cadrul unei corporatii:
acces la informatie la distanta, schimb de informatii;
Imbunatatirea dinamicii grupului de lucru:
groupware;
Reducerea bugetelor de prelucrare a datelor
Imbunatatirea competitivitatii;
Avantaje tactice de utilizare:
Reducerea costurilor per utilizator: partajare resurse,
mbuntirea timpului de rspuns;
mbuntirea redundanei de calcul;
mbuntirea administrrii software-ului;
mbuntirea integritii datelor.

2. Cerine principiale fa de reelele de calculatoare i


problemele legate de proiectarea lor.
Unele probleme legate de proiectarea RC sunt:
Se adaug cheltuieli la procurarea echipamentelor,
produselor program de reea, instruire personal etc.
Este necesar un specialist n administrarea reelei
(control, securitate, modernizare etc.)
Limiteaz mobilitatea calculatorului la punctul de
conexiuni la reea
Reeaua este un mediu efectiv de propagare a
viruilor, astfel este necesar o atenie deosebit
mijloacelor de securitate;
Sunt necesare mecanisme i procedee informaionale
i tehnice cu scopul prevenirii furtului i distrugerii
informaiei;
Cerinele principale fa de reelele de calculatoare sunt:
Funcionalitatea
Eficien(timp de rspuns, viteza de transmisie,
capacitate de trecere, latena)
Fiabilitate i siguran(intensitatea refuzului de
funcionare, grad de pregtire, probabilitatea livrrii,
tolerana la erori, integritate i coeren)
Extensibilitate i scalabilitate
Transparen
Adaptabilitate i compatibilitate
Posibiliti de management(monitorizare, control al
traficului)

3.Standardizarea reelelor. Noiunea de sisteme deschise.


Organizaii de standardizare. Standarde Internet.
Sistem deschis- orice sistem construit conform unor
specificaii deschise.
Specificaii deschise- specificaie publicat i liber
accesibil,unanim aplicat fiind rezultatul unui consens.
Cunoatem urmtoarele organizaii de standardizare:
ISO- International Standards Organization
ITU- International Telecommunication Union
IEEE- Institute of Electrical and Electronics Engineers
EIA- Electronic Industries Association
ECMA- European Computer Manufacturers Association
Standarde Internet:
ISOC(Internet Society)-soluionarea problemelor legate de
evoluia i dezvoltarea reelei Internet.
IAB(Internet Arhitecture Board)- organizaie responsabil
de controlul ethnic.
IETF(Internet Engineering Task Force)- Soluionarea
problemelor tehnice actuale
IRTF(Internet Research Task Force)- coordoneaz proiecte
de cercetare de lung durat.
Ciclul de via al unui standard:
Standard de firm
Standard special ale unor comitete i uniuni
Standard naionale i internaionale

i.
ii.
iii.
iv.

4. Dezvoltarea distribuit a aplicaiilor utiliznd sistemul de


versionare Git;
a. Sisteme de versionare: locale, centralizate,
distribuite
b. Principii generale de versionare distribuit Git
c. Comenzile utilitarului Git referitoare la:
Creare/instaniere repozitoriu local;
Actualizarea repozitoriului local;
Repozitorii distante;
Ramificari
4.a Sisteme de versionare locale- metoda mai multor
persoane de control al versiunii este de a copia fisierele in
alt directoriu. Aceasta este foarte obisnuit , deoarece este
usor de usor de folosit, dar in acelas timp provoaca foarte
multe erori. Este foarte usor de uitat directoriul si sa copii
in altul. Pentru a face fata acestei probleme,
programatorii au dezvoltat SCV locale, care au avut o
baza de date simpla care pastreaza modificarile tuturor
fisierelor. Un astfel de instrument foarte popular este
numit RCS. RCS functioneaza prin mentinerea seturilor de
patch-uri (adica diferentele dintre imagini) intr-un format
special de pe disc; se poate apoi recrea orice fiier n
orice moment prin nsumarea tuturor patch-urilor.
Sisteme de versionare centralizate o alta problema
a SCV este aceea c dezvoltatorii trebuie s colaboreze
ntre ei. Sistemele CVS, Subversion i Perforce, au un
singur server ce conine toate fiierele versionate, i un
numr de clieni care verific fiiere din acel loc central.
Timp de muli ani , aceasta a fost standard pentru
controlul versiunilor. Aceasta ofer multe avantaje, de
4

exemplu, toat lumea tie ntr-o anumit msur acea


informaie la care are acces. Acest tip de sistem este mai
uor de administrat dect cele cu baze de date locale
pentru fiecare client. Cu toate acestea, aceast
configurare are, de asemenea, unele dezavantaje
serioase. Cele mai evidente este punctul unic de eec
care este reprezentat de serverul centralizat. Dac
serverul cade timp de o or, atunci n acea or nimeni nu
poate colabora sau salva modificri la tot ceea ce a
lucrat. n cazul n care hard disk-ul n baza de date
central devine corupt i nu au fost fcute backup-uri, se
pierde absolut totul, ntreaga istorie a proiectului. Cu
aceeai problem se confrunt i sisteme de versionare
locale.
Sistemele de versionare distribuite- ex. Git,
Mercurial, Bazaar, Darcs. Clienii nu doar verific ultimele
snapshot-uri, dar au depozitul complet. Astfel, dac orice
server cade, iar aceste sisteme colaboreaz prin acestea,
oricare dintre depozitele clineilor pot fi copiate napoi pe
server pentru a fi restabilite. Fiecare clon este de fapt o
copie de siguran complet a tuturor datelor. n plus,
aceste sisteme se descurc destul de bine cu repositoriile
de la distan, astfel se permite comunicarea cu diferite
persoane n cadrul proiectului.
4.b Git reprezinta un sistem de gestionare a versiunii.
Acesta ne permite sa pastram fiecare versiune a
proiectului ca imagini. Acesta ne permite sa revenim la o
versiune a proiectului la care noi dorim, putem compara
modificarile, putem vedea cine ultimul a modificat ceva in
5

proiect care ar fi putut fi cauza oarecarei probleme.


Utilizind sistemul de gestionare a versiunii , in caz de
pierdere a informatiilor, usor le putem recupera.
Diferena dintre Git i alte SVC este acela c cele mai
multe din sisteme pstreaz informaiile ca o list a
schimbrilor bazate pe fiiere, pe cnd Git le pstreaz ca
un set de fiiere i modificrile aduse de fiecare fiier n
timp. Cele mai multe operaii n Git au nevoie doar de
fiierele locale i resursele pentru a opera, n general nu
este nevoie de nici o alt informaie de pe un alt
calculator din reea.
n general Git lucreaz n felul urmtor:
Tu modifici fiierele n directoriul tu de lucru
Tu organizezi fiierele, adugnd snapshot-uri pentru
zona de ateptare
Faci commit, aici se i-a dosarele care se afl n zona
de transfer
4.c Git init iniializare
Git add crearea librriilor proprii
Git commit anun modificare
Git status - verific statut
Git branch crearea unei noi ramuri
5. Aplicaii i servicii Internet
a. Spaiul WWW:
i. Metodele protocolului HTTP,
6

ii. Formatul mesajelor HTTP,


iii. Antetele mesajelor,
iv. Clase i componente destinate interaciunii prin
HTTP (.Net)/(Java);
b. Pot electronic,
i. Protocolul SMTP
ii. Protocolul POP3
iii. Clase i componente destinate
transmisiunilor(SMTP .Net sau Java)/citirii (POP3
java) mesajelor electronice;
5.a WWW (protocolul HTTP)
Hypertext Transfer Protocol (HTTP) este metoda cea mai des
utilizat pentru accesarea informaiilor n Internet care sunt
pstrate pe servere World Wide Web (WWW). Protocolul HTTP
este un protocol de tip text, fiind protocolul "implicit" al WWW.
Metodele:
Get, Post, Put, Delete, Head, Trace
Get implic extragerea oricrei informaii.
HEAD este identic cu Get, doar c serverul nu trebuie
s trimit corpul mesajului. Informaia transmis la
aceast metod, trebuie s fie identic cu rspunsul
obinut de la o cerere Get. Aceast metod poate fi
7

utilizat pentru a obine informaii despre meta-obiect


specificat n cerere, fr transferul corpului obiectului.
Aceast metod este des utilizat pentru link-uri de
testare a hipertextului de valabilitate, accesibilitate i
relevan.
POST este utilizat atunci cnd serverul de aplicaii
accept obiectul inclus n cerere ca noua resurs
secundar identificate de Cerere-URI n cererea LINE.
POST este conceput pentru a oferi un sistem uniform cu
urmtoarele funcii:
6. Abstractizarea resurselor existente
7. Postarea de mesaje pe un avizier, newsgroup, lista
de discutii, sau un alt grup de articole;
8. Eliberarea unei uniti de date cum ar fi un proces de
transmitere a formelor sale de prelucrare;
9. Extinderea bazei de date cu ajutorul operaiei add
(adugare).
PUT prevede c obiectul ncorporat a fost stocat folosind
Cerere-URI. Dac Request-URI se refer la o resurs deja
existent, entitatea trebuie considerat ca o versiune
modificat a unui obiect pe serverul surs. Dac cerereaURI nu indic o resurs existent, utilizatorul care solicit
poate determina acest URI ca o nou resurs, serverul
surs poate crea resursa cu acest URI.
DELETE impune ca serverul surs s distrug resursa
identificat prin cerere-URI.

TRACE permite clientului s vad ce este primit la


cellalt capt al lanului de interogare i s foloseasc
aceste date pentru testare sau diagnosticare.
Mesajele HTTP includ cerintele clientului ctre server i serverul
rspunsurile la client.
Mesajele de solicitare i rspuns folosesc un format de
mesaj comun RFC 822. Ambele tipuri de mesaje constau
dintr-o linie de start, unul sau mai multe cmpuri antet, o
linie goal, sfritul cmpurilor antet i un corp al
mesajului, care este opional.
generic-message = start-line
*message-header
CRLF
[ message-body ]
start-line = Request-Line | Status-Line
Antetul include domeniul comun antet, antetul cerere,
antetul rspuns precum i entitatea antetului. Fiecare
cmp de antet const dintr-un nume, urmat de (:) i un
cmp cu valoare.
Message
-header
fieldname
fieldvalue

= field-name ":" [ fieldvalue ] CRLF


= token
= *( field-content | LWS )

5.b Pot electronic (protocoalele SMTP i POP3)


9

Simple Mail Transfer Protocol (prescurtat, SMTP; n traducere


aproximativ Protocolul simplu de transfer al corespondenei)
este un protocol simplu, folosit pentru transmiterea mesajelor n
format electronic pe Internet. SMTP folosete portul de
aplicaie 25 TCP i determin adresa unui server SMTP pe baza
nregistrrii MX (Mail eXchange, schimb de corespoden) din
configuraia serverului DNS.
POP3 sau Protocolul Post Office Versiunea 3 este, alturi
de IMAP, unul din protocoalele utilizate de un calculator gazd
pentru recepionarea potei electronice (e-mail).
Iniial, serverul pornete serviciul POP3 ascultnd TCP portul 110.
Cnd clientul dorete s utilizeze serviciul, este stabilit o
conexiune TCP cu serverul. Cnd conexiunea s-a realizat,
serverul POP3 trimite un salut. Clientul i serverul POP3 schimb
comenzi i rspunsuri pn cnd conexiunea este nchis sau
abandonat. Comenzile n POP3 sunt formate din caractere
(modul insenzitiv), posibil s fie urmate de unul sau mai multe
argumente. Toate comenzile sunt termintate prin perechea CRLF
(\r\n).

6. Eficientizarea procesrii n reea: concurena


a. Implementarea i planificarea firelor de execuie
b. Modele pentru multithreading

10

c. Efecte laterale negative ale utilizrii concurenei:


deadlock, race condition, starvation, etc
6.a Implementarea firelor de execuie difer de la un sistem de operare
la altul, dar n majoritatea cazurilor firul este inclus n proces. n
sistemele cu un singur procesor multithreading-ul este atins prin tehnici
de multiplexare n timpa procesorului, time-slicing-ul n acest caz
efectundu-se suficient de rapid pentru a crea impresia execuiei
simultane. Un alt caz se prezint n sistemele multiprocesor, n care
execuia simultan are loc efectiv. Majoritatea sistemelor de operare
moderne suport ambele posibiliti, dar la care se poate aduga i
tehnicile bazate pe operaii asincrone de intrare/ieire.
Planificarea (schedule eng.) firelor de execuie n sistemele de operare
poate avea loc n special n dou modaliti: cooperativ i preemtiv.
Planificarea cooperativ presupune c firele de execuie s renun e la
control odat ce acestea sunt la un anumit punct de oprire. Planificarea
preemtiv este definit de o alt strategie, n care sistemul de operare
utilizeaz anumite criterii pentru a decide cum s aloce timpul sarcinilor.
6.b Unitatea grea de planificare la nivelul nucleului sistemului de
operare este procesul, cruia se aloc resursele. Anume n cadrul
proceselor se manifest firele de execuie, care i partajeaz resursele
disponibile. n cazul cnd firele de execuie sunt gestionate de sistemul
de operare, acestea sunt considerate ca fire de execu ie ale nivelului
nucleu . Prioritile acestor fire de execuie se transpun de la priorit ile
proceselor din cadrul sistemului. Relaia dintre firele de nivelul
nucleului i spaiului utilizatorului este determinat de urmtoarele
modele:
1:1 (kernel-level threading eng.), n care firele create de utilizator
corespund firelor planificate de nucleu (implementat n Windows
API, Native POSIX Thread Library, etc.);

11

N:1 (user-level threading eng.), n care firele create de aplica ii se


execut planificat n spaiul utilizatorului pe un singur fir de nivelul
nucleului (implementat n GNU Portable Threads);
N:M (hybrid threading eng.), un compromis dintre precedentele
dou modele n care librriile sunt responsabile pentru planificarea
execuiei multiplelor fire de nivel utilizator pe firele disponibile de
nivel nucleu (implementat n Windows 7, Tera/Cray MTA, etc.);
7. Programare multi-threading utiliznd .Net / Java
a. Strile unui fir de execuie. Lansarea, suspendarea
i oprirea unui fir de execuie.
b. Primitive i tehnici de programare multi-threading
utiliznd .Net Framework/Java
i. Clase pentru realizarea cooperrii
a. Starile unui fir de executie:
Principalele stri ale unui fir de execuie
sunt: Activ, Pregtit i Blocat. Comparativ cu acestea,
procesele au i starea specific Repaus (Sleep). Daca un
proces este eliminat din memoria RAM, toate firele de execuie
ale acestuia vor fi oprite, deoarece se aflau n aceli spaiu de
memorie ca i procesul respectiv.

Crearea: Atunci cnd un proces este pornit, se creeaz un


thread pentru acel proces. Apoi, acel thread poate crea i
gestiona mai multe threaduri, fiecare avnd pointeri ctre
instruciunile specifice lui.

12

Blocarea: Atunci cnd un thread trebuie s atepte altul,


acesta este blocat - fiind salvat n stiv pointerul la acesta.
Funcia de blocare se poate apela att din interiorul ct i din
exteriorul threadului.

Deblocarea: Un thread blocat poate fi deblocat n urma unei


comenzi externe.
b. Thread- clasa care permite crearea firelor de executie
ThreadPool

AutoResetEvent- permite thread-ului sa se deblocheze o data cind acesta


primeste signal de la altul.
ManualResetEvent- permite thread-ului sa se deblocheze pe termen
nelimitat cind acesta primeste un signal de la altul.
ManualResetEventSlimCountDownEvent- permite thread-ului sa se deblocheze cind acesta
primeste un numar predefinit de semnale.
Barrier- implemeneaza thread-ului sa execute in forma bariera.
Semaphore
lock - monitor

8.Interaciunea proceselor concurente: Excluderea


reciproc
Enunul problemei excluderii reciproce.
13

ncercrile Dijkstra pentru soluionarea problemei de


excludere reciproc.
8.a Formularea problemei:
In zona critica se poat afla in acela moment de timp un
singur fir de execuie.
Pentru rezolvarea problemei trebuie ndeplinite
urmtoarele condiii:
- Thread-urile nu trebuie s se blocheze unul pe altul
- Procesele nu se invit la infinit(nu sunt prea altruiste)
- Dac un proces intirzie n seciunea sa critic acestea
nu trebuie s mpiedice alt process s ntre n
seciunea sa critic dac dorelte acest lucru.
8.c ncercrile lui DIjkstra
- 1- nu se ndeplinete ultima condiie.
- 2- Nu se asigur ecluderea mutual
- 3- nu se asigur prima condiie. Sunt egoiste
- 4- sunt prea altruiste
Soluia lui Dijkstra a fost introducerea noiunii de semafor.

9. Interaciunea proceselor concurente: Semafoarele


a. Tehnici eseniale de sincronizare utiliznd
semafoarele: Signaling, Rendez-vous, Mutex,
Multiplex, Barrier.
b. Modele de procesare cereri n reea: problemele
clasice de concuren:
i. Jocul vieii

14

ii. Filosofii chinezi


iii. Productor-consumtor
iv. Cititori-scriitori
9.a Semafor: numar natural asupra caruia pot fi
efectuate 2 operatii: p si v.
Signaling- este procesul utilizat n cazul cnd dorim ca un
fir de execuie s atepte semnal de la altul.
Rendez-vous- este procedeul utilizat n cazul cnd dorim
s ne asigurm c la un moment dat de execuie un fir s
atepte alt fir, i viceversa.
CountdownEvent a = new CountdownEvent(1);
CountdownEvent b = new CountdownEvent(1);
Thread A:
statement a1;
b.signal();
a.wait();
statement a2;
Thread B:
statement b1;
a.signal();
b.wait();
statement b2;
Mutex- este procedeul utilizat n cazul cnd dorim s
asigurm excluderea reciproc. n zona critic se poate
afla un singur thread.
Semaphore s = new Semaphore(1,1);
Thread p1(){
s.wait()
15

cs1
s.signal()
}

}
Thread p3(){
s.wait()
cs2
s.signal()
}

Thread p2(){
s.wait()
cs2
s.signal()

16

Multiplex- este procedeul utilizat n cazul cnd avem m


fire de execuie i dorim s permitem accesul n seciuni
critice la un numr mai mic sau egal de n fire, i n<m.
Semaphore s = new Semaphore(2,2);
Bariera- caz general al Rendez-vous. Atunci cind avem n
thread-uri, care vor atepta ca toate s fie ntr-un
moment de execuie.
Barrier bar = new Barrier(4);
Main(){
New Thread(Lounch).Start(1);
New Thread(Lounch).Start(2);
New Thread(Lounch).Start(3);
New Thread(Lounch).Start(4);
Void Lounch(object i){
Statement 1;
Bar.SignalAndWait();
Statement 2;} }
7.b Jocul vieii:
Un tabel dreptunghiular a cu m linii i n coloane conine
celule care pot fi vii sau moarte. Fiind dat o configuraie
a tabelului, se cere s se calculeze configuraia
generaiei urmtoare, tiind c celulele moarte
pstreaz starea, iar o celul vie moare dac i numai
dac numrul celulelor vecine vii este mai mic dect 2 sau
mai mare dect 4. O celul are cel mult 8 vecini: pe
orizontal, pe vertical i pe diagonal.

Productor-consumator
Productorul produce articole care sunt aezate pe o
band. Consumatorul ia de pe band articole i le
consum.
- Productorul poate produce un articol la orice
moment de timp
- Consumatorul poate prelua un articol doar dac
banda este valid
- Ordinea n care produsele sunt preluate de pe band
de ctre consumator coincide cu ordinea n care sunt
aezate pe band de ctre productor.

Filosofii chinezi
La o mas rotund stau 5 filosofi chinezi. Principala lor
activitate este cea de a gndi, dar evident din cnd n cnd
trebuie s mnnce, folosind pentru aceasta cte dou
beioare. tiind c ntre oricare 2 filosofi se afl cte un
beisor i c un filosof poate mnca doar dac a ridicat de
pe mas att beiorul din stnga sa, ct i beiorul din
dreapta sa, se cere s se stimuleze activitile filosofilor
aezai la mas.
- Doar un filosof poate lua beiorul ntr-un moment de
timp
- Nici un filosof nu trebuie s flmnzeasc ateptnd
beioarele
- S fie posibil ca numrul filosofilor ce mnnc la un
moment de timp s fie mai mare dect 1.

Se consider o carte la care au acces mai muli


cititori i mai muli scriitori. Este permis ca mai muli
cititori s aib acces simultan la coninutul crii, dar
dac un scriitor opereaz asupra crii(completeaz,
terge, modific) atunci nici un alt scriitor i nici un alt
cititor nu au acces la carte.
- Un cititor poate ncepe operaia de citire dac i
numai dac nici un scriitor nu este n curs de a scrie
n carte
- Un scriitor poate ncepe operaia de scriere dac si
numai dac nici un cititor i nici un alt scriitor nu au
acces la carte.

10.

Noiunea de protocol. Caracteristicile protocoalelor.

Protocol- set de reguli i formate ce guverneaz schimbul de date ntre 2


entiti.
Elementele cehie ale specificarii:
- Serviciul
- Ipoteze despre mediul de executie
- Vocabularul mesajelor
- Formatul mesajelor
- Reguri procedurale de interschimb mesaje
Caracteristici:
-

Direct sau indirect


Monolitic sau structurat
Simetric sau asimetric
Standard sau nestandard

11.
Ierarhii de protocoale. Noiunea de arhitectur de
reea. Interfee i servicii.
SAP - Service Acces Point
IDU - Interface Data Unit (SDU + ICI)

SDU - Service Data Unit (transmitere verticala)


PDU - Protocol Data Unit (transmitere orizontala)
ICI - Interface Control Information

12.
Modele de servicii: servicii orientate pe conexiune
i fr conexiune.
Servicii orientate pe conexiuni(garanteaza ordinea transferului de
mesaje)
Flux de mesaje sigur
Flux de octei sigur
Conexiune nesigur
Serviciii fara conexiuni(nu garanteaza ordinea)Datagram nesigur
Datagram confirmat
Cerere-rspuns

13.

Funciile protocoalelor
a. de segmentare, de reasamblare,
b. de ncapsulare,
c. de control conexiune, de control flux;
d. de tratare erori,
i. Detecia erorilor - calculul polinomial
ii. Corecia erorilor - metoda Hamming
e. de sincronizare (ordonare livrare)

f. de adresare, de multiplexare.
13.a Segmentare i reasamblare. Sunt funciile de transport al
protocoalelor. Motivele tipice pentru segmentare:
reeaua poate accepta blocuri de date de o anumit
dimensiune
tratarea erorilor poate fi mai eficient
acces mai echitabil la mediul de transmisie
uniti de transmisie de dimensiuni mici, buffer-e mici la
receptori
Functia de tratare a erorilor presupune fie detectarea erorilor cu
un CRC sau fie corectia lor folosind un algorimt spre exemplu
Hamming.
13.b Functia de incapsulare presupune adaugarea unei
informatii(antet) la unitatea de date ca la acelasi nivel al stivei
tcp/ip de la receptor protocolul sa inteleaga ce trebuie sa faca cu
datele.
Functia de sincronizare presupune ca fiecarui pdu i se adauga o
informatie privind numarul sau de ordine atunci cind se cere ca
datele sa fie livrate intro ordine anumita.
13.b Controlul fluxului funcia de gestiune. Evitarea inundrii a
entitii receptoare cu pachete
se limiteaz volumul
se minimizeaz viteza
Functia de adresare presupune identificarea destinatarului prin
specificarea unui cimp in PDU, iar functia de multiplexare permite
utilizarea aceleasi conexiuni pentru mai multe servicii
concomitent, prin specificarea nume port sau nume conexiune.
14.

Modele arhitecturale de referin:

a. Modelul de referin ISO/OSI


b. Modelul de referin TCP/IP;
14.aModelul Open Systems Interconnection (OSI):
Fizic
Legatura
de date
Retea
Transport
Sesiune
Prezentar
e
Aplicatie
Echipament de rutare:
Fizic
Legatura
de date
Retea
Nivelul fizic
Nivelul fizic defineste modul de transmitere a bitilor
printr-un canal de comnucatie.
Acest nivel determina:
reprezentarea unitatilor si zreourilor logice
tipul transmisiei - bidirectionala sau unidirectionala
modalitatea de stabilire a conexiunii initiale
modalitatea de intrerupere a conexiunii
citi pini are conectorul de retea si la ce foloseste
fiecare pin, etc
Nivelul legatura de date
- descompunerea datelor de intrare in cadre de date

- marcarea si recunoasterea delimitatorilor intre cadre


- transmiterea secvetiala a cadrelor
- rezolvarea problemelor detoarate cadrelor
deteriorare, pierdute sau dublicate
o prelucrarea cadrelor de confirmare trimise inapoi
de receptor
o evitarea inundarii unui receptor lent cu date
provenite de la un emitator rapid
o rezolvarea problemelor de concurenta dintre
cadre in cazul transmisiei bidirectionale
HDLC - High levele data lin channel
- PPP(TCP/IP) - point to point protocol
- LAPB(X.25) - link acces procedure balanced
- LAPD(ISDN) - link acces procedure d-channle (ISDN integrate service digital network)
- LLC(LAN) - logical link control,
- LAPM Relay - link access procedure for Modems
(V.42),
- SDLC - Synchronous data link control (SNA - Systems
Network Architecture)
LLC -logical link control
MAC - medium access control
Nivelul retea
Printre problemele esentiale ce sunt solutionate la aces
nivel se pot mentiona:
- modul de dirijare a pachetelor de la sursa la
destinatie
- controlul congestiei
- diferenta dintre mecanismele de adresare ale
diferitor retele
Nivel transport
- defineste caracteristicile transportului intre noduri tipuri de servicii

- stabileste, mentine si termina circuitele virtuale mecanisme de multiplexare


- detecteaza si remediaza erorile care au aparut in
procesul de transport
Controleaza fluxul de date
- gazde lente-rapide:
sliding window
Nivelul sesiune
- Nivelul de sesiune permite utilizatorilor de pe masini
diferite sa stabileasca intre ei sesiuni
- Furnizeaza servicii imbunatatite de transport
o controlul dialogului
o sincronizarea
Nivel de prezentare
Nivelul prezentare are ca scop traducerea informaiilor n
formate pe care mainile care comunic le pot nelege.
Poate fi asociat principal cu sintagma: formatul
informaiei.
Nivel aplicaie
Protocoale prin intermediul crora utilizatorul acceseaz
serviciile de reea.
14.b

Modelul de referin TCP/IP.

Modelul TCP/IP
Cel mai utilizat model de referinta, creat in baza unei
tehnologii existente ARPANET (DoD)
Stiva de protocoale al acestui model poate fi utilizat, att
pentru interconectarea reelelor eterogene(INTERNET), ct
i pentru construirea reelelor locale
Aplicaie
Prezentare
Sesiune

Aplicaie

Transport
Reea
Legturi de date
Fizic
OSI

Transport
Internet
Gazd la reea
TCP/IP

Protocoale importante din TCP/IP


Aplicaie
Aplicaie (FTP, HTTP, POP3m
Prezentare
SMTP, TFTP)
Sesiune

Transport

Reea

Legturi de date
Fizic

OSI

LDAP(Lightweight DIrectory
Acces Protocol), DNS
Transport TCP(transmision
control) UDP(User
datagram)
Internet ICMP(Internet
Control Message Protocolo)
IP(Internet protocol)
Gazd la reea(ARP Addres
Resolution Protcolo), RARP
(Reverse ARP)
TCP/IP
Adresarea IP

Adresare MAC
Greu de localizat hostul dintr-o alt reea;
Adresarea IP
Permite de gsit destinaia prin metode eficiente;
Permite de realizat uor segmentarea, necesar n
cazul creterii reelei;

Corespunde schemei de 32 bii (n cazul IPv4):


Adesa de reea
Adresa hostului
Enter
Proposed
Draft std
Standard
15.
Stiva de protocoale TCP/IP:
o Protocolul rezoluiei de adrese ARP,
o Protocolul de mesaj control Internet ICMP; Structura
pachetului ICMP;
o Protocolul IP. Structura pachetului IP.
o Adresare IP. Identificatori de reea i noduri. Clase de
adrese IP;
Stiva de protocoale TCP/IP este una din cele mai populare
i avansate stive de protocol de comunicaie. Stiva a fost
dezvoltat pentru a lega reeaua experimental ARPnet
cu alte reele ca un set de protocoale comune pentru
mediile de calcul eterogene. Stiva de protocoale TCP/IP
este mprit n 4 nivele:

Nivelul cel mai de jos este IV(gateway-uri de nivel) este


valabil pentru modelul de nivel fizic i legtur de date
OSI. Acest nivel n protocoalele TCP/IP nu este
reglementat, dar suport toate standardele de nivel fizic
i legtura de date: pentru canalele locale este Ethernet,
Token Ring, FDDI, pentru canalele globale SLIP/PPP i
ISDN seria WAN.
Nivelul III (nivel de interconectare) se ocup cu
transmiterea de datagrame prin utilizarea diferitor reele
LAN X.25 , linii de comunicaii. n calitate de protocol de
reea de baz, stiva de protocoale TCP/IP utilizeaz
protocolul IP, care a fost iniial conceput ca un pachet de
protocoale pentru schimbul pachetelor n reea compozit,
constnd dintr-un numr mare de reele locale, combinate
ca locale ct i globale. Din aceast cauz protocolul IP
funcioneaz bine n reelele cu topologie complex.
Nivelul II(numit primar) la acest nivel funcioneaz
protocolul TCP i UDP. TCP ofer o conexiune stabil ntre
procese la distan. Protocolul UDP ofer o metod de
transfer pachet datagram de aplicare, adic fr a
stabili o conexiune virtual, de aceea necesit mai puine
resurse dect TCP.
Nivelul I (cererea) include astfel de protocoale larg
utilizate ca protocololul pentru a copia fiiere FTP,
terminalul telnet protocol de emulare, SMTP protocolul
pot , RELCOM, servicii de acces la informaii de la
distan, cum ar fi WWW i multe altele.

15.a Pentru ca doua dispozitive de retea sa poata comunica este


necesara cunoasterea atat a adresei MAC, cat si a celei logice. In cazul in
care numai una dintre adrese este disponibila se apeleaza la un protocol
dedicat care pe baza acesteia va determina cealalta adresa.
Stiva de protocoale TCP/IP conti doua protocoale de nivel retea pentru a
servi acest scop: ARP (Address Resolution Protocol) si RARP (Reverse
Address Resolution Protocol). ARP este protocolul ce va oferii adresa
MAC a unui dispozitiv de retea, data fiind adresa sa IP.
ARP se bazeaza pe construirea si mentinerea unei tabele ARP. O tabela
ARP are rolul de a oferii o corespondenta intre adresele IP si cele MAC.
Acestea sunt construite dinamic si sunt stocate in memoria RAM. Desi
exista mecanisme pentru adaugarea sau eliminarea unei intrari intr-o
tabela ARP acestea sunt rareori folosite.
Fiecare computer sau dispozitiv de retea isi pastreaza propria sa tabela
ARP.

15.b Protocolul de mesaj control Internet ICMP; Structura


pachetului ICMP;
Internet Control Message Protocol (abreviat ICMP) este un
protocol din suita TCP/IP care folosete la semnalizarea i
diagnosticarea problemelor din reea. Protocolul este definit
in RFC792. Mesajele ICMP sunt ncapsulate n interiorul

pachetelor IP. Versiunea ICMP ptr IPv4 este adesea cunoscuta


ca ICMPv4; in schimb IPv6 dispune de un protocol similar
cunoscut sub abrevierea ICMPv6.

Probabil cele mai utilizate programe care se bazeaz pe ICMP


sunt ping i traceroute.
Ping trimite mesaje ICMP de tip echo request ("cerere de ecou")
ctre calculatorul int i ateapt de la acesta mesaje ICMP de
tip echo reply ("rspuns de tip ecou"). Dac acestea nu sunt
primite, se poate presupune c ceva este n neregul cu
conexiunea dintre cele dou calculatoare.
Antetul[modificare | modificare surs]
Antetul (header) ICMP ncepe imediat dup antetul IPv4. Toate
pachetele ICMP dispun de un antet de 8 octei i de o seciune de
date de lungime variabila. Structura antetului ICMP este redata n
figura de mai jos:
Biti

0-7

8-15

Tip

Cod

32

16-23

24-31

Suma de control

Restul antetului

Tip - tipul pachetului ICMP


Cod - subtipul pachetului ICMP n funcie cu tipul selectat
anterior

Suma de control - Suma de control calculata n funcie de


cmpurile antet ICMP + sir de date i este descrisa n RFC
1071.

Restul antetului - cmp de 4 octei ce variaz ca i coninut


pe baza tipului/codului antetului ICMP.

In continuare este redata lista mesajelor de control (incompleta):


Tip
0 - Echo Reply

Cod
0

Descriere
Rspuns de tip ecou (utilizat
pentru ping)

1 si 2

Rezervat

3 - Destinaie de
0
neatins (Destination
1
Unreachable)

Retea destinaie indisponibila


Gazda-destinaie indisponibila

Protocol destinaie indisponibil

Port destinaie indisponibil

Solicitare fragmentare

Sursa de rutare euata

Retea destinaie necunoscuta

Gazda destinaie necunoscuta

Gazda sursa izolata

Acces reea interzis

10

Acces gazda interzis

11

Retea inadmisibila pentru TOS

12

Gazda inadmisibila pentru TOS

13

Acces comunicaie interzisa

14

Prioritate gazda nclcata

15

Prioritate interzisa

4 - Sursa ICMP
"potolita"

Mesaj ICMP transmis iniiatorului,


solicitnd scderea ratei de mesaje
ICMP ctre un anumit ruter/gazda
(datorita problemelor de congestie).

5 - Redirectare
mesaje ICMP

Redirectare datagrama pentru reea

Adresa gazda alternativa

Rezervat

8 - Echo Request

Cerere de ecou (echo request)


utilizata n ping

...

...

...

TTL expirat n timpul tranzitului

Timpul de reasamblare a fragmentelor


expirat

...

...

11 - Expirare timer
(time exceeded)
...
30 - Traceroute
...

Solicitare informaii
...

...

o 15.c

Protocolul IP. Structura pachetului IP.

Protocolul Internet[1] (sau IP din engl. Internet Protocol) este


un protocol prin care datele sunt trimise de la un calculator la altul
prin intermediu Internetului. Fiecare calculator (cunoscut sub
denumirea de gazd), are pe Internet cel puin o adres
IP unic, care l identific ntre toate computerele din reea. Cnd
cineva trimite sau primete informaii (de ex.: pot electronic,
pagini web) mesajul este mprit n blocuri de mici dimensiuni
denumite pachete. Fiecare pachet cuprinde adresa expeditorului
i pe cea a destinatarului. Fiecare pachet este trimis, prima dat
la un calculator-pasarel, care nelege o mic parte din internet.
Calculatorul pasarel citete destinaia pachetelor i trimite
pachetele ctre o alt pasarel, i aa mai departe, pn ce
pachetul ajunge la pasarela vecin cu computerul destinatar.
Adresa IP este utilizat la nivelul programelor de prelucrare
n reea. n schimb, la nivelul utilizatorilor cu acces la Internet,
identificarea calculatoarelor se face printr-un nume de gazd
gestionat de sistemul DNS.
O datagram IP (un pachet) const dintr-o parte de antet i o
parte de text. Antetul are o parte fix de 20 octei i o parte
opional de lungime variabil.
Fiecare gazd i ruter din internet are o adres IP, care codific
adresa sa de reea i de gazd. Combinaia este unic: n

principiu nu exist dou maini cu aceeai adres IP. Toate


adresele IP sunt de 32 bii i sunt folosite n cmpurile Adres
surs i Adres destinaie a pachetelor IP. Este important de
observat c o adres IP nu se refer la o gazd. Se refer, de
fapt, la o interfa de reea. Cu alte cuvinte, dac o gazd este n
dou reele, trebuie s foloseasc dou adrese IP .
Reelele sunt dinamice i este posibil ca 2 pachete IP de la
aceeai surs s plece pe ci diferite (BGP protocolul porilor
de grani) i s ajung la aceeai destinaie. Pachetele IP (dupa
cum s-a mai spus) nu au garania c vor ajunge la destinaie,
acest lucru fiind lsat n seama protocoalelor adiacente (TCP
UDP etc).
Antetul IP
Versiune

IHL Tip serviciu Lungime total

Identificator

Delimitatori Decalaj de fragmentare

Durata de via Protocol

Suma de control a antetului

Adresa expeditorului
Adresa destinatarului
Opiuni

Spaiere

Antentul IP:

Versiune versiunea pachetului IP (curent este 4)

IHL lungimea antetului IP de ieire

Tip serviciu permite gazdei s comunice ce tip de serviciu


dorete

Lungimea total lungimea pachetului

Identificator identificarea pachetului

Delimitatori conine 1 bit nefolosit 1 bit DF (fr


fragmentare) i unul MF (non-fragment)

Decalaj fragmentare indic unde este locul fragmentului n


datagram

Durata de via timpul de viaa al pachetului (secunde),


care se decrementeaza la fiecare HOP (trecere dintr-un router
n altul)

Protocol indic crui proces de transport s-l predea (TCP,


UDP, etc.)

Suma de control a antetului

Adresa de expediie

Adresa de destinaie

Opiuni opiuni ale pachetului (securitate, dirijare strict pe


baza sursei, dirijare aproximativ pe baza sursei, nregistrare
cale, amprenta de timp)

Niciunul din cmpurile IP nu sunt criptate i niciunul nu


necesit autentificare.

Adresare IP. Identificatori de reea i noduri. Clase de adrese IP;


IP (Internet Protocol) este un protocol care asigur un serviciu de
transmitere a datelor, fr conexiune permanent. Acesta

identific fiecare interfa logic a echipamentelor conectate


printr-un numr numit adres IP". Versiunea de standard folosit
n majoritatea cazurilor este IPv4. n IPv4, standardul curent
pentru comunicarea n Internet, adresa IP este reprezentat pe
32 de bii (de ex. 192.168.0.1).

Adresele IPv4 au o lungime de 32 de bii (4 octei). Fiecare


adres identific o reea (network) i o staie de lucru (work
station) din cadrul reelei. Notaia obinuit este obinut prin
scrierea fiecrui octet n form zecimal, separai ntre ei prin
puncte. De exemplu, 192.168.0.1(10) este notaia folosit pentru
adresa 11000000.10101000.00000000.00000001(2).
Clase de adrese
La nceputurile Internetului, adresele IPv4 se mpreau n 5 clase
de adrese, notate de la A la E. mprirea se fcea n funcie de
configuraia binar a primului octet al adresei, astfel:
Clas
a

Primul
octet n
binar

Prima
adres

Ultima adres

Observaii

folosete 8 bii
127.255.255.25 pentru reea i
5
24 pentru staia
de lucru

0xxxxxxx

0.0.0.1

10xxxxxx

128.0.0.0 191.255.255.25 folosete 16 bii


5
pentru reea i

16 pentru staie

110xxxxx

folosete 24 bii
223.255.255.25
192.0.0.0
pentru reea i 8
5
pentru staie

1110xxxx

folosit pentru
239.255.255.25
224.0.0.0
adresarea de
5
tip multicast

11110xxx

utilizat n
255.255.255.25
240.0.0.0
scopuri
5
experimentale

Adresele reelelor au toi biii de staie 0 i nu pot fi folosite pentru


o staie. n plus, mai exist i adrese de difuzare, care au toi biii
de staie 1.
Pentru identificarea staiilor se folosesc numai adresele de clas
A pn la C. n plus, exist dou intervale de adrese de clas A
nefolosite n Internet:

Intervalul 0.0.0.0 - 0.255.255.255 nu se folosete, pentru a


nu fi confundat cu ruta implicit;

Intervalul 127.0.0.0 - 127.255.255.255 este folosit numai


pentru diagnosticarea nodului local (ntotdeauna acesta va fi
cel care va rspunde la apelul unei adrese din aceasta clas).
16.
Protocoale de transport. Sockets API
Protocolul orientat pe conexiuni TCP;

Antetul segmentului TCP,


Mecanismul de control al fluxului - sliding
window;
Stabilirea/ruperea conexiunii - handshakeul de protocol;
Protocolul de transport datagrame UDP;
Modelul de programare n reea: Sockets API
Sockets pentru stabilirea de conexiuni TCP;
Transmisiuni multicast/broadcast utiliznd
UDP;

16.1 Protocolul orientat pe conexiuni TCP


TCP este un protocol orientat pe conexiune
(connection-oriented). Aceasta nseamn c nu poate
comunica sau transporta date pn cnd nu stabilete o
conexiune cu punctul de destinaie. Spre deosebire de
TCP, UDP face parte din categoria protocoalelor care nu
necesit stabilirea unei conexiuni cu destinatarul nainte
de a ncepe transmisia datelor (connectionless). n
consecin, fiecare mesaj care utilizeaz protocolul UDP
trebuie s conin toate informaiile necesare ajungerii la
destinaie. Un astfel de protocol paseaz mesajul
urmtorului strat din stiva de protocoale si se bazeaz pe
reea pentru ca datele s ajung la destinaie.
Antetul segmentului TCP

Cmpurile antetului:
Port surs (16 bii) identific procesul utilizator al sursei;
20FTP date implicite, 21FTP control, 25-SMTP, 69
TFTP, 23TELNET, 53DNS, 80HTTP, 161-agent SNMP,
179-BGP
* Port destinaie (16 bii).
Cele 2 cmpuri, portul surs i portul destinaie, identific
punctele finale ale conexiunii.
* Numr de secven (32 bii)
Numrul de secven este al primului octet din segment.
Dac SYN e prezent, atunci acesta este numrul de
secven iniial ISN (Initial Sequence Number) i primul
octete de date este ISN +1.
* Lungimea antetului (4 bii) (data offset): numrul de
cuvinte de 32 bii ale antetului TCP. Este necesar
deoarece cmpul opiuni are lungime variabil.

* 6 bii neutilizai, prevzui pentru


eventualelor erori ale protocolului iniial.

corecia

* 6 bii de control
URG = 1, dac indicatorul urgent e valid. Acest
indicator arat care este deplasamentul (n octei) al
informaiei urgente relativ la numrul de secven.
Facilitatea suplinete mesajele de ntrerupere.
ACK=1, arat c numrul de confirmare e valid. Dac
ACK=0, segmentul TCP nu conine o confirmare i
numrul de confirmare e ignorat.
PSH=1, forarea expedierii, prin care TCP este
solicitat s nu memoreze informaia, n ateptarea
ncrcrii complete a bufferului.
RST (reset)=1, desfiineaz o conexiune cnd ea a
devenit inutilizabil, prin defectarea mainii sau alte
cauze. E folosit i pentru a refuza un segment invalid sau
a refuza deschiderea unei conexiuni (sensul depinde de
context).
SYN=1, stabilirea unei conexiuni, mpreun cu ACK=0
i rspunsul SYN = 1, ACK=1 conexiune acceptat.
Sincronizeaz numerele de secven.
FIN = 1, nu mai sunt date, ncheie o conexiune din
partea emitorului. Deoarece segmentele SYN i FIN
conin numere de secven, vor fi procesate n ordine
corect.

* Fereasta (16 bii): vor fi acceptai octeii de la


[ACK] la [ACK]+[fereastra]. La TCP controlul se face prin
ferestre glisante. Dac fereastra este 0, nseamn c au
fost recepionai corect toi octeii pn la i inclusiv
Numr de confirmare-1, dar receptorul nu mai dorete
continuarea transferului. Reluarea lucrului se face cu un
segment cu acelai numr de confirmare i fereastr
nenul.
* Suma de control (16 bii), prevzut pentru o
fiabilitate maxim. Se calculeaz pentru urmtoarele
cmpuri din antet: adresa surs, adresa destinat, biii de
protocol (6), lungime segment (antet+date). Se pot
detecta pachetele preluate eronat. Suma recepionat se
compar cu cea recalculat la recepie i dac nu coincid
a aprut o eroare.
* Indicatorul URGENT arat deplasamentul, n octei,
al informaiei urgente relativ la numrul de secven. De
fapt indic urmtorul octet de dup informaia urgent.
Astfel receptorul afl ct informaie urgent trebuie
livrat imediat aplicaiei destinate.
* Opiuni (variabil), permite declararea lungimii
maxime a segmentului (536 octei implicit), scalarea
ferestrei, confirmri selective ACK, (retransmitere
selectiv SR n loc de GBN, go-back-N), eticheta de timp
(timestamp), no-operation, sfritul opiunilor
Mecanismul de control al fluxului - sliding window
Tehnica ferestrei glisante este o forma mult mai
complexa a confirmrii pozitive si a retransmisiei fata de

metoda simpla. Protocoalele cu fereastra glisanta folosesc


mai bine largimea de banda deoarece ele permit
utilizatorilor sa transmita multiple pachete inaintea
primirii unei confirmari. Cea mai simpla cale de a observa
operatia de alunecare a ferestrei este sa ne imaginam o
secventa de pachete ce vor fi transmise. Protocolul
produce o mica fereastra de dimensiune fixa si transmite
toate pachetele care se afla in interiorul ei.
Emitentul grupeaza pachetele sale si utlilizeaza
urmatoarele reguli:
Emitentul poate transmite pachetele din fereastra
fara sa receptioneze o confirmare (ACK), dar porneste
cate un cronometru (care va semnaliza depasirea unui
interval de tmp prestabilit) pentru fiecare dintre pachete.
Receptorul trebuie sa confirme fiecare pachet
primit, indicand numarul de secventa al ultimului pachet
receptionat corect.
Emitentul deplaseaza fereastra (o gliseaza) la
fiecare mesaj de confirmare.

Figura (a): Un protocol cu fereastra glisanta avand 8


pachete in fereastra.
Figura (b): Fereastra gliseaza astfel incat pachetul 9
poate fi trimis doar cand a fost receptionata confirmarea
pentru pachetul 1. Doar pachetele neconfirmate sunt
retransmise.
O data ce emitatorul a primit o confirmare pentru
primul pachet (figura b) fereastra poate aluneca si el
trimite urmatorul pachet. Fereastra continua sa alunece
atat timp cat confirmarile sunt receptionate.
Stabilirea/ruperea conexiunii - handshake-ul de
protocol
Stabilirea conexiunii
nelegerea n 3 pai (hand-shake) sau comunicarea
cu confirmare
SYN = 1 arat o cerere de conectare

Transferul datelor Terminarea conexiunii


fluxul: fiecare octet e numerotat modulo 232

antetul conine numrul de secven al primului


octet
controlul fluxului: prin credite (numr de octei)
datele sunt transmise cnd vrea entitatea TCP:
a) PUSH- transmite acum
b)urgent: transmite aceast dat din fluxul
normal care are indicatorul urgent
dac se recepioneaz un TPDU (Transport
Protocol Data Unit) nepotrivit acestei conexiuni,
se pune reset =1 n segmentul care pleac
Terminarea conexiunii
deconectarea normal cu FIN = 1
deconectarea brusc (abort) cu pierdere de date
16.2 Protocolul de transport datagrame UDP
Protocolul UDP (User Datagram Protocol) expediaz
datele sub forma unor datagrame, care se transmit
neprelucrate ncapsulate fr a se stabili vreo conexiune.
El este n esen IP extins cu un scurt antet.
Aplicaiile sunt de tip client-server, interogare
rspuns. Antetul UDP are 8B i mpreun cu datele
formeaz segmentul UDP.

16.3 Modelul de programare n reea:


Sockets API

Serviciul TCP este asigurat prin crearea de ctre emitor


i receptor a unor puncte finale numite socluri sau socketuri. Fiecare soclu are un numr de soclu i adres.
Apelurile serverului
Pentru implementarea unui server orientat pe conexiune
sunt necesare, n ordine, urmtoarele apeluri de funcii
API.
Formatul funciei socket:
SOCKET sockfd = socket(int address_family, int type, int
protocol)
address_family familia de adrese. Ex. AF_UNIX
Unix, AF_INET pt. Internet.

pt.

Type tipul interfeei socket care se va folosi. Ex.


SOCK_STREAM, SOCK_DGRAM
Protocol este specificat tipul protocolului ce se va utiliza
(UDP, TCP, IP, ICMP)
Sockfd reprezint un numr ntreg fr semn returnat de
ctre apelul funciei socket. n caz de eroare valoarea
ntoars este -1 (SOCKET_ERROR)
Primitive de baza:
socket() creaza un nou punct terminal al conexiunii
bind() ataseaza o adresa locala la un socket
listen() permite unui socket sa accepte conexiuni
accept() blocheaz apelantul pina la sosirea unei cereri
de
conectare(utilizata de serverul TCP)

connect() tentativa (activa) de stabilire a conexiunii


(folosita de
clientul TCP)
send() trimitere de date via socket
recv() receptarea de date via socket
close() elibereaza conexiunea (inchide un socket)
shutdown() inchide directional un socket

Sockets pentru stabilirea de conexiuni TCP

Transport Control Protocol


Flux sigur de date
Conexiune permanent pe parcursul comunicaiei

Transmisiuni multicast/broadcast utiliznd UDP

Funcia recvform nu ateapt realizarea unei


conexiuni. n schimb rspunde oricror solicitri care
sosesc la portul la care s-a nregistrat cu funcia bind.

User Datagram Protocol


Pachete independente de date (datagrame)
Nu stabilete o conexiune permanent
Ordinea sau chiar ajungerea pachetelor la destinaie nu
sunt garantate
Un grup de clieni abonai pentru operaia de
multicast este specificat printr-o adres IP din intervalul:
224.0.0.1- 239.255.255.255
17.
Inginerie invers n reea:
Analiza traficului de reea utiliznd Wireshark;
Limbajul expresiilor de filtrare cadre a instrumentului
Wireshark;

17.a
Analiza traficului de reea utiliznd
Wireshark
Printre funcionalitile analizoarelor de reea, putem
meniona:
Analiza problemelor de reea
Detectarea ncercrilor de intruziune
Monitorizarea utilizrii reelei
Colectarea i raportarea unor statistici de reea
Filtrarea pachetelor suspecte din traficul de reea
Spionarea altor utilizatori de reea i capturarea
parolelor acestora
Depanarea problemelor protocoalelor de reea
Wireshark este un pachet software gratuit care poate
fi utilizat n mod interactiv pentru capturarea i analiza
traficului de reea. Acest instrument software beneficiaz
de o interfa grafic utilizator, care l face simplu de
utilizat. La fel ca i alte analizoare de pachete, fereastra
principal din Wireshark prezint trei imagini graduale
asupra unui pachet. n primul rnd, o descriere sumar a
pachetului, n care se dau informaii de baz despre
pachetul respectiv. Aceasta este completat de o
fereastr de detaliu n care se dau detalii asupra
protocoalelor care compun pachetul (tipul protocolului,
dimensiunea headerului etc). n cele din urm, avem
imaginea exact a irului de octei (codai n
hexazecimal) care compun pachetul. n figura 1 se poate
vedea o imagine a interfeei grafice utilizator a
programului Wireshark.

17.b
Limbajul expresiilor de filtrare cadre a
instrumentului Wireshark

Filtre de captura

Sintaxa filtrelor de captura este asemanatoare cu cea


a folosita de de libraria Lipcap(Linux) sau
Winpcap(Windows) la fel ca cea a faimosului TCPdump.
Filtrul de captura trebuie setat inainte de a porni captura,
in cazul filtrelor de afisare nu este nevoie acestea putand
fi setate si in timpul capturii.
tcp dst port 3128
Afieaz pachetele cu destinaia TCP portul 3128.
ip src host 10.1.1.1
Afiseaza pachetele cu IP-ul sursei egal cu 10.1.1.1.
host 10.1.2.3
Afiseaza pachetele cu IP-ul sursei sau destinatiei egal cu
10.1.2.3.
src portrange 2000-2500
Afiseaza pachetele cu sursa UDP sau TCP si cu portul din
rangul 2000-2500.
not imcp

Afiseaza orice in afara de pachetele icmp. (icmp este de


obicei folosit de unealta ping)

Filtrele DE AFISARE:
Filtrele de afiare sunt folosite pentru cutarea in
datele capturate cu un filtru de captura. Capabilitile lui
de cutare si mai extinse nu fac necesara restartarea
capturii cnd doreti sa schimbi filtrul.

Exemple:

18.
Construirea unei aplicaii simple clientserver,
Clase i componente de reea (.Net/Java);

Analiza protocolului de elaborat: expresii regulate

n informatic, o expresie regulat, denumit pe


scurt regex sau regexp (din englez de
la regular
expression), reprezint un ablon care descrie un limbaj
regulat, adic o mulime de iruri de caractere generat
de o gramatic regulat. Majoritatea limbajelor de
programare ofer interfee API pentru tratarea limbajelor
regulate, care sunt folosite la validarea formatului unor
iruri de caractere sau la gsirea n poriuni mai mari de
text a unor iruri de caractere care respect forma unui
limbaj regulat. De asemenea, numeroase aplicaii care
implic ntr-un fel sau altul procesarea de text au motoare
de expresii regulate ce permit cutri i validri dup
expresii regulate.
Comenzi regex

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