FAKULTET PROMETNIH ZNANOSTI

Size: px
Start display at page:

Download "FAKULTET PROMETNIH ZNANOSTI"

Transcription

1 SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI predmet: Nastavnik: Prof. dr. sc. Zvonko Kavran zvonko.kavran@fpz.hr Doc. dr. sc. Ivan Grgurević ivan.grgurevic@fpz.hr Transportni sloj 2 1

2 Uvod nalazi se između aplikacijskog sloja i mrežnog sloja omogućava usluge procesima na sloju aplikacije osigurava logičku komunikaciju između aplikacijskih procesa - iz perspektive aplikacije izgleda kao da su računala na kojima se procesi izvršavaju direktno povezani) ostvaruje potporu komunikaciji između procesa, odnosno između krajnjih računala application transport network data link physical application transport network data link physical 3 Network layer: logička komunikacija između računala Transport layer: logička komunikacija između procesa (aplikacija) Predajna strana: - razdvajanje poruka u segmente, prosljeđivanje mrežnom sloju Prijemna strana: - slaganje segmenata u poruke, prosljeđivanje aplikacijskom sloju Analogija sa poštanskim prometom: 12 osoba šalje poštanske pošiljke prema 12 osoba proces app messages hosts transport protocol network-layer protocol = osobe = pisma u kovertama = kuće = Ivica i Marica = poštanska usluga 4 2

3 Transportni sloj omogućava pružanje dva tipa transportne usluge: Spojna transportna usluga Nespojna transportna usluga Segment naziv za protokolnu podatkovna jedinica transportnog sloja (TPDU, Transport Protocol Data Unit) Segment payload Zaglavlje okvira Zaglavlje paketa Zaglavlje segmenta 5 Protokoli transportnog sloja imaju različita svojstva: - Pouzdanost - Upravljanje tokom podataka - Očuvanje redosljeda paketa Izbor protokola ovisi o aplikaciji (vrsti). TCP protokol (eng. Transmission Control Protocol) uspostava konekcije pouzdani prijenos UDP protokol (eng. User Datagram Protocol) beskonekcijska usluga ne osigurava se pouzdanost prijenosa 6 3

4 Uspostava veze s kraja na kraj mreže je moguća na principu unaprijed poznatih priključnih točaka. Poslužitelj : WEB IBM Compatible IBM Compatible TELNET IP FTP Svaka priključnica (socket) definirana je s tri parametra: -protokol (UDP, TCP), -IP adresa (npr ) -oznaka porta (broj vrata) (npr. 21 za FTP) = socket = proces application transport network P3 P1 P1 application transport network P2 P4 application transport network link link link physical physical physical host 1 host 2 host 3 Zaglavlje protokola transportne razine - nosi brojeve priključnih točaka (port) izvorišta i odredišta - IP adresa i broj priključne točke čine priključnicu (socket) izvorišta ili odredišta - dvije priključnice identificiraju tok podataka, odnosno vezu (connection) 4

5 Multipleksiranje i demultipleksiranje Demultipleksiranje (rcv host) zadatak isporučivanja podataka u odgovarajući socket Multipleksiranje (send host) zadatak prikupljanja podataka sa različitih socketa, enkapsuliranje svakog dijela zaglavljem, i predavanje segmenta mrežnom sloju (kasnije iskorišteno za demultipleksiranje) Demultipleksiranje Računalo prima IP datagrame Svaki datagram ima izvorišnu i odredišnu IP adresu svaki datagram nosi 1 segment transportne razine Svaki segment ima izvorišni i odredišni broj porta Računalo koristi IP adrese & brojeve portova kako bi usmjerilo segmente na odgovarajući socket TCP/UDP segment format 32 bits source port # dest port # other header fields application data (message) Demultipleksiranje bez uspostave konekcije (eng. Connectionless) Kreiranje socketa sa brojevima portova: DatagramSocket mysocket1 = new DatagramSocket(12534) DatagramSocket mysocket2 = new DatagramSocket(12535) UDP socket identificira: - odredišna IP adresa - odredišni broj porta Kada odredišno računalo primi UDP segment: provjerava odredišni broj porta u segmentu usmjerava UDP segment prema socketu sa tim brojem porta IP datagrami sa različitim izvorišnim IP adresama i/ili izvorišnim brojevima portova usmjeravaju se prema istom socketu 5

6 DatagramSocket serversocket = new DatagramSocket(6428); P2 SP: 6428 DP: 9157 P3 SP: 6428 DP: 5775 P1P1 klijent IP: A SP: 9157 DP: 6428 server IP: C SP: 5775 DP: 6428 klijent IP:B SP osigurava adresu povratka Demultipleksiranje uspostave konekcije (eng. connection-oriented) TCP socket identificiran sa 4 podatka: izvorišna IP adresa izvorišni broj porta odredišna IP adresa odredišni broj porta Odredišno računalo koristi sve vrijednosti za usmjeravanje segmenta u odgovarajući socket Server računalo može podržavati više simultanih TCP socketa: svaki socket je identificiran sa svoja 4 podataka Web serveri imaju različite sockete za svakog klijenta koji se spaja non-persistent HTTP će imati različiti socket za svaki zahtjev 6

