Transportni sloj

9. Transportni sloj

9.1. Zadaci transportnog sloja

Transportni sloj na ishodišnoj strani priprema podatke za prijenos kroz mrežu. Prima poruke s aplikacijskog sloja i dijeli ih na segmente. Svakom segmentu dodaje zaglavlje protokola transportnog sloja i prosljeđuje mrežnom sloju. Pridruživanje zaglavlja zove se enkapsulacija. Na odredišnoj strani  transportni sloj spaja segmente ponovno u cjelinu i prosljeđuje poruku aplikacijskom sloju.

Slika prikazuje rastavljanje poruke/podataka sa aplikacijskog sloja na segmente i pridruživanje zaglavlja transportnog sloja.

Slikovni rezultat za transport layer encapsulation

Na računalu može biti pokrenuto više procesa koji mogu istodobno komunicirati s procesima drugih računala u mreži. Zadatak transportnog sloja je i označavanje procesa u svrhu točnog prosljeđivanja segmenata procesima za koje su ti segmenti namijenjeni.

Identifikator procesa nalazi se u zaglavlju svakog segmenta. To je 16-bitni broj koji se naziva priključak (port). Svaka aplikacija odnosno proces šalje i prima podatke na određenom priključku.

Aplikacijski protokoli na klijentskoj strani ne moraju uvijek imati isti broj priključaka (pridružuje im se prvi slobodan), dok aplikacijski protokoli na poslužiteljskoj strani imaju predefinirane brojeve priključaka.

Npr. web-poslužitelju je uvijek pridružen priključak (port) broj 80, DNS poslužitelj se nalazi na priključku 53 itd.

Primjer 1: Raspodjela podataka aplikacijama na temelju broja priključka (port)

Ako na računalu više puta pokrenete web-preglednik i na svakom od njih zatražite određenu web-stranicu, podaci za određenu web-stranicu koji će dolaziti sa poslužitelja biti će prosljeđivani točno onom pregledniku koji je tu web-stranicu zatražio zahvaljujući broju priključka. Broj priključka je identifikator pomoću kojega se razlikuju segmenti svake web-stranice.

Primjer 2: Raspodjela podataka aplikacijama na temelju broja priključka (port)

Na poslužitelju može biti pokrenuto više različitih usluga. Pretpostavimo da je na istom poslužitelju pokrenut web-servis (protokol HTTP) i DNS servis (protokol DNS). Svaki servis ima predefinirani broj priključka. Paketi poslani s klijenta naći će poslužitelj prema adresi poslužitelja. Kada paketi dođu na poslužitelj, bit će raspoređeni aplikacijama prema broju priključka.

Međunarodna organizacija IANA (Internet Assigned Numbers Authority) definira priključke i njihove veze s aplikacijskim protokolima.

