TCP protokoll Torlódáskezelés.

Slides:



Advertisements
Hasonló előadás
Egy szélsőérték feladat és következményei
Advertisements

Takács Béla  Legyen decentralizált, azaz ne egy központi géptől függjön minden!  Legyen csomagkapcsolt, hogy többen is tudják használni a hálózatot!
Készítette: Kosztyán Zsolt Tibor
A hálózat működése 1. A DHCP és az APIPA
FDDI (Fiber Distributed Data Interface, Száloptikai adatátviteli interface)
Hálózati és Internet ismeretek
ISO International Standards Organisation OSI Open System Interconnection ISO International Standards Organisation OSI Open System Interconnection Ez a.
Számítógépes hálózatok
BME Híradástechnikai Tanszék
Virtuális méréstechnika Hálózati kommunikáció 1 Mingesz Róbert V
avagy a hálózatok hálózata
TCP/IP protokollverem
IPv4 címzés.
Készítette: Bátori Béla 12.k
A TCP/IP hivatkozási modell
Balla Attila CCIE #7264 BGP optimalizálás Balla Attila CCIE #7264
Előadássorozat a Független Pedagógiai Intézetben fupi.hu Az internet: miért, hogyan? 6 / 10. Csada Péter Csada Bt. cspc.hu.
Hálózati alapismeretek
Sávszélesség és adatátvitel
Egy skálázható architectúra fair sávszélesség elosztás közelítésére nagysebességű hálózatokon.
Transzport protokollok funkciói
Sándor Laki (C) Számítógépes hálózatok I. 1 Számítógépes hálózatok 6.gyakorlat Adatkapcsolati réteg MAC alréteg, ALOHA, CSMA Laki Sándor
IP alapú hálózatok tervezése és üzemeltetése
Bernoulli Egyenlőtlenség
Gazdaságmatematika 6.szeminárium.
OSI Modell.
Számítógép-hálózat • Önálló számítógépek összekapcsolt rendszere
A TCP/IP cím.
Számítógépes Hálózatok GY 9. Gyakorlat Bitmap, Binary countdown, Routing, Dijkstra, AIMD Számítógépes hálózatok GY1.
Számítógépes Hálózatok GY 2. Gyakorlat Réteg modellek, alapfogalmak 2/23/2012Számítógépes hálózatok GY1.
Számítógépes Hálózatok GY
Számítógépes Hálózatok GY
A protokollok határozzák meg a kapcsolattartás módját.
UDP protokollok User datagram protocol- Felhasználói datagrammprotokoll.
Vezetéknélküli hálózatok biztonsága
Dr. Balogh Péter Gazdaságelemzési és Statisztika Tanszék DE-AMTC-GVK
Hálózati Bombermen Belicza András Konzulens: Rajacsics Tamás BME-AAIT.
Hálózati architektúrák
Ismétlő struktúrák.
Lénárt Szabolcs Páll Boglárka
Hálózati eszközök Bridge, Switch, Router
Tömbök és programozási tételek
Számítógép-hálózatok
RMKI szeminárium 2004 június 14.Nagy sebességű Internet hálózatok 1 Nagysebességű Internet Hálózatok Telbisz Ferenc Hogyan lehet kihasználni egy Gbit/s.
Bifrost Anonim kommunikációs rendszer. Bevezetés Egyre több szolgáltatás jelenik meg az interneten, melyek megkövetelik az anonimitiást, pl.: Egészségügyi.
Hogy jön létre egy Paradigma.
2. Feladat. És akkor kezdjük is el!
Forgalomirányítók és kapcsolók Óravázlat Készítette: Toldi Miklós.
Spring 2000CS 4611 Megbízható Byte-Folyam Szolgáltatás (Transmission Control Protocol TCP) Vázlat Kapcsolatlétrehozás és bontás Csúszó Ablak Hibajavító.
Rétegmodellek 1 Rendelje az alábbi hálózati fogalmakat a TCP/IP modell négy rétegéhez és a hibrid modell öt rétegéhez! Röviden indokolja döntését. ,
Kapcsolatok ellenőrzése
Business Mathematics A legrövidebb út.
TCP jellemzői 1/3 „A TCP egy kapcsolatorientált megbízható szolgáltatás kétirányú bájt-folyamokhoz.” KAPCSOLATORIENTÁLT Két résztvevő, ahol egy résztvevőt.
Mérés és adatgyűjtés laboratóriumi gyakorlat Hálózati kommunikáció 1 Makan Gergely, Mingesz Róbert, Nagy Tamás V
Számítógép hálózatok.
GRÁFOK Definíció: Gráfnak nevezzük véges vagy megszámlálhatóan végtelen sok pont és azokat összekötő szintén véges vagy megszámlálhatóan végtelen sok.
Számítógépes Hálózatok 6. gyakorlat. Központi zárthelyi Időpont: , Kedd, 8:30-9:45 Helyszín: Konferencia terem (É ) Számonkérés módja:
Tóth Gergely, február BME-MIT Miniszimpózium, Folytonos idejű rendszerek anonimitása Tóth Gergely Konzulens: Hornák Zoltán.
Számítógépes hálózatok
IP alapú hálózatok tervezése és üzemeltetése
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
HÁLÓZAT Maximális folyam, minimális vágás
…az élet forrása! Hévíz.hu hirdetési tarifák 2015 A Hévíz.hu weboldal Hévíz városának turisztikai weboldala, melyen minden Hévízről szóló információ megtalálható.
A szállítási réteg az OSI modell 4. rétege. Feladata megbízható adatátvitel megvalósítása két hoszt között. Ezt úgy kell megoldani, hogy az független.
A TCP/IP protokoll. Az ARPANET eredeti protokollja: Network Control Protocol. 1974: Vinton G. Cerf és Robert E. Kahn: új protokollstruktúra fejlesztése.
1 Többszörös címek D osztályú IP címek
CONNECTRA rendszer bevezetése
Kérjük, adja meg felhasználónevét és jelszavát!
Készletek – Állandó felhasználási mennyiség (folyamatos)
Készletek - Rendelési tételnagyság számítása -1
Előadás másolata:

