Sunteți pe pagina 1din 10

Programarea în rețea

1. Apariţia şi importanţa rețelelor de calculatoare. Avantajele utilizării lor (strategice,


tactice).
2. Cerinţe principiale faţă de reţelele de calculatoare şi problemele legate de proiectarea
lor.
3. Standardizarea reţelelor. Noţiunea de sisteme deschise. Organizaţii de standardizare.
Standarde Internet.
4. Aplicaţii şi servicii Internet.
o WWW (protocolul HTTP)
o Poştă electronică (protocoalele SMTP și POP3)
5. Concurența în programarea de rețea
o Motivarea pentru concurenţă în programarea de rețea
o Concepte de bază: executare secvenţială, concurentă şi paralelă; procese şi
procesoare; determinism; sincronizare; excludere mutuală; comunicare.
6. Programare multi-threading utilizînd Java/.Net
o Primitive şi tehnici de programare multi-threading utilizând Java/.Net Framework.
o Stările unui fir de execuţie. Lansarea, suspendarea şi oprirea unui fir de execuţie.
o Clase pentru realizarea cooperării.
7. Interacțiunea proceselor concurente: Excluderea reciprocă
o Enunţul problemei excluderii reciproce.
o Încercările Dijkstra pentru soluţionarea problemei de excludere reciprocă.
8. Interacțiunea proceselor concurente: Semafoarele
o Tehnici esenţiale de sincronizare utilizând semafoarele: Signaling, Rendez-vous,
Mutex, Multiplex, Barrier.
o Modele de procesare cereri în rețea: problemele clasice de concurență.
 Jocul vieții
 Filosofii chinezi
 Producător-consumător
 Cititori-scriitori
9. Noţiunea de protocol. Caracteristicile protocoalelor.
10. Ierarhii de protocoale. Interfeţe şi servicii.
11. Servicii orientate pe conexiune şi fără conexiune.
12. Funcţiile protocoalelor
o de segmentare, de reasamblare,
o de încapsulare,
o de control conexiune, de control flux;
o de tratare erori,
 Detecția erorilor - calculul polinomial
 Corecția erorilor - metoda Hamming
o de sincronizare (ordonare livrare)
o de adresare, de multiplexare.
13. Noţiunea de arhitectură de reţea. Modele arhitecturale de protocoale.
o Modelul de referinţă OSI. Principii utilizate în definirea nivelelor OSI.
o Modelul de referinţă TCP/IP.
14. Stiva de protocoale TCP/IP.
o Protocolul rezoluţiei de adrese ARP.
o Protocolul de mesaj control Internet ICMP. Structura pachetului ICMP.
o Protocolul IP. Structura pachetului IP. Adresare IP. Identificatori de reţea şi
noduri. Transformări de adrese IP din format binar în format zecimal.
o Clase de adrese IP.

1) Apariţia şi importanţa rețelelor de calculatoare. Avantajele utilizării lor (strategice,


tactice).
Prima rețea de calculatoare a aparut la mijlocul anilor 60. Și a fost elaborată de către
DoD(departamentul apărării SUA).A fost creată cu scopul de a avea o rețea de comandă
control rezistentă la atacurile nucleare.
Rețelele de calculatoare:
Strategice:
Îmbunătățirea dinamicii lucrului in grupă
Reducerea bugetelor de prelucrare a datelor(Puterea de calcul optimală)
Îmbunătățirea competitivității
Comunicarea in cadrul companiei:
Schimb de informații
Acces la informații
Tactice:
Securizarea datelor
Îmbunătățireaadministrării software
Îmbunătățirea redundanței de calcul
Reducerea costului per utilizator:
Partajarea resurselor
Imbunătățirea timpului de răspuns

2) Cerinţe principiale faţă de reţelele de calculatoare şi problemele legate de proiectarea lor.


