ApplicationHTTP, DNS, TLSTransportTCP, UDPInternetIPv4, IPv6LinkEthernet, Wi-Fiencapsulation

TCP/IP model

10 min pročitatiumrežavanje

Ako naučite samo jedan model umrežavanja, naučite TCP/IP. Sedmoslojni OSI model se uči u udžbenicima; četveroslojni TCP/IP model ono je na čemu radi Internet. Razumijevanje toga koji sloj radi što je temelj za razumijevanje svega ostalog — VPN-ova, proxyja, NAT-a, vatrozida, latencije.

Cjeloviti članak nalazi se u nastavku na engleskom jeziku.

Dizajn interneta potječe iz dokumenta Vinta Cerfa i Boba Kahna iz 1974. koji predlaže slojevitu arhitekturu: svaki sloj radi jedan posao, razgovara samo sa slojevima neposredno iznad i ispod, i implementiran je neovisno o drugima. Model ima četiri sloja; sve što stavite na žicu (ili bežično) prolazi kroz njih.

Sloj 1: sloj veze

Donji sloj je fizička veza između susjednih uređaja: Ethernet, Wi-Fi, optička mreža, mobilna mreža. Njegov zadatak je staviti komadiće na medij i ponovno ih skinuti s druge strane. Svaka tehnologija povezivanja ima vlastito uokvirivanje, vlastito adresiranje (MAC adrese na Ethernet/Wi-Fi) i vlastito rukovanje pogreškama.

Ovaj sloj je jedini koji se razlikuje ovisno o fizičkom mediju. Ostatak skupa je isti bez obzira na to koristite li mobilnu mrežu, Wi-Fi ili optičku mrežu.

Sloj 2: Internetski sloj

Internetski sloj je sloj globalnog usmjeravanja. Protokol mu je IP (u verziji 4 ili v6), a posao mu je primiti paket s bilo koje IP adrese na bilo koju drugu IP adresu, po mogućnosti preko mnogih srednjih skokova. Svaki skok je usmjerivač koji gleda odredišnu adresu, konzultira svoju tablicu usmjeravanja i prosljeđuje paket na odgovarajuću vezu.

Internetski sloj je najbolji: paketi se mogu ispustiti, promijeniti redoslijed ili duplicirati. Ne reemitira se. To je problem sljedećeg sloja.

Sloj 3: Prijenosni sloj

Prijenosni sloj pretvara najbolju IP uslugu u nešto što mogu koristiti aplikacije. Dva protokola dominiraju:

  • TCP (Transmission Control Protocol) pruža pouzdan, uređen tok bajtova. Ponovno odašilje izgubljene pakete, preuređuje pakete koji nisu u redu, kontrolira zagušenje i osigurava da obje krajnje točke ostanu približno sinkronizirane. Cijena je latencija — TCP rukovanje traje jedno povratno putovanje prije bilo kakvog protoka podataka.
  • UDP (Protokol za korisnički datagram) pruža datagrame bez jamstava pouzdanosti. Aplikacija dobiva istu najbolju uslugu koju pruža IP, plus brojeve portova za multipleksiranje tokova. Koristi se za DNS, audio/video u stvarnom vremenu, igranje, QUIC.

Oba protokola transportnog sloja koriste 16-bitne brojeve portova (0–65535) za multipleksiranje mnogih tokova preko jedne IP adrese.

Sloj 4: Aplikacijski sloj

Aplikacijski sloj je sve što zapravo koristite: HTTP, HTTPS, SMTP, DNS, SSH, FTP, BitTorrent. Svaki protokol definira vlastiti format poruke, semantiku i ponašanje, na temelju TCP-a ili UDP-a.

Ovo je sloj na kojem većina programera softvera provodi svoje vrijeme. To je također mjesto gdje žive gotovo sve složene moderne aplikacije — TLS, HTTP/3, QUIC, GraphQL, gRPC, WebSocket — iako se niža tri sloja nisu promijenila u desetljeća.

Kako paket zapravo teče

