1 / 39

Transportni sloj ( Transport layer )

Lekcija 9. Računarske mreže. Transportni sloj ( Transport layer ). Aplication Layer. Transport Layer. Network Layer. Uvod. Predstavlja suštinu hijerarhije protokola Zadatak transportnog sloja:

Download Presentation

Transportni sloj ( Transport layer )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lekcija 9 Računarske mreže Transportni sloj (Transport layer) Predavanja

  2. Aplication Layer Transport Layer Network Layer Uvod • Predstavlja suštinu hijerarhije protokola • Zadatak transportnog sloja: • Prihvata podatke aplikacije izvorišta i dostavlja ih aplikaciji odredišta starajući se o prenosu, kontroli i ispravljanju grešaka pri prenosu • Nezavisno od fizičke mreže ili mreže koja se trenutno nalazi između izvorišta i odredišta • Transportni sloj obezbeđuje usluge aplikativnom sloju, a koristi usluge mrežnog sloja • Izvori i odredišta su najčešće procesi u sloju aplikacije Predavanja

  3. Uvod • Funkcionalnosti koje su bitne za ovaj sloj: • Ostvarivanje virtuelne veze za prenos podataka. • Prevođenje podataka u (uglavnom binarni) format pogodan za prenos. • Segmentacija podataka radi efikasnijeg iskorišćenja komunikacionog kanala. • Isporuka podataka u obliku u kom su poslati. • Omoućavanje optimalne brzine prenosa podataka u skladu sa propusnom moći i učestalošću grešaka na komunikacionom kanalu i prihvatnoj moći primaoca. Predavanja

  4. Logička komunikacijaizmeđu aplikacija koje rade na različitim računarima (hostovima) Transportni protokoli rade na krajnjim sistemima Predajna strana: deli aplikacionu poruku u segmente, prosleđuje ih mrežnom sloju Prijemna strana: slaže segmente u poruku, prosleđuje je aplikaciji Postoji više transportnih protokola za aplikacije Internet: TCP i UDP application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport Uvod Predavanja

  5. Uvod Transportna adresa Sloj aplikacije (ili sesije) Sloj aplikacije (ili sesije) TPDU Transportna jedinica Transportna jedinica Mrežni sloj Mrežni sloj Transport Protocol Data Unit - SEGMENT - Mrežna adresa Predavanja

  6. Zaglavlje okvira Zaglavlje paketa Uvod Zaglavlje TPDU poruke Koristan teret TPDU poruke Koristan teret paketa Koristan teret okvira Predavanja

  7. Uvod • Osnovna uloga transportnog sloja: • Izolacija viših slojeva od tehnologije, strukture i nedostataka podmreže • Transportni sloj poboljšava kvalitet usluge i ostvaruje pouzdaniju uslugu u odnosu na mrežni sloj • Usluga mrežnog sloja: isporuka od računara do računara • Usluga transportnog sloja: isporuka od procesa do procesa za aplikacije koje se izvršavaju na računarima Predavanja

  8. Elementi transportnih protokola • Transportni protokol povezuje dve transportne jedinice • Razlikuje se od protokola mrežnog sloja: • Fizički kanal za komunikaciju je čitava podmreža • Mora se zadati adresa odredišta (kod mrežnog sloja jedan izlaz iz rutera vodi tačno do drugog) routher Podmreža Fizički komm. kanal Predavanja

  9. Adresiranje • Krajnje tačke – procesi aplikacija na Internetu imaju portove (ports) • Za neke druge mreže uobičajen naziv je Transport Service Access Point - TSAP Računar 1 Računar 2 Proces aplikacije Sloj aplikacije TSAP3 TSAP2 TSAP1 Transportni sloj NSAP1 NSAP2 Mrežni sloj Sloj veze podataka Fizički sloj Predavanja

  10. Portovi • Transportni sloj poseduje interni sistem adresiranja čija je adresna jedinica port • Port je određen 16-bitnim numeričkim parametrom • Portovi se mogu podeliti na: • privilegovane, • registrovane i • dinamičke (ili kratkotrajne) portove Predavanja

  11. Portovi • Privilegovani portovi: • Portovi u opsegu 0-1023 i pravo na njihovo otvaranje uglavnom ima samo operativni sistem • Na ovim portovima se nalaze najčešće korišćeni servisi (FTP, SSH, Telnet, DNS i sl.) • Registrovani portovi se kreću u opsegu od 1024 do 49151 i na njima se zvanično koriste servisi novijeg datuma • Dinamički ili kratkotrajni portovi se kreću u opsegu od 49152 do 65535 i njih nije moguće registrovati a uglavnom služe za klijentske komponente klijent/server softvera Predavanja

  12. Portovi Predavanja

  13. Socket • Kompozitna adresna jedinica transportnog i mrežnog sloja jeste socket. • Socket (nekada se naziva i mrežni socket) je sačinjen od sledećih komponenti: • IP adresa izvorišta • Port izvorišta • Protokol transportnog sloja • Port odredišta • IP adresa odredišta Predavanja

  14. Socket • Podrška za socket-e se u operativnim sistemima najčešće realizuje pomoću gotovih sistemskih biblioteka. • Neki od najpopularnijih socket biblioteka su: • Berkeley socket za Unix operativne sisteme i • Winsock za MS Windows operativne sisteme Predavanja

  15. application application application transport transport transport P4 P2 P3 P1 P1 network network network link link link physical physical physical Mux na predajnom računaru: Demux na prijemnom računaru: host 3 host 2 host 1 Multipleksiranje/demultipleksiranje Isporuka primljenih segmenata određenom soketu Prihvatanje podataka sa više soketa, dodavanje hedera (kasnije se koristi za demultipleksiranje) = socket = process Predavanja

  16. Prijemni računar dobija IP datagram Svaki datagram sadrži source IP adresu, destination IP adresu Svaki datagram sadrži 1 transport-layer segment Svaki segment sadrži source/destination broj porta(za određenu aplikaciju) Krajnji računar koristi IP adrese i broj porta za dostavljanje segmenta odgovarajućoj aplikaciji Multipleksiranje/demultipleksiranje 32 bits source port # dest port # other header fields application data (message) TCP/UDP segment format Predavanja

  17. Usluge prenosa • Usluge prenosa tr. sloja mogu biti: • Sa uspostavljajem direktne veze: uspostavljanje veze, prenos podataka i raskidanje veze • Bez uspostavljanja direktne veze: datagramska podrška (bitna za aplikacije u realnom vremenu) Predavanja

  18. P3 P2 P1 P1 SP: 9157 client IP: A DP: 6428 Client IP:B server IP: C SP: 5775 SP: 6428 SP: 6428 DP: 6428 DP: 9157 DP: 5775 Demux i T protokol bez uspostavljanja veze DatagramSocket serverSocket = new DatagramSocket(6428); SP ima smisla kao “adresa za odgovor” Predavanja

  19. Demux i T protokol bez uspostavljanja veze • UDP socket se identifikuje sa parom: • dest IP address • dest port number • IP datagrami sa različitim source IP adresama i/ili različitim brojevima source portamogu se usmeriti na isti socket Predavanja

  20. SP: 5775 SP: 9157 P1 P1 P2 P4 P3 P6 P5 client IP: A DP: 80 DP: 80 Demux i T protokol sa uspostavljanjem veze S-IP: B D-IP:C SP: 9157 DP: 80 Client IP:B server IP: C S-IP: A S-IP: B D-IP:C D-IP:C Predavanja

  21. SP: 5775 SP: 9157 P1 P1 P2 P3 client IP: A DP: 80 DP: 80 Demux i T protokol sa uspostavljanjem veze P4 S-IP: B D-IP:C SP: 9157 DP: 80 Client IP:B server IP: C S-IP: A S-IP: B D-IP:C D-IP:C Predavanja

  22. Demux i T protokol sa uspostavljanjem veze • TCP socket se identifikuje sa sledećim: • source IP address • source port number • dest IP address • dest port number) • Serveri mogu da podrže više različitih TCP soketa • Web serveri mogu da imaju različite sokete za istog klijenta Predavanja

  23. Osnovne operacije u uslugama prenosa • Osnovne operacije: • LISTEN • CONNECT • SEND • RECEIVE • DISCONNECT • Mnogi programi (i programeri) rade sa uslugama prenosa. • Usluge treba da su pogodne i lake za korišćenje • Kod usluga mrežnog sloja mala je fleksibilnost Predavanja

  24. Uspostavljanje veze • Suština veze: • TPDU pruka CONNECTION REQUEST • Odgovor odredišta CONNECTION ACCEPTED • Problemi: • Gubljenje, čuvanje, kašnjenje i dupliranje paketa • Npr: Transakcija prebacivanje para sa računa na račun • Poništavanje duplikata u mreži: • Odgovarajućim projektovanjem mreže • Uključenje brojača skokova u svaki paket • Vremensko označavanje svakog paketa • U praksi, poništavaju se i paketi i njihove potvrde Predavanja

  25. Trostepeno usaglašavanje • Strane u komunikaciji imaju odgovarajuće brojače • redni brojevi paketa • U toku uspostave veze dve strane kreću od različitih rednih brojeva • Računar 1 bira redni broj x i šalje računaru 2 TPDU zahtev CONNECTION REQUEST • Računar 2 TPDU potvrdom kojom prihvata x i najavljuje svoj početni redni broj y • Računar 1 potvrđuje da prihvata početni redni broj y računara 2, u prvom TPDU paketu sa podacima koji mu šalje Predavanja

  26. Trostepeno usaglašavanje • Normalan rad Računar 1 Računar 2 CR(r.b.=x) v r e m e ACK(r.b.=y, ACK=x) Podaci (r.b.=x, ACK=y) CR=CONNECTION REQ. ACK=ACKNOWLEDGMENT Predavanja

  27. Trostepeno usaglašavanje • Stari duplikat – CR se pojavljuje neočekivano Računar 1 Računar 2 v r e m e CR(r.b.=x) ACK(r.b.=y, ACK=x) Odbacivanje (ACK=y) Predavanja

  28. Trostepeno usaglašavanje • Stari duplikat – CR i ACK se pojavljuju neočekivano Računar 1 Računar 2 CR(r.b.=x) v r e m e ACK(r.b.=y, ACK=x) Podaci(r.b.=x, ACK=z) Odbacivanje (ACK=y) Predavanja

  29. Raskidanje veze • Raskidanje je lakše od uspostavljanja veze • Raskidanje veze • Asimetrično • Jedan od učesnika naglo raskida vezu • Npr. telefonski sistem • Simetrično • Svaka veza je sistem od dve paralelne jednosmerne veze • Svaka jednosmerna veza se raskida zasebno Predavanja

  30. Asimetrično raskidanje • Može da izazove gubitak podataka Računar 1 Računar 2 CR v r e m e ACK Podaci Podaci DR Izgubljeni podaci Predavanja

  31. Simetrično raskidanje • Izbegava se gubljenje paketa • Nezavisno se raskida svaka od dve jednosmerne veze • Moguće je da računar prima podatke iako je sam raskinuo vezu (tj. svoj smer) • Radi dobro kada svaki od dva procesa treba da pošalje fiksnu količinu podataka (precizno zna kada ih je sve poslao) • Trostepeno usaglašavanje: • Prvi računar: zahtev za raskid • Drugi računar: zahtev za raskid • Prvi računar: potvrda zahteva Predavanja

  32. Simetrično raskidanje • Normalan slučaj trostepenog usaglašavanja Računar 2 Računar 1 DR Šalje DR i pokreće tajmer v r e m e Šalje DR i pokreće tajmer DR Raskida vezu Šalje ACK ACK Raskida vezu Predavanja

  33. Simetrično raskidanje • Gubi se poslednja ACK poruka Računar 2 Računar 1 DR Šalje DR i pokreće tajmer v r e m e Šalje DR i pokreće tajmer DR Raskida vezu tajmer Šalje ACK ACK Po isteku roka, tajmer raskida vezu Predavanja

  34. Simetrično raskidanje • Gubi se odgovor Računar 1 Računar 2 Šalje DR i pokreće tajmer DR Šalje DR i pokreće tajmer v r e m e DR DR Šalje DR i pokreće tajmer DR Raskida vezu ACK Šalje ACK Raskida vezu Predavanja

  35. Simetrično raskidanje • Gubi se i odgovor i naknadne DR poruke Računar 1 Računar 2 Šalje DR i pokreće tajmer DR Šalje DR i pokreće tajmer v r e m e DR tajmer tajmer DR Posle N neuspelih pokušaja tajmer raskida vezu Po isteku roka, tajmer raskida vezu Predavanja

  36. Upravljanje uspostavljenom vezom • Osnovni zadatak – kontrola toka • Sličnost sa kontrolom toka u sloju veze • Primena kliznog prozora, da brz pošiljaoc ne bi porukama zatrpao sporijeg primaoca • Osnovna razlika • Ruter ima relativno mali broj izlaznih linija • U transportnom sloju se mogu ostvariti brojne veze Predavanja

  37. Upravljanje uspostavljenom vezom • Pošiljaoc mora da baferuje sve TPDU poruke, dok se ne potvrde (za slučaj da ih ponovo šalje) • Na prijemu se takođe obezbeđuju baferi • Fiksni (slaba iskorišćenost) • Cirkularni • Veze se uspostavljaju i raskidaju • Unapred se ne zna broj veza u jednom trenutku • Dinamička dodela bafera (rad sa klizećim prozorima promenljive dužine) Predavanja

  38. Upravljanje uspostavljenom vezom • Brzina slanja podataka zavisi od broja slobodnih bafera primaoca • Može se popraviti dodavanjem više RAMa • Sledeće ograničenje: prenosni kapacitet podmreže • Kontroliše se pošiljaoc, da na mreži ne bi bilo previše nepotvrđenih TPDU (klizeći prozori promenljive dužine) • Određivanje prenosnog kapaciteta mreže • Brojanjem potvrđenih TPDU u jedinici vremena • Radi se povremeno, jer se menjaju uslovi prenosa Predavanja

  39. Oporavak posle pada sistema • Pad podmreže sa ruterima u toku veze • Transportni sloj se oslanja na usluge mrežnog sloja • Paketska komutacija: očekuje se odgovor o izgubljenom TPDU • Čvrsta direktna veza: uspostavlja se novo virtuelno kolo • Pad računara (npr. servera) u toku veze • Server mora difuzno da obavesti sve računare da se upravo oporavio • Računari obaveštavaju server o stanju veze • Važne razlike: da li je server prvo upisuje TPDU, a zatim šalje ACK potvrdu • Moguća pojava duplikata, gubljenje TPDU ili nastavak Predavanja

More Related