Glava 3: Nivo transporta

Σχετικά έγγραφα
4. Nivo transporta. 4. Nivo transporta. Ciljevi: Shvatiti principe na kojima počivaju servisi nivoa transporta:

Glava 3: Nivo transporta

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Multipleksiranje i demultipleksiranje

Kaskadna kompenzacija SAU

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

Računarska grafika. Rasterizacija linije

numeričkih deskriptivnih mera.

3.1 Granična vrednost funkcije u tački

Teorijske osnove informatike 1

RMT drugi deo 2016 DRUGI DEO. 3.3 Prenos bez uspostavljanja veze: protokol UDP

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

ELEKTROTEHNIČKI ODJEL

Ispitivanje toka i skiciranje grafika funkcija

Πρωτόκολλα Διαδικτύου

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

Računarska grafika. Rasterizacija linije

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

7 Algebarske jednadžbe

Elementi spektralne teorije matrica

Operacije s matricama

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Zavrxni ispit iz Matematiqke analize 1

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

TRIGONOMETRIJSKE FUNKCIJE I I.1.

Mehanizmi pouzdanog prenosa

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?

18. listopada listopada / 13

Riješeni zadaci: Nizovi realnih brojeva

Analiza ponašanja transportnog protokola TCP

Obrada signala

RIJEŠENI ZADACI I TEORIJA IZ

SISTEMI NELINEARNIH JEDNAČINA

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

41. Jednačine koje se svode na kvadratne

Linearna algebra 2 prvi kolokvij,

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

IZVODI ZADACI (I deo)

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

SEMINAR IZ KOLEGIJA ANALITIČKA KEMIJA I. Studij Primijenjena kemija

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

( , 2. kolokvij)

Grafičko prikazivanje atributivnih i geografskih nizova

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

5. Karakteristične funkcije

Linearna algebra 2 prvi kolokvij,

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Συνδεσιστρεφής. Υπηρεσίες επιπέδου µεταφοράς Πολύπλεξη και αποπολύπλεξη Ασυνδεσιστρεφής. µεταφορά: TCP

TRIGONOMETRIJA TROKUTA

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

radni nerecenzirani materijal za predavanja

Υπολογιστές και ίκτυα Η/Υ.

Matematika 1 - vježbe. 11. prosinca 2015.

Dijagonalizacija operatora

Elektrotehnički fakultet univerziteta u Beogradu 16.maj Odsek za Softversko inžinjerstvo

Osnovne teoreme diferencijalnog računa

ZBIRKA POTPUNO RIJEŠENIH ZADATAKA

Zadaci iz trigonometrije za seminar

Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000,

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 11: Στρώμα μεταφοράς

Antene. Srednja snaga EM zračenja se dobija na osnovu intenziteta fluksa Pointingovog vektora kroz sferu. Gustina snage EM zračenja:

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Eliminacijski zadatak iz Matematike 1 za kemičare

III VEŽBA: FURIJEOVI REDOVI

Matematičke metode u marketingumultidimenzionalno skaliranje. Lavoslav ČaklovićPMF-MO

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina:

Matematička analiza 1 dodatni zadaci

( , treći kolokvij) 3. Na dite lokalne ekstreme funkcije z = x 4 + y 4 2x 2 + 2y 2 3. (20 bodova)

5 TOKEN RING. 5.1 Uvod

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

1.4 Tangenta i normala

Πρωτόκολλα Διαδικτύου

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.

Numerička matematika 2. kolokvij (1. srpnja 2009.)

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

Trigonometrijske nejednačine

NOMENKLATURA ORGANSKIH SPOJEVA. Imenovanje aromatskih ugljikovodika

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

1 Promjena baze vektora

Industrijski sistemi i protokoli - Asinhroni serijski prenos podataka -

MEHANIKA FLUIDA. Isticanje kroz otvore sa promenljivim nivoom tečnosti

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

Dvanaesti praktikum iz Analize 1

Transcript:

