Protokoli transportnog sloja

  • Published on
    03-Jan-2016

  • View
    23

  • Download
    3

Embed Size (px)

DESCRIPTION

Lekcija 9. Raunarske mree. Protokoli transportnog sloja. Uvod. Internet ima dva glavna protokola u transportnom sloju UDP: protokol za rad bez uspostavljanja direktne veze TCP: protokol sa uspostavljanjem direktne veze. UDP. UDP User Datagram Protocol - PowerPoint PPT Presentation

Transcript

  • 22.1.2007.Predavanja*Raunarske mreeProtokolitransportnog slojaLekcija 9

    Predavanja

  • 22.1.2007.Predavanja*UvodInternet ima dva glavna protokola u transportnom slojuUDP: protokol za rad bez uspostavljanja direktne vezeTCP: protokol sa uspostavljanjem direktne veze

    Predavanja

  • 22.1.2007.Predavanja*UDPUDP User Datagram ProtocolProtokol bez uspostavljanja direktne veze (tzv. Protokol za korisnike datagrame)Omoguava aplikacijama da alju kapsulirane IP datagrame za koje ne moraju prethodno da uspostavljaju vezuOpisan je u dokumentu RFC 768

    Predavanja

  • 22.1.2007.Predavanja*UDPUDP prenosi segmente koji se sastoje od 8-bajtnog zaglavlja i korisnikih podatakasource port #dest port #32 bitsApplicationdata (message)lengthchecksumDuina UDP segmentakoja ukljuuje i zaglavlje

    Predavanja

  • 22.1.2007.Predavanja*UDPPortovi identifikuju dva kraja vezeKoristan sadraj UDP segmenta se predaje procesu koji je pridruen odredinom portuIzvorini port se koristi za slanje odgovora (oznaka procesa na izvoritu kome se odgovara)Kontrolni zbir UDP paketaNije obavezan prikazuje se nulom kada nije izraunatIskljuuje se npr. kod digitalizovanog govora poveava se kvalitet kodovanih podatakaAko je chacksum izraunat kao 0 prikazuje se svim 1

    Predavanja

  • 22.1.2007.Predavanja*UDPta UDP ne radi:ne upravlja tokomne kontrolie grekene vri retransmisiju izgubljenih segmenataSve preputa korisnikim aplikacijamaUDP je koristan za klijent-server arhitekturuKlijent alje kratak zahtev i oekuje kratak odgovorAko se UDP segment izgubi, aktivirae se tajmer koji obavetava aplikaciju da ga poalje ponovoPojednostavljuje programski kod (potrebno je manje poruka nego kod prethodnog uspostavljanja veze)

    Predavanja

  • 22.1.2007.Predavanja*UDPUDP je interfejs ka IP protokoluPrimena npr. kod DNS-aSistem imena domena (Domain Name System)Npr. program koji treba da pronae IP adresu za www.singidunum.ac.rsalje se UDP paket sa imenom DNS serveruServer odgovara UDP paketom sa IP adresom(Preko mree su razmenjene dve jednostavne poruke)(Nema potrebe za prethodnim uspostavljanjem veze)

    Predavanja

  • 22.1.2007.Predavanja*UDP i on-line multimedijske aplikacijeRTP protokol (Real Time Protocol)Multimedijske aplikacije: Internet radio, IP telefonija, Video konferencije, muzika i video na zahtev itd.Sastoje se iz vie tokovaRTP u realnom vremenu multipleksira razliite tokove i kodira ih u jedinstven tok UDP paketaRTP transportni protokol je ugraen u sloj aplikacije

    Predavanja

  • 22.1.2007.Predavanja*UDP i on-line multimedijske aplikacijeKoristan teret RTP paketaKoristan teret paketaKoristan teret okviraRTP zaglavlje

    Predavanja

  • 22.1.2007.Predavanja*RTP i UDPSvaki RTP paket u UDP toku ima redni brojAko neki paket nedostaje na odreditu on se interpoliraKod RTP nema:upravljanja tokom, potvrivanja paketa, retransmisije paketaRTP paket sadri nain kodiranjaNain kodiranja se moe menjati vremenomRTP sadri vremensko oznaavanje:Ublaavanje efekta neravnomernosti stizanja paketa (diter)Sinhronizacija istovremenih tokova (slika i zvuk)

    Predavanja

  • 22.1.2007.Predavanja*RTP i UDPGubitak datagrama, diter, prenos bez redosleda Rekonstrukcija izgubljenih datagrama Ureenje datagrama, eliminacija ditera

    Predavanja

  • 22.1.2007.Predavanja*TCPTCP Transmission Control protocolProtokol sa uspostavljanjem direktne veze (tzv. Protokol za upravljanje prenosom)Obezbeuje pouzdan tok bajtova s kraja na kraj veze kroz nepouzdanu raznovrsnu mreuRazliite topologije, propusni opsezi, kanjenja, veliine paketa i sl.projektovan je tako da se moe dinamiki prilagoditi promenljivim karakteristikama Internetaodri pouzdanu vezu ak i u sluajevima pojave raznih vrsta otkaza u mrenoj infrastrukturiDefinisan je u dokumentu RFC 793, ispravke greaka u RFC 1122, dopune u RFC 1323

    Predavanja

  • 22.1.2007.Predavanja*TCPTCP prihvata tokove korisnikih podataka i deli ih u segmenteMax. veliina segmenta je 64 KB, a najee je to 1460 bajtova zbog Ethernet okviraSegmenti se alju kao zasebni IP datagramiTCP mora da brine o tome da datagram bude ispravno isporuen (IP sloj ne brine o tome)Datagrami mogu stii preko reda TCP treba da ih ispravno sloiTCP obezbeuje pouzdanost

    Predavanja

  • 22.1.2007.Predavanja*TCP

    Predavanja

  • 22.1.2007.Predavanja*Model TCP UslugeUsluge koje TCP prua aplikacijamaProces-proces komunikacijaOrijentacija na tok (prenos toka podataka, a ne pojedinanih poruka)Prenos podataka u punom dupleksuKonekcioni servis (uspostavljanje veze, prenos podataka, raskidanje veze)Pouzdani servis (pouzdanost prenos podataka je odgovornost TCP-ja, a ne aplikacije)

    Predavanja

  • 22.1.2007.Predavanja*Karakteristike TCP UslugeTCP veze su u punom dupleksu, tipa od take do takeTCP ne podrava viesmerno niti neusmereno (difuzno) emitovanjeKada TCP primi podatke od aplikacije, on moe da eka da se sakupi dovoljno podataka (efikasnost prenosa)Nekada aplikacije zahtevaju da se uneseni podaci moraju odmah slatiNpr. prijavljivanje na raunar

    Predavanja

  • 22.1.2007.Predavanja*Karakteristike TCP UslugeHitno slanje podatakaU sluajevima kada korisnik interaktivno radi sa udaljenom aplikacijomNpr. - za prekid zapoete aplikacijeNa predaji se ovakav zahtev odmah prosleuje (nema daljeg skladitenja)

    Predavanja

  • 22.1.2007.Predavanja*TCP protokolPretpostavka za TCPSvaki bajt na TCP vezi ima svoj 32-bitni redni brojDve transportne jedinice razmenju podatke u obliku segmenataSegment sadri20-bajtno zaglavljePodatke (kojih i ne mora biti)Svaki segment mora da odgovara polju za koristan teret IP paketa (max. 65515 bajtova)Za svaku mreu postoji najvea jedinica prenosa MTU (Maximum Transmission Unit)Najee je 1500 bajtova karakteristika za Ethernet

    Predavanja

  • 22.1.2007.Predavanja*TCP protokolURG: urgent data (generally not used)ACK: ACK #validPSH: push data now(generally not used)RST, SYN, FIN:connection estab(setup, teardowncommands)# bytes rcvr willingto acceptcountingby bytes of data(not segments!)Internetchecksum(as in UDP)

    Predavanja

  • 22.1.2007.Predavanja*TCP protokolTCP vidi nestruktuirane podatke, kao niz bajtovaRedni broj je u bajtovima, ne u segmentimaInicijalni redni broj se bira sluajnoTCP je u punom dupleksu redni brojevi podataka su nezavisni za svaki smerBroj potvrde je broj sledeeg bajta koji se oekuje od poiljaoca

    Predavanja

  • TCP/IPOrijentacija na tokTCP protokol

    TCP/IP

  • TCPPrijemni i predajni baferiTCP protokol

    TCP

  • TCPTCP protokol

    TCP

  • 22.1.2007.Predavanja*TCP protokolPrimenjuje se protokol klizeih prozoraKada se segment poalje, aktivira se timer (eka se ACK sa rednim brojem sledeeg segmenta koji oekuje druga strana)

    Predavanja

  • 22.1.2007.Predavanja*Uspostavljanje TCP vezePrimenjuje se mehanizam trostepenog usaglaavanjaPrimerServer eka zahteve za uspostavom veze (LISTEN)Klijenet izvrava CONNECT navodei: IP adresu, port, max. veliinu TCP segmenta koji moe da prihvati. U TCP segmentu je SYN postavljen na 1, a ACK na 0 i eka se odgovorKada segment stigne na odredite TCP jedinica proverava da li na datom portu postoji proces koji je izvrio LISTEN.

    Predavanja

  • 22.1.2007.Predavanja*Raskidanje TCP vezeTCP veze su dupleksnePosmatraju se kao dve nezavisne vezeRaskid veze se obavlja slanjem zahteva FIN i njegovim potvrivanjem ACKMogue je uspeno primeniti trostepeni mehanizam

    Predavanja

  • TCP/IPUspostavljanje konekcijeTrostepeno usaglaavanje

    TCP/IP

  • TCP/IPPrenos podataka

    TCP/IP

  • TCP/IPRaskidanje veze

    TCP/IP

  • TCP/IPZatvaranje konekcije - polu-zatvaranje

    TCP/IP

  • 22.1.2007.Predavanja*Dijagram stanjaDa bi se olakalo praenje razliitih dogaaja i brojnih izuzetnih sitacija koje se mogu desiti u toku uspostavljanja konekcije, prenosa podataka i zatvaranja konekcije, TCP softver je realizovan u vidu konanog automata (FSM Finite State Machine).

    Ovaj konani automat ima 11 stanja i moe se predstaviti u vidu dijagrama stanja

    Predavanja

  • 22.1.2007.Predavanja*Dijagram stanja

    StanjeOpisCLOSEDzatvorena konekcijaKonekcija ne postojiLISTENserver eka na poziv (apl. izvrila LISTEN)SYN RCVDprimljen zahtev za otvaranje konekcijeOtvaranjeSYN SENTaplikacija izvrila CONNECTESTABLISHEDstanje za normalni prenos podatakaKonekcija je otvoreneFIN WAIT 1aplikacija izvrila CLOSEZatvarane konekcijeFIN WAIT 2druga strana potvrdila FINTIMED WAITekanje da paketi nestanu iz mreeCLOSINGIstovremeni pokuaj zatvaranjaCLOSE WAITdruga strana je inicirala zatvaranje konekcijeLAST ACKekanje da paketi nestanu iz mree

    Predavanja

  • 22.1.2007.Predavanja*Dijagram stanja

    Predavanja

  • 22.1.2007.Predavanja*Scenario rada

    Predavanja

  • 22.1.2007.Predavanja*Odbijanje konekcije

    Predavanja

  • 22.1.2007.Predavanja*Prekidanje konekcije

    Predavanja

  • 22.1.2007.Predavanja*TCP kontrola zaguenjaZaguenjem upravlja mreni sloj, ali to nije dovoljnoZaguenje se moe reiti samo smanjenjem brzine prenosa podatakaKada se uspostavlja vezaBira se podesna veliina prozoraPrimalac predlae veliinu prozora na osnovu svoga baferaPoiljalac moe taj predlog da prihvati

    Predavanja

  • 22.1.2007.Predavanja*TCP kontrola zaguenjaPosledica zaguenja tajmeri padaju na nulu paketi se odbacujuZaguenje moe da nastane iz dva razlogakapacitet mreekapacitet primaocaSvaki poiljalac odrava dva prozora koji prate prethodna dva problemaprozor koji je odobrio primalacprozor zaguenjaProzor zaguenja se u koracima poveava klizei prozor

    Predavanja

  • 22.1.2007.Predavanja*Klizei prozor

    Predavanja

  • 22.