Transportni sloj TCP/IP modela

download Transportni sloj TCP/IP modela

of 34

Transcript of Transportni sloj TCP/IP modela

  • 8/13/2019 Transportni sloj TCP/IP modela

    1/34

    Raunarske mreePREDAVANJE 8

    Transpo rtni slo j TCP/IP modela Appl icat ion Layer

    Transportni sloj u OSI moelu koristi a omogudi peer entitetima na izvorinom i oreinom hostu

    odvijanje konverzacije. Definisana su dva end-to-end protokola.1

    TCP, pouzani, konekcijski orjentiran protokol koji omogudava a tok bitka s izvorita o oreita stigne

    bez greke preko interneta. Vri segmentiranje bita i proslijeuje ih internet sloju, a na oreitu vri

    reasembliranje poruke. TCP vri i kontrolu toka (flow control), kako bi sprijeio a brzi poiljalac ugui

    sporog primaoca.

    UDP, nepouzdan, nekonekcijski orjentiran protokol kojeg koriste aplikacije koje ne ele TCP

    segmentiranje i kontrolu toka, ved pruaju svoje. Koristi se za one -shot, client-server-type request-reply

    queries i aplikacije u kojima je vanije a neto stigne na vrijeme nego tanost, kao to je sluaj sa

    prenosom videa ili govora.

    Osnovna funkcija transportnog sloja je da prihvata podatke sloja iznad sebe, razdvaja ih u manje jedinice

    ako je potrebno, proslijeuje ih mrenom sloju, i osigurava a svi ijelovi stignu ispravno na rugi kraj.

    Sve ovo mora biti uraeno efikasno i na nain koji izolira vie slojeve o neizbjenih promjena u

    hardware-skoj tehnologiji tokom vremena.

    Slika. Transportni sloj u OSI modelu2

    1E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 419.

    2Napomena: Slike su preuzete i prevedene sa Cisco Networking Academy [datum pristupa: 01.08.12],

  • 8/13/2019 Transportni sloj TCP/IP modela

    2/34

    Transportni sloj, takoer, oluuje koji tip usluge de pruiti sesijskom sloju, i u konanici korisnicima

    mree. Najpopularniji tip transportne konkcije je point-to-point (konkcija taka-taka), error-free

    (pouzdan) kanal koji ostavlja poruke, onosno bajte, u onom reu u kojem su poslani. Meutim,

    postoje i drugi tipovi transportne usluge, kao to je transport izoliranih poruka bez garancije o

    reoslijeu njihovog pristizanja, kao i broacast poruka na vie oreita. Tip usluge se oreuje pri

    uspostavi konekcije.

    Transportni sloj je pravi end-to-end sloj jer prenosi podatke o izvora skroz o oreita. Drugim

    rijeima, program na izvorinoj maini komunicira sa programom na oreinoj maini, koristedi

    zaglavlja poruke i kontrolne poruke. U niim slojevima, svaki protokol je izmeu maine i njenog

    direktnog susjeda, a ne izmeu krajnjih izvorinih i oreinih maina koje mogu biti ovojene sa vie

    rutera. Transportni sloj ima specifikacije koje kontroliu maksimalnu brzinu kojom primalac moe

    prihvatati poatke, te mehanizme za izbjegavanje mrenog zaguenja. Transportni sloj ima zadatak i da

    ientificira aplikaciju iji se poaci prenose. To se omogudava pomodu polja u zaglavlju koja se zove

    port number. Svakom procesu kojem je potreban pristup na mreu ojeljuje se broj porta jeinstven

    za tog hosta. Transportni sloj sari tu informaciju u zaglavlju a bi se znalo kojoj aplikaciji pripaajupodaci koji se prenose.

    3

    Poatkovne mree i internet omogudavaju komunikaciju izmeu ljui, kako na lokalnom, tako i na

    globalnom nivou. Na jenom ureaju ljui mogu koristiti vie usluga, kao to su naprimjer: e-mail, Web,

    Instant messaging za razmjenjivanje informacija. Aplikacije kao to su e -mail klijent, Web browser,

    Instant messaging klijent, omogudavaju ljuima a koriste raunare i mree za slanje poruka i

    informacija. Podaci iz svake o ovih aplikacija su upakovani, transportovani i ostavljeni na ogovarajudi

    server ili aplikaciju na oreinom ureaju. Procesi opisani u transportnom sloju OSI moela primaju

    podatke sa aplikacijskog sloja i pripremaju ih za adresiranje na mrenom sloju. Transportni sloj je

    zasluan za en-to-en transfer aplikacijskih poataka. Transportni sloj ukljuuje i sljeede funkcije:

    omogudava vedem broju aplikacija a komuniciraju u mrei u isto vrijeme na jenom ureaju, osigurava sigurnu dostavu poataka na oreite u ogovarajudem reoslijeu u tano

    oreenu aplikaciju,

    koristi mehanizme za ispravljanje greaka.4Protokoli transpotnog sloja su:

    TCP,Transmission Control Protocol; UDP,User Datagram Protocol; ATP, AppleTalk Transaction Protocol; CUDP,Cyclic UDP; DCCP, Datagram Congestion Control Protocol; FCP,Fiber Channel Protocol;

    3S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 44,47.

    4Cisco Networking Academy [datum pristupa: 01.08.12],

    http://sh.wikipedia.org/wiki/TCPhttp://sh.wikipedia.org/wiki/UDPhttp://sh.wikipedia.org/w/index.php?title=CUDP&action=edit&redlink=1http://sh.wikipedia.org/w/index.php?title=FCP&action=edit&redlink=1http://sh.wikipedia.org/w/index.php?title=FCP&action=edit&redlink=1http://sh.wikipedia.org/w/index.php?title=CUDP&action=edit&redlink=1http://sh.wikipedia.org/wiki/UDPhttp://sh.wikipedia.org/wiki/TCP
  • 8/13/2019 Transportni sloj TCP/IP modela

    3/34

    NBF, NetBIOS Frames Protocol; SCTP, Stream Control Transmission Protocol; SPX, Sequenced Packet Exchange; SST,Structured Stream Transport.

    Uloga transportnog sloja u OSI modelu

    Transportni sloj omogudava segmentaciju poataka i potrebnu kontrolu za ponovno spajanje ovih

    ijelova poataka (segmenata). Primarne funkcije koje svakog protokola transportnog sloja ukljuuju:

    Segmentaciju i reasembliranjevedina mrea ima ogranienu koliinu poataka koja moe bitiukljuena u jean PDU (Protocol Data Unit). Transportni sloj dijeli informacije u blokove

    poataka ogovarajude veliine. Na oreitu, transportni sloj reasemblira poatke prije nego ih

    proslijei na ogovarajudu oreinu aplikaciju ili uslugu.

    Multipleksiranje komunikacijaU istoj mrei, na istom voru moe biti pokrenuto vie aplikacija.Svakoj o ovih aplikacija je ojeljen broj porta na osnovu kojeg transportni sloj moe oreiti

    kojoj aplikaciji je podatak namjenjen.

    Kako bi koristili informacije sarane u zaglavlju, za osnovne funkcije segmentiranja ireasembliranja poataka, neki protokoli na transportnom sloju omogudavaju:

    Konekcijski-orjentiranu komunikaciju, Pouzdanu isporuku, Spajanje ijelova poataka tanim reoslijeom i

    Kontrolu toka podataka.

    Praenje individualne komunikacije, segmentiranje podataka i reasembliranje segmenata

    Bilo koji host moe imati vie aplikacija koje komuniciraju kroz mreu. Svaka o ovih aplikacija

    komunicira sa jenom ili vie aplikacija na rugom hostu. Uloga transportnog sloja je a orava

    viestruku komunikaciju izmeu ovih aplikacija.

    Kao to svakaaplikacija stvara poatke koji se alju na neku ualjenu aplikaciju, ovi poaci moraju biti

    spremni a buu poslani preko meija u ogovarajudim ijelovima. Protokoli transportnog sloja opisuju

    usluge koje segmentiraju ove podatke sa aplikacijskog sloja. Ovo ukljuuje enkapsuliranje svakog dijela

    podataka. Svaki io poataka zahtjeva oavanje ogovarajudeg zaglavlja na transportnom sloju a bi se

    utvrdilo na koju komunikaciju se odnosi.

    Na oreinom voru svaki io poataka mora biti proslijeen na ogovarajudu aplikaciju. Naravno, svi

    ovi ijelovi poataka se moraju spojiti u kompletiran poatak koji de samo takav biti koristan

    http://sh.wikipedia.org/w/index.php?title=SST&action=edit&redlink=1http://sh.wikipedia.org/w/index.php?title=SST&action=edit&redlink=1
  • 8/13/2019 Transportni sloj TCP/IP modela

    4/34

    aplikacijskom sloju. Protokoli transportog sloja opisuju kako se informacije u zaglavlju na transportnom

    sloju koriste za reasembliranje (ponovno spajanje) ijelova u kompletiran poatak koji de biti

    proslijeen aplikacijskom sloju.

    Identificiranje razliitih aplikacija

    Kako bi poatak stigao o ogovarajude aplikacije, transportni sloj mora ientificirati ciljnu aplikaciju. Da

    bi ovo izvrio, transportni sloj svaku aplikaciju ientificira brojem porta. Svaki softverski proces koji mora

    pristupiti mrei je oznaen brojem porta jeinstvenim u tom hostu. Ovaj broj porta se koristi u zaglavlju

    transportnog sloja a ukae na koju aplikaciju se odnosi taj podatak.

    Transportni sloj je veza izmeu aplikacijskog sloja i niih slojeva koji su zaueni za transmisiju. Ovaj sloj

    prima poatke o razliitih aplikacija i prosljeuje ih na nie slojeve kao manje ijelove koji mogub biti

    poslani kroz medij.

    Aplikacije ne moraju poznavati operacijske etalje mree koja se koristi. Aplikacije samo generiu

    poatke koji su poslani o oreene aplikacije ka nekoj rugoj, bez razmatranja tipa vora na oreitu,

    medija preko kojeg se podaci prenose, puta kojim se prenose, zaguenja na linku i bez razmatranja o

    veliini mree. Nii slojevi nisu svjesni injenice a vie aplikacija alje poatke kroz mreu. Njihova uloga

    je a ostave poatke na ogovarajudi ureaj. Na oreinom ureaju transportni sloj sortira i spaja

    poatke prije nego to ih proslijei ka ogovarajudoj aplikaciji.5

    Raznolikost potreba za podacima

    Poto razliite aplikacije imaju razliite potrebe, postoji vie protokola transportnog sloja. Za neke

    aplikacije, segmenti moraju stidi u tano oreeno vrijeme kako bi bili uspjeno procesirani. U nekim

    sluajevima svi poaci moraju biti primljeni kako bi bili korisni aplikaciji. U nekim rugim sluajevima

    aplikacije mogu tolerisati gubitak poataka za vrijeme transmisije kroz mreu.

    5Cisco Networking Academy [datum pristupa: 01.08.12],

  • 8/13/2019 Transportni sloj TCP/IP modela

    5/34

  • 8/13/2019 Transportni sloj TCP/IP modela

    6/34

    izgubljen. Ovo je mnogo efikasnije o kanjenja koje bi nastalo ukoliko bi se o mree trai lo da upravlja

    ponovnim slanjem paketa razgovora koji su izgubljeni i upravo zbog toga su oreeni gubici prihvatljivi.6

    Slika. Transpotni sloj ijeli poatke u segmente rai lakeg upravljanja i transporta

    Kao to je ved opisano, slanje jenog tipa poataka, npr. vieo poatka preko mree kao jene

    kompletne cjeline poataka bi moglo sprijeiti ostale aplikacije da prenose svoje podatke preko mree u

    isto vrijeme. To ,takoer, ovoi o teeg ispravljanja greaka i tee retransmisije otedenih poataka.

    Dijeljenje poataka u manje ijelove i slanje ovih ijelova o izvorita ka oreitu omogudava a vie

    komunikacija funkcionie istovremeno na istoj mrei.

    Segmentiranje podataka, u skladu sa protokolima transportnog sloja, prua srestva za slanje i primanje

    poataka kaa je potrebno a vie aplikacija komunicira u isto vrijeme. Bez segmentacije samo jena

    aplikacija, npr. vieo komunikacija, bi mogla primati i slati poatke. Ne bi bilo mogude primiti e -mail,

    instant messages ili pregledati web stranice u isto vrijeme kada je u toku video komunikacija. Na

    transportnom sloju svaki posebni io poataka koji se krede o izvorita ka oreitu prestavlja

    komunikaciju. Da bi se identificirao svaki segmenat podataka, transportni sloj oaje zaglavlje koji sari

    polja bita. Vrijenost ovih bita u oreenim poljima omogudava protokolima transportnog sloja a

    izvoe razliite funkcije.7

    6Cisco Networking Academy [datum pristupa: 01.08.12],

    7S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 496,

    497.

  • 8/13/2019 Transportni sloj TCP/IP modela

    7/34

    Slika. Segmentiranje podataka

    Uspostavljanje sesije, pouzdana isporuka i dostava u tanom rasporedu

    Transportni sloj omogudava konekcijski orjentiranu komunikaciju stvaranjem sesije izmeu aplikacija.

    Ove sesije pripremaju aplikacije a komuniciraju meusobno prije nego se bilo kakav poatak poalje.

    Unutar ovih sesija mogude je upravljati poacima za komunikaciju izmeu vije aplikacije.

    Iz vie razloga, mogude je a poatak bue oteden ili potpuno izgubljen za vrijeme transmisije kroz

    mreu. Transportni sloj osigurava prispjede svih ijelova poataka na njihovo oreite jer vri ponovno

    slanje (retransmisiju) podataka koji se izgube.

    Poto mree omogudavaju vie ruta za transmisiju o istog izvorita ka istom oreitu, poaci mogu

    olaziti u pogrenom reoslijeu. Numerisanjem i ojeljivanjem brojeva sekvence svakom segmentu,

    transportni sloj osigurava a su ovi segmenti pravilno reasemblirani na oreitu.

    Kontrola toka podataka

    Mreni ureaji imaju ograniene resurse, kao npr. memoriju ili propusni opseg. Kaa transportni sloj

    primjeti a su resursi prezasideni, neki protokoli mogu zahtjevati o aplikacije a smanji koliinu

  • 8/13/2019 Transportni sloj TCP/IP modela

    8/34

    poataka koju alje. Ovo se rai na transportnom sloju regulisanjem koliine poataka. Kontrola toka

    poataka moe sprijeiti gubitak segmenata na mrei i izbjegavati potrebu za ponovnom transmisijom.8

    Osiguravanje pouzdane komunikacije

    Kao to je ved naveeno, primarna svrha transportnog sloja je upravljanje aplikacijskim podacima za

    komunikaciju izmeu hostova. Razliite aplikacije imaju i razliite zahtjeve za svoje poatke, a samim

    time su razvijeni i razliiti protokoli transportnog sloja a bi se osiguralo zaovoljenje ovih zahtjeva.

    Transportni sloj i njegovi protokoli mogu implementirati metode za osiguravanje pouzdane dostave

    poataka. U smislu mree, pouzanost porazumijeva osiguravanje a svaki io informacije uspjeno

    stigne na oreite.

    Na transportnom sloju osnovne operacije vezane za pouzdanost su:

    pradenje poslanih poataka, potvrda primljenih podataka, ponovno slanje podataka za koje nije primljena potvrda.

    Zatjeva se od procesa na transportnom sloju na izvoritu a voi rauna o tome svakom ijelu

    komunikacije, kao i a vri retransmisiju svih izgubljenih ijelova za koje nisu stigle potvre o prijemu.

    Na oreitu, uloga procesa transportnog sloja je a isto tako prate svak i dio komunikacije koji prime i

    a alju potvru o primitku.

    Ovi procesi kojima se osigurava pouzanost,prenosa uzrokuju oatno opteredenje mrenih resursazbog potvra koje se moraju slati, pradenja komunikacije i retransmisije. Za osiguravanje pouzanosti

    komunikacije alje se vie kontrolnih informacija izmeu izvorita i oreita. To su informacije sarane

    u zaglavljima etvrtog sloja. Strunjaci za razvoj aplikacija moraju izabrati koji je protokol transportnog

    sloja prikladan za njihovu aplikaciju bazirano na zahtjevima aplikacije.

    Na transportnom sloju postoje protokoli koji ili specifiraju metode za pouzdanu, garantovanu isporuku ili

    za best-effort isporuku. U kontekstu mree, best-effort ostava se smatra nepouzanom ostavom

    jer ne postoje potvrde koje garantuju da je dio informacije dostavljen na odreite. Ovakve mogudnosti

    dovode do situacije kada je potrebno procijeniti i odmjeriti potrebe za pouzdanosti komunikacije i

    opteredenja koji ovakva pouzanost onosi mrei.9

    8S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 522.

    9Cisco Networking Academy [datum pristupa: 01.08.12],

  • 8/13/2019 Transportni sloj TCP/IP modela

    9/34

    Slika. Pouzana i best effort isporuka

    Odreivanje potrebe za pouzdanou

    Apikacije, kao to su baze poataka, web stranice, e-mail, zahtjevaju a svi poaci koji se alju pristignu

    na oreite u normalnom stanju kako bi pristigli poaci imali vrijenost za oreite. Bilo koji poatak

    koji se izgubi moe uzrokovati greke u komunikaciji i poruka moe biti nepotpuna ili je mogude a se ne

    moe proitati. Zato su ove aplikacije izajnirane a koriste protokol transportnog sloja koji

    implementira pouzanost. Doatno opteredenje mree se smatra neophonim kako bi se osiguralo

    uspjeno funkcionisanje ovih aplikacija.

    Druge aplikacije su vie tolerantne prema manjim gubicima poataka. Naprimjer, ako jean ili dva

    segmenta vieo prenosa ne stignu na oreite, to de prouzrokovati samo trenutni, kratkotrajni zastoj

    slike. Ovo moe rezultovati egraacijom slike, ali moe i a bue potpuno neprimjedeno ili zanemareno

    od strane korisnika koji gleda neki video prenos.

    Uvoenje opteredenja mree koje izaziva osiguranje pouzanosti za ove vrste aplikacija moglo bi a

    smanji korisnost aplikacije. Slika u vieo prenosu bi bila znaajno egrairana kaa bi oreini ureaj

    morao etektovati izgubljene poatke i ogaati prikazivanje slike ekajudi a izgubljeni io bue

    ponovo poslan. Bolje je prikazati sliku najboljm mogudim kvalitetom koji je mogud u oreenom

    trenutku sa segmentima koji su ved pristigli nautrob pouzanosti. Ako se pouzanost ipak razmatra iznekih razloga, aplikacija ipak moe provjeravati greke i slati zahtjeve za retransmisijom.

  • 8/13/2019 Transportni sloj TCP/IP modela

    10/34

    1

    Slika. Osobine protokola transportnog sloja

    Na slici prikazane su karakteristike razliitih protokola transportnog sloja. U sluaju IP telefonije i vieo

    komunikacije potrebne su sljeede osobine protokola:

    Brzina, Malo zaglavlje, Ne zahtijeva potvre o prispjedu, Ne vri transmisiju izgubljenih podataka i Dijelove poataka ostavlja aplikaciji onako kako stiu. U sluaju e-maila i web pretraivanja potrebne su sljeede osobine protokola: Pouzdanost, Potvra o prispjedu poataka, Ponovno slanje izgubljenih podataka i Dijelove podataka dostavlja aplikaciji onako kako su poslani.10

    Osnovni protokoli transportnog sloja u IP mreama

    Dva najede koritena protokola transportnog sloja u TCP/IP slojevitom moelima su TransmissionControl Protocol (TCP) i User Datagram Protocol (UDP). Oba ova protokola upravljaju komunikacijom

    vie aplikacija.Razlikuju se u specifinim funkcijama koje implementiraju.

    10Cisco Networking Academy [datum pristupa: 01.08.12],

  • 8/13/2019 Transportni sloj TCP/IP modela

    11/34

    1

    Slika. TCP i UDP zaglavlja

    UDP je jednostavan beskonekcijski protokol opisan u RFC-u 768. Prednost mu je osiguravanje malog

    opteredenja mree pri isporuci poataka. Dijelovi komunikacije u UDP -u se nazivaju datagrami. Ovaj

    protokol koristi best effort princip za slanje atagrama. Aplikacije koje koriste UDP ukljuuju:

    Domain Name System (DNS), Video Streaming, Voice over IP (VoIP).

    TCP je konekcijski orjentiran protokol opisan u RFCu 793. On moe ovesti o oatnog opteredenja pri

    izvravanju svojih funkcija. Doate funkcije specificirane u TCP u su: pravilan redoslijed isporuke,

    pouzdana isporuka i kontrola toka. Svaki TCP segment ima dodatnih 20 bajta u zaglavlju koja se dodaju u

    procesu enkapsulacije, za razliku od UDP segmenta koji ima samo 8 Bajta. Aplikacije koje koriste TCP su:

    Web Browsers, E-mail, File Transfer.

    Razmotrimo primjer kompjutera koji simultano alje i prima e -mail poruke, instan messaging poruke,

    pregleda web stranice i obavlja VoIP poziv. Da bi se razlikovali segmenti i datagrami za svaku aplikaciju, i

    TCP i UDP zaglavlja sare polja koja mogu jeinstveno ientificirati ove aplikacije. Ovaj jeinstveni

    identifikator se naziva broj porta.

  • 8/13/2019 Transportni sloj TCP/IP modela

    12/34

    1

    U zaglavlju svakog segmenta ili atagrama nalazi se broj porta izvorinog i oreinog vora. Izvorini

    broj portaje broj za ovu komunikaciju povezan sa izvorinom aplikacijom na lokalnom hostu. Oreini

    broj porta je broj za ovu komunikaciju koji prestavlja aplikaciju na oreitu, tj. na ualjenom hostu.

    Broj porta se ojeljuje na razliite naine, zavisno o toga da li je poruka zahtjev ili odgovor. Dok

    serverski procesi imaju ojeljene statine brojeve porta, klijentski port brojevi se inamiki oreuju zasvaku konverzaciju.

    Kaa klijentska aplikacija poalje zahtjev ka serverskoj aplikaciji, broj porta saran u zaglavlju se onosi

    na aplikaciju koja je pokrenuta na izvorinom ureaju. Klijent na izvoritu mora poznavati broj porta na

    serveru ili ualjenom voru, tj. oreitu. Broj porta na oreitu je konfigurisan po efaultu ili runo.

    Naprimjer, kada web browser aplikacija alje zahtjev prema web serveru, browser koristi TCP i port 80

    ukoliko nije rugaije specificirano. To je zato jer je broj porta 80 ojeljen ovakvoj vrsti web aplikacija.

    Mnoge uobiajene aplikacije imaju preefinisan broj porta.

    Broj porta izvorine aplikacije se u rugim sluajevima sluajno bira o brojeva izna 1024. Sve ok se ne

    preklapa sa rugim brojevima portova koji se koriste, klijent ima slobou oreivanja bilo kojegsluajnog broja porta za neku aplikaciju, ili se moe koristiti broj porta automatski dodjeljen od strane

    koritenog operativnog sistema.Ovaj broj porta se prati, kao i aplikacija koja je pokrenula komunikaciju

    kako bi se u sluaju ogovora on mogao poslati na aresu ogovarajude aplikacije. Broj porta se, u

    skladu sa ovim, smatra i povratnom adresom.

    Kombinacija broja porta i IP arese ientificira tanu aplikaciju koja je pokrenuta na oreinom

    ureaju. Ova kombinacija se naziva Socket. Npr., zahtjev za prikazivanjem HTTP web stranice koji se alje

    ka web serveru (port 80) koji se pokrede na host raunaru sa IPv4 aresom tredeg sloja 192.168.1.20 de

    imati socket 192.168.1.20:80.11

    11S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 501-

    503.

  • 8/13/2019 Transportni sloj TCP/IP modela

    13/34

    1

    Slika. Adresiranje aplikacija brojevima porta

    Brojeve porta oreuje Internet Assigne Numbers Authority (IANA). To je tijelokoje propisuje standare

    vezane za adresiranje portova.

    Postoje razliite vrste brojeva porta:

    Well Known (dobro poznati) port-ovi od 0 do 1023 ovi brojevi su rezervisani za servise i aplikacije.

    Najedce se koriste za aplikacije kao to su: HTTP (web server), POP3/SMTP (e-mail server) i Telnet.

    Definisanjem ovih well-known portova za serverske aplikacije, klijentske aplikacije mogu biti

    programirane da zahtijevaju konekciju ka tom specificiranom portu i povezanoj usluzi.

    Registrovani portovi (od 1024 do 49151) ovi brojevi portova se ojeljeni korisnikim procesima ili

    aplikacijama. Ovi procesi su primarno individualne aplikacije koje je korisnik izabrao da instalira radije

    nego uobiajene aplikacije koje imaju well-known portove. Kada se ne koriste za serverske resurse, ovi

    brojevi portova mogu se ,takoer, izabrati inamiki o strane klijenta kao njegov izvorini port.

  • 8/13/2019 Transportni sloj TCP/IP modela

    14/34

    1

    Slika. Registrovani i well-known TCP i UDP portovi

    Dinamiki ili privatni portovi o 49152 o 65535takoer poznati i kao ephemeral ports. Ovi brojevi

    porta se inamiki ojeljuju korisnikim procesima ili aplikacijama koje iniciraju konekciju. Nije previe

    esta situacija a se klijent konektuje na uslugu koristedi inamiki ili privatni port, iako postoje neki

    peer-to-peer programi koji to rade.12

    Vrijenost portova obino je u sklau s preporukama meunarone organizacije za stanare IANA

    (Internet Assigned Numbers Authority). Dio preporuka prikazan je u narednoj tabeli. Uz vrijednost porta

    prikazan je i protokol koji ga porava, te u nastavku pojam i opis pojma na koji se port onosi.

    Poneka je potrebno poznavati koje su aktivne TCP konekcije na oreenom hostu. Netstat je vana

    mrena mogudnost koja se koristi za verificiranje tih konekcija. Netstat izlistava protokole u upotrebi,

    lokalnu aresu i broj porta, aresu ualjenog raunara i broja porta, kao i stanje konekcije.

    12Cisco Networking Academy [datum pristupa: 01.08.12],

  • 8/13/2019 Transportni sloj TCP/IP modela

    15/34

    1

    Neobjanjene TCP konekcije mogu prestavljati vede sigurnosne prijetnje. To moe inicirati a je neko

    ili neto konektovano nelegitimno na lokalni host. Doatno, nepotrebne TCP konekcije mogu troiti

    vrijene sistemske resurse i tako usporavati performanse host ureaja. Netstat bi se trebao koristiti da

    se ispitaju otvorene konekcije na hostu kaa se ini a su performanse kompromitovane.

    Slika. Rezultat komande netstat u command prompt-u

    Neke aplikacije alju velike koliine poataka, u nekim sluajevima i vie gigabajta. Bilo bi nepraktinoslati ove poatke u jenom velikom ijelu. Ovaj veliki io bi onemogudio slanje bilo kakvog drugog

    poataka u isto vrijeme. Samo slanje bi trajalo nekoliko minuta ili ak sati. U sluaju greke cijeli poatak

    bi se izgubio, a ponovno slanje bi zahtjevalo vie vremena i stvaralo bi ponovno zaguenje. Mreni

    ureaji ne bi imali ovoljno memorije a pohrane ovolike koliine poataka ok se prenose ili primaju.

    Slika. Funkcije transportnog sloja

  • 8/13/2019 Transportni sloj TCP/IP modela

    16/34

    1

    Djeljenje poataka u ijelove omogudava a se poaci alju u sklau sa granicama meija i

    multipleksiranje poataka razliitih aplikacija. TCP i UDP protokoli segmentiraju poatke na razliite

    naine.13

    U TCP u svako zaglavalje segmenta sari broj sekvence. Ovaj broj sekvence slui za reasembliranje

    segmenata u pravilnom reoslijeu na oreitu. Ovo osigurava a oreina aplikacija primipodataktano onako kako ga je izvorina aplikacija poslala.

    Iako aplikacije koje koriste UDP takoer prate komunikaciju izmeu aplikacija, nisu osjetljive na

    reoslije informacija ili na oravanje konekcije. Ne postoji broj sekvence u UDP zaglavlju. UDP je

    jenostavniji i stvara manje zasidenja o TCP-a, to rezultira brom razmjenom poataka.

    Informacije mogu stidi u nepravilnom reoslijeu jer postoje razliiti putevi u mrei o izvorita o

    oreita, na to aplikacije koje koriste UDP nisu osjetiljive.

    TCP (Transmition Control Protocol)

    Usluga koju TCP (Transmission Control Protocol) protokol daje aplikaciji ima sedam osnovnih osobina:

    Konekcijski orjentisana usluga. TCP prua konekcijski orjentisanu usluga u kojoj aplikacija moraprvo uspostaviti konekciju sa aplikacijom na oreitu, a zatim koristiti tu konekciju za slanje

    poataka. Uspostavljanje konekcije se vri pomodu procesa koji se zove three way hanshake.

    Point to point komunikacija. Svaka TCP konecija ima tano vije krajnje take. Potpuna pouzanost. TCP garantuje a de poaci poslani preko uspostavljene konekcije biti

    ostavljeni tano onako kako su poslani, kompletni i tano onim reoslijeom kojim su poslani.

    TCP trai potvru o prijemu paketa o strane oreita. Ta potvrda se zove acknowledgement.

    Full Duplex komunikacija. TCP konekcija dozvoljava podacima da idu u oba smijera, i dozvoljavaza oba aplikacijska programa slanje u bilo kojem trenutku.

    Stream interface. TCP prua stream interface u kojem aplikacija alje kontinualnu sekvencuokteta preko konekcije. TCP ne grupira poatke u zapise ili poruke, i ne garantuje a de ostaviti

    poatke u ijelovima iste veliine kako su poslani o strane aplikacije.

    Pouzdano uspostavljanje konekcije. Raskianje konekcije se vri nakon to se utvri a su svi poaci ispravno primljeni i a obje

    strane ele raskinuti konekciju.14

    TCP je zauen i za kontrolu toka poataka. Pomodu mehanizma kliznog prozora (sliingwinow), TCP oreuje winow size koji su poiljalac i primalac programirani a koriste.

    13S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 527.14

    E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 430.

  • 8/13/2019 Transportni sloj TCP/IP modela

    17/34

    1

    Winow size je veliina prozora, onosno maksimalni broj paketa koje poiljalac moe a poalje

    bez prijema potvre o njihovom prispjedu na oreite.

    TCP porava i kontrolu zaguenja. Koristi kanjenje kao mjeru zaguenja i ogovara nazaguenje smanjujudi brzinu kojom alje poatke poeavajudi veliinu prozora.

    Zaglavlje TCP protokola

    Polja TCP zaglavlja su:

    Source port Number: Broj TCP sesije otvorene na izvorinom raunara koja oznaava kojojaplikaciji pripaaju poaci koji se prenose. Obino je sluajan broj preko 1024.

    Destination Number: Ientificira protokol vieg sloja ili aplikaciju na oreinoj strani. Sequence Number: Specificira broj posljednjeg okteta u segmentu. Acknowlegement Number: Specificira broj slijeedeg oktetakoji prijemnik oekuje a primi. Header Length: Duina zaglavlja u bajtima. Flags: Koristi se u upravljanju sesijom i tretiranju segmenata. Winow size: Koliko okteta moe bitiposlano prije nego se primi potvrda. TCP Checksum: Kontrolni zbroj; rauna se kao 16-bitni komplement jedinice komplementa zbira

    svih 16-bitnih rijei u zaglavlju i poacima; pokriva i 96 bitova pseuozaglavlja koje sari

    izvorinu i oreinu aresu, protokol i uinu TCP zaglavlja i poataka. Koristi se za provjeru

    greaka u zaglavlju i poacima.

    Urgent Pointer: Koristi se samo sa URG (urgent) zastavicom. Options: Options mogu, a ne moraju biti ukljuene; ako postoje, veliine su x8 bita, Paing je

    dopuna nulama o 32 bita. Izbori (vie njih) prenose se na kraju TCP -a zaglavlja i uvijek imaju

    uinu koja je sastavljena o broja pomnoenog sa 8bita. Svi izbori ukljueni su u kontrolni zbir.

    Svaki pojeini izbor mora zapoeti na granici izmeu okteta. Dvije su mogude forme za neki o

    izbora: Opcija veliine jenog okteta i izbor znaaja okteta, izbor uine okteta i izbor poataka

    u oktetu. U uini okteta ukljuuje se tip okteta i poaci koji mu pripaaju. Ako su izbori kradi o

    vrijednosti koja je proizvod skupine jednog redka zaglavlja, ostatak po izboru mora se ispuniti

    nulama. TCP mora saravati sve raspoloive opcije.

    Data: Aplikacijski podaci.15

    15S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 557-

    560.

  • 8/13/2019 Transportni sloj TCP/IP modela

    18/34

    1

    16 32

    Source port Destination port

    Sequence number

    Acknowledgement number

    Offset Resrvd U A P R S F Window

    Checksum Urgent pointer

    Option + Padding

    Data

    Struktura TCP zaglavlja u 32b redovima

    Slika. Zaglavlje TCP protokola

    Pouzdana komunikacija

    Osnovna razlika izmeu TCP-a i UDP-a je pouzdanost. Pouzdanost TCP-a se osigurava koristedi

    konekcijski orjetirane sesije. Prije nego host koji koristi TCP poalje poatke rugom hostu, transportni

    sloj inicira proces koji uspostavlja konekciju sa oreitem. Ova konekcija omogudava pradenje sesije, ili

    toka komunikacije izmeu hostova. Ovo znai da je svaki host svjestan komunikacije i pripremljen.

    Kompletna TCP komunikacja zahtjeva uspostavljanje sesije izmeu hostova u oba smjera.16

    Nakon to je sesija uspostavljena, oreite alje potvru poiljaocu za one segmente koji su primljeni.

    Ove potvre ine osnovu pouzanosti jene TCP sesije. Kaa izvorite primi potvru, zakljuuje kako je

    oreeni segment poataka primljen i ne mora vie a ga prati. Ako izvor ne primi potvru unutar nekog

    preefinisanog vremenskog perioa, ponovo alje taj poatakoreitu.17

    Dio oatnog opteredenja i nekorisnog ijela informacije koji TCP generie na mrei otpaa na potvre i

    ponovna slanja izgubljenih poataka. Uspostavljanje sesije ,takoer, oatno optereduje mreu u viu

    novih segmenata koji se razmjenjuju. Doatno opteredenje se manifestira i u viu potrebe a se prate

    koji segmenti ekaju na potvru i retransmisijske procese. Pouzdanost je postignuta poljima u TCP

    segmentu, od kojih svako ima posebnu funkciju.

    16S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 522.17Cisco Networking Academy [datum pristupa: 01.08.12],

  • 8/13/2019 Transportni sloj TCP/IP modela

    19/34

    1

    Serverski procesi

    Kao to je ved opisano u rau, aplikacijski procesi rae na serveru. Ovi procesi ekaju a klijent inicira

    komunikaciju zahtjevom za informacijom ili uslugom.

    Svaki aplikacijski proces koji je radi na serveru je konfigurisan port brojem, automatski ili manuelno od

    strane administratora sistema. Jean server ne moe imati vije usluge ojeljene istom port broju u

    istoj usluzi transportnog sloja. Host koji ima pokrenutu web server aplikaciju i aplikaciju razmjene

    poataka ne moe biti konfigurisan a koristi isti broj porta (npr. TCP port 8080). Kada se aktivnoj server

    aplikaciji ojeli oreeni broj porta, taj broj se smatra otvorenim na serveru. Ovo znai a transportni

    sloj prima i procesira segmente aresirane na taj port. Bilo koji olazedi klijentski zahtjev, aresiran na

    taan socket se prihvata i poaci se proslijeuju serverskoj aplikaciji. Mogude je a simultano bue

    otvoreno vie portova na serveru, po jean za svaku aktivnu serversku aplikaciju. Uobiajano je a

    server nui vie o jene usluge, kao to je web server i FTP server u isto vrijeme.

    Jean nain za poboljanje sigurnosti na severu je a se zabrani pristup, osim onim portovima koji sudodijeljeni aplikacijama koje se mogu koristiti od strane autorizovanih korisnika.

    Slika ispo prikazuje tipinu alokaciju izvorinog i oreinog porta u TCP klijent/server operacijama.

    Slika. Klijentski zahtjevi i brojevi portova

    Uspostavljanje i prekid konekcije

    Kaa va hosta komuniciraju koristedi TCP, konekcija se uspostavlja prije nego se poaci razmjene.

    Nakon to se zavri komunikacija, sesija se zatvori i konekcija prekine. Konekcijski i sesijski mehanizmi

    omogudavaju TCP-u funkciju poudanosti.

  • 8/13/2019 Transportni sloj TCP/IP modela

    20/34

    2

    Host prati svaki segment podataka u sesiji i razmjenjuje informacije o tome koji je podatak primljen na

    svakom hostu koristedi informacije sarane u TCP zaglavlju.18

    Svaka konekcija ukljuuje jenosmjernu komunikaciju, ili sesiju za uspostavljanje i raskianje TCP

    procesa izmeu kranjih ureaja. Za uspostvljanje ove konekcije, host izvrava proces three-way

    hanshake. Kontrolni biti u TCP zaglavlju indiciraju status i odvijanje konekcije. Three-way handshake:

    Ustanovljava a je oreini ureaj u mrei.

    Verificira a oreini ureaj ima aktivnu usluga i prihvata zahtjeve na oreini broj porta koji klijent

    koji inicira komunikaciju namjerava koristiti za sesiju.

    Informie oreini ureaj a izvorini klijent namjerava uspostaviti konekciju sa tim brojem porta.

    U TCP konekcijama, host koji je klijent inicira sesiju prema serveru. Za razumijevanje procesa three-way

    handshake i njegovog funkcionisanja u TCP-u, bitno je razmotriti razliite vrijenosti koje va hosta

    razmjenjuju. Tri koraka u uspostavljanju TCP konekcije su:

    1. Klijent koji inicira konekciju alje segment koji sarava inicijalnu vrijenost sekvence, to sluikao zahtjev serveru za zapoinjanje komunikacijske sesije.

    2. Server ogovara segmentom koji sari vrijenost potvre koja je jenaka zbiru primljnog brojasekvence i broja jedan, kao i svoju vlastitu vrijednost sinhronizacijske sekvence. Vrijednost je za

    jedan veda o broja sekvence jer je potvra uvijek sljeedi byte ili oktet. Vrijenost potvre

    omogudava klijentu a povee ogovor sa originalnim segmentom koji je poslan na server.

    3. Klijent koji je inicirao konekciju ogovara vrijenodu potvre jenakom vrijednosti sekvencekoju je primio plus jean. Ovo okonava proces uspostavljanja konekcije.19

    TCP three-way handshake

    Koristedi program wireshark i analiziranjem paketa moemo ispitati i objasniti proces three-way

    handshakeuspostavnja konekcije u TCP protokolu.

    18S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 560-

    562.19

    E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 442, 443.

  • 8/13/2019 Transportni sloj TCP/IP modela

    21/34

    2

    Slika. Uspostavljanje TCP konekcije

    Korak 1.

    TCP klijent zapoinje three-way handshake slanjem segmenta sa SYN (Synchronize Sequence Number)

    postavljenom zastavicom, indiciraju inicijalnu vrijednost polja broja sekvence u zaglavlju. Ova inicijalna

    vrijenost broja sekvence, poznata kao ISN (Initial Sequence Number), se bira sluajno i koristi se za

    zapoinjanje pradenja toka poataka o klijanta ka serveru za ovu sesiju. ISN u u zaglavlju svakog

    segmenta se poveda za jean za svaki byte poatak koji klijent alje na server ok se komunikacija

    odvija.

    Kao to je prikazano na slici iz programa Wireshark, output iz analize protokola pokazuje SYN kontrolnu

    zastavicu i povezani broj sekvence.

    SYN kontrolna zastavica je postavljena, a broj sekvence je 0. Iako je u analizi protokola vrijednostsekvence i potvrde prikazana kao decimalni, stvarna vrijednost je 32-bitni binarni broj.

    Korak 2.

    TCP server mora da potvrdi prijem SYN segmenta od klijenta a bi se uspostavila sesija izmeu klijenta i

    servera. Da bi to uraio, server alje segment naza o klijenta sa ACK postavljenom ACK zastavicom i

    tako ukazuje a je broj potvre znaajan. Sa ovom zastavicom postavljenom u segmentu, klijent

    prepoznaje segment kao potvrdu da je server primio njegov segment sa SYN zastavicom.

    Vrijednost polja u kome se nalazi broj potvrde je jednak inicijalnoj vrijednosti klijentskog broja sekvence

    uvedanog za jean. Sesija izmeu klijenta i servera je na ovaj nain uspostavljena. ACK zastavica de ostati

    postavljena za potrebe sesije. Razgovor izmeu klijenta i servera je vosmjerna sesija, o klijenta o

    servera i od servera do klijenta. U drugom koraku three-way handshake uspostave konekcije, server

    mora inicirati odgovor o servera prema klijentu. Za zapoinjanje ove sesije, server koristi SYN zastavicu

    na isti nain kako je to raio i klijent. Postavlja SYN kontrolnu zastavicu u zaglavlje kako bi uspostavio

  • 8/13/2019 Transportni sloj TCP/IP modela

    22/34

    2

    sesiju od servera ka klijentu. SYN zastavica indicira da je se u zaglavlju nalazi inicijalna vrijednost broja

    sekvence. Vrijenost de biti koritena za pradenje toka poataka u ovoj sesiji o servera naza ka

    klijentu.

    Kao to je pikazano na slici, analiza protokola pokazuje a su ACK i SYN kontrolne zastavice post avljene i

    prikazani su brojevi sekvence i potvrde.

    Korak 3.

    Konano, TCP klijent ogovara segmentom koji sari ACK koji je ogovor na TCP SYN poslan o strane

    servera. Nema korisnikih poataka u segmentu. Vrijenost u polju koje sari broj sekvence je za jedan

    veda o inicijalnog broja sekvence primljenog o servera. Jenom kaa su obje sesije uspostavljene

    izmeu klijeta i servera, svi oatni segmenti razmjenjeni u ovoj komunikaciji de imati postavljenu ACK

    zastavicu.

    Za zatvaranje konekcije potrebno je postaviti FIN kontrolnu zastavicu u zaglavlju segmenta. Za zatvaranje

    svake jednosmjerne TCP sesije, koristi se two-way handshake koji se sastoji od FIN segmenta i ACK

    segmenta. Stoga, za prekianje jenog razgovora poranog TCP-om, potrebno je da se izvre etiri

    razmjene segmenta.

    Slika. Rasidanje TCP konekcije

    Pri objaanjavanju koriste se pojmovi klijent i server rai pojenostavljivanja, ali prekianje sesije moe

    biti inicirano o strane bilo koja va hosta koja su zavrila sesiju:

    Kada klijent nema vie poataka za slanje on alje segment sa postavljenom FIN zastavicom. Server alje ACK kako bi potvrio prijem FIN segmenta za prekianje sesije o klijenta ka

    serveru.

    Server alje FIN klijentu kako bi prekinuo sesiju o servera ka klijentu. Klijent odgovara ACK potvrdom kako bi potvrdio serveru prijem njegovog FIN segmenta. Kao to je prikazano na slici, FIN i ACK kontrolne zastavice su postavljene u zaglavlju segmenta,

    tako zatvarajudi HTTP sesiju.

  • 8/13/2019 Transportni sloj TCP/IP modela

    23/34

    2

    Mogude je i zatvoriti sesiju pomodu procesa three-way hanshake. Kaa klijent nema viepodataka za

    poslati, on alje FIN serveru. Ako server takoer nema vie poataka za poslati, mogude je a ogovori i

    sa FIN i sa ACK postavljenim zastavicama, tako kombinirajudi va koraka u jean. Jo je samo ostalo da

    klijent odgovori sa ACK.

    TCP reasembliranje (ponovno spajanje) segmenata

    Kaa usluge alju poatke koristedi TCP, segmenti mogu stidi na oreite u nepravilnom reoslijeu.

    Kako bi primatelj mogao da razumije originalnu poruku, podaci u ovim segmentima se reasembliraju u

    originalan raspore. Brojevi sekvence su ojeljeni u zaglavlju svakog paketa kako bi vradanje u

    originalni reoslije bilo mogude.

    Tokom uspostavljanja sesije, postavlja se ISN (Initial Sequence Number). ISN prestavlja poetnu

    vrijenost za ovu sesiju za bajtekoji de biti preneeni o aplikacije koja prima poatke. Dok se poacialju tokom trajanja sesije, broj sekvence se povedava za broj bita koji su bili preneeni. Ovo pradenje

    poataka omogudava a se svaki segmet moe jeinstveno identificirati i potvrditi, samim tim se mogu

    ustanoviti i segmenti koji su izgubljeni.

    Brojevi sekvence segmenta omogudavaju pouzanost tako to pokazuju kako reasemblirati i poreati

    segmente u pravilan re, to je prikazano na slici.20

    Slika. TCP vrada segmente u originalni reoslije

    20E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 432, 433.

  • 8/13/2019 Transportni sloj TCP/IP modela

    24/34

    2

    TCP proces na prijemnoj strani stavlja poatke iz segmena u prijemni buffer. Segmenti se pomodu

    brojeva sekvecne stavljaju u pravilan reoslije i nakon reasembliranja proslijeuju aplikacijskom sloju.

    Svi segmenti koji olaze sa brojem sekvence koji nije kontinualan (ne moe se nastaviti na segmente koji

    su o taa pristigli) zarava se rai kasnijeg procesiranja. Ona, kaa segmenti sabajtima koji su

    nedostajali pristignu, ti segmenti se procesiraju na odgovarajudi nain.

    TCP potvrde (acknowledgement) i prozori

    Jedna od funkcija TCP-a je a se pobrine a svaki segment stigne o svog oreita. TCP usluge na

    oreinom hostu potvruju prijem poataka.

    Broj sekvence segmenta u zaglavlju i broj potvrde se koriste za potvru prijema bajta poatka saranih

    u segmentu. Broj sekvence je broj bita koji su preneeni u sesiji uvedan za jean (to prestavlja broj

    prvog bajt podataka u trenutnom segmentu). TCP koristi broj potvrde u segmentima poslanim natrag kaizvoritu a ukae na slijeedi bajt u ovoj sesiji koji primatelj oekuje a primi. Ovo se naziva oekivana

    potvrda.

    Izvorite se informie a je oreite primilo sve bajte u ovom toku poatka o, ali ne i ukljuujudi bajte

    na koje ukazuje broj potvrde. Svaka konekcija je, kao to je ved ranije reeno, vosmjerna sesija. Brojevi

    sekvence i potvrde se razmjenjuju u oba smjera.

    Slika. TCP prozor i moguda stanja segmenata pri slanju21

    U primjeru na slici ispo, host sa lijeve strane alje poatke hostu sa esnestrane. alje segment koji

    sari 10 bajta poataka ove sesije i broj sekvence jenak broju u zaglavlju. Host na esnoj strani prima

    segmente na sloju 4 i zakljuuje a je broj sekvence 1 i a ima 10 bajta poataka. Host zatim alje

    segment natrag do hosta na lijevoj stranida bi potvrdio prijem podataka. U ovom segmentu host

    21E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 435.

  • 8/13/2019 Transportni sloj TCP/IP modela

    25/34

    2

    postavlja broj potvre na vrijenost 11 a bi ukazao kako je sljeedi broj bajta koji oekuje a de primiti

    11. Primjedujemo a vrijenost ACK potvre na izvoritu ostaje 1 a bi ukaza la da je segment dio

    konverzacije koja se trenutno odvija i broj u polju Acknowledgment Number je validno. Kada host na

    lijevoj strani koji alje poatke primi ovu potvru, moe poslati slijeedi segment koji sari poatke ove

    sesije poevi sa brojem bajta 11.

    Gleajudi kroz ovaj primjer, kaa bi host koji alje poatke morao ekati na potvru prijema svakih 10

    bajta, mrea bi imala mnogo oatnog opteredenja. Kako bi se smanjila koliina potvra koje se alju,

    vie segmenata moe biti poslano u jenom smjeru, a samo jedan segment sa potvrdom o prijemu tih

    segmenata u rugom smjeru. Ova potvra sari broj potvre koji prestavlja konanu sumu

    bajtaprimljenih u sesiji. Npr., ako je poetni broj sekvence 2000, i ako ima 10 segmenata po 1000 bajta

    od kojih su svi ispravni primljeni, broj potvre 12000 bi bio poslan ka izvoritu.22

    Koliina poataka koju izvor moe a prenese prije nego to se primi potvra o njihovom prijemu na

    oreituse naziva veliina prozora (window size).

    Slika. Potvrde o prijemu TCP segmenata

    TCP retransmisija rjeavanje problema izgubljenih segmenata

    Bez obzira koliko je obro mrea izajnirana gubici poataka de se svejeno povremeno eavati. Zbog

    toga TCP prua metoe upravljanja ovim izgubljenim segmentima. Meu tim metoama je i mehanizam

    retransmisije segmenata za koje nije primljena potvrda.

    22Cisco Networking Academy [datum pristupa: 01.08.12],

  • 8/13/2019 Transportni sloj TCP/IP modela

    26/34

    2

    Usluga na oreinom hostu koja koristi TCP obino potvruje poatke za kontinualne sekvence bajta.

    Ukoliko jean ili vie segmenata izostane, onosno izgubi se, samo se potvruju prijemi podataka koji

    kompletiraju kontinualan tok podatka.

    Npr., ako su segmenti sa brojem sekvence 1500 do 3000 i 3400 do 3500 primljeni, broj potvrde bi bio

    3001, zato to segmenti sa brojem sekvence o 3001 o 3399 nisu primljeni.

    Kaa TCP na izvorinom hostu ne primi potvrdu nakon nekog predefinisanog vremenskog perioda, vratiti

    de se na broj posljenje primljene potvre i poslati ponovo poatke o te take pa naalje.

    Ponovno slanje podataka (retransmisija) je proces koji nije secificiran u RFC-u, nego je ostavljno da se

    prilagoava razliitim implementacijama TCP-a.

    Za tipinu TCP implementaciju, host moe prenositi segment, staviti kopiju segmenta u retransmisijski

    re i startovati vremenski tajmer. Kaa se primi potvra segment se brie iz rea. Ako pot vrda nije

    primljena prije nego istekne efinisano vrijeme, segment se ponovo alje.23

    Dananji host ureaji mogu, takoer, imati i opciju zvanu selektivne potvre (Selective

    Acknowledgements).24

    Ako oba hosta poravaju selektivne potvre, mogude je a oreite potvri

    prijem nekontinuiranih segmenata i host koji alje bi u ovom sluaju mogao a poalje samo one

    segmente koji nedostaju.

    TCP kontrola zaguenja minimiziranje gubitka segmenata

    TCP prua, takoer, i mehanizme kontrole toka. Kontrola toka asistira pouzdanosti TCP prenosapoeavajudi efektivnu brzinu protoka poataka izmeu vije usluge u sesiji. Kaa je izvor obavijeten

    a je oreena koliina segmenata primljena, moe nastaviti slati vie poataka za ovu sesiju.

    Polje winow size (veliina prozora) u TCP zaglavlju oznaava koliinu poataka koja moe biti preneena

    prije nego se primi potvra. Inicijalna veliina prozora se oreuje tokom zapoinjanja sesije kroz proces

    three-way handshake.25

    TCP feeback mehanizam poeava efektivnu brzinu prenosa poataka o maksimalnog toka koji mrea

    i oreini ureaj mogu porati bez gubitaka. TCP pokuava upravljati brzinom prenosa tako a svi

    podaci budu primljeni i retransmisije budu minimizirane.26

    Na slici je prikazana pojednostavljena reprezentacija veliine prozora i potvra. U ovom primjeru,

    inicijalna veliina prozora za TCP sesiju koja je prestavljena na slici je postavljena na 3000 bajta. Kaa je

    23Cisco Networking Academy [datum pristupa: 01.08.12],

    24S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 580.

    25E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 434.

    26E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 438, 439.

  • 8/13/2019 Transportni sloj TCP/IP modela

    27/34

    2

    poiljalac poslao 3000 bajta on eka na potvru prijema ovih bajta prije nego poalje jos poatak a u toj

    sesiji. Kaa poiljac obije potvru o primaoca on moe slati slijeedih 3000 bajta.27

    Tokom kanjenja u ekanju potvre, poiljac nede slati oatne segmente za ovu sesiju. U perioima

    mrenog zaguenja ili kaa su iscrpljeni resursi primatelja, kanjenje se moe povedati. Kako ovo

    kanjenje raste, efektivna brzina prenosa poataka se smanjuje. Usporavanje brzine poataka pomae usmanjivanju nadmetanja za resursima.

    28

    Slika. TCP potve o prijemu i veliina prozora

    UDP (User Datagram Protocol)

    UDP Odmjeravanje izmeu optereenja i pouzdanosti

    UDP je jenostavan protokol koji prua osnovne funkcije protokola transportnog sloja. Ima mnogo

    manje poataka koji nisu korisni io informacije, a prenose se u segmentu, nego to je to sluaj ko TCP

    protokola. UDP nije konekcijski orjetiran i ne prua sofisticiranu retransmisiju, sekvenciranje i

    mehanizme kontrole toka.29

    27Cisco Networking Academy [datum pristupa: 01.08.12],

    28S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 523-

    527.29

    S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 541,

    542.

  • 8/13/2019 Transportni sloj TCP/IP modela

    28/34

    2

    Ovo ne znai a su aplikacije koje koriste UDP protokol nepouzane, ved samo a ove funkcije nisu

    pruene o strane protokola transportnog sloja i da se moraju implementirati negdje drugo ako je to

    potrebno.

    Iako je koliina saobradaja koji se prenosi mreom, a koji koristi UDP protokol relativno mala, kljuni

    protokoli aplikacijskog sloja koji koriste usluge UDP protokola su:

    Domain Name System (DNS); Simple Network Management Protocol (SNMP); Dynamic Host Configuration Protocol (DHCP); Routing Information Protocol (RIP); Trivial File Transfer Protocol (TFTP); Online igre.

    Slika. UDP beskonekcijski protokol

    Neke aplkacije, kao to su online igre ili VoIP, mogu tolerisati manje gubitke nekih podataka. Ako bi ove

    aplikacije koristile TCP, moglo bi odi o vedih kanjenja jer TCP mora vriti etekciju izgubljenih

    poataka i vriti retransmisiju. Ova kanjenja bi bila mnogo vie neprihvatljiva za aplikaciju nego to su

    to mali gubici informacija. Neke aplikacije, kao to je DNS, de jenostavno ponovo poslati zahtjev za koji

    nisu dobile odgovor, i zato ne moraju imati TCP garanciju o pristizanju poruke.

    Malo oatno opteredenje koje UDPpravi ini ga veoma poeljnim nekim vrstama aplikacija.

    Zaglavlje UDP datagrama

    Znaenja polja zaglavlja UDP atagrama su:

  • 8/13/2019 Transportni sloj TCP/IP modela

    29/34

    2

    Source port - Izvorini broj porta usluge je opcionalno polje. Kaa se koristi, oznaava broj portaprocesa koji alje poatke. Na nju de odi ogovor kaa ne postoji ruga informacija. Ako se

    polje ne koristi popuni se nulama.

    Destination portOreini broj porta usluge. Length - Duina UDP atagrama u oktetima ukljuujudi zaglavlje i poatke. Minimalna uina

    UDP datagrama je 8 okteta.

    Checksum - Kontrolni zbroj zaglavlja, rauna se na osnovu pseuo zaglavlja iz IP i UDP zaglavlja ipoataka. Ako je polje ispunjeno nulama znai a preajnik nije raunao zbir, a ako je zbir

    jednak nuli, prenosi se kao niz jedinica

    DataPodaci.30

    16 32

    Source port Destination port

    Length Checksum

    Data

    Struktura UDP zaglavlja u 32b redovima

    Slika 21. UDP zaglavlje31

    Multipleksiranje podataka razliitih aplikacija

    UDP omogudava aplikacijama irektno koritenje usluga mrenog sloja, multipleksira promet razliitihaplikacija. Demultipleksiranje na granici transportne i aplikacijske razine prikazano je na slici.

    30S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 542,

    543.31E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 424.

  • 8/13/2019 Transportni sloj TCP/IP modela

    30/34

    3

    Slika. Demultipleksiranje UDP prometa pojedinih aplikacija

    Demultipleksiranje se obavlja pomodu sljeede etvorke:

    (, ,,)

    gdje je:

    ,

    ,

    ,

    .

    Pomodu IP arese izvorita i broja porta izvorita ientificirana je jena aplikacija (npr. APP2), ok jepomodu IP arese oreita i broja porta oreita omogudeno paralelno ostvarivanje vie UDP veza na

    istu aplikaciju. Drugim rijeima, neka aplikacija, preko jenog broja porta moe istovremeno

    komunicirati s vie aplikacija na ualjenim raunarima.

    Reasembliranje UDP datagrama

    Zato to je beskonekcijski protokol, UDP sesije se ne uspostavljaju prije poetka komunikacije kao to je

    to sluaj sa TCP-om. UDP se jo naziva i prenosno orjetiranim protokolom. Drugim rijeima, kaa

    aplikacija ima poatke za slanje, ona jenostavno omah poalje te poatke.

    Mnoge aplikacije koje koriste UDP alju male koliine poataka koje mogu da stanu u jedan segment.

    Meutim, neke aplikacije de poslati vede koliine poataka koji moraju biti pojeljeni u vie segmenata.

    Osnovna jedinici transpotnog sloja kada je u upotrebi UDP protkol naziva se datagram, iako se ponekad

    oba termina i datagram i segment koriste za opis bilo koje osnovne jedinice transportnog sloja.

  • 8/13/2019 Transportni sloj TCP/IP modela

    31/34

    3

    Kaa se poalje vie atagrama na oreite, mogude je a o njega ou razliitim putevima kroz

    mreu i tako stignu u pogrenom reoslijeu. UDP nema nain za ponovno vradanje prvob itnog

    redoslijeda datagrama.

    Slika. UDP kao nepouzdan i beskonekcijski protokol

    Zbog te injenice, UDP jenostavno reasemblira poatke reoslijeom kojim su stigli i takve proslijeuje

    aplikaciji. Ako je reoslije poataka bitan aplikaciji, ona de morati da odredi pravilan redoslijed

    podataka i da odredi kako podaci trebaju biti procesirani.32

    UDP serverski procesi i zahtjevi

    Kao i TCP bazirane aplikacije, i UDP bazirane aplikacije imaju dodjeljene well-known ili registrovane

    brojeve porta. Kada ove aplikacije ili procesi rae, oni de prihvatati poatke koji su aresirani na broj

    porta koji im je priruen. Kaa UDP primi atagram za neki o ovih portova, proslijeuje aplikacijske

    poatke ogovarajudoj aplikaciji bazirano na broju porta.

    32E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 422, 423.

  • 8/13/2019 Transportni sloj TCP/IP modela

    32/34

  • 8/13/2019 Transportni sloj TCP/IP modela

    33/34

    3

    Slika. Slanje zahtjeva na ogovarajudi port i ogovor servera

    Sluajni brojevi porta, takoer, su obri i za sigurnost na mrei. Ako postoji previiva shemanaina na

    koji se izabiraju brojevi portova, napaa moe lako simulirati pristup klijentu pokuavajudi povezivanje

    na broj porta za koji postoji obra vjerovatnoda a je ispravan.

    Kako nema uspostavljana sesije ukoliko se koristi UDP, im poaci buu spremni za slanje i brojevi

    portova buu efinisani, UDP moe formirati atagram i proslijeiti ga mrenom sloju na aresiranje i

    slanje na mreu.33

    Treba ima na umu da jednom kaa su brojevi izvorinog i oreinog porta izabrani, isti par portova dese koristi u zaglavljima svih atagrama koritenih u transakciji. Za poatke koji se vradaju o servera ka

    klijentu, brojevi porta izvorita i oreita su obrnuti.

    Pogodnosti UDP-a

    Nekaa je bolje za prenos poruka koristiti UDP protokol umjesto TCP protokola. Neki o tih sluajeva su:

    Prenos poataka aplikacija koje same osiguravaju pouzani prenos, ili kaa aplikacija oputamanje gubitke.

    Slanje upita jenog raunara rugom raunaru, uz mogudnost ponavljanja upita ako ogovor nestigne nakon isteka oreenog vremenskog intervala.

    33E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 421.

  • 8/13/2019 Transportni sloj TCP/IP modela

    34/34

    Kaa je potrebno poslati manji blok poataka, veliine jenog paketa pa je jenostavnije i breprenositi samo podatke, bez dodatnih kontrola, a u sluaju pogrenog prijema poatke poslati

    ponovno.

    Neke aplikacije koriste i TCP i UDP. Npr., malo oatnih poataka omogudava DNS-u a poslui mnoge

    klijentske zahtjeve vrlo brzo. Poneka ipak slanje traene informacije moe zahtjevati pouzanost TCP-a.U ovom sluaju, well-known broj porta 53 se koristi od strane oba protokola sa ovom uslugom.