Sunteți pe pagina 1din 681

Jecan Sergiu

sergiu.jecan@econ.ubbcluj.ro
Retea de calculatoare
Materiale bibliografice

 Tomai N., Reţele de calculatoare, structuri, programare, aplicaţii, Ed.


Risoprint, 2013, Cluj-Napoca.
 Nicolae Tomai, Rețele de calculatoare lucrări de laborator, Ed. Risoprint,
2018
 Nicolae Tomai, Cătălin Tomai, Reţele de calculatoare fără fir, Ed. Risoprint,
2006, ISBN:973-751-361-4, 978-973-751-361-8, 296 pagini
 Tanenbaum A.S., Computer Networks, Prentice Hall, New Jersey, 1988
 Andrew Tanenbaum, Rețele de calculatoare(ed. 4-a), Byblos, Tg. Mures, 2003
 Silaghi GC, Tomai N, Tehnologii si aplicatii mobile, Ed. Risoprint, 2012
Istoria INTRENET
An Eveniment

Compania BELL a creat primul modem care să poată transmite date binare pe o linie
1958
telefonică simplă
Conectarea primelor calculatoare între patru universități americane de către Leonard
Kleinrock (University of California Los Angeles; Stanford Research Institute; University of
1969 California, Santa Barbara; University of Utah School of Computing)
29 octombrie 1969 – primul mesaj intre 2 calculatoare aflate la distanta intre University of California si
Standford (Login – din care s-au trimis doar primele 2 caractere)

23 de calculatoare sunt conectate la ARPANET (Advanced Research Projects Agency


1971 Network). Trimiterea primului e-mail de către Ray Tomlinson. Honeywell 516 - containing
only 12 kilobytes ram

1973 Anglia și Norvegia se conectează la Internet, fiecare cu câte un calculator.


1982 Definirea protocolului TCP/IP și a cuvântului Internet.
1983 Paul Mockapetriss si Jon Postel inventeaza notiunea de DNS
1984 1000 de calculatoare conectate.
1987 10.000 de calculatoare conectate.
1989 100.000 de calculatoare conectate.
1991 Se anunță public World Wide Web - Tim Berners-Lee
1992 1 milion de calculatoare conectate.
1993 Apariția primului browser web NCSA Mosaic
1996 10 milioane de computere conectate.
2000 368 milioane de calculatoare)
1957 – Rusia lanseaza primul satelis in spatiu Sputnik
=> United States Department of Defense pune
accentual pe stiinta si tehnologie => ARPA

1961 => proiect de cercetare care salveaza datele /


informatiile vitale in cazul unui atac nuclear

=> Informatiile sa fie divizate in blocuri sau pachete


care sa fie trimise de la expeditor la destinatar;
sistemul va trimite date chiar si in cazul unui atac
nuclear.
Scurt istoric al reţelei internet

 1958 – ARPA
 1972 – FTP
 1975 – newsgroups
 1995 – comert electronic
 1994 – Yahoo
 2004 - Google
WORLD INTERNET USAGE AND POPULATION STATISTICS
Usage
Population Population Internet Usage, % Population Usage Growth
World Regions
(2008 Est.) % of World Latest Data (Penetration) % of World 2000-
2008
Africa 955,206,348 14.3 % 51,022,400 5.3 % 3.6 % 1030 %

Asia 3,776,181,949 56.6 % 529,701,704 14.0 % 37.6 % 363.4 %

Europe 800,401,065 12.0 % 382,005,271 47.7 % 27.1 % 263.5 %

Middle East 197,090,443 3.0 % 41,939,200 21.3 % 3.0 % 1176.8 %

North America 337,167,248 5.1 % 246,402,574 73.1 % 17.5 % 127.9 %

Latin
576,091,673 8.6 % 137,300,309 23.8 % 9.8 % 659.9 %
America/Caribbean

Oceania / Australia 33,981,562 0.5 % 19,353,462 57.0 % 1.4 % 154.0 %

WORLD TOTAL 6,676,120,288 100.0 % 1,407,724,920 21.1 % 100.0 % 290.0 %

NOTES: (1) Internet Usage and World Population Statistics are for March 31, 2008. (5) For definitions, disclaimer, and navigation
help, please refer to the Site Surfing Guide, now în ten languages. (6) Information în this site may be cited, giving the due credit
to www.internetworldstats.com. Copyright © 2001 - 2008, Miniwatts Marketing Group. All rights reserved worldwide.
Rețele de calculatoare
◼ Vom vedea conceptele rețelelor de
calculatoare
◼ Vom trata partea de structura a
rețelelor de calculatoare
◼ Vom vedea elemente de programare a
rețelelor de calculatoare
◼ Vom vedea principalele aplicatii in
rețele de calculatoare(Internet)
Istoria rețelelor si Internetului

▪ 1969-se realizeaza ARPANET-rețea de 4 calculatoare in cadrul


ARPA(Advanced Research Projects Agency), plecând de la ideile
lui P. Baran, L. Kleinrock de la (MIT) si J. Licklider
▪ 1972-Robert Kahn demonstrează public tehnologiile de rețea;
Ray Tomlinson scrie primul program de posta electronica(e-mail)
si stabileste ca simbolul @ sa fie separator intre numele casutei
postale si adresa serverului de mail
▪ 1973-DARPA –rețele interconectate: Robert Metcalf(Xerox Park)
dezvolta tehnologia Ethernet care permite transferul de date pe
cablul coaxial
Istoria rețelelor si Internetului

▪1974-Vincent Cerf&Robert Hahn propun protocolul de comunicatie


TCP (Transmission Control Protocol)
▪1978-se lanseaza suita de protocoale TCP/IP, standardizata prin
documentele RFC(Request For Comments)
▪1986-NSFNET-coloana vertebrala a Internetului
▪Servicii de: e-mail, Transfer de fisiere(FTP), grupuri de stiri,
▪1988-servici de chat(IRC)
▪1990-apare navigarea prin aplicatia WWW(World Wide Web)
▪1997-apare prima placa standardizata pentru rețele locale fara fir (cu
viteza de 2Mb/s)
Istoria rețelelor si Internetului
Rețele de calculatoare si sisteme
distribuie

▪rețeaua de calculatoare este o colectie interconectata de calculatoare sau


alte dispositive de comunicatie( de ex. smartphone-uri, senzori,etc. )
autonome
▪sau folosirea resurselor de calcul-hard si soft-, precum şi a resurselor de
comunicaţii pentru transmiterea şi recepţionarea datelor, partajarea fisierelor, etc.
▪O reţea este compusă în principal din noduri şi legături(conexiuni), putând fi
asimilată cu un graf. Nodurile sunt elementele de comutare în reţea, adică sunt:
componente care trimit date, recepţionează aceste date, precum şi elementele
intermediare care retransmit aceste date. Intre noduri există legături/conexiuni
▪Sistemul distribuit presupune că resursele sunt distribuie calculatoarelor fără ca
acestea să-şi păstreze autonomia
▪Scop&utilizări:
–partajarea resurselor(fizice, logice, date)
–fiabilitate& reducerea costurilor
–mediu de comunicare între oameni
–acces la informaţii de la distanţă
–divertisment interactiv
UTILIZĂRILE REŢELELOR DE
CALCULATOARE

•Aplicatii Comerciale
•Home Applications
•Mobile Users
•Social Issues

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Business Applications

?
Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Business Applications

Partajarea echipamentelor, datelor


Comunicare intre angajati (chat, email,
documente collaborative, videoconferinte)
B2B
B2C

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Business Applications (1)

A network with two clients and one server

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Business Applications (2)

The client-server model involves requests and replies

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Home Application
De ce aveti calculatoare acasa ?

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Home Application
În 1977 Ken Olsen era preşedinte al Digital Equipment Corporation, care era
pe vremea aceea a doua companie în lume în vânzarea de calculatoare (după
IBM). Atunci când a fost întrebat de ce Digital nu se implică mai mult în piaţa
calculatoarelor personale, el a răspuns: „Nu există nici un motiv ca fiecare
individ să aibă un calculator acasă.” Istoria a arătat că răspunsul a fost greşit,
iar Digital nu mai există. De ce cumpără oamenii calculatoare pentru a le folosi
acasă? La început, pentru prelucrarea de texte şi pentru jocuri, dar în ultimii
ani această imagine s-a schimbat radical. Probabil că în acest moment cel mai
important motiv este accesul la Internet.

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Home Application
Cele mai populare utilizări ale Internet-ului pentru utilizatorii casnici sunt
următoarele:
1. Accesul la informaţie de la distanţă.
2. Comunicaţiile interpersonale.
3. Divertismentul interactiv
4. Comerţul electronic

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Home Applications (1)

In a peer-to-peer system there are no fixed clients and servers.

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Home Applications (2)

Some forms of e-commerce

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Mobile Users

Combinations of wireless networks and mobile computing

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Mobile Users

Unul dintre lucrurile importante după care comerţul mobil s-a orientat
este acela că utilizatorii de telefoane mobile sunt obişnuiţi să
plătească pentru tot (spre deosebire de utilizatorii de Internet,
care aşteaptă totul gratis). Dacă un sit Internet ar impune o taxă
pentru a permite utilizatorilor săi să plătească prin intermediul cărţii de
credit, s-ar naşte o grămadă de proteste zgomotoase din partea
utilizatorilor. Dacă un operator de telefonie mobilă ar permite
oamenilor să plătească pentru articolele dintr-un magazin folosind
telefonul şi apoi le-ar fi impus o taxă pentru acest serviciu, probabil că
totul ar fi fost perceput ca normal. Timpul va decide.

Computer Networks, Fourth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2003
Mobile Users

Ceva mai departe în timp sunt reţelele personale (personal area


networks) şi calculatoarele la purtător (wearable computers). IBM a
dezvoltat un ceas care rulează Linux (inclusiv sistemul de
ferestre X11) şi are conexiune fără fir la Internet pentru a trimite şi
primi mesaje prin poşta electronica (Narayanaswami et al., 2002). În
viitor, oamenii vor putea schimba cărţi de vizită numai prin
punerea ceasurilor lor faţă în faţă. Calculatoarele la purtător, fără fir,
vor putea permite accesul oamenilor în încăperi securizate în acelaşi
fel în care cardurile cu benzi magnetice o fac astăzi (probabil
că vor lucra în combinaţie cu un cod PIN sau cu măsurători
biometrice). Este posibil ca aceste ceasuri să fie capabile chiar să
obţină informaţiile relevante în vecinătatea utilizatorului (de exemplu
restaurante locale). Posibilităţile sunt infinite.

Computer Networks, Fourth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2003
Mobile Users

Praful inteligent?
Cercetătorii de la Berkley au construit un calculator fără fir într-un cub
cu latura de 1 mm (Warneke et al., 2001).
Aplicaţiile potenţiale includ evidenţa stocurilor, pachetelor, ba chiar şi
a păsărelelor, rozătoarelor şi insectelor.

Computer Networks, Fourth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2003
Social Issues

•Impersonare (asl pls)


•Phishing
•Cookies
•Anonimitate / Incognito

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Network Hardware (1)

•Personal area networks ( PAN)


•Local area networks (LAN)
•Metropolitan area networks (MAN)
•Wide are networks (WAN)
•The internet

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Network Hardware (2)

Classification of interconnected processors by scale.

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Personal Area Network

Bluetooth PAN configuration

? Ce mediu se
utilizeaza pt
transmitere

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Local Area Networks

Wireless and wired LANs. (a) 802.11. (b) Switched Ethernet.

Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Metropolitan Area Networks

A metropolitan area network based on cable TV.


Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Wide Area Networks (1)

WAN that connects three branch offices in Australia


Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Wide Area Networks (2)

WAN using a virtual private network.


Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Wide Area Networks (3)

WAN using an ISP network.


Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011
Comunicarea

Moduri de comunicare in rețea


▪Comunicarea intre procese
memorie partajata (shared memory)
semnale(signals)
socluri(sockets)
▪Comutarea de
circuite
mesaje
pachete
celule
▪Comunicarea prin mesaje(pachete)
sincrona
asincrona
Notiuni primare

▪ Legătura: conexiune realizată între membrii rețelei