7 P1 P4 P5 P6 P2 P1P3 SP: 5775 DP: 80 S-IP: B D-IP:C SP: 9157 SP: 9157 klijent IP: A DP: 80 S-IP: A D-IP:C server IP: C DP: 80 S-IP: B D-IP:C klijent IP:B UDP Prijenos bez uspostavljanja konekcije -Definiran u specifikaciji RFC-u nema uspostave konekcije (što može uzrokovati kašnjenje) - jednostavnost: nema stanja konekcije kod pošiljatelja - nema kontrole zagušenja - ne omogućava pouzdan prijenos paketa o pouzdanosti prijenosa (ukoliko je navedeno potrebno) brine se aplikacija. - izvršava minimum koji se očekuje od transportnog protokola ( best effort usluga, UDP segmenti mogu biti izgubljeni ili dostavljeni izvan redosljeda) - osim funkcije multipleksiranja i demultipleksiranja i vrlo ograničene provjere grešaka, ništa ne dodaje IP-u - ako se izabere UDP umjesto TCP-a, aplikacija se skoro direktno obraća IP-u 14 7

8 UDP se često koristi za multimedijske aplikacije, kao što su telefoniranje preko Interneta, video konferencije u realnom vremenu i protok audio i video datoteka 15 UDP dodaje polja sa brojevima izvornog i odredišnog porta za multipleksiranje i demultipleksiranje, dodaje još dva mala polja i predaje dobiveni segment mrežnom sloju. Mrežni sloj enkapsulira segment u IP datagram i zatim na najbolji mogući način nastoji isporučiti segment prijamnom računalu. Ako segment stigne do prijamnog računala, UDP koristi broj odredišnog porta kako bi isporučio podatke iz segmenta ispravnom aplikacijskom procesu. Nema međusobne sinkronizacije između entiteta otpremnog i prijamnog transportnog sloja prije slanja segmenta Struktura UDP segmenta 16 8

9 Kontrolna suma se može, ali i ne mora izračunavati (za razliku od TCP-a, kod kojeg je obavezna) Za slučaj da se ne izračunava, polje UDP checksum je ispunjeno nulama 17 UDP checksum (nije obvezno) Cilj: detekcija pogrešaka Pošiljatelj: Sadržaj segmenta tretira kao 16-bitne cijele brojeve checksum: zbrajanje sadržaja segmenta Pošiljatelj stavlja vrijednost checksuma u UDP checksum polje Primatelj: računa checksum of primljenog segmenta Provjera da li je izračunati checksum jednak onom u polju NE detekcija pogreške DA nema pogrešaka suma checksum

10 RTP protokol (eng. Real-time Transport Protocol) Definiran u specifikaciji RFC Osnovna namjena za paketski način prijenosa podataka u realnom (stvarnom) vremenu Izvršava se iznad UDP protokola (unutar operacijskog sustava) Podaci (multimedijski) se pohranjuju u RTP biblioteku (na strani korisničke aplikacije) zatim se putem odgovarajuće priključnice (socket) povezuju sa UDP protokolom na razini operacijskog sustava Dešava se multipleksiranje podataka u stvarnom vremenu i formiranje RTP paketa, koji se putem priključne točke šalju operacijskom sustavu Slijedi stvaranje UDP paketa koji omataju RTP pakete, i prosljeđuju prema mrežnom sloju Na strani prijemnika odvija se suprotni proces 19 Ethernet zaglavlje IP zaglavlje UDP zaglavlje RTP zaglavlje RTP payload Korisnička razina Aplikacija RTP Slojevita arhitektura UDP Razina operacijskog sustava IP Ethernet 20 10

11 RTP protokol multipleksira više podatkovnih tokova u jedinstveni tok UDP paketa Mogućnost slanja na jedno odredište (unicasting) ili više odredišta (multicasting) Paketi (RTP) se numeriraju -prijemnik je u mogućnosti otkriti ukoliko neki od paketa nedostaje Omogućeno je i umetanje vremenske oznake, kako bi se omogućila ispravna sinkronizacija na prijemnoj strani RTCP protokol (eng. Real-time Transport Control Protocol) - kontrolni protokol Definiran u specifikaciji RFC Omogućava povratne informacije izvoru informacije o različitim parametrima poput kašnjenja, varijacije kašnjenja (jitter), propusnosti, zagušenja 21 Princip pouzdanog prijenosa podataka Karakteristike nepouzdanog kanala određuju kompleksnost pouzdanog protokola za prijenos podataka (reliable data transfer protocol -rdt) 22 11

12 rdt_send(): pozvan odozgo, (e.g., by app.). Dostava podataka za gornji sloj na prijemnoj strani Predajna strana deliver_data():pozvan od rdt za dostavu podataka gore Prijemna strana udt_send(): pozvan od rdt, za prijenos paketa preko nepouzdanog kanala prijemniku rdt_rcv(): pozvan kada stignu paketi na rcv-side kanala Pošiljatelj Primatelj Wait for call from above rdt_send(data) packet = make_pkt(data) udt_send(packet) Wait for call from below rdt_rcv(packet) extract (packet,data) deliver_data(data) stanje: kada je u ovom stanju state stanje sljedeće stanje 1 određeno je sljedećom event aktivnošću Aktivnost koja uzrokuje promjenu stanja event akcije stanje

13 rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt,1) stop_timer timeout rdt_rcv(rcvpkt) Λ udt_send(sndpkt) start_timer rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isack(rcvpkt,0) ) Λ rdt_send(data) sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt) start_timer Wait for call 0from above Wait for ACK1 rdt_send(data) Wait for ACK0 Wait for call 1 from above sndpkt = make_pkt(1, data, checksum) udt_send(sndpkt) start_timer rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isack(rcvpkt,1) ) timeout udt_send(sndpkt) start_timer rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt,0) stop_timer Λ rdt_rcv(rcvpkt) Λ Riješeni problemi detekcije pogreške, prijema paketa, gubitka paketa, dupliciranja paketa Princip pouzdanog prijenosa podataka poduzete akcije Bez gubitaka Izgubljen paket 26 13