Glava 3: Nivo transporta Ciljevi: Shvatiti principe na kojima počivaju servisi nivoa transporta: Multipleksiranje/ Demultipleksiranje Pouzdan prenos podataka Kontrola protoka Kontrola zagušenja Protokoli transportnog nivoa na Internetu: UDP: nekonektivni transport TCP: konektivni transport i kontrola zagušenja Nivo transporta 3-1 Glava 3: Sadržaj 3.1 Servisi nivoa transporta 3.2 Multipleksiranje i demultipleksiranje 3.3 Nekonektivni transport: UDP 3.4 Principi pouzdanog prenosa podataka Stop&wait Go-back-N Selective repeat 3.5 Konektivni transport: TCP Struktura segmenta Pouzdani prenos podataka Kontrola protoka Upravljanje vezom 3.6 Principi kontrole zagušenja 3.7 TCP kontrola zagušenja Nivo transporta 3-2 1

Transportni servisi i protokoli obezbjeđuju logičku komunikaciju između aplikacija koje se odvijaju na različitim hostovima transportni protokoli se implementiraju na krajnjim sistemima Prijemna strana: dijeli poruke u segmente, prosleđuje ih mrežnom nivou Prijemna strana: desegmentira segmente u poruke, i prosleđuje ih nivou aplikacije Više od jednog transportnog protokola je na raspolaganju aplikacijama Internet: TCP i UDP aplikacija transport Logički prenos od kraja do kraja aplikacija transport Nivo transporta 3-3 Transportni vs. Mrežni nivo Mrežni nivo: logička komunikacija između hostova Transportni nivo: logička komunikacija između procesa Oslanja se na, poboljšava, servise mrežnog nivoa Analogija: 12 ljudi šalje pisma za 12 ljudi procesi = ljudi poruke = poruke u kovertama hostovi = kuće u kojima ljudi žive transportni protokol = zapis na koverti mrežni protokol = poštanski servis Nivo transporta 3-4 2

Internet protokoli transportnog nivoa pouzdan, redosledna isporuka (TCP) Kontrola zagušenja Kontrola protoka Uspostavljanje veze nepouzdan, neredosledna isporuka: UDP Bez unapređenja besteffort pristupa IP Servisi koji se ne pružaju: Garantovano kašnjenje Garantovana propusnost aplikacija transport logički prenos od kraja do kraja aplikacija transport Nivo transporta 3-5 Glava 3: Sadržaj 3.1 Servisi nivoa transporta 3.2 Multipleksiranje i demultipleksiranje 3.3 Nekonektivni transport: UDP 3.4 Principi pouzdanog prenosa podataka 3.5 Konektivni transport: TCP Struktura segmenta Pouzdani prenos podataka Kontrola protoka Upravljanje vezom 3.6 Principi kontrole zagušenja 3.7 TCP kontrola zagušenja Nivo transporta 3-6 3

Multipleksiranje/demultipleksiranje Demultipl. na prij. hostu: Predaja primljenih segmenata ispravnom socket-u = socket = proces Multipl. na pred. hostu: Skupljanje podataka sa više socket-a, dodavanje zaglavlja (koristi se kasnije pri demultipleksiranju) aplikacija P3 P1 P1 aplikacija P2 P4 aplikacija transport transport transport host 1 host 2 host 3 Nivo transporta 3-7 Kako funkcioniše demultipleksiranje host prima IP datagrame Svaki datagram ima izvorišnu IP adresu, odredišnu IP adresu Svaki datagram nosi 1 segment nivoa transporta Svaki segment ima izvorišni, odredišni broj porta 16 bitni broj (0-65535) 0-1023 su tzv dobro poznati portovi koji su unaprijed rezervisani (RFC1700, www.iana.org) host koristi IP adrese & brojeve portova da usmjeri segment na odgovarajući socket 32 bits Izvor. port # Odred. port # Druga polja zaglavlja Aplikacioni podaci (poruka) TCP/UDP format segmenta Nivo transporta 3-8 4

Nekonektivno demultipleksiranje Kada se kreira UDP socket transportni nivo mu odmah dodjeljuje broj porta koji ne koristi neki drugi UDP soket na hostu Klijentska strana transportnog protokola obično socketu dodjeljuje ne dobro poznate portove 1024-65535 UDP socket identifikuju dva podatka: (IP adresa odredišta, broj porta odred.) Kada host primi UDP segment: Provjerava odredišni broj porta u segmentu Usmjerava UDP segment u socket koji ima taj broj porta IP datagrami sa različitim izvorišnim IP adresama i/ili izvorišnim brojevima portova se usmjeravaju na isti socket Nivo transporta 3-9 Nekonektivno demultipleksiranje (nastavak) P2 P3 P1P1 IP: 6428 OP: 9157 IP: 6428 OP: 5775 klijent IP: A IP: 9157 OP: 6428 server IP: C IP: 5775 OP: 6428 klijent IP:B Izvorišni broj porta pruža povratnu adresu Nivo transporta 3-10 5

