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

Transportni sloj ( Transport layer )

Embed Size (px)

DESCRIPTION

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: - PowerPoint PPT Presentation

Citation preview

Page 1: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 1

Računarske mrežeRačunarske mreže

Transportni sloj(Transport layer)

Lekcija 9

Page 2: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 2

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

Transport Layer

Aplication Layer

Network Layer

Page 3: Transportni sloj ( Transport layer )

22.1.2007. 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.

Page 4: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 4

• Logička komunikacija izmeđ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

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

logical end-end transport

Uvod

Page 5: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 5

Uvod

Sloj aplikacije(ili sesije)

Mrežni slojMrežni sloj

TransportnaTransportnajedinicajedinica

Sloj aplikacije(ili sesije)

Mrežni slojMrežni sloj

TransportnaTransportnajedinicajedinica

Transportna

adresa

Mrežnaadresa

TPDUTPDU

TransportProtocol

Data Unit- SEGMENT

-

Page 6: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 6

Uvod

Koristan teret TPDU porukeKoristan teret TPDU poruke

Koristan teret paketa

Koristan teret okvira

Zaglavlje

okvira

Zaglavlje

paketa

ZaglavljeTPDU poruke

Page 7: Transportni sloj ( Transport layer )

22.1.2007. 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

Page 8: Transportni sloj ( Transport layer )

22.1.2007. 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)

routherrouther

Fizički komm.

kanal

Podmreža

Page 9: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 9

• Krajnje tačke – procesi aplikacija na Internetu imaju portove (ports)• Za neke druge mreže uobičajen naziv je Transport Service Access

Point - TSAP

AdresiranAdresiranjeje

Fizički slojFizički sloj

Sloj veze podatakaSloj veze podataka

Mrežni slojMrežni sloj

Transportni slojTransportni sloj

Sloj aplikacijeSloj aplikacijeTSAP1TSAP1 TSAP2TSAP2 TSAP3TSAP3

NSAP1NSAP1 NSAP2NSAP2

Računar 1Računar 1 Računar 2Računar 2ProcesProcesaplikacijeaplikacije

Page 10: Transportni sloj ( Transport layer )

22.1.2007. 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

Page 11: Transportni sloj ( Transport layer )

22.1.2007. 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

Page 12: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 12

PortoviPort Servis

20 FTP prenos podataka

21 FTP kontrolne poruke

22 SSH - Secure Shell

23 Telnet

25 SMTP - Simple Mail Transfer Protocol

53 DNS - Domain Name System

80 HTTP - Hyper Text Transfer Protocol

110 POP3 - Post Office Protocol verzije 3

123 NTP - Network Time Protocol

143 IMAP4 - Internet Message Access Protocol 4

161 SNMP - Simple Network Management Protocol

389 LDAP - Lightweight Directory Access Protocol

443 HTTPS - HTTP obezbeđen putem TLS/SSL

860 iSCSI - Internet SCSI

631 IPP - Internet Printing Protocol

989 FTP prenos podataka obezbeđen putem TLS/SSL

990 FTP kontrolne poruke obezbeđen putem TLS/SSL

Page 13: Transportni sloj ( Transport layer )

22.1.2007. 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

Page 14: Transportni sloj ( Transport layer )

22.1.2007. 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

Page 15: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 15

Multipleksiranje/demultipleksiranje

application

transport

network

link

physical

P1 application

transport

network

link

physical

application

transport

network

link

physical

P2P3 P4P1

host 1 host 2 host 3

= process= socket

Isporuka primljenih segmenataodređenom soketu

Demux na prijemnom računaru:Prihvatanje podataka sa višesoketa, dodavanje hedera (kasnije se koristi za demultipleksiranje)

Mux na predajnom računaru:

Page 16: Transportni sloj ( Transport layer )

22.1.2007. 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

source port # dest port #

32 bits

applicationdata

(message)

other header fields

TCP/UDP segment format

Multipleksiranje/demultipleksiranje

Page 17: Transportni sloj ( Transport layer )

22.1.2007. 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)

Page 18: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 18

Demux i T protokol bez uspostavljanja

veze

DatagramSocket serverSocket = new DatagramSocket(6428);

ClientIP:B

P2

client IP: A

P1P1P3

serverIP: C

SP: 6428

DP: 9157

SP: 9157

DP: 6428

SP: 6428

DP: 5775

SP: 5775

DP: 6428

SP ima smisla kao “adresa za odgovor”

Page 19: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 19

• 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 porta mogu se usmeriti na isti socket

Demux i T protokol bez uspostavljanja

veze

Page 20: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 20

ClientIP:B

P1

client IP: A

P1P2P4

serverIP: C

SP: 9157

DP: 80

SP: 9157

DP: 80

P5 P6 P3

D-IP:CS-IP: A

D-IP:C

S-IP: B

SP: 5775

DP: 80

D-IP:CS-IP: B

Demux i T protokol sa uspostavljanjem veze

Page 21: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 21

ClientIP:B

P1

client IP: A

P1P2