14 Princip pouzdanog prijenosa podataka poduzete akcije Izgubljena potvrda ACK Istek vremena čekanja 27 TCP Prijenos sa uspostavljanjem konekcije Definiran u dokumentima RFC 793, RFC 1122, RFC 1323, RFC 2018 i RFC 2581 Osigurava pouzdan transport s kraja na kraj - mehanizmi potvrde i retransmisije (handshaking razmjena kontrolnih poruka) Point-to-point: jedan pošiljatelj, jedan primatelj Full duplex podaci: bi-direkcijski tok podataka za istu konekciju 28 14

15 Osnovne zadaće TCP protokola: - Prijenos podataka slaganjem byte-ova podataka u segmente - Adresiranje i multipleksiranje više procesa na istom računalu može simultano koristiti TCP - Pouzdanost sposobnost oporavka od gubitka, poduplavanja, pogrešaka ili pogrešnog redosljeda u toku byte-ova Mehanizam rednih brojeva: svakom byte-u se dodjeljuje redni broj, sequence number, i traži se da prijemna strana potvrdi ispravan prijem - Upravljanje tokom onemogućava se bržem pošiljatelju preplavljivanje sporijeg primatelja byte-ovima koje isti ne stiže obraditi (svaka potvrda popraćena je informacijom o veličini prozora, window, koja određuje koliko byte-ova predajnik smije odaslati prije prijema potvrde) - Upravljanje vezom logička veza između procesa uspostavlja se prije i raskida nakon obavljene komunikacije (uporabom posebnih statusnih podataka) - Prioritet posebni zahtjevi koje specificiraju procesi 29 MSS: maximum segment size zavisi o fizičkoj izvedbi mreže, i odgovara veličini MTU umanjenoj za duljinu TCP i IP zaglavlja TCP programska podrška određuje potrebnu veličinu segmenta na načina de može: - akumulirati podatke iz više unosa ili - podatke iz jednog unosa razdijeliti u više segmenata Svaki segment (uključujući i TCP zaglavlje) mora stati unutar podatkovnog dijela IP datagrama Zaglavlje TCP protokola - pseudo zaglavlje izvorišna IP adresa odredišna IP adresa nule protokol TCP duljina 30 15

16 Struktura TCP segmenta Logička veza između procesa definirana je pomoću para 16-bitnih transportnih adresa port (vrata) URG: urgent data (generally not used) ACK: ACK # valid PSH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (as in UDP) 32 bits source port # dest port # head len sequence number acknowledgement number not used UAP R SF checksum Receive window Urg data pnter Options (variable length) application data (variable length) counting by bytes of data (not segments!) # bytes rcvr willing to accept TCP seq. # s and ACKs Seq. # s: byte stream number prvog byte-a u podatkovnom segmentu ACKs: seq # sljedećeg byte-a očekivanog od druge strane User types C Host A Host B host ACKs receipt of C, echoes back C host ACKs receipt of echoed C jednostavni telnet scenario time 32 16

17 Zaglavlje TCP protokola Izvorišna priključna točka Odredišna priključna točka Redni broj Potvrdni broj Pomak podataka Reserved U R Prozor prijemnika A C K P S H R S T G Kontrolna suma Opcije S Y N F I N Podaci Pokazivač hitnih podataka Nadopuna Izvorišna priključna točka (Source Port) - identificira proces koji šalje podatke Odredišna priključna točka (Destination Port) - identificira proces koji prima podatke Redni broj (Sequence Number) - je redni broj početnog byta (okteta) segmenta Potvrdni broj (Acknowledgment Number) - broj slijedećeg okteta korisnikove poruke, ujedno i kumulativna potvrda 33 Zaglavlje TCP protokola Izvorišna priključna točka Odredišna priključna točka Redni broj Potvrdni broj Pomak podataka Reserved U R Prozor prijemnika A C K P S H R S T G Kontrolna suma Opcije S Y N F I N Podaci Pokazivač hitnih podataka Nadopuna Pomak podataka (Data Offset) - predstavlja duljinu TCP zaglavlja u 32 bitnim riječima ACK potvrdni broj je ispravan (mora biti postavljen uvijek, osim kod uspostave veze) PSH podatke odmah isporučiti korisniku URG segment sadrži hitne podatke RST reinicijalizacija veze, najčešće rezultira raskidom veze FIN zahtjev za raskidom veze SYN zahtjev za uspostavom veze 34 17

18 Zaglavlje TCP protokola Izvorišna priključna točka Odredišna priključna točka Redni broj Potvrdni broj Pomak podataka Reserved U R Prozor prijemnika A C K P S H R S T G Kontrolna suma Opcije S Y N F I N Podaci Pokazivač hitnih podataka Nadopuna Prozor prijemnika (Window) - u oktetima, Kontrolna suma (Checksum) - komplement sume komplementa 16-bitnih riječi, obuhvaća podatke i zaglavlje dio zaglavlja IP protokola (pseudo zaglavlje) 35 Zaglavlje TCP protokola Izvorišna priključna točka Odredišna priključna točka Redni broj Potvrdni broj Pomak podataka Reserved U R Prozor prijemnika A C K P R S S H T G Kontrolna suma Opcije S Y N F I N Podaci Pokazivač hitnih podataka Nadopuna Pokazivač hitnih podataka (Urgent Pointer) pokazuje gdje se nalaze hitni podaci unutar segmenta Opcije (Options) za realizaciju nekih posebnih mogućnosti Nadopuna (Padding) - popunjava nulama zaglavlje do širine 32-bitne riječi Podaci (Data) - korisnički podaci (poruke) 36 18

