8. Szállítói réteg TCP Tahoe, Reno, AIMD, hatékonyság, fairness. HálózatokII, 2006

Hasonló dokumentumok
8. Szállítói réteg TCP Tahoe, Reno, AIMD, hatékonyság, fairness. HálózatokII, 2007

Számítógépes Hálózatok 2012

Számítógépes Hálózatok ősz Szállítói réteg TCP, Tahoe, Reno, AIMD, Fairness, hatékonyság

A szállítói réteg (transport layer) szolgáltatásai. Számítógépes Hálózatok Szállítói réteg (transport layer) Multiplexálás a szállítói rétegben

A szállítói réteg (transport layer) szolgáltatásai. Számítógépes Hálózatok Szállítói réteg (transport layer) Multiplexálás a szállítói rétegben

A szállítói réteg (transport layer) szolgáltatásai. Számítógépes Hálózatok Szállítói réteg (transport layer) Multiplexálás a szállítói rétegben

A szállítói réteg (transport layer) szolgáltatásai. Számítógépes Hálózatok Szállítói réteg (transport layer) Multiplexálás a szállítói rétegben

A szállítói réteg (transport layer) szolgáltatásai. Számítógépes Hálózatok Szállítói réteg (transport layer) Multiplexálás a szállítói rétegben

Számítógépes Hálózatok 2011

Szállítási réteg (L4)

Torlódás elkerülési elv: AIMD. Számítógépes Hálózatok Additive Increase Multiplicative Decrease (AIMD): Fairness és Hatékonyság

Számítógépes Hálózatok 2013

I. Házi Feladat. internet. Határidő: V. 30.

32 bit (4 bájt) Destination Port 8 bájt. Source Port. DATA, ha van

32 bit (4 bájt) Destination Port 8 bájt. Source Port. DATA, ha van

Szállítási réteg (L4)

Project Report (1998)

SzIP kompatibilis sávszélesség mérések

Egyszerű simplex protokoll nyugtákkal

Számítógépes Hálózatok 2010

Számítógépes Hálózatok

Számítógépes Hálózatok

Hibafelismerés: CRC. Számítógépes Hálózatok Polinóm aritmetika modulo 2. Számolás Z 2 -ben

Alternatív TCP variánsok vizsgálata nagy sávszélességű, magas késleltetésű kapcsolatokon

Számítógépes Hálózatok 2008

Nagy sebességű TCP. TCP Protokollok

TCP ÉS UDP. Médiakommunikációs hálózatok (VIHIM161) évi fóliái alapján készült. Dr. Lencse Gábor

Számítógépes Hálózatok és Internet Eszközök

Számítógépes Hálózatok. 4. gyakorlat

Számítógépes Hálózatok

SZÁLLÍTÁSI (TRANSPORT, HOST- TO-HOST) PROTOKOLLOK

Számítógépes hálózatok 1. ZH Készítette: Nagy Krisztián

Approximációs algoritmusok

Hibafelismerés: CRC. Számítógépes Hálózatok Polinóm aritmetika modulo 2. Számolás Z 2 -ben

Számítógépes Hálózatok

Számítógépes Hálózatok 2012

Torlódásvezérlés nélküli transzport protokoll teljesítményelemzése Emulab hálózatemulációs környezetben

2008 II. 19. Internetes alkalmazások forgalmának mérése és osztályozása. Február 19

Számítógépes Hálózatok 2008

Mérési útmutató a Mobil Kommunikáció és Kvantumtechnológiák Laboratórium méréseihez

Számítógépes Hálózatok. 5. gyakorlat

TCP ANALÍZIS DIFFSERV KÖRNYEZETBEN

TCP ÉS UDP. Médiakommunikációs hálózatok (VIHIM161) Médiatechnológiák és -kommunikáció szakirány. Dr. Lencse Gábor

MACAW. MAC protokoll vezetéknélküli LAN hálózatokhoz. Vaduvur Bharghavan Alan Demers, Scott Shenker, Lixia Zhang

3-4. Transmission Control Protocol

[SZÁMÍTÓGÉP-HÁLÓZATOK]