Konektivno demultipleksiranje TCP socket identifikuju 4 parametra: Izvorišna IP adresa Izvorišni broj porta Odredišna IP adresa Odredišni broj porta Prijemni host koristi sve četiri vrijednosti za usmjeravanje segmenta na odgovarajući socket Server host može podržavati više simultanih TCP socket-a: svaki socket je identifikovan sa svoja 4- parametra Web serveri imaju različite socket-e za svakog povezanog klijenta ne-perzistentni HTTP će imati različite socket-a za svaki zahtjev Nivo transporta 3-11 Konektivno demultipleksiranje (nastavak) P1 P4 P5 P6 P2 P1P3 IP: 5775 OP: 80 I-IP: B O-IP:C IP: 9157 IP: 9157 Klijent IP: A OP: 80 I-IP: A O-IP:C server IP: C OP: 80 I-IP: B I-IP:C Klijent IP:B Nivo transporta 3-12 6

Konektivno demultipleksiranje (nastavak) : Web Server P1 P4 P2 P1P3 IP: 5775 OP: 80 I-IP: B I-IP:C IP: 9157 IP: 9157 Klijent IP: A OP: 80 I-IP: A O-IP:C Server IP: C OP: 80 I-IP: B O-IP:C Klijent IP:B Nivo transporta 3-13 Glava 3: Sadržaj 3.1 Servisi nivoa transporta 3.2 Multipleksiranje i demultipleksiranje 3.3 Nekonektivni transport: UDP 3.4 Principi pouzdanog prenosa podataka 3.5 Konektivni transport: TCP Struktura segmenta Pouzdani prenos podataka Kontrola protoka Upravljanje vezom 3.6 Principi kontrole zagušenja 3.7 TCP kontrola zagušenja Nivo transporta 3-14 7

UDP: User Datagram Protocol [RFC 768] Nema poboljšanja koji se nude Internet transport protokolu best effort servis, UDP segmenti mogu biti: izgubljeni predani neredosledno nekonektivni: nema uspostavljanja veze (handshaking) između UDP pošiljaoca i prijemnika svaki UDP segment se tretira odvojeno od drugih Zašto onda UDP? Nema uspostavljanja veze (koja povećava kašnjenje) jednostavnije: ne vodi se računa o stanju veze manje zaglavlje segmenta (8B u odnosu na 20B kod TCP-a) nema kontrole zagušenja: UDP može slati podatke onom brzinom kojom to aplikacija želi Nivo transporta 3-15 UDP: više Provjera sume u zaglavlju Često se koristi za streaming multimedijalne aplikacije Tolerantne u odnosu na gubitke Osjetljive na brzinu prenosa drugi UDP korisnici DNS SNMP (zbog toga što mrežne menadžment aplikacije funkcionišu kada je u kritičnom stanju) RIP (zbog periodičnog slanja RIP update-a) Pouzdani prenos preko UDP: mora se dodati pouzdanost na nivou aplikacije Oporavak od greške na nivou aplikacije Problem kontrole zagušenja je i dalje otvoren! Veličina UDP segmenta u bajtovima, uključujući zaglavlje 32 bita Izv. port # Dest. port # length checksum Podaci aplikacije (poruka) Format UDP segmenta RFC 768 Nivo transporta 3-16 8