19 37 TCP Round Trip Time and Timeout DILEMA - Kako postaviti vrijeme čekanja na potvrdu? Dulje u odnosu na RTT (koji je ujedno i promjenjiv) Prekratko: (premature timeout) Neželjene retransmisije Predugo: spora reakcija na gubitak segmenta Kako procijeniti vrijeme obilaska RTT? SampleRTT: mjerenjem vremena do primitka potvrde SampleRTT je promjenjiv, želimo tzv. glađi RTT smoother Srednja vrijednost nekoliko prošlih mjerenja, ne samo trenutnog EstimatedRTT = (1- α)*estimatedrtt + α*samplertt Na osnovi stare vrijednosti i nove vrijednosti M Metoda: Exponential weighted moving average Utjecaj prošlih uzoraka smanjuje se eksponencijalno Tipična vrijednost: α =

20 Određivanje vremena čekanja na potvrdu EstimtedRTT plus zaštitna margina velike varijacije u EstimatedRTT -> veća zaštitna margina Prvo procjena koliko se SampleRTT razlikuje od EstimatedRTT (devijacija): DevRTT = (1-β)*DevRTT + β* SampleRTT-EstimatedRTT (tipično, β = 0.25) Slijedi timeout interval: TimeoutInterval = EstimatedRTT + 4*DevRTT RTT (milliseconds) time (seconnds) Slijed događaja kod TCP pošiljatelja: Podatak primljen od strane aplikacije: Kreiranje segmenta seq # seq # je byte-stream broj prvog podatkovnog byta u segmentu pokreni timer ukoliko već nije pokrenut (timer kao za najstariji nepotvrđeni segment) Interval timera: TimeOutInterval Timeout (vrijeme čekanja na potvrdu): Retransmisija segmenta koji je uzrokovao timeout restart timera Ack primljen: Ukoliko se potvrđuje prethodno nepotvrđeni segment update što se treba potvrditi start timer ukoliko su segmenti outstanding 20

21 NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) { switch(event) event: data received from application above create TCP segment with sequence number NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqNum + length(data) event: timer timeout retransmit not-yet-acknowledged segment with smallest sequence number start timer event: ACK received, with ACK field value of y if (y > SendBase) { SendBase = y if (there are currently not-yet-acknowledged segments) start timer } } /* end of loop forever */ SendBase-1: zadnji kumulativno potvrđeni byte Primjer: SendBase-1 = 71; y= 73, prijemnik želi 73+ ; y > SendBase, novi podatak je potvrđen Host A Host B Host A Host B timeout X loss Seq=92 timeout SendBase = 100 vrijeme Izgubljeni ACK scenario Sendbase = 100 SendBase = 120 Seq=92 timeout SendBase = 120 vrijeme premature timeout 42 21

22 Host A Host B timeout X loss SendBase = 120 vrijeme Kumulativni ACK scenario Kontrola toka TCP koristi gubitak segmenta kao indikaciju zagušenja održava mrežu u radnoj točki s prosječno punim redovima čekanja TCP raspolaže s nekoliko algoritama za postupke (često mijenjani i nadopunjavani) - upravljanja prometom - sprječavanje zagušenja Prijemna strana TCP konekcije buffer Prijemnik oglašava slobodno mjesto Ograničenje unacked podataka u RcvWindow garancija da nema overflowa 22

23 Detekcija pojave zagušenja u mreži moguće je detektirati na mrežnom sloju - Redovi čekanja na usmjeriteljima Temeljem povratne informacije transportni sloj utječe (regulira, smanjuje) brzinu slanja podataka prema mrežnom sloju Primjena algoritma za kontrolu zagušenja Cilj: onemogućiti predajniku da pri odašiljanju podataka prekorači kapacitet mreže, odnosno intenzitet slanja prilagođava se prema kapacitetu mreže 45 Upravljanje vezom - TCP pošiljatelj i prijemnik uspostavljaju konekciju prije slanja podataka Inicijalizacija TCP varijabli: seq. #s buffers, flow control info (e.g. RcvWindow) Klijent: connection initiator Socket clientsocket = new Socket("hostname","port number"); Server: contacted by client Socket connectionsocket = welcomesocket.accept(); Kod uspostave veze dva TCP procesa moraju sinkronizirati početne redne brojeve (razmjenom segmenata za uspostavu veze, segmenti nose slučajno odabran kontrolni bit SYN ISN (Initial Sequence Number) Prilikom sinkronizacije obje strane moraju poslati svoj ISN, te primiti potvrdu za to od druge strane 23