TCP protokoll Torlódáskezelés

A szállítási protokoll (TCP) Feladata: hibamentes kommunikáció (end-to-end) Funkciók: fragmentálás/defragmentálás (bitfolyam tördelése csomagokra) sorrendhelyesség adatvesztés nélkül hibajavítás (ismétlés) torlódásvezérlés és torlódásvédelem

TCP csomag szerkezete

A torlódás megközelítése End-to-end: hálozati visszajelzés nélkül A kapcsolat két végén levő rendszer figyeli a veszteségeket, késéseket (TCP) Network assisted: A routerek visszajeleznek a végrendszereknek (egy küldési sebességet is ajánlanak)

A TCP torlódásvezérlése Megnyílvánulások: Csomagvesztés Hosszú késések (felsorakozás a routerek buffereiben) A TCP torlódásvezérlést az 1980-as évek végén Van Jacobson vezette be az internetbe, kb 8 évre miután a TCP/IP protokollcsomag megjelent. Nem volt sikere, rögtön a megjelenése után az egész internet a nagy torlódásoktól szemvedett. A felhasználók által a hálózatba szúrt adatok felgyorsultak, ezzel túlterhelve a routereket Lényege az hogy a vonal végein levő rendszerek kiprobálják a hálózat kapacitását annak érdekében hogy pontosan annyi adatot tudjanak egyszerre küldeni a hálózaton keresztül amennyit az megbir.

Fogalmak Szegmens – egy TCP/IP csomag amely adatot, nyugtát vagy mindkettot tartalmaz Küldőfél maximális szegmens mérete: (SENDER MAXIMUM SEGMENT SIZE (SMSS) ) a legnagyobb szegmens mérete amit a küldő elkuldhet. Ez a méret függhet a hálozattól, az MTU útkereső algoritmustol, az RMSS-től, stb. A mérethez nem számoljuk hozzá a TCP/IP headerjeinek és opcióinak méretét.

Fogalmak Fogadófél maximális szegmens mérete: (RECEIVER MAXIMUM SEGMENT SIZE (RMSS)) a legnagyobb szegmens mérete amit a fogadófél elfogad. Ezt az értéket a küldő fél a kapcsolat felállításánál kapja meg a fogadótol egy ugynevezett MSS opció segítségével. Ha ez az opció nincs meghatározva, akkor a méret 536 byte lesz. A mérethez nem számoljuk hozzá a TCP/IP headerjeinek és opcióinak méretét.

Fogalmak Teljes méretű szegmens: MSS amely a megengedett legnagyobb mennyiségű adatbyteot tartalmazza (pl. az a szegmens, amely SMSS byte adatot tartalmaz.) Fogadó ablakméret: (RWND) a fogadó által utoljára hírdetett ablakméret.

Fogalmak Torlódási ablakméret (CWND): egy TCP státusváltozó, amely meghatározza azt az adatmennyiséget amelyet a TCP elkuldhet. A protokoll nem küldhet olyan adatot, amelynek a sorszáma nagyobb mint a legnagyobb lenyugtázott csomag sorszámának valamint a CWND és az RWND minimumának az összege.

Fogalmak Kezdeti ablakméret (IW): a küldő torlodási ablakmérete miután a kapcsolatteremtés megtörtént. Veszteség ablakméret (LW): a torlódási ablakméret abban a pillanatban mikor a küldő veszteséget érzékel az újraküldési timer által.

Fogalmak Ujraküldési ablakméret (RW): a torlódási ablakméret abban a pillanatban mikor a küldő elkezdi újraküldeni az adatokat. Csak a SLOW-START algoritmus használatánál alkalmas. Flight size: az az adatméret amelyre a küldő még nem kapott nyugtát.

Torlódásvezérlő algoritmusok SLOW START CONGESTION AVOIDANCE FAST RETRANSMIT FAST RECOVERY

SLOW START, CONGESTION AVOIDANCE A küldő által használt algoritmusok, amellyel a hálozatba vitt adatok mennyiségét szabályozzák. E két algoritmus működését a CWND és a RWND változók minimumai határozzák meg. CWND az az adatmennyiség amelyet a küldő küldhet a nyugta megkapásáig. SSTHRESH státusváltozó, meghatározza hogy a küldő a SS illetve a CA algoritmust használja

Működés Mire jó a SS algoritmus? Az adatok egy ismeretlen hálozaton való küldése előtt a protokoll ki kell próbálja az illető utvonal kapacitását, azért hogy a küldött adatsorozat ne legyen nagyobb mint amennyit a hálozat elbir. Miután veszteséget érzékel a küldő, a protokoll ujra el kell végezze a fenti műveletet.

Működés SSTHRESH: kezdetben relativ nagy (pl. egyenlő a hirdetett ablakmérettel.), csökken ha torlódás jön létre. SS alatt a protokoll növeli a CWND-t legtöbb SMSS-el (tht exponenciálisan) minden megkapott nyugtára amely új adat elérkezését jelzi. SS végét a CWND és SSTHRESH változók egyenlősége jelzi, illetve az, ha CWND nagyobb mint SSTHRESH.

Működés CA alatt minden nem duplikált nyugta érkezésekor a CWND a következő módon változik: CWND += SMSS*SMSS/CWND (1) Mikor a TCP küldő veszteséget érzékel: SSTHRESH = max (FlightSize / 2, 2*SMSS) (2) Timeout esetén CWND értékét kötelező módon LW értékénél kisebb vagy vele egyenlő értékre kell állítani. LW mérete mindig 1 teljes méretű szegmens függetlenül az IW értékétől. Tehát, miután ujraküldi az elveszett szegmenseket, a TCP küldő megint a SS algoritmust használja ahhoz hogy növelje az ablakot az aktuális méretéről az SSTHRESH értékéig, azután pedig áttér a CA algoritmusra.

Példa TCP Slow Start time Host A Host B one segment RTT two segments four segments TCP Slow Start

Fast Retransmit/Fast Recovery Egy TCP fogadónak rögtön jeleznie kell egy duplikált nyugta segítségével a TCP küldőnek ha egy szegmens sorszáma nem egyezik meg a várt szegmens sorszámával. A TCP küldőnek egy duplikált nyugta jelentheti: Elveszett szegmensek: ebben az esetben minden szegmens az elveszett szegmens után egy duplikált nyugtát idéz elő a fogadó részéről. A hálozat átrendezi a szegmenseket A hálozat duplikálja az adat illetve a nyugtákat tartalmazó szegmenseket

Működés 3 duplikált nyugta után (4 nyugta, amiből az utolsó 3 az első duplikáltja) a küldő újraküldi az elveszettnek bizonyult szegmenst. Nem várja meg a timeoutot Miután a Fast Retransmit algoritmus ujraküldi az elveszett szegmenst, a Fast Recovery algoritmus átveszi a feladatot addig, míg egy nem duplikált nyugta érkezik.

Működés A FR és FR algoritmusok általában a következő képpen vannak együtt implementálva: Mikor a harmadik duplikált nyugta megérkezett, az SSTHRESH változót a 2. egyenlőség által megadott értéknél nem nagyobb értékre állítja. Az elveszett szegmenst ujraküldi majd CWND értékét SSTHRESH +3*SMSS-re állítja. (megszorozza a torlódási ablak méretét a szegmensek számával, amelyek elhagyták a hálozatot és a fogadó bufferjébe kerültek)

Működés Minden duplikált nyugtára, megnöveli CWND-t SMSS-el. (megnöveli az ablakméretet egy szegmens méretével, szegmens amely elhagyta a hálozatot) Elküldi a szegmenst ha a CWND új értéke és a fogadó hírdetett ablakmérete megengedi. Mikor egy nem duplikált nyugta érkezik, a CWND értékét SSTHRESH-re állítja(SSTHRESH értéke az 1. lépésből). A fenti nyugta az a válasz kell legyen előzőleg elveszett és újraküldött szegmensre. Ugyanakkor ez a nyugta konfirmálja azokat a szegmenseket, amik az elveszett szegmens és a 3.ik duplikált nyugta között lettek elküldve.

Inaktív kapcsolatok újraindítása Relatív hosszú idejű inaktivitás után a fent említett algoritmusok megengedik a hálózat kapacitásának nem megfelelő mennyiségű adatok elküldését. Egy inaktivitási periódus után a TCP nem használhatja fel az ACK időzítőt mivel nyugták már nincsenek a hálózatban. Ezért a TCP nem csinálhat mást mint küldjön egy CWND méretű szegmenssorozatot ami lehet nem felel meg a kapcsolat aktuális kapacitásához. Ajánlatos SS algoritmust használni a kapcsolat újraindítására egy inaktivitási periódus után. A SS újraindítja az ACK időzítőt pontosan úgy mint az adatok küldése elött. Mikor a TCP nem kapott egy szegmenst sem egynél több ujraküldési timeoutig, lecsökkenti a CWND értékét RW-re (újraküldési ablak) mielött megint küldeni kezd.

Nyugták generálása A késleltetett ACK algoritmus: TCP fogadó által használt. A fogadónak nem ajánlott túl sokat késleltetni a nyugták küldését. Pontosabban, legalább minden második teljes méretű szegmensre ajánlott egy nyugtát kuldeni méghozzá 500 ms-on belül az utolsó még nem nyugtázott csomag érkezésétől. Out-of-order szegmensek érkezésekor ezeket rögtön le kell nyugtázni, ezzel elősegítve a veszteségek gyors visszaállítását. Ha egy nagyobb indexű szegmens érkezik mint a RWND által megengedett, akkor rögtön duplikált nyugtát kell küldeni. Ugyanúgy mikor olyan indexű szegmens érkezik amely befedi részben vagy teljesen a RWND-t akkor ezt rögtön jelezni kell nyugtával.

Veszteségeket helyreállító mechanizmusok A Fast Retransmit és a Fast Recovery algoritmusokat bővítik ki, ezeket melegen ajánlják a TCP kutatói. SACK-on (Selective ACK) alapuló algoritmusok (a küldő minden RTT alatt egyetlen elveszett szegmensről kap tudomást, így csak azokat a szegmenseket küldi újra, amik elvesztek). Ez a módszer akkor ad jelentős elönyt, mikor egy ablakból több szegmens is elveszlődik. Nem SACK-on alapuló algoritmusok: ezek nem tudják eldönteni, hogy a duplikált nyugtákat egy előzőleg elveszett csomag vagy a fölöslegesen újraküldött csomagok idézik elő.

Veszteségeket helyreállító mechanizmusok Mikor a veszteség felfedeződik, SSTHRESH értékét a (2)-s kifejezés értékével egyenlő vagy kisebb értékre állítjuk Amíg mindegyik szegmens az illető ablakból a fogadónál a helyén nincs, minden RTT-ben elküldött szegmensek száma nem lehet nagyobb mint fele a még nem nyugtázott szegmenseknek abban a pillanatban mikor az elveszlődést észlelte a protokoll. Miután minden veszteség helyre van állítva egy adott ablakban, CWND értékét SSTHRESH értékével egyenlő vagy kisebb értékre kell állítsa a protokoll és a CA algoritmus segítségével kell tovább növelni a CWND értékét. Veszteség két egymás utáni ablakban vagy az újraküldött adatok elvesztése direkt jelei a torlódásnak, ennek következményeként CWND és SSTHRESH értékeit kétszeresen csökkenteni kell.

Biztonsági megfontolás A TCP a küldőt arra kötelezi hogy csökkentse a küldési sebességet ujraküldési timeout illetve duplikált nyugta esetén. Ebből kifolyolag egy támadó lelassíthatja a kapcsolatot a csomagok és a nyugták elvesztésével illetve falcs duplikált nyugták generálásával. Ha ezt a két esemény egyszerre bekövetkezik, a SSTHRESH automatikusan minimális lesz (2*SMSS).