serverIP: C

SP: 9157

DP: 80

SP: 9157

DP: 80

P4 P3

D-IP:CS-IP: A

D-IP:C

S-IP: B

SP: 5775

DP: 80

D-IP:CS-IP: B

Demux i T protokol sa uspostavljanjem veze

Page 22: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 22

• 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

Demux i T protokol sa uspostavljanjem veze

Page 23: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 23

• 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

Osnovne operacije u uslugama prenosa

Page 24: Transportni sloj ( Transport layer )

22.1.2007. 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

Page 25: Transportni sloj ( Transport layer )

22.1.2007. 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

1. Računar 1 bira redni broj x i šalje računaru 2 TPDU zahtev CONNECTION REQUEST

2. Računar 2 TPDU potvrdom kojom prihvata x i najavljuje svoj početni redni broj y

3. Računar 1 potvrđuje da prihvata početni redni broj y računara 2, u prvom TPDU paketu sa podacima koji mu šalje

Page 26: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 26

Trostepeno usaglašavanje

• Normalan rad

Računar 1Računar 1 Računar 2Računar 2CR(r.b.=x)

CR(r.b.=x)

ACK(r.b.=y, ACK=x)

ACK(r.b.=y, ACK=x)

Podaci (r.b.=x, ACK=y)

Podaci (r.b.=x, ACK=y)

vvrreemmee

CR=CONNECTION REQ.CR=CONNECTION REQ.

ACK=ACKNOWLEDGMENTACK=ACKNOWLEDGMENT

Page 27: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 27

Trostepeno usaglašavanje

• Stari duplikat – CR se pojavljuje neočekivano

Računar 1Računar 1 Računar 2Računar 2

CR(r.b.=x)

CR(r.b.=x)

ACK(r.b.=y, ACK=x)

ACK(r.b.=y, ACK=x)

Odbacivanje (ACK=y)

Odbacivanje (ACK=y)

vvrreemmee

Page 28: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 28

Trostepeno usaglašavanje

• Stari duplikat – CR i ACK se pojavljuju neočekivano

Računar 1Računar 1 Računar 2Računar 2CR(r.b.=x)

CR(r.b.=x)

ACK(r.b.=y, ACK=x)

ACK(r.b.=y, ACK=x)

Odbacivanje (ACK=y)

Odbacivanje (ACK=y)

vvrreemmee

Podaci(r.b.=x, ACK=z)

Podaci(r.b.=x, ACK=z)

Page 29: Transportni sloj ( Transport layer )

22.1.2007. 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

Page 30: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 30

Asimetrično raskidanje

• Može da izazove gubitak podatakaRačunar 1Računar 1 Računar 2Računar 2

CRCR

ACKACK

PodaciPodaci

vvrreemmee

PodaciPodaci

DRDR Izgubljeni podaciIzgubljeni podaci

Page 31: Transportni sloj ( Transport layer )

22.1.2007. 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:

1. Prvi računar: zahtev za raskid

2. Drugi računar: zahtev za raskid

3. Prvi računar: potvrda zahteva

Page 32: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 32

Simetrično raskidanje

• Normalan slučaj trostepenog usaglašavanja

Računar 1Računar 1 Računar 2Računar 2DRDR

DRDR

ACKACK

vvrreemmee

Šalje DRi pokrećetajmer

Raskidavezu

Šalje ACK

Šalje DRi pokrećetajmer

Raskidavezu

Page 33: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 33

Simetrično raskidanje

• Gubi se poslednja ACK poruka

Računar 1Računar 1 Računar 2Računar 2DRDR

DRDR

ACKACK

vvrreemmee

Šalje DRi pokrećetajmer

Raskidavezu

Šalje ACK

Šalje DRi pokrećetajmer

Po istekuroka,

tajmerraskida

vezu

tajmertajmer

Page 34: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 34

Simetrično raskidanje

• Gubi se odgovorRačunar 1Računar 1 Računar 2Računar 2

DRDR

DRDR

vvrreemmee

Šalje DRi pokrećetajmer

Raskidavezu

Šalje ACK

Šalje DRi pokrećetajmer

Raskidavezu

DRDR

DRDR

Šalje DRi pokrećetajmer

ACKACK

Page 35: Transportni sloj ( Transport layer )

22.1.2007. Predavanja 35

Simetrično raskidanje

• Gubi se i odgovor i naknadne DR porukeRačunar 1Računar 1 Računar 2Računar 2

DRDR

DRDR

vvrreemmee

Šalje DRi pokrećetajmer

Posle Nneuspelihpokušajatajmerraskida

vezu

Šalje DRi pokrećetajmer

DRDR

Po istekuroka,

tajmerraskida

vezu

tajmertajmertajmertajmer

Page 36: Transportni sloj ( Transport layer )

22.1.2007. 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

Page 37: Transportni sloj ( Transport layer )

22.1.2007. 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)

Page 38: Transportni sloj ( Transport layer )

22.1.2007. 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

Page 39: Transportni sloj ( Transport layer )

22.1.2007. 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