24 Upravljanje vezom Three way handshake: stanje CLOSED SYN-SENT TCP A (SEQ=X)(CTL=SYN) TCP B stanje LISTEN Korak 1: klijent šalje TCP SYN segment serveru specifies initial seq #, no data ESTABLISHED (SEQ=Y)(ACK=X+1)(CTL=SYN,ACK) (SEQ=X+1)(ACK=y+1)(CTL=ACK) (SEQ=X+1)(ACK=Y+1)(CTL=ACK)(DATA) SYN- RECEIVED ESTABLISHED Korak 2: server prima SYN, odgovara sa SYNACK segmentom server allocates buffers, specifies server initial seq. # ESTABLISHED Korak 3: klijent prima SYNACK, odgovara sa ACK segmentom koji može sadržavati podatke close client server Zatvaranje konekcije client closes socket: clientsocket.close(); Korak 1: klijent šalje TCP FIN kontrolni segment serveru timed wait close Korak 2: server prima FIN, odgovara sa ACK. Zatvara konekciju, šalje FIN. closed closing Korak 3: klijent prima FIN, odgovara sa ACK. closing unosi timed wait odgovoriti će sa ACK na primljene FINs Step 4: server, prima ACK. Konekcija zatvorena. timed wait closed closed 24

25 CLOSED LISTEN korisnik SYN_SENT SYN k poslužitelj ESTABLISHED SYN,ACK p,k+1 ACK k+1,p+1 SYN_RCVD ESTABLISHED IZMJENA PODATAKA FIN_WAIT1 FIN,ACK k+n,p+m CLOSE_WAIT ACK p+m, k+n+1 FIN_WAIT2 FIN,ACK p+m, k+n+1 LAST_ACK TIME_WAIT FIN,ACK k+n+1, p+m+1 CLOSED 49 Životni ciklus TCP klijenta Životni ciklus TCP servera 25

26 Stanja TCP veze proces TCP protokola održava niz varijabli prolazi kroz niz stanja: STANJE: CLOSED LISTEN SYN-SENT SYN-RECEIVED ESTABLISHED FIN-WAIT-1 FIN-WAIT-2 CLOSE-WAIT CLOSING LAST-ACK TIME-WAIT ZNAČENJE: Veza je neaktivna (raskinuta) Stanje čekanja zahtjeva za vezu Poslan je zahtjev za vezu; čeka se da druga strana odgovori zahtjevom za vezu Primljen je zahtjev za vezu; čeka se potvrda zahtjeva za vezu Stanje normalnog prijenosa podataka Odaslan je zahtjev za raskidanje veze Čeka se zahtjev za raskidanje veze od udaljenog TCPa Čekanje na zahtjev za raskidanje veze od lokalnog korisnika Čeka se potvrda na poslani zahtjev za prekid veze Čeka se potvrda na zahtjev za raskid veze od udaljenog TCPa Čeka se dva maksimalna vremena života segmenta (MSL), kako bismo se uvjerili da su svi zaostali segmenti stigli do udaljenog TCPa. Za to vrijeme se ne može ponovo uspostaviti veza između ove dvije priključnice. 51 aktivni OPEN napravi TCB & šalji SYN CLOSED CLOSE izbriši TCB pasivni OPEN CLOSE napravi TCB izbriši TCB primljen RST LISTEN CLOSE šalji FIN SYN-RCVD primljen SYN SEND šalji SYN,ACK šalji SYN SYN-SENT primljen SYN šalji SYN, ACK primljen SYN+ACK primljena potvrda šalji ACK SYNa ESTABLISHED CLOSE šalji FIN primljen FIN šalji ACK Active Close Passive Close FIN-WAIT-1 primljen FIN šalji ACK CLOSING CLOSE-WAIT primljena potvrda FINa primljen FIN+ACK šalji ACK primljena potvrda FINa CLOSE šalji FIN FIN-WAIT-2 TIME-WAIT LAST ACK primljen FIN šalji ACK Timeout = 2MSL izbriši TCB CLOSED primljena potvrda FINa 52 26

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length) Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connectionoriented transport: TCP segment

More information

CSE 4213: Computer Networks II

CSE 4213: Computer Networks II Next CSE 4213: Computer Networks II The layer Suprakash Datta datta@cs.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cs.yorku.ca/course/4213 These slides are adapted

More information

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page:

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page: CSE 3214: Computer Networks Protocols and Applications Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/3214 These slides are

More information

Transport Layer: outline

Transport Layer: outline Transport Layer: outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

More information

Distributed Systems. 5. Transport Protocols. Werner Nutt

Distributed Systems. 5. Transport Protocols. Werner Nutt Distributed Systems 5. Transport Protocols Werner Nutt 1 5. Transport Protocols 5.1 Transport-layer Services 5.1 Transport-layer Services 5.2 Multiplexing and Demultiplexing 5.3 Connectionless Transport:

More information

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9 1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3

More information

Distributed Systems. 5. Transport Protocols

Distributed Systems. 5. Transport Protocols Distributed Systems 5. Transport Protocols Werner Nutt 1 5. Transport Protocols 5.1 Transport-layer Services 5.1 Transport-layer Services 5.2 Multiplexing and Demultiplexing 5.3 Connectionless Transport:

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Part b Connection-Oriented Transport Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4

More information

Chapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management

Chapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment

More information

TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture

TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture Muddiest Points Reading pseudocode Reading finite state diagrams What parts of rdt are in TCP? Goals for Today Finish up TCP

More information

Transport Layer: Outline

Transport Layer: Outline Transport Layer: Outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Reti degli Elaboratori Canale AL Prof.ssa Chiara Petrioli a.a. 2013/2014 We thank for the support material Prof. Kurose-Ross All material copyright 1996-2012 J.F Kurose and K.W.

More information

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa NET 331 Computer Networks Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition

More information

10 minutes survey (anonymous)

10 minutes survey (anonymous) 10 minutes survey (anonymous) v Comments/Suggestions to my lecture/lab/ homework/exam v If you like this course, which part do you like? v If you don t like it, which part do you not like? Thanks! Transport

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer These slides are adapted from the original slides provided by J.Kurose and K.W Ross. All material copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking:

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.10 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