▪ Nod:calculator al unei rețele, având asociată o adresă
▪ Resursă:programe, echipamente, date
▪Comunicaţie:modul de a schimba informaţii între calculatoarele unei
rețele(folosind canale)
▪ Protocol: regulile prin care se realizeaza comunicaţia
▪ O stivă sau o suită de protocoale reprezintă un grup de protocoale ce
comunică între ele prin funcţii riguros definite.
▪Difuzare:trimiterea de informatii la mai multe calculatoare(multicast) sau
la toate(broadcast)
▪ Pachet:modalitate de stocarea datelor
▪ Host- sistem de calcul/calculator care este legat în reţea
Tipuri de rețele
▪ După componente: omogene sau eterogene
▪ După dispunerea spatiala:
• –PAN(Personal Area Network), pe ‘d’ < zeci de metri
• –LAN(Local Area Network) –camera,cladire,campus,
pe zeci de m <d< câțiva km
• –MAN(Metropolitan Area Network) –oraș, câțiva km< d <zeci de km
• –WAN(Wide Area Network) –tara,continent , pe d>zeci de km
• –Internet–planeta
▪Conform legăturii pentru transmisie
• –rețele cu difuzare(un singur canal de comunicatie)
• –rețele peer to peer–punct‐la‐punct
(conexiuni multiple între perechi de maşini/sisteme de calcul
▪Conform modului de transmisie
• -cu legături în banda de bază(baseband, narowband)-pe un
canal
• -cu legături în bandă largă(broadband, )- pe mai multe canale
Rețele cu difuzare
Rețele punct la punct
Topologii
Topologii
Comunicarea folosind straturi
Protocoale de comunicatie-Straturi
Protocol de comunicatie
• Putem spune ca pentru reducerea complexitatii proiectarii rețelei
activitatea de comunicare se organizeaza in straturi (niveluri)
într-o ierarhie pe/de niveluri. Deci:
Datorită complexităţii legăturilor realizate prin reţele( care conţin
elemente hard, soft şi comunicaţii), pentru structurarea
funcţionalităţilor pe care trebuie să le realizeze/îndeplinească
elementele componente ale reţelelor, se foloseşte gruparea
funcţiilor în seturi relativ omogene care sunt realizate de
straturi/nivele, cu funcţii bine determinate.
• Interfata –asigura comunicarea intre doua niveluri consecutive
• Serviciu – furnizeaza functionalitatea unui nivel
• Entitati – componentele hard sau soft ale unui strat/nivel
• Principiul de baza: ceea ce se primeste la destinatar la nivelul n
este exact ceea ce se transmite la emitator la nivelul n
Protocoale-Straturi(niveluri)
◼ Un strat trebuie sa aiba un anumit numar de
functii care sa le indeplineasca. Aceste
functii sunt indeplinite de entitati (ex:
hardware, software)
◼ Legatura dintre structuri se face prin
punctele de acces la servicii – PAS
◼ Doua calculatoare legate in rețea
(noduri/hosturi) trebuie sa se supuna
acelorasi reguli indiferent de modul de
constructie sau programele care le folosesc.
Protocoale

◼ Prin folosirea nivelelor ierarhice se descriu funcţiile fiecărui


strat/nivel, modul lor de implementare şi protocoalele folosite.
◼Putem spune ca un protocol ( din punct de vedere al reţelelor de
calculatoare ) este un set de reguli care gestionează modul în care
două noduri dintr-o reţea schimbă informaţii, la acelaşi nivel
Arhitectura de rețea
multimea de niveluri si de protocoale precum si topologia si modul
de legare a nodurilor din rețea
Stiva de protocoale
multimea protocoalelor (pe toate nivelurile)
De ex: stiva TCP/IP(protocoalele: IP, ICMP, OSPF, RIP, TCP,
UDP, SSH, FTP, HTTP, etc.)
Protocol

Transmiterea mesajelor:
– Antetul (header) identifica fiecare
nivel
– Exista un specificator de terminare
a mesajului(trailer)
–Intre header si trailer exista stocat
mesajul
Protocol
Probleme:
– identificarea emitatorilor & receptorilor
–stabilirea regulilor la transferul de date:
comunicare:simplex semiduplex fullduplex
– controlul erorilor
– reconstituirea ordinii corecte a mesajelor
– impartirea/asamblarea mesajelor
– multiplexarea
– gasirea drumului (dirijarea datelor – routing)
Protocol
Tipuri de servicii:
– orientat conexiune – serviciul
telefonic
• Inainte de comunicarea propriu-zisa,
trebuie stabilita o conexiune
– fara conexiune –serviciul postal
•Nu necesita ca in prealabil sa
se stabileasca o conexiune
Protocol

• Fiecare serviciu este caracterizat


prin calitatea
sa: siguranta, confirmare,...
• Un serviciu este specificat
printr-un set de primitive disponibile:
Request_Indication
Response_Confirm
ISO/OSI Internation Standard Organisation/Open
Sistem Interconnect- Interconectarea
Sistemelor Deschise
ISO/OSI Internation Standard Organisation/Open
Sistem Interconnect-Sisteme deschise

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 suficient de mic pentru ca
arhitectura să rămână funcţională.
Modele de arhitecturi de rețea
OSI si TCP/IP
Modelul TCP/IP
Nivelul fizic

◼ Asigura mijloacele mecanice, electrice,


functionale si procedurile necesare
pentru accesul la mediul de
comunicatie.
◼ Se ocupă de transmiterea biţilor printr-un
canal de comunicaţie.
Noduri intre sursa si destinatie
Nivelul legatura de date-LAN

◼ Nivelul legaturii de date – creaza transmisia intre nodurile


adiacente
◼ Obliga emiţătorul să descompună datele de intrare în
cadre de date (în mod tipic, câteva sute sau câteva mii
de octeţi) şi să transmită cadrele secvenţial.
◼ Controlul erorilor intre nodurile adiacente
◼ Accesul la mediu
◼ Controlul fluxului - evitarea inundării unui receptor lent cu date
provenite de la un emiţător rapid
◼ Rețele locale cu magistrala de difuzare , adică pentru mediile
de transmisie care constitue canalul unde sunt legati mai multi
utilizatori, problemele care se pun in acest caz sunt legate de
cazul in care avem mai multi utilizatori care doresc sa
transmita printr-un singur mediu de transmisie. (subnivelul
control al accesului la mediu.
Nivelul rețea
◼ Are ca funcție principala dirijarea pachetelor intre 2 sau mai
multe noduri aflate in comunicare in conditiile existentei de
noduri intermediare in rețea.
◼ Dirijarea pachetelor către destinatie se face prin utilizarea
de adrese de statii unice la nivel global, care sunt
transferate ca parametri de la nivelul transport.
◼ Dacă în subreţea există prea multe pachete simultan, ele vor
intra unul pe traseul celuilalt şi astfel se vor produce gâtuiri.
Controlul unor astfel de congestii îi revine tot nivelului reţea.
◼ Cand un pachet trebuie să călătorească dintr-o reţea în alta
ca să ajungă la destinaţie, este posibil ca a doua retea sa nu
accepte pachetul pentru ca este prea mare.
Nivelul rețea-Noduri
Nivelul transport
▪ nivelul transport – ofera legaturi virtuale
end to end intre procese perechi, controleaza fluxul
Realizeaza transferul transparent al datelor pe o
legatura stabila asigurand un serviciu capat la capat
(end to end) cu o integritate ridicata a datelor.
◼ Nivelul transport trebuie să accepte datele de la
nivelul sesiune, să le descompună,dacă este
cazul, în unităţi mai mici, să transfere aceste
unităţi nivelului reţea şi să se asigure că toate
fragmentele sosesc corect la celălalt capăt.
◼ Acest lucru se realizeaza in esenta prin utilizarea
de protocoale bazate pe confirmare, care implica
transmisia, retransmisia si recuperarea erorilor.
◼ Acest nivel are facilitati de:
- Control de flux
- Multiplexare (semnale multiple sunt combinate într-un singur semnal într-un mediu comun de transmisie; scopul
este de a partaja o resursă scumpă, mediul de transmisie)
- Blocare (creare de blocuri)
Nivelul transport
Nivelul transport:
mecanism de verificare a comunicarii expeditor-
destinatar(comunicare end to end – capat-la-capat)
-ofera servicii orientate-conexiune & fara conexiune–
calitatea serviciilor (QoS – Quality of Service):
intirzierea in stabilirea conexiunii, probabilitatea
de insucces la stabilirea conexiunii, rata de eroare,
-protectia, prioritatea, rezilienta (probabilitatea
ca o conexiune sa se inchida din ratiuni interne)
Nivelul sesiune

◼ Are rolul de a imparti activitatea de transfer intre A si


B in sesiuni de lucru. Nivelul sesiune: se refera
la probleme de stabilire de sesiuni (controlul
dialogului – ordinea in care transmit,
sincronizarea, autentificarea)
Nivelul prezentare

◼ Are rolul principal de prezentare a datelor


privind sintaxa lor si modul de codificare.
◼ se ocupa de prezentarea datelor,
codificandule intr-un format standard (e.g.,
ASCII, Unicode)
Nivelul aplicatie

◼ Functiile:
- Transfer fisiere
- Accesul si gestiunea fisierelor
- Posta electronica
- Servicii de terminal virtual
- Gestionarea retelei
- Navigarea

◼ Majoritatea aplicatiilor sunt realizate acest nivel si ele folosesc


servicii oferite de nivelele inferioare.
◼ La trimitere datele se impacheteaza la fiecare nivel iar la
receptie datele se despacheteaza eliminand antetele la fiecare
nivel.
Performantele rețelelor
◼ Performanta unei rețele de calculatoare este masurata folosing doi parametrii
fundamentali:
- Lărgimea/lățimea de bandă (DEBIT)
- Latența (INTARZIEREA)
Lărgimea de bandă-rata datelor
Este dată de numărul de biți care pot fi transmiși pe rețea într-o anumită
perioadă de timp (viteza transfer de date). Se exprima in Mbs( mega biti pe
secunda sau Gbs.
Latența
Corespunde intervalului maxim de timp necesar unui bit de a se propaga de la
o extremitate la alta a rețelei și se exprimă în unități de timp.
In unele cazuri este cu mult mai important să se cunoască intervalul de timp
necesar pentru a transmite un bit de la un capat la altul al rețelei și înapoi
decât latența într-un singur sens.
Acest parametru (dus-intors) poartă denumirea de RTT – Round Trip Time.
Deseori latența este concepută ca având 3 componente:
Latența = tp (d/viteza luminii) + tt (dimensiunea pachetului / lărgimea de
bandă) + tcozi(întârzierea în cozile de așteptare) ,
unde: d este distanta intre noduri(lungimea cablului);
tp este timpul de propagare
tt este timpul de transmitere
Rețele de calculatoare
Nivelul fizic

• Asigura mijloacele mecanice,


electrice, functionale si procedurile
necesare pentru accesul la mediul de
comunicatie.
Nivelul fizic
Se refera la mediul de transmisie
a datelor (transporta o secventa de biti de la o masina la alta;
se garanteaza receptia bitilor)
– medii de transmisie:
•cu fir(cablu torsadat, cablu coaxial, fibre optice)
• fara fir (unde electromagnetice de toate tipurile:
radio, microunde, infrarosii, unde luminoase (laser)
–se caracterizeaza prin latenta si largime de banda
Nivelul fizic
Cablul rasucit (torsadat) din fire de cupru
Ecranat-STP Shilded twisted pair
Neecranat-UTP – Unshilded twisted pair
Exista: UTP 3, UTP 4, UTP 5, UTP 6, UTP 7
Este format din 2 sau mai multe fire rasucite.
- Ieftin
- Usor de instalat
- Permite viteze de lucru mari
Cablul rasucit este cu atat mai bun cu cat numarul de
rasuciri pe o unitate de lungime este mai mare. (pt. ca
interferenta cu alte semnale este mai mica -> putem
transmite date cu viteze mai mari)
-Transmisia e afectata(perturbata) de factorii externi
precum: motoare electrice, transport electric, etc.
Nivelul fizic
Cablul coaxial
Cablu TV
- Ieftin
- Permite viteze mari de lucru
- Erorile de transmisie pe acest cablu sunt mici 10-9
Nivelul fizic
Cablul optic
- Foloseste pentru transmisie semnale luminoase
– cabluri optice mono-mod: se poate transmite o singura
frecventa
–cabluri optice multimod: se pot transmite mai multe
frecvente
Avantaje:
- Transmisiile nu sunt alterate de factori externi
- Permit viteze de lucru foarte mari
-Permit transmiterea unui numar foarte mare de
canale/frecvente.
Dezavantaje:
- Scumpe, dar cu preturi in scadere
-Necesita un personal specializat pentru instalare si
aparatura speciala pentru mufare si prelungire
Nivelul fizic
Comunicatii fara fir (mediile neghidate)
Folosirea undelor electro-magnetice de diferite frecvente.
▪ Unde radio:
- Usor de generat
- Pot parcurge distante mari
- Penetreaza cladirile cu usurinta
- In functie de frecventa se propaga cu atenuari mici pe distante
mari
Sunt absorbite de factori meteorologici (ploaie, etc.) si
interfereaza cu diverse echipamente electrice.
• Microundele
- Se propaga in linii drepte si concentreaza energia intr-un
fascicol ingust cu ajutorul unei antene parabolice.
• Undele infrarosii
- Se propaga pe distante scurte si sunt oprite de obstacole
Nivelul fizic

• Satelitii de comunicatie
Corpuri lansate in spatiu care receptioneaza semnalele venite de
pe pamant, le amplifica si apoi le retransmit.
La o altitudine de 35.800 km deasupra ecuatorului perioada
de rotatie a unui satelit este de 24 h si prin urmare satelitul
se invarte cu aceiasi viteza ca si pamantul si se numeste
geostationar.
- Pentru a evita interferentele este bine ca satelitii sa fie unul de
altul la o distanta de ce cel putin 2 grade in plan ecuatorial.
- La frecvente diferite 2 sau mai multi sateliti pot ocupa aceiasi
pozitie pe orbita.
Benzile care se folosesc:
• - C ( 4 – 6 GHz)
• - Ku ( 11 – 14 GHz)
• - Ka ( 20 – 30 GHz)
Nivelul fizic
Transmiterea datelor poate fi realizata
-analogic (valori continue) sau
-digital (valori discrete-digitale sau numerice)
Nivelul fizic
Data vs. semnal

necesitatea repetoarelor (amplificatoare de semnal)


Nivelul fizic
Nivelul fizic: problemele principale sunt legate de
atenuarea, zgomotul (interferenta) si distorsiunea
semnalului
Nivelul fizic
Daca intr-un mediu de transmisie se transmit semnale de mai multe
frecvente avem de a face cu transmisii in bandă largă iar dacă intr-
un mediu de transmisie trimitem un semnal de o singura frecvenţă
avem o transmisie in banda de baza.
• La distante scurte se foloseste banda de baza (cablul e scurt si deci
nu costa mult)-adaptoarele de retea(plăcile) sunt simple si deci
ieftine
• La distante mari(cablul e lung si deci costa mai mult) se foloseste
banda largă (multitudinea de frecvente este o problema si aparatura
este mai scumpa) –adaptoarele de retea sunt mai scumpe-
selectează frecvenţe
Nivelul fizic
• Numarul maxim de biti / secunda
= b log2 (1+S/N)
• b-banda canalului de transmisie
• S – Semnal
• N – Zgomot
• Mediul de transmisie care are banda
cea mai larga este cablul optic.
Nivelul fizic
• Pentru folosirea capacitatilor de transmisie a unui
mediu de comunicare se folosesc metode pentru
transmiterea datelor folosid diverse frecvente
prin acelasi mediu de transmisie sau transmisie la
momente(timpi) diferite.
• Acestea se numesc metode de multiplexare.
• Principalele metode de multiplexare:
• Multiplexare in frecventa FDM (frequency
division multiplexing)
• Multiplexare in timp TDM (time division
multiplexing)
Nivelul fizic
Divizarea(multiplexarea) in frecventa
Mediul de transmisie foloseste mai multe semnale in mai
multe frecvente, semnale care poarta date pentru
diverse utilizati.
Nivelul fizic
Multiplexarea in timp foloseste aceeasi frecventa dar ea
este alocata diverselor utilitati in timpi diferiti.
Nivelul fizic
• Modemul
• De multe ori conectarea persoanelor particulare sau a unor
intreprinderi la ISP (Internet Service Provider = Furnizor Servicii
Internet) se face prin linie telefonica, prin cablu tv sau prin unde
radio, folosdu-se un dispozitiv care se numeste modem.
• Modemul este un dispozitiv care permite transmiterea datelor de
la un calculator folosind semnale numite purtatoare.
• - Modulator
• - Demodulator
Nivelul fizic
• Modularile sunt de mai multe tipuri:
- Interne
- Externe
• Modemuri DSL(Digital subscriber line). DSL este o familie de
tehnologii care sunt utilizate pentru transmiterea datelor
digitale pe linii telefonice
• Pe cablu TV(CATV-varianta DSL), pe fibra optica, pe fir de Cu,
• Modemuri radio
Nivelul fizic
In cazul unui modem de tip DSL(ADSL) sau CATV o parte
din banda mediului de transmisie (un numar de
frecvente) este folosita pentru transmiterea de date iar
o alta parte este folosita pentru transmiterea de
semnale vocale sau semnale TV.
Nivelul fizic
Cele mai raspandite modemuri sunt cele care pot fi
programate. Ele se numesc modemuri inteligente sau
HAYES. Aceste modemuri se conecteaza cu calculatorul
prin 3 linii:
- TD (tranmitere date)
- RD (receptie date)
- Masa (electrica)
Protocoale de comunicatie la nivel
fizic si legatura de date

Privire de ansamblu
– nivelul fizic –
responsabil de transmiterea de biti pe un canal de comunicatie

nivelul legatura de date – ofera o legatura pentru


comunicarea fara erori, datele fiind divizate in cadre
(frames)
Nivelul legatura de date-LAN
• Nivelul legaturii de date – creaza transmisia intre
nodurile adiacente
• Retele locale cu magistrala de difuzare
• Pentru mediile de transmisie care constitue canalul
unde sunt legati mai multi utilizatori, problemele care
se pun in acest caz sunt legate de cazul in care avem
mai multi utilizatori care doresc sa transmita printr-un
singur mediu de transmisie.
Nivelul legatura de date-LAN
Nivelul legatura de date: ofera servicii nivelului retea,
unitatea de date fiind cadrul (frame); transforma un mijloc
fizic de transmisie intr-o linie disponibila nivelului retea
Are:
– servicii neconfirmate fara conexiune
(cadre independente catre destinatar, fara ca expeditorul sa
astepte confirmarea primirii; daca un cadru este
pierdut, nu se face nici o recuperare a lui)
– servicii confirmate fara conexiune (receptionarea cadrelor
e confirmata; transmiterea cadrelor nu se face in ordine)
–servicii confirmate orientate-conexiune
(inainte de transmiterea datelor, se stabileste
o conexiune, fiecare cadru fiind numerotat pentru
a se pastra ordinea)
– detectia si corectarea erorilor: CRC (cod de redundanta
ciclica)– protocoale soft Internet: SLIP (Serial Line IP), PPP
Nivelul legatura de date
datele se incapsuleaza in cadre(frame-uri)
Nivelul legatura de date
Nivelul legatura de date
–Divizat in doua sub-niveluri: controlul accesului
la mediu si controlul logic al legaturii
–Controlul accesului la mediu
(MAC – Medium Access Control)
•Vizeaza componentele fizice de comunicare
(cablu coaxial, fibra optica, radio etc.)
– Controlul logic al legaturii
(LLC – Logical Link Control)
• Ofera nivelelor superioare o vedere
(relativ) independenta de mediul de comunicare
Nivelul legatura de date
• Accesul la mediu
(MAC – Medium Access Control) sub-
nivel al nivelului legatura de date
– folosit pentru a determina
cine urmeaza sa transmita
intr-un canal multi-acces
– alocarea canalului: statica sau
dinamica
Nivelul legatura de date
• Accesul la mediu
(MAC – Medium Access Control) – ipoteze:
t • modelul statiilor: N statii independente
generind cadre de transmisie;
• canalul de comunicatie este unic
•coliziunile: toate statiile pot detecta coliziuni
(coliziune = transmiterea simultana a datelor)
• timpul transmisiei: continuu sau discret
• detectia purtatoarei (carrier):
statiile pot afla sau nu care e starea unui canal
Nivelul legatura de date
– CSMA (Carrier Sense Multiple Access) –protocol
cu detectia purtatoarei (transmisiei)“vezi daca e liber
canalul, inainte de a transmite”

-CSMA/CD (CSMA with Collision Detection) –


Ethernet (IEEE 802.3)
“vezi daca in timp ce transmit nu mai transmite si
altcineva; prin acest system se detecteaza coliziunile”

– CSMA/CA (CSMA cu CA-Collision Avoidance) ( vezi daca e


liber canalul si se incearca evitarea coliziunilor prin
intarzierea transmisiilor”
baza pentru wireless (IEEE 802.11) –etc.
Nivelul legatură la/de date-
CSMA/CD
• In cazul in care avem un singur mediu de transmisie la care sunt
legate mai multe posturi, orice statie care doreste sa transmita date
mai intai va asculta mediul de transmisie si daca mediul de
transmisie este liber va incepe sa transmita date.
• In cazul in care dupa ascultarea mediului de transmisie incep sa
transmita simultan 2 statii, la ascultarea dupa transmitere se
detecteaza coliziunea (datorita insumarii sau scaderii semnalelor
catre statiile care au transmis sau alte statii).
• Statia care a detectat coliziunea trimite prin mediul de transmisie un
semnal care se numeste jamming, semnal care este detectat de toate
celelalte statii si are ca efect oprirea transmisiei.
• Problema care se pune este a reluarii procesului de transmisie.
• Algoritmul backoff intra in functiune dupa aparitia unei coliziuni si
fiecarei statii i se alocă aleator, in prima faza un nr. 0 sau 1 ceea ce
presupune că va relua transimia imediat(daca statia a primit 0),
respectiv dupa timpul de propagare prin mediu de transmisie(daca a
primit 1).
• Dacă din nou se produc coliziuni se alocă 0 ,1, 2, 3, deci
probabilitatea de a se produce coliziuni scade la jumatate, procesul
continua, iar in cazul in care din nou se mai produc coliziuni se mai
aloca numere pana la 210, cand daca din nou se produc coliziuni se da
un semnal de reset general.
• Numarul staţiilor legate la mediul de transmisie influenteaza
producerea de coliziuni
• Acest sistem se numeste: CSMA/CD (Carrier Sense Multiple Access /
Collision Detection) CSMA/CD - se foloseste in cadrul ethernetului.
CSMA/CD și backoff
Standarde la nivelul legătură
la/de date
Nivelul legătură la/de date
• Ethernet
–ofera acces multiplu (mediu partajat de transmisie)
intr‐o retea cu difuzare
– fiecare interfaţă(placă) Ethernet are o adresă unică de
48 biti: adresa hardware – e.g., C0:B3:44:17:21:17
– adresa de broadcast are toti bitii setati (1)
– adresele sunt asignate producatorilor de placi de retea (NIC-
Network Interface Card) de catre o autoritate centrala
– detectia coliziunilor: CSMA/CD (Carrier Sense Multiple
Access with Collision Detection)
Nivelul legătură la/de date
• Ethernet
– adresa hardware (MAC), de ex: a1:bc:3d:7a:c8:fd
– remarca: desi fiecare interfata (placa) de retea are o adresa
MAC unica, unele sisteme de operare permit modificarea
prin software a acestei adrese(emulare soft) ceea ce
usurează accesul hackerilor
Nivelul legătură la/de date
• Ethernet – standarde (exemple):
– 10BASE5: 10 Mb/s folosind cablu coaxial gros de
lungime 500m (ThickWire) – 1980
– 10BASE‐T: 10 Mb/s folosind 2 perechi UTP – 1990
– 10BASE‐FL: 10 Mb/s fibra optică cu legatură point to point
– 10BASE‐FB: 10 Mb/s backbone cu fibră optică
(intre repetoare) – Ethernet sincron
– 100BASE‐T4: 100 Mb/s cu 4 perechi de cabluri de tip
CAT‐3, 4, 5 UTP
– 100BASE‐FX: 100 Mbps CSMA/CD cu 2 fibre optice,
full duplex – 1995
Nivelul legătură la/de date
• Ethernet
– forma unui cadru (frame) de date:

– CRC (Cyclic Redundancy Check/Code)


– fiecare interfata de retea inspecteaza pentru orice cadru
adresa de destinatie
–daca adresa de destinatie nu se potriveste cu adresa hardware
sau cea de broadcast, atunci cadrul este ignorat
Suma de control-CRC
Suma de control-CRC
Nivelul legătură la/de date
Nivelul legătură la/de date
• Gigabit Ethernet
– Implementari atit pentru cabluri de cupru
(802.3ab), cît şi pentru fibra optică (802.3z)
– Diferenţa faţă de alte implementari Ethernet
este la nivelul fizic
• 10 Gigabit Ethernet
– Doar pentru fibra optica (802.3ae)
– Opereaza la distante de 40 km(util pentru reţele
MAN si WAN)
–Formatul cadrelor este similar celui de la celelalte
implementări Ethernet
Hub-uri
•Datorită atenuarii semnalelor odata cu cresterea
distantei intre statii se folosesc repetoare sau
concentratoare(hub-uri)
•In acest caz toate statiile formeaza un singur domeniu
de coliziune(de ex. daca avem Fast Ethernet si 10 statii
se va lucra la viteza maxima 100Mbps/10=10mbps)
Switch-uri
• Fiecare staţie obţine în întregime o bandă (de ex.100Mb/s,
1000Mbs, etc.)fără a mai fi nevoie să o împartă cu alte
staţii (fără a avea domeniu comun de coliziuni cu alte
staţii).
• Acest lucru este realizat prin utilizarea unei magistrale de
semnale extrem de rapide aflată în comutatorul Ethernet şi
poate avea viteze mari. Comutatorul "învaţă" adresele MAC
şi le stochează într-o tabelă de căutare internă.
• Între expeditorul şi destinatarul unui cadru este creată o
cale comutată temporară, iar cadrul este trimis de-a lungul
acestei căi temporare. În acest mod, zeci de staţii utilizând
adaptoare Ethernet rapid pot comunica, fără a se mai
produce coliziuni.
Ethernet –configurare
Controlul legaturii logice(LLC)
• Subnivelul LLC, după standardul IEEE 802.2, specifică două tipuri
de servicii:
• - servicii de tip 1, fără confirmare şi neorientate conexiune;
• - servicii de tip 2, orientate conexiune.
LLC-transmiterea datelor
Protocolul PPP
• PPP se prezintă ca un multiprotocol pentru transmiterea
sigură a datelor pe linii de comunicaţii seriale sincrone,PPP
permite transmiterea, în plus şi pe linii seriale asincrone,
garantând astfel livrarea sigură a datelor indiferent de tipul
liniei seriale;are trei niveluri şi anume:
• a) Protocolul DLLP (Data Link Layer Protocol)- permite
protocolului PPP să coordoneze traficul pentru multiplele
protocoale ce apar în nivelul reţea(IP, IPX/SPX, etc.).
• b) Protocolul LCP(Link Control Protocol)-este utilizat
pentru a stabili conexiunea, a negocia parametrii de
configurare,verificând totodată şi calitatea legăturii şi
pentru a închide conexiunea.
• c) Protocolul NCP (Network Control Protocol)-
reprezintă o familie de protocoale individuale ce asigură
controlul informaţiei pentru protocoalele din nivelul reţea
(DECNET, IP,OSI, etc.) fiecare dintre acestea având
propriul său protocol NCP.
• Documentarea NCP este făcută în RFC 1171, RFC 1172
şi RFC 1661.
Fazele protocolului PPP
ISO/OSI

Pentru retele locale (LAN) se foloseste


practic un subset al nivelurilor ISO/OSI
ISO/OSI versus TCP/IP
• Asemanari
– ambele se bazează pe o stivă de
protocoale
–functionalitatea straturilor
este oarecum asemanatoare
– ambele au nivelul aplicatie
ca nivel superior
–se bazeaza (direct sau indirect)
pe nivelul transport
ISO/OSI versus TCP/IP
Deosebiri
–ISO/OSI face distinctia clara intre serviciu,
interfata si protocol, pe cind TCP/IP nu
– ISO/OSI este indicat ca model teoretic,
TCP/IP este eficient la implementare
– ISO/OSI pune la dispozitie protocoale care asigura
o comunicare fiabila (detectare & tratare erori la fiecare nivel
)
– TCP/IP este mai putin fiabil, verificarea comunicarii
fiind doar in responsabilitatea nivelului transport
–la ISO/OSI controlul si decizia sunt centralizate,
la TCP/IP sunt distribuite
Modelul TCP/IP
• Ofera posibilitatea de a interconecta
fara probleme mai multe tipuri de retele
• Axat pe nivelurile retea si transport
•Poate fi utilizat pe o multitudine de tipuri
de nivel legatura de date (suport pentru
implementari hardware multiple)
•Implementat cu succes peste Ethernet
(IEEE 802.3) – suportat de multe
implementariale nivelului fizic(cablu
coaxial, twisted pair, fibra optica)
TCP/IP antete
TCP/IP termeni
• sistem terminal (end system)
≡ gazda (host)
•retea (network) ≡ ofera transfer de date
intre sisteme terminale
• internet ≡ colectie de retele (interconectate)
• subretea (subnetwork) ≡ componenta a unei
retele
• sistem intermediar (intermediate system)
≡ conecteaza doua subretele
• port ≡ proces al unei aplicatii rulind pe un host
Modelul TCP/IP
Modelul TCP/IP
Stiva de protocoale TCP/IP este standardizata
• Organisme implicate in standardizare:
– ISOC – Internet Society
– IAB – Internet Architecture Board
– IETF – Internet Engineering Task Force
– IRTF – Internet Research Task Force
– InterNIC – Internet Network Information Center
– IANA – Internet Assigned Number Authority
• Documentele RFC (Request For Comments)
– editate de Network Working Group (IETF)
– RFC 1800 (Internet Official Protocol Standards)
– alte detalii la www.ietf.org
Modelul TCP/IP
Nivelul legatura de date
– PPP (Point to Point Protocol) – RFC 1134
– Ethernet
Nivelul retea – IP – RFC 719
• OSPF (Open Shortest Path First) – RFC 1131
• BGP (Border Gateway Protocol) – RFC 1105
– multicast:
• IGMP (Internet Group Management Protocol)
RFC 1112, 1054
– control:
• ICMP (Internet Control Messages Protocol)
RFC 792, 777
Modelul TCP/IP
Nivelul transport
– TCP (Transmission Control Protocol)
RFC 793, 761
– UDP (User Datagram Protocol)
RFC 768
– SCTP (Stream Control Transmission
Protocol)
RFC 2960, 3286, 3309
Modelul TCP/IP-aplicatii

Nivelul aplicatie
SNMP (Simple Network Management Protocol) RFC 1157
– SMTP (Simple Mail Transfer Protocol) – RFC 821
– POP3 (Post Office Protocol) – RFC 1081
– TELNET – RFC 854, 764
– FTP (File Transfer Protocol) – RFC 454
– NFS (Network File System) – RFC 1094
– DNS (Domain Name System) – RFC 1034, 1035
– HTTP (HyperText Transfer Protocol) – RFC 2616
– RTP (Realtime
Transport Protocol) – RFC 1889
– SIP (Session Initiation Protocol) – RFC 3261
– etc., etc.
Echipamente de interconectare
• – repetor –nivelulfizic

– punte (bridge) – nivelul legatura de date

–router (la nivel retea)–realizeaza dirijarea(rutarea)


pachetelor in retea -
– poarta (gateway) – nivelul retea sau superior
- puntile, routerele si portile pot fi si componente software
Echipamente de interconectare

• Echipamente folosite:
Hub, Switch, Router, Gateway,
Bridge
Intrebari?
Nivelul rețea
Nivelul rețea: preia pachetele de la sursă si
le transferă către destinaţie; controlul traficului
– filosofii:
•comunitatea Internet: transfer de biti, neorientat
conexiune: send (pachet), receive (pachet); fiecare
pachet este independent de celelalte
• companiile telefonice:
servicii orientate conexiune, sigure, inainte de
transfer se initiaza o negociere
– servicii: dirijare (routing), controlul congestiei,
interconectarea rețelelor, contorizarea traficului
Nivelul rețea

ansamblu (continuare)
– nivelul rețea – dirijare, controlul
fluxului, fragmentare & reasamblare
a pachetelor, interconectare rețele
incompatibile; circuite virtuale
Nivelul rețea
Nivelul rețea:
– Probleme:
•conversii de protocol si de adrese• controlul
erorilor (flux, congestie)
• divizarea si recompunerea pachetelor
•securitatea – criptare( exista protocolul
IPsec), firewall
– Datagrame – tipice pentru rețele fara conexiune,
dirijarea se face pentru fiecare pachet in parte
– Circuite virtuale – tipice pentru rețele
orientate-conexiune, dirijarea are loc dupa stabilirea
conexiunii
– Protocoale folosite:
X.25 (orientat-conexiune), IP (neorientat
conexiune)
Protocolul IP

Nivelul rețea – Protocolul IP


– Caracterizare
– Adrese IP
– Subrețele
– Datagrame
– Firewall & proxy
Protocolul IP
Utilizat de sisteme autonome in vederea interconectarii
• Serviciu de transmitere de pachete (nod la nod sau
host to host)
• Translatare dintre diferite protocoale legatură de date
• Ofera servicii neorientate‐conexiune, nesigure:
datagrame
• Fiecare datagrama este independenta de celelalte
• Nu se garanteaza transmiterea corecta a
datagramelor (pierdere, multiplicare,...)
Protocolul IP

Adresele IP nu sunt identice cu cele ale


nivelului MAC ( adresele hardware ale
placilor de rețea) pentru că IP trebuie
sa suporte diferite implementări
hardware (rețele eterogene)
Protocolul IP

Foloseste doar adresele logice ale gazdelor


• Servicii:
Transmitere (send): aplicatie (utilizator) ↦IP
Distribuire (deliver): IP ↦ aplicatie (utilizator)
Raportare a erorilor – optionala: IP ↦ aplicatie
(utilizator)
Protocolul IP
Adrese:
– logice, nu fizice – 32 biti: x.y.z.w
–includ un identificator de rețea (NetID) si
un identificator de gazdă (HostID)
– fiecare gazdă trebuie să aibă o adresa IP unică
–adresele IP sunt asignate de o autoritate centrală
(NIC – Network Information Center)
– sunt divizate in clase de adrese: A, B, C, D, E
– clasa E nu este utilizată (experimentală)
Adrese IP
Protocolul IP
• Adrese:
– clasa A: 128 rețele posibile,
peste 4 milioane de gazde/rețea 1.0.0.0-127.255.255.255
–clasa B: 16K rețele posibile, 64K gazde/rețea
128.0.0.0-191.255.255.255
–clasa C: peste 2 milioane de rețele, 256 gazde/rețea
192.0.0.0-223.255.255.255
-clasa E- 224.0.0.0-239.255.255.255
– NetID‐ul este asignat unei organizatii de o autoritate
centrala
– HostID‐ul e asignat local de administratorul rețelei
– ambii identificatori se utilizeaza pentru dirijare
– exemplu:193.231.30.197 – clasa C
Protocolul IP
• Adrese:
– o interfață (placa) de rețea are asignata o unica adresa IP –
numita adresa host
– o gazdă poate avea mai multe placi de rețea,deci mai multe
adrese host (adrese IP)
– gazdele unei aceleasi rețele vor avea aceeasi adresa
network (acelasi NetID)
– adresele de broadcast au ca HostID toti bitii 1
– adresa de broadcastcare este folosită pentru a trimite pachete
tuturor gazdelor din reţeaua respectivă
–adresa IP care are ca HostID toti bitii 0 se numeste
adresa rețelei – refera intreaga rețea
–adresa reţelei identifică reţeaua însăşi
– exemplu: 193.231.30.0 (adresa de rețea-network a masinilor
193.231.30.197 si 193.231.30.231)
– 127.0.0.1 – adresa de loopback (“eu” – localhost)
Protocolul IP
•Din spatiul de adrese ce pot fi alocate efectiv,
sunt rezervate urmatoarele – RFC 1918:
0.0.0.0 – 0.255.255.255
127.0.0.0 – 127.255.255.255 (pentru loopback)
Adrese private/locale/neroutabile
10.0.0.0 – 10.255.255.255 (o adresa privata de retea de clasă
A)
172.16.0.0 – 172.31.255.255 (16 adrese private clasă B)
192.168.0.0 – 192.168.255.255 (256 adrese private clasă C)
Protocolul IP
• Adrese de subrețea:
– spatiul de adrese host se poate divide in grupuri
numite subrețele
– identificatorul subrețelei (SubnetID) utilizat in general
sa grupeze calculatoare pe baza topologiei fizice

– se poate simplifica dirijarea


– e posibil sa avem acelasi cablu pentru subrețele
multiple (ex. domeniul .econ.ubbcluj.ro)
Protocolul IP
• Adrese de subrețea:
–Divizarea in subrețele se face via masca de rețea (netmask): bitii NetID sunt
1, bitii HostID sunt 0
– Adresa IP: 192.78.2.213
11000000.01001110.00000010.11010101
– Masca de rețea: 255.255.255.0
11111111.11111111.11111111.00000000
– Adresa rețea: 192.78.2.0
11000000.01001110.00000010.00000000
– Adresa rețelei = masca de rețea AND adresa IP
– Adresa de broadcast:192.78.2.255
– Adresa broadcast = adresa IP OR complementul mastii
00000000.00000000.00000000.11111111-complement
11000000.01001110.00000010.11111111
Protocolul IP-masca de retea
• masca de reţea, definită ca un şir de 32 de biţi care, în
conjuncţie logică cu o adresă IP separă adresa de reţea
anulând biţii de staţie.
• De fapt masca de reţea are pentru partea de net_id toţi biţii
setaţi la“1”, iar pentru partea de host_id toţi biţii poziţionaţi
pe “0”.
• Măști implicite pentru subrețele :
– 255.0.0.0 clasa A
– 255.255.0.0 clasa B
– 255.255.255.0 clasa C
Protocolul IP
• Convenții de notare: x.y.z.w/m înseamnă
că se aplică o mască de m biti adresei IP precizată
de x.y.z.w
• Exemple:
– 193.231.30.0/26 – se aplica o masca de 26 biti
adresei
Datagrama IP
Protocolul IP

•Valorile uzuale ale cimpului VERS sunt:


4 – protocolul IP (RFC 791)
6 – protocolul IPv6 (RFC 1883)
Protocolul IP
•Cimpul Type of Service specifica actiunile specialece pot fi efectuate asuprapachetului
Primul grup numit precedenţă este format din trei biţi şi indică importanţa sau prioritatea datagramei.
Următorul grup( al doilea) are patru biţi care au următoarea semnificaţie:
1. Dacă bitul cel mai semnificativ al câmpului are valoarea 1, inseamnă că pentru acest pachet se doreşte minimizarea
întârzierii, adică e necesar ca acestui pachet să i se dea prioritate în raport cu celelalte.
2. Al doilea bit din grup indică cerinţa de maximizare a debitului, adică, ar fi mai eficientă transmiterea dacă s-ar face
colectarea unor pachete și trimiterea lor dintr-o dată.
3. Cel de-al treilea bit din grup indică maximizarea fiabilităţii, adică se cere ca să nu se renunţe, ȋn nici un chip, la acest
pachet, în cazul în care un router ar deveni supraîncărcat (aglomerat) datorita traficului; adică să se renunţe mai
întâi la alte pachete.
4. Al patrulea bit din grup are ca semnificaţie minimizarea costurilor, adică, dacă acest bit este 1, înseamnă că pentru
acest pachet este mai important costul decât întârzierea sau fiabilitatea, astfel încât acest pachet ar putea fi amânat
în timp ce altele sunt prioritizate
Aplicaţia TOS Valoarea
5. . Telnet Inârziere minimizată 1000
Control FTP Inârziere minimizată 1000
Date FTP Debit maximizat 0100
Control SMPT Inârziere minimizată 1000
Date SMPT Debit maximizat 0100
ICMP Fără 0000
NNTP(news) Cost minimizat 0001

Un router poate(este liber) să ignore acest câmp, dar acest câmp devine din ce în ce mai important deoarece furnizorii de
rețea doresc perceperea de tarife diferenţiate pentru diferite niveluri deservicii.
Ultimul grup( al treilea) din câmpul TOS este format dintr-un singur bit care e rezervat pentru dezvoltări ulterioare, de obicei
fiind 0.
Protocolul IP
• Cimpul Protocol specifica protocolul (de nivel
superior) caruia îi este destinată informatia inclusă
în datagramă:
1 ICMP (Internet Control Message Protocol)
2IGMP (Internet Group Management Protocol)
4 IP in IP
6 TCP (Transmission Control Protocol)
8 EGP (Exterior Gateway Protocol)
17 UDP (User Datagram Protocol)
46 RSVP (Resource Reservation Protocol)
89 OSPF (Open Shortest Path First)
etc
Protocolul IP

• Cimpul TTL (Time to Live) specifică


“viața”( de fapt e lungimea caii in
hopuri) pachetului (numărul va fi
decrementat de fiecare router prin care
trece pachetul), adică la fiecare hop
– valori uzuale: 64, 32 ori 15
Protocolul IP

• Cimpul Identificare(Identifier), în
conjunctie cu Flags si Deplasament
fragment(Fragment Offset), identifică
fragmentele de pachete (dacă
lungimea datelor depășește valoarea
MTU – Maximum Transmission Unit,
adica lungimea maxima, a pachetului,
ce poate fi transmisa)
Protocolul IP
Cimpul Flags stochează 3 biți:
◼ Primul bit – nefolosit
◼ Al doilea bit Don’t Fragment (DF=1) bit –
datagrama nu poate fi fragmentată (daca
routerul nu poate transmite pachetul
nefragmentat, il va distruge)
◼ Al treilea bit More Fragments (MF=1) bit –
semnalează că pachetul este un fragment,
urmat de altele
(ultimul fragment are MF=0), deci s-au
terminat fragmentele
Protocolul IP
• Fragmentarea datagramelor
–fiecare fragment (pachet) are aceeasi structura
ca datagrama IP
– reasamblarea datagramelor se face la destinatar
–dacă un fragment al unei datagrame e pierdut, acea
datagramă este distrusă (se trimite la expeditor
un mesaj ICMP – Internet Control Message Protocol)
– mecanismul de fragmentare a fost folosit pentru
unele atacuri (un fragment “special” e considerat ca
fiind parte a unei conexiuni deja stabilite, astfel încât
îi va fi permis accesul via firewall) – firewall piercing
Protocolul IP
• Controlul fluxului, detectia erorilor
– daca pachetele ajung prea rapid, receptorul acestora
va elimina pe cele in exces (va trimite si un mesaj
ICMP la destinatar)
– daca apare o eroare de antet(header checksum
error), pachetul este distrus
-se realizeaza suma de control numai pentru antet
deoarece acesta este folosit pentru rutare( adresele
si alte campuri), iar datele nu-l intereseaza.
-suma de control se calculeaza la fiecare nod de
trecere(hop) (unde de obiecei este un router) ceea
ce duce la incetinirea procesului de dirijare
Protocolul IP
• Filtrarea pachetelor (datagramelor)
– Se realizeaza de un firewall: ofera accesul din
exterior în rețeaua internă, conform unor politici
(reguli) de acces, doar pentru anumite tipuri de
pachete (utilizate de anumite protocoale/servicii)
• preîntâmpină anumite atacuri vizând securitatea
–Firewall-ul poate fi software (iptables, ISA Server,
ZoneAlarm etc.) sau hardware (ex., Cisco PIX,
Cyberoam, PaloAlto)
– Firewallul poate juca rol de proxy (poartă de aplicaţii)
sau gateway
Protocolul IP
Proxy
◼ Un server proxy este un calculator care funcționează ca
intermediar între un browser Web (cum ar fi Internet Explorer,
Microsoft Edge, Google Crome, Firefox, etc.) și Internet.
◼ Serverele proxy ajută la îmbunătățirea performanței Web,
stocând câte o copie a paginilor Web utilizate frecvent. Atunci
când un browser solicită o pagină Web stocată în colecția
(cache) serverului proxy, pagina este furnizată de serverul
proxy, mai rapid decât deplasarea pe Web.
◼ De asemenea, serverele proxy ajută la îmbunătățirea
securității, filtrând unele tipuri de conținut Web și software-
urile rău intenționate.
◼ Serverele proxy sunt utilizate cel mai mult de către rețele din
organizații și firme. De obicei, persoanele care se conectează
la Internet de acasă nu utilizează un server proxy
Protocolul IP
• Rolul & arhitectura unui proxy
–Acces indirect la alte rețele (Internet)
pentru gazdele dintr‐o rețea locala via proxy
– Proxy‐ul poate fi software ori hardware
–Rol de poarta (gateway), de firewall sau
de server de cache
– Proxy‐ul ofera partajarea unei conexiuni Internet
–Utilizat la imbunatatirea performantei (de ex. caching,
controlul fluxului), filtrarea cererilor, asigurarea
anonimitatii
Protocolul IP
Protocolul IP-Rezolutia adreselor
• Adrese IP ↔ adrese hardware (fizice)
– procesul de a gasi adresa hardware a unei gaze ştiind adresa IP se
numeşte rezoluţia adresei (address resolution) – protocolul ARP
•ARP e protocol de tip broadcast (fiecare maşină primeşte cererea
de trimitere a adresei fizice, răspunde doar cea în cauză – maşina
proprietar)
•nu se utilizează pentru fiecare datagrama IP (masinile
memoreaza adresa fizica)
– procesul invers este numit rezolutia inversa a adresei (reverse
address resolution)
– protocolul RARP
• utilizat la boot‐are de statiile de lucru fara disc
ARP și RARP
Protocolul ICMP
-Internet Control Message Protocol este tot un protocol la nivel
retea:
• utilizat pentru schimbul de mesaje de control
• foloseste datagrame IP
• mesajele ICMP sunt procesate de software‐ul IP, nu de
procesele utilizatorului
• tipuri de mesaje:
8 Echo Request (“existi?”)
0 Echo Reply (“exist!”)
3 Destination Unreachable (destinatie inaccesibila)
5 Redirect (schimbarea rutei)
11 Time Exceeded (“a expirat timpul”)
etc.
Protocolul ICMP
• Mesaje ICMP:
– Redu sursa (source quench):
“Incetineste! Unele datagrame au fost pierdute”
– Timp expirat (time exceeded):
“Cimpul TTL al unui pachet are valoarea 0”
– Fragmentare (fragmentation required): “Datagrama
este mai lunga decit MTU”/“Este setat bitul DF”
–Cerere/raspuns pt. masca (address mask request or
reply): “Care e masca de rețea pentru aceasta rețea?”
(va raspunde “agentul de masca de rețea”)
– Redirectare (redirect): “Trimite routerului X”
Protocolul ICMP
• Utilizat de comanda ping
– PING (Packet InterNet Groper)

– Verificarea conexiunii de la A la B (ruta directa)


PING 192.168.0.14 (192.168.0.14) from 192.168.0.13:56 (84)bytes
64 bytes from 192.168.0.13: icmp_req=0 ttl 255 time=2.351 msec
64 bytes from 192.168.0.13: icmp_req=1 ttl 255 time=2.214 msec
64 bytes from 192.168.0.13: icmp_req=2 ttl 255 time=2.231 msec
64 bytes from 192.168.0.13: icmp_req=3 ttl 255 time=2.420 msec
64 bytes from 192.168.0.13: icmp_req=4 ttl 255 time=2.225 msec
5 packets transmited, 5 packets received, 0%packets lost
round-trip min/avg/max/mdev=0.217/0.235/0.342/0.029
◼ Utilitarul ping este folosit pentru a verifica conectivitatea între două noduri. El testează
conexiunea fizică şi parte din cea logică, folosindu-se de protocoalele IP şi ICMP(Internet
Control Message Protocol) pentru a trimite şi a primimesaje.
◼ Ping primeşte adresa IP a staţiei destinaţie sau numele staţiei destinaţie şi va trimite
către aceasta un mesaj ECHO REQUEST. In momentul în care acest mesaj este
recepţionat, staţia destinaţie va răspunde cu un mesaj similar: ECHO REPLY. Dacă
răspunsul destinaţiei ajunge înapoi la sursă, conexiunea dintre ele funcţionează, altfel
există probleme care împiedică cele două staţii să comunice.
◼ Astfel putem verifica conectivitatea cu serverul providerului nostru de Internet.
Protocolul ICMP
• Utilizat de comanda ping
– Verificarea conexiunii de la A la C (ruta indirecta)

– Parametrul ttl este decrementat cu 1, fiindca datele


au trecut printr‐un calculator intermediar (router)
• timpii de răspuns sunt mai mari
Protocolul ICMP
• Utilizat de comanda traceroute/tracert
– Se trimite un pachet cu TTL=1 (1 hop)
– Primul router ignoră pachetul şi trimite înapoi un mesaj ICMP de tip “time to liveexceeded”
– Se trimite un pachet cu TTL=2 (2 hop‐uri)
– Al doilea router ignora pachetul şi trimite înapoi un mesaj “time to liveexceeded”
– Se repetă pînă când se primeşte răspuns de la destinaţie sau s‐a ajuns la numărul maxim de hop‐uri
◼ Comanda traceroute/tracert pentru a stabili ruta
◼ Utilitarul traceroute(tracert în Windows) este folosit pentru a testa ruta pe care o urmează
pechetele între sursă şi destinaţie, deci nodurile prin care trec pachetele către destinaţie.
Comanda este utilă atunci când aveţi posibilitatea să accesaţi o informaţie pe mai multe servere
prin site-uri mirror. De exemplu, dacă aveţi servere mirror în România şi Germania, nu este sigur
că serverul din Romania este mai aproape ca număr de noduri şi ca întârziere de transmisie a
pachetelor decât cel din Germania. Depinde prin ce ISP este făcutălegătura la Internet.
◼ Pentru a realiza acest lucru, traceroute se foloseşte de câmpul TTL (Time To Live) introdus în
antetul fiecărui pachet pentru a specifica numărul maxim de echipamente de rețea prin care poate
trece un pachet. Dacă un pachet are câmpul TTL cu valoarea iniţială egală cu 10, atunci el poate
trece prin maxim 10 echipamente de rețea. Al zecelea echipament va arunca pachetul şi va trimite
un mesaj ICMP sursei, prin care o va înştiinţa de acest lucru.
◼ Ştiind pe ce rută trec pachetele, puteţi accesa serverul care este mai aproape. De asemenea, este
util, atunci când nu se poate face conexiunea către un anumit server, pentru a se verifica în ce loc
este întreruptă legătura.
Protocolul ICMP
Protocolul ICMP
•Administrarea rețelei implică în primul rând
testarea conectivitatii fizice între gazde
– Testarea NIC‐ului (adresei fizice a placii de rețea):
ifconfig / ipconfig(pt. Linux resp. Windows)
– Verificarea conectivitatii via adresa IP:
ping x.y.z.w
– Verificarea conţinutului cache‐ului ARP: arp
– Verificarea conectivitatii via adresa simbolica:
ping host
– Testarea rutei dintre gazde: traceroute host
– Testarea serviciilor software (e.g., FTP, IRC, Web,…)
Rețele private
• Realitate:
Cresterea exponentiala a numarului de gazde
• Solutie (actuala): NAT (Network Address Translation) – RFC 3022,
4008-translatarea adreselor private in adresa publica si invers
– Reutilizeaza adresele private (RFC 1918)
– Routerele in mod normal ignora datagramele conţinând adrese
private ⇒ pot fi folosite adrese IP private in cadrul intranet‐ului
organizatiei
– Accesul spre exterior (Internet‐ul “real”) se realizeaza via o poarta
(mediating gateway) ce rescrie adresele IP sursa/destinatie – IP
masquerading
– Alte utilizari: load balancing, prevenirea “caderilor”, proxy‐uri
transparente, suprapunerea rețelelor
IPv6
• Probleme de adresabilitate via IP clasic:
– Cresterea exponentiala a numarului de gazed(IoT-
Internet of Things-Internetul lucrurilor sau Internetul
peste tot)
– Aparitia unor tabele de rutare de mari dimensiuni
– Configuratii tot mai complexe, utilizatori tot mai multi
– Lipsa securitatii
– Imposibilitatea asigurarii calitatii serviciilor (QoS –
Quality of Service)
IPv6
• Adresele IP clasice sunt folosite tot mai puțin
• Deziderate ale unui protocol IP (IPv6, IPng)
– Suport pentru miliarde de gazde
– Reducerea tabelelor de rutare
– Simplificare a protocolului
– Suport pentru gazde mobile
– Compatibilitate cu vechiul IP
– Suport pentru evoluţii viitoare ale Internet‐ului
• Facilitati
– Simplificarea formatului datagramelor
– Securitate (autentificare & confidenţialitate)
– Livrarea la cea mai apropiata gazdă – anycast
• RFC 2460, 2553
IPv6
IPv6 versus IPv4-antete
IPv6
◼ Are lungime fixă a antetului(40 de octeți)
◼ A eliminat suma de control
◼ Fragmentarea se face prin folosirea unor antete de extensie care
sunt precizate de câmpul ‘Antet urmator’ camp ce foloseşte aceleaşi
valori ca şi câmpul ‘Protocol’ din IP v4
◼ Câmpul ‘Număr hopuri’-limită salt” este echivalent cu TTL de la IPv4.
◼ Câmpul ‘Eticheta de flux’ permite routerelor o mai uşoară comutare a
pachetelor pe baza fluxului de pachete.
Avantaje IPv6
IPv6
• Adresele IPv6 au lungime de 16 de octeti – 2128
adrese
• Notatie: 16 numere hexa, fiecare de 2 cifre,
delimitate de “:”
• “::” – sir de biti 0
• Adrese speciale:
::1 – adresa de loopback
::FFFF – adrese IP vechi (IPv4)
•Exemplu:
8000:1000:0000:0000:0B47:A007:1111:3090
8000:1000::0B47:A007:1111:3090
Adrese IPv6
◼ O adresă IPV6 se scrie în hexazecimal folosind grupuri de 16 biţi, separate de “:”, sau
“::” (o singură dată, pentru un şir de biţi 0) ca de exemplu:
2001:0:5ef5:79fd:18d3:d4e:3f57:fe9b.
◼ Adresele unicast globale sunt formate, precum se vede in figura de mai jos, din global
routing prefix (48 biţi), subnet_ID (16 biti) şi interface_ID (64 biţi).

◼ Adresele private sunt locale, fiind destinate unui link sau site şi nu sunt rutate in exterior.
Pentru acestea valoarea primului octet este “FE” şi urmatoarea cifra hexazecimala este
in gama “8”-“F”.
Aceste adrese sunt împărţite în două tipuri: site-local şi link-local.
-Adresele site-local se folosesc pentru un site sau organizaţie. In acest caz valoarea
celei de-a treia cifra hexazecimala este în gama “C”-“F”.
- Adresele link-local au drept scop o legătură fizică. In acest caz valoarea celei de-a
treia cifra hexazecimala este in gama “8”-“B”.
Adresa loopback este “::1”. O adresă nespecificată este scrisă ca şi “::”. Adresa
nespecificată, “::”, este folosită în câmpul sursă al unei datagrame, transmisă de către un
dispozitiv care încearcă să-şi configureze adresa IP.
Adrese IPv6
Problemele de conectivitate, în cazul folosirii IPv6, sunt, de obicei, cauzate de:
◼ echipamentele de reţea (de exemplu, routere la domiciliu) configurate greşit
sau care se comportă neadecvat;
◼ erori ale sistemelor de operare;
◼ probleme ale reţelelor furnizorilor de servicii de Internet( Internet Service
Provider-ISP).
◼ În multe cazuri, problema se poate remedia trecând la modele de routere mai
noi sau înlocuindu-le şi trecând sistemele de operare la o versiune
superioară. De asemenea, problema poate fi remediată de către furnizorul de
servicii de internet.
◼ Problema se poate evita prin utilizarea IPv4.
IPv6
• ICMPv6
–Ofera functiile ICMP (raportarea transmiterii
datelor, erorilor etc.), plus:
Descoperirea vecinilor (Neighbor Discovery)
– înlocuieşte ARP (Address Resolution Protocol)
Descoperirea multicast a ascultătorilor
(Multicast Listener Discovery) – înlocuieşte
IGMP (Internet Group Management Protocol)
– Detalii in RFC 2463
Rutare-preliminarii
• Partea software‐ului nivelului rețea care alege calea
pe care un pachet receptionat de un router trebuie trimis pentru a
ajunge la destinatie
• Dacă se folosesc datagrame, decizia de rutare trebuie luată
pentru fiecare pachet
• Dacă se utilizeaza circuite virtuale, decizia de rutare se ia la
stabilirea unui nou circuit
• Cerinte pentru un algoritm de rutare: corect, simplu, robust,
stabil, optim, rapid convergent
• Activități:
– Determinarea căii optime de trimitere a pachetelor este
procesul de dirijare/rutare (routing)
– Transportarea pachetelor este procesul de comutare
(switching)
Rutare-preliminarii
• Terminologie:
–end systems – dispozitive de rețea fără capacităti de
redirectat pachete către subrețele
– intermediate systems – cele având astfel de capacități
• Intradomain IS
(comunică in cadrul unui domeniu de rutare)
• Interdomain IS (comunică și între domenii de rutare)
–domeniu de rutare (sistem autonom) – portiune de
inter‐rețea avind aceeasi autoritate de administrare
– arie de rutare – sub‐domeniu de rutare
Comutare
• O gazdă determină dacă un pachet trebuie trimis la o alta gazdă

• Gazda sursă trimite la un router un pachet conținând adresa


de rețea a gazdei destinație

• Routerul examinează adresa de rețea a destinatarului, iar dacă


nu cunoaște unde să trimită pachetul îl va distruge

• Altfel, va modifica adresa conținută de pachet în adresa a


următorului hop (punct intermediar de transmitere) și va trimite
pachetul spre acesta

• Dacă următorul hop nu este destinația finală, atunci procesul se


repetă pentru alt router etc.
Rutare
• Determinarea caii de rutare
– Pentru fiecare cale de rutare se determină un parametru care se
folosește (metrica) și care poate fi:
▪ lungimea căii,
▪ siguranta,
▪ întârzierea,
▪ lărgimea de bandă,
▪ încărcarea,
▪ costul comunicării
– Algoritmii de rutare initializeaza și mentin(pentru fiecare gazda)
tabele de rutare conţinînd informaţii de dirijare
• Rute către gazde specificate
• O ruta implicita
– Se folosesc, de obicei, echipamente speciale: router‐e
Rutare
Un router creaza o cale logica intre rețele

O aplicatie rulând pe gazda 1.1 nu trebuie să cunoască


drumul pentru a transmite date aplicatiei executate pe calculatorul 4.3,
deoarece routerul va fi cel care va dirija pachetul spre destinatie.
Procesul de comutare
Rutarea
•Rutarea influenteaza performanţa rețelelor, afectând:
-debitul (parametru de evaluare cantitativă a serviciului)
-întârzierea medie a pachetelor (parametru de evaluare calitativă a
serviciului).
• dacă traficul oferit este scăzut, el va fi acceptat în întregime în reţea şi
debitul va fi egal cu traficul oferit,
• iar dacă traficul oferit este excesiv de mare, o parte din el va fi
rejectat de către algoritmul de control al fluxului.
Rutarea
• Algoritmi
– Statici (neadaptivi)
• Dirijare pe calea cea mai scurta
• Inundare cu pachete(flooding)
• Dirijare bazată pe flux
– Dinamici (adaptivi)
• Cu vectori distanţă
• Folosind starea legăturilor
• Dirijare ierarhică
• Prin difuziune (broadcast) sau cu trimitere multiplă
(multicast)
Rutarea
• Abstractizare
– rețea ≡ graf
– Dirijarea ≡ găsirea drumului de “cost minim” de la un nod sursă
la un nod destinație
– Tipuri de rutare
• globala – drumul de cost minim poate fi determinat avind
disponibile toate informatiile despre rețea (de ex. algoritm
folosind starea legăturii)
• descentralizata – drumul de cost minim este determinat in mod
iterativ, distribuit (nici un nod nu poseda informatii complete
despre costurile legaturilor din rețea) (de ex. algoritm cu vectori
distanță)
Rutarea

• Rutare folosind starea legăturii


– Topologia rețelei & costurile tuturor
legaturilor sunt cunoscute
– Fiecare nod difuzează prin broadcast
identitățile și costurile tuturor
legăturilor de la acel nod la altele
– Un nod trebuie să cunoască doar
identitățile & costurile nodurilor vecine
Rutarea

• Rutare folosind starea legăturii


– Se recurge la algoritmul lui Dijkstra
(determinarea drumului de cost minim)
– Algoritmul este folosit de protocolul
OSPF
Algoritmul lui Dijkstra
◼ Căutarea este un proces iterative( de cautare a caii intre A si B), adică fiecărui
nod i se asignează calea cea mai scurtă către nodul sursă, care este o cale din
vecinătatea lui. Când estimarea devine sigură nu se mai schimbă acea valoare
◼ Iniţial se etichetează nodul A cu zero si toate celelalte cu infinit
Rutarea
• Rutare cu vectori distanţă
– Fiecare nod primeşte informaţii de la nodurile vecine,realizează
calcule şi distribuie rezultatele înapoi la vecinii direcţi –
algoritmul este distribuit şi asincron
– Fiecare nod menţine o tabelă de distanţă (distance table)
– De ex. nodul X dorind să realizeze o rutare la nodul Y via nodul
vecin Z
– Dx(Y,Z): suma costului legaturii directe intre X si Z ; (c(X,Z)) plus
costul curent al drumului minim de la vecinii lui Z la Y) :
Dx(Y,Z) = c(X,Z) + minw{Dz(Y,w)}
– Tabela de rutare a unui nod poate fi construită cunoscând
tabela de distanţă a nodului
Rutarea

• Rutare cu vectori distanţă


– Algoritmul de rutare este algoritmul
Bellman‐Ford
– Problema: intreruperea unei legaturi
stabilite intre doua noduri
– Algoritmul acesta este folosit de
protocoalele RIP, BGP, IGRP
Rutarea
• Crearea tabelelor de rutare
– Rute statice: comanda UNIX ‘route’
•Protocol de tip broadcast care descopera routerele
unei rețele locale

• Rutarea dinamică
– Ruterele comunica intre ele informaţii despre rute
–Tabelele de rutare se schimbă conform informaţiilor
date de routere
– Se realizează folosind mai multe protocoale
Rutarea
•Problema: conform algoritmului cu vectori distanţă,
la fiecare actualizare a rutelor, tabelele de rutare
trebuie trimise fiecărui vecin;
– când router-ul trimite actualizari de rute folosind
o anumită interfață de rețea, ele nu vor fi expediate
rețelelor ale căror rute au fost învățate din actualizări
primite via acea interfață
Rutarea/exemplu

• Pentru destinatia 140.252.13.65, routerul (gateway‐ul)


folosit este 140.252.13.35
Flag-uri(indicatori ale rutei):
• U=up (activă),
• G=ruta e spre un router(gateway),
• H=ruta e spre o gazda,
• G diferenţiază rutele directe de cele indirecte
Rutarea/RIP
• Routing Information Protocol
– RFC 1058, 1723
– Foloseste mesaje IP
– Fiecare router trimite un broadcast (eventual mai multe)
conținând intreaga tabelă de rutare a router‐ului – la fiecare 30
sec.
– O intrare a tabelei de rutare RIP conține:
• adresa IP
• metrica (număr de hop‐uri: 1‐15)
• timeout (în secunde)
– rețelele conectate direct au metrica=1 (un hop)
– Daca o ruta da timeout, metrica devine 16 (nu exista conexiune)
si ruta e ştearsă după 1 minut
Rutarea/RIP
• Routing Information Protocol
– Dacă o informaţie de rutare se modifică (o legatură sau un router pică),
propagarea acestei schimbari are loc foarte lent – RIP sufera de
convergenta lenta

–Tabela de rutare A: nodul B e la 1 hop distanta (conexiune directa),


nodul C la 2 hop‐uri
–Tabela de rutare B: nodul A e la 1 hop distanta (conexiune directa),
idem pentru nodul C
Rutarea/RIP

• Routing Information Protocol


– Matur, stabil, larg suportat, simplu
– Indicat pentru sisteme autonome de
dimensiuni reduse fără rute redundante
Rutarea/OSPF
• Open Shortest Path First
– RFC 1247
–Fiecare router cunoaşte starea întregii topologii
de rețea (folosind algoritmul de stare a legăturii)
– Traficul poate fi distribuit pe rute cu costuri egale şi
rezultă o încărcare echilibrată(load balancing)
• Dirijare dupa tipul serviciilor (ToS)
– Convergenţa mai rapidă
– Oferă suport pentru folosirea mai multor tipuri de
metrici
Rutarea/OSPF
• Opereaza intr‐o ierarhie de entități de rețea:
– Sistemul autonom (AS) – colecție de rețele care partajează
aceeași strategie de dirijare
– Un AS este divizat in arii – grupuri contigue de rețele si gazde;
fiecare arie poate conține routere care mențin informații
topologice pentru fiecare arie (area border routers)
– Domeniul – porțiune de rețea pentru care routerele au aceeași
informație privitoare la topologia ariei
– Coloana vertebrala (backbone) – responsabilă cu distribuția
informațiilor de rutare între arii
Rutarea/OSPF
Un AS şi ariile sale conectate prin routere
Interconectarea
Interconectare la nivel rețea
Tunelarea
◼ Tunelul este o construcţie relativ simplă care poate fi
utilizată pentru transferul datelor printr-o regiune de reţea altfel
incompatibilă. Pachetele de date sunt încapsulate cu informaţii
de împachetare care sunt recunoscute de reţeaua care le
transportă. Informaţiile iniţiale de înpachetare şi formatare sunt
reţinute, dar sunt tratate ca "date".
◼ După ajungerea la destinaţie, dispozitivul de recepţie desface
pachetul şi ignoră informaţiile de împachetare. Aceasta are ca
rezultat restaurarea pachetului în formatul iniţial, completat cu
adresarea de inter-reţea iniţială.
◼ De exemplu: putem folosi un tunel pentru trecerea
pachetelor IPv4 printr-o regiune de reţea IPv6, întrucât din
cauza lungimii diferite a adreselor acestor două protocoale, ele
nu sunt direct compatibile.
Tunelarea
◼ E folosită la realizarea de VPN-uri( Virtual Private Network)-
retea ‘virtual private”, deoarece foloseste Internetul care nu
este privat pentru a transmite date ale firmei( care sunt
private)
◼ E folosit de obicei IPsec-variantă a IP ce are facilități de
securizare
Tunelarea
VLAN-uri( LAN-uri virtuale)
◼ De exemplu, un switch poate fi programat în aşa fel încât să şie că
porturile 5,3 si 2 aparţin VLAN-ului 1 şi porturile 7.6.4 aparţin VLAN-
ului 2. Switch-ul va înainta pachetele de broadcast spre toate porturile
de pe acelaşi VLAN, dar niciodată spre porturile celuilalt VLAN.
◼ In figura de mai jos este prezentată această situaţie:
Protocolul IP

Intrebari?
Retele de calculatoare
Protocoale la nivel transport

• Nivelul transport
– Preliminarii
– Porturi
– Protocoale
– TCP (Transmission Control Protocol)
– UDP (User Datagram Protocol)
– TCP versus UDP
Protocoale la nivel transport

End to End
Nivelul transport
• Transmite date de la mașina sursă la mașina destinație –
comunicare end to end-capăt la capăt
• Asigură transportul datelor de la aplicație la aplicație
• Asigură fluxuri de octeți în mod fiabil (reliable), in cazul unui
protocol orientat conexiune
• Oferă servicii mult mai fiabile decît nivelul retea (IP)
– pachetele pierdute/incorecte la nivelul retea pot fi
detectate/corectate la nivelul transport
– Comunicații orientate flux de date (stream‐uri) sau datagrame
– Conectare prin circuite virtuale
– Transfer de date via zone tampon (buffers)
Nivelul transport
• Calitatea serviciilor la nivel transport e dată de:
– Rata erorilor;
– Rata de transfer;
– Intârzierea la stabilirea sau inchiderea conexiunii
– Protecția, prioritatea, reziliența conexiunii
•Unitatea de date pentru transport este TPDU
(Transport Protocol Data Unit) cu identificatorul:
adresa IP:port ( adică se identifică hostul şi
procesul-aplicaţia din host-socket-soclu)
Nivelul transport
Nivelul transport:
–primitive
LISTEN – se blocheaza pînă un proces încearcă
să se conecteze( porturile sunt deschise, de ex: portul 80)
CONNECT – încearcă să stabilească o conexiune
SEND – transmite date
RECEIVE –se blocheaza pînă primește date
DISCONNECT –eliberează conexiunea
–probleme
•duplicarea pachetelor, stabilirea/eliberarea
conexiunii, controlul fluxului
Porturi

• Corespunzătoare adreselor IP la nivelul reţea


• Se asociază unei aplicații/serviciu și nu
unei gazde
•Un proces poate oferi mai multe servicii
(poate utiliza mai multe porturi)
• Un serviciu poate corespunde la mai multe
procese
Porturi

0 – 65535
0 – 1023 rezervate, 0 – 512 servicii de sistem
RFC 1700 Internet Assigned Number Authority
(IANA)
Serviciile‐sistem au porturi precizate în fișierul
/etc/services
Exemple:
22 – SSH, 23 – telnet, 25 – SMTP, 80 – HTTP
443-HTTPS, 53-DNS
Porturi
Protocoale(UDP)

• UDP (User Datagram Protocol)


– Servicii neorientate‐conexiune, nesigure
– Nu ofera nici o calitate suplimentară a serviciilor
– Nu recurge la negocieri sau la confirmări ale primirii datelor
– Utilizat la apelul procedurilor la distanță
via RPC (Remote Procedure Call)
- E mai simplu si rapid, fiind folosit mai ales in aplicatiile de
timp real(VoIP) si aplicatii unice, adica o singura cerere si
un singur raspuns( de exemplu DNS)
Protocoale(TCP)
• TCP (Transmission Control Protocol)
– Servicii orientate‐conexiune, fiabile
– Vizeaza oferirea calitatii maxime a serviciilor
– Integreaza mecanisme de stabilire si de eliberare a
conexiunii
– Controleaza fluxul de date (stream oriented)
–Utilizat de majoritatea protocoalelor de
Aplicații: TELNET, SMTP, HTTP,…
- E mai incet( necesita stabilre si eliberare de conexiune),
fiind folosit mai ales in aplicatii non real time.
Protocoale(UDP)
• UDP – similar postei terestre
– Trimiterea unei scrisori
– Nu se garanteaza ordinea receptionarii
– Mesajul se poate pierde
Protocoale(TCP)
• TCP – similar telefoniei
– Iniţierea convorbirii
– Dialogul dintre părţi
– Terminarea convorbirii
Protocoale(TCP)

• TCP (Transmission Control Protocol)


– Utilizeaza conexiuni, ca abstracțiuni
fundamentale
– Conexiunile se identifică prin perechi de
puncte finale (end points)
–Astfel, un număr de port poate fi partajat
de conexiuni multiple de pe aceeași mașină
Protocoale(TCP)
• TCP (Transmission Control Protocol)
– Exemplu: conexiunea dintre (193.231.30.194,
3168) si (193.231.30.197, 25)
–Ambele părti (expeditorul și destinatarul)
trebuie să participe la realizarea conexiunii
– Una din părti oferă o deschidere pasivă –
așteaptă aparția unei cereri de conectare a
partenerului care realizează o deschidere
activă
Protocolul(TCP)-modalitati de stabilire a unei conexiuni

◼ Inițiatorul (normal numit client) trimite un segment(pachet la nivel transport) SYN,


adică un segment cu indicatorul SYN setat, conținând un număr de ordine inițial
(ISN-Initial Sequence Number) “n”. Acesta este un număr întreg generat aleator.
◼ Gazda de primire (server) răspunde cu un alt segment SYN conținând un ISN al său,
“m”. De asemenea trimite clientului un segment ACK cu indicatorii SYN și ACK
setati si câmpul ACK-ului setat la valoarea n+1. Indicatorul SYN consumă un număr
de ordine.
◼ Clientul răspunde cu un ACK cu câmpul setat la m+1 la SYN-ul severului.
◼ În toate cele trei segmente campurile de date sunt goale: aceste segemente sunt
folosite in stabilirea conexiunii. Odată ce conexiunea este stabilită putem începe
transmiterea datelor.
Stabilirea conexiunii, trimiterea datelor si
inchiderea conexiunii TCP

Pornirea/deschiderea activă(active open) [CLOSED(trimite SYN)->SYN_SENT


(primeşte SYNACK, trimite ACK)->ESTABLISHED
Apoi se trimit (date, raspunsuri(ACK))],

Deschidere si trimitere date Trimitere date si inchidere


Modalitati de inchidere a unei conexiuniiTCP
Protocolul TCP
• Automatul finit TCP
– Modeleaza comportamentul protocolului
– Starile sunt utilizate la managementul conexiunii
– Pentru a vedea starile conexiunilor se foloseste comanda netstat
Conexiuni pe Internet
Sub MS Windows se poate da comanda
netstat –f
Protocolul TCP-segmentul TCP
Protocolul TCP segmentul TCP
• Antetul TCP – biti de control:
–URG (URGence) – exista un pointer la un pachet de date
urgente
– ACK (ACKnowledgement) – exista un numar corect de
confirmare (utilizat de receptorul TCP)
– PSH (PuSH) – datele vor fi transmise imediat aplicatiei
destinatare
– RST (ReSeT) – reinitializeaza conexiunea TCP
– SYN (SYNchronize) – modulele TCP emitator/receptor vor
sincroniza numerele de secventa (folosit la stabilirea
conexiunii)
– FIN (FINish) – indica inchiderea conexiunii (nu mai sunt trimise
numere de secventa)
Protocolul TCP-segmentul TCP
◼ Numerele de secvenţă şi de răspuns/confirmare (Sequence an
Acknowledgement Numbers
◼ Fiecare octet din fluxul de date de la sursă către destinație, este
numerotat. Acest număr de ordine fără semn, lung de 32 de biți, porneşte
de la o valoare aleatoare la iniţializarea conexiunii și creşte cu unu pentru
fiecare octet trimis, astfel că dacă un segment conţine 10 octeţi de date,
segmentul următor va avea un număr de ordine mai mare cu 10.
◼ Numărul de ordine din antet este numărul primului octet din datele
segmentului.
◼ Destinaţia recunoaşte octeţii primiţi prin setarea valorilor corespunzătoare
ȋn câmpul ACK. Câmpul de recunoaştere este activ doar dacă
indicatorul/flagul ACK este poziţionat pe 1(există).
◼ Conexiunea inversă, de la destinație la sursă, are propriul său număr de
ordine, întrucât TCP este full_duplex. De asemenea, este de notat faptul
că gazda destinatie ar putea să nu primească imediat întregul segment ce
a fost trimis, datorită fragmentării IP, caz în care va trebui să
reconstruiască segmentul TCP înainte de a trimite ACK.
Segment TCP(continutul-ex. )
-Transmission Control Protocol, Src Port: 1028 (1028), Dst Port: ssh
(22) Seq:2966207870, Ack:2559443804
Source Port: 1028 (1028)
Destination port: ssh (22)
Sequence number: 2966207870
Next sequence number: 2966207918
Acknowledgement number: 2559443804
Header length: 32 bytes
- Flags: 0x0018 (PSH, ACK)
0... .... = Congestion Window Reduced (CWR):Not set
.0.. .... = ECN-Echo: Not set
..0. .... = Urgent: Not set
...1 .... = Acknowledgement: Set
.... 1... = Push: Set
.... .0.. = Reset: Not set
.... ..0. = Syn: Not set
.... ...0 = Fin: Not set
Window size: 16192
Checksum: 0x5f84 (correct)
- Options: (12 bytes)
NOP
NOP
Time stamp: tsval 44887687, tsecr 60917100
Data (48 bytes)
Protocolul (TCP)
Succesiunea pachetelor de date dintre doua masini (vezi starile automatului TCP)
Protocolul (TCP)
• Inchiderea conexiunii
– Trebuie sa aiba loc cu acordul ambelor parti
– Conexiunile TCP fiind full duplex, cind o aplicatie
semnaleaza ca nu mai exista date de trimis, TCP
va inchide conexiunea doar intr‐o directie:
• Se transmit datele, se asteapta confirmarea primirii,
apoi se trimite un segment avind bitul FIN setat
Protocolul (TCP)
• Resetarea conexiunii
– Inchiderea conexiunii ≡ inchiderea unui fisier
– Uneori conditii anormale forteaza aplicatiile sau
software‐ul de retea sa distruga conexiunea
– Pentru resetarea conexiunii, o parte a comunicarii
initiaza terminarea, trimitind un segment cu bitul
RST setat
– Cealalta parte abandoneaza conexiunea, fara a se
mai transmite eventuale date ramase netransmise
– Transferul in ambele directii este oprit, buffer‐ele sunt
golite
Protocolul (TCP)
• Fortarea transmiterii datelor
–TCP poate divide fluxul de date in segmente de
dimensiuni diferite de pachetele vehiculate de aplicatii
⇒ eficienta transmisiei
–Uneori intervine situatia de a transmite datele
fara a se mai astepta umplerea buffer‐elor
(e.g., aplicatii interactive)
–Fortarea transmiterii se realizeaza prin push:
se seteaza bitul PSH si se forteaza transmiterea
segmentelor, indiferent de starea de umplere a
buffer‐elor
Protocolul TCP-segmentul TCP
◼ Campul fereastra
◼ Acest câmp este numit şi dimensiunea ferestrei de avertizare, fiind
utilizat în controlul fluxului.
◼Destinaţia are o memorie buffer limitată, care poate stoca segmentele
proaspăt sosite. Dacă aplicaţia nu citeşte segmentele pe cât de repede
vin, în cele din urmă buffer-ul se va umple.
◼ Mărimea ferestrei este numărul de octeţi pe care serverul este dispus
să îi accepte, și anume, cantitatea de buffer care a rămas. El pune acest
număr în segmentul următor, pe care îl trimite clientului (sursei de
pachete). Dacă mărimea ferestrei este foarte mică, clientul poate reduce
transmiterea până când fereastra creşte din nou. Câmpul de 16 biți ne dă
o fereastră de până la 65535 de octeţi, dar este o opţiune în antet de a
mări aceasta chiar și mai mult.
Protocolul (TCP)
• Controlul fluxului
– Se utilizeaza bitul ACK la nivelul comunicarii duplex
– Fereastra glisanta (sliding window)
•Marimea ferestrei depinde de numarul secventei de
confirmare
Protocolul (TCP)
• Controlul fluxului
1 2 3 transmisi si confirmati
4 5 6 transmisi si neconfirmati
7 8 9 pot fi transmisi cit de curind posibil
10 11 nu se pot transmite fara mutarea ferestrei

Fereastra glisanta la transmiterea datelor


Protocolul (TCP)
• Detecţia erorilor & retransmiterea datelor
– Fiecare segment trimis conţine un număr de
secvenţă
(Sequence Number) indicând poziţia octeţilor transmişi
în cadrul fluxului de date
– Gazda destinatar verifică numărul de secvenţă
pentru fiecare segment (se testează dacă anumite
segmente se pierd, sunt duplicate sau nu sunt in
ordine) şi trimite înapoi pentru fiecare segment un
număr de confirmare (Acknowledgment Number),
specificând numărul de secvenţă al următorului
octet care se aşteaptă a fi recepţionat
Protocolul (TCP)

• Detectia erorilor & retransmiterea


datelor
– Segmentele pierdute sunt detectate
folosindu‐se un timer de retransmisie a
datelor
–Pentru detectarea erorilor se utilizeaza
si checksum‐uri
Protocolul (UDP)
•Protocol de transport neorientat conexiune,
nesigur, minimal)folosit de ex. de protocolul DNS.
• RFC 768
• Ca si TCP, utilizeaza IP
•Ca si TCP, pentru a oferi servicii de comunicare
intre procese foloseste porturi
• Porturile TCP independente de porturile UDP
Protocoalele TCP si UDP

• Ambele se bazeaza pe IP, utilizeaza


porturi
• Unitatea de transmisie se numeste:
Segment TCP
Pachet UDP
Protocoalele TCP si UDP
•UDP ofera servicii minimale de transport
(efort minim de transmisie)
•TCP ofera servicii orientate‐conexiune, full duplex,
sigure – pentru transportul fluxurilor de octeti
(mai sofisticat)
•Utilizarea TCP sau UDP depinde de aplicatie:
email, transfer de fisiere, operare in timp‐real,
transmisii multimedia in timp‐real, DNS, chat,…
Utilizarea protocoalelorTCP şi UDP
Securitatea in retelele de calculatoare
Securitatea retelelor de calculatoare

Terminologie:

Securitatea reprezintă abilitatea de a evita neplăcerile produse de orice risc, ameninţare sau
pericol, deziderat imposibil de realizat în practică.

Incidentul de securitate defineşte evenimentul apărut în cadrul reţelei, cu implicaţii asupra


securităţii unui calculator sau a reţelei, provenind din interiorul ori exteriorul reţelei.

Putem defini vulnerabilitatea ca o slăbiciune a unui sistem hard / soft ce permite


utilizatorilor neautorizaţi să aibă acces asupra sa. Nici un sistem nu este 100% sigur, iar
vulnerabilităţile apar şi datorită proastei administrări.

Vulnerabilitate = caracteristica unui produs care permite altora decât proprietarului acces la
nivelul de confidenţialitate, integritate şi disponibilitate
Securitatea retelelor de calculatoare

Principalele componente ale securităţii informaţiei sunt:

-confidenţialitatea

-integritatea

-disponibilitatea.
Securitatea retelelor de calculatoare

Confidențialitatea
Este definită conform ISO (organizația mondială pentru standardizare) ca fiind asigurarea
accesabilității informației doar de către persoanele autorizate în accesarea și folosirea
acestor informații.
Cea mai eficientă metodă de asigurare a confidențialității informațiilor este criptografia.
Astfel, datele cu caracter privat și sensibile sunt encriptate de către sursă și decriptate de
către persoana autorizată.
Asigurarea confidențialității este critică în aplicațiile care folosesc tranzacții bancare online.
De asemenea confidențialitatea este necesară și în menținerea caracterului privat al datelor
cu caracter personal.
Securitatea retelelor de calculatoare

Confidenţialitatea poate fi obţinută prin mai multe procedee :


a) împiedicarea accesului, reprezintă o modalitate directă de asigurare a confidenţialităţii,
prin împiedicarea accesului la datele sau informaţiile protejate. În această situaţie,
confidenţialitatea datelor este dependentă de securitatea sistemului per ansamblu, fie că e
vorba de un calculator, un server sau o legătura de comunicaţie
b) ascunderea informaţiei sau a datelor este o formă de securitate prin obscuritate, şi ca
majoritatea schemelor de securitate prin obscuritate, nu oferă garanţii prea mari de
confidenţialitate. Ea funcţionează în cazul în care eventualul atacator nu are prea multe
cunoştinţe în domeniul informatic, sau nu are uneltele necesare pentru efectuarea unui
atac. În cazul unui hacker experimentat, spre exemplu, un astfel de sistem va fi o victimă
sigură. Ascunderea nu oferă un nivel de securitate acceptabilă pentru aplicaţiile care
manipulează date personale
c)criptarea sau cifrarea este un mecanism puternic de asigurare a confidenţialităţii. Ea
asigură confidenţialitatea datelor atunci când mecanismele de împiedicare a accesului la
date au eşuat. Este un lucru înţelept să folosim şi criptarea, deoarece sistemele informatice
sunt foarte complexe. Dacă mecanismul de criptare a datelor este puternic şi aplicat în mod
corect, atacatorul va avea în faţă nişte date pe care nu va putea să le folosească.
Securitatea retelelor de calculatoare