UDP checksum-a Cilj: detekcija greške u prenošenom segmentu Razlog: nema garancije da je kontrola greške primijenjena na svim ovima preko kojih se segment prenosi. Šta više, greška može nastupiti i u ruteru. Pošiljac: Prijemnik: Tretira sadržaj segmenta Proračun checksum-e kao sekvence 16-bit primljenog segmenta prirodnih brojeva Provjera da li je izračunata checksum: dodaje (suma 1 checksum-a jednaka komplementa) informaciju segmentu vrijednosti u odgovarajućem polju: Pošiljac postavlja vrijednost checksum e u NE detektovana greška odgovarajuće polje UDP DA nema greške. Da li segmenta ste sigurni? Nema oporavka od greške! Segment se ili odbacuje ili se predaje aplikaciji uz upozorenje. Nivo transporta 3-17 Internet Checksum-a primjer Napomena Kada se sabiraju brojevi, prenos sa najznačajnijeg bita se dodaje rezultatu 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 prenos 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 suma checksum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Nivo transporta 3-18 9

Glava 3: Sadržaj 3.1 Servisi nivoa transporta 3.2 Multipleksiranje i demultipleksiranje 3.3 Nekonektivni transport: UDP 3.4 Principi pouzdanog prenosa podataka 3.5 Konektivni transport: TCP Struktura segmenta Pouzdani prenos podataka Kontrola protoka Upravljanje vezom 3.6 Principi kontrole zagušenja 3.7 TCP kontrola zagušenja Nivo transporta 3-19 Principi pouzdanog prenosa podataka u opštem smislu Važno u nivoima aplikacije, transporta, a Jedna od top-10 karakteristika mreže! Nivo apliakcije Proces slanja Proces prijema Transportni nivo Pouzdani kanal Zbog univerzalonsti pristupa razjašnjenju problema Protokol za pouzdani prenos (predajna strana) Nepouzdani kanal Protokol za pouzdani prenos (prijemna strana) a) Pruženi servis b) Implementacija servisa Karakteristike nepouzdanog kanala će odrediti kompleksnost pouzdanog protokola za prenos podataka (rdt) Nivo transporta 3-20 10

Pouzdani prenos preko pouzdanog kanala Kanal je pouzdan u potpunosti Nema greške po bitu Nema gubitka paketa Nivo transporta 3-21 Kanal sa greškom (ali nema gubitka paketa) Kanal može zamijeniti vrijednosti bita u paketu Potrebno je detektovati grešku na prijemnoj strani. Kako? Prijemna strana o tome mora obavijestiti predajnu stranu potvrdom uspješnog (ACK) ili neuspješnog prijema (NACK) Kada prijemna strana primi ACK šalje nove podatke, ako primi NACK obavlja ponovno slanje prethodnog paketa (retransmisija) ARQ (Automatic Repeat request) ACK NACK ACK x Nivo transporta 3-22 11

Prethodno rješenje ima fatalan problem! Šta se dešava kada su ACK/NAK oštećene? Pošiljalac ne zna šta se dešava na prijemu! Retransmisija je besmislena: moguće je dupliranje paketa ACK x Rješavanje duplikata: Pošiljalac dodaje svakom paketu broj u sekvenci Pošiljalac ponovo šalje posmatrani paket ako je ACK/NAK oštećen Prijemnik odbacuje duple pakete U ACK/NAK nema broja u sekvenci paketa koji se potvrđuje jer nema gubitka paketa, pa se potvrda odnosi na poslednji poslati paket. STOP & WAIT Pošiljac šalje jedan paket, a zatim čeka na odgovor Nivo transporta 3-23 0 Stop & wait (u kanalu bez gubitaka) ACK x 0 ACK 1 x NACK 1 ACK 0 ACK Nivo transporta 3-24 12

Stop & wait (u kanalu bez gubitaka): nastavak Pošiljalac: Dodaje broj u sekvenci paketu Dva broja (0,1) su dovoljna. Zašto? Mora provjeriti da li je primljeni ACK/NAK oštećen Prijemnik: Mora provjeriti da li je primljeni paket duplikat stanje indicira da li je 0 ili 1 očekivani broj u sekvenci paketa Napomena: prijemnik ne može znati da li je poslednji ACK/NAK primljen ispravan od strane pošiljaoca Nivo transporta 3-25 0 ACK 0 x 0 ACK 0 1 x ACK 0 1 ACK 1 0 ACK 0 Stop & wait (u kanalu bez gubitaka) bez NAK Iste funkcionalnosti kao u prethodnom slučaju, korišćenjem samo ACK umjesto NAK, prijemnik šalje ACK za poslednji paket primljen ispravno Prijemnik mora eksplicitno unijeti broj u sekvenci paketa čiji se uspješan prijem potvrđuje Dvostruki ACK za isti paket na strani pošiljaoca rezultira istom akcijom kao: ponovo šalji posmatrani paket Nivo transporta 3-26 13