Chapter 3 outline. TDTS06 Computer networks. Principles of Reliable data transfer. Reliable data transfer: getting started

Chapter 3 outline. TDTS06 Computer networks. Principles of Reliable data transfer. Reliable data transfer: getting started Chapter 3 outline TDTS06 Computer networks Lecture 4: Transport layer II Reliable data delivery and TCP Jose M. Peña, jospe@ida.liu.se IDA/ADIT, LiU 2009-08-28 3.1 Transport-layer services 3.2 Multiplexing

More information

CS 4390 Computer Networks. Pointers to Corresponding Section of Textbook

CS 4390 Computer Networks. Pointers to Corresponding Section of Textbook CS 4390 Computer Networks UT D application transport network data link physical Session 10 Transmission Control Protocol (TCP) An Overview Adapted from Computer Networking a Top-Down Approach 1996-2012

More information

Computer Networks & Security 2016/2017

Computer Networks & Security 2016/2017 Computer Networks & Security 2016/2017 Transport Layer (04) Dr. Tanir Ozcelebi Courtesy: Kurose & Ross Courtesy: Forouzan TU/e Computer Science Security and Embedded Networked Systems Transport Layer Our

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross Pearson/Addison Wesley

More information

Chapter III: Transport Layer

Chapter III: Transport Layer Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross TCP: Overview RFCs: 793,1122,1323,

More information

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline CPSC 852 Internetworking The Transport Layer Reliable data delivery & flow control in TCP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Transport Layer Connection Oriented Transport: TCP Sec 3.5 Prof. Lina Battestilli Fall 2017 Transport Layer Chapter 3 Outline 3.1 Transport-layer Services

More information

COMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP

COMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP COMP 431 Internet Services & Protocols Transport Layer Protocols & Services Outline The Transport Layer Reliable data delivery & flow control in TCP Jasleen Kaur Fundamental transport layer services» Multiplexing/Demultiplexing»

More information

Go-Back-N. Pipelining: increased utilization. Pipelined protocols. GBN: sender extended FSM

Go-Back-N. Pipelining: increased utilization. Pipelined protocols. GBN: sender extended FSM Pipelined protocols Pipelining: sender allows multiple, in-flight, yet-to-be-acknowledged pkts range of sequence numbers must be increased buffering at sender and/or receiver Pipelining: increased utilization

More information

Lecture 5. Transport Layer. Transport Layer 1-1

Lecture 5. Transport Layer. Transport Layer 1-1 Lecture 5 Transport Layer Transport Layer 1-1 Agenda The Transport Layer (TL) Introduction to TL Protocols and Services Connectionless and Connection-oriented Processes in TL Unreliable Data Transfer User

More information

Chapter 3 outline. Chapter 3: Transport Layer. Transport vs. network layer. Transport services and protocols. Internet transport-layer protocols

Chapter 3 outline. Chapter 3: Transport Layer. Transport vs. network layer. Transport services and protocols. Internet transport-layer protocols Chapter 3: Transport Layer our goals: understand principles behind transport layer : multiplexing, demultiplexing congestion control learn about Internet transport layer protocols: UDP: connectionless

More information

Chapter 3- parte B outline

Chapter 3- parte B outline Chapter 3- parte B outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport:

More information

TCP. TCP: Overview. TCP Segment Structure. Maximum Segment Size (MSS) Computer Networks 10/19/2009. CSC 257/457 - Fall

TCP. TCP: Overview. TCP Segment Structure. Maximum Segment Size (MSS) Computer Networks 10/19/2009. CSC 257/457 - Fall TCP Kai Shen 10/19/2009 CSC 257/457 - Fall 2009 1 TCP: Overview connection-oriented: handshaking (exchange of control msgs) to initialize sender, receiver state before data exchange pipelined: multiple

More information

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline CPSC 360 Network Programming The Transport Layer Reliable data delivery & flow control in TCP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer CSF531 Advanced Computer Networks 高等電腦網路 Chapter 3 Transport Layer 吳俊興 國立高雄大學資訊工程學系 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Transport Layer 3-1 Chapter 3: Transport Layer Our goals: understand

More information

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Chapter 3: Transport Layer Our goals: understand principles behind transport

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Lecturer

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April

More information

Foundations of Telematics

Foundations of Telematics Foundations of Telematics Chapter 3 Transport Layer Acknowledgement: These slides have been prepared by J.F. Kurose and K.W. Ross Foundations of Telematics (AMW SS 2010): 03 Transport Layer 1 Chapter 3:

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

RSC Part III: Transport Layer 3. TCP

RSC Part III: Transport Layer 3. TCP RSC Part III: Transport Layer 3. TCP Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the companion slides to the book Computer Networking: A Top Down

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

CSCI Computer Networks Spring 2017

CSCI Computer Networks Spring 2017 source: computer-networks-webdesign.com CSCI 6760 - Computer Networks Spring 2017 Instructor: Prof. Roberto Perdisci perdisci@cs.uga.edu These slides are adapted from the textbook slides by J.F. Kurose

More information

CSCI Computer Networks Fall 2016

CSCI Computer Networks Fall 2016 source: computer-networks-webdesign.com CSCI 4760 - Computer Networks Fall 2016 Instructor: Prof. Roberto Perdisci perdisci@cs.uga.edu These slides are adapted from the textbook slides by J.F. Kurose and

More information