Számítógépes Hálózatok ősz Adatkapcsolati réteg MAC, Statikus multiplexálás, (slotted) Aloha, CSMA

Mediumhozzáférés (Medium Access Control -- MAC) alréteg az adatkapcsolati rétegben. Számítógépes Hálózatok ősz 2006

Cross-layer forgalom- és protokoll elemzés

Tartalomjegyzék. Mobil Internet választható tárgy. 4. mérés: Transzport protokollok

Számítógépes Hálózatok 2013

RLC-alapú HSDPA szállítóhálózati torlódásvezérlés

Gépi tanulás a gyakorlatban. Lineáris regresszió

Számítógépes Hálózatok

Számítógépes Hálózatok 2010

Összefoglalás és gyakorlás

TORLÓDÁSVÉDELMI MÓDSZEREK ÉS TECHNIKÁK ELEMZÉSE

Az Internet működésének alapjai

Hálózatterhelés-függő újraküldés DCCP/IP hálózatokban

Transmission Control Protocol (TCP) (a működés alapelvei)

A szállítási szolgálat

Rétegek: Felhasználói Szállítói Adatkapcsolati Hálózati Fizika

Rádiós hozzáférő hálózatok elemzése és méretezése analitikus módszerekkel Rákos Attila Nokia Siemens Networks

Erőforrás-kezelés maghálózatokban "csomag-színezéssel"

Operációs rendszerek II. Folyamatok ütemezése

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnökinformatikus szak BME Villamosmérnöki és Informatikai Kar május 27.

További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék

NAGYSEBESSÉGŰ SZÁLLÍTÁSI PROTOKOLLOK FAIRNESS - ÉS STABILITÁSVIZSGÁLATA

3) Mik a főbb funkcionalitásai az ISO/OSI modell megjelenítési rétegének rétegének?

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnök informatikus szak BME Villamosmérnöki és Informatikai Kar május 30.

Online migrációs ütemezési modellek

i=1 i+3n = n(2n+1). j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes.

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

TRANSZPORT PROTOKOLLOK VIZSGÁLATA EMULAB KÖRNYEZETBEN

Számítógépes Hálózatok

Nagysebességő Internet Hálózatok

Számítógépvezérelt irányítás és szabályozás elmélete (Bevezetés a rendszer- és irányításelméletbe, Computer Controlled Systems) 7.

Kiegészítés a Számítógép-hálózatok jegyzethez a 2. ZH témakörében. v0.9, Internet Protocol

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Forgalmi tervezés az Interneten

Hálózatok II. A hálózati réteg torlódás vezérlése

Számítógépes Hálózatok és Internet Eszközök

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

Hidraulikus hálózatok robusztusságának növelése

Soros felépítésű folytonos PID szabályozó

A TCP/IP modell szállítási rétege

V2V - routing. Intelligens közlekedési rendszerek. VITMMA10 Okos város MSc mellékspecializáció. Simon Csaba

Differenciálegyenletek numerikus megoldása

Számítógép-hálózatok és internet eszközök

Számítógépes Hálózatok. 2. gyakorlat

Nemlineáris programozás 2.

2. Hány réteget különböztet meg az Tannenbaum- féle hibrid rétegmodell? 5

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai

Számítógépes hálózatok GY

Számítógépes Hálózatok GY 6.hét

Hálózatok Rétegei. Számítógépes Hálózatok és Internet Eszközök. TCP/IP-Rétegmodell. Az Internet rétegei - TCP/IP-rétegek

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Teljesítménymodellezés

Termelés- és szolgáltatásmenedzsment

Átírás:

Hálózatok II 2006 8. Szállítói réteg TCP Tahoe, Reno, AIMD, hatékonyság, fairness 1