Stop & wait (kanal sa greškom i gubicima) Nova pretpostavka: kanal takođe izaziva gubitak paketa (podataka ili potvrda) checksum, broj u sekvenci, ACK, retransmisije su od pomoći, ali ne dovoljno. P: Kako se izboriti sa gubicima? Pošiljalac čeka dok se određeni podaci ili ACK izgube, zatim obavlja retransmisiju. Koliko je minimalno vrijeme čekanja? Koliko je maksimalno vrijeme čekanja? Nedostaci? Pristup: pošiljalac čeka razumno vrijeme za ACK Retransmisija se obavlja ako se ACK ne primi u tom vremenu Ako paket (ili ACK) samo zakasni (ne biva izgubljen): Retransmisija će biti duplirana, ali korišćenje broja u sekvenci će to odraditi Prijemnik mora definisati broj u sekvenci paketa čiji je prijem već potvrđen Zahtijeva timer Nivo transporta 3-27 timeout timeout 0 ACK 0 x 0 ACK 0 1 x 1 ACK 1 0 ACK 0 Stop & wait: u kanalu sa gubicima Iste funkcionalnosti kao u prethodnom slu;aju, korišćenjem samo ACK umjesto NAK, prijemnik šalje ACK za poslednji paket primljen ispravno Prijemnik mora eksplicitno unijeti broj u sekvenci paketa čiji se uspješan prijem potvrđuje Dvostruki ACK za isti paket na strani pošiljaoca rezultira istom akcijom kao: ponovo šalji posmatrani paket Nivo transporta 3-28 14

STOP & WAIT performanse S&W funkcioniše, ali ima loše performanse primjer: 1 Gb/s, 15 ms vrijeme prenosa od kraja do kraja, veličina paketa 1000B : T prenosa = L (veličina paketa u bitima) R (propusnost a, b/s) = 8kb/pkt 10 9 b/s = 8 μs U Pošilj. = L / R RTT + L / R =.008 30.008 = 0.00027 U pošiljalac : iskorišćenje dio vremena u kome je pošiljalac zauzet Pošiljalac šalje 1000B paket svakih 30.008 ms -> 267kb/s iako je propusnost a 1 Gb/s Mrežni protokol ograničava fizičke resurse! Stvar je još gora jer je napravljeno nekoliko zanemarivanja! Nivo transporta 3-29 STOP & WAIT performanse Prvi bit paketa je poslat, t = 0 Posledni bit paketa je poslat, t = L / R pošiljalac prijemnik RTT Prvi bit paketa stiže Poslednji bit paketa stiže, šalje se ACK ACK stiže, pošalji sledeći paket, t = RTT + L / R U Pošilj. = L / R RTT + L / R =.008 30.008 = 0.00027 Nivo transporta 3-30 15

Pipelined protokoli Pipelining : pošiljalac dozvoljava istovremeni prenos više paketa čiji prijem nije potvrđen Opseg brojeva u sekvenci mora biti proširen Baferovanje na predajnoj i/ili prijemnoj strani a) Stop and wait protokol b) Pipeline protokol Postoje dvije forme ovog protokola: go-back-n, selective repeat Nivo transporta 3-31 Pipelining : povećanje iskorišćenja Prenosi se prvi bit paketa, t = 0 Prenosi se poslednji bit paketa, t = L / R pošiljalac RTT ACK stiže, šalji sledeći paket, t = RTT + L / R prijemnik Prvi bit paketa stiže Poslednji bit paketa stiže, pošalji ACK Poslednji bit paketa 2 stiže, pošalji ACK Poslednji bit paketa 3 stiže, pošalji ACK U Pošilj. = 3 * L / R RTT + L / R =.024 30.008 Povećanje iskorišćenja 3 puta! = 0.0008 Nivo transporta 3-32 16