Chapter 3: Transport Layer

Chapter 3: Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Chapter 3. Transport Layer. Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.

Chapter 3. Transport Layer. Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights

More information

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ Chapter 3 Transport Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.

More information

Computer Networks. Transport Layer

Computer Networks. Transport Layer Computer Networks Transport Layer By: Mohammad Nassiri Bu-Ali Sina University, Hamedan Fall 2009 Chapter 3: Transport Layer Our goals:!! understand principles behind transport layer services: "! multiplexing/

More information

Chapter 3 Transport Layer. Chapter 3: Transport Layer. Chapter 3 outline. Our goals: understand principles behind transport layer services:

Chapter 3 Transport Layer. Chapter 3: Transport Layer. Chapter 3 outline. Our goals: understand principles behind transport layer services: Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Chapter 3: Transport Layer Our goals: understand principles behind transport

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Computer Networks. 3.Transport Layer. Transport Layer - 1

Computer Networks. 3.Transport Layer. Transport Layer - 1 Computer Networks 3.Transport Layer Transport Layer - 1 Transport services and protocols End-to-end protocol Logical communication between app processes Segmentation of messages Send side: breaks app messages

More information

CS Lecture 1 Review of Basic Protocols

CS Lecture 1 Review of Basic Protocols CS 557 - Lecture 1 Review of Basic Protocols IP - RFC 791, 1981 TCP - RFC 793, 1981 Spring 2013 These slides are a combination of two great sources: Kurose and Ross Textbook slides Steve Deering IETF Plenary

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Chapter 3. Kultida Rojviboonchai, Ph.D. Dept. of Computer Engineering Faculty of Engineering Chulalongkorn University

Chapter 3. Kultida Rojviboonchai, Ph.D. Dept. of Computer Engineering Faculty of Engineering Chulalongkorn University Chapter 3 Transport Layer Kultida Rojviboonchai, Ph.D. Dept. of Computer Engineering Faculty of Engineering Chulalongkorn University A note on the use of these ppt slides: The notes used in this course

More information

Transport services and protocols. Chapter 3 Transport Layer. Chapter 3: Transport Layer. Transport vs. network layer

Transport services and protocols. Chapter 3 Transport Layer. Chapter 3: Transport Layer. Transport vs. network layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Chapter 3 Transport Layer. Chapter 3: Transport Layer. Chapter 3 outline

Chapter 3 Transport Layer. Chapter 3: Transport Layer. Chapter 3 outline Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Chapter 3: Transport Layer. Computer Networks. Transport Layer. Transport services and protocols. Chapter 3 outline. Bu-Ali Sina University, Hamedan

Chapter 3: Transport Layer. Computer Networks. Transport Layer. Transport services and protocols. Chapter 3 outline. Bu-Ali Sina University, Hamedan Computer Networks Transport Layer By: Mohammad Nassiri Chapter 3: Transport Layer Our goals:!! understand principles behind transport layer services: "! multiplexing/ demultiplexing "! reliable data transfer

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer All material copyright 1996-2013 J.F Kurose and K.W. Ross, All Rights Reserved Transport Layer 3-1 Chapter 3: Transport Layer our goals: understand principles behind transport

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer CSB051 Computer Networks 電腦網路 Chapter 3 Transport Layer 吳俊興國立高雄大學資訊工程學系 Spring 2006 Chapter 3: Transport Layer Our goals: understand principles behind transport layer services: multiplexing/demultipl exing

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Transport Layer. Dr Ahmad Al-Zubi. Transport Layer 3-1

Transport Layer. Dr Ahmad Al-Zubi. Transport Layer 3-1 Transport Layer Dr Ahmad Al-Zubi Transport Layer 3-1 Chapter 3: Transport Layer Our goals: understand d principles i learn about transport t behind transport layer protocols in the layer services: Internet:

More information

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure Correcting mistakes Go-back-N: big picture: sender can have up to N unacked packets in pipeline rcvr only sends cumulative acks doesn t ack packet if there s a gap sender has r for oldest unacked packet

More information

Chapter 3: Transport Layer

Chapter 3: Transport Layer Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control learn about Internet transport

More information

Lecture 8. TCP/IP Transport Layer (2)

Lecture 8. TCP/IP Transport Layer (2) Lecture 8 TCP/IP Transport Layer (2) Outline (Transport Layer) Principles behind transport layer services: multiplexing/demultiplexing principles of reliable data transfer learn about transport layer protocols

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

CS450 Introduc0on to Networking Lecture 14 TCP. Phu Phung Feb 13, 2015

CS450 Introduc0on to Networking Lecture 14 TCP. Phu Phung Feb 13, 2015 CS450 Introduc0on to Networking Lecture 14 TCP Phu Phung Feb 13, 2015 Next lecture (Feb 16) Assignment 3 (No iclicker ques0ons) Wireshark links Guest lecture on Monday Feb 23 rd DNS Security Midterm exam

More information

Chapter 3: Transport Layer

Chapter 3: Transport Layer Introduction to Computer Networking Guy Leduc Chapter 3 Transport Layer Computer Networking: A Top Down Approach, 7 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2016 From Computer Networking,

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Modified form the following All material copyright 1996-2012 J.F Kurose

More information

EC441 Fall 2018 Introduction to Computer Networking Chapter 3: Transport Layer

EC441 Fall 2018 Introduction to Computer Networking Chapter 3: Transport Layer EC441 Fall 2018 Introduction to Computer Networking Chapter 3: Transport Layer This presentation is adapted from slides produced by Jim Kurose and Keith Ross for their book, Computer Networking: A Top