Exponenciális visszavétel (exponential backoff) Retransmission Timout (RTO) szabályozza az időközt a küldés és egy duplikátum újraküldése között, ha egy nyugta kimarad Hello! Seq.nr. 17 ACK: 17+6=23 World Seq.nr. 23 Mikor nem kerül nyugtázásra egy TCP-csomag?? Ha a nyugta lényegesen több időt vesz igénybe, mint az átlagos round trip time (RTT) Küldő 1. Probléma: RTT mérése 2. Probléma: Csak a nyugta jön túl későn Vár az RTO-nak megfelő ideig Küldő 4s 2s 1s?? World Seq.nr. 23 World Seq.nr. 23 World Seq.nr. 23 Fogadó Ha nem érkezett nyugta, újraküldi a csomagot és növeli 8s? RTO 2 RTO (RTO = 64 másodpercig) World Seq.nr. 23 RTO újraszámolása, ha a csomagok nyugtázódnak 2

TCP Nagle algoritmusa Hogyan biztosíthatjuk, hogy kis csomagok időben egymáshoz közel kerüljenek kiszállításra és hogy sok adat esetén nagy csomagok előnyben részesüljenek? Nagle algorithmusa: Kis csomagok nem kerülnek addig küldésre, amig nyugták hiányoznak egy csomag kicsi, ha az adathossz < MSS Ha a korábban küldött csomag nyugtája megérkezik, küldi a következőt Tulajdonsága Önmagát ütemező: Gyors kapcsolat = sok kis csomag 3

A Round Trip Time (RTT) becslése A TCP-csomag nem nyugtázottnak számít, ha a nyugta lényegesen tovább tart, mint az RTO RTT nem számítható on-line (csak visszatekintve) RTT erősen ingadozik Ezért: Retransmission Timeout Value nagyvonalú becsléssel: RFC 793: (M := utoljára mért RTT) R αr + (1-α) M, aholα= 0,9 RTO β R, aholβ= 2 Jacobson 88: a becslés nem elég robosztus, ezért A A + g (M - A), ahol g = 1/8 D D + h ( M - A - D), ahol h = 1/4 RTO A + 4D Többszörösen elküldött csomagoknál nem aktualizálunk 4

Csúszó Ablakok (sliding windows) Adatátráta szabályozása ablak segítségével A fogadó meghatározza az ablak méretet (wnd) az ACK-szegmensek TCP-fejlécében Ha a fogadó fogadási puffere tele van, akkor wnd=0 -t küld Máskülönben a fogadó wnd>0 -t küld A küldőnek be kell tartani: Az elküldött nem nyugtázott szegmensek száma ablak mérete A fogadó által megadott ablak méret 1 2 3 4 5 6 7 8 9 10 Elküldött és nyugtázott Még elküldhető Csak akkor küldhető, Elküldött és ha az ablak mérete nem nyugtázott megváltozik 5

Lassú Start (slow start) A küldőnek nem szabad a fogadó által felajánlott ablakméretet azonnal kihasználni szegmens 1 ACK: szegmens 1 Második ablak: Congestion-ablak (cwnd: congestion window) A küldő választja (FSK) szegmens 2 szegmens 3 ACK: szegmens 3 Az ablak amiben küld: min {wnd,cwnd} Kezdetben: cwnd MSS Minden csomagnál a megkapott nyugta után nő cwnd cwnd + MSS (azaz megduplázódik minden RTT után) Addig, amíg egyszer egy nyugta kimarad Küldő szegmens 4 szegmens 5 szegmens 6 szegmens 7 ACK: szegmens 5 ACK: szegmens 7 szegmens 8 szegmens 9 Fogadó szegmens 10 Slow start = exponenciális növekedés (hisztórikus elnevezés: korábban még aggresszívebb sémák) 6

Torlódás elkerülés (congestion avoidance) TCP Tahoe Jacobson 88: Paraméter: cwnd és ssthresh (= slow-start-küszöb, slow start threshold) 1. Kapcsolatfelépítés: cwnd MSS ssthresh 65535 2. Csomagvesztésnél, azaz nyugta ideje > RTO: multiplicatively decreasing cwnd MSS ssthresh 3. Nyugta jön a szegmenshez és cwnd ssthresh: slow start cwnd cwnd + MSS 4. Nyugta jön a szegmenshez és cwnd > ssthresh: additively increasing cwnd cwnd + MSS 7

TCP Tahoe 8