Go-Back-N (sliding window) Pošiljalac: k-bita dugačak broj u sekvenci u zaglavlju paketa što znači da se može poslati N=2 k nepotvrđenih paketa prozor veličine N susjednih nepotvrđenih paketa je dozvoljen Zašto ograničavati N? prijem već potvrđen prijem nije potvrđen još nijesu iskorišćeni još se ne mogu koristiti Broj u sekvenci se upisuje u polje zaglavlja veličine k bita (0,2 k -1). Kod TCP k=32, pri čemu se ne broje segmenti, već bajtovi u bajt streamu. ACK(n): ACK sve pakete, uključujući n-ti u sekvenci - kumulativniack Mogu se pojaviti dupli ACKovi (vidi prijemnik) Nivo transporta 3-33 GBN timer se inicijalizuje za najstariji segment i vezuje za svaki paket čiji prijem još nije potvrđen timeout(n): retransmisija paketa n i svih paketa čiji je broj u sekvenci veći od n, u skladu sa veličinom prozora uvijek se šalje ACK za korektno primljen paket sa najvećim brojem u sekvenci uz poštovanje redosleda Može generisati duple ACK-ove Treba da zapamti samo broj očekivanog paketa out-of-order paket: odbacuje -> nema baferovanja na prijemu! Zašto? Re-ACK paket sa najvećim brojem u sekvenci Nivo transporta 3-34 17

GBN u akciji 0 1 timeout 2 x 3 ACK 0 ACK 1 4 5 2 3 4 5 ACK 1 ACK 1 ACK 1 ACK 2 ACK 3 ACK 4 ACK 5 Nivo transporta 3-35 Go-Back-N: problemi Dozvoljava pošiljaocu da ispuni sa paketima, čime se uklanja problem lošeg iskorišćenja kanala. Sa druge strane kada su veličina prozora i proizvod brzine prenosa i kašnjenja veliki mnogo paketa može biti na u. U slučaju gubitka jednog paketa mnogi paketi moraju biti potpuno nepotrebno iznova poslati. Iz tog razloga se koriste selective repeat protokoli, koji kao što im ime kaže omogućavaju izbor paketa koji će biti ponovo poslati. Nivo transporta 3-36 18

Go-Back-N: Java applet http://media.pearsoncmg.com/aw/aw_kurose_network_2/applets/go-back-n/go-back-n.html Nivo transporta 3-37 Selective Repeat Prijemnik pojedinačno potvrđuje sve ispravno primljene pakete baferuje pakete, ako je to potrebno, za eventualnu redoslednu predaju nivou iznad sebe Pošiljalac ponovo šalje samo pakete za koje ACK nije primljen Pošiljalac ima tajmer za svaki paket čiji prijem nije potvrđen Prozor pošiljaoca N uzastopnih brojeva u sekvenci Ponovo ograničava broj poslatih paketa, čiji prijem nije potvrđen Nivo transporta 3-38 19

Selective repeat pošiljalac Podaci odozgo : Ako je sledeći broj u sekvenci u prozoru dostupan, šalji paket timeout(n): Ponovo šalji paket n, restartuj tajmer ACK(n) u [sendbase,sendbase+n]: markiraj paket n kao da je primljen Ako je n najmanji nepotvrđeni paket, proširi osnovu prozora na bazi narednog najmanjeg broja nepotvrđenog paketa prijemnik paket n u [rcvbase, rcvbase+n-1] Pošalji ACK(n) out-of-order: baferuj in-order: predaj (takođe baferuj, predaj u in-order), povećavaj prozor na sledeći paket koji još nije primljen paket n u [rcvbase-n,rcvbase-1] ACK(n) drugačije: ignoriši Nivo transporta 3-39 Selective repeat: Java applet http://media.pearsoncmg.com/aw/aw_kurose_network_3/applets/selectrepeat/sr.html Nivo transporta 3-40 20

Selective repeat u akciji Nivo transporta 3-41 Selective repeat : dilema Primjer: Brojevi u sekvenci : 0, 1, 2, 3 Veličina prozora =3 Prijemnik ne vidi razliku u dva scenarija! Nekorektno proslijeđeni duplirani podaci kao novi u (a) P1: Koja je relacija između veličine prozora i broja paketa u sekvenci? P2: Šta ako sam kanal unosi neredosledni prenos paketa? Nivo transporta 3-42 21