Cerintele pentru o rețea:funcționalitate,transparență,extensibilitate și scalabilitate,adaptabile și
compatibile ,posibilitatea de control a traficului,monitorizare,eficiență(timp de răspuns,viteză
de transmisie,capacitate de trecerelatență)
fiabilitate si sguranță(toleranță la erori,integritate și coerență, grad de pregătire,intensitatea
refuzului de programare)
Problemele de proiectare : stabilirea drumului dintre sursă și destinație, alocarea eficientă a
conexiunilor, ordinea transmiterii mesajelor,controlul erorilor,reguli pentru transferul de date,
stabilirea emițătorului și receptorului, evitarea inundării de către un emițător mai rapid decît
receptorul.

3) Standardizarea reţelelor. Noţiunea de sisteme deschise. Organizaţii de standardizare.


Standarde Internet.
Sistem deschis – orice sistem construit conform unor specificații deschise.
Specificație deschisă- specificație publicată și liber accesibilă, acceptată de fiecare, find
. rezultatul unei opinii comune.
Specificații – descrierea formală a componentelor hard și soft precum și metodele de lucru, și de
interacțiune , exploatarea și alte caracteristici specifice.
ISO-International Standarts Organization
ITU-Internetional Telecomunication Union(it-:D,R,T)
IEEE-Institute of Electrical and Electronics Engineers
EIA-Electronic Industries Association
ECMA-European Computer Manufactures Association
DoD-Department of defense
ANSI-American National Standarts Institute
4) Aplicaţii şi servicii Internet.
WWW (protocolul HTTP),Poştă electronică (protocoalele SMTP și POP3)
HTTP-hyper text trasnfer protocol.
Modelul de comunicare: cerere-răspuns.
Sarcina de bază a protocolului SMTP (Simple Mail Transfer Protocol) este de a asigura
transferul de mesaje electronice

7) Interacțiunea proceselor concurente: Excluderea reciprocă


Enunţul problemei excluderii reciproce.
Încercările Dijkstra pentru soluţionarea problemei de excludere reciprocă.

8) Interacțiunea proceselor concurente: Semafoarele.


Semafor-metoda clasica pentru restrictionarea accesului la resursele partajate.
Semnalizare-procesul utilizat cind dorim sa asiguram o executie a unei secvente de . . .
instructiuni din diferite fire concurente.
Rendevouz-este procedeul utilizat cind dorim ca un fir de executie la un moment dat sa .
astepte pe altul si invers
Mutex- excluderea reciproca
Multiplex- procedeu cind avem mai multe fire de executie (m) si dorim sa dam accesul in
sectiunea critica la un număr mai mic sau egal de (n) fire n<m
Bariera-este procedeul ce solutioneaza problema Rendevous generalizata(numarul de fire este
mai mare de 2 si toate firele pleaca dupa ce ultimul isi va termine operatiunia sa critica. )
9) Noţiunea de protocol. Caracteristicile protocoalelor.
Protocol-un set de reguli pe baza cărora se efectuează transmiterea datelor între două entități
Caracteristicile: direct/indirect, monolit/structurat,simetric/asimetric,standart/nestandart
10) Ierarhii de protocoale. Interfeţe şi servicii.
Pentru reducerea din complexitatea proiectării, majoritatea reţelelor sunt organizate sub
forma unei serii de straturi sau niveluri, fiecare din ele construit peste cel de dedesubt. Numărul
de niveluri, numele fiecărui nivel, conţinutul şi funcţia sa variază de la reţea la reţea,scopul
fiecărui nivel este să ofere anumite servicii nivelurilor superioare, protejându-le totodată de
detaliile privitoare la implementarea efectivă a serviciilor oferite.
Legătura dintre niveluri se efectuează cu ajutorul interfețelor. Interfaţa defineşte ce
operații și servicii primitive oferă nivelul de jos către nivelul de sus.
Serviciul defineşte funcţiile pe care le realizează nivelul

11) Servicii orientate pe conexiune şi fără conexiune.


SOC-este un mod de comunicare stabilit în rețele de calculatoare unde înaintea transferului
de date se stabilește o conexiune semi-permanentă sau o sesisune de comunicare iar pachetele de
date sunt livrate în aceeași ordine în care au fost transmise
Flux de mesaje și octeți sigure
Conexiune nesigură
SOFC-nu este necesară existența unei conexiuni fixe și pachetele de date pot fi primite într-o
altă ordine.
Datagramă confirmată și neconfirmată
Cerere-răspuns