Fast Retransmit és Fast Recovery TCP Tahoe [Jacobson 1988]: Ha csak egy csomag veszik el, akkor a csomagot + a fennmaradó ablakot újraküldi és egyidejűleg slow start Fast retransmit ha ugyanazon csomaghoz 3 nyugta-duplikátum (azaz 4 azonos nyugta) érkezik (triple duplicate ACK), újraküldi az elveszet csomagot, egyidejűleg slow start TCP Reno [Stevens 1994] Fast retransmit után: ssthresh max( min(wnd,cwnd)/2, 2 MSS ) cwnd ssthresh + 3 MMS Fast recovery a fast retransmit után Miden további nyugta-duplikátum után növeli a cwnd cwnd + MMS Congestion avoidance: amikor új adat nyugtája megérkezik (ujraküldés ACK-ja) : cwnd ssthresh 9

Torlódás elkerülési elv: AIMD A TCP a fast recovery mechanizmussal lényegében a következőképp viselkedik: x: csomagok száma per RTT Kapcsolatfelépítés: x 1 Csomagvesztésnél, MD: multiplicative decreasing x x/2 Nyugtázott szegmenseknél, AD: additive increasing x x +1 10

Példa: TCP Reno in aktion Fast Retransmit Fast Recovery Additively Increase Slow Start Multiplicatively Decrease 11

Additive Increase Multiplicative Decrease (AIMD): Fairness és Hatékonyság Átvitel Durchsatz Válaszidő Anwortzeit Knie Könyök Klippe Billenő A hálózati terhelés az átvitellel és a válasziővel kölcsönösen hat egymásra. Terhelés Last Terhelés Last Az átvitel maximális, ha a terhelés a hálózat kapacitását majdnem eléri. Ha a terhelés tovább nő, túlcsordulnak a pufferek, csomagok vesznek el, újra kell küldeni, drasztikusan nő a válaszidő. Ezt a toródást congestion-nak nevezzük. Ezért a maximális terhelés helyett, ajánlatos a hálózat terhelését a könyök közelében beállítani. Itt a válaszidő csak lassan emelkedik, míg az adatátvitel már a maximum közelében van. Egy jó torlódáselkerülési (congestion avoidance) stratégia a hálózat terkelését a könyök közlében tartja: hatékonyság. Emellett fontos, hogy minden résztvevőt egyforma rátával szolgáljunk ki: fairness. 12

AIMD Fairness és Hatékonyság A Modell n résztvevő, forduló-modell résztvevő i adatrátája a t-eik fordulóban x i (t) Kezedeti adatráták: x 1 (0),, x n (0) A visszacsatolás (feedback) forduló t után: y(t) = 0, ha y(t) = 1, ha Minden résztvevő aktualizálja az adatrátáját a t+1-edik fordulóban: x i (t+1) = f(x i (t),y(t)) Increase-stratégia f 0 (x) = f(x,0) Decrease-stratégia f 1 (x) = f(x,1) Tekintsük a következő lineáris függvényeket : 13

AIMD Fairness és Hatékonyság A Modell A következő lineáris függvényeket vizsgáljuk: Érdekes speciális esetek: MIMD: Multiplicative Increase/Multiplicative Decrease AIAD: Additive Increase/Additive Decrease AIMD: Additive Increase/Multiplicative Decrease 14

AIMD Fairness és Hatékonyság Hatékonyság Terhelés: Mérték: Fairness: x=(x 1,, x n ) esetén: 1/n F(x) 1 F(x) = 1 absolut Fairness skálázástól független Folytonos, differenciálható Ha n közül k fair, a többi 0, akkor F(x) = k/n 15

Konvergencia Konvergencia nem lehetséges Legjobb esetben oszcilláció az optimális érték körül Az oszcilláció amplitúdója A Einschwing Berezgési zeit idő Összterhelés Gesamtlast amplitúdó Amplitude Berezgési idő T idő Zeit 16

Vektor Ábrázolás (I) 2. Résztvevő adatrátája K Fairness egyenes x 2 optimális adatráták Hatékonyság egyenes 0 0 1. Résztvevő adatrátája K x 1 17