Kliknete vezu. Vaš preglednik otvara TCP vezu na example.com:443. Ovdje je slojevita raščlamba:

  • Aplikacijski sloj: preglednik konstruira HTTPS zahtjev.
  • Prijenosni sloj: TCP ga omotava u segment s izvornim/odredišnim priključcima, sekvencijskim brojem, kontrolni zbroj.
  • IInternetski sloj: IP omotava TCP segment s izvornim/odredišnim IP-om, TTL-om itd.
  • Sloj veze: Ethernet (ili Wi-Fi) omotava IP paket s MAC adresama za sljedeći skok.

paket pogodi vaš usmjerivač, koji skida okvir sloja veze, gleda IP zaglavlje, odlučuje kamo će proslijediti, omotava ga u novi okvir sloja veze za sljedeći skok i šalje dalje. Ovo se ponavlja na svakom usmjerivaču dok paket ne dođe do poslužitelja example.com, gdje se slojevi odvijaju obrnutim redom.

TCP/IP naspram OSI

OSI model ima sedam slojeva — fizički, podatkovna veza, mreža, transport, sesija, prezentacija, aplikacija — i podučava se u učionicama. TCP/IP model sažima donja dva OSI sloja u jedan "vezni sloj" i gornja tri OSI sloja u jedan "aplikacijski sloj". Razlike OSI sesija/prezentacija postoje u stvarnim sustavima (TLS je tu negdje), ali TCP/IP četveroslojni prikaz jasnije odgovara stvarnim implementacijama.

Zašto je ovo važno za VPN-ove

A VPN tunel radi kapsuliranjem jednog paketa u drugi. Vaš HTTP zahtjev aplikacijskog sloja vozi se na TCP-u, koji se kreće na IP-u, koji se šifrira i ubacuje u another IP paket namijenjen VPN poslužitelju. VPN poslužitelj dekapsulira i prosljeđuje. Unutarnji paket je vaš stvarni promet; vanjski paket ga skriva od lokalne mreže. Razumijevanje na kojem se sloju događa enkapsulacija (obično IP-in-IP za IPsec/WireGuard, TCP/UDP-in-TLS za OpenVPN) razlika je između VPN-a koji radi i neispravnog.

Često postavljana pitanja

Je li OSI model pogrešan?
Nije pogrešno, ali uglavnom akademski. Stvarne implementacije više odgovaraju TCP/IP četveroslojnom modelu. Slojevi sesije i prezentacije u OSI-ju mapiraju se u knjižnični kod unutar aplikacijskih protokola, a ne u diskretne mrežne komponente.
Koja je razlika između TCP-a i UDP-a na razini protokola?
TCP ima postavku veze (trosmjerno rukovanje), sekvencijske brojeve po bajtu, ponovni prijenos, kontrolu protoka i kontrolu zagušenja. UDP nema ništa od toga — samo "baci ovaj datagram na taj IP:port i nadaj se da će stići." UDP je brži, ali se aplikacija mora nositi s gubitkom.
Gdje rade vatrozidi u ovom modelu?
Većina vatrozida radi na internetskom i transportnom sloju — oni provjeravaju IP adrese, brojeve portova i TCP oznake. "Aplikacijski vatrozidi" (također zvani aplikacijski gatewayi) provjeravaju sadržaj sloja 4 kako bi primijenili pravila temeljena na HTTP metodama, URL-ovima ili drugom sadržaju aplikacije.
Zašto VPN usporava stvari?
Tri razloga: dodatna IP enkapsulacija dodaje 20-60 bajtova po paketu, enkripcija/dešifriranje koristi CPU, a VPN izlazni poslužitelj može biti fizički dalje od vašeg odredišta od vaše stvarne ISP rute. Moderni protokoli poput WireGuarda minimiziraju prva dva; obilaznica je neizbježna.
Primjenjuje li se TCP/IP model i dalje s HTTP/3?
Da — HTTP/3 radi preko QUIC-a, koji radi preko UDP-a na transportnom sloju, koji radi preko IP-a na internetskom sloju. Slojevi se nisu promijenili; učinio je samo izbor protokola transportnog sloja. QUIC povlači neke funkcionalnosti (šifriranje, kontrola zagušenja) u čvršći paket.
Objašnjenje TCP/IP modela: Četiri sloja, pravi internetski skup