13) Noţiunea de arhitectură de reţea. Modele arhitecturale de protocoale.


Modelul OSI cuprinde şapte niveluri. Principiile aplicate pentru a se ajunge la cele şapte niveluri
sunt următoarele:
1. Un nivel trebuie creat atunci când este nevoie de un nivel de abstractizare diferit.
2. Fiecare nivel trebuie să îndeplinească un rol bine definit.
3. Funcţia fiecărui nivel trebuie aleasă acordându-se atenţie definirii de protocoale
standardizate pe plan internaţional.
4. Delimitarea nivelurilor trebuie făcută astfel încât să se minimizeze fluxul de informaţii prin
interfeţe.
5. Numărul de niveluri trebuie să fie suficient de mare pentru a nu fi nevoie să se introducă în
acelaşi nivel funcţii diferite şi sufieient de mie pentru ca arhitectura să rămână funcţională.
1. Nivelul fizic are rolul de a transmite datele de la un calculator la altul prin intermediul unui
mediu de comunicatie. Datele sunt vazute la acest nivel ca un sir de biti. Problemele tipice sunt
de natura electrica: nivelele de tensiune corespunzatoare unui bit 1 sau 0, durata impulsurilor de
tensiune, cum se initiaza si cum se opreste transmiterea semnalelor electrice, asigurarea pastrarii
formei semnalului propagat. Mediul de comunicatie nu face parte din nivelul fizic.
2. Nivelul legaturii de date corecteaza erorile de transmitere aparute la nivelul fizic, realizand o
comunicare corecta intre doua noduri adiacente ale retelei. Mecanismul utilizat in acest scop este
impartirea bitilor in cadre ( frame), carora le sunt adaugate informatii de control. Cadrele sunt
transmise individual, putand fi verificate si confirmate de catre receptor. Alte functii ale nivelului
se refera la fluxul de date (astfel incat transmitatorul sa nu furnizeze date mai rapid decat le poate
accepta receptorul) si la gestiunea legaturii (stabilirea conexiunii, controlul schimbului de date si
desfiintarea conexiunii).
3. Nivelul retea asigura dirijarea unitatilor de date intre nodurile sursa si destinatie, trecand
eventual prin noduri intermediare (routing ). Este foarte important ca fluxul de date sa fie astfel
dirijat incat sa se evite aglomerarea anumitor zone ale retelei (congestionare ). Interconectarea
retelelor cu arhitecturi diferite este o functie a nivelului retea.
4. Nivelul transport realizeaza o conexiune intre doua calculatoare gazda (host) detectand si
corectand erorile pe care nivelul retea nu le trateaza. Este nivelul aflat in mijlocul ierarhiei,
asigurand nivelelor superioare o interfata independanta de tipul retelei utilizate. Functiile
principale sunt: stabilirea unei conexiuni sigure intre doua masini gazda, initierea transferului,
controlul fluxului de date si inchiderea conexiunii.
5. Nivelul sesiune stabileste si intretine conexiuni (sesiuni) intre procesele aplicatie, rolul sau
fiind acela de a permite proceselor sa stabileasca "de comun acord" caracteristicile dialogului si
sa sincronizeze acest dialog.
6. Nivelul prezentare realizeaza operatii de transformare a datelor in formate intelese de
entitatile ce intervin intr-o conexiune. Transferul de date intre masini de tipuri diferite (Unix-
DOS, de exemplu) necesita si codificarea datelor in functie de caracteristicile acestora. Nivelul
prezentare ar trebui sa ofere si servicii de criptare/decriptare a datelor, in vederea asigurarii
securitatii comunicatiei in retea.
7. Nivelul aplicatie are rolul de "fereastra" de comunicatie intre utilizatori, acestia fiind
reprezentati de entitatile aplicatie (programele). Nivelul aplicatie nu comunica cu aplicatiile ci
controleaza mediul in care se executa aplicatiile, punandu-le la dispozitie servicii de
comunicatie. Printre functiile nivelului aplicatie se afla: o identificarea partenerilor de
comunicatie, determinarea disponibilitatii acestora si autentificarea lor o sincronizarea
aplicatiilor cooperante si selectarea modului de dialog o stabilirea responsabilitatilor pentru
tratarea erorilor o identificarea constrangerilor asupra reprezentarii datelor o transferul
informatiei