Vektor Ábrázolás (I) 2. Résztvevő adatrátája x 2 K egyenlő fairness Fairness egyenes optimális adatráták Hatékonyság egyenes egyenlő hatékonyság 0 0 1. Résztvevő adatrátája x 1 K 18

Vektor Ábrázolás (I) 2. Résztvevő adatrátája x 2 K additive increase Fairness egyenes additive decrease Hatékonyság egyenes 0 0 1. Résztvevő adatrátája x 1 K 19

Vektor Ábrázolás (I) 2. Résztvevő adatrátája x 2 K multiplicative increase Fairness egyenes multiplicative decrease Hatékonyság egyenes 0 0 1. Résztvevő adatrátája x 1 K 20

Vektor Ábrázolás (I) 2. Résztvevő adatrátája x 2 K additive increase Fairness egyenes multiplicative decrease Hatékonyság egyenes 0 0 1. Résztvevő adatrátája x 1 K 21

Hatékony Lineáris Függvények X(t) > K a D 0 b D 1 a D > 0 b D < 0 X(t) < K a I 0 b I 1 a I < 0 nem lehet 22

Fairness (I) Az x(t) = (x 1 (0),, x n (0)) fairnesse konvergál 1-hez, azaz ahol Teljesül c=a/b esetén: Bizonyítás? 23

Bizonyítás! (1) Teljesül: Behelyettesítve Ekkor: és 24

Bizonyítás! (2) Meg kell mutatni: Miért érvényes ez az egyenlőség? 25

Bizonyítás! (3) Miért érvényes ez az egyenlőség? ahol 26

Fairness (II) Teljesül, hogy: Azaz a fairness növekszik, ha c=a/b növekszik. c=0, akkor F(x(t+1))= F(x(t)) c>0, akkor F(x(t+1))> F(x(t)), ha F(x(t)) 1 c<0 ist F(x(t+1))< F(x(t)) Így a I /b I 0 és a D /b D 0 tehát, a I,b I,a D,b D 0 A hatákonyságból: a D 0 b D 1, azt jelenti tehát, hogy a D = 0 b D 1, a D > 0 b D < 0 kiesik. a I 0 b I 1, Teljesülni kell, hogy a I > 0, máskülönben nem növekszik a fairness (lásd MIMD) Ez AIMD-hez vezet. 27

Fairness (III) Tétel 1: Ha f 0 és f 1 lineáris függvények, akkor a fairnesshez és a hatékonysághoz x 0 esetén teljesülni kell, hogy: 28

TCP Adatráta AIMD probáló stratégia csomagvesztés-rátát okoz = elvesztett szegmensek / küldött szegmensek Közepes adatráta B = byte/sec. és a hibaráta kihatnak egymásra: kölcsönösen Az adatráta növelése növeli a vesztésrátát Magasabb vesztésráta csökenti az adatrátát Kisérletek mutatják, hogyha a szegmenshossz MSS és a round trip time RTT: 29

TCP-Adatráta A Statikus Eset n: rendelkezésre álló sávszélesség Átlagos adatráta: B = 3/4 n n/2 forduló után a vesztés: 1 Így: Adatráta Datenrate n 3/4 n mittlere ÁtlagosDatenrate adatráta n/2 Csomagvesztés Paketverlust idő Zeit n/2 n 3/2 n tehát 30

TCP-Adatráta Egy Sztochasztikus Modell Egy csomag p valószínűséggel veszik el A hiba nélkül átvitt csomagok száma X exponenciális eloszlású: A hiba nélkül küldött csomagok mennyiségének várható értéke : O(1/p) A fordulók száma az adatráta felezéséig: O(1/p ½ ) Várható adatráta: O(1/p ½ ) De: Mi a konstans faktor? Kisérletileg: (rokon modellre bizonyított): 31

Irodalom Van Jacobson: Congestion Avoidance and Control. In: ACM SIGCOMM, 314-329, 1988. Dah-Ming Chiu, Raj Jain: Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks. Computer Networks and ISDN Systems, Vol.: 17, 1-14, 1989. 32