1. Ce este un protocol? De ce avem nevoie de el?
Cand raspunzi la telefon spui "Alo", asculti, raspunzi pe rand, la final spui "Pa". Aceasta conventie este un protocol: ambii interlocutori stiu regulile. Fara protocol, unul ar vorbi peste celalalt si nimeni nu ar intelege nimic.
In retele, acelasi principiu se aplica: calculatorul care trimite si cel care primeste trebuie sa fie de acord cu formatul mesajelor, ordinea operatiilor, cum se trateaza erorile si viteza de transmisie.
- Interoperabilitate: un telefon Samsung poate comunica cu un iPhone deoarece ambele respecta aceleasi protocoale (WiFi, Bluetooth, TCP/IP).
- Standardizare globala: un calculator din Romania trimite date unui server din Japonia fara probleme, deoarece folosesc aceleasi reguli.
- Detectarea si corectarea erorilor: protocoalele includ mecanisme de verificare a integritatii datelor transmise.
- Securitate: unele protocoale (HTTPS, SSH) includ criptarea datelor in tranzit.
TCP/IP — transport date prin Internet
HTTP / HTTPS — transfer pagini web
DNS — traducere nume domeniu in adresa IP
FTP / SFTP — transfer fisiere
SMTP / IMAP / POP3 — trimitere si receptie email
SSH — acces securizat la distanta pe un server
2. Modelul TCP/IP — arhitectura comunicarii pe Internet
Stratul 4 — Aplicatie
Protocoale folosite direct de aplicatii: HTTP, HTTPS, DNS, FTP, SMTP, SSH.
Rol: formateaza cererea utilizatorului intr-un mesaj inteles de server.
Stratul 3 — Transport
TCP (Transmission Control Protocol): imparte datele in segmente numerotate, trimite confirmare pentru fiecare, retrimitere automata daca un segment se pierde. Sigur, dar mai lent.
UDP (User Datagram Protocol): trimite fara confirmare. Rapid, fara garantie de livrare. Folosit la streaming video, jocuri online, VoIP.
Stratul 2 — Internet (IP)
Adauga adresa IP sursa si destinatie la fiecare pachet. Router-ele folosesc aceasta adresa pentru a directiona pachetul pana la destinatie.
IPv4: adrese de 32 biti (ex: 93.184.216.34) — stocul global a fost epuizat.
IPv6: adrese de 128 biti (ex: 2001:db8::1) — rezolva problema epuizarii adreselor.
Stratul 1 — Acces la retea (Link)
Transmisia fizica a bitilor prin cablu, fibra optica sau unde radio. Include Ethernet (LAN cu cablu) si WiFi (802.11).
Adresa MAC (Media Access Control) identifica unic placa de retea in reteaua locala.
Strat Aplicatie = continutul scrisorii (ce vrei sa comunici)
Strat Transport (TCP) = impartirea continutului in plicuri numerotate si confirmarea primirii
Strat Internet (IP) = adresa destinatarului scrisa pe fiecare plic
Strat Acces retea = vehiculul fizic care transporta plicul (camion, avion)
3. DNS — agenda telefonica a Internetului
Stii ca vrei sa suni la "Pizzeria Mario", nu la numarul 0740-123-456. Cauti in agenda dupa nume si gasesti numarul. DNS face exact acelasi lucru: tu scrii un nume, el iti intoarce numarul (adresa IP).
- Tastezi
https://www.wikipedia.orgin browser. - Browser-ul verifica cache-ul local DNS (lista traducerilor retinute recent). Daca gaseste adresa, sare direct la conexiunea TCP.
- Daca nu gaseste, intreaba Resolver-ul DNS al ISP-ului sau un serviciu public (8.8.8.8 Google, 1.1.1.1 Cloudflare).
- Resolver-ul intreaba un Root Server (13 clustere globale): cine administreaza .org? Primeste adresa serverului TLD .org.
- Resolver-ul intreaba Serverul TLD .org: cine administreaza wikipedia.org? Primeste adresele serverelor autoritare Wikipedia.
- Resolver-ul intreaba Serverul autoritar Wikipedia: care e IP-ul www.wikipedia.org? Primeste adresa IP reala.
- Resolver-ul returneaza adresa IP browser-ului. Browser-ul initiaza conexiunea TCP/IP catre acea adresa.
Domeniul se citeste de la dreapta la stanga: www.wikipedia.org
.org = TLD (Top-Level Domain): tipul organizatiei (.com = comercial, .edu = educational, .ro = Romania)
wikipedia = domeniu de nivel 2: numele organizatiei
www = subdomeniu: serverul web (poate fi si mail, ftp, api etc.)
4. HTTP vs HTTPS — cum circula datele pe web
Cerere HTTP (Request) trimisa de browser:
GET /index.html HTTP/1.1 Host: www.example.com Accept: text/html
Raspuns HTTP (Response) trimis de server:
HTTP/1.1 200 OK Content-Type: text/html [... continut pagina HTML ...]
Coduri de stare HTTP frecvente:200 OK — cerere procesata cu succes, continut returnat301 Moved Permanently — pagina s-a mutat definitiv la alta adresa403 Forbidden — acces refuzat404 Not Found — pagina nu exista pe server500 Internal Server Error — eroare interna pe serverul web
- Confidentialitate: datele nu pot fi citite de un atacator care intercepteaza traficul.
- Integritate: datele nu pot fi modificate in tranzit fara ca aceasta sa fie detectata.
- Autentificare: browser-ul verifica identitatea serverului prin certificatul digital emis de o Autoritate de Certificare (CA), confirmand ca esti pe serverul real si nu pe un site fals.
HTTP → portul 80 (canal nesecurizat)
HTTPS → portul 443 (canal securizat cu TLS)
Un port este un canal logic: serverul asculta pe portul 80 cererile HTTP si pe portul 443 cererile HTTPS.
In browser, HTTPS se vede ca: 🔒 (lacatul inchis) + URL incepe cu https://.
⚠ Regula de baza: nu introduce niciodata parole, date bancare sau informatii personale pe un site care nu are HTTPS!
5. Drumul complet al unui pachet — de la tastatura la server si inapoi
Pasul 1 — Rezolutie DNS
Browser-ul intreaba serverul DNS: Care este adresa IP a www.liceu-info.ro?
Primeste adresa IP a serverului.
Protocol implicat: DNS pe portul UDP 53
Pasul 2 — Conectare TCP (Three-Way Handshake)
Browser-ul initiaza o conexiune TCP cu serverul la portul 443:
(1) Browser catre server: SYN (vreau sa ma conectez)
(2) Server catre browser: SYN-ACK (sunt disponibil, confirmat)
(3) Browser catre server: ACK (confirmat, incepem)
Protocol implicat: TCP
Pasul 3 — Negociere TLS
Browser-ul si serverul negociaza algoritmul de criptare si schimba cheile criptografice. Serverul prezinta certificatul digital; browser-ul il verifica.
Protocol implicat: TLS 1.3
Pasul 4 — Cerere HTTP GET
Prin tunelul criptat TLS, browser-ul trimite: GET /admitere.html HTTP/1.1
Protocol implicat: HTTP peste TLS = HTTPS
Pasul 5 — Raspuns server si rutare IP
Serverul trimite codul HTML (200 OK). Datele vin impartite in pachete IP. Fiecare pachet trece prin mai multe routere; fiecare router citeste adresa IP destinatie si decide urmatorul salt.
Protocoale implicate: IP, Ethernet sau WiFi
Pasul 6 — Reasamblare TCP si afisare
Pachetele pot sosi in ordine diferita. TCP le reasambleaza in ordinea numerelor de secventa originale. Browser-ul interpreteaza HTML-ul si afiseaza pagina.
Protocol implicat: TCP
- FTP (portul 21) — transfer fisiere; versiunea securizata: SFTP (portul 22, peste SSH)
- SMTP (portul 587 sau 465) — trimitere email de la client la server sau intre servere
- IMAP (portul 993 cu TLS) — acces la emailuri stocate pe server; accesibile de oriunde
- POP3 (portul 995 cu TLS) — descarca emailurile pe dispozitivul local si le sterge de pe server
- SSH (portul 22) — acces terminal criptat la servere la distanta; inlocuieste Telnet (text clar)
6. Securitate si protocoale — de ce alegerea protocolului conteaza
HTTP → text clar — de evitat pentru date sensibile
HTTPS → criptat cu TLS — obligatoriu pentru autentificare si date personale
FTP → text clar, inclusiv parola! — de evitat
SFTP / FTPS → criptat — variantele sigure recomandate
Telnet → text clar — nu se mai foloseste
SSH → criptat — standardul actual
POP3 / IMAP necriptat → parola email in text clar
POP3S / IMAPS → variantele sigure, porturile 995 si 993
Intr-un atac MitM, un atacator se interpune intre tine si server, interceptand comunicarea. Pe HTTP, vede totul in text clar: parole, mesaje, date bancare. Pe HTTPS cu TLS, chiar daca intercepteaza pachetele, nu le poate descifra fara cheile private ale serverului.
⚠ Regula practica: pe WiFi public (aeroport, cafenea, hotel) foloseste NUMAI site-uri cu HTTPS sau un VPN care cripteaza tot traficul.
- Emis de o Autoritate de Certificare (CA) care verifica identitatea detinatorului domeniului.
- Contine: numele domeniului, cheia publica a serverului, perioada de valabilitate, semnatura digitala a CA.
- Browser-ul verifica automat validitatea. Daca certificatul este expirat sau invalid, afiseaza un avertisment rosu.
- Certificatele gratuite Let's Encrypt au democratizat HTTPS: orice site poate fi securizat fara costuri.