Model TCP/IP
Dacă învățați doar un model de rețea, aflați TCP/IP. Modelul OSI cu șapte straturi este predat în manuale; modelul TCP/IP cu patru straturi este pe care rulează Internetul real. Înțelegerea stratului care face ceea ce este baza pentru înțelegerea tuturor celorlalte - VPN-uri, proxy, NAT, firewall-uri, latență.
Întregul articol al articolului este oferit în limba engleză mai jos.
Designul Internetului provine dintr-o lucrare din 1974 a lui Vint Cerf și Bob Kahn care a propus o arhitectură stratificată: fiecare strat face o singură lucrare, vorbește doar cu straturile imediat de deasupra și de dedesubt și este implementat independent de celelalte. Modelul are patru straturi; tot ce pui pe un fir (sau wireless) trece prin ele.
LLayer 1: Link Layer
Stratul de jos este legătura fizică dintre dispozitivele adiacente: Ethernet, Wi-Fi, fibră, celular. Sarcina lui este să pună bucăți pe mediu și să le scoată din nou pe cealaltă parte. Fiecare tehnologie de legătură are propria sa încadrare, propria sa adresare (adrese MAC pe Ethernet/Wi-Fi) și propria sa gestionare a erorilor.
Acest strat este singurul care variază în funcție de mediul fizic. Restul stivei este același, indiferent dacă sunteți pe mobil, Wi-Fi sau fibră.
Layer 2: Internet layer
Layer Internet este stratul global de rutare. Protocolul său este IP (fie în v4, fie în v6), iar sarcina sa este de a obține un pachet de la orice adresă IP la orice altă adresă IP, eventual prin multe hopuri intermediare. Fiecare hop este un router care se uită la adresa de destinație, consultă tabelul său de rutare și redirecționează pachetul pe legătura corespunzătoare.
Stratul Internet este cel mai bun efort: pachetele pot fi abandonate, reordonate sau duplicate. Nu retransmite. Aceasta este problema următorului strat.
Layer 3: Transport Layer
Stratul de transport transformă cel mai bun efort serviciu IP în ceva utilizabil de către aplicații. Două protocoale domină:
- TCP (Transmission Control Protocol) oferă un flux de octeți ordonat și fiabil. Retransmite pachetele pierdute, reordonează pachetele necomandate, controlează congestia și asigură că ambele puncte finale rămân aproximativ sincronizate. Prețul este latența — o strângere de mână TCP durează o călătorie dus-întors înainte ca orice flux de date.
- UDP (Protocol de datagramă utilizator) oferă datagrame fără garanții de fiabilitate. Aplicația primește același serviciu de cel mai bun efort oferit de IP, plus numere de porturi pentru fluxuri multiplex. Folosit pentru DNS, audio/video în timp real, jocuri, QUIC.
Ambele protocoale de nivel de transport utilizează numere de port pe 16 biți (0–65535) pentru a multiplexa multe fluxuri pe o singură adresă IP. HTTP, HTTPS, SMTP, DNS, SSH, FTP, BitTorrent. Fiecare protocol își definește propriul format de mesaj, semantică și comportamente, mergând pe TCP sau UDP.
Acesta este stratul în care își petrec timpul cei mai mulți dezvoltatori de software. De asemenea, este locul în care trăiește aproape toată complexitatea aplicațiilor moderne - TLS, HTTP/3, QUIC, GraphQL, gRPC, WebSocket - chiar dacă cele trei straturi inferioare au schimbat. zeci de ani.
Cum curge de fapt un pachet
Dai clic pe un link. Browserul dvs. deschide o conexiune TCP la example.com:443. Iată defalcarea stratificată:
- Stratul de aplicație: browserul construiește o solicitare HTTPS.
- Stratul de transport: TCP îl înfășoară într-un segment cu porturi de număr sursă/destinație, checksum.
- Stratul Internet: IP împachetează segmentul TCP cu IP-ul sursă/destinație, TTL etc.
- LStratul link: Ethernet (sau Wi-Fi) înglobează pachetul IP cu adresele MAC pentru următorul hop. pachetul atinge routerul dvs., care dezlipește cadrul stratului de legătură, se uită la antetul IP, decide unde să redirecționeze, îl înfășoară într-un nou cadru strat de legătură pentru următorul hop și îl trimite mai departe. Acest lucru se repetă la fiecare router până când pachetul ajunge la serverul example.com, unde straturile se desfășoară invers.
TCP/IP vs OSI
Modelul OSI are șapte straturi — fizic, legătură de date, rețea, transport, sesiune, prezentare, aplicație — și este predat în săli de clasă. Modelul TCP/IP restrânge cele două straturi OSI de jos într-un „strat de legătură” și cele trei straturi OSI de sus într-un „strat de aplicație”. Distincțiile de sesiune/prezentare OSI există în sistemele reale (TLS se află acolo undeva), dar vizualizarea pe patru straturi TCP/IP se potrivește mai clar cu implementările reale.
De ce contează acest lucru pentru VPN-uri
A Tunelul VPN funcționează prin încapsularea unui pachet în altul. Solicitarea dvs. HTTP la nivel de aplicație rulează pe TCP, care rulează pe IP, care este criptat și încărcat în pachetul IP another destinat serverului VPN. Serverul VPN decapsulează și redirecționează. Pachetul interior este traficul tău real; pachetul exterior îl ascunde de rețeaua locală. Înțelegerea la ce strat are loc încapsularea (de obicei, IP-in-IP pentru IPsec/WireGuard, TCP/UDP-in-TLS pentru OpenVPN) este diferența dintre un VPN funcțional și unul rupt.
Întrebări frecvente
- Este greșit modelul OSI?
- Nu greșit, dar mai ales academic. Implementările reale se potrivesc mai strâns cu modelul TCP/IP pe patru straturi. Straturile de sesiune și prezentare din OSI se mapează cu codul bibliotecii din interiorul protocoalelor de aplicație, mai degrabă decât cu componentele de rețea discrete.
- Care este diferența dintre TCP și UDP la nivel de protocol?
- TCP are configurarea conexiunii (strângere de mână în trei căi), numere de secvență pe octet, retransmisie, control al fluxului și control al congestiei. UDP nu are niciunul dintre acestea - este doar „aruncă această datagramă la acel IP:port și sper să ajungă”. UDP este mai rapid, dar aplicația trebuie să facă față pierderilor.
- Unde funcționează firewall-urile în acest model?
- Majoritatea firewall-urilor funcționează la nivelurile Internet și Transport - ei inspectează adresele IP, numerele de porturi și steagurile TCP. „Firewall-urile de aplicație” (numite și gateway-uri de aplicații) inspectează încărcăturile utile de nivel 4 pentru a aplica reguli bazate pe metode HTTP, URL-uri sau alt conținut al aplicației.
- De ce un VPN încetinește lucrurile?
- Trei motive: încapsularea IP suplimentară adaugă 20–60 de octeți per pachet, criptarea/decriptarea utilizează CPU, iar serverul de ieșire VPN poate fi fizic mai departe de destinație decât ruta reală a ISP. Protocoalele moderne precum WireGuard minimizează primele două; ocolul traseului este inevitabil.
- Modelul TCP/IP încă se aplică cu HTTP/3?
- Da — HTTP/3 rulează prin QUIC, care rulează prin UDP la nivelul de transport, care rulează prin IP la nivelul Internetului. Straturile nu s-au schimbat; doar alegerea protocolului stratului de transport a făcut-o. QUIC reunește unele funcționalități (criptare, control congestie) într-un pachet mai strict.