Integritatea datelor și a informațiilor


Are ca obiectiv asigurarea că informațiile ajung la persoanele autorizate nealterate, în formă
identică cu informațiile de la sursă, iar modificările asupra datelor se fac doar de către
persoanele care au autorizație.
Integritatea informațiilor poate fi compromisă de către persoane în mod accidental sau în
mod voit. De asemenea alterarea datelor în mod accidental se poate întâmpla și din cauza
disfuncționalității sistemelor informatice.
De accea se impun algoritmi de verificare a integrității datelor – HASH.

Integritatea se defineşte ca fiind protecţia împotriva modificării sau distrugerii neautorizate


a informaţiilor.
Modificarea neautorizată se poate realiza fie prin accesul la baza de date, fie prin
modificarea mesajelor în tranzit.
Securitatea retelelor de calculatoare

Integritatea se poate asigura prin:


✓ împiedicarea accesului persoanelor neautorizate la sistemul informatic
✓ autentificarea utilizatorilor şi autorizarea lor în funcţie de informaţiile
✓ de autentificare
✓ criptarea datelor, astfel încât informaţia sa nu poată fi modificată în
✓ sensul dorit de intrus, iar dacă este modificată, modificarea ei să fie
evidentă destinatarului informaţiei
✓ folosirea de sume criptografice de control şi de semnături electronice
✓ pentru a detecta modificarea neautorizată a datelor.
Securitatea retelelor de calculatoare

Disponibilitatea
Se referă la asigurarea accesului la informație, atunci când este cerută și implică în principiu
disponibilitatea sistemelor informatice de a oferi informația. Internetul a perfecționat acest
principiu prin introducerea conceptului de disponibilitate permanentă (High Availability),
fiind o necesitate absolută a traseului informție-utilizator. Sistemele informatice care oferă
informație în internet trebuie să asigure disponibilitatea permanentă, să prevină prin soluții
tehnice întreruperile de serviciu din cauze diverse (căderi de tensiune în rețeaua
electrică, disfunționalități hardware, etc) și prevenirea atacurilor de tip Denial of Service.
Securitatea retelelor de calculatoare

Disponibilitatea
Se referă la asigurarea accesului la informație, atunci când este cerută și implică în principiu
disponibilitatea sistemelor informatice de a oferi informația. Internetul a perfecționat acest
principiu prin introducerea conceptului de disponibilitate permanentă (High Availability),
fiind o necesitate absolută a traseului informție-utilizator. Sistemele informatice care oferă
informație în internet trebuie să asigure disponibilitatea permanentă, să prevină prin soluții
tehnice întreruperile de serviciu din cauze diverse (căderi de tensiune în rețeaua
electrică, disfunționalități hardware, etc) și prevenirea atacurilor de tip Denial of Service.
Securitatea retelelor de calculatoare

Pe lângă cele 3 principii enumerate, confidențialitate, integritate, disponibilitate, în 2002,


Don Parker a propus adițional alte 3: posesia, autenticitatea și utilitatea.
Non-repudierea
În termeni juridici non-repudierea înseamnă imposibiliatea ca persoanele angajate în
schimbul de informații să nege trimiterea, respectiv recepționarea informației.

Autentificare vs. Autorizare

PenTesting – Kali Linux


Securitatea retelelor de calculatoare

Vulnerabilităţi implicite – nu necesită atac din partea hackerilor, sunt rezultate


ale neglijenţei utilizatorilor
Pachetele cookie
Parolele memorate pe PCuri publice
Istoricul navigărilor
Toate acestea sunt date latente care ar trebui şterse cu regularitate de utilizator
dar sunt de regulă ignorate
Rolul datelor latente este să îmbunătăţească utilizabilitatea (completarea
automată a formularelor, memorarea parolei, funcţionarea butonului Back
în browser)
Un browser creator de date latente trebuie să se achite de obligaţia de a oferi căi
de ştergere sau criptare a acestora, răspunderea revenind astfel
utilizatorului
Securitatea retelelor de calculatoare

Datele latente pot fi dovezi juridice.


Ştergerea de fişiere şi formatarea logică a discului nu şterg efectiv informaţia,
ci o marchează în vederea suprascrierii
La crearea de noi fişiere, o parte din aceste zone sunt suprascrise, dar o
parte rămân libere şi informaţia “ştearsă” constituie date latente ce pot fi
recuperate
Un fişier se stochează într-un număr întreg de clustere şi de regulă ultimul
cluster incomplet acoperit păstrează în continuare date latente care nu
vor fi suprascrise de alte fişiere
Datele latente pot fi fişiere temporare, parole şi alte date utile în investigarea
juridică
Piraţii software care îşi formatează discurile sunt verificaţi prin extragere de
date latente cu instrumente software specializate
Modul de tratare a latenţei datelor dpdv al testerului va trebui indicată în
specificaţii
Securitatea retelelor de calculatoare

Motivele hackerilor
Prestigiul - hacking benign orientat spre încălcarea protecţiilor şi nu spre
accesarea de resurse protejate
util în testarea securităţii;
Curiozitatea – implică accesarea de resurse protejate dar nu şi exploatarea
lor
read-only hacking
Utilizarea – implică exploatarea resurselor protejate în interesul hackerului,
fără a bloca accesul proprietarului la resurse
spyware, viruşi de e-mail
Vandalizarea – implică blocarea accesului proprietarului la resurse fără
beneficii directe pentru hacker
modificarea GUI (frecvent la site-uri Web), distrugerea datelor sau blocarea
funcţionalităţii (denial-of-service)
Furtul – exploatarea resurselor în interesul hackerului şi blocarea accesului
proprietarului la resurse
furtul de numere de card, bunuri şi servicii, date personale
Securitatea retelelor de calculatoare

“Portret robot“ al atacatorului cybernetic - tipul "criminalităţii gulerelor albe“

- bărbat cu vârsta cuprinsă între 15 şi 45 de ani, având un statut social bun, fără
antecedente penale, inteligent şi motivat. În multe cazuri, autorul este
chiar salariat al întreprinderii atacate, sau cunoaşte modul de funcţionare a
sistemului atacat.
Securitatea retelelor de calculatoare

Parole
Distributia initiala a parolelor
Ingineria sociala

In cat timp se sparge o parola din 12 caractere? 2mil de combinatii/sec

n^k (n=94 caractere (10 cifre 52 car 32 special car); k=12 ) =


475.920.314.814.253.376.475.136 / 31622400 = 7,5 miliarde de ani
https://www.betterbuys.com/estimating-password-cracking-times/
Securitatea retelelor de calculatoare

Vulnerabilităţi implicite – nu necesită atac din partea hackerilor, sunt rezultate


ale neglijenţei utilizatorilor
Pachetele cookie
Parolele memorate pe PCuri publice
Istoricul navigărilor
Toate acestea sunt date latente care ar trebui şterse cu regularitate de utilizator
dar sunt de regulă ignorate
Rolul datelor latente este să îmbunătăţească utilizabilitatea (completarea
automată a formularelor, memorarea parolei, funcţionarea butonului Back
în browser)
Un browser creator de date latente trebuie să se achite de obligaţia de a oferi căi
de ştergere sau criptare a acestora, răspunderea revenind astfel
utilizatorului
Securitatea retelelor de calculatoare(firewall-uri)
◼ Reţelele de calculatoare sunt o resursă partajată, folosită de către mai multe aplicaţii
în diverse scopuri. Uneori, datele transmise între procesele aplicaţie sunt confidenţiale
şi ar fi de dorit ca ele să nu fie citite decât de cei cărora li se adresează.
◼ Suita de protocoale TCP/IP s-a dezvoltat la început într-un mediu academic „sigur”.
Din acest motiv, inițial, nu s-a acordat atenție procesului de securizare sau
autentificare în cadrul acestor protocoale.
◼ Există tendința ca tot mai multe aplicaţii „răuvoitoare” create sau achiziţionate de inşi
cu preocupări distructive, să fie rulate în reţele, cu diverse scopuri malefice. Trebuie să
prevenim aceste aplicaţii sau să împiedicăm rularea lor. Unele dintre aceste aplicaţii
pot duce la:
❖ aglomerarea calculatorului cu atât de mult trafic, încât traficul real nu poate fi
administrat. Acest procedeu poartă numele de negarea service-ului(DoS-Denial of
Service)
❖ „câștigarea” accesului la calculator, fapt ce poate determina citirea, scrierea sau
ștergerea unor fișiere private sau rularea pe calculator a unor programe neautorizate,
cum ar fi trimiterea de spam-uri. De asemenea, utilizarea calculatorului, respectiv,
pentru atacarea altor calculatoare, este o altă metodă frecvent utilizată de atacatori.
Atacuri asupra rețelelor

„Inundațiile” SYN(SYN floodings)


Acesta este un atac de tip refuz al serviciului.

O conexiune TCP începe cu un SYN de la client.


Serverul constată acest lucru și răspunde prin trimiterea unui pachet de răspuns ACK
cu propriul SYN. De asemenea, serverul salvează o parte din informația referitoare la
această nouă posibilă conexiune.

O inundație SYN are loc atunci când atacatorul trimite foarte multe segmente deschise
de SYN și nu finalizează/completează niciodată dialogul ȋn trei faze(handshake).

Fiecare SYN consumă resurse ale serverului, care nu devin disponibile până când nu a
trecut o anumită perioadă de timp. Serverul poate să nu dispună de suficientă
memorie pentru a administra cereri reale de conexiune TCP.
Atacuri asupra rețelelor

Refuzul distribuit al serviciului(Distributed Denial of Service-DDoS)

◼ Acest tip de atac este din categoria inundațiilor SYN.


Mii de calculatoare gazdă, slab protejate, sunt subminate de răufăcători/spărgători
(crackers). Aceste gazde sunt denumite „fantome”(zombies).

La un semnal, toate „fantomele” trimit cereri HTTP unui server victimă. Supraîncărcarea
reduce drastic nivelul de servicii oferit de server, chiar până la zero, altor calculatoare.
Acest procedeu este folosit pentru a supraîncărca gazda/serverul, (din motive cel mai
adesea, politice) de către cracker sau ca parte a unui atac mai amplu împotriva unei

gazde comerciale (de exemplu, un site de pariuri) cu scopul de a-l determina să plătească
o răscumpărare.
Atacuri asupra rețelelor

Atacuri datorate implementărilor unor protocoale


◼ Multe implementări ale protocoalelor din suita TCP/IP au bug-uri/carenţe ascunse.
Acestea pot fi, uneori, exploatate de răufăcători. De exemplu, unele calculatoare sunt
vulnerabile la pachetele foarte mari, transmise prin utilizarea comenzilor ping, și suferă
astfel atacuri denumite ping-uri ale morții. Aceste pachete sunt mult mai mari decât MTU
și supraîncarcă bufferele interne, atunci cînd gazda încearcă reasamblarea fragmentelor:
cel care le scrie nu se așteaptă ca pachetele ICMP să fie atât de mari. Rezultatul cel mai
întâlnit este crash-ul/clacarea.
◼Cea mai simplă soluție este aceea de a ignora pachetele ICMP care sunt mai mari decât

MTU. Pachetele ICMP reale nu sunt niciodată suficient de mari/largi astfel ȋncât să fie
necesară o fragmentare a lor, deci, putem renunța fără probleme la fragmentele ICMP. O
altă variantă este de a încerca repararea/fixarea codului de reasamblare(adică asamblarea
pachetelor din fragmente).
◼În mod similar, unele sisteme nu pot face față la fragmentele bombă. Acest lucru are loc

atunci când un număr de fragmente de pachete sunt primite, dar toate pachetele au și
fragmente lipsă și din acest motiv ele nu pot fi reasamblate. Din nou, cauza problemei
constă ȋn insuficiența resurselor necesare stocării fragmentelor.
Atacuri asupra rețelelor

Malware (malicious software-software răuvoitor) sunt softuri concepute pentru a cauza


daune unui calculator sau unei retele se întâlnesc sub formă de:
◼ viruşi (viruses), adică programe care se pot atașa singure de alte programe şi împiedecă, de

cele mai multe ori, buna lor funcţionare.


◼viermi ( worms ), adică programe independente, dar care se „deplaseză” singure prin reţea,

de la un calculator la altul, provocând diverse daune(asupra fişierelor, datelor, etc.)


◼troieni ( trojans ), adică programe care pretind că sunt altceva decât ceea ce sunt de fapt,

fiind de fapt programe răuvoitoare, ce se ascund sub forma unor programe utile, în speranța
că utilizatorul le va rula, din greșeală. Ele permit răufăcătorilor să câştige accesul la
calculatoarele pe care se află programul de tip troian şi să provoace daune asupra fişierelor, a
modului de rulare a programelor, a datelor sau, pur şi simplu, să fure anumite date sau să le
modifice.
◼Un alt mod de a intra într-un calculator are loc atunci când aplicația nu verifică suficient de

bine datele primite. În cazul atacurilor asupra buffere-lor, atacatorul trimite o mulțime de
date, alese cu atenție, astfel încât clientul să eșueze în încercarea de a le verifica. Acestea
supraîncarcă memoria buffer, pe care clientul a alocat-o datelor. Ca rezultat, clientul începe să
ruleze datele primite care, desigur vor rula în favoarea serverului(adică vor executa operaţiile
dorite de server) și în detrimentul clientului. Browserele web, fiind programe mari și
complexe, sunt, îndeosebi, susceptibile la această problemă.
Atacuri asupra rețelelor

Atacurile de tip social engineering

Această formă de atac este una veche, dar a renăscut o dată cu era Internetului.

Aplicată în viața reală, este adeseori denumită șiretlicul încrederii(configence trick).

◼ In cazul în care calculatorul este mult prea greu de spart, este atacat, în schimb,
utilizatorul. Multe persoane consideră acest gen de atacuri mai ușoare decât cele asupra
calculatorului. Cea mai simplă formă este apelarea unui administrator de sistem și
folosirea unor mijloace de persuasiune asupra acestuia ca să se obţină parola maşinii lui.
Acest lucru se face uneori prin prezentarea atacatorului( care se poate afla la distanţă)

drept superiorul lui și să-l amenințe cu concedierea, sau atacatorul se poate preface că
este un utilizator care şi-a uitat parola, sau alte șiretlicuri asemănătoare care să-l
sensibilizeze şi să-l facă să cedeze. Această metodă este mult mai ușoară și mai rapidă
decât încercările de a sparge parola.
Atacuri asupra rețelelor

◼ O altă industrie în creștere este reprezentată de phising(ȋnşelăciune electronică).


Aceasta este o formă de personificare falsă cu scopul de a convinge victima să divulge
informații confidențiale, cum ar fi numere de cont sau numere de card, etc.

Un tip clasic de phising este:


◼ Victima primește un e-mail care se presupune că este de la bancă și prin care este
rugată să-şi actualizeze/updateze datele personale. E-mailul conține o legătură(link)
către un site pe care/unde se poate face acest lucru.

◼ Pagina Web este construită plauzibil, astfel încât să pară a fi de la banca respectivă

◼ Victima introduce datele personale și le trimite


◼ Desigur, atât e-mailul cât și pagina Web sunt false și astfel datele personale ajung în
mâna criminalilor.
Atacuri asupra rețelelor

◼ O altă metodă se bazează pe lăcomia anumitor persoane. De exemplu, frauda nigeriană


sau 419. In acest caz:

◼ Victima primește un e-mail cu o poveste referitoare la „cineva care are foarte mulți bani,
aur sau diamante și dorește să le transfere în țara dumeavoastră dar anumite legi îl
împiedică”;

◼ E-mailul oferă victimei un procent din bani dacă îl ajută, dar prima dată victima trebuie să
garanteze înțelegerea plătind o anumită taxă, sau trimiţând detalii privind transferul bancar,
pentru a face posibil transferul.

◼ Un atac similar implică ideea că victima a câștigat la loterie și sunt necesare date personale
bancare pentru a permite transferul câștigului.

◼ Acest tip de atacuri, la nivel social, au existat încă dinainte de existența Internetului: atacul
419 s-a perpetuat prin intermediul scrisorilor sau al faxului. In societate s-au găsit metode
de a contracara aceste atacuri și trebuie făcut același lucru și în cazul Internetului.
Atacuri asupra rețelelor

◼ Pentru a reduce impactul atacurilor asupra reţelei se iau unele măsuri precum: accesul în
reţea să fie protejat de un firewall, instalarea unui antivirus pentru serverul de e-mail, o
politică de monitorizare a serviciilor prin scanarea porturilor pentru a vedea care
sunt deschise şi ar putea fi folosite de atacatori, etc.

◼ O aplicaţie de scanat porturi este cea care iniţiază conexiuni către toate porturile unui
sistem ţintă, pentru a determina care porturi sunt deschise şi aflând astfel ce servicii sunt
disponibile. Una din cele mai folosite aplicaţii de scanat porturile este nmap (network
mapper) pentru explorarea reţelei şi audit de securitate, care poate oferi informaţii
despre porturile deschise şi despre porturile filtrate. De asemenea oferă informaţii
despre serviciile rulate şi pune la dispoziţia administratorului de reţea metode de
detectare a staţiilor active dintr-o reţea, serviciile folosite de utilizatori, etc.