Primele trei nivele de la baza ierarhiei (fizic, legatura de date, retea) sunt considerate ca formand
o subretea de comunicatie . Subreteaua este raspunzatoare pentru realizarea transferului efectiv al
datelor, pentru verificarea corectitudinii transmisiei si 4 Retele de calculatoare 7 pentru dirijarea
fluxului de date prin diversele noduri ale retelei.
TCP/IP
Modelul TCP/IP a fost utilizat de reteaua ARPANET si de succesorul acesteia, INTERNET,
numele provenind de la protocoalele care stau la baza modelului: • TCP (Transmission Control
Protocol) • IP (Internet Protocol) Obiectivul central avut in vedere la proiectarea retelei a fost
acela de a se putea interconecta fara probleme mai multe tipuri de retele, iar transmisia datelor sa
nu fie afectata de distrugerea sau defectarea unei parti a retelei. In plus, arhitectura retelei trebuia
sa permita rularea unor aplicatii cu cerinte divergente, de la transferul fisierelor si pana la
transmiterea datelor in timp real (videoconferinte).
Modelul TCP/IP are doar patru nivele:
1. Nivelul gazda-retea Modelul nu spune mare lucru despre acest nivel, esentialul fiind acela ca,
printr-un L4 Retele de calculatoare 8 anumit protocol (nu se zice nimic despre el), gazda trimite
prin intermediul retelei pachete IP. Acest protocol misterios difera de la o retea la alta si
subiectul nu este tratat in literatura de specialitate.
2. Nivelul internet Acest nivel este axul pe care se centreaza intreaga arhitectura, rolul sau fiind
acela de a permite gazdelor sa emita pachete in retea si de a asigura transferul lor intre sursa si
destinatie. Se defineste un format de pachet si un protocol (IP), nivelul trebuind sa furnizeze
pachete IP la destinatie, sa rezolve problema dirijarii pachetelor si sa evite congestiile (lucreaza
asemanator cu nivelui retea din modelul OSI).
3. Nivelul transport Este proiectat astfel incat sa permita dialogul intre entitatile pereche din
gazdele sursa si destinatie, pentru aceasta fiind definite doua protocoale capat-la-capat: TCP si
UDP. Protocolul de control al transmisiei (TCP) permite ca un flux de octeti emis de o masina sa
fie receptionat fara erori pe orice alta masina din retea. TCP fragmenteaza fluxul de octeti in
mesaje discrete pe care le paseaza nivelului internet. La destinatie, procesul TCP receptor
reasambleaza mesajele primite, reconstituind datele initiale. TCP realizeaza controlul fluxului de
date pentru a evita situatia in care un transmitator rapid inunda un receptor lent cu mai multe
mesaje decat poate acesta sa prelucreze. TCP este un protocol orientat pe conexiune UDP ( User
Datagram Protocol- protocolul datagramelor utilizator) este un protocol nesigur, fara conexiuni,
destinat aplicatiilor care doresc sa utilizeze propria secventiere si control al fluxului si nu
mecanismele asigurate de TCP. Este un protocol folosit in aplicatii pentru care comunicarea
rapida este mai importanta decat acuratetea transmisiei, asa cum sunt aplicatiile de transmitere a
sunetului si imaginilor video.
4. Nivelul aplicatie Nivelul aplicatie contine protocoalele de nivel inalt, cum ar fi terminalul
virtual (TELNET), transferul de fisiere (FTP) si posta electronica . Protocolul TELNET permite
utilizatorului sa se conecteze pe o masina aflata la distanta si sa lucreze ca si cum s-ar afla intr-
adevar langa aceasta. Pe parcurs s-au adaugat alte protocoale ca DNS (serviciul numelor de
domenii), pentru stabilirea corespondentei dintre numele gazdelor si adresele retelelor, NNTP-
folosit pentru transferul articolelor (stiri), HTTP-folosit pentru transferul paginilor web, e.t.c

14) Stiva de protocoale TCP/IP.


o Protocolul rezoluţiei de adrese ARP.
o Protocolul de mesaj control Internet ICMP. Structura pachetului ICMP.
o Protocolul IP. Structura pachetului IP. Adresare IP. Identificatori de reţea şi
noduri. Transformări de adrese IP din format binar în format zecimal.
o Clase de adrese IP.

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.
ICMP-este protocolul care se ocupă de tratarea mesajelor legate de semnalizarea si
diagnosticarea problemelor din rețea.
Antetul (header) ICMP începe imediat după antetul IPv4. Toate pachetele ICMP dispun de un
antet de 8 octeți și de o secțiune de date de lungime variabila. Structura antetului ICMP este
redata în figura de mai jos

 Tip - tipul pachetului ICMP


 Cod - subtipul pachetului ICMP în funcție cu tipul selectat anterior
 Suma de control - Suma de control calculata în funcție de câmpurile antet ICMP + sir de
date și este descrisa în RFC 1071.
 Restul antetului - câmp de 4 octeți ce variază ca și conținut pe baza tipului/codului
antetului ICMP.

Pachetul IP-este un protocol prin care datele sunt trimise de la un calculator la altul prin
intermediul internetului. Fiecare calculator (cunoscut sub denumirea de „gazdă”), are pe Internet
cel puțin o adresă IP unică, care îl identifică între toate computerele din rețea. Când cineva
trimite sau primește informații (de ex.: poștă electronică, pagini web) mesajul este împărțit în
blocuri de mici dimensiuni denumite pachete. Fiecare pachet cuprinde adresa IP a expeditorului
și pe cea a destinatarului.

Structura Pachetului IP

 Versiune – versiunea pachetului IP (curentă este 4)


 IHL – lungimea antetului IP de ieșire
 Tip serviciu – permite gazdei să comunice ce tip de serviciu dorește
 Lungimea totală – lungimea pachetului
 Identificator – identificarea pachetului
 Delimitatori – conține 1 bit nefolosit 1 bit DF (fără fragmentare) și unul MF (non-
fragment)
 Decalaj fragmentare – indică unde este locul fragmentului în datagramă
 Durata de viață – timpul de viața al pachetului (secunde), care se decrementeaza la
fiecare HOP (trecere dintr-un router în altul)
 Protocol – indică cărui proces de transport să-l predea (TCP, UDP, etc.)
 Suma de control a antetului
 Adresa de expediție
 Adresa de destinație
 Opțiuni – opțiuni ale pachetului (securitate, dirijare strictă pe baza sursei, dirijare
aproximativă pe baza sursei, înregistrare cale, amprenta de timp)

 Niciunul din câmpurile IP nu sunt criptate și niciunul nu necesită autentificare.

Adresarea IP. Adresare IP. Identificatori de reţea şi noduri. Transformări de adrese IP din
format binar în format zecimal.

O adresă IP este un şir de 32 de biţi ce identifică două lucruri: o reţea şi o staţie în cadrul acelei
reţele. Forma în care sunt folosite totuşi adresele IP nu este cea binară, astfel încât când spunem
adresă IP aveam mai degrabă în minte reprezentarea decimală a patru octeţi, separaţi prin trei
puncte. Astfel pentru o adresă IP dată: 10110001000001000001011000001000, vom separa mai
întâi biţii în grupuri de câte 8 biţi: 10110001.00000100.00010110.00001000 şi în final vom
converti fiecare grup în decimal: 177.4.22.8.
Clasa de Adresa IP
Clasa A- se folosesc pentru rețele mari, companii mari, unele țări.
Clasa B- se folosesc pentru rețele de dimensiuni medii. Ex. Universități
Clasa C- se folosesc pentru rețele de dimensiuni mici. Ex furnizorii de servicii internet .
pentru clienții lor.
Clasa D-se folosesc pentru multicast.
Clasa E-se folosesc pentru teste sau viitoarele aplicații.

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