Priključci su podijeljeni u tri skupine:

    • standardni, predefinirani poslužiteljski priključci (Well Known Ports) – u rasponu su od 0 do 1023. Namijenjeni su standardnim mrežnim servisima. U ovom su rasponu definirani priključci HTTP, FTP, SMTP, POP, IMAP, Telnet i drugih poznatih aplikacijskih protokola. Tablica sadrži aplikacijske protokole, predefinirane brojeve priključaka na strani poslužitelja i protokol transportnog sloja kojim se ti aplikacijski protokoli koriste.

      Important TCP/IP application layer protocols and ports ...


      priključciCommonly used port numbers | Download Table


  • rezervirani priključci (Reserved Ports) – u rasponu od 1024 do 49151. Namijenjeni su vlasničkim servisima kojima se nudi mogućnost registracije (aplikacijski protokoli pojedinih programa i servisa na Internetu koje je stvorilo i objavilo privatno poduzeće. Preporuka IANA-e je da se ovaj raspon priključaka na poslužiteljima smije upotrebljavati isključivo ako su organizacije ili pojedinci koji su vlasnici servisa registirali taj servis i priključak pri IANA-i.
  • dinamički priključci (Dynamic Ports) – u rasponu od 49152 do 65535. Ne mogu se registrirati i namijenjeni su za slobodnu upotrebu prema potrebi.

Najveći broj koji se nekom priključku može pridružiti je 65535. Razlog tomu je definirana veličina polja za upis priključka od 16 bitova, što čini 65536 kombinacija. Tako je ukupan raspon svih priključaka od 0 do 65535.

Kombinacija IP adrese i priključka (protokol TCP ili UDP) zove se mrežna utičnica (Network socket).

9.2. Protokoli transportnoga sloja

U skupu protokola TCP/IP na transportnom sloju postoje dva protokola:

  • TCP (Transport Control Protocol)
  • UDP (User Datagram Protocol)

Odluka o tome koji će se protokol upotrebljavati ovisi o tome koje značajke prijenosa imaju prioritet.

Ako je prioritet pouzdan prijenos bez grešaka i gubitka paketa, upotrebljavat će se protokol TCP jer uspostavlja vezu između ishodišta i odredišta, provjerava ispravnost prijenosa, upravlja tokom prijenosa i zagušenjima. Brzina je žrtvovana u korist pouzdanosti. TCP-om se koristi protokol HTTP, protokoli elektroničke pošte (SMTP, PO3 i IMAP), protokol FTP, protokol Telnet i dr.

Ako je prioritet brzina, koristit će se protokol UDP koji ne upostavlja vezu između ishodiša i odredišta, ne provjerava ispravnost prijenosa, ne upravlja tokom prijenosa i zagušenjima. Pouzdanost je žrtvovana u korist brzine. UDP se upotrebljava pri videoprijenosu preko Interneta, telefoniji preko Interneta i sl.

Oba protokola dijele poruku na segmente te pridružuju svakom segmentu zaglavlje s pridruženim skupom podataka koji su potrebni tom protokolu. Taj se postupak zove enkapsulacija segmenta. Zaglavlja protokola UDP i TCP se razlikuju jer ne trebaju isti skup podataka za svoju ulogu na transportnom sloju.

9.2.1 UDP

UDP je protokol transportnog sloja koji ne uspostavlja vezu (conectionless) i ne jamči isporuku paketa (unreliable), što je prihvatljivo kod mrežnog prometa kao što je videoprijenos i prijenos govora u realnom vremenu (kod brzog prijenosa koji može podnijeti određene gubitke).

Pogodno je i za komunikaciju u kojoj jedno računalo ili mrežni uređaj šalje informacije grupi uređaja u mreži (multicasting), jer bi u tom slučaju bilo nepraktično uspostavljati komunikacijsku vezu sa svakim pojedinačno (protokol TCP to zahtjeva).

Zaglavlje UDP paketa

Slika prikazuje zaglavlje UDP paketa:What is UDP (User Datagram Protocol)?

Dakle, polja koja se pojavljuju u UDP zaglavlju su izvorišni i odredišni priključak, duljina te polje provjere.

Ishodišni priključak (Source Port) – veličina polja ishodišnog priključka je 16 bitova, pa može primiti vrijednosti od 0 do 65535. Definira se na strani pošiljatelja segmenta.

Odredišni priključak (Destination Port) – veličina polja je 16 bitova sa istim opsegom mogućih vrijednosti kao i kod ishodišnog priključka. Odredišni priključak definira aplikaciju kojoj se prosljeđuje segment. U komunikaciji u kojoj klijent šalje zahtjev poslužitelju, vrijednost odredišnog priključka bit će standardni poslužiteljski priključak dodijeljen za tu aplikaciju.

Duljina (UDP length field) – definira ukupnu duljinu segmenta uključujući podatke i duljinu zaglavlja. Kako je UDP zaglavlje uvijek točno određene veličine koja iznosi osam okteta, polje duljine zapravo prikazuje vrijednost osam okteta zbrojeno sa podacima aplikacijskog sloja. UDP polje duljine upotrebljava se kao jedna od vrijednosti za izračunavanje vrijednosti polja provjere (checksum field).

Provjera (Checksum Field) – služi za provjeru ispravnosti segmenta.