◼ Aplicaţia nmap rulează atât pe S. O. Linux cât şi pe S.O MsWindows (vezi


http://nmap.org).
Scanarea porturilor
Protecția rețelelor prin firewall-uri

◼ O metodă de a reduce pericolul unui atac este, în primul rând, de a preveni ca pachetul
să ajungă la gazdă.
◼ Un firewall(numit şi „zid de protecţie”) este un element intermediar(hard sau soft, sau
ambele, de exemplu un router) poziționat între o rețea privată și Internet, care încearcă
să protejeze rețeaua privată de atacuri din exterior, cercetând fiecare pachet, pe măsură
ce acesta trece prin el și decizând ce să facă cu el .
Protecția rețelelor prin firewall-uri

Funcţiile principale ale firewall-ului pot fi:

◼ trecerea pachetelor neschimbate;

◼ trecerea pachetelor modificate într-un fel, de exemplu, biți de TOS schimbați;


◼abandonarea pachetului și trimiterea unor notificații ICMP înapoi la expeditor (de exemplu,
port imposibil de atins/ajuns);

◼ abandonarea în liniște a pachetului. Această modalitate este un mijloc bun de apărare


împotriva surselor răuvoitoare, în căutare de servicii vulnerabile. Răspunsul normal, în cazul
unui pachet trimis unui port UDP închis, este cel prin intermediul unui pachet ICMP, cu

menţiunea „port imposibil de ajuns”. Acesta este un semnal trimis expeditorului care
sugerează funcționarea calculatorului și încurajează încercările ulterioare. Tăcerea poate
sugera că nu există nici un calculator la celălalt capăt.
Funcționarea firewall-urilor

Firewall-urile simple funcţionează pe un număr mai mic de straturi, în timp ce firewall-urile


mai avansate acoperă un număr mai mare de straturi fiind mult mai eficiente. De
asemenea, firewall-urile pot fi incluse în sistemele de operare sau nu şi atunci rulează ca
aplicaţii independente.
Firewall-uri cu filtrarea pachetelor

◼Tipul fundamental de firewall este cel ce face filtrare de pachete. Firewall-ul de tip filtru de
pachete se află, de obicei, în dispozitive de rutare care includ funcţionalităţi de control pentru
sistemul de adresare şi sesiunile de comunicări.
◼Funcţionalitatea de control al accesului unui firewall de filtrare de pachete este guvernată de

un set de directive, denumite reguli de rulare.


◼In forma de bază, filtrele de pachete funcţionează la nivelul reţea. Această funcţionalitate de

bază este concepută să asigure controlul accesului la reţea, bazat pe mai multe informaţii
conţinute într-un pachet IP şi anume:
❖Firewall-urile cu filtrare de pachete sunt, de obicei, implementate pe infrastructuri de reţea

ce folosesc protocoalele TCP/IP, dar pot fi folosite şi pe alte infrastructuri ce folosesc de


exemplu IPX/SPX (Novell NetWare).
❖Firewall-urile ce realizează filtrarea pachetelor şi routerele pot filtra traficul de reţea, de

asemenea, bazat pe anumite caracteristici ale traficului, de exemplu, în cazul în care ar folosi
protocolul ICMP pentru inundarea cu trafic, creând astfel denial-of-service distribuit (DDoS).
Firewall-uri cu filtrarea pachetelor
Firewall-urile cu filtrarea pachetelor au două puncte forte principale:
◼ viteza
◼ flexibilitatea,
pentru că ele nu examinează datele deasupra nivelului reţea. De asemenea, fiindcă pot fi
folosite cele mai moderne protocoale la nivel reţea, firewall-ul cu filtrarea pachetelor poate fi
folosit pentru a asigura aproape orice tip de comunicare în reţea. Această simplitate permite
firewall-ului filtru de pachete să fie folosit în aproape orice infrastructură de reţea de firmă.
DMZ IDS/IPS

Figura de mai jos arată, o reţea internă bine protejată de firewall-ul principal şi cel cu filtrare de pachete
precum şi de un IDS/IPS(Intruder Detect System/Intruder Protect System), ce poate detecta o serie de
atacuri precum: scanarea porturilor, negarea serviciului, inundare, viermi, viruşi, etc. Mai are o zonă
DMZ(Demilitarizet Zone) de mai puţină încredere, pentru Web siDNS.
Firewall-uri cu filtrarea pachetelor

◼ Router-ul acceptă pachete de la conexiuni cu încredere redusă, care, de obicei, pot fi de


la un alt router sau controale de ISP. Router-ul efectuează apoi controlul accesului în
conformitate cu politica implementată, de exemplu, blochează pachete SNMP (Simple
Network Management Protocol), permite pachete HTTP (Hipertext Transport Protocol),
etc.

◼ Se trec apoi pachetele la alte firewall-uri mai puternice( numite firewaluri principale),
pentru controlul accesului şi mai multe operaţiuni de filtrare din straturile superioare ale
stivei OSI. Figura anterioara arată, de asemenea, o reţea internă, cu mai puţină

încredere, legată între router-ul de margine şi un firewall interior, denumită uneori zonă
de reţea DMZ (Demilitarized Zone) şi o reţea bine protejată de firewall-ul principal.
Reguli de filtrare

◼ Acţiunea unei reguli asupra unui pachet poate fi:


◼ Acceptare (Accept): firewall-ul trece pachetul prin firewall, cu rezerva existenţei unor
capabilităţi de logare.
◼ Refuzare (Deny): firewall-ul aruncă pachetul, fără a-l trece prin firewall. Odată ce
pachetul este aruncat, este returnat la sistemul sursă un mesaj de eroare. Acţiunea
„Deny” poate sau nu, genera intrări în fişierul de log-uri, în funcţie de firewall şi de setul
de reguli de configurare.
◼ Respinge(discard)i: firewall-ul nu numai că aruncă pachetul, dar nu se întoarce un
mesaj de eroare la sistemul sursă. Această acţiune specială este folosită pentru a pune în
aplicare metodologia tip „black hole” (gaura neagră) în care un firewall nu-şi dezvăluie
prezenţa sa la un outsider. Ca şi în alte acţiuni, „discard” poate, sau nu, genera intrări în
fişierul de log-uri.
Regulile unui firewall pentru o reţea imaginară, cu
adresa IP 192.168.1.0
Adresa sursă Portul sursă Adresa destinaţie Portul destinaţie Acţiu Descrierea
-nea

1 Oricare Oricare 192.168.1.0 >1023 permis Regulă ce permite conexiunilor TCP


(any) (any) întoarcerea la subreţeaua internă

2 192.168.1.1 Oricare Oricare Oricare interzis Previne conectarea la însuşi firewall-ul


(any) (any) (any) de oriunde şi de către oricine

3 Oricare Oricare 192.168.1.1 Oricare interzis Previne accesarea directă a firewall-ului


any) (any) (any) de către utilizatorii externi

4 192.168.1.0 Oricare Oricare Oricare permis Utilizatorii interni pot accesa servere
(any) (any) (any) externe

5 Oricare Oricare 192.168.1.2 SMTP permis Permite utilizatorilor externi să trimită


(any) (any) e-mailuri în reţeaua internă

6 Oricare Oricare 192.168.1.3 http permis Permite utilizatorilor externi accesarea


(any) (any) serverelor WWW

7 Oricare Oricare Oricare Oricare interzis Reuneşte toate regulile. Tot ceea ce nu
(any) (any) (any) (any) este permis (anterior nu a fost permis),
în mod explicit, este interzis
Reguli de filtrare

◼ Prima regulă permite pachetelor de la sistemele externe să treacă la sistemele interne,


completând astfel conexiunea
◼ A doua regulă interzice firewall-ului transmiterea oricăror pachete cu adresa sursă a sa. Acest
lucru împiedică un atacator care ar vrea să „spoofing” adresa firewall-ului în speranţa că
firewall-ul va lăsa/trece acest pachet la o destinaţie internă. Ca rezultat, destinaţia ar putea
accepta apoi pachetul, deoarece ar părea să fi venit direct de la firewall
◼ Regula a treia simplifică blocarea pachetelor externe, pentru a nu accesa direct firewall-ul.
◼ Regula a patra permite sistemelor interne să se conecteze la sistemele externe, folosind orice
adrese externe şi orice protocol.
◼ Regulile 5 şi 6 permit pachetelor externe să treacă prin firewall, în cazul în care conţin date
SMTP (Simple Mail Transport Protocol) sau date HTTP, care sunt date pentru e-mail şi,
respectiv, date web.
◼ Regula finală este una foarte importantă, blochează orice alte pachete din exterior.
◼ Se poate deduce, apoi, că politica de securitate a informaţiilor pentru reţea este după cum
urmează:
◼ Este permis orice tip de acces din interior spre exterior.
◼ Nici un acces din exterior spre interior nu este permis, cu excepţia celor SMTP şi HTTP.
◼ De asemenea, serverele SMTP şi HTTP sunt poziţionate în spatele firewall-ului.
Deficienţele filtrării pachetelor

◼ Deoarece firewall-ul de tip filtru de pachete nu examinează datele straturilor superioare,


ele nu pot preveni atacurile care folosesc vulnerabilităţi specifice aplicaţiilor
◼ Din cauza informaţiilor limitate, disponibile la firewall, funcţionalitatea de logare este
limitată. Logurile conţin aceleaşi informaţii pentru a lua decizii de control al accesului
(adresa sursă, adresa destinaţie şi tipul de trafic).
◼ Cele mai multe firewall-uri cu filtrare de pachete nu au scheme evoluate de autentificare
a utilizatorilor. Incă o dată, această limitare este, în mare parte, datorată limitărilor
privind funcţionalităţi la nivele superioare.
◼ Acestea sunt, în general, vulnerabile la atacurile care profită de problemele din cadrul
stivei TCP/IP, cum ar fi spoofing-ul adreselor nivelului reţea. Multe firewall-uri cu filtru de
pachete nu pot detecta un pachet de reţea, la care adresa reţea a fost modificată.
Atacurile de inselare(spoofing) sunt, în general, folosite de către intruşi pentru a ocoli
controalele de securitate într-un firewall de nivel mai ridicat.
◼ In cele din urmă, datorită numărului mic de variabile utilizate în deciziile de control al
accesului, firewall-urile cu filtru de pachete sunt susceptibile de a încălca normele de
securitate din cauza configuraţiilor necorespunzătoare. Cu alte cuvinte, este uşor de
configurat, accidental, un firewall filtru de pachete pentru a permite tipuri de trafic, surse
şi destinaţii care ar trebui interzise, pentru a realiza politica de securitate a unei
organizaţii.
Firewall-uri cu inspectare dinamică

◼ Firewall-urile cu inspectare dinamică sunt filtre de pachete care includ în plus filtrarea la
nivelul transport.
Atunci când o aplicaţie creează o conexiune TCP cu un host de la distanţă, este creat, de

asemenea, un port, pe sistemul sursă, cu scopul de a primi trafic de reţea de la sistemul


destinaţie. In conformitate cu specificaţiile TCP, acest port sursă client va fi un număr mai
mare decât 1023 şi mai mic decât 65535. Potrivit convenţiei, portul în gazda-destinaţie va
avea, probabil, un număr de port mai mic de 1024. De exemplu, pentru SMTP este 25.
Firewall-urile cu filtrarea pachetelor trebuie să permită traficul de reţea de intrare pe toate

aceste porturi cu „numere mari”, pentru ca în legăturile orientate pe conexiune să se


întoarcă, de exemplu, pachetele de la destinaţie. Deschiderea acestui mare număr de porturi
creează un risc imens de intruziune de către utilizatorii neautorizaţi, care ar putea folosi o
varietate de tehnici de a accesa aceste porturi.
Firewall-uri de tip poartă aplicaţie-proxy

Po r ile de aplicaţie proxy sunt firewall-uri avansate care combină funcţionalitatea de control al accesului de
◼ ţ
la nivele inferioare cu cea de la nivelul superior (nivelul aplicaţie). In cazul în care softul porţii de aplicaţie
proxy încetează să funcţioneze, sistemul firewall nu mai este capabil să transmită pachetele de reţea prin
sistemul firewall. Fiecare aplicaţie proxy, în parte, numită, de asemenea, şi agent proxy interferează în
mod direct cu setul de reguli al controlului de acces al firewall-ului pentru a determina dacă unei părţi a
traficului reţelei îi este permisă trecerea prin firewall.
◼ Pe lângă setul de reguli, fiecare agent proxy are capacitatea de a cere autentficarea fiecărui utilizator
individual al reţelei. Această autentificare a utilizatorilor poate lua mai multe forme, printre care:
◼ - autentificarea prin ID-ul utilizatorului şi parola de autentificare;
◼ - autentificarea printr-un simbol hardware şi software;
◼ - autentificare pe baza adresei sursă;
◼ - autentificare biometrică.
◼ Porţile de aplicaţie proxy au numeroase avantaje faţă de firewall-urile cu filtrarea pachetelor precum şi
asupra firewall-urilor cu inspecţie dinamică a (filtrării) pachetelor. Porţile de aplicaţie proxy au, de obicei,
mai multe posibilităţi de logare extensivă, datorită faptului că firewall-ul este capabil să examineze întregul
pachet de reţea şi nu doar adresele şi porturile reţelei. De exemplu, logarea porţilor de aplicaţie proxy
poate conţine comenzi specifice de aplicaţie în interiorul traficului reţelei.
Servere proxy dedicate
Servere proxy dedicate

◼ Pe lângă funcţionalitatea autentificării şi logării, serverele proxy dedicate sunt utile pentru
scanarea conţinutului web şi al e-mail-urilor, incluzând următoarele:

◼ filtrarea de applett-uri Java;

◼ filtrare de controale active X ;

◼ filtrare JavaScript;

◼ blocarea unor tipuri specifice de extensii MIME;

◼ scanare şi înlăturare de viruşi;

◼ scanare, filtrare şi înlăturare de macroviruşi;

◼ comenzi specifice pentru aplicaţii, de exemplu, blocarea comenzii de ştergere (“delete”)


în cazul HTTP; şi

◼ controale specifice pentru utilizatori, incluzând blocarea unor anumite tipuri de conţinut
pentru anumiţi utilizatori.
Tehnologii firewall hibride

◼Produsele firewall curente încorporează funcţionalitatea mai multor tipuri de firewall-uri.


De exemplu, multe porţi de aplicaţie proxy implementează funcţionalităţi de filtrare de
pachete, oferind un suport mai bun pentru aplicaţii bazate pe UDP.

◼Tot în acest mod, multe firewall-uri cu filtrarea pachetelor, comercializate sau cu inspecţie
dinamică a filtrării pachetelor, au implementat funcţionalitatea aplicaţiei proxy. In
majoritatea cazurilor, firewall-urile cu filtrarea pachetelor sau a celor cu inspecţie stabilă a
filtrării pachetelor implementează aplicaţii proxy pentru a furniza o îmbunătăţire a logării
traficului de reţea şi a autentificarii utilizatorului în firewall-urile lor.
◼ Mai nou au apărut aşa numitele NGF(Next Generation Firewall) care pe lângă
facilităţile amintite mai sus au şi sistem IDP(Intrusion Detection and Prevention).
Translatarea adreselor de retea
Translatarea adreselor de retea si a porturilor
Firewall-uri personale

◼ Securizarea calculatoarelor personale, acasă sau în alte locaţii, este acum la fel de
importantă ca şi securizarea lor la birou, deoarece multă lume lucrează acasă şi operează
cu date ale unor organizaţii sau agenţii. Utilizatorii care au acces la Internet de acasă,
prin modem sau nu, spre un furnizor de servicii internet (ISP), pot avea puţine protecţii
firewall disponibile la ei, pentru că un ISP trebuie să armonizeze mai multe politici diferite
de securitate. Aceste produse sunt implementate tipic în una sau două configuraţii.
◼ Una dintre aceste configuraţii este un firewall personal, care este instalat pe sistemul care
trebuie protejat. Firewall-urile personale nu oferă, de obicei, protecţie altor sisteme sau
resurse. La fel, firewall-urile personale nu furnizează controale asupra traficului de reţea
care traversează un sistem al unui calculator – ele doar protejează sistemul calculatorului
pe care sunt instalate.
◼ A doua configurare este denumită dispozitiv firewall personal, care este un concept
similar cu acela al unui firewall tradiţional. In majoritatea cazurilor, dispozitivele firewall
personale sunt proiectate spre a proteja reţelele mici precum reţelele care pot fi găsite în
birouri de acasă. Aceste dispozitive operează, de obicei, pe un hardware specializat şi
integrează şi alte forme de componente de infrastructură a reţelei pe lângă însuşi
firewall-ul, printre care: modem pe cablu cu rutare WAN, switch de reţea, server DHCP,
agent de management reţea (SNMP) și agenţi de aplicaţie proxy.
Utilitarul/modulul IPtables
◼Modulul IPtables, care intră în componenţa unor firewall-uri, conţine 3 tabele: Mangle,
Filter şi NAT. Fiecare dintre aceste tabele conţine anumite lanţuri (chains) de dirijare:
PREROUTING, INPUT, FORWARD, OUTPUT şi POSTROUTING.
◼ Un lanţ este o listă cu reguli de verificare. Fiecare regulă spune ce să faci cu un pachet, în

funcţie de antetul său.


Dacă regula nu se potriveşte cu pachetul, atunci este examinată următoarea regulă din

lanţ. În final, dacă nu mai există reguli de examinat, nucleul Linux se uită la politica acelui
lanţ pentru a decide soarta pachetului. Fiecare regulă sau set de reguli are o ţintă. Dacă o
regulă se potriveşte, ţinta ei specifică ce se va întâmpla cu acel pachet.
Există două ţinte foarte simple, incluse: ACCEPT şi DROP. Mai există şi specificaţii de tipul

salt (jump). Această instrucţiune se foloseşte atunci când ţinta unui pachet este un alt lanţ.
Sintaxa unei reguli este de forma:

◼ Iptables [-t tabel] comandă lanţ [identificatori] [ţintă/salt].


Firewaluri de ultimă generaţie(Next Generation Firewalls)

◼După cum am văzut anterior, firewall-urile tradiționale se bazează pe porturi şi


protocoale pentru a separa traficul. Aceasta permite aplicaţiilor și utilizatorilor să
ocolească porturile şi protocoalele, „sărind” porturile, prin folosirea SSL, „strecurându-
se” astfel peste portul 80, sau folosind porturile non-standard. In acest caz
administratorii de reţea nu văd aceste lucruri şi pierd controlul, ceea ce duce la
posibile pierderi de date şi deci la creşterea cheltuielilor operaţionale.
◼Noile generaţii de firewall-uri numite (NGF sau NGFW-Next Generation FireWall),
realizate pe o platformă hard cu soft adecvat, precum:Palo Alto Next- Generation
Firewall au, pe lângă facilităţile tradiţionale, caracteristici noi care duc la o
securitate sporită.
..
Firewaluri de ultimă generaţie(Next Generation Firewalls)-cerinte

◼ Cerințele principale pentru NGFW(Next-Generation FireWall) sunt:


• Identificarea aplicațiilor şi nu a porturilor. Se identifică aplicaţia sau cererea ei, pentru toate porturile,
indiferent de protocol, criptare SSL, sau tactica evazivă. Identitatea aplicaţiei(sau cererii) devine
baza pentru toate politicile de securitate.
• Identificarea utilizatorilor, nu doar a adreselor IP. Aceasta presupune folosirea informațiilor stocate
în directoare pentru vizibilitate, crearea de politici de raportare și investigare.
• Verificarea conținutului în timp real. Reţeaua trebuie protejată împotriva atacurilor și a malware-ului
încorporat în traficul aplicațiilor cu latență mică, precum şi în cazul debitului(throughput) la viteze
mari.
• Simplificarea politicilor de management. Folosirea unor instrumente grafice ușor de utilizat pentru
vizibilitate și control, precum și a unui editor de politici care leagă aplicații, utilizatori și conținut
împreună, într-un mod unitar.
• Combinarea hardware-ului de înaltă performanță cu software-ul, pentru construirea unei platforme
care să ofere servicii cu latență mică.
◼ O platformă NGF oferă servicii de protecţie pentru reducerea riscurilor de securitate, realizând mai
multe funcţionalităţi, pe care le vom trata mai jos
Firewaluri de ultimă generaţie(Next Generation Firewalls)-metode

Metodele folosite de NGFW pentru realizarea dezideratelor privind securitatea sunt enumeratemai jos.
• Gruparea continuă a întregului trafic prin toate porturile. Spre deosebire de firewall-urile vechi NGF aplică
mai multe mecanisme de grupare a fluxului de trafic pentru a identifica aplicaţii, ameninţări şi malware. Tot
traficul este grupat, indiferent de portul, criptare (SSL sau SSH), sau alte tehnici care sunt folosite mai rar.
Aplicaţiile neidentificate-de obicei un mic procent din trafic, dar cu risc potenţial mai mare — sunt în mod
automat “vizate” pentru o gestionare/management atentă şi sistematică.
• Odată ce traficul este grupat, puteţi reduce atacurile reţelei, prin permiterea rulării aplicaţiilor specifice şi
oprirea( deny) tuturor celorlalte aplicaţii. Prevenirea unor atacuri cibernetice coordonate poate fi realizată
prin blocarea site-urilor cunoscute de malware precum şi împiedicarea vulnerabilităţilor speculate, a
viruşilor, spyware-ului şi a interogărilor ostile a/de DNS. Orice client sau malware necunoscut este analizat
şi identificat de către fişierele de execuţie şi este observat comportamentul său rău intenţionat într-un
mediu virtualizat. Atunci când este descoperit un nou malware se generează automat o semnătură a
traficului malware şi ne este livrată pentru a fi adăugată la baza de date cu semnăturilemalware.
• Realizarea unei mapări a traficului aplicaţiilor şi a ameninţărilor asociate la/pe utilizatori şi dispozitive.
Pentru a îmbunătăţi securitatea şi a reduce timpul de răspuns la un incident de securitate, este esenţial să
se realizeze o mapare a aplicaţiilor la/pe utilizatori şi dispozitive — şi în acest context să se poată aplica
politicile de securitate. Integrarea cu o gamă largă de arhive de utilizatori oferă identitatea utilizatorilor
precum: Microsoft® Windows®, Mac® OS X®, Linux®, Android® sau iOS şi a dispozitivelor care
accesează aplicaţiile. Combinarea vizibilităţii şi controlului atât asupra utilizatorilor cât şi asupra
dispozitivelor va face posibilă activarea în condiţii de siguranţă a utilizării oricărei aplicaţii din reţea,
indiferent de utilizator sau tipul de dispozitiv folosit.
Firewaluri de ultimă generaţie(Next Generation Firewalls)-politici/reguli

◼Când se ştie exact care sunt aplicaţiile/cererile care traversează gateway-ul Internet, dacă se operează în data-
center-ul local sau în cloud, dacă se lucrează de la distanţă, se pot aplica politici specifice pentru aceste aplicaţii,
coroborate cu protecţia contra atacurilor. Cunoaşterea/cunoştinţele privind utilizatorul şi nu doar adresa IP, adaugă
un alt element de context care ajută politicile de Securitate
◼ Regulile/politicile de control includ:
• permis sau nu( alow or deny);
• permis dar se scanează( alow but scan for viruses and otherthreats);
• permisie bazată pe programare, utilizatori sau grupuri(alow based on schedule, users, or groups);
• se aplică trafficului modelul QoS (apply trafic shaping throughQoS)
• decriptare şi inspecţie (decrypt and inspect);
• permiterea anumitor funcţii ale aplicaţiei( alow certain applicationfunctions);
• aplicarea de politici pentru forţare a traficului( apply policy–basedforwarding);
• orice combinaţie a regulilor/politicilor de mai sus( any combination of the above).

Prin folosirea editorului de politici, lucru familiar celor care au experienţă în administrarea firewall-urilor, se pot
crea politici flexibile precum: blocarea aplicaţiilor răuvoitoare p2p, forţarea traficului pe anumite rute( de ex. cel de
Facebook), identificarea transferurilor sensibile(carte de credit, etc.), politici de filtrare URL, definirea unor politici
de inspectare a email-urilor, activarea pentru grupul IT a utilizării unui management specific pentru SSH, etc.
NGFW
Firewaluri de ultimă generaţie(Next Generation Firewalls)-grupare

◼ Căteva elemente privind analizarea şi gruparea aplicaţiilor, sunt date maijos.


• Poarta de acces la Internet(DG-default gateway) poate investiga aplicaţii noi sau necunoscute pentru
a realiza rapid o descriere a aplicaţiei, caracteristicile sale comportamentale şi cine a folosit-
o. In plus vizibilitatea în cadrul categoriilor de URL-uri, ameninţări şi paterne de date oferă o imagine
mai bine conturată a traficului de reţea ce traversează poarta deacces.
• Toate fişierele analizate pentru malware necunoscut ( de exemplu cu WildFire™ care e un motor
avansat de analiză şi prevenire a malware-ului) sunt jurnalizate într-o cutie de acces pentru oferirea
de detalii incluzând aplicaţia care le-a folosit, utilizatorul, tipul de fişier, sistemul de operare şi
comportamentul observat al malware-ului (aplicaţiei rău intenţionate).
• Se verifică toate aplicaţiile în rulare şi se asigură că acestea sunt folosite doar de utilizatorii
autorizaţi. Prin activitatea de vizualizare în Data Center se poate confirma că nu există aplicaţii
configurate greşit sau utilizatori falşi(rogue) de SSH sau RDP.
• In cazul acestor scenarii, aplicaţiile necunoscute — de obicei un procent mic în fiecare reţea — pot fi
grupate şi clasificate pentru o analiză și gestionare sistematică.
◼În multe cazuri, nu puteţi şti cu siguranţă ce aplicaţii sunt în uz, cât de “puternice” sunt sau cât de

frecvent sunt folosite, sau de către cine. O vizibilitate completă a aspectelor legate de traficul de reţea —
aplicaţie, conţinut şi utilizator — este primul pas spre un control informat privind politicile desecuritate.
NGFW- Protejarea conţinutului şi a aplicaţiilor permise/activate

:
◼ Prevenirea ameninţărilor cunoscute folosind IPS și a unui antivirus/anti-spyware pentru rețea.
Notă: Spyware este un software răuvoitor care își propune să adune informații despre o persoană sau o
organizație fără știrea lor şi apoi transmite aceste informații către o altă entitate fără acordul persoanei sau
organizaţiei, sau care realizează controlul asupra unui dispozitiv fără știrea celui ce-l utilizează legal.
◼ Blocarea de malware necunoscut sau targhetat cu motoare de scanare.
Malware-ul necunoscut sau cunoscut(de ex. ameninţările complexe persistente), ascuns în fişiere poate fi
identificat şi analizat de un motor de scanare( de ex. WildFire) în mai multe sisteme de operare, într-un mediu
virtualizat şi în cloud. Sunt monitorizate un număr mare de comportamente maliţioase şi, dacă este găsit un
malware este creată în mod automat o semnătură, care este livrată în câteva minute. Sunt suportate majoritatea
tipurilor de fişiere precum: Microsoft Office .doc, .xls şi .ppt; Portabil Document Format (PDF); Apleturi Java (jar şi
class); şi pachetul Android (APK). În plus sunt analizate link-urile din e-mail pentru a opri atacurile de phishing.
◼ Identificarea gazdelor bot-infectate şi oprirea perturbării activităţilor din reţea de către aplicaţiile
ostile(malware).
Trierea completă, gruparea tuturor aplicaţiilor, în/din toate porturile, inclusiv orice trafic necunoscut, adesea pot
duce la anomalii sau ameninţări în reţea. Se poate folosi o comandă pentru un raport privind comportamentul
botnet(o reţea de calculatoare, tablete, smartphone, etc. infectate cu software de tip bot, software ce permite unor
persoane rău intenţionate să preia controlul acestora fără cunoştinţa proprietarilor de drept şi să le utilizeze pentru
a lansa atacuri cibernetice de tip DdoS, spam, asupra unor terţi), DNS “rău”-sinkholing( un server DNS care dă
informaţii false), DNS pasiv şi să se coreleze repede traficul necunoscut, DNS-ul suspect şi interogările URL cu
gazdele infectate. Se aplică inteligenţa globală pentru a intercepta şi interoga DNS-ul “rău” pentru domenii “rău
intenţionate”(malicious).
NGFW- Protejarea conţinutului şi a aplicaţiilor permise/activate

◼ Limitarea fişierelor neautorizate şi a transferurilor de date.


Opţiunile de filtrare a datelor permit administratorilor de reţea să implementeze politici care reduc riscurile asociate cu fişierele
neautorizate şi cu transferurile de date. Transferurile fişierelor pot fi controlate prin căutarea în interiorul acestor fişiere (spre
deosebire de firewall-urile vechi care examinau doar extensia fişierelor) pentru a determina/a_lua_decizia dacă acţiunea de transfer
să fie permisă sau nu. Fişierele executabile, de obicei găsite în folderul de descărcare( drive-by downloads), pot fi blocate,
protejând astfel rețeaua de răspândirea de malware nevăzut. Opţiunile de filtrare a datelor pot detecta şi controla fluxul paternelor
de date confidențiale(carduri de credit sau sociale, numărul de securitate-la noi, CNP-precum şi paterne/modele particularizate).
◼ Controlul navigării Web.
Un motor de filtrare personalizat pentru URL-uri, complet integrat, permite administratorilor de reţea punerea în aplicare a unor
politici fine/amănunţite de navigare pe Web, completând vizibilitatea aplicaţiilor/cererilor şi a politicilor de control care salvează
întreprinderea de expunerea la riscuri juridice, de reglementare, şi de productivitate.
◼ Politicile de accesare a aplicaţiilor pentru device-uri(smartphone, laptop, etc.)
Folosind un motor de scanare( de ex. Global Protect) a aplicaţiilor de pe device-uri, o organizaţie poate seta politici specifice pentru
a controla dispozitivele care pot accesa aplicaţii speciale şi resursele din rețea. De exemplu, asigurarea că laptop-urile sunt
compatibile cu ceea ce se ştie în firmă despre ele( tip, sistem de operare, aplicaţii, etc.-imaginea firmei despre ele), înainte de a
permite accesul la centrul de date. De asemenea, se poate verifica dacă dispozitivul mobil se regăseşte în lista actualizată a
dispozitivelor deţinute de firmă şi este complet actualizat(patched), cu toate update-urile necesare, înainte de accesarea de date
sensibile.
◼ Confirmarea automată a hosturilor compromise.
Un motor de corelare automată arată indicatorii predefiniţi ai reţelei compromise, corelează similitudini şi evidenţiază în mod
automat gazdele compromise, reducând astfel nevoia explorării manuale a datelor(data mining) privind hosturile compromise.
NGFW-Raportarea şi jurnalizarea( crearea de log-uri)

◼Cele mai bune practici de securitate presupun realizarea unui echilibru între eforturile de gestionare a
evenimentelor în curs de desfăşurare( proactivi) şi cele de a fi reactivi, ceea ce implică investigarea şi
analiza incidentelor de securitate sau generarea de rapoarte de zi cuzi.
• Raportarea.
◼ Rapoartele predefinite pot fi personalizate, sau grupate împreună ca un singur raport pentru a se

potrivi cu cerinţele specifice ale politicilor de securitate. Toate rapoartele pot fi exportate în format CSV
sau PDF şi pot fi executate şi trimise prin e-mail pe baza unui program.
• Jurnalizarea(Log-uri).
◼ Filtrarea rapidă, în timp real, a fişierelor de log-uri facilitează analiza rapidă a fiecărei sesiuni ce

traversează reţeaua. Contextul complet al aplicaţiei, conţinutul — inclusiv malware-ul detectat de un


motor de scanare ( de ex. WildFire) — şi utilizatorul pot fi folosite ca un criteriu de filtrare şi, apoi,
rezultatele pot fi exportate într-un fişier CSV sau trimise la un server de syslog-uri ca să fie arhivate offline
şi apoi folosite pentru o analiză suplimentară.
MsWindows Firewall
◼Pentru a oferi nivelul de securitate de care avem nevoie, Windows Firewall dispune
de un set standard de reguli de intrare şi ieşire(Inbound & outbound rules), activate
în funcţie de locaţia reţelei la care suntem conectaţi.
◼ O locaţie de reţea este un pachet de setări pentru partajare în reţea, care sunt
aplicate reţelei la care sunteţi conectat. În funcţie de locaţia de reţea atribuită
conexiunii active, caracteristici cum sunt partajarea fişierelor şi imprimantei,
descoperirea de reţea, etc. ar putea fi pornite sau oprite.
◼ Aceste locaţii de reţea sunt foarte utile pentru utilizatorii care îşi conectează
calculatoarele la multe reţele. De fiecare dată când ne conectăm la o reţea nouă,
Windows 7 și Windows 8 îi vor atribui acesteia un profil de reţea. Cu o singură
alegere, obţinem schimbarea întregului pachet de setări de reţea. In Windows 8
există doar două tipuri de locații de rețea:
• .
MsWindows Firewall
• Reţea privată - alegem această locaţie atunci când suntem conectaţi la reţeaua de
domiciliu sau la cea de serviciu. În mod implicit, descoperirea reţelei va fi activată şi
vom putea vedea alte calculatoare şi dispozitive care fac parte din reţea. De
asemenea, acest lucru va permite altor calculatoare din reţea accesul la calculatorul
nostru. În reţeaua de domiciliu vom avea, de asemenea, permisiunea de a crea sau de
a ne alătura unui Grup de Domiciliu.
• Reţea publică - acest profil este numit uneori și "Oaspete/Guest". Este perfect atunci
când ne aflăm într-un loc public, cum ar fi un magazin din aeroport, un club sau o
cafenea. Atunci când acest profil este utilizat, descoperirea de reţele şi partajarea sunt
dezactivate. Celelalte calculatoare din aceeaşi reţea nu vor putea vedea calculatorul
nostru. Această setare este, de asemenea, utilă atunci când calculatorul este conectat
direct la Internet (direct prin cablu / conexiune prin modem, Internet mobil, etc.).
◼ Există, de asemenea, un al treilea profil de locaţie de reţea numit Domeniu de reţea.
Acest profil nu poate fi setat de către un utilizator obişnuit. Acesta este disponibil
instituţiilor, companiilor, etc. şi este setat de către administratorul de reţea. În acest profil,
setările aplicate sunt stabilite de către compania unde lucrăm şi nu le putem modifica.
MsWindows Firewall
◼Regulile de intrare (inbound rules) sunt aplicate traficului care vine dinspre reţea şi
Internet către calculatorul sau dispozitivul nostru.

◼Regulile de ieşire (outbound rules) sunt aplicate traficului dinspre calculatorul


nostru către reţea sau Internet.

◼Aceste reguli pot fi configurate astfel încât să fie specifice pentru: calculatoare,
utilizatori, programe, servicii, porturi sau protocoale. De asemenea, este posibil să
specificăm la care adaptor de reţea (ex. wireless, prin cablu, VPN) sau profil de
utilizator sunt aplicate aceste reguli
Intrebari?
Programarea in retea
Socluri in C(Sockets)
Modelul client/server
• Paradigme ale comunicarii in retea:
-modelul client/server
-apelul procedurilor la distanta (RPC)
-comunicarea punct‐la‐punct (peer to
peer– P2P)
Modelul client/server
• Proces server
– Oferă servicii obţinute prin reţea
– Acceptă (iterativ sau concurent) cereri de la un proces
client, realizează un anumit serviciu şi returnează
rezultatul
• Proces client
– Iniţializează comunicarea cu serverul
– Solicita un serviciu, apoi aşteapta răspunsul serverului
Modelul client/server
• Moduri de interactiune (via canale de comunicatie):
❖ orientat‐conexiune – se foloseste TCP
❖ neorientat‐conexiune – se utilizeaza UDP
• Implementare:
❖ iterativă – fiecare cerere e tratata pe rând, secvenţial
❖ concurentă – cererile sunt procesate concurent
❖ Procese fiu/copil pentru fiecare cerere de procesat
❖ Multiplexarea conexiunii
❖ Tehnici combinate
API retea
• Necesitatea existentei unui API(Application Programming
Interface) pentru realizarea de aplicaţii în reţea
– Interfaţa generică pentru programare
– Suport pentru comunicaţii orientate‐conexiune şi prin mesaje
– Compatibilitate cu serviciile I/O comune
– Independenţa de hardware şi de sistemul de operare
– Suport pentru familii (suite) de protocoale multiple
– Independenţa în reprezentarea adreselor
– Oferirea de servicii speciale pentru aplicaţii
API retea
• TCP/IP nu include definirea unui API
• Se pot utiliza mai multe API‐uri pentru programarea aplicatiilor
Internet (TCP/IP)
– Socket‐uri BSD (Berkeley System Distribution)
– TLI (Transport Layer Interface) – AT&T, XTI
– Winsock1 şi 2 de la Microsoft
– MacTCP
• Funcţii oferite:
❖ specificare de puncte terminale locale şi la distanţă,
❖ iniţiere şi acceptare de conexiuni,
❖ trimitere şi receptare de date,
❖ terminare conexiune,
❖ tratare erori
Socket
• Socket‐uri BSD (Berkeley System Distribution)
• Facilitate generala, independenta de hardware, protocol si tipul
de transmitere, pentru comunicarea intre procese aflate pe
masini diferite, in retea
• Suporta pentru familii multiple de protocoale
– Protocolul domeniului UNIX pentru comunicatii (locale) intre
masini UNIX (e.g., uucp)
– Protocolul domeniului Internet folosind TCP/IP
– Altele: XNS Xerox, ISO/OSI,…
• Independenţă în reprezentarea adreselor
Socket
• Similar unui descriptor de fisier
• Diferente apar la creare şi la diferite
operaţiuni de control a socket‐urilor
Client/server TCP|server
• Modelul unui server TCP iterativ
– Creare socket pentru tratarea conexiunilor cu clientii: socket()
– Pregatirea structurilor de date (sockaddr_in)
– Atasarea socket‐ului la adresa locala (port): bind()
– Pregatirea socket‐ului pentru ascultarea portului
in vederea stabilirii conexiunii cu clientii: listen()
–Asteptarea realizarii unei conexiuni cu un anumit client
(deschidere pasiva): accept()
– Procesarea cererilor clientului, folosindu‐se socket‐ul returnat
de accept() pentru clentul respectiv: succesiune de read()/write()
– Inchiderea (directionata) a conexiunii cu clientul:
close(), shutdown()
Client/server TCP|client
• Modelul unui client TCP iterativ
– Creare socket pentru conectarea la server: socket()
– Pregatirea structurilor de date (sockaddr_in)
– Atasarea socket‐ului: bind() – optional
– Conectarea la server (deschidere activa): connect()
– Solicitarea de servicii si receptionarea rezultatelor
trimise de server: succesiune de write()/read()
–Inchiderea (directionata) a conexiunii cu serverul:
close(), shutdown()
Client/server
Dialogul folosind calculatorul