More information

Protocoles et Interconnexions

Protocoles et Interconnexions Protocoles et Interconnexions Course Overview and Introduction Dario Vieira Department of Computer Science EFREI Computer Networking Preliminaries Transport Layer Network Layer Introduction Terminology

More information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Lecture 10 Transport Layer Continued Spring 2018 Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Last Time.

More information

Chapter 3: Transport Layer

Chapter 3: Transport Layer Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer fow control congestion control learn about Internet transport

More information

Chapter III: Transport Layer

Chapter III: Transport Layer Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Slides copyright of Kurose and Ross TCP: Overview RFCs: 793,1122,1323, 2018, 2581 point-to-point:

More information

Transport Layer. CMPS 4750/6750: Computer Networks

Transport Layer. CMPS 4750/6750: Computer Networks Transport Layer CMPS 4750/6750: Computer Networks 1 Outline Overview of transport-layer services Connectionless Transport: UDP Principles of reliable data transfer Connection-Oriented Transport: TCP TCP

More information

Chapter 3: Transport Layer

Chapter 3: Transport Layer Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control learn about Internet transport

More information

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 ocket door point-to-point: one sender, one receiver reliable, in-order byte steam: no message boundaries pipelined: TCP congestion and flow control set window

More information

Chapter 3: Transport Layer

Chapter 3: Transport Layer Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control learn about Internet transport

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer CSB051 Computer Networks 電腦網路 Chapter 3 Transport Layer 吳俊興國立高雄大學資訊工程學系 Chapter 3: Transport Layer Our goals: understand principles behind transport layer services: multiplexing/demultipl exing reliable

More information

Chapter 3: Transport Layer

Chapter 3: Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and

More information

TCP. 1 Administrivia. Tom Kelliher, CS 325. Apr. 2, Announcements. Assignment. Read From Last Time

TCP. 1 Administrivia. Tom Kelliher, CS 325. Apr. 2, Announcements. Assignment. Read From Last Time TCP Tom Kelliher, CS 325 Apr. 2, 2008 1 Administrivia Announcements Assignment Read 3.6 7. From Last Time Web server and mail user agent project discussions. Outline 1. TCP connection and segment structure.

More information

Transport layer. Our goals: Understand principles behind transport layer services: Learn about transport layer protocols in the Internet:

Transport layer. Our goals: Understand principles behind transport layer services: Learn about transport layer protocols in the Internet: Transport layer Our goals: Understand principles behind transport layer services: Multiplexing/demultiplexing Reliable data transfer Flow control Congestion control Learn about transport layer protocols

More information

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Transport layer. Position of transport layer. Transport layer.

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Transport layer. Position of transport layer. Transport layer. Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

-% % ($) % % % * % + & ' ! $ % $ $. / 0$! /1 2! /3 = >? A = ! " #!! $ %! $ $! $ % " #, * % " # % $ " $ 4 5$6 /778 $6 4 5

-% % ($) % % % * % + & ' ! $ % $ $. / 0$! /1 2! /3 = >? A = !  #!! $ %! $ $! $ %  #, * %  # % $  $ 4 5$6 /778 $6 4 5 " # & ' ' () + " #, " # " 333 for call 0from above && notcorrupt(rcvpkt) && isack(rcvpkt,1) stop_timer timeout && ( corrupt(rcvpkt) isack(rcvpkt,0) ) rdt_send(data) sndpkt make_pkt(0, data, checksum) for

More information

Transport Layer. Chapter 3. Computer Networking: A Top Down Approach

Transport Layer. Chapter 3. Computer Networking: A Top Down Approach Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

COMP211 Chapter 3 Transport Layer

COMP211 Chapter 3 Transport Layer COMP211 Chapter 3 Transport Layer All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross Pearson/Addison

More information

CSCE 463/612 Networks and Distributed Processing Spring 2017

CSCE 463/612 Networks and Distributed Processing Spring 2017 CSCE 463/612 Networks and Distributed Processing Spring 2017 Transport Layer IV Dmitri Loguinov Texas A&M University March 9, 2017 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter

More information

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Transport Services and Protocols. Chapter 3 Outline

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Transport Services and Protocols. Chapter 3 Outline Chapter 3 Transport Layer A note on the use of these ppt slides: The notes used in this course are substantially based on powerpoint slides developed and copyrighted by J.F. Kurose and K.W. Ross, 1996-2007

More information

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and

More information

Chapter 6 Transport Layer

Chapter 6 Transport Layer Chapter 6 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Architettura di Reti

Architettura di Reti Università di Ferrara Architettura di Reti Chapter 3: Transport Layer Carlo Giannelli carlo.giannelli@unife.it http://www.unife.it/scienze/informatica/insegnamenti/architettura-reti/ http://docente.unife.it/carlo.giannelli

More information

Transmission Control Protocol

Transmission Control Protocol TDTS06: Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se Transmission Control Protocol Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross,

More information

rdt3.0: channels with errors and loss

rdt3.0: channels with errors and loss rdt3.0: channels with errors and loss new assumption: underlying channel can also lose packets (data, ACKs) checksum, seq. #, ACKs, retransmissions will be of help but not enough approach: sender waits

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and

More information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Lecture 9 Transport Layer Spring 2018 Reading: Begin Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Outline Overview

More information

CC451 Computer Networks

CC451 Computer Networks CC451 Computer Networks Lecture 6 Transport Layer (cont d) Transport Layer 3-1 Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty,

More information