Sunteți pe pagina 1din 6

RETELE DE CALCULATOARE 1.

Modelul de referinta ISO OSI: functiile nivelelor, rolul si functiile unei interfete dintre doua nivele adiacente, rolul si functiile protocoalelor. Nivelul fizic: se ocupa de transmiterea bitilor printr-un canal de comunicatie. Proiectarea trebuie sa asigure ca atunci cand unul din capete trimite un bit 1, acesta este receptat la celalalt capat ca bit 1, nu ca bit 0. Nivelul legatura date: se ocupa de transferul, controlul fluxului si corectarea datelor la nivel de pachet. Nivelul retea: responsabil cu dirijarea pachetelor intre retele interconectate. Nivelul transport: face legatura cap la cap intre sursa si destinatie la nivel logic. Nivelul sesiune: ofera posibilitatea de a partaja un canal de transport penrtu ma multe fluxuri, de a avea o durata mai lunga decat durata unei conexiuni. Nivelul prezentare: transfera datele din diferite reprezentari. Nivelul aplicatie: contine setul de protocoale definite de utilizator. Interfata defineste ce operatii si ce servicii primitive ofera nivelul de jos catre nivelul de sus. Precizeaza ce reprezinta parametrii si ce rezultat se obtine. Nivelul n de pe o masina comunica cu nivelul n de pe alta masina. Regulile si conventiile utilizate in conversatie sunt cunoscute sub numele de protocolul nivelului n. In principal, un protocol reprezinta o intelegere intre partile care comunica, asupra modului de realizare a comunicarii. 2. Modul de functionare a protocoalelor cu fereastra glisanta la nivelul legatura date. Esenta protocoalelor cu fereastra glisanta este aceea ca, la orice moment de timp, emitatorul mentine o multime de numere de secventa care corespund cadrelor pe care are permisiunea sa le trimita. Se spune ca aceste cadre apartin ferestrei de transmisie. Similar, receptorul mentine de asemenea o fereastra de receptie ce corespunde multimii de cadre care pot fi acceptate. Fereastra emitatorului si fereastra receptorului nu trebuie sa aiba aceleasi limite minime si maxime si nici macar aceeasi dimensiune. In unele protocoale ele au dimensiune fixa, dar in altele pot creste sau scadea pe masura ce cadrele sunt emise sau receptionate. 3. Protocolul IPv4 si IPv6: antetul IPv4, antetul IPv6, formatul adresei IPv4, formatul adresei IPv6.

Campul versiune memoreaza carei versiuni de protocol ii apartine datagrama. IHL este pus la dispozitie pentru a spune cat de lung este antetul, in cuvinte de 32 de octeti. Campul Tip serviciu este menit sa diferentieze diferitele clase de servicii. Lungimea totala include totul din datagrama-atat antet cat si date. Lungimea maxima este de 65535 octeti. Campul Identificare este necesar pentru a permite gazdei destinatie sa determine carei datagrame ii apartine un nou pachet primit. Toate fragmentele unei datagrame contin aceeasi valoare de identificare. DF inseamna Dont Fragment (a nu se fragmenta). Acesta este un ordin dat ruterelor ca sa nu fragmenteze datagrama pentru ca destinatia nu este capabila reasambeleze piesele la loc. MF inseamna More Fragments (mai urmeaza fragmente). Toate fragmentele, cu exceptia ultimului, au acest bit activat. El este necesar pentru a sti cand au ajuns toate fragmentele unei datagrame. Deplasamentul fragmentului spune unde este locul fragmentului curent in cadrul datagramei. Campul Timp de viata este un contor folosit pentru a limita durata de viata a pachetelor. Este prevazut sa contorizeze timpul in secunde, permitand un timp maxim de viata de 255 secunde.

Campul protocol spune carui proces de transport trebuie sa predea datagrama (TCP sau UDP). Suma de control a antetului verifica numai antetul. O astfel de suma de control este utila pentru detectarea erorilor generate de locatii de memorie proaste din interiorul unui ruter. Adresa sursei si Adresa destinatiei indica numarul de retea si numarul de gazda. Campul optiuni a fost proiectat pentru a oferi un subrefugiu care sa permita versiunilor viitoare ale protocolului sa includa informatii care nu sunt prezente in proiectul original. Optiunile au lungimi variabile. Formatul adresei IPv4: 192.168.0.1 (zecimal) -> 11000000.10101000.00000000.00000001(binar)