◼ Cum se desfasoara un dialog?

◼ Cum se interconecteaza calculatoarele?


O aplicaţie de reţea include:

◼ un program client – care creează un


socket pentru a iniţia o conexiune cu o
aplicaţie server
◼ un program server – care aşteaptă
preluarea cererilor clienţilor
Porturi
Identificarea destinatiei de capat
◼ IP identifica adresa hostului
◼ Hostul are mai multe aplicatii
◼ Porturi (identificator pe 16 biti)
Aplicatii WWW E-mail Telnet

Port 80 25 23

192.18.22.13
Socluri(Sockets)
◼ Sunt identificate de protocol si adresa/portul
locala/de la distanta
◼ Aplicatiile pot fi referite de la mai multe socluri
◼ Soclurile sunt accesate de mai multe aplicatii
Primitive de serviciu socket API(1)
Primitive de serviciu socket API(2)
Proprietati ale soclurilor/corolar
◼ este un punct de comunicaţie prin care un proces poate emite
sau recepţiona informaţie sub forma unui flux de bytes;
◼este identificat printr-un descriptor, asemănător cu cel pentru

fişier
◼ realizează următoarele operaţii elementare:
• conectarea la staţia de la distanţă
• emiterea datelor
• recepţionarea datelor
• închiderea unei conexiuni
• ataşarea la un port
• aşteptarea cererilor de conexiune emise de staţiile de la
distanţă
• acceptarea cererilor de conexiune la portul local
Transmitere parametri catre functii
◼ Pentru ca funcţiile amintite să poată avea aceeaşi sintaxă de
apel independent de tipul de reţea şi, în consecinţă, de
structura adresei, funcţiile primesc adresa printr-un pointer la
zona de memorie ce conţine adresa de reţea si portul.

◼ Structura zonei respective de memorie depinde de tipul reţelei


utilizate. In toate cazurile, aceasta începe cu un întreg pe 16
biţi, reprezentând tipul de reţea. Dimensiunea structurii de
date ce conţine adresa de reţea depinde de tipul de reţea şi, în
plus, pentru anumite tipuri de reţea, dimensiunea este
variabilă
Structuri(1)
Structura generală folosită pentru lucrul cu socketuri
este:
◼ struct sockaddr
◼ {
◼ unsigned short sa_family;
◼ char sa_data[14]; //14 bytes pentru adrese
◼ }
Membrii structurii sunt:
◼ sa_family identifică familia de adrese;
◼ sa_data identifică adresa de socket compusă din
numărul portului şi adresa IP.
Structuri(2)
Pentru a lucra mai uşor cu structura de mai sus se foloseşte o nouă
structură ajutătoare sockaddr_in. Structura sockaddr este una
generică (o putem privi ca o clasă abstractă) menită a stoca
informaţii de adresă pentru oricare tip de socketuri.
Structura ajută la referirea facilă a elementeloradresei de socket:
◼ struct sockaddr_in
◼ {
◼ short int sin_family;
◼ unsigned short int sin_port;
◼ struct sin_addr;
◼ unsigned char sin_zero[8]; //
◼ };
Membrii:
◼ sin_family corespunde câmpului sa_family din structura sockaddr;
◼ sin_port identifică portul;
◼ sin_addr identifică adresa IP;
◼ sin_zero[8] se iniţializează cu 0.
Big endian si little endian
Ordinea de reprezentare a numerelor mai mari de un octet (Little-Endian vs Big-Endian)
Pentru reprezentarea valorilor mai mari de un octet există două metode posibile, ambele folosite în practică:
▪ Little-Endian: cel mai puțin semnificativ octet este memorat primul (octeții sunt memorații în ordine
inversă). Acest model este folosit de familia de procesoare Intel x86.
▪ Big-Endian: cel mai semnificativ octet este memorat primul.

▪ Exemplu: Dorim să stocăm valoarea 0x4a912480 în memorie pe 32 de biți (4 octeți), începând cu


adresa 0x100, folosind cele două metode:

Exemplu: Dorim să stocăm valoarea 0x4a912480 în memorie pe 32 de biți (4 octeți),


începând cu adresa 0x100, folosind cele două metode:

Adresa Adresa Adresa Adresa


Metoda
0x100 0x101 0x102 0x103
Little-Endian 0x80 0x24 0x91 0x4a
Big-Endian 0x4a 0x91 0x24 0x80
Structuri(3)
◼ Valorile articolelor sin_port şi sin_addr trebuie
să fie în forma big endian. Pentru acest lucru
va trebui să se facă conversia între formatul
little endian (host order) şi cel big endian
(network order). Pentru aceste conversii
◼ se vor utiliza funcţiile:
◼ htons() – “host to network short”
◼ htonl() – “host to network long”
◼ ntohs() – “network to host short”
◼ ntohl() – “network to host long”
Structuri(4)
◼ O altă funcţie utilă de conversie este inet_addr(),
care converteşte adrese IP din forma zecimală
grupată în cea de tipul unsigned long în formatul big
endian.
◼ O altă funcţie ce poate fi folosită în locul celei de mai
sus este inet_aton() cu prototipul:
◼ int inet_addr(const char *cp, struct in_addr *inp)

◼ În cazul în care avem o structură in_addr şi dorim să


afişăm adresa IP în format little-endian, atunci putem
folosi funcţia inet_ntoa(), astfel:
◼ printf ("%s", inet_ntoa(ina.sin_addr));
Structuri(4)
Exemplu de iniţializare a structurii sockaddr_in:

struct sockaddr_in my_addr;


my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(MYPORT);
inet_aton("21.33.210.54",
&(my_addr.sin_addr));
memset(&(my_addr.sin_zero), ' \ 0 ' , 8 ) ;
Structuri(5)
Funcţia socket() crează un socket şi returnează
descriptorul de socket (valoare întreagă prin care se
identifică un socket) sau –1, în caz de eroare.
◼ #include <sys/types.h>
◼ #include <sys/socket.h>
◼ int socket (int domeniu, int tip, int protocol);
◼ In UNIX functia soket() creaza un socket si
returneaza descriptorul de socket(valoare intreaga
prin care se identifica un socket) sau -1, in caz de
eroare.
◼ In MS-Windows -1 nu inseamna eroare
Parametri
Domeniul de comunicaţie poate fi setat cu valori de tipul AF_ceva, cum ar fi:
AF_UNIX – stabileşte domeniul de comunicare locală UNIX sau AF_INET –
utilizat pentru comunicaţii între procese aflate pe aceeaşi maşină sau pe
maşini diferite, folosind stiva de protocoale TCP/IP (domeniul Internet).
Pentru exemplele curente vom utiliza cea de-a doua variantă.
În acest caz, fiecare socket va avea asociată o adresă formată din adresa IP a
maşinii gazdă şi un număr de 16 biţi, local gazdei respective, denumit port.
Tipul de socket utilizat: SOCK_STREAM (comunicarea se va realiza full-duplex,
sigură, orientată-conexiune prin flux de date) sau SOCK_DGRAM (fără
conexiune prin datagrame). Se mai poate folosi şi constanta SOCK_RAW
care oferă un acces la protocolul reţea (protocolul IP), de nivel inferior.
Protocol specifică protocolul particular care va fi utilizat pentru transmisia
datelor. Acesta poate fi setat pe “0” pentru ca funcţia să-şi poată alege
protocolul corect automat. De exemplu, pentru domeniul AF_INET şi tipul
SOCK_STREAM se va considera protocolul de transport TCP, iar pentru
cazul în care domain este AF_INET şi tipul SOCK_DGRAM se va considera
implicit protocolul de transport UDP.
Comunicatie client-server TCP/IP
Clientul apelează:

▪ gethostbyname() pentru a converti numele unui calculator în


adresa IP;
▪ getprotobyname() pentru a converti numele unui protocol în
forma binară folosită de sockets;
▪ socket() pentru a crea un socket;
▪ connect() pentru a conecta socket-ul la un server;
▪ recv() (în mod repetat) pentru transferul tuturor datelor de la
server (clientul nu are de unde şti dacă serverul transmite
datele într-un singur mesaj sau în mai multe);
▪ close() pentru a închide socket-ul.
Serverul apeleaza
◼ getprotobyname() pentru a converti numele unui protocol în
forma binară folosită de sockets;
◼ socket() pentru a crea un socket;
◼ bind() pentru a specifica portul local pentru socket;
◼ listen() pentru a plasa socket-ul în modul pasiv, apoi în buclă;
◼ accept() pentru a accepta o cerere de conectare şi a crea un
socket nou pentru această conexiune;
◼ send() pentru a trimite date;
◼ close() pentru a închide noul socket.
◼ Primitivele blocante folosite sunt accept, connect (3 way
handshake) şi gethostbyname (conectare cu un server de
nume).
Clienti si Servere
◼ Clientul: Initiaza conexiunea

Clientul: Bogdan Serverul: Joana

“Buna, eu sunt Bogdan.”

“Buna, Bogdan eu sunt Joana”

“O zi buna, Joana.”
◼ Serverul: Pasiv asteapta sa raspunda
Interactiunea TCP Client/Server

Serverul porneste pentru a fi gata sa primeasca conexiuni…

Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Asigneaza un port la soclu
3. Comunica 3. Setaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conxiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server

/* Cream un soclu pentru conexiunice ce vor veni */


if ((servSock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
DieWithError("socket() failed");

Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Setaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conxiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server
echoServAddr.sin_family = AF_INET; /* adrese din familia Internet */
echoServAddr.sin_addr.s_addr = htonl(INADDR_ANY);/* Pentru orice interfata */
echoServAddr.sin_port = htons(echoServPort); /* Port local */

if (bind(servSock, (struct sockaddr *) &echoServAddr, sizeof(echoServAddr)) < 0)


DieWithError("bind() failed");

Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Setaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conxiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server
/* marcarea soclului astfel ca sa fie afiasat pentru eventuale conexiuni care
vor veni */
if (listen(servSock, MAXPENDING) < 0)
DieWithError("listen() failed");

Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Seteaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conxiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server
for (;;) /* merge continuu */
{
clntLen = sizeof(echoClntAddr);

if ((clntSock=accept(servSock,(struct sockaddr *)&echoClntAddr,&clntLen)) < 0)


DieWithError("accept() failed");

Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Seteaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conexiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server

Serverul este blocat in asteptarea unei conexiuni de la un client

Mai tirziu, un client se decide sa dialogheze cu serverul…


Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Seteaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conexiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server

/* crearea unui soclu utilizind TCP */


if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
DieWithError("socket() failed");

Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Seteaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conexiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server
echoServAddr.sin_family = AF_INET; /* familia de adrese Internet */
echoServAddr.sin_addr.s_addr = inet_addr(servIP); /* adrea serverului */
echoServAddr.sin_port = htons(echoServPort); /* portul serverului */

if (connect(sock, (struct sockaddr *) &echoServAddr, sizeof(echoServAddr)) < 0)


DieWithError("connect() failed");

Clientul
Serverul
1. Create a TCP socket
1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica
3. Seteaza soclul pentru afisare
4. Inchide conexiunea
4. Repeta:
a. Accepta o noua conexiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server

if ((clntSock=accept(servSock,(struct sockaddr *)&echoClntAddr,&clntLen)) < 0)


DieWithError("accept() failed");

Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Seteaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conexiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server
echoStringLen = strlen(echoString); /* lungimea intrarii */

/* trimite stringul la server */


if (send(sock, echoString, echoStringLen, 0) != echoStringLen)
DieWithError("send() s-a trimis un numar diferit de octeti decit cel
asteptat");
Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Seteaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conexiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server
/* primirea mesajului de la client */
if ((recvMsgSize = recv(clntSocket, echoBuffer, RCVBUFSIZE, 0)) < 0)
DieWithError("recv() failed");

Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Seteaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conexiune
b. Comunica
c. Inchide conexiunea
Interactiunea TCP Client/Server

close(sock); close(clntSocket)

Clientul Serverul
1. Creaza un soclu TCP 1. Creaza un soclu TCP
2. Stabileste conexiunea 2. Leaga soclul la un port
3. Comunica 3. Seteaza soclul pentru afisare
4. Inchide conexiunea 4. Repeta:
a. Accepta o noua conexiune
b. Comunica
c. Inchide conexiunea
Comunicatie UDP/IP
Tipuri de primitive
◼ Integer
◼ Reprezentarea nativa
Little-Endian 0 0 92 246

Big-Endian 246 92 0 0
◼ Network byte order (Big-Endian)
◼ Utilizat pentru multi-byte, schimbul datelor
binare
◼ htonl(), htons(), ntohl(), ntohs()
Client/server UDP
• Pentru socket() se va folosi SOCK_DGRAM
in loc de SOCK_STREAM
• Apelurile listen(), accept(), connect()
nu vor mai fi utilizate in mod uzual
• Pentru citire/scriere de datagrame,
se pot folosi sendto() si recvfrom(), respectiv
• Se pot utiliza, mai general, send() si recv()
•Nimeni nu garanteaza ca datele expediate
au ajuns la destinatar sau ca nu sint duplicate!
Client/server UDP
Client/server UDP
• Socket‐urile UDP pot fi conectate: clientul poate folosi
connect() pentru a specifica adresa (IP, port)
a punctului terminal (serverul) – pseudoconexiuni
–Convenabil pentru transmiterea mai multor
datagrame la acelasi server, fara a mai specifica
adresa serverului pentru fiecare datagrama in parte
–Pentru UDP, connect() va retine doar informatiile
despre punctul terminal, fara a se initia nici un schimb
de date
–Desi connect() raporteaza succes, nu inseamna ca
adresa punctului terminal e valida sau serverul este
disponibil
Client/server UDP
• Pseudoconexiuni UDP
– Se poate utiliza shutdown() pentru a opri
directionat transmiterea de date,
dar nu se va trimite nici un mesaj
partenerului de conversatie
– Primitiva connect() poate fi apelata
si pentru a elimina o pseudo‐conexiune
Alte primitive|I/O
readv()/writev() – Mai generale ca read()/write(),
ofera posibilitatea de a transmite date aflate
in zone necontigue de memorie
recv()/send()
–Ofera modalitati de controlare a transmisiei
(e.g., receptare/trimitere de packete
“outofband”,
“urgent data”, fara rutare locala,…)
recvmsg()/sendmsg()
– Receptioneaza/transmite mesaje,
extragindu‐le din structura msghdr
Alte primitive|informatii
getsockname()
– Returneaza numele curent al unui socket (local)
• adresa la care este atasat

int getsockname( int sockfd, struct sockaddr *name,


socklen_t *namelen );
getpeername()
– Returneaza informatii despre celalalt capat al conexiunii

int getpeername( int sockfd, struct sockaddr *name,


socklen_t *namelen );
Intrebari?
Retele de Calculatoare si
Securitate Cibernetica

“The quieter you become , the more you are able to hear”
Rumi

Pasca Doru
Sys Admin / Ofiter in Securitate Cibernetica
I. Ce este o retea?

 Un ansamblu de dispositive (PC-uri, routere etc.)


interconectate, care pot comunica (schimba)
informatii intre ele
❖ Tipuri de retele

 LAN – Local Area Network – ex: reteaua ta (prin cablu)


de acasa;
 MAN – Metropolitan Area Network – ex: reteaua extinsa,
pe suprafata unui oras;
 WAN – Wide Area Network – ex: Internetul;
 WLAN – Wireless LAN – reteaua ta, wireless, de acasa.
❖ Echipamente de retea

 Switch

Echipament care interconecteaza mai multe PC-uri, imprimante,


telefoane IP, AP-uri etc. la aceeasi retea locala (LAN).

Se caracterizeaza prin nr. mare de porturi (24 sau 48), capabile de


viteze intre 100 mbps – 10 gbps. Foloseste adresele MAC.
❖ Echipamente de retea

 Router-ul

 Dispozitiv de retea care are scopul de a interconecta mai multe


retele LAN, intr-o retea mai mare numita WAN;
❖ IPv4

 Tip de protocol dezvoltat in anii `80, care foloseste 32 de biti pentru


definirea unei adrese (ex: 192.168.0.1);

 Pe fiecare camp din cele 4 grupuri de numere pot fi alocati cate 8


biti.

 (8biti x 4camp = 32 biti) => 2^32 ~ 4.2 miliarde si s-au terminat !


❖ Clase de IP-uri
❖ IP-uri Publice vs IP-uri Private

 IP-urile publice sunt ip-uri care sunt folosite pentru a comunica (tranzita )
doar in internet (WAN)
 IP-urile private sunt ip-uri care sunt folosite doar in LAN

 Obs! Ip-urile private nu vor ajunge niciodata in WAN (internet ) in mod


direct deoarece se foloseste un procedeu numit NAT ( Network Address
Translation) care converteste IP-urile Private in cele Publice !
❖ Ce este NAT-ul (Network Address Translation)

 Network Address Translation (NAT) mascheaza ("translateaza") un IP Privat


intr-un IP Public

 Practic fara acest mecanism nu am putea accesa internetul. De NAT se


ocupa Routerul (fie ca este vorba de cel al companiei tale sau a celei la
care lucrezi sau ca este vorba de Routerul Wireless din sufrageriile noastre)
Exemplu
Subnetarea retelelor IPv4

▪ Adresa de retea – (Network ID ) denumirea retelei


▪ /24,/25/,/26 .etc – Masti de retea numarul maxim de IP-uri dintr-o retea
▪ Masca de retea – dimensiunea unei retele

 Cand vorbim de subnetare/adresare IP o adresa IP este compusa din:


❑ 1. Portiunea de Network (Retea) - aka. Masca de retea
❑ 2. Portiunea de Host - aka. diferenta: 32 - Masca
Tabel Subnetare

POW 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0

HOST 256 128 64 32 16 8 4 2 1

SUBNET MASK 0 128 192 224 240 248 252 254 255

C.I.D.R / 24 / 25 / 26 / 27 / 28 / 29 / 30 / 31 / 32

3rd Octet / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24

2nd Octet /8 /9 / 10 / 11 / 12 / 13 / 14 / 15 / 16

1st Octet /0 /1 /2 /3 /4 /5 /6 /7 /8
Impartire Subnet-uri
Cele 7 atribute ale subnetarii


Network ID :
 BroadCast IP :
 Primul IP Folosibil :
 Ultimul IP Folosibil :
 Urmatoarea Retea :
 Adrese IP :
 CIDR / Subnet :
Exercitiul 1

 10.1.1.37 / 29

NET ID :
Bcast IP:
First IP:
Last IP:
Next Net:
IP Addr:
Cidr/Subnet
Exercitiul 2

 10.2.2.88 / 27
NET ID:
Bcast IP:
First IP:
Last IP:
Next Network:
IP Addr:
CIDR/Subnet:
II. Securitate Cibernetica

 Ce este hacking-ul??

Proces prin care un atacator il urmeaza cu scopul de a obtine acces


neautorizat intr-un system (servere, retele, laptop-uri, telefoane etc.)
❖ Tipuri de hackeri

❖ I. Black hat

 Hacker de tip “Black Hat”, adica un Hacker non-etic pus pe fapte (rele).
De obicei cei care sunt la inceput pe partea de CyberSecurity si PentTesting
se incadreaza in aceasta categorie pentru ca vor sa invete (si nu prea stiu ce
fac).
Black Hat Hackerii, sunt persoanele care fac lucruri intr-un mod total lipsit de
etica si cu scopul de a se afirma, de a-si demonstra lor ca pot, Iar bineinteles
(nu in ultimul rand), de a lua diferite date extrem de valoroase (ex: datele
clientilor, informatii bancare, datele strict secrete ale companiei) de la
diferite organizatii.
❖ Tipuri de hackeri

❖ II. Grey Hat Hacker


 Hackerii de tip “Grey Hat” sunt la mijloc: nici prea buni si nici prea rai. Ce
inseamna asta ? Inseamna ca ei nu sunt 100% dedicati in a face fapte
rele, respectiv in a face hacking etic
 Aceste persoane sunt foarte mult axate sa invete, de multe ori ne mai
gandindu-se la faptul ca fac lucrurile intr-un mod ilegal si complet non-etic
(pe serverele, reteaua altcuiva fara acordul acelei persoane/organizatii).
❖ Tipuri de hackeri

❖ III. White Hat Hacker (aka. Ethical Hacker sau PenTesters)


 Spre deosebire de celelalte 2 categorii despre care am discutat pana
acum, “White Hat Hackers” sunt Hackerii Etici (buni) care “sparg” anumite
sisteme (retele, servere, laptop-uri, telefoane smart etc.) cu scopul de a
descoperi vulnerabilitati pe care ulterior le vor anunta dezvoltatorului (sau
administratorului) astfel incat sa le remedieze
❖ Procesul de Hacking

Este alcatuit din 5 pasi :

✓ Reconnaissance - Information Gathering


✓ Scanning
✓ Gaining Access
✓ Maintaining Access
✓ Covering Tracks
❖ Procesul de Hacking

Este alcatuit din 5 pasi :

✓ Reconnaissance - Information Gathering


✓ Scanning
✓ Gaining Access
✓ Maintaining Access
✓ Covering Tracks
❖ Exemple de atacuri cibernetice

 Ce este un atac cibernetic ?


Un atac cibernetic este un mijloc prin care o persoana (cu rele intentii) profita
de vulnerabilitatile existente pe un anumit sistem (server, calculator,
echipament de retea, aplicatie etc.)
1) MITM - Man in the Middle
2) DoS - Denial of Service
3) DDoS - Distributed Denial of Service
4) SQLi - SQL injection
5) XSS - Cross-Site Scripting
Harta atacurilor cibernetice in timp real https://threatmap.bitdefender.com/
❖ MITM - Man
in the Middle
❑ MITM este un tip de
atac cibernetic cu
scopul de a asculta
traficul utilizatorilor
conectati la aceeasi
retea.
❑ Daca se foloseste o
conexiune securizata
(https) , ATACATORUL
poate vedea traficul
efectuat de catre o
persoana conectata la
aceeasi retea (aceeasi
retea wifi)
❖ DoS (Denial
of Service)
❑ DoS este o forma de
atac cibernetic cu
scopul de a intrerupe
(pentru o perioada de
timp) functionarea
unui anumit serviciu de
pe un server, avand o
singura sursa de trafic
(atacul este facut de
pe un singur
calculator).
❖ Scanare
Retea
# nmap -sS 192.168.1.0/24 - -- scanarea intregii
❑ Scanarea retelei (si a retele cu scopul de a gasi porturile deschise
componentelor ei) se (TCP, folosind SYN) de pe fiecare dispozitiv (aka.
face foarte usor, PORT SCAN)
folosind Nmap. Nmap
vine de la Network
Mapper si ne ajuta sa
"mapam" reteaua intr-
un output (din
terminal) destul de usor
de inteles.
❖ Firewall

 Ce este un firewall?
La fel ca si un Router sau un Switch, un firewall este un echipament de retea
care are scopul de a securiza (proteja) reteaua de potentialii atacatori
(hackeri) din Internet.
Prin securizarea retelei, ma refer in mod special la filtrarea pachetelor (adresa
IP sursa/destinatie, porturi, filtrare URL etc.) cu scopul de a nu permite accesul
unei persoane neautorizate in retea.
❖ Exemplu retea cu Firewall
Securitatea retelelor de calculatoare

◼ Reţelele de calculatoare sunt o resursă partajată, folosită de către mai


multe aplicaţii în diverse scopuri. Uneori, datele transmise între procesele
aplicaţie sunt confidenţiale şi ar fi de dorit ca ele să nu fie citite decât de
cei cărora li se adresează. De exemplu, când cumpărăm un produs pe
WWW, utilizatorii trimit uneori numărul cărţii de credit prin reţea. Acest
lucru este destul de riscant, deoarece este usor pentru o altă persoană să
proiecteze un program aplicaţie care să "asculte" reţeaua şi să citească
pachetele care o traversează. Deci e necesară transformarea datelor
trimise pe un canal capăt la capăt, prin criptarea lor.
◼ Criptografia este o ştiinţă în cadrul criptologiei. Cuvântul criptologie este
îşi are originea în limba greacă. El este compus din două cuvinte: “kryptos”
care înseamnă ascuns, secret, tainic şi “logos” = cuvânt, adică cuvânt
ascuns. Criptologia este la fel de veche ca scrisul în sine, şi a fost folosită
timp de sute de ani pentru protecţia militară şi comunicaţiile diplomatice.
De exemplu, faimosul Julius Caesar a folosit un cifru pentru a proteja
mesajele către trupele sale.
Securitatea retelelor de calculatoare

C=Fc(Kc, P)-functia de criptare

Fd(Kd,C)=Fd(Kd, Fc(Kd, C))=P -functia de decriptare-


Obiectivele principale ale criptografiei moderne

◼ autentificarea utilizatorului,
◼ autorizarea
◼ autentificarea datelor (integritatea datelor şi
autenticitatea datelor de origine),
◼ Nerespingerea/nerepudierea (acceptarea originii )
◼ disponibilitatea
◼ intimitatea
◼ confidenţialitatea datelor
Aspecte ale securităţii
Autentificarea utilizatorului.
◼ •Dacă ne conectăm la un sistem de calcul trebuie (sau cel puţin ar trebui) să
existe un mod prin care să-l convingem pe interlocutor asupra identităţii
noastre. Odată ştiută identitatea, se poate verifica dacă avem dreptul de a intra
în sistem. Acelaşi principiu se aplică când o persoană încearcă să comunice cu o
alta: primul pas este acela de a verifica dacă persoana cu care se comunică este
într-adevăr cine susţine că este. Deci, trebuie să existe un mod în care să-ţi
dovedeşti identitatea. Procesul este numit autentificarea utilizatorului
◼ Cel ce vrea să se conecteze va transmite un element de identificare pe care-l ştie
numai el: o parolă, un identificator de utilizator, un cod pin, etc. Sau poate avea
un element specific cu care se poate identifica: un card magnetic, un smart card,
un simbol, etc. Se mai pot folosi şi proprietăţile biometrice; este un fapt bine
cunoscut că amprentele digitale, forma mâinii sau modelul retinal ale unei
persoane sunt criterii bune de decizie. Acestea necesită însă echipamente
specializate şi de aceea reprezintă o mare investiţie. Totuşi, aceste sisteme
biometrice nu sunt perfecte: unii utilizatori legitimi vor eşua inevitabil asupra
identificării, iar unii intruşi vor fi acceptaţi ca autentici. Alte tehnici includ
măsuri despre cum îşi tastează numele sau îşi scrie semnătura, sau se ia în
calcul locaţia utilizatorului.
Aspecte ale securităţii
• Autorizarea
– Specifica actiunile (rolurile) pe care un utilizator le poate realiza;
asociata autentificarii
– Se permite administratorului definirea politicilor/regulilor de
control al accesului la servicii
– Solutii:
• drepturi de acces (permisiuni) + liste de control al accesului (ACL
– Access Control List)
• controlul accesului bazat pe roluri (RBAC – Role Based Access
Control)
Autentificarea datelor

• Autentificarea datelor constă din: faptul că datele nu au fost


modificate (integritatea datelor) şi faptul că se ştie cine este
expeditorul (autentificarea datelor de origine).
Aspecte ale securităţii
• Integritatea
– In acest context, implica detectarea incercarilor de
modificare neautorizata a datelor transmise
– Solutii:
• algoritmi de verificare a integritatii
• semnaturi digitale
Integritatea datelor
◼ Serviciul de integritate al datelor garantează faptul că, conţinutul
masajelor, care au fost transmise, nu a fost atins de nimeni
◼ O persoană A transmite un mesaj unei persoane B. Poate exista un
adversar care le poate intercepta mesajul. Dacă nu există integritatea
datelor, inamicul poate doar schimba mesajul şi apoi să-l transmită lui B. B
nu va observa că mesajul a fost transformat şi va presupune că A a scris
într-adevăr mesajul aşa cum l-a primit el. Se poate afirma că interceptarea
pe fir este dificilă. În general această interceptare este o problemă de cost
în sensul că este mult mai uşor de interceptat o linie telefonică decât un
cablu coaxial. Interceptările active de fire (modificare şi apoi
retransmiterea mesajelor) sunt mult mai dificile decât interceptările pasive
de fire (doar ascultarea mesajelor).
Aspecte ale securităţii
• Disponibilitatea
– O anumita resursa sa poata fi accesata la momentul
oportun
– Cauze ale indisponibilitatii:
• atacuri de refuz al serviciilor DoS (Denial Of Service)
• atacuri distribuite de tip DDoS (Distributed DoS)
Aspecte ale securităţii
• Intimitatea
– Vizeaza drepturile ce trebuie respectate privind
caracterul (subiectul) datelor vehiculate
– Breşe:
• stocarea necorespunzatoare a datelor la nivel de
server (information disclosure)
• atacuri de tip phishing
• configurarea necorespunzatoare a sistemelor
Acceptarea originii
▪ Acceptarea originii protejează împotriva refuzului uneia dintre
entităţi care este implicată într-o convorbire, de a participa în
totalitate sau parţial la comunicaţie.
▪ Acceptarea unei dovezi a originii, protejează împotriva oricărei intenţii a
transmiţătorului de a respinge trimiterea unui mesaj, în timp ce acceptarea
unei dovezi a livrării, protejează împotriva oricărei tentative a destinatarului de
negare, falsificare a mesajului recepţionat. Un exemplu va ilustra importanţa
acceptării originii.
▪ Presupunem că B este proprietarul unei companii de corespondenţă
prin mail. Pentru el este foarte important să poată arăta unei a treia
părţi că A într-adevăr a cerut lucrurile pe care le presupune el, altfel,
i-ar fi foarte uşor unui client să nege achiziţionarea bunurilor. În
limbajul cuvintelor scrise pe hârtie, acceptarea originii este furnizată
de semnătura manuală.
Aspecte ale securitatii
Confidenţialitatea datelor
◼ Acest aspect al securităţii datelor este cu siguranţă cel mai vechi şi mai cunoscut.
◼ Cu ajutorul confidenţialităţii datelor, ne protejăm împotriva dezvăluirii
neautorizate a mesajelor. Dacă A trimite un mesaj lui B pe care îl
interceptează un inamic, se doreşte ca inamicul să nu poată înţelege
niciodată conţinutul mesajului.
◼ Confidenţialitatea datelor este foarte importantă in lumea medicală şi de asemenea
în sectorul bancar. În întreaga lume se fac mii de tranzacţii în fiecare zi şi toate
acestea trebuie trecute de la o instituţie financiară la alta. Dacă nu există nici un mod
de a proteja confidenţialitatea, toată lumea ar fi în măsură să vadă ce s-a
tranzacţionat şi cine a cumpărat şi ce retrageri au avut loc, şi aşa mai departe.
◼ Pentru a furniza confidenţialitate, este necesară cifrarea mesajelor.
Aspecte ale securitatii
• Confidentialitatea
– Imposibilitatea unei terte entitati sa aiba acces la datele
vehiculate intre doi receptori
– Solutii:
• conexiuni private intre cele 2 puncte terminale ale
canalului de comunicatie; datele circula printr‐un tunel
oferit de o retea privata virtuala (VPN – Virtual Private
Network)
• criptarea datelor via diverse tehnici (biblioteci
specializate si/sau oferite de mediile de dezvoltare)
Criptarea simetrica
▪În esenţă există două tipuri de scheme de criptare. Cele mai vechi şi cele mai folositoare
până în prezent sunt criptările simetrice. În aceste scheme, cheia folosită pentru
decriptarea textului cifrat este echivalentă cu cea folosită pentru criptarea textului iniţial.

▪ Algoritmii cu cheie secretă sunt simetrici, în sensul că ambii participanţi angajaţi


în comunicaţie partajează o singură cheie.

▪Figura de jos ilustrează folosirea criptografiei cu cheie secretă pentru a transmite


data într-un canal nesigur.
Criptarea asimetrica
▪Algoritmii de criptare asimetrică sau de criptare cu chei publice sunt cele mai recente
unelte criptografice.

▪Pe de altă parte, criptografia cu cheie publică implică faptul ca fiecare participant să
aibă o cheie privată care nu este partajată cu nimeni şi o cheie publică careeste
publicată, astfel încât toată lumea ştie de ea.

▪Pentru a trimite un mesaj sigur la un asemenea participant, se criptează mesajul


folosind cheia cunoscută (cheia publică). Participantul decriptează mesajul folosindu-şi
cheia privată.
Criptare cu functii hash
◼ Există un al treilea tip de algoritm criptografic, numit funcţie hash sau
message digest(MDx).
◼ Spre deosebire de tipurile anterioare, folosirea unei funcţii hash nu
implică folosirea unor chei. In loc de aceasta, ideea este de a mapa un
mesaj lung într-un mesaj de o anumită lungime fixă, analog felului în
care o funcţie hash obişnuită mapează valori dintr-un spaţiu larg în
valori într-un spaţiu îngust.
◼ Această metodă calculează o sumă de control criptografică
(cryptographic checksum) a unui mesaj. Asta înseamnă că, aşa cum o
sumă de control obişnuită protejează destinatarul de schimbări
accidentale ale mesajului, o sumă de control criptografică protejează
destinatarul de modificări maliţioase ale mesajului.
◼ Deşi nu-l vom descrie în detaliu, cel mai folosit algoritm pentru a
calcula suma de control este MD5(Message Digest versiunea 5).
Algoritmul DES

◼ Foloseste operatii de XOR, substitutii,


permutari
◼ Mesajul de intrare este m1……m64
◼ Are un bloc de intrare de 2t biti, care este
impartit in doua L0:R0 si care dupa ‘i ‘ runde
devine Li:Ri
◼ Cheia de criptare este K1….K16
Algoritmul DES
 Cifrarea constă din trei categorii de prelucrări care se fac asupra
blocului cu text clar de la intrare:
 1. Blocul de date este supus unei permutări iniţiale Pinit.
 2. Blocul permutat trece printr-un calcul complex care depinde de
cheie şi care constă din 16 iteraţii funcţional identice.
Considerând cei 64 biţi ai unui bloc supuşi unei iteraţii “i”, se notează
cu Li-1 şi Ri-1 cele două jumătăţi de 32 de biţi, stînga şi dreapta,
care-l compun. Fie ki cheia pentru iteraţia “i” şi un bloc de 48 de biţi
aleşi din cei 56 de biţi ai cheii. Prelucrările unei iteraţii sunt:
Li = Ri-1
Ri = Li-1 ⊕ f(Ri-1 ,Ki)
 3. Ultima iteraţie este diferită de celelalte, fiind definită de ecuaţiile:
L16 = R15
R16 = L15 ⊕ f(R15 ,K16).
Algoritmul DES
Algoritmul AES

◼ Inlocuieste DES sau 3DES (DES aplicat de 3


ori)
◼ Exploateaza o constructie algebrica cu 256
de elemente
Algoritmul AES
◼ Creat de Rijmen‐Daemen in Belgia
◼ Algoritmul de decriptare diferit fata de cel de criptare
◼ Inlocuieste DES
◼ Exploateaza o constructie algebrica cu 256 de elemente
◼ Foloseste chei pe 128/192/256‐biti cu 128 biti ca data
◼ Se vrea sa fie:
◼ rezistent

◼ rapid

◼ simplu
Algoritmul AES
◼ Un cifru simetric de tip bloc care poate procesa blocuri de date de 128 biți,
folosind chei cu lungimi de 128, 192 sau 256 biți. În publicația FIPS nr. 197
(Federal Information Processing Standard), operațiile sunt definite sub forma
unor operații pe matrice. La început, blocul este copiat într-un tablou de
stări(state), câte 4 octeți pe o coloană ( după relația: s[r, c] = in[r + 4c]).

◼ Algoritmul modifică la fiecare pas acest tablou de stări şi îl furnizează apoi ca


ieşire.
Criptarea cu cheie publica-RSA

◼ Sistemul RSA este de tip exponenţial. În criptosistemul RSA cu cheie publica, un


participant creează cheia sa publica şi secreta prin următoarea procedură:
◼ Se selectează aleator două numere prime mari, p şi q. Acestea ar putea avea, de
exemplu 100 cifre zecimale.
◼ Se calculează n prin relaţia n=p*q.
◼ Se alege un număr d relativ prim cu Φ(n) (unde Φ(n) este indicatorul lui Euler,
iar în cazul de faţă va fi egal cu z=Φ(n)=(p-1)*(q-1) şi d în intervalul
[max(p,q)+1, n-1].
◼ Se calculează e ca fiind inversul lui d modulo Φ(n) ( pentru calculul lui e se poate
utiliza o versiune extinsă a algoritmului lui Euclid).
◼ Se declară perechea P=(e,n) drept cheie RSA publică.(‘e’ de la encrypt)
◼ Se menţine secretă perechea S=(d,n), care este cheie RSA secretă.
(‘d’ de la decrypt)
◼ Schema poate fi folosită cu succes într-un criptosistem cu chei publice astfel: se vor
face publice e şi n, iar d va fi ţinut secret. În consecinţă, cheia publică este formată
din perechea (e,n) iar cheia privată din perechea (d,n).
Criptosistemul RSA
◼ Algoritmul de criptare:
◼ Presupunem că un utilizator A are cheia publică (e,n) şi cheia privată (d, n).
◼ Utilizatorul B criptează mesajul M pentru a fi transmis la A astfel:
◼ 1. Obține cheia publică (e,n) a lui A.
◼ 2. Transformă mesajul ce va fi criptat într-un număr întreg M în intervalul
[0,n-1].

3. Calculează C = Me (mod n).


◼ 4. Trimite textul cifrat C la utilizatorul A.

◼ Algoritmul de decriptare:
◼ Pentru a determina textul clar M din textul cifrat C, utiliz. A calc.:

M = Cd (mod n).
◼ Numai utilizatorul A cunoaste cheia privata (d ,n).
Exemplu -RSA
◼ Se generează mai întâi cheile
◼ Fie p=5 şi q=7 două numere prime;
◼ Produsul acestor două numere ţinute secrete este n=5*7=35 iar
◼ z=(p-1)*(q-1)=4*6=24.
◼ Fie e =5 astfel că e şi z sunt relativ prime, va rezulta d=29 , astfel ca ed-1 să fie
divizibil cu z
◼ Cheia de criptare va fi (5, 35), iar cea de decriptare (29,35)
◼ Pentru a cifra mesajul, M=RETEA, acesta se va împărţi în blocuri de câte un
caracter fiecare, unde A=00, B=01, C=02,.D=03, E=04, F=05, G=06, H=07, I=08,
J=09, K=10, L=11, M=12, N=13,O=14, P=15, Q=16, R=17, S=18, T=19, U=20,
V=21, W=22, X=23, Y=24, Z=25 şi blanc=26: M=R E T E A = 17 04 19 04 00.
Primul bloc se va cifra ca 17^5 mod 35(1419857mod35=12) =12, etc.
Criptograma obţinută devine: C =12 09 24 09 00
◼ La descifrare, fiecare literă în clar se obţine folosindu-se cheia secretă
d:12^29mod 35( 19781359483314150527412524285952mod35=17)=17,
etc.
◼ Alegând numere prime mai mari se pot obţine chei mai puternice(de ex pentru
p=53 şi q=61 se obţine n=3233, iar pentru d=791 e devine=71 şi în acest caz se
Protocoale de autentificare in trei faze (folosind o cheie secretă)
•Clientul selectează pentru început un număr aleator x şi îl criptează folosind cheia secretă, pe
care o notăm ca fiind CHK (client handshake key). Clientul trimite apoi E(x,CHK), împreună cu
un auto-identificator (ClientId) către server. Serverul foloseşte cheia care crede că, corespunde
clientului ClientID ( să o numim SHK acronim pentru-server handshake key) pentru a decripta
numărul aleator.
•Serverul adaugă 1 la numărul pe care îl decriptează şi trimite rezultatul înapoi la client. El
trimite de asemenea înapoi un număr aleator y care a fost criptat folosind SHK. In continuare
clientul decriptează prima jumătate a mesajului şi dacă rezultatul este cu 1 mai mare decât
numărul aleator x care este trimis serverului atunci ştie că serverul posedă cheia secretă. In
acest moment clientul a autentificat serverul. Clientul decriptează de asemenea numărul
aleator trimis de către server ( care ar trebui să returneze y) criptează acest număr + 1 şi trimite
rezultatul serverului. Dacă serverul este capabil să refacă y+1, atunci ştie că, clientul este cine
pretinde că este.
•După al treilea mesaj, fiecare a fost autentificat faţă de celălalt. Al patrulea mesaj este trimis
de server clientului cu o cheie de sesiune(SK) criptată folosind SHK ( care este egală cu CHK).
De obicei clientul şi serverul folosesc SK pentru a cripta orice date viitoare care sunt trimise
de unul celuilalt.
Autentificarea folosind increderea in a treia persoana (folosind o cheie
secretă)
•Avem doi participanţi pe care dorim să-i autentificăm ca fiind A şi B şi numim serverul de autentificare S.
Protocolul Kerberos presupune că A şi B partajează o cheie secretă cu S, iar cele două chei le notează cu Ka,
respectiv Kb.
•A trimite un mesaj serverului S care îl identifică pe el şi pe B. Serverul generează o cuantă de timp T, un
timp de viaţă L şi o nouă cheie de sesiune K. Cuanta de timp T va fi folosită similar numărului aleator din
metoda anterioară şi este de asemenea folosită împreună cu L pentru a limita timpul pentru care sesiunea K
este validă.
• Participanţii A şi B vor trebui să se întoarcă la serverul S pentru a primi o nouă cheie de sesiune când
expiră acest timp. Ideea aici este de a limita vulnerabilitatea oricărei chei de sesiune.
• Serverul S răspunde lui A cu un mesaj din două părţi. Prima parte criptează cele trei valori T, L şi K,
împreună cu identificatorul pentru participantul B, folosind cheia pe care serverul o partajează cu A. Cea de-
a doua parte criptează cele trei valori T, L şi K împreună cu identificatorul participantului A, dar de data
aceasta folosind cheia pe care serverul o partajează cu B. E limpede că atunci când A primeşte mesajul va fi
capabil să decripteze prima parte dar nu şi pe a doua. A trimite a doua parte lui B, împreună cu criptarea lui A
şi T folosind noua cheie de sesiune K( A a fost capabil să refacă T şi K decriptând prima parte a mesajului
primit de la S). In final B decriptează partea din mesajul primit de la A, criptat iniţial de către S şi astfel
recuperează T, K şi A. Se foloseşte K pentru a decripta jumătate de mesaj criptat de către A şi după ce se
constată că A şi T se regăsesc( sunt consistente) în cele două jumătăţi ale mesajului, se replică cu un mesaj
care criptează T+1 folosind noua cheie de sesiune K. A şi B pot acum comunica unul cu celălalt folosind
cheia secretă de sesiune K, pentru a asigura securitatea comunicării. Serverul se mai numeşte şi KDC-Key
Distribution Center-centru de distribuţie a cheilor care după cum s-a văzut acţionează ca un intermediar între
entităţi.
Autentificarea cu cheie publica

Participantul A criptează un număr aleator x, folosind cheia publică a lui B, iar B


demonstrează că, cunoaşte cheia privată corespunzătoare decriptând mesajul şi
trimiţând x înapoi lui A. A poate să se autentifice faţă de B în acelaşi mod

Cheile publice trebuie obţinute de la o sursă sigură, numită de obicei autoritate de


certificare(CA-certificate authority). Pe scurt, se merge la CA pentru a obţine cheia
publică a unui alt participant şi trebuie să demonstrezi printr-un altfel de mecanism
(exterior) că eşti cine spui că eşti când înregistrezi cheia publică la CA. In acest fel
fiecare participant ştie doar o singură cheie publică, cea a CA-lui. Să notăm că în
general este posibil să se construiască o ierarhie de CA-uri: se porneşte de la CA-ul
rădăcină pentru a primi cheia publică pentru un CA de nivel 2 care îţi dă cheia publică a
CA-ului de nivel 3 şi aşa mai departe până găseşti cheia publică a participantului cu care
doreşti să comunici. CA-ul rădăcină va putea fi publicat printr-o altă sursă de încredere.
Semnături digitale
După mulţi autori, semnătura digitală reprezintă cea mai importantă utilizare a sistemului RSA. O semnătură cu cheie publică
îi permite destinatarului să verifice autenticitatea unui mesaj. O astfel de semnătură trebuie să aibă următoarele proprietăți:
◼ semnătura nu trebuie să poată fi falsificată;

◼semnătura nu trebuie să fie reutilizabilă; semnătura reprezintă o funcție a documentului și nu poate fi transferată la un alt

document.
Sistemul RSA de semnare digitală a mesajelor are aceste proprietăți. Algoritmul RSA de semnare digitală a mesajelor este
aproape identic cu cel folosit pentru criptarea cu cheie publică, singura diferență fiind aceea că rolul cheilor se schimbă.
Dacă un utilizator A are o cheie privată (dA,nA) şi dorește să trimită mesajul mt (mesaj de trimis) autentificat unui utilizator
B, iar utilizatorul B deţine cheia publică a lui A adică (eA,nA) atunci se procedează astfel:
1. Utilizatorul A creează o semnătură digitală s a mesajului mt folosind funcţia exponenţială şi anume:

s=mtdAmod nA

2. Utilizatorul A trimite mesajul mt şi semnătura s utilizatorului B.


3.Pentru a verifica autenticitatea semnăturii, B calculează mc folosind funcţia exponenţială şi cheia publică a lui A şi compară
rezultatul cu mesajul mt primit.
mc=seAmod nA

Dacă mc=mt,adică mesajul calculat este la fel cu cel primit, semnătura este autentică.
.
Funcţia de calcul a rezumatului mesajului
(messaje digest-MD)

Funcţia de calcul al unui rezumat al mesajului(messaje digest-MD) este o funcţie hash ce calculează dintr-un
mesaj un fel de sumă criptografică de control. Unul din algoritmii utilizaţi pe scară largă este MD5. Dacă:

r = MD(m)

unde m este mesajul, documentul, sau fişierul, MD este funcţia de calcul a rezumatului mesajului(messaje
digest), iar r(rezumat) este suma de control calculată. De obicei, r are lungimea de cel puţin 128 biţi şi nu
este posibil să se deducă nimic despre m din r. De asemenea, este aproape imposibil ca orice alt document
m′ să producă acelaşi r şi deci o schimbare oricât de mică a lui m, va duce la schimbarea lui r. Se poate
spune că r este aproape o amprentă unică a lui m.

Funcţia de calcul al rezumatului unui mesaj, (MD) este utilizată pentru a-i asigura pe utilizatori de siguranţa
şi autenticitatea unor fişiere care sunt distribuite.
În cazul în care un utilizator, A, are de distribuit un fişier f, utilizatorul A ȋi va calcula acestuia
rezumatul/suma_de_control folosind funcţia MD şi va "semna" acest rezumat folosind cheia sa privată
rezultând rcriptat( rezumatul criptat ), valoare ce va fi pusă pe server ȋmpreună cu f.

rcriptat=encrypt(Kpriv−A,MD(f))
Funcţia de calcul a rezumatului mesajului
(messaje digest-MD)
Când un utilizator B descarcă fişierul f şi rcriptat ,va calcula rezumatul/suma_de control a
fişierului f folosind algoritmul MD şi anume:

rcalculat=MD(f)

şi apoi decriptează rcriptat folosind cheia publică a lui A şi anume:

rdecriptat=decrypt(Kpub−A,rcriptat)

Utilizatorul B compară cele două sume de control (cea calculată de el din f cu cea calculată
prin decriptarea valorii rcriptat ) şi dacă rcalculat=rdecriptat,atunci el ştie că nimeni nu a
falsificat fişierul f ȋntrucât utilizatorul A a calculat rezumatul MD(f) şi nimeni ȋn afara
utilizatorului A nu putea obţine acelaşi rezultat.
Funcţia hash cea mai des folosită funcţie este MD5. Ea transformă un fişier de lungime
arbitrară într-o valoare exprimată pe 128 de biţi. Această funcţie hash se utilizează la
generarea semnăturilor digitale, caz în care rezultatul aplicării sale unui mesaj se numeşte,
aşa cum am mai spus, rezumatul MD al mesajului.
Schimbul de chei Diffie-Hellman

◼ Algoritmul Diffie-Hellman, cu cheie publică, este utilizat pentru stabilirea unei chei secrete pe un canal nesigur.
◼ Schimbul de chei Diffie-Hellman constituie o componentă esenţială a frameworkului/cadrului ISAKMP/Oakley. Înaintea
sesiunii de negociere a cheii de sesiune nu există un canal sigur, de comunicatie ȋntre cele două părţi. Ele pot obţine
cheile secrete partajate folosind algoritmul Diffie-Hellman.
◼ Protocolul presupune următorii paşi;
1. Părţile (A şi B) partajează două valori publice, adică s un număr prim mare şi un întreg g.
2. A generează un număr aleator mare, a şi calculează:
X = ga mod s
3. B generează un număr aleator mare, b şi calculează:
Y = gb mod s
4. A trimite valoarea X la B.
5. B calculează K1:
K1 = Xb mods
6. B trimite valoarea Y la A.
7. A calculează K2:
K2 =Ya mod s
K1 şi K2 sunt egale cu gabmod s. Aceasta este cheia secretă partajată de A şi B. Nimeni nu este capabil să genereze
această valoare fără să cunoască a sau b. Securitatea schimbului se bazează pe faptul că este extrem de dificilă
calcularea valorii inverse a funcţiei exponenţiale calculate de către părţi. (Cu alte cuvinte, pentru a calcula logaritmi
discreţi în câmpul finit a lui s.) Ca şi ȋn cazul algoritmului RSA, pentru a avea un avans ȋn puterea de calcul, faţă de un
posibil răufăcător, se alege o valoare iniţială s foarte mare.
Asigurarea integrității mesajelor prin MD5 cu cheie

◼Asa cum am mai spus, MD5 calculează o sumă de control criptografică pentru un mesaj.
Această sumă de control nu depinde de o cheie secretă, deci nu previne faptul ca un
impostor să se pretindă drept altcineva şi să calculeze o sumă de control MD5 pentru acel
mesaj. Există două moduri de a folosi MD5 în combinaţie cu un algoritm cu cheie publică,
cum ar fi RSA,
Prima metodă, numită de obicei MD5 cu cheie, funcţionează după cum urmează:
◼Expeditorul generează o cheie aleatoare, Ka şi aplică MD5 asupra mesajului m şi cheii

Ka. Cheia aleatoare este apoi criptată folosind RSA şi cheia privată a expeditorului.
Mesajul original, suma de de control MD5 şi versiunea criptată a cheii aleatoare
sunt apoi împachetate împreună şi trimise la destinatar. In continuare vom rezuma mesajul
complet trimis la destinatar:
m+MD5(m+Ka)+E(Ka,Kprivata)
unde MD5(s) reprezintă aplicarea algoritmului MD5 asupra textului s, iar a+b reprezintă
concatenarea textelor a şi b.
◼Destinatarul reface cheia aleatoare folosind cheia publică RSA a expeditorului şi apoi

aplică MD5 asupra concatenării acestei chei aleatoare cu corpul mesajului. Dacă rezultatul
corespunde sumei de control trimisă împreună cu mesajul atunci acesta a fost trimis de
către participantul care a generat cheia aleatoare.
Asigurarea integrității mesajelor prin MD5 cu semnătura RSA

A doua metodă(mai simpla) ce foloseşte MD5 împreună cu RSA funcţionează


astfel:
◼ Expeditorul aplică MD5 asupra mesajului original pe care doreşte să-l protejeze,
producând suma de control MD5 şi semnează această sumă de control cu cheia
sa privata(propria sa cheie RSA). După cum se vede, expeditorul nu semnează
întregul mesaj ci doar suma de control. Se transmite apoi mesajul original, suma
de control MD5 şi semnătura RSA pentru suma de control transmisă. Folosind
notaţia de mai sus, aceasta înseamnă că expeditorul transmite:

m + MD5(m) + E(MD5(m),Kprivata).

◼ Destinatarul verifică mesajul, asigurându-se că semnătura este corectă, prin


decriptarea semnăturii cu cheia publică a expeditorului şi comparând rezultatul
cu suma de control MD5 trimisă împreună cu mesajul. Acestea două trebuie să
fie egale.
Folosirea semnăturilor digitale pentru distribuirea cheilor

◼ Semnăturile digitale pot fi folosite pentru construirea unei reţele de încredere


prin care să fie distribuite cheile, ca o alternativă la o ierarhie strictă
◼ Pentru a începe, participanţii A şi B schimbă cheile publice în timp ce sunt în
aceeaşi cameră, adică pot să verifice că, cheile corespund într-adevăr identităţii
persoanelor respective. Mai târziu, A schimbă cheia publică cu C. A poate folosi
acum propria sa cheie privată pentru a semna cheia publică a lui C şi să o trimită
lui B. Cu alte cuvinte, A trimite un mesaj care spune " Am fost în aceeaşi cameră
cu C şi certific faptul că aceasta este cheia publică a lui C" şi apoi semnează
mesajul folosind propria sa cheie privată. Deoarece B are o copie de încredere a
cheii publice a lui A, B poate verifica semnătura acestui mesaj, Atâta timp cât B
are încredere că A nu a fost înşelat pentru a semna cheia lui C, B poate fi sigur
că deţine o copie sigură a cheii publice a lui C. Deci, o strategie rezonabilă
pentru C este să aibă cheia sa copiată de o mulţime de persoane şi cu un pic de
noroc, oricine doreşte să comunice cu C va fi capabil să găsească o persoană, în
care are încredere, dintre persoanele care au cheia publică a lui C. Desigur că
pot exista un număr arbitrar de legături în această reţea de încredere, dar dacă
o persoană din lanţ semnează o cheie de care nu este sigură că aparţine
adevăratei persoane, atunci lanţul de încredere este rupt.
Securizarea la nivel reţea cu IPsec(IP security)

◼ Protocolul IPSec, care este format din câteva protocoale, creează VPN-uri(Virtual
Private Netwoks) punct la punct şi de asemenea, poate să administreze secretizarea
şi autentificarea conectărilor individuale.
◼ Secretizarea este implementată de protocolul ESP (Encapsulating Security
Payload- protocol de securizare prin încapsularea datelor utile), în timp ce
◼ autentificarea este relizată de AH (Autentification Header-protocol de
autentificare a antetului).
◼ Cheile sunt gestionate de IKE (Internet Key Exchange-protocol de schimb
de chei pe Internet) care rulează separat folosind ISAKMP(Internet Security
Association şi Key Management Protocol).
◼ IPSec autentifică conexiuni şi nu utilizatori. Autentificarea este folosită de
utilizator nu pentru a se loga ci pentru a se asigura de faptul că destinatarul este cel
dorit. Ambele protocoale, adică ESP şi AH au nevoie de o cheie secretă (secret
shared key) pentru a funcţiona. Această cheie poate:
◼ fi agreată dinainte de utilizatori (cheie manuală)
◼ fi negociata de protocolul IKE.
Securizarea la nivel reţea cu IPsec(IP security)

Protocolul IKE poate folosi o cheie secretă agreată dinainte pentru a livra cheia AH/ESP, dar poate, de
asemenea, folosi un mecanism de certificare pentru chei publice. In mod normal, un singur proces al
sistemului IKE gestionează toate schimburile pentru o gazdă. Când este pornită o nouă conexiune IPSec/IP,
va avea loc un schimb IKE, înainte ca IPSec/IP să poată continua, iar acest lucru poate dura destul de mult.
IKE foloseşte soclul PF_KEY socket. Modurile de lucru şi impachetarea datelor sunt indicate în figura de
mai jos. Astfel:
•Actiunea asupra pachetelor se află la nivelul reţea, aşa că datele vor fi livrate de TCP si UDP (sau oricare
alt protocol la nivel transport);
• se aplică doar la pachete IP;
• AH-ul face autentificarea , este atasat fiecarei datagrame si contine semnatura sub forma hash cu MD5
• în timp ce ESP-ul face criparea pachetelor( şi, opţional, autentificarea ) in doua moduri:
• transport(protejeaza doar continutul pachetului , nu si antetul, folosindu-se vechiul antet) sau
• tunel(tot pachetul este criptat)
•In modul tunel pachetul este format din: încărcătura utilă (payload) adică întregul pachet original, antetul
IP şi celelalte, iar in modul transport ESP-ul sau antetele AH urmează direct după antetul IP (şi încărcătura
utilă/payload este criptată);
• se aplică la fel atât pentru IPv4 cât şi pentru IPv6.
Securizarea la nivel transport

Nivelul SSL/TLS (figura de jos) este situat deasupra TCP-ului şi furnizează


securitate(criptare) pentru date şi autentificarea gazdelor aflate la distanţă.

• Dupa ce a fost realizată o conexiune TCP, un dialog SSL/TLS autentifică conexiunile


şi negociează o cheie secretă de sesiune. Transmisiile ulterioare folosesc cheia secretă
pentru a cripta datele.
•SSL se refera la sesiunea comunicarii intre doua parti(de ex intre un browser si un
server Web).
• E un standard in e-commerce
•SSL e un protocol orientat conexiuni care necesita ca atat aplicatia cat si serverul sa
cunoasca acest protocol
•Autentificarea din timpul dialogului este realizată prin folosirea certificatelor cu chei-
publice(certificatelor digitale). Clientul primeşte un certificat de la server care poate fi
verificat în mai multe moduri.
•De exemplu, browserele web conţin deseori o colectie de certificare de la autorităţile
de certificare(certification authorities-CA) care pot fi folosite pentru a verifica
certificatele serverelor.
•Similar, dacă se doreşte, serverele pot cere un certificat de la client şi pot face
verificarea în acelaşi mod. Acesta poate fi folosit pentru a restricţiona serviciile doar
la cei care sunt autorizaţi să le folosească.
Securizarea la nivel transport

.
Securitatea nivelului transport este bună, dar are nevoie de un programator de
aplicatii pentru a înţelege şi a provoca functiile de apelare, pentru a realiza verificarea
certificării şi pentru a ȋncepe dialogul.
In comparaţie cu aceasta, la securitatea nivelului reţea(IP) programatorul poate fi
destul de ignorant. Pe de altă parte, securitatea stratului transport asigură
programatorii că securitatea este sub controlul lor, şi nu sub a sistemului de operare
sau al administratorului său.
Protocoalele SSL/TLS sunt folosite în mare parte în WWW( ȋn particular HTTPS)
pentru a preveni ca indiscreţii (eavesdroppers) să afle detalii personale precum
numerele cardurilor de credit sau să acceseze unele unele site-uri web care necesită
autentificare.
Certificate digitale

◼ O semnătură digitală în sine nu oferă o legătură puternică cu o persoană sau o


entitate. Cum se poate şti că o cheie publică utilizată pentru a crea o semnătură
digitală aparţine într-adevăr unui individ anume şi că acea cheie este încă validă?
Pentru acest lucru este necesar un mecanism care să ofere o legătură între cheia
publică şi un individ real, funcţie îndeplinită de certificatele digitale.

◼ Certificatele digitale pot oferi un nivel ridicat de încredere asupra faptului că


persoana al cărei nume apare pe acel certificat are ca şi corespondent o anumită
cheie publică. Această încredere este realizată prin utilizarea unei terţe părţi,
cunoscută sub numele de Autoritate de Certificare (Certificate Authority -
CA). O autoritate de certificare semnează un certificat în calitate de
garant pentru identitatea unei persoane al cărei nume apare pe
certificatul respectiv.
◼ Formatul curent acceptat pentru certificate digitale este X.509v3.
Certificate digitale
◼ O problemă foarte importantă este de a şti dacă o cheie publică aparţine sau nu persoanei
care prezintă această cheie.
◼ Soluţia este să utilizăm o "autoritate de certificare, cunoscută"(CA-Certificate Autority) care
să verifice, printr-un mijloc extern, că o cheie publică aparţine unei persoane anume.
Autoritatea de certificare utilizează certificate digitale. De exemplu dacă un utilizator B
doreşte un certificat digital:
◼ merge la o autoritate de certificare cunoscută (cum ar fi Verisign);
◼ dovedeşte cine este, folosind o carte de identitate, un permis de conducere sau altceva;
◼ are o pereche de chei publică-privată generate pentru el;
◼ plăteşte o sumă de bani şi primeşte un certificat digital constând din cheia sa publică şi o
declaraţie privind identitatea sa(nume, e-mail, adresa etc.) toate având suma de
control(rezumatul) şi fiind semnate cu cheia privată a companiei de autentificare(CA). Apoi,
un utilizator A (sau un altul) poate verifica cheia sa publică calculând pentru această cheie
suma de control criptografică(hash) şi comparând-o cu "semnătura" decodată cu cheia
publică a autentificatorului.
Certificate digitale
◼ Standardul X.509v3 definit în RFC 2459 descrie un format agreat de certificate digitale. Acest
standard defineşte elementele unui certificat:
◼ Certificate Version - indică versiunea formatului unui certificat;
◼ Serial Number - un număr unic asignat de către autoritatea de certificare, utilizat pentru
urmărirea certificatelor;
◼ Signature - identifică algoritmul de criptare şi funcţiile de tip message digest suportate de CA;
◼ Issuer name - numele emitentului (al CA);
◼ Period of Validity - datele între care certificatul este valid. Această perioadă nu exclude ca
certificatul să fie revocat;
◼ Subject - numele proprietarului certificatului;
◼ Subject's Public Key Info - cheia publică şi algoritmul asociat cu câmpul Subject;
◼ Issuer Unique ID - un câmp opţional utilizat pentru a identifica emitentul certificatului sau
autoritatea de certificare. Utilizarea acestui câmp nu este recomandată în RFC 2459;
◼ Extensions - câmp opţional utilizat pentru extensii proprietare. Acest câmp nu este definit dar
cuprinde articole precum: alte denumiri ale subiectului, informaţii pentru utilizarea cheilor şi
punctele de distribuţie a listelor de revocare a certificatelor (Certificare Revocation List - CRL);
◼ Encrypted - acest câmp conţine semnătura în sine, identificatorul algoritmului, hash-ul
securizat al celorlalte câmpuri din certificat şi o semnătură digitală a hash-ului.
Certificate digitale
◼ Certificatele necesită mijloace de gestionare a creării acestora, distribuirea lor, stocarea
centralizată, revocarea, backup-ul cheilor şi actualizarea acestora. Acest sistem de
management este cunoscut sub numele de infrastructura de chei publice ( Public Key
Infrastructure - PKI).
◼ O infrastructură de chei publice este o arhitectură de securitate creată pentru a facilita
instalarea tehnologiei de chei publice. Între componentele unui PKI se pot număra un
depozit de certificate (de obicei un serviciu director compatibil LDAP), certificatele digitale,
listele de revocare a certificatelor (CRL), software-ul pentru aceste aplicaţii, precum şi
aspectul uman al acestor proceduri.
◼ O PKI cuprinde câteva servicii de bază de securitate între care se numără autentificarea
utilizatorilor, confidenţialitatea şi integritatea, ajutând de asemenea la implementarea
nerepudierii.
◼ Obţinerea certificatelor digitale se poate face în mai multe moduri, în funcţie de scopul
acestora. De exemplu, se poate utiliza Microsoft Certificate Services din Windows
2000/2003 pentru a instala certificate auto-emise.
◼ O altă opţiune este obţinerea unor certificate de la un distribuitor de certificate. Unul dintre
cei mai mari distribuitori este VeriSign. Acesta oferă certificate pentru S/MIME, SSL (client şi
server), Server Gated Cryptography (SGC) pentru instituţii financiare, certificate de tip
Authenticode pentru publicarea de software, etc.
Intrebari?
Nivelul aplicație
DNS
• Adresele IP sint dificil de memorat si de
“ghicit”
• Se utilizeaza un sistem al numelor de
domenii pentru a translata adresele IP in
nume de domenii si invers
• Numele de domenii se organizeaza in ierarhii
• RFC 1034, 1035
DNS
DNS|Tipuri de domenii
• Primare (Top Level Domains – TLD)
– Infrastructura:
ARPA (Address and Routing Parameter Area)
– State (ccTLD) – coduri de state: .fr, .jp, .ro, .tv,…
– Generice: .biz, .com, .info, .name, .net, .org, .pro
– Sponsorizate: .aero, .edu, .gov, .int, .jobs, .mil, .tel
– Rezervate: .example, .invalid, .localhost, .test
– Pseudo‐domenii: .bitnet, .local, .root, .uucp etc.
DNS | Tipuri de domenii
• Subdomenii:
Lungime maxima: 63 de caractere
• Nume de calculatoare (gazde)
Domeniu de nume
– Subarbore al arborelui de domenii
– Nu trebuie sa respecte topologia retelei fizice
DNS
DNS|organizare
• Initial: /etc/hosts – perechi (nume, IP)
• Actual: sistem de baze de date
distribuite
⇒ ierarhii de domenii
•Probleme: toleranta la defecte,
supra‐incarcarea radacinii
DNS|organizare
• Reguli de alocare a numelor de domenii:
– Fiecare domeniu controleaza cum sint alocate subdomeniile sale
– Pentru a crea un nou subdomeniu, se cere permisiunea
domeniului in care va fi inclus (un domeniu de la un anumit
nivel va avea o autoritate)
– Atribuirea de nume de domenii respecta granitele
organizationale, nu pe cele ale retelelor
– Un anumit nivel din ierarhia de niveluri poate fi controlat de mai
multe servere
DNS|organizare
• Servere de nume (name servers)
– Spatiul de nume DNS se divide in zone ne‐suprapuse
– Fiecare zona contine o parte din domenii si numele serverelor
care stocheaza informatiile din acea zona
– Exista un server primar (primary/authoritative name
server) care deserveste un anumit domeniu si, eventual, mai multe
servere secundare continind bazele de date replicate
– Un server poate fi responsabil al mai multor domenii
DNS|organizare
• Client DNS
– Denumit resolver, trimite un pachet UDP
serverului DNS care cauta numele si returneaza adresa IP
DNS|organizare
Implementari ale serverului de nume (exemplificari):
BIND (Berkeley Internet Name Domain),
MSDNS, Nominum, PowerDNS, MaraDNS
Ca resolver (client) interactiv, se poate folosi una dintre
comenzile
nslookup, host sau dig
DNS|interogari
• Interogari:
– Recursiva – daca un server DNS nu cunoaste adresa
pentru numele solicitat, atunci va interoga alt server
DNS
– Incrementala – daca serverul DNS nu stie sa
raspunda, returneaza eroare si adresa altui server
DNS (numit si referral) care ar putea cunoaste
raspunsul la interogare
DNS|interogari
• Gasirea unui server DNS pentru a furniza:
– Numele unui domeniu
– Adresa IP corespunzatoare unui domeniu simbolic
• Bazele de date DNS – resource record (RR):
– Domeniul curent, vers. fisier: SOA (Start Of Authority)
– Adresa IP a gazdei: A
– Servere de nume: NS (Name Server)
– Alias‐uri pentru nume: CNAME (Canonical Name)
DNS|interogari
•Exista un server de nume principal (root)
pentru a returna adresele serverelor DNS
pentru domeniile primare sau de nivel secund
•Interogarile: nume de domeniu,
tip (A, NS, MX,…), clasa (1=IP)
• Raspunsurile: nume de domeniu, tip raspuns,
clasa (IP), time to live (in sec.), informatii
• TCP se utilizeaza pentru replicarea DNS
• UDP pentru interogari (lookups)
DNS|interogari
DNS|interogari
DNS|optimizari
• Proximitatea spatiala: serverele locale vor fi interogate
mai des decit cele la distanta
•Proximitatea temporala: daca un set de domenii sint
referentiate repetat, atunci se apeleaza la caching DNS
• Fiecare intrare DNS va avea stabilita o valoare TTL
(time to live)
• Se va utiliza si replicarea (servere multiple,
servere root multiple) – se va interoga cel mai apropiat
(geografic) server
• Cind nu exista un server DNS cunoscut ce poate fi
interogat, se poate recurge la OpenDNS
DNS|abrevieri
• Serverele vor raspunde numai daca primesc nume
complete de domenii
(e.g., ie.econ.ubbcluj.ro)
•Utilizatorii pot da doar nume partiale
(de exemplu, ie)
• Resolver‐ul va putea completa sufixurile
(e.g., ie ⇒ ie.econ.ubbcluj.ie.ro)
• Fiecare resolver va avea definita o lista de
sufixuri de incercare
DNS|configurare
• Exemplu de fisier /etc/resolv.conf

search net.infoiasi.ro infoiasi.ro info.uaic.ro


domain info.uaic.ro
nameserver 127.0.0.1
nameserver 193.226.23.1
nameserver 193.226.30.2
DNS|configurare
DNS|comenzi
• uname
• host
• nslookup
• whois
• …
DNS|nslookup
DNS|whois
DNS|dig
DNS|clienti, rezolveri, servere
DNS|primitive
• Nu trebuie scris un resolver pentru a afla
adresa IP a unei gazde
• Adresele IP returnate sint network byte order
• Functii principale:
gethostbyname()
gethostbyaddr()
• La unele sisteme de operare (e.g., Solaris)
va trebui la compilare sa folosim biblioteca nsl (Name Server
Library): gcc … -lnsl
DNS|primitive
• Se poate utiliza si gethostbyaddr()
• Alte functii utile:
– uname()– informatii privind gazda curenta
– gethostname()– asemanatoare cu uname()
– getservbyname()– ofera portul unui serviciu
– getservbyaddr()– ofera numele unui serviciu
asociat la un port
– gethostbyname2()– pentru adrese IPv6
– getaddrinfo(), getnameinfo()– folosite nu
doar pentru TCP/IP, ci pentru orice domeniu de
adrese (standard POSIX)
DNS|IDN
• International Domain Names (IDN)
–Extensie care permite folosirea
caracterelor Unicode in numele de domenii,
nu doar a celor ASCII
– Suport pentru internationalizarea numelor
de domenii
– Pot fi exploatate pentru atacuri de tip
phishing (vezi unul din cursurile viitoare)
DNS|administrare
Radacina DNS este oficial administrata de
Internet Corporation for Assigned Names
and Numbers (ICANN)
Exista si alte organizatii care ofera
radacini alternative (alt DNS roots),
precum OpenNIC sau New.Net
DNS|administrare
•Rezolvarea adreselor in conditiile in care nu exista
nici o configuratie implicit stabilita, se poate face via
o tehnica numita ZEROCONF:
– Adresare (selfassigned addressing):
alocare de adrese IP gazdelor
– Numire (naming): asocierea de nume simbolice
mDNS – multicast DNS
–Descoperirea de servicii: gasirea de servicii de retea
in mod automat – vezi si www.dnssd.org
Alte protocoale la nivel
aplicatie|elemente generale
•Nivelul aplicatie pune la dispozitie o serie de
servicii Internet standard:
– Terminal la distanta (TELNET, SSH,…)
– Posta electronica (SMTP, IMAP, POP,…)
– Transferul de fisiere (TFTP, FTP si altele)
– Accesul la grupurile de stiri (NNTP)
– World‐Wide Web (HTTP)
– Conversatii instantanee (IRC, ICQ, Jabber,…)
Elemente generale
• Se ofera si protocoale pentru rezolvarea unor
sarcini de sistem – /etc/services, /etc/protocols
– Sistemul de fisiere in retea NFS – Network File System
– Conectivitate cu alte sisteme de fisiere
SMB/CIFS – Server Message Block/Common Internet
File System
– Servicii de imprimanta
CUPS – Common Unix Printing System
– Servicii de baze de date: MySQL, PostgreSQL,...
Proiectare
• Tipuri de protocoale de comunicatie folosite
– Fluxuri de caractere generate de utilizator
•Folosite pentru aplicatii interactive la distanta
(telnet, rlogin, IRC,…)
• Traficul este in mare măsură compus din date
neinterpretate
• Se pot include secvente de control (i.e. controlul
terminalului, coduri de culoare) – coduri ASCII
Proiectare
• Tipuri de protocoale de comunicatie folosite
– Mesaje întrebare/răspuns ASCII
•Serverul si clientul vehiculeaza siruri de caractere
care pot fi citite si de utilizatori umani
(SMTP, FTP, HTTP, XMPP, SIP,…)
• Uzual, sunt compuse din linii de text
•Caracterele neafişabile (extinse) pot fi convertite
in cod ASCII standard (7 biti)
Proiectare
• Tipuri de protocoale de comunicaţie folosite
– Formate binare
•Utilizate pentru protocoale de nivel inferior
(TCP/IP, SNMP – Simple Network Management
Protocol) sau de nivel inalt (NFS peste RPC)
•Apar probleme la reprezentarea datelor
(i.e. ordinea octetilor)
Proiectare
• Tipuri de protocoale de comunicatie
folosite
– Protocoale adhoc folosite de aplicatiile
(nestandard) scrise de utilizatori
• Pot adopta unele dintre tipurile
anterioare
Proiectare
• Cerinte referitoare la proiectarea unui protocol
– Parametri critici: lungimea numelui comenzilor,
marimea buffer‐elor, modul de adresare
– Definirea operatiilor permise
(e.g., creare, citire, scriere, stergere, actualizare)
– Raportarea erorilor: coduri de eroare, mesaje, altfel
–Formatul mesajelor: sursa, destinatie, parametri,
codificarea datelor, lungime fixa/variabila,…
Proiectare
• Scenariul uzual
– Serverul – citeste coduri de operatii (opcode‐uri)
şi raportează starea folosind coduri de eroare
– Clientul – construieste mesaje folosind
opcode‐urile permise
Proiectare
• Problema sigurantei comunicarii (reliability)
– Reteaua poate pierde mesajele
– Abordari:
• Posta clasica (postoffice)
– nu asteapta nici un fel de confirmari
• Handshaking – toate mesaje sint confirmate
• Cerere/raspuns (request/reply) – expeditorul asteapta (un timp)
venirea raspunsului
• Raspuns confirmat (acknowledged reply)
– se asteapta un raspuns, iar expeditorul raspunsului asteapta
confirmarea primirii lui
Accesul la terminal
• Serviciu “antic” standard Internet
• Folosit prin comenzi precum rlogin, telnet, ssh
(varianta securizata a telnet)
• Utilizeaza modelul client/server:
– Clientul – interactioneaza cu utilizatorul (via interfata
text)
– Serverul – furnizeaza acces la un shell (e.g., bash)
Accesul la terminal
Accesul la terminal|probleme
• Initializarea & autentificarea
– Cum identificam clientul?
– Cum ştim că serverul este unul oficial?
•Procesarea caracterelor speciale
(inclusiv sfîrşitul de linie – EOL)
• Cine procesează acţiuni precum editarea liniei, afişarea
caracterelor tastate (echoing), suspendarea terminalului
(CTRL+S) etc.?
• Modul de comunicare intre client si server
– Intreruperi din partea utilizatorului
– Controlul dimensiunii ferestrei de afisare
Accesul la terminal|rlogin
• Protocol simplu de acces la distanta
• Utilizat exclusiv intre masini UNIX
• Autentificarea se face prin apelarea la gazde “de incredere”
(“trusted” hosts)
– Nu se solicita parole in cazul in care clientul utilizeaza porturi <
1024 sau adresa clientului se gaseste in fisierul .rlogin
• Serverul e responsabil pentru echoing
• Caracterele speciale (0x02, 0x10, 0x12, 0x80) sunt trimise ca
segmente TCP urgente (se foloseste URG, prin OOB)
Accesul la terminal|telnet
• Protocol complex de acces la distanta
• RFC 854
• Utilizat indiferent de platforma
• Ofera optiuni numeroase pentru compatibilitate cu terminale
vechi (dumb, vt52, vt100,…)
• Poate fi utilizat drept client generic pentru a se conecta la servicii
nonlogin
• Autentificarea clientilor nu se face de catre protocol, ci de catre
aplicatie (e.g., getty)
• Clientul se poate ocupa de echoing, editarea liniilor etc. –
negociere cu serverul
Accesul la terminal|telnet
• Dialogul se face prin caractere ASCII pe 7 biti
– Final de linie: \r\n (carriage return, new line)
– Carriage return: \r\0
– Abordare utilizata si de finger, ftp, SMTP etc.
• Caractere de control
– Precedate de un octet cu valoarea
255 – IAC (Interpret As Command)
– Exemple: 236 – EOF, 241 – No op, 243 – Break
• Negocierea se face via caractere de control
– Optiuni pentru echoing, editarea liniei, dimensiunea ferestrei de
afisare, controlul fluxului etc.
E‐mail
• Terminologie:
– Agent utilizator (MUA – Mail User Agent) client (local) pentru poşta
electronică alpine, mutt, Mozilla Thunderbird, KMail, Outlook, etc.
– Agent de transfer (MTA – Mail Transport Agent) responsabil cu
comunicarea cu gazdele la distanţă şi cu trimiterea/recepţionarea de
poştă (client & server) – sendmail, qmail
– Agent de distributie (MDA – Mail Distribution Agent) directionează
mesajele primite către casuţa poştală a utilizatorului – procmail
– Mail exchanger (MX) – gazda responsabilă cu email‐ urile unui
domeniu (maşina intermediara)
E‐mail
• Protocoale – bazate pe TCP:
– SMTP (Simple Mail Transfer Protocol)
RFC 821
– POP (Post Office Protocol)
RFC 1939
– POP3S – varianta securizata a POP3
• Vezi si RFC 822, 1521, 1522
E‐mail
• Caracteristici:
– Distinctia dintre plic si continut
– Plicul incapsuleaza mesajul, contine date necesare pentru
transportul mesajului: destinatar, adresa, prioritate, securitate,…
– Plicul este folosit pentru dirijarea mesajului la destinatar
– Mesajul din plic contine un antet (date de control pentru MUA)
si un corp (date pentru utilizator)
– Fiecare utilizator este identificat printr‐o adresa de e‐mail:
cutie_postala@locatie (cont@adresaInternet)
E‐mail|SMTP
•Utilizat in schimbul de mesaje de posta intre
serverele de mail (MTA‐uri)
E‐mail|SMTP
• Expeditorul SMTP ≡ client
• Destinatarul SMTP ≡ server
• Dialogul:
– Clientul trimite comenzi SMTP, iar serverul raspunde cu coduri de
stare
– Ordinea comenzilor este importanta
– Mesajele de stare includ coduri numerice NNN si texte explicative
• Se utilizeaza portul 25
E‐mail|SMTP
• Comenzi uzuale:
– HELO / EHLO identifica gazda expeditoare
– MAIL FROM: porneste o tranzactie si identifica originea email‐ului
– RCPT TO: identifica recipientii individuali ai mesajului (adrese de
email); pot exista comenzi RCPT TO: multiple
– DATA desemneaza o serie de linii text terminate cu \r\n, ultima
linie continind doar ‘.’
• Mesajul trebuie sa contina doar text ASCII pe 7 biti (uuencode,
uudecode)
E‐mail|SMTP
• Alte comenzi:
– VRFY verifica validitatea unui recipient
– EXPN expandeaza un grup de adrese (alias)
– TURN interchimba destinatarul cu expeditorul
– RSET abandoneaza tranzactia curenta
• Fiecare mesaj va fi prefixat de o serie de anteturi (create de MUA sau
adaugate de MTA)
• Fiecare MTA adauga cel putin un cimp de antet Received
• Unele câmpuri din antet pot fi analizate de MTA intermediari, dar
continutul mesajului este ignorat
• Pentru masini neconectate la Internet,pentru transfer se folosesc porti
de email
E‐mail|SMTP
• MIME (Multipurpose Internet Mail Extensions)
– RFC 1521, 1522
– Standard de codificare a continutului mesajelor non‐ASCII
• Limbi cu accente, cu alfabete non‐latine, fara alfabet, mesaje
non‐textuale
– Permite atasarea la email a fisierelor de orice tip
– Se foloseste cimpul Content-Type: tip/subtip
E‐mail|SMTP
• Tipuri MIME principale:
application defineste aplicatiile client application/executable)
text defineste formatele text (text/plain, text/html)
image specifica formatele grafice (image/gif, image/jpeg)
audio specifica formatele audio (audio/basic)
video specifica formatele video (video/mpeg) multipart
utilizat pentru trans. datelor compuse (multipart/mixed,
multipart/alternative)
E‐mail|SMTP
E‐mail|SMTP
E‐mail|POP
• Utilizat la transferul de mesaje
de pe un server de posta la un MUA – portul 110
• Similar cu SMTP, dar necesita autentificare
• Comenzile si raspunsurile sint mesaje ASCII
• Raspunsurile incep cu +OK sau -ERR
E‐mail|POP
• Comenzi uzuale:
– USER specifica numele de cont
– PASS specifica parola
– STAT furnizeaza numarul de mesaje din cutia postala
(mailbox)
– LIST afiseaza lista de mesaje si lungimea, cite 1 pe linie
– RETR preia un mesaj
– DELE marcheaza un mesaj pentru stergere
– RSET reseteaza tranzactia,
iar orice marcaj de stergere este eliminat
– QUIT sterge mesajele marcate si inchide conexiunea
• Alte solutii: IMAP (Interactive Mail Access Protocol),
DMSP (Distributed Mail System Protocol)
Alocarea adreselor IP
• Dynamic Host Configuration Protocol (DHCP)
RFC 1531
–Asignarea automata a parametrilor de retea
(adresa IP, masca de subretea,…) pentru o gazda in
vederea conectarii la Internet
– Tipuri de alocare a adresei: dinamica (“inchirierea”
unei adrese IP pentru o perioada de timp),
automata (rezervarea unei adrese date), manuala
(adresa IP este selectata de client)
Alocarea adreselor IP
FTP
• Folosit atit interactiv, cit si de programe
• Asigura transferul sigur si eficient al fisierelor
• Utilizeaza doua conexiuni TCP:
– Conexiunea de control – pentru trimiterea comenzilor
si receptionarea codurilor de stare
– Conexiunea de date – pentru transferul efectiv
•Conexiunea de control trebuie sa fie operationala
in timpul transferului prin conexiunea de date
• Conexiunile de date se creeaza dinamic,
pentru fiecare client in parte
• Vezi si RFC 959, 1068
FTP|model
FTP|conexiuni
FTP|caracterizare
• Moduri de transfer
–Text (ASCII) – continutul este transferat
linie cu linie, modificindu‐se sfirsitul de linie
in functie de calculatorul sursa si destinatie:
CR LF (Windows), LF (UNIX/Linux)
– Binar – continutul e transferat neschimbat
FTP|caracterizare
• Tipuri de acces
– Anonim (FTP anonymous) – RFC 1635
• Autentificare cu numele anonymous si
drept parola o adresa de email
• Acces public la o serie de resurse (aplicatii, date, multimedia etc.)
– Autentificat
• Necesita un nume de utilizator existent, insotit de o parola valida
• Pentru transferul de date in/din contul persona
FTP|comenzi
• Comenzi de control al accesului
USER, PASSword, ChangeWorkingDir, QUIT,…
•Comenzi de transfer a parametrilor
PORT, PASiVe, TYPE, MODE, STRUcture,…
•Comenzi de realizare a serviciilor FTP
RETRieve, STORe, APPEnd, ABORt,
PrintWorkingDir, LIST,…
FTP|comenzi
•Raspunsul de stare
Linie de text continind:
NNN un cod de stare (utilizat de software) +
un mesaj explicativ (destinat oamenilor)
FTP|codul de stare
◼ • Prima cifra semnifica:
◼ 1 replica pozitiva preliminara
◼ (“am indeplinit, dar asteapta”)
◼ 2 replica pozitiva finala
◼ (“succes”)
◼ 3 replica pozitiva intermediara
◼ (“am nevoie si de alte informatii”)
◼ 4 replica negativa tranzitorie
◼ (“eroare, incerc iar”)
◼ 5 replica negativa finala
◼ (“eroare fatala”)
FTP|codul de stare
• A doua cifra specifica grupuri de functii:
1 privitor la sintaxa
2informare (ajutor, informatii de stare)
2 referitor la conexiuni
3 privitor autentificarea utilizatorului
4 nespecificat
5 referitor la sistemul de fisiere
• Exemplu: 226 Transfer complete
FTP|transfer
• Structuri folosite
– Fisier (file)
• Fisierul transferat e un flux (stream) de octeti
– Inregistrare (record)
• Fisierul transmis reprezinta o serie de inregistrari
– Pagina (page)
•Fisierul transferat e o serie de blocuri de date;
folosit pentru acces direct – fisierul este compus
din date si din “gauri” intre date
FTP|transfer
• Moduri de transfer
– STREAM
• Fisier transmis ca flux de date
– BLOCK
• Fisier transmis ca serie de blocuri precedate
de antete continind contoare si descriptori de bloc
(EOF – End of File, EOR – End of Record)
– COMPRESSED
• Se transmit blocuri compresate, conform
unui algoritm simplu de compresie (e.g., gzip)
FTP|exemplu
1. Clientul se conecteaza la serverul FTP
aflat la adresa 193.231.30.225
2. Utilizatorul este autentificat
3.Clientul (la adresa 193.231.30.197) asteapta
comanda utilizatorului
4. Utilizatorul introduce “dir”
5.Clientul se conecteaza la portul de date FTP (20),
folosind un socket atasat local la 2397
6. Clientul trimite serverului (via portul 21) comanda
PORT 197.231.30.197.9.93 (9*256+93=2397)
7. Clientul asteapta codul de raspuns standard 200
FTP|exemplu
8. Daca nu este OK, se afiseaza eroarea
9. Clientul trimite serverului
(via portul de control 21) comanda LIST
10. Clientul asteapta codul de raspuns 150
11. Daca nu e OK, se afiseaza eroarea
12. Clientul citeste de la portul de date (20)
informatiile trimise de server
13. Clientul asteapta codul de raspuns 226
14. Daca nu este OK, se afiseaza eroarea
15. Daca este OK,
se afiseaza continutul directorului de pe server
Startarea aplicatiilor Internet
•Fiecare serviciu – telnet, FTP etc. – are asociat
un proces (daemon) care se poate initializa
la momentul boot‐arii (vezi /etc/rc la Unix/Linux)
•Startarea se poate simplifica prin intermediul
super‐serverului inetd
(configurat prin fisierul /etc/inetd.conf)
• Ca alternativa, se poate folosi xinetd
Startarea aplicatiilor Internet
1. Pentru fiecare server gasit in fisierul de configuratie:
socket(), bind(), listen()
2. select()
3. accept() – pentru serviciile TCP
4. fork()
Parintele inchide socket‐ul conectat inapoi la pasul 2
Copilul inchide toti descriptorii de socket diferiti de
socket‐ul conectat
− se duplica socket‐ul la descriptorii 0, 1, 2 – dup()
− se inchide socket‐ul
− daca utilizatorul nu e root, se executa setuid() si setgid()
− se lanseaza serverul via exec()
HTTP
HyperText Transfer Protocol
Bazat pe TCP/IP – vezi RFC 2616
Protocol fiabil, de tip cerere/raspuns
Port standard de acces: 80
HTTP/0.9, HTTP/1.0, HTTP/1.1
HTTP
Componente principale
Server Web (daemon – “spirit protector”:
httpd)
Apache, MS Internet Information Services etc.
Client Web (navigator, browser, robot,…)
Mozilla (Firefox), Internet Explorer, Chrome
Microsoft Edges, Opera, wget, Teleport,
iTunes,…
HTTP
Cererea & răspunsul
Accesarea (eventual, modificarea)
reprezentării resursei via URI‐ul asociat
HTTP: termeni
Mesaj
Unitatea de baza a unei comunicatii HTTP
(cerere sau raspuns)
Intermediar
Proxy
Poarta
Tunel
HTTP: termeni
Proxy
Localizat in proximitatea utilizatorului
Are rol atat de server, cat si de client
HTTP: termeni
Poarta (gateway)
Intermediar care ascunde serverul tinta,
clientul nestiind aceasta
HTTP: termeni
Tunel
Rol de retransmitere (eventual, criptata)
a mesajului
HTTP: termeni

Cache
Depozit local de stocare – în memorie, pe disc –
a mesajelor (datelor) la nivel de server/client
HTTP: mesaje
Mesaj HTTP = antet + corp
Antet = multime de câmpuri
Message-header ::= field-name “:” [ field-
value ] CRLF
HTTP: mesaje
Cerere HTTP:
Request ::= Method Request-URI ProtocolVersion CRLF
[ Message-header ] [ CRLF MIME-data ]
GET /index.html HTTP/1.1 CRLF Host:
www.pinguin.info
Raspuns HTTP:
Status-line ::= HTTP-version Digit Digit Digit Reason
CRLF
HTTP/1.1 200 OK CRLF …
HTTP: metode
GET
cerere de acces la reprezentarea
unei resurse – e.g., cod HTML, CSS, SVG,
PDF,…
HTTP: metode

HEAD
similara cu GET, dar in mod uzual
se doresc doar meta‐informatii (e.g., tipul)
HTTP: metode
POST
utilizata pentru trimiterea unor entitati
(date, actiuni) spre server
e.g., datele dintr‐un formular
HTTP: metode

PUT
plaseaza reprezentarea unei resurse pe
server
HTTP: metode

OPTIONS
furnizeaza optiunile dialogului intre
client & server
(e.g., negocierea reprezentarii)
HTTP: metode

DELETE
sterge o resursa (reprezentarea ei) de pe
server
HTTP: reprezentari ale resursei

Codificarea setului de caractere (encoding)


ISO‐8859‐1 (implicit)
ISO‐8859‐2
KOI8‐R
ISO‐2022‐JP
UTF‐16 Little Endian

HTTP: reprezentari ale resursei

Tipul continutului resursei


MIME type
Codificarea mesajelor
comprimare, asigurarea identitatii
si/sau integritatii
gzip, compress,…
HTTP: reprezentari ale resursei

Formatul reprezentarii
text (HTML, text obisnuit, XML,...) sau
binar
HTTP: câmpuri (atribute)
ContentType
MIME (Multipurpose Internet Mail Extensions)
specifica un set de tipuri primare de continut
+ subtipuri aditionale
permite transferul datelor de orice tip
Content-Type: tip/subtip
HTTP: câmpuri (atribute)
Tipuri MIME principale
text desemneaza formate textuale
text/plain – fisier text neformatat
text/html – document HTML
(HyperText Markup Language)
text/css – foaie de stiluri CSS
(Cascading Style Sheet)
HTTP: câmpuri (atribute)
Tipuri MIME principale
image specifica formate grafice
image/gif – imagini in format GIF
(Graphical Interchange Format)
image/jpeg – fotografii in format JPEG
(Joint Picture Experts Group)
image/png – imagini PNG
(Portable Network Graphics)
HTTP: câmpuri (atribute)

Tipuri MIME principale


audio desemneaza continuturi sonore
audio/mpeg – fisier MP3 – specificatia
privitoare la date audio a standardului
MPEG (Motion Picture Experts Group)
HTTP: câmpuri (atribute)
Tipuri MIME principale
video defineste continuturi video
(animatii, filme)
video/mpeg – fisier MPEG
(Motion Picture Experts Group)
HTTP: câmpuri (atribute)
Tipuri MIME principale
application defineste aplicatiile ce vor fi executate la
nivel de client
application/executable – program executabil
application/javascript – program JavaScript
application/octetstream – sir de octeti
HTTP: câmpuri (atribute)
Tipuri MIME principale
multipart utilizat pentru transferul datelor
compuse
multipart/mixed – continut mixt
multipart/alternative – continuturi
alternative
HTTP: câmpuri (atribute)

Location
Location “:” “http://” host [ “:” port ] [ abs_path ]
Location: http://www.infoiasi.ro:8080/s-a_mutat.html
folosit la redirectarea spre o alta reprezentare a resursei
HTTP: câmpuri (atribute) – altele
Accept – specifica tipul/tipurile de reprezentare
acceptate de client, plus calitatea Cache‐Control
– stabileste parametrii de control ai cache‐ului
(la nivel de proxy, uzual)
Referer – desemneaza URI‐ul resursei
care a referit resursa curenta
HTTP: câmpuri (atribute) – altele

Host – specifica adresa masinii de pe care


se solicita accesul la o resursa
Authorization si WWW‐Authenticate – utilizate
la autentificarea accesului la o resursa protejata
Alte detalii la www.w3.org/Protocols/HTTP/
HTTP: starea
Coduri de informare (1xx)
100 Continue, 101 Switching Protocols
Coduri de succes (2xx)
200 Ok, 201 Created, 202 Accepted
Coduri de redirectare (3xx)
300 Multiple Choices, 302 Moved Temporarily
Coduri de eroare client (4xx)
400 Bad Request, 403 Forbidden, 404 Not Found
Coduri de eroare server (5xx)
501 Not Implemented, 503 Service Unavailable
Coduri de avertisment: 0..99
Aplicatii Internet
Intrebari?
Retele de calculatoare fara fir(wireless)

• Cuprins
• Rolul reţelelor wireless
• Undele electromagnetice
• Transmisia în spectru împrăştiat
• Echipamente specifice
• Topologii specifice
• Standarde pentru reţele locale
• Accesul la mediu
• Formatul cadrului 802.11
• Canalele de comunicaţie
• Mecanisme de securitate
Preliminarii

• Dispozitive mobile vs. wireless


– Mobil: nu are o locatie fixa, comunicatiile avind loc si in momentul in
care dispozitivul se misca
– Nomad: are abilitati de miscare, incepind sa comunice dupa ce isi
stabileste o alta locatie
– Comunicatii mobile: abilitatea unui dispozitiv de a comunica via una sau
mai multe legaturi de acces(i.e., Ethernet, 802.11 etc.) cu alte dispozitive
aflate in alte locatii
• Wireless – se refera la transmisia de voce si date prin intermediul
undelor radio spre alte locatii
Preliminarii

• Probleme€:
– Acoperirea si penetrarea
– Latimea de banda
– Latenta
– Fiabilitatea transmiterii
– Standardizarea
Preliminarii

• Provocări:
– Descoperirea locatiei
– Detectarea mutarii
– Actualizarea comunicatiei
– (Re)Stabilirea caii de comunicare
Dispozitive

• Aspecte de interes:
– Marime & greutate
– Memorie disponibila pentru aplicatii & date
– Viteza procesorului
–Caracteristicile ecranului (rezolutie, adincime de culoare,
utilizare in exterior etc.)
– Mecanismele de intrare (achizitie de date)
– Suport pentru mobilitate din partea sistemului de operare
Dispozitive

• Aspecte de interes (continuare):


–Slot‐uri pentru extinderea ulterioara (memorie suplimentara,
conectivitate cu alte dispozitive)
– Timpul de viata a bateriei
–Caracteristici integrate: camera digitala, tastatura, porturi
infrarosu, Bluetooth,…
–Suport software: aplicatii & mini‐aplicatii (widget‐uri),
instrumente de dezvoltare, navigatoare mobile, driver‐e
hardware etc.
Dispozitive
Avantaje/ Dezavantaje

Avantajele reţelelor fără fir(WLAN)


• Creşterea mobilităţii / flexibilităţii
• Scade / elimină cablarea
• Instalarea rapidă în reţea
• Posibilitatea integrării în reţele(LAN) cablate
•Se elimină problemele privind incompatiblilitatea conectorilor
Dezavantajele reţelelor fără fir(WLAN)
• Partajarea mediului
• Bandă relativ joasă
• Benzi diferite pentru diverse ţări
• Cost ridicat per bandă
• Domeniul(distanţa de lucru) limitat
• Interferenţă mai ales în banda de frecvenţă de 2.4 GHz

8
Aplicaţii

Domenii de utilizare:
– Locuri de muncă mobile pentru acasă şi la oficii
– Posibilitatea formării de grupuri de lucru mobile pentru timp scurt
– Săli de învăţare/săli de conferinţe
– Achiziţii mobile de date/acces la date mobile
– Hot-spot-uri pentru legări rapide în reţea din locuri necablate-precum la
FSEGA Cluj
– Conexiuni LAN-LAN
- Conexiuni LAN-MAN

9
Tipuri de reţele fără fir

10
Tipuri de reţele fără fir

11
Rolul rețelelor wireless
Rolul rețelelor wireless
Rolul rețelelor wireless
Rolul rețelelor wireless
Rolul rețelelor wireless
Rolul rețelelor wireless

• În concluzie, reţelele fără fir:


• Deschid noi perspective în comunicaţia de date
• Nu vin să înlocuiască reţelele cu fir
• Tendinţe: wired pe backbone/wireless la nivel distribuţie
Tipuri de utilizatori

18
Undele elecromagnetice

19
Undele electromagnetice-Spectrul de frecvenţe

20
Undele electromagnetice

21
Undele electromagnetice

• Absorbţia în atmosferă creşte cu creşterea frecvenţei


• Capacitatea de penetrare scade cu creşterea frecvenţei
• Undele înalte sunt mai costisitoare
• Undele înalte sunt mai nocive

22
Undele electromagnetice

23
Undele electromagnetice

24
Undele electromagnetice

25
Undele electromagnetice

26
Undele electromagnetice

Reţelele wireless folosesc microunde...


• Se absorb foarte uşor în atmosferă
• Se reflectă uşor
• Sunt destul de costisitor de utilizat
• Sunt dăunătoare !?

Nu, căci se utilizează puteri foarte mici

27
Factori de pierdere

28
Transmisia în spectru împrăștiat

29
Transmisia în spectru împrăștiat

30
Transmisia în spectru împrăștiat
• FHSS = Frequency Hopping Spread Spectrum
-schimbarea periodică a frecvenţei de lucru

• DSSS= Direct Sequence Spread Spectrum


-înlocuirea fiecărui bit cu o secvenţă de mai mulţi biţi (chipping)

• OFDM= Orthogonal Frequency Division Multiplexing


-transmisie în paralel pe mai multe purtătoare ortogonale între ele

31
IEEE802.11n(OFDM-MIMO)

32
Echipamente
• Standard:
Adaptoare wireless
Access Point(AP)
Bridge
Range expander
Antene

• Combinate:
AP/Bridge
Router wireless
Bridge/Switch

33
Echipamente

34
Echipamente

35
Echipamente

36
Echipamente

37
Echipamente

38
Echipamente-antene-propagare

39
Topologii specifice

40
Topologii specifice

41
Topologii specifice

42
Topologii specifice

43
44
Topologii specifice

45
Standarde pentru rețele locale

46
Evolutie
Evolutie
Standarde care se află în lucru, pentru rețele locale(draft-2012-2014)

5G WiFi IEEE802.11ac IEEE802.11ad


Banda de frecvențe 5,8GHz 60Ghz
Rata maximă de 6,93Gbps 7Gbps
lucru
Banda de transmisie 20,40,80, 160MHz
Distanța tipică Zeci de metri 1-10m
Au coduri corectoare de erori
Au mai multe antene interne
Pot fi utilizate la SmartTV, video la cerere, integarea altor aparate
casnice și comanda lor de la distanță
51
Standarde pentru WLAN
Standardul HaLow(IEEE 802.11ah) banda de 900MHz

Mai lent dar cu avantajul unei propagări mult mai bune în spaţii închise, semnalul radio fiind atenuat mai
puţin la trecerea prin pereţii încăperilor şi alte obstacole.
Astfel, este posibilă folosirea unei puteri de transmisie mai redusă, economisind bateria dispozitivelor
conectate.

• Are avantajul ca nu consuma prea mult curent si poate transmite datele pana la o distanta de 1 Km.
• Noul standard va fi destinat utilizatorilor clasici, ce au nevoie acasa o retea stabila, de mare viteza, cu
consum mic si raza mare de acoperire.
• Vitezele promise in acest moment sunt intre 150 Kb/s si 18 Mb/s, destul de mici la prima vedere, insa
suficiente daca nu tragi filme de pe torrent. Insa sa nu uitam ca va suporta mai multe dispozitive
conectate decat de obicei
Accesul la mediu- MAC

• Mediul de transmisie este partajat...


...dacă două staţii transmit simultan rezultă o
coliziune

• Este nevoie de o tehnică de acces la mediu...


...care să trateze problema coliziunilor

54
Subnivelul MAC

Sarcini:
1.Rezolvarea (dacă este posibil) a coliziunilor-accesul liber la canal
(CSMA/ CA)
2. Administrarea şi autentificarea staţiilor
• Specificaţii:
1.Imposibilitatea detectării coliziunilor şi deci folosim: CSMA/ CA
• CS = Carrier Sense, fiecare participant “ascultă” canalul
• MA = Multiple Access, diverşi participanţi utilizează acelaşi canal de
comunicare (Shared Medium-mediu partajat)
•CA = Collision Avoidance, mecanism de evitare a coliziunilor
2.Staţii ascunse(Hidden Station)/ Problema expunerii nodurilor

55
CSMA/CA (1)

56
CSMA

57
CSMA

58
Noduri ascunse

Staţie Punct de acces


Raza RTS Raza CTS
RTS

CTS
Date Punct
de Staţie
Ack acces
Staţiile nu se aud una pe alta
Staţie Dar fiecare aude punctul de
acces

59
CSMA/CA(3)

60
CSMA/CA(4)

61
Noduri ascunse

62
CSMA/CA (5)

• Avantajele mecanismului RTS/ CTS


• –Previne colisiunile
• –Evitarea problemei staţiilor ascunse
• –Recomandată în cazul suprapunerii BSS(Basic Service Set-topologie cu
AP) peste IBSS(Independent Basic Service Set-topologie Ad-Hoc)
• Dezavantajele mecanismului RTS/ CTS –Protocol şi trafic adiţional
• –Micşorează rata efectivă a transferului datelor
• Mecanismul RTS/ CTS poate fi activat pentru pachete de o anumită
dimensiune

63
Accesul

64
Etapele conectării

65
Roaming

66
Autentificarea(1)

67
Autentificare(2)

68
Autentificare(3)

69
Planificarea unei reţele WLAN

70
Aspecte ale planificării

1. Topologia reţelei: Ad-Hoc sau infrastructură


2.Locul de instalare al punctelor de acces (AP) şi planificarea
capacităţii
3.Proiectarea în interiorul clădirii(system deschis, semi-deschis,
închis)
-Structura diversă a clădirii(materiale diverse, hidranţi, etc.)
-Infrastructura existentă (conexiunile reţelei curente)
4. Alegerea frecvenţei
–Alunecări de frecvenţă (Interferenţe)
5. Securitatea
–Atacuri dinafară

71
Planificarea unui WLAN

• Aspecte privind topologia

72
Topologie Ad-Hoc

73
Topologie tip infrstructură

74
AP uri

75
AP uri

76
Network Stumbler

77
Comparaţie privind topologiile

Advantajele topologiei Ad-Hoc


• Implementare rapidă, cu costuri mici
•Configurarea simplă
Dezavantajele modului Ad-Hoc
• Distanţe mici
• Număr limitat de clienţi
• Fără posibilitate de integrare în reţele LAN cablate
• Din protocolul WEP poate fi folostă doar criptarea
Advantajele modului infrastructură
• Distanţe mai mari
• Posibilitatea de integrare în reţele LAN cablate
•Securitate sporită prin posibilitatea filtrării adreselorMAC
Dezavantajele topologiei infrastructură
• Cost mai ridicat
• Cerinţe mai multe de instalare şi configurare

78
Planificarea unui WLAN

• Planificarea capacităţii
• Selecţia frecvenţei

79
Relaţia Ca/Tr(capacitate/trafic) sau cost/performanta

80
Canale multiple de comunicație

81
Canale multiple de comunicație
BSS- Basic Service Set-grup( o celula) de statii cu acelas SSID
ESS- Extended Service Set- un grup de BSS-uri

82
Canale multiple

83
Segmentarea(1)

84
Planificarea unui WLAN

• Distanţa(domeniul-range)/Antenele

85
Sursele de interferenţă

Surse de interferenţă pentru WLAN-uri


–Reţele Bluetooth
–Surse de microunde
–Porţiuni cu mult metal
–Porţiuni cu multă apă

86
Distanţa(1)

87
Variatia vitezei

88
Distanţa(2)

89
Distanţa(3)

90
Antene(1)

91
LAN-LAN(1)

92
LAN-LAN (2)

Pentru interconectare LAN-LAN-trebuie să considerăm:


–Vizibilitatea directă este obligatorie
–Performanţa la trimitere maxim 20dB (PdB= 10 X Log Pmw)
–Fiecare antenă externă va fi protejată prin împământare
–Pentru distanţe mari se ia în considerare curbura
Pamântului

93
Planificarea unui WLAN

• Aspecte de securitate

94
Mecanisme de securitate
• Manipularea semnalului
Diminuarea puterii de emisie
Folosirea de antene direcţionale

• Eliminare SSID broadcast


• MAC Filtering
• WEP (Wired Equivalent Privacy)
Autentificareşi Criptare RC4
Cheia de criptare statică(spart !!)

• WPA (Wi-Fi Protected Access)


TKIP (Temporary Key Integrity Protocol)
WPA personal şi WPA enterprise (server RADIUS)

• Utilizarea WPA2 –802.11i bazat AES sau CCMP


95
VLAN-uri în wireless

96
Securitatea(1)

97
Securitatea(2)

98
WEP(3)
• IV-Initialization Vector ( vector de initializare)
• ICV-Integrity Check Value ( suma de control a integritatii)
WEP(4)

Puncte slabe
–Cheia de 40 biţi are lungimea prea mică, în timp ce cheia de 104
biţi are lungimea prea mare
–Vectorul de iniţialiyare(Intialiasation Vector-IV) de 24 biţi este prea
scurt, fiind posibilă calcularea lui după aproximativ 4000 pachete
de date schimbate
–IV este transmis necriptat
–Autentificarea în modul cu cheie partajată poate fi monitorizată şi
folosind funcţia XOR dintre şirul de încercare şi răspuns putem
calcula şirul de biţi
–Pentru cheia statică lipseşte gestionarea ei
–Algoritmul RC4-algorithm poate fi “spart” cu programe precum:
„Airsnort“ sau „WEP Hack“

100
EAP(Extensible Authentication Protocol)
EAP

Dialogul de autorizare standard constă în:


1. AP cere STA să se identifice folosind EAPOL (EAP over LAN);
2. STA îşi trimite identitatea la AP;
3. AP trimite mai departe identitatea STA la AS, prin intermediul EAP;
4. Între AS şi STA are loc un dialog de autentificare;
5.Dacă dialogul este terminat cu succes, STA şi AS partajează cheia de
sesiune;
6.AS trimite cheia de sesiune la AP într-un atribut RADIUS precum şi o
parte a mesajului de acceptare a RADIUS.
7.AP deschide portul său controlat adresei MAC a STA şi opţional, permite
o cheie WEP printr-un pachet EAPOL.
EAP
WPA(Wi-Fi Protected Access)

104
WPA(1)

105
IEEE 802.1x

106
IEEE 802.1x(3)

107
IEEE 802.1x(5)

108
Concluzii

Acţiuni imediate:
1.Schimbarea standard a parolei administratorului la punctual de acces(AP)
2.Schimbarea standard a adreselor IP (192.168.71.xxx în loc de
192.168.0.xxx), sau dezactivarea DHCP
3. Utilizarea unor SSID care nu au correspondent în firmă
4. Dezactivarea “Accept ANY SSID”
5. Configurarea filtrării adreselor MAC
6. Activarea criptăii WEP folosind chei de 104(128)biţi şi schimbarea deasă a
cheilor
7. Utilizarea autentificării Open-System şi inserarea monitoarelore Ethernet
Monitors/ Wireless Sniffers care să monitorizeze WLAN-urile
8. Realizarea de cursuri de securitate cu salariaţii
9. Instalarea de protecţii: firewall, detectare de intruşi, etc

109
1. 172.20.0.55

Selectati unul sau mai multe:

a. este un ip public

b. nu este un ip valid

c. este un ip de clasa A

d. este un ip utilizat doar pentru masini virtuale

e.este un ip privat

2. Dupa tipologia de transmisie retele de calculatoare se impart in:

Selectati unul sau mai multe:

a. retele cu difuzare si retele punct la punct

b. retele intranet si retele extranet

c. retele private si retele publice

d. retele cu difuzare si retele client-server

3. HUB-ul trimite pachetele primate pe un port, spre toate celelalte porturi

Select one:

True

False

4. Securitatea in retelele fara fir nu se poate asigura prin:

Selectati raspunsul direct:

a. WPA

b. WEP

c. WPA2

d. DNS

5. Comanda netstat in linie de comanda afiseaza:

Selectati raspunsul correct:


a. Nu exista aceasta comanda

b. Afiseaza sistemul de operare instalat pe calculator

c. Conexiunile TCP/IP si diverse statistici

6. Protocolul SMTP este un protocol pentru:

Selectati unul sau mai multe:

a. Posta electronica

b. nume de domenii

c. prelucrarea accesului unui calculator de la distanta

d. transferul fisierelor

7. Alocarea automata a ip-urilor in retea se face utilizand:

Selectati unul sau mai multe:

a. TCP

b. SSH

c. DHCP

d. IP

e. Apache

f. UDP

g. DNS

h. FTP

8. Modelul ISO/OSI contine nivelurile:

Select one or more:

a. IPv4

b. Legatura de date

c. Aplicatie

d. IP

e. Sesiune
f. TCP

g. Transport

h. Prezentare

i. Retea

j. Fizic

k. Internet

9. Adresele de clasa B sunt folosite pentru retele de pana la:

Selectati unul sau mai multe:

a. 255 de calculatoare

b. 2.097.152 calculatoare

c. 65534 de calculatoare

d. 254 de calculatoare

e. 16.777.214 de calculatoare

10. Care dintre urmatoarele afirmatii de falsa?

Selectati unul sau mai multe:

a. MD5 este cel mai sigur protocol existent pe piata

b. Rezultatul functiei MD5 se stocheaza pe 16 octeti

c. MD5 este un protocol de asigurare a integritatii mesajelor

11. Antetul IP contine:

Selectati unul sau mai multe:

a. Source Port

b. TTL

c. DHCP

d. TOS

e. DNS

f. Destination Port
g. DOS

12. Serviciul de transfer de fisier se bazeaza pe:

Selectati unul sau mai multe:

a. Limbajul de marcare HTML

b. Protocolul HTTP

c. Protocolul HTTP

d. Protocolul FTP

e. Toate celelalte variante

13. Care este rolul DNS-ului intr o retea de calculatoare?

Selectati raspunsul correct:

a. Nu exista acest concept

b. Partajeaza resurse utilizatorii retelei

c. Contine lista IP-urilor pentru routerele direct conectate la retea

d. Realizeaza asociere intre un URL si adresa IP corespunzatoare

14. In cadrul modelului ISO/OSI, bitii se regasesc in:

Selectati unul sau mai multe:

a. Nivelul internet

b. Nivelul TCP

c. Nivelul IP

d. Nivelul fizic

e. Nicelul retea

15. Care dintre nivelurile modelului ISO/OSI defineste adresa logica

Selectati unul sau mai multe:

a. Fizic

b. Retea
c. Sesiune

d. Legatura de date

e. Transport

16. Care dintre urmatoarele NU reprezinta un tip de atac?

Selectati unul sau mai multe:

a. Man in the middle

b. Firewall

c. Denial of service

17. Protocolul UDP

Selectati unul sau mai multe:

a. Lent

b. Sigur

c. Orientat conexiune

d. Rapid

e. Nesigur

18. Urmatoarele afirmatii sunt adevarate:

Selectati unul sau mai multe:

a. Retelele MAN nu fac parte din categoria retelelor metropolitan sau care deserves un

oras

b. Retelele PAN conecteaza orase, regiuni sau tari si au o extindere planetare

c. Retelele LAN sunt localizate intr o singura cladire sau pe o distanta de cativa km

19. Modelul TCP/IP are urmatoarele nivele:

Selecati unul sau mai multe:

a. Toate varaintele

b. Nivelul legatura de date si nivelul acces la retea


c. Nivelul transport, nivelul sesiune si nivelul prezentare

d. Nivelul aplicatie, nicelul transport si nivelul internet

20. Pentru o retea de 483 de calculatoare masca de retea este:

Selectati unul sau mai multe:

a. 192.168.0.1

b. 255.255.255.0

c. 255.255.248.0

d. 255.255.254.0

e. 255.255.0.0

f. 127.0.0.1

21. TCP este un protocol neorientat pe conexiune

Selectati o optiune:

Adevarat

Fals

22. UDP este un protocol neorientat pe conexiune

Selectati o optiune:

Adevarat

Fals

23. Care din urmatoarele afirmatii este falsa?

Select one or more:

a. MD5 este cel mai sigur protocol existent pe piata

b. Rezultat functiei MD5 se stocheaza pe 16 octeti

c. MD5 este un protocol de asigurare a integritatii mesajelor


24. Protocolul utilizat pentru determinarea adresei IP a unei masini pe baza numelui de

domeniu este:

Selectati raspunsul corect:

a. ARP

b. IP

c. DNS

d. ICMP

25. Este posibil pentru un router sa functioneze ca si switch, conectand 7 calculatoare?

Selectati unul sau mai multe:

a. Da, insa doar daca are numarul potrivit de interfete

b. Nu este posibil

c. Da, insa doar daca calculatoarele primesc ip-uri automat

d. Da, este posibil, indifferent de componenta hardware

e. Da, insa doar daca are si capacitate wi-fi

26. RSA:

Selectati unul sau mai multe:

a. Este o criptare simetrica

b. Este primul algoritm de criptare realizat

c. Este o criptare asimetrica

27. Ce reprezinta TTL?

Selectati unul sau mai multe:

a. Timul maxim in care un pachet IP trebuie sa parcurga calea catre o destinatie

b. Timpul mediu, necesar parcurgerii de catre un pachet IP a distantei dintre doua

routere

c. Nici un raspuns nu este correct

d. Timpul optim, necesar transmiterii unui pachet IP catre destinatie

e. Timpul cat poate exista un pachet IP, inainte de a fi distrus


28. Protocolul utilizat pentru determinarea adresei MAC a unei masini pe baza IP-ului este:

Selectati raspunsul correct:

a. DNS

b. ARP

c. IP

d. ICMP

29. Care este rezultatul comenzii: ipconfig/ all

Selectati unul sau mai multe:

a. Afisarea adresei IP a calculatorului gazda

b. Afisarea Adresei IP a calculatorului “gateway”

c. Afisarea adresei MAC a calculatorului gazda

30. La configurara manuala a ip-urilor intr-o retea locala este obligatoriu de configurat:

Selectati unul sau mai multe:

a. NETMASK

b. DHCP

c. Routing Name

d. GATEWAY

e. IP

f. DNS

g. Secondary DNS

31. Ce reprezinta latimea de banda intr o retea de calculatoare?

Selectati unul sau mai multe:

a. Cantitatea de informatie care poate fi transferata intr un interval de timp

b. Viteza cu care este transmis un pachet de date intre sursa si destinatie

c. Nici un raspuns nu este correct

d. Viteza maxima cu care poate circula un pachet de date, fara a se produce coliziuni
e. Distanta in metri intre sursa si destinatie

32. Transformati din baza 16 in baza 10 nr A0

Selectati raspunsul correct:

a. B0

b. 100

c. 160

d. 11

e. 10

33. Calculati in baza 16: 2E + 92

Selectati raspunsul corect:

a. 10E

b. B0

c. C0

d. 110

e. 11E

f. 11F

34. Transformati din baza 10 in baza 2 nr 9:

a. 1001

35. Care din urmatoarele URL-uri sunt scrise in forma corecta:

a. http://10.11.11.2/index.html

b. http://www.yahoo.com

c. http://11.11.11.1//hello.php
36. Pentru o retea de 83 de calculatoare masca de retea este:

255.255.255.128

37. Ce reprezinta HTTP?

c. un protocol specific serviciului Web

38. Modelul ISO/OSI este un model teoretic, pe cand modelul TCP/IP este implementarea

practica

TRUE

39. IP-ul 192.168.325.255

nu este un IP valid

40. Printre topologiile fizice se regasesc:

a. topologia stea

b. topologia ring

c. topologia bridge

d. topologia magistrala

e. topologia IP

41. Calculati in baza 2

101 + 101

1010

1. ce reprezinta latimea de banda intr-o retea de calculatoare


a. niciun raspuns nu este corect
b. viteza cu care este transmis un pachet de date intre sursa si destinatie
c. cantitatea de informatie care poate fi transferata intr-un interval de timp
d. viteza maxima cu care poate circula un pachet de date, fara a se produce coliziuni
e. distanta in metri intre sursa si destinatie
2. care este rezultatul comenzii : ipconfig /all
a. afisarea adresei ip a calculatorului gazda
b. afisarea adresei ip a calculatorului “gateway”
c. afisarea adresei MAC a calculatorului gazda

3. serviciul de transfer de fisiere se bazeaza pe


a. toate celelalte variante
b. limbajul de marcare html
c. protocolul http
d. protocolul ftp

4. care dintre nivelurile modelului ISO/OSI defineste adresarea logica


a. legatura de date
b. transport
c. sesiune
d. retea
e. fizic

5. antetul ip contine
a. dhcp
b. destination port
c. source port
d. dos
e. dns
f. tos
g. ttl

6. securitatea in retele fara fir nu se poate asigura prin (un singur raspuns corect)
a. DNS
b. WPA2
c. WEP
d. WPA

7. printre topologiile fizice se regasesc


a. topologia bridge
b. topologia magistrala
c. topologia ip
d. topologia ring
e. topologia stea

8. hub-ul trimite pachete primite pe un port, spre toate celelalte porturi


a. true
b. false
9. care este rolul dns-ului intr-o retea de calculatoare 1 rasp???
a. realizeaza asocierea intre un url si adresa ip corespunzatoare
b. partajeaza resurse pentru utilizatorii retelei
c. asociaza denumiri unice fiecarei gazde dintr-o retea de calculatoare
d. nu exista acest concept
e. contine lista ip-urilor pentru routerele direct conectate la retea

10. 172.20.0.255 – este un ip clasa b


a. nu este un ip valid
b. este un ip utilizat doar pentru masini virtuale
c. este un ip de clasa a
d. este un ip public
e. este un ip privat

11. care dintre urmatoarele url-uri sunt scrise in forma corecta


a. http://11.11.11.1/hello.php
b. http://www.yahoo.com
c. http://10.11.11.2/index.html

12. adresele de clasa b sunt folosite pentru retele de pana la


a. 2097152 de calculatoare
b. 255 de calculatoare
c. 254 de calculatoare
d. 16777214 de calculatoare
e. 65534 de calculatoare

13. dupa tipologia de transmisie retelele de calculatoare se impart in


a. retele cu difuzare si retele client-server
b. retele intranet si retele extranet
c. retele cu difuzare si retele punct la punct
d. retele private si retele publice

14. pentru o retea de 83 de calculatoare masca de retea este


a. 255.255.255.128
b. 192.168.0.1
c. 127.0.0.1
d. 255.255.254.0
e. 255.255.248.0
f. 255.255.255.0
g. 255.255.0.0

15. UDP este un protocol neorientat pe conexiune


a. true
b. false
16. protocolul utilizat pentru determinarea adresei MAC a unei masini pe baza ip-ului este
a. DNS
b. ICMP
c. IP
d. ARP (tcp/ip)

17. la configurarea manuala a ip-urilor intr-o retea locala este obligatoriu de configurat
a. NETMASK
b. routing name
c. dns
d. secondary dns
e. gateway
f. dhcp
g. ip

18. transformati din baza 10 in baza 2 nr 9


a. 1001
b. F
c. 9
d. 1010
e. 1100

19. ce reprezinta http (o singura varianta de raspuns)


a. un protocol specific fiecarei placi de retea a unui sistem
b. un protocol pentru consultarea serverului de mail
c. un protocol de transfer fisiere
d. un protocol specific serviciului web
e. un serviciu web

20. ce reprezinta ttl (mai multe variante de raspuns) (da timpul maxim de existenta a cadrului ip)
a. timpul cate poate exista un pachet ip, inainte de a fi distrus
b. nici un raspuns nu este corect
c. timpul mediu, necesar parcurgerii de catre un pachet ip a distantei dintre doua rutere
d. timpul maxim in care un pachet ip trebuie sa parcurga calea catre destinatie
e. timpul optim, necesar transmiterii unui pachet ip catre destinatie

21. switch-ul sau comutatorul (mai multe variante de raspuns)


a. este un echipament ce leaga mai multe ip-uri intre ele
b. este un echipament ce leaga mai multe calculatoare intre ele
c. este un echipament ce leaga mai multe retele intre ele
d. nu este un echipament ce se utilizeaza in retele de calculatoare
e. este un echipament ce leaga mai multe sisteme de operare intre ele
f. este un echipament ce leaga mai multe masini virtuale intre ele
22. ip-ul 192.168.325.255
a. nu este un ip valid
b. este un ip din clasa A
c. este un ip din clasa B
d. se foloseste doar in retele locale
e. se foloseste in retele private
f. este de fapt o masca de retea
g. este un ip de tipul IPv4
h. este un ip din clasa C
i. este un ip de tipul IPv6
j. se foloseste in intranet

23. care dintre urmatoarele elemente reprezinta protocoale ale nivelului aplicatie
a. HTTP (ftp,pop,smtp,dns)
b. IPX
c. IP

24. este posibil pentru un router sa functioneze ca switch conectand 7 calculatoare


a. nu este posibil
b. da, insa doar daca are si capacitati wi-fi
c. da, insa doar daca are numarul potrivit de interfete
d. da, este posibil, indiferent de componenta hardware
e. da, insa doar daca calculatoarele primesc ip-uri automat

25. modelul iso/osi contine nivelurile


a. fizic
b. ip
c. retea
d. internet
e. sesiune
f. legatura de date
g. transport
h. aplicatie
i. prezentare
j. IPv4
k. TCP

26. RSA
a. este primul algoritm de criptare realizat
b. este o criptare simetrica
c. este o criptare asimetrica
27. protocolul UDP este
a. sigur
b. lent
c. rapid
d. orientat conexiune
e. nesigur

28. calculati in baza 2: 101+101


a. 1010
b. 1100
c. F0F
d. 202

29. transformati din baza 16 in baza 10 nr A0


a. 160
b. 100
c. 10
d. B0
e. 11

30. comanda netstat in linie de comanda afiseaza (un singur raspuns)


a. nu exista aceasta comanda
b. afiseaza sistemul de operare instalat pe calculator
c. conexiunile TCP/IP si diverse statistici

31. protocolul SMTP este un protocol pentru


a. posta electronica
b. nume de domenii
c. prelucrarea accesului unui calculator de la distanta
d. transferul fisierelor

32. alocarea automata a ip-urilor in retea se face utilizand


a. TCP
b. SSH
c. DHCP
d. IP
e. Apache
f. UDP
g. DNS
h. FTP

33. Care dintre urmatoarele afirmatii este falsa


a. MD5 este cel mai sigur protocol existent pe piata
b. Rezultatul functiei MD5 se stocheaza pe 16 octeti
c. MD5 este un protocol de asigurare a integritatii mesajelor
34. In cadrul modelului ISO/OSI, bitii se regasesc in
a. nivelul internet
b. nivelul TCP
c. nivelul IP
d. nivelul fizic
e. nivelul retea

35. Care dintre nivelurile modelului ISO/OSI defineste adresa logica


a. fizic
b. retea
c. sesiune
d. legatura de date
e. transport

36. care dintre urmatoarele nu reprezinta un tip de atac


a. man in the middle
b. firewall
c. denial of service

37. urmatoarele afirmatii sunt adevarate


a. retelele MAN nu fac parte din categoria retelelor metropolitan sau care deservesc un oras
b. retelele PAN conecteaza orase, regiuni sau tari si au o extindere planetara
c. Retelele LAN sunt localizate intr-o singura cladire sau pe o distanta de cativa km

38. modelul TCP/IP are urmatoarele nivele


a. toate variantele
b. nivelul legatura de date si nivelul acces la retea
c. nivelul transport, nivelul sesiune si nivelul prezentare
d. Nivelul aplicatie, nivelul transport si nivelul internet si fizic!!

39. Pentru o retea de 483 de calculatoare masca de retea este


a. 192.168.0.1
b. 255.255.255.0
c. 255.255.248.0
d. 255.255.254.0
e. 255.255.0.0
f. 127.0.0.1

40. TCP este un protocol neorientat pe conexiune


a. true
b. false
41. protocolul utilizat pentru determinarea adresei IP a unei masini pe baza numelui de domeniu este
a. ARP
b. IP
c. DNS
d. ICMP

42. calculati in baza 16: 2E + 92


a. 10E
b. B0
c. C0
d. 110
e. 11E
f. 11F

43. criptarea asimetrica


a. nu exista chei asimetrice
b. foloseste aceeasi cheie si pentru criptare si pentru decriptare
c. schimbul de chei Diffie-Hellman
d. se foloseste in comanda ipconfig

44. care este masca de retea pentru o retea de maxim 7 calculatoare


a. 192.168.0.1
b. 255.255.255.7
c. 255.255.255.0
d. 255.255.255.240

45. modelul ios/osi este un model teoretic, pe cand modelul tcp/ip este implementarea practica
a. true
b. false

46. Care din urmatoarele NU poate fi AA:BB:CC:DD:EE:FF:GG


a. adresa IPV4 (4)
b. adresa IPV6 (8)
c. adresa MAC (6)

47. Echipamentul care permite extinderea retelei de calculatoare, primeste datele pe un port, le
regenereaza si le transmite pe toate celelalte porturi se numeste
a. Router
b. Switch
c. Hub
d. Modem

48. DNS are ca rol – gestiunea de nume de domenii


49. Care din urmatoarele NU corespunde tripletului (DNS, web, e-mail)
a. (host, DHCP, chmod)
b. (53,80,25)
c. (UDP, FTP, SMTP)
d. (bind, apache, MIME)

50. Conversia numelui de domeniu in adresa IP este realizata de


a. serviciul WWW
b. serverele DNS
c. ARPANET
d. serviciul FTP
e. HTML
f. serverele DHCP

51. Care din urmatoarele NU este de tip adresa


a. IP
b. TCP
c. MAC
d. de memorie

52. Care este adresa de broadcast a retelei din care face parte statia cu adresa IP 172.179.200.242/24
(un singur raspuns corect)
a. 255.255.255.0
b. 172.179.0.0
c. 172.179.200.1
d. 172.179.200.0
e. 172.179.200.255
f. 172.179.200.254

53. Protocolul care permite unei retele atribuirea unei adrese temporare IP unui calculator gazda
conectat la ea este
a. MSN
b. DHCP
c. HTTP
d. HTML
e. MAC
f. DNS

54. Calculatoarele dintr-un oras sunt legate printr-o retea de tip


a. FTP
b. MAN
c. WAN
d. LAN
55. Antetul IP NU contine (UN SINGUR RASPUNS CORECT)
a. DHCP, DNS
b. TTL
c. versiune
d. TOS

56. Spre deosebire de cablu UTP, fibra optica este


a. a fost prima care s-a inventat
b. mai rapida
c. mai groasa
d. mai ieftina

57. Lungimea maxima a unui cablu UTP este de (un singur raspuns corect)
a. 500m
b. 10m
c. 1000m
d. 100m

58. DNS este acronim pentru


a. Domain Name System
b. Domain Name Site
c. Domain Name Search
d. Director Name System

59. Calculatoarele care au o arie de raspandire foarte mare (suprafata unui continent) sunt legate
printr-o retea de tip
a. MAN
b. WAN
c. LAN
d. FTP

60. Campul TTL se gaseste in


a. antet ip

61. Browserele utilizeaza preponderent protocolul


a. http

62. Cati octeti are un bit 0,125

63. Ip-ul 192.168.0.3 este un ip  clasa c


64. Daca dorim o retea de maxim 145 de calculatoare masca de retea este:
a. 192.168.0.1
b. 127.0.0.1
c. 255.255.255.0
d. 255.255.255.128

65. 172.20.0.254
a. este un ip utilizat doar pentru masini virtuale
b. nu este un ip valid
c. este un ip privat
d. este un ip de clasa A

66. IP-ul 600.0.0.2 este un ip:


a. public
b. privat
c. este si public si privat
d. nu exista acest ip

67. Sa se calculeze pentru o retea de maxim 86 de calculatoare masca de retea:


a. 255.255.255.128
b. 255.255.255.0
c. 192.168.0.1
d. 127.0.0.1

68. Calculati in baza 2 adunarea 100+1:


a. A
b. nu se poate calcula
c. 101
d. 12

69. Precizati daca IP-ul 10.0.0.4 este un ip:


a. nu exista acest ip
b. privat
c. este si public si privat
d. public

70. Calculati pentru o retea de maxim 150 de calculatoare masca de retea:


a. 255.255.255.0
b. 255.255.255.128
c. 192.168.0.1
d. 127.0.0.1

71. IPv6 este – scris in hexazecimal


72. Pentru o retea de maxim 1000 de calculatoare masca de retea este:
a. 255.255.252.0
b. 127.0.0.1
c. 255.255.255.0
d. 255.255.254.0

73. Masca de retea 192.168.0.1 este pentru:


a. este o masca pentru o retea de maxim 127 calculatoare
b. este o masca pentru o retea de maxim 2000 calculatoare
c. nu e o masca de retea
d. este o masca pentru o retea de maxim 3 calculatoare

74. Pentru o retea de maxim 2 calculatoare, masca de retea – 255.255.255.252?

Pt clasa ip-uri: https://www.tutorialspoint.com/ipv4/ipv4_address_classes.html

Hex to deci: https://www.rapidtables.com/convert/number/hex-to-decimal.html

CALCUL BAZA 16: https://www.calculator.net/hex-calculator.html

NR SUBNET MASK: https://www.calculator.net/ip-subnet-calculator.html


carlat leana imona

eria 3" nformatica economica" grupa


1456

Rețele de calculatoare

Capitolul 1 - Noțiuni introductive


1.2 Retele de calculatoare. Sisteme
Sisteme distribuite
 î ntrebări
ntrebări
1. Ce este
este o rețea
rețea de
de calcul
calculato
atoar
are?
e?

Răspuns:

Prin rețea de calculatoare se înțelege o colecție de calculatoare autonome


interconectate (adică sunt capabile să schimbe informație între ele) f olosind o
singură tehnologie.

2. Care
Care este deosebirea
deosebirea dintre
dintre o rețea
rețea de calculatoare
calculatoare și un sistem
sistem distribuit
distribuit?
?

Răspuns:

eosebirea este dată de faptul că într!un


într!un sistem distribuit" o colecție de
calculatoare este percepută de utili#atori ca un sistem coerent unic. iferența
ma$oră apare la ni%el de programe. & rețea de calculatoare" coerentă nu are un
model și nici programe. Ce este un sistem distribuit?

'. Ce este
este un sist
sistem
em dist
distrib
ribuit
uit?
?

  Răspuns:

n sistem distribuit este un sistem de programe


p rograme construit peste o retea" un ca#
particular de retele de calculatoare" al carui softare (sistem de programe) ii da
un grad mare de coe#iune si transparenta.

*. Care
Care sunt cele * scopuri
scopuri ale
ale construirii
construirii unei
unei rețele
rețele de calculatoar
calculatoare?
e?

Răspuns:

 sunt folositoare +rmelor pentru a e,trage și corela informații din


 întreaga +rmă
  împărțirea resurselor și parta$area
parta$area lor" toate programele" echipamentele
și datele %or + disponibile pentru
pentru oricine din rețea
rețea (-, un grup de
oameni care folosesc o imprimantă comună) !/ 0odelul client!ser%er
 -ste un puternic mediu de comunicare între anga$ații unei +rme
!/poștă electronică (e!mail) și %ideoconferințele
 e reali#ea#ă electronic comerțul cu mai multe companii " cu furni#orii
și clienții (e, se cumpără subansambluri de la di%erși furni#ori și apoi
sunt asamblate" se pot plasa comen#i în mod electronic. e reali#ea#a
tran#actii cu consumatorii prin nternet (comen#ile se f ac online)

1.4 Utilizari ale retelelor


7. Care este diferența
diferența între rețelele
rețelele cu difu#are și
și rețelele punct!la!punct?

Răspuns:

8ețelele cu difu#are (utili#ate de rețele mai mici" locali#ate geogra+c) au un


singur canal de comunicații care este parta$at de toate mașinile din
rețea" în contrast cu rețelele
rețelele punct la punct (utili#ate de rețele
rețele mai mari)
care dispun de numeroase cone,iuni
cone,iuni între perechi de mașini indi%iduale.

rile
1. 8ețelele de calculat
calculatoare
oare pot
pot + utili#a
utili#ate
te in scop
scop
a) Come
Comerrcial
ial
b) omestic
c) Personal
d) 9oate
oate cele
cele de mai sus
sus

1.! Componente "ard#are


2. Printre
Printre componente
componentele le hardare
hardare ale unei rețele
rețele de calculatoar
calculatoare
e se regăsesc
regăsesc
a) -chipa
-chipament
mentele
ele dede trans
transmis
misie
ie
b) 0odelul
0odelul ser%er
ser%er!clien
!clientt și 8outer
8outer!ul
!ul
c) 0icro
0icround
undele
ele si
si :iab
:iabilit
ilitate
atea
a
d) ;ici
;iciun
unaa de
de mai
mai sussus

1.$ Clasi%carea retelelor de calculato


calculatoare
are
'. upa tipologia de transmisie retele de calculatoare se impart in

a) 8etele cu difu#ar
difu#are
e si retele
retele client!
client!ser%er
ser%er
b) 8etele cu
cu difu#are
difu#are si
si retele
retele punct!la!
punct!la!punct
punct
c) 8etele radio cu difu#ar
difu#are e si retele
retele cosmice
cosmice
d) ;ici
;iciun
una
a din %ar
%arian
iante
te

* upa tipul subretelei


subretelei de comunicat
comunicatie"ie" retele
retele de
de calculatoar
calculatoare
e se impart
impart in
in
a) 8etea cu
cu comutare
comutare si
si retele
retele fara comutare
comutare
b) 8etele punct la punct
punct si multipu
multipunct
nct
c) 8etele cu comutare
comutare de pachete
pachete si
si retele
retele punct la punct
punct
d) 8etele cu comutar
comutaree de mesa$e sisi retele cu
cu comutare
comutare de pachete
pachete

7. rmat
rmatoar
oarele
ele a+rmati
a+rmatiii sunt ade%ar
ade%arate
ate
a) 8etele <3; sunt retele
retele pri%ate locali#ate
locali#ate intr!o
intr!o singura cladire
cladire sau intr!un
intr!un
campus de cel mult cati%a =m si se disting de celelalte tipuri de retele prin
marime" tehnologie de transmisie si topologie.
b) 8etele 03; nu fac parte
parte din categoria
categoria retelelor
retelelor metropoli
metropolitane
tane care
care
deser%este un oras
c) 8eteaua de tele%i#iu
tele%i#iune
ne este
este o retea
retea de tip >3;
>3;
d) 9oate >3;!ur
>3;!urile
ile au comutare
comutare de pachete
pachete

Capitolul 2. &ipuri de modele de RC 'ar"itecturi(


)ntrebări
1. ati e,emplu
e,emplu pentru
pentru un set de
de primiti%e
primiti%e pentru
pentru un ser%iciu
ser%iciu orientat
orientat pe
cone,iune.

Raspuns:

8ecie%e (primeste)  blocare in asteptarea unui mesa$

2. ati e,emplu
e,emplu pentru
pentru un set de
de primiti%e
primiti%e pentru
pentru un ser%iciu
ser%iciu orientat
orientat pe
cone,iune.

Raspuns:

8ecie%e (primeste)  blocare in asteptarea unui mesa$

'. Care
Care sunt principiil
principiile
e aplicate
aplicate pentru a se
se a$unge la cele
cele @ ni%eluri
ni%eluri ale
modelului de referinta &?

Raspuns:

 n ni%el trebuie creat atunci cand este ne%oie de un ni%el de abstracti#are


diferit
 :iecare ni%el trebuie
trebuie sa indeplineasca un rol bine de+nit
 :unctia +ecarui ni%el trebuie aleasa acordandu!se atentie de+nirii de
protocoale standardi#ate pe plan international
 elimitarea ni%elurilor trebuie facuta astfel incat sa se minimi#e#e Au,ul de
informatii prin interfete
 ;umerul de ni%eluri trebuie sa +e su+cient de mare pentru a nu + ne%oie
sa se introduca in acelasi ni%el functii diferite si su+cient de mic pentru ca
arhitectura sa ramana functionala

*. Care
Care sunt ni%ele
ni%elele
le modelul
modelului
ui &B&
&B&?
?

Raspuns:

;i%ele modelului &B& sunt ni%elul legatura date


date (ata<in=)" ni%elul retea
(;etor=)" ni%elul transport (9ransport)"
(9ransport)" ni%elul sesiune (ession)"
(ession)" ni%elul
pre#etare (Presentation)
(Presentation) si ni%elul aplicatie (3pplication).

7. Care
Care sunt functiile
functiile ni%elului
ni%elului ntern
nternet
et al modelului
modelului 9CPBP?
9CPBP?

Raspuns:

:unctiile ni%elului nternet sunt


• e+nirea unitatilor de ba#a pentru transmisiile intre retele
• e+nirea planului de adresare nternet
• Circulatia datelor intre ni%elul acces retea si ni%elul transport pentru
+ecare statie
• irectionarea unitatilor de date catre calculatoarele de la distanta
• :ragmentarea
• 8easamblarea
8easamblarea unitatilor de date

rile

1. er%iciile
er%iciile orienta
orientate
te pe cone,iune
cone,iune se ba#ea#a
ba#ea#a pe
a) ist
istemu
emull telef
telefon
onic
ic
b) ist
istemu
emull post
postal
al
c) istemu
istemull pentru
pentru %ideo
%ideocon
conferi
ferinte
nte
d) 9oate
oate %ariant
%arianteleele de mai
mai sus

2. 0ode
0odelu
lull &B
&B&
&
a) 3re o struct
structura
ura strati+
strati+cata
cata pe ni%eluri
ni%eluri
b) 3re o struct
structura
ura ierarh
ierarhica
ica pe
pe ni%eluri
ni%eluri
c) 8epre#i
8epre#intanta principalul
principalul protoco
protocoll comercial
comercial de interconec
interconectare
tare a
retelelor
d) ;u se refera
refera la interco
interconectar
nectarea
ea sistemelor
sistemelor deschis
deschise
e

'. 3%anta$ele
%anta$ele folosirii
folosirii +brei
+brei optice
optice sunt
sunt
a) sor de
de instalat
instalat si
si presupu
presupunene un cost mic
b) :ac cu %ite#e
%ite#e mari
mari si la distante
distante mari
c) munit
munitate
ate la #gom
#gomotot ridi
ridicat
cata
a
d) ;iciuna
;iciuna din
din %arian
%ariantel
tele
e de mai sus
sus

*. 0odelul
0odelul 9CPBP
9CPBP are urmatoar
urmatoarele
ele ni%ele
ni%ele
a) ;i%elul
;i%elul transport"
transport" ni%elul
ni%elul sesiune
sesiune si ni%elul
ni%elul pre#enta
pre#entare
re
b) ;i%elul
;i%elul aplicatie"
aplicatie" ni%elul
ni%elul transport
transport si ni%elul
ni%elul internet
internet
c) ;i%elul
;i%elul legatura
legatura date sisi ni%elul
ni%elul acces
acces la retea
d) 9oate
oate %ariant
%ariantele
ele de mai
mai sus

7. 0ode
0odelu
lull 
 este
este
a) & ierarh
ierarhie
ie digit
digitala
ala sinc
sincron
ronaa
b) & retea
retea optica
optica sincr
sincrona
ona
c) n mode
modell ierar
ierarhic
hic cu ' ni%el
ni%ele
e
d) n model
model client
client!se
!ser%er
r%er
*.1-2 &e"nolo+ii de RC
)ntrebări

1. Care
Care sunt cele
cele doua
doua tipuri
tipuri de topol
topologi
ogii?
i?

Raspuns:

 Cele doua tipuri de topologii sunt +#ice si logice.

2. Ce este
este o retea cu D!uri
D!uri si >9
>9C!uri?
C!uri?

Raspuns:

& astfel de retea este o retea cu dimensiuni mici in topologie stea!


ierarhica care foloseste hub!uri si sitch!uri.

'. Care sunt


sunt cau#ele
cau#ele pentru
pentru care ub!urile
ub!urile sunt
sunt inferioar
inferioare
e in comparatie
comparatie
cu sitch!urile?

Raspuns:

-,ista doua moti%e pentru care ub!urile (repetoarele) sunt inferioase fata
de sitch!uri (comutatoare)

• epararea tra+cului intersegmente


• atorita domeniilor de coli#iune
*. Care este
este asemanarea
asemanarea intre
intre elementele
elementele de interconec
interconectare
tare pentru
pentru <3;
itch (comutatoare si Dridge (punti)?

Raspuns:

Cele doua se aseamana prin faptul ca sunt situate pe ni%elul 2" numit si
ni%elul legatura de date.

7. Pe ce
ce ni%el
ni%el se plas
plasea#
ea#a
a ub!ur
ub!urile?
ile?

  Raspuns:

ub!urile ca elemente de interconectare pentru <3; se plasea#a pe


ni%elul 1 (acesta este un ni%el +#ic).

 rile

1. Printre
Printre topolog
topologiile
iile +#ice
+#ice de ba#a se
se regasesc
regasesc
a) 9opologia
opologia magistrala
magistrala comuna
b) 9opol
opolog
ogia
ia stea
stea
c) 9opol
opolog
ogia
ia 8ing
8ing
d) 9oate %ariantele
%ariantele de mai
mai sus
sus
2. ub!ur
ub!urile
ile repr
repre#i
e#inta
nta
a) n element
element de intercon
interconectar
ectare
e pentru
pentru >3;
>3;
b) n element
element de de interconect
interconectare
are intr
intr!un
!un <3;
c) & conec
conectiti%it
%itat
atee a unui
unui <3;
d) 9oate
oate %ariant
%arianteleele de mai
mai sus

'. Comutatoar
Comutatoareleele sunt
sunt superio
superioare
are in comparat
comparatie
ie cu
a) it
itch
ch!u
!uri
rile
le
b) ub!u
ub!urrile
ile
c) Puntilor
lor
d) ;iciun
;iciuna
a din %arian
%ariantel
tele
e de mai sus
sus

*. unt elemente
elemente dede interconec
interconectare
tare pentru
pentru <3;
<3; urmatoar
urmatoarele
ele
a) ub!ur
ub!urii si itch!
itch!uri
uri
b) 0odelul
0odelul punct!la!p
punct!la!punct
unct si Puntile
Puntile (Dridge)
(Dridge)
c) Eirtua
irtuall <3;
<3; si
si 8in
8ing
g
d) 9oate
oate %ariant
%ariantele
ele de mai
mai sus

7. ub!ur
ub!urile
ile mai
mai poarta
poarta si
si denumir
denumirea
ea de
a) Comu
Comutatato
toar
are
e
b) Conc
Concen
entr
trat
atoa
oare
re
c) 8epetoa
epetoarere si concen
concentra
tratoa
toare
re
d) Punti

*., nternet  utilizare/ servicii


)ntrebări
1. Care
Care sunt
sunt ser%ic
ser%iciile
iile nte
nterne
rnet?
t?

Raspuns:

er%iciile nternet sunt ser%iciul de nume (;)" ser%iciul >>> (>orld


(>orld >ide
>eb)" ser%iciul de posta electronica (e!mail)" ser%iciul de transfer de +siere (:9P)
si ser%iciul de stiri (;es).

2. Care
Care este comanda
comanda prin
prin care
care se interogh
interoghea#a
ea#a ser%erul
ser%erul de nume?

Raspuns:

nsloo=up

'. Cu ce
ce se ocupa
ocupa ser%i
ser%iciu
ciull de nume
nume ;?
;?

Raspuns:
er%iciul de nume ; asigura corespondenta intre adresele P si numele
simbolice ale calculatoarelor din retea.

*. Care
Care este comanda
comanda speci+c
speci+ca
a ser%iciului
ser%iciului de
de posta electronica?
electronica?

Raspuns:

 e foloseste comanda mail.

7. Care
Care sunt partile
partile componente
componente ale mesa$ul
mesa$ului
ui transmis
transmis prin ser%iciu
ser%iciull de
posta electronica?

Raspuns

 0esa$ele de posta electronica contin

• 3ntetul !/ cuprinde informatiile de control ale mesa$ului


• 0esa$ul propriu!#is
• :isierele atasate !/acestea sunt binare

rile

1. ntern
nternetu
etull repr
repre#i
e#inta
nta
a) & retea
retea globa
globala
la de calcu
calculat
latoar
oare
e
b) & retea
retea de retele
retele ba#ata
ba#ata pe proto
protocoale
coalele
le 9CPBP
9CPBP
c) n set
set de pro
protoc
tocoal
oale
e de comun
comunicat
icatie
ie
d) 9oate %ariantele
%ariantele de maimai sus
sus

2. ntern
nternetu
etull are
are o struc
structur
tura
a
a) erarh
erarhica
ica pe ' ni%el
ni%eluri
uri
b) tan
tanda
dard
rdi#
i#at
ata
a
c) era
erarh
rhic
icaa pe * ni%e
ni%elu
luri
ri
d) ;iciun
;iciunaa din %arian
%ariantel
tele
e de mai sus
sus

'. Compon
Component entele
ele ser%i
ser%iciu
ciului
lui >>>
>>> sunt
sunt
a) Clie
Client
ntul
ul si ser%
ser%eru
erull
b) 3gentul
3gentul utili#ator
utili#ator si
si ser%iciul
ser%iciul de posta
posta electro
electronica
nica
c) <imba$
<imba$ulul de marc
marcare
are 90<
90< sisi ser%eru
ser%erull
d) 9oate
oate %ariant
%ariantele
ele de mai
mai sus

*. Componentele
Componentele ser%iciului
ser%iciului de
de posta
posta electronic
electronica
a sunt
sunt
a) 3gen
3gentu
tull util
utili#a
i#ato
torr
b) Cuti
Cutia
a post
postalalaa
c) 3genti
3gentiii de
de tran
transfe
sferr post
postal
al
d) 9oate %ariantele
%ariantele de mai mai sus
sus

7. er%iciul
er%iciul de
de transfer
transfer de
de +siere
+siere se
se ba#ea#a
ba#ea#a pe
pe
a) Prot
Protoc
ocol
olul
ul :9P
:9P
b) <imba$
<imba$ul
ul de
de marc
marcare
are 90<
90<
c) Prot
Protoc
ocol
olul
ul 99P
99P
d) 9oate
oate %ariant
%ariantele
ele de mai
mai sus

Capitolul 0  Nivelul de transport


)ntrebări
1. Care
Care sunt pasii
pasii pentru reali#ar
reali#area
ea 8PC!ului
8PC!ului F (Gapel
(Gapel de procedura
procedura la
distanta)?

Raspuns:

 Pasii reali#arii protocolului 8PC sunt

• clientul apelea#a stub!ul client (Gapel de procedura locala)


• impachetarea parametrilor de catre stub!ul client intr!un mesa$ si
reali#area unui apel de sistem pentru a trimite mesa$ul
• nucleul & trimite un mesa$ de la client la ser%er
• nucleul trimite pachetele sosite la stub!ul ser%er
• stub!ul ser%er apelea#a procedura ser%er cu parametrii despachetati

2. Cum funct
function
ionea#
ea#a
a protoco
protocolul
lul 89P?
89P?

Raspuns:

 3plicatiile multimedia sunt trimise bibliotecii 89P (aAata in spatiul utili#ator" ca si


aplicatia). Diblioteca mutiple,ea#a Au,urile" le codea#a in pachete 89P si le
trimite printr!un soclu. <a celalalt capat al soclului" in nucleul &" pachetele P
sunt generate si incapsulate in pachete P.P.

'. Ce este
este port
port!u
!ul?
l?

Raspuns:

Port!ul este un numar pe 15 biti care identi+ca in mod unic procesele care rulea#a
pe o anumita masina.

*. Ce este
este soc=
soc=et
et!u
!ul?
l?

Raspuns:

oc=et!ul este un punct de comunicatie prin care un proces poate emi te sau
receptiona un informatie sub forma unui Au, de DHtes.

7. <a ce se
se folosest
foloseste
e indicato
indicatorul
rul de
de urgenta?
urgenta?

Raspuns:
ndicatorul de urgenta speci+ca ultimul DHte de date urgente" daca 8IG1.

rile

1. :unctia ni%elului
ni%elului de transport
transport care
care impiedica
impiedica transmiter
transmiterea
ea mai multor date
date
decat este necesar este
a) Cont
Contro
rolu
lull acce
accesusulu
luii
b) Cont
Contro
rolu
lull Au,ul
Au,uluiui
c) Comuni
Comunicat
catii
ii orient
orientate
ate pe cone
cone,iu
,iune
ne
d) 0emor
0emorararea
ea tempo
tempora rara
ra

2. :unctii
unctiile
le ni%elul
ni%eluluiui transpo
transport
rt sunt
sunt
a) Cont
Contro
rolulull Au,u
Au,ulu luii
b) Comuni
Comunicatcatiiii orienta
orientata ta pe cone,iu
cone,iunene
c) tabil
tabilir
irea
ea si eliber
eliberararea
ea cone,
cone,iune
iune
d) 9oate %ariantele
%ariantele de mai mai sus
sus

'. er%e
er%erurull 9CP
9CP asig
asigurura
a
a) 9ransmis
ransmisia ia Au,ulu
Au,uluii de date
b) Cont
Controrolu
lull Au,u
Au,ulu
luii
c) a) si b)
d) suma
suma de cont contro
roll

*. 3dre
3dresa
sa unui
unui soc=e
soc=ett este
este data
data de
a) protocol
b) adre
adresa
saJl
Jloc
ocal
ala
a
c) proc
proces
esJl
Jloc
ocal
al
d) 9oate %ariantele
%ariantele de mai
mai sus
sus

7. Proto
Protocol
colul
ul P
P este
este folos
folosit
it
a) Ca multiple
multiple,or,orBdemult
Bdemultiple,
iple,or
or pentru
pentru emiterea
emiterea si receptio
receptionar
narea
ea
datagramelor
b) 9ransmis
ransmisia ia Au,ului
Au,ului de date
date
c) tab
tabil
ilir
irea
ea cone,i
cone,iun
unii
ii
d) ;iciun
;iciuna a din %arian
%ariantel
telee de mai sus
sus

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