Algoritmul de dirijare cu vectori de distanta presupune ca fiecare ruter mentine o tabela (de ex un vector) care pastreaza cea mai buna distanta cunoscuta spre fiecare destinatie si linia care trebuie urmata pentru a ajunge acolo. Aceste tabele sunt actualizate prin schimbul de informatii intre nodurile vecine. Algoritmul bazat pe starea legaturilor: fiecare ruter trebuie sa faca urmatoarele: - Sa descopere care sunt vecinii sai si sa afle adresele de retea ale acestora; - Sa masoare intarzierea sau costul pana la fiecare din vecinii sai; - Sa pregateasca un pachet prin care anunta pe toata lumea ca tocmai a treminat de cules datele despre vecini; - Sa trimita acest pachet catre toate celelelalte rutere; - Sa calculeze cea mai scurta cale spre fiecare ruter. 5. Algoritmi de control al congestiei: principii generale privind controlul congestiei, politici de prevenire a congestiei. Atunci cand foarte multe pachete sunt prezente intr-o subretea (sau o parte a unei subretele), performantele se degradeaza. Aceasta situatie se numeste congestie. Controlul congestiei trebuie sa asigure ca subreteaua este capabila sa transporte intreg traficul implicat.

Clasa de trafic: corespunde tipului de serviciu din cazul IPv4. Eticheta flux: identifica pachetele care apartin aceluiasi flux. Lungimea payload: lungimea antetulti IPv6. Urmatorul antet: identifica tipul de antet care urmeaza imediat dupa antetul IPv6: antet de extensie sau antet al stratului de transport (TCP sau UDP). Limita hop: rol similar camapului timp viata din IPv4. Valoarea este decrementata cu 1 de catre fiecare nod prin care trece pachetul. Daca valoarea este 0, pachetul este eliminat. Adresa sursa si adresa destinatie: similar IPv4. Formatul adresei IPv6: 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 4. Algoritmi de dirijare: rolul algoritmilor de dirijare, algoritmi de dirijare bazati pe vectori de distanta, algoritmi de dirijare bazati pe starea legaturilor.

Politici de prevenire a congestiei La nivel legatura date: politica de retransmitere, de memorare temporara a pachetelor in afara de secventa, de confirmare, de control al fluxului La nivel retea: circuite virtuale contra datagrame in interiorul subretelei, plasarea pachetelor in cozi de asteptare si politici de servire, politica de distrugere a pachetelor, algoritimi de dirijare, gestiunea timpului de viata a pachetelor La nivel trasnport: politica de retransmitere, de memorare temporara a pachetelor in afara de secventa, de confirmare, de control al fluxului, determinarea timeout-ului 6. Protocoalele de trasport TCP si UDP: antetul TCP, antetul UDP, stabilirea si eliberarea conexiunii TCP, managementul conexiunii TCP.

Campurile Port sursa si Port destinatie identifica punctele finale ale conexiunii. Numar de secventa si Numar de confirmare au semnificatia functiilor lor uzuale. Trebuie observat ca cel din urma indica octetul urmator asteptat si nu ultimul octet receptionat in mod corect. Lungimea antetului TCP indica numarul de cuvinte de 32 de biti care sunt continute in antetul TCP. Aceasta informatie este utila deoarece campul Optiuni este de lungime variabila proprietate pe care o transmite astfel si antetului. URG este pozitionat de 1 daca Indicatorul Urgent este valid. Indicatorul Urgent este folosit pentru a indica deplasamentul in octeti fata de numarul curent de secventa la care se gaseste informatia urgenta. Bitul ACK este pozitionat pe 1 pentru a indica ca deplasamentul in octeti fata de numarul curent de secventa la care se gaseste informatia urgenta. Bitul ACK este pozitionat pe 1 pentru a indica ca deplasamentul in octeti fata de numarul curent de secventa la care se gaseste informatia urgenta. Bitul ACK este pozitionat pe 1 pentru a indica faptul ca Numarul de confirmare este valid. Bitul PSH indica informatie fortata. Bitul RST este folosit pentru a desfiinta o conexiune care a devenit inutilizabila datorita defectiunii unei masini sau oricarui alt motiv. Bitul SYN este utilizat pentru stabilirea unei conexiuni. Bitul FIN este folosit pentru a incheia o conexiune. Campul Fereastra indica numarul de octeti care pot fi trimisi incepand de la octetul confirmat. Suma de control in scopul obtinerii unei fiabilitati extreme. Campul Optiuni a fost proiectat pentru a permite adaugarea unor facilitati suplimentare neacoperite de antetul obisnuit.

Cele doua porturi identifica cele doua sisteme de calcula care comunica. Cand un pachet UDP soseste inacarcatura lui este preluata de procesul atasat portului destinatie. Pe scurt, porturile asigura livrarea segmentelor aplicatiei corecte. Portul sursa este necesar in cazul in care receptorul trebuie sa raspunda emitatorului. Campul lungime UDP include antetul de 8 octeti si datele. Suma de control este optionala si se foloseste pentru cresterea fiabilitatii.

n TCP, realizarea conexiunii presupune o secven de trei pachete trimise ntre cele dou gazde, cunoscut sub numele nelegere n trei pai. Pentru stabilirea conexiunii, serverul ateapt n mod pasiv o cerere de conexiune prin execuia primitivelor LISTEN i ACCEPT. n acelai timp, clientul, va trimite un pachet prin care specific adresa IP i portul la care dorete s se conecteze, dimensiunea maxim a segmentului TCP pe care este dispus s o accepte, i opional o informaie utilizator (de exemplu, o parol). Primitiva CONNECT trimite un pachet avnd bitul SYN = 1 i bitul ACK = 0, dup care ateapt un rspuns. Atunci cnd sosete la destinaie un segment, entitatea TCP receptoare verific dac nu cumva exist un proces care a executat LISTEN pe numrul de port specificat n cmpul port destinaie. n caz contrar, trimite un rspuns cu bitul RST = 1, pentru a refuza conexiunea.

Conexiunea full-duplex dintre dou gazde poate fi vazut ca dou conexiuni semiduplex. Fiecare legtur semi-duplex este eliberat independent de perechea sa. Pentru a se realiza ntreruperea conexiunii, oricare dintre cele dou gazde pot cere acest lucru cu ajutorul flagului FIN. Deoarece cnd una din gazde cere ntreruperea conexiunii cealalt poate transmite date, ntreruperea conexiunii se face simultan n

ambele pri. Procedeul este realizat similar realizrii conexiunii fiind realizat printr-o secven de trei pachete. Dac un rspuns la un FIN nu este recepionat pe durata a cel mult dou cicluri maxime de via ale unui pachet, emitorul FIN-ului elibereaz conexiunea. Cealalt parte va observa c nimeni nu mai pare s asculte la cellalt capt al conexiunii i va elibera conexiunea n urma expirrii unui interval de timp. PROGRAMARE ORIENTATA OBIECT 1. Introducere descriptiva in POO. Problematica, terminologie, caracteristici POO. Caracteristici explicite: incapsulare, mostenire, polimorfism; implicite: abstractizarea Incapsulare = proprietatea obiectelor de a-si ascunde o parte din date si metode. Din exteriorul obiectului sunt vizibile numai datele si metodele publice. Mostenire = mecanism care permite unei clase A sa mosteneasca atributele si metodele unei clase B. In acest caz obiectele clasei A au acces la membrii clasei B fara a fi nevoie sa le redefinim. Polimorfism = capacitatea unei entitati de a lua diferite forme. Abstractizare = procesul de grupare al datelor si metodelor de prelucrare specifice rezolvarii unei probleme. 2. Incapsulare. Clase. Variabile locale. Variabile de instanta si variabile de clasa. Metode de instanta si metode de clasa. Referinta this. Controlul accesului (privat, implicit, public). Constructori. Colectorul de gunoaie. Clasa = definirea unui tip de obiecte abstracte sau concrete, adica descrierea proprietatilor, a datelor si a metodelor, a prelucrarilor posibile asupra datelor. Clasa este de fapt o notiune abstracta care defineste un anumit tip de obiecte sau altfel spus o clasa reprezinta multimea posibila a mai multor obiecte de acelasi tip. Variabile locale = sunt declarate intr-o metoda si sunt vizibile doar in metoda respectiva, sau declarate intr-un bloc de cod, vizibile doar in blocul respectiv. Variabile de instanta = cand declaram o variabila membra fara modificatorul static cum ar fi in exemplul de mai jos: Class Exemplu { Int x; //variabila de instanta

} Se declara de fapt o variabila de instanta ceea ce inseamna ca la fiecare creeare a unui obiect al clasei Exemplu sistemul aloca o zona de memorie separata pentru memorarea valorii lui x. Exemplu ob1 = new Exemplu (); Ob1.x = 100; Expemplu ob2 = new Exemplu(); Ob2.x = 200; Fiecare obiect nou creat va putea memora valori diferite pentru variabilele sale de instanta. Variabile de clasa = sistemul aloca o singura zona de memorie la care au acces toate instantele clasei respective, ceea ce inseamna ca daca un obiect modifica valoarea unei variabile statice ea se va modifica si pt toate celelalte obiecte. Metoda de instanta = sunt declarate fara modificatorul static. Opereaza atat pe variabilele de instanta cat si pe cele statice ale clasei. Metodele de clasa = sunt declarate cu modificatorul static. Opereaza doar pe variabilele statice ale clasei. Class Exemplu { Int x; //var de instanta Static long n; //var de clasa Void metodadeInstanta() { N++;//corect x--;//corect } Static void metodadeClasa() { N++;//corect x--;//eroare la compilare } } Referinta this/super = variabile predefinite care fac referinta in cadrul unui obiect la obiectul propriu-zis (this) respectiv la instanta parintelui (super). Sunt folosite pentru a rezilva conflicte de nume prin referirea explicita a unei variabile sau metode membre. Controlul accesului (private, implicit, public) = modificatorii de acces sunt cuvinte rezervate ce controleaza accesul celorlalte clase la membrii unei clase.

Specificatorii de acces pentru variabilele si metodele unei clase sunt: public, difere fie prin numarul argumentelor fie prin tipul lor) astfel incat la apelul protected, private si implicit. Public permite accesul complet din exteriorul functiei cu acel nume sa se poata stabili in mod unic care dintre ele se executa. clasei curente. Private limiteaza accesul doar in cadrul clasei curente. Protected Suprascrierea metodelor = o subclasa poate rescrie o metoda a clasei parinte limiteaza accesul doar in cadrul clasei curente si al tuturor descendentilor ei. prin impelementarea unei metode cu acelasi nume si aceeasi signatura ca ale Constructor = metoda speciala care are acelasi nume cu cel al clasei nu superclasei. returneaza nicio valoare si sunt folositi pentru initializarea obiectelor aceleiasi class A { clase in momentul instantierii lor. void metoda() { Colectorul de gunoaie = proces de prioritate scazuta care se executa periodic System.out.println("A: metoda fara parametru"); scaneaza dinamic memoria ocupata de programul aflat in executie si } marcheaza acele obiecte care au referinte directe sau indirecte. Dupa ce toate // Supraincarcare void metoda(int arg) { obiectele au fost parcurse cele care au ramas nemarcate sunt eliminate System.out.println("A: metoda cu un parametru"); automat din memorie. } } 3. Mostenire. Mostenire simpla. Clase derivate si superclase. Referinta super. class B extends A { Mostenire multipla. Interfete. Control acces (implicit, protejat, public). // Supradefinire Mostenire simpla = este mostenita o singura clasa. void metoda() { Mostenire multipla = o clasa mosteneste 2 sau mai multe clase sau mosteneste System.out.println("B: metoda fara parametru"); } o clasa care la randul ei a mai mostenit o clasa. } Clasa derivata = mosteneste toti membrii clasei de baza (cu exceptia unor: Legare statica/legare dinamica = legarea este statica daca inainte de executarea constructor, destructor, functia operator de asignare). programului se poate sti care metoda este apelata si este dinamica daca numai in Superclase = pornind de la o clasa data se poate crea o alta clasa, care o extinde momentul executarii se decide metoda care va fi apelata. (mosteneste) pe aceasta. Noua clasa va avea toate datele membru si toate Polimorfism in timpul compilarii = se obtine prin supraincarcarea metodelor si metodele clasei de la care s-a pornit carora li se pot adauga noi data membru operatorilor impereuna sau fara proprietatea de mostenire. si/sau noi metode. Clasa care este extinsa se numeste superclasa, iar noua clasa Polimorfism in timpul rulari = este realizat prin mostenire si functii virtuale. se numeste subclasa. BAZE DE DATE Interfete = definesc un set de metode dar nu specifica nicio implementare pentru ele. O clasa care implementeaza o interfata trebuie obligatoriu sa 1. Baze de date relaionale specifice implementari pentru toate metodele interfetei. O baz de date este o colecie de date centralizate, creat i meninut computerizat, n scopul prelucrrii datelor (introducere, tergere, actualizare, interogare) n contextul 4. Polimorfism. Supraincarcarea metodelor. Suprascrierea metodelor. Legare unui set de aplicaii. statica si legare dinamica. Polimorfism in timpul compilarii si polimorfism in timpul rularii. 2. Diagrame entiti-relaii (ERD) Supraincarcarea metodelor = in cadrul unei clase pot exista metode cu acelasi Diagrama entitate-relaie (ERD) este o reprezentare la nivel nalt a bazei de date, ceea nume cu conditia ca signaturile lor sa fie diferite (lista de argumente primite sa ce nseamn c asigur perceperea datelor de ctre utilizator i ascunde aspectele tehnice asociate proiectrii. Principalele concepte:

Entitate, un obiect sau concept din baza de date, avnd existen proprie Relaie, o asociere ntre dou sau mai multe entiti Atribut, o proprietate caracteristic unei entiti sau relaii

Reprezint execuia unor teste asupra unei tabele pentru a cerceta apartenena la forma normal. Se urmrete asigurarea unei construcii bune a tabelei, prin eliminarea anomaliilor care pot aprea. 9. Limbajul SQL Este un limbaj de interogare standardizat ANSI i ISO, neprocedural i declarativ, deoarece utilizatorul nu trebuie s descrie modul de procurare a datelor, ci doar datele propriu-zise. Are ca scop inserarea datelor, interogaii, actualizare i tergere, precum i controlul accesului la date. 10. Selecia informaiilor din tabelele unei baze de date. Comanda Select Regsirea datelor din una sau mai multe tabele se face cu comanda SELECT. Sintaxa minimal: SELECT camp FROM tabel

3. Cardinaliti Cardinalitatea se specific pentru fiecare entitate participant i reprezint numrul de instane a fiecrei entiti participante. Valoarea minim poate fi 0 (participare opional) sau 1 (participare obligatorie). Valoarea maxim poate fi 1 (o instan a unei entiti poate fi asociat doar unei singure instane a altei entiti) sau n (o instan a unei entiti poate fi asociat mai multor instane ale altei relaii). Cardinalitatea poate fi de trei tipuri: 1 la 1 (o entitate este asociat unei singure entiti) 1 la n (mai multe entiti i se asociaz unei singure entiti) m la n (mai multe entiti se asociaz mai multor entiti)

12. Funcii SQL Principalele funcii de grup SQL: COUNT (numr nregistrrile), AVG (media), MIN 4. Chei primare (PK) Identific n mod unic o anumit nregistrare din tabel i faciliteaz comunicarea cu alte (minim), MAX (maxim), SUM (suma valorilor). tabele din baza de date. Nu sunt permise valori nedefinite n atributele cheii primare. 13. Selectarea din mai multe tabele: Join Operaia prin care se obine un rezultat pe baza datelor din mai multe tabele se 5. Chei strine (FK) Face referire la o cheie primar din alt tabel, neffind necesar unicitatea acesteia. Rolul numete JOIN. Este necesar ca tabelele s aib coloane comune. Exist 4 tipuri: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN. ei este de a face legtura cu un alt tabel. 14. Gruparea datelor 6. Chei alternative (AK) Fiecare cheie neredondant a unei relaii, din care nu poate fi exclus niciun atribut, Clauza GROUP BY se folosete pentru a grupa nregistrrile pe baza unor criterii, n scopul calculrii de valori statistice pentru fiecare grup n parte. n acest caz rezultatul astfel ca s rmn cheie. cererii va conine cte o linie pentru fiecare grup identificat. Sintaxa: GROUP BY coloana1 [, coloana2 ...] 7. Forme normale Forma normal a unei tabele ofer un schelet formal pentru analiza relaiilor, bazat pe chei i pe dependena dintre atribute. Tipuri de forme normale: de ordin 1, ordin 2, 15. Actualizarea datelor: Insert, Update, Delete Insert, Update, Delete sunt comenzi SQL pentru manipularea (actualizarea) datelor. ordin 3 i Boyce-Codd. Insert, introducerea de noi date Update, actualizarea datelor stocate 8. Procesul normalizrii Delete, tergerea unor date existente n baza de date

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