enja ć analiza iskoriš sack i newreno mehanizama kontrole...

Post on 30-Jan-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Analiza iskoriAnaliza iskoriššććenja enja SACK i SACK i NewRENONewRENO

mehanizama kontrole mehanizama kontrole zaguzaguššenja na bazi simulacijeenja na bazi simulacije

Stanislav MiStanislav Mišškovikovićć, , Institut Mihajlo Pupin, BeogradInstitut Mihajlo Pupin, Beogradprof. Grozdan Petroviprof. Grozdan Petrovićć, , ElektrotehniElektrotehniččki fakultet, Beogradki fakultet, Beogradprof. Ljiljana Trajkoviprof. Ljiljana Trajkovićć, , Simon Simon FraserFraser University, University, CanadaCanada

ZahvalnostZahvalnost

Pregled izlaganjaPregled izlaganja

•• OpOpššti opis TCP/IP okruti opis TCP/IP okružženjaenja•• Teorijska osnovaTeorijska osnova•• Test platformaTest platforma•• Ciljevi ispitivanjaCiljevi ispitivanja•• Eksperimentalni rezultatiEksperimentalni rezultati•• ZakljuZaključčak i predlozi za dalje istraak i predlozi za dalje istražživanjeivanje

Servis sloja mreServis sloja mrežžee•• IP IP sloj mresloj mrežže prue pružžaa

–– Servis Servis ““najboljeg pokunajboljeg pokuššajaaja””–– Bez uspostave konekcije (CL)Bez uspostave konekcije (CL)–– Zasnovan na paketskom prenosuZasnovan na paketskom prenosu

•• PrednostiPrednosti–– EfikasnostEfikasnost–– Robusnost Robusnost –– Fleksibilnost Fleksibilnost

•• NedostaciNedostaci–– Promenljivo kaPromenljivo kaššnjenjenjenje–– PreuređivanjePreuređivanje, gubljenje i , gubljenje i

dupliranje paketadupliranje paketa–– Nepoznato stanje mreNepoznato stanje mrežžee

ReReššenje ?enje ?

Uvođenje kontrolnih mehanizamaUvođenje kontrolnih mehanizama•• Na sloju transporta (TCP)Na sloju transporta (TCP)

•• Na sloju aplikacije (UDP + ...)Na sloju aplikacije (UDP + ...)

Ovaj rad se bavi mehanizmima Ovaj rad se bavi mehanizmima kontrole zagukontrole zaguššenjaenja

Ispunjavaju li Ispunjavaju li sadasadaššnji nji TCP kontrolni TCP kontrolni mehanizmi bamehanizmi bašš sve zahteve?sve zahteve?

Velikim delom Velikim delom DADA, , ALI ALI ........

TCP Reno i njegovi derivati ne razlikuju gubitke usled:TCP Reno i njegovi derivati ne razlikuju gubitke usled:–– GreGreššaka u kanaluaka u kanalu–– Pojave fedingaPojave fedinga–– ZaguZaguššenjaenja

Svi gubici se shvataju kao indikacija zaguSvi gubici se shvataju kao indikacija zaguššenja.enja.

•• DistribuiranostDistribuiranost je uspostavljena samo na krajnjim je uspostavljena samo na krajnjim tataččkamakama komunikacijekomunikacije

Ispunjavaju li Ispunjavaju li sadasadaššnji nji TCP kontrolni TCP kontrolni mehanizmi bamehanizmi bašš sve ove zahteve?sve ove zahteve?

•• IstraIstražživanja su identifikovala nekoliko tipova ivanja su identifikovala nekoliko tipova problemaproblema–– LockoutLockout–– RTT neravnopravnostRTT neravnopravnost–– Globalnu sinhronizaciju tokovaGlobalnu sinhronizaciju tokova–– ACK kompresiju i sl.ACK kompresiju i sl.

•• Aplikacije osetljive na kaAplikacije osetljive na kaššnjenje nisu pogodne za njenje nisu pogodne za TCP prenosTCP prenos

lockout

globalna sinhronizacija

RTT neravnopravnost

Kako unaprediti kontrolu zaguKako unaprediti kontrolu zaguššenja?enja?

•• ProProšširenjem irenjem distribuiranostidistribuiranosti nana rutererutere–– ““vevešštataččkkomom”” aktivaktivacijomacijom kontrole zagukontrole zaguššenja (enja (AQMAQM))–– Preventivnom saradnjom sa kontrolom zaguPreventivnom saradnjom sa kontrolom zaguššenja enja

((ECNECN))

•• Unapređenjem mehanizama implementiranih u Unapređenjem mehanizama implementiranih u kontrolu zagukontrolu zaguššenja (enja (NewrenoNewreno, SACK, SACK, , LargerLargerIW, CWV, RBP, CBI, IW, CWV, RBP, CBI, EifelEifel...)...)

Koji su kljuKoji su ključčni ciljevi rada?ni ciljevi rada?

Ispitati dva perspektivna derivata Ispitati dva perspektivna derivata najrasprostranjenije TCP implementacijenajrasprostranjenije TCP implementacije

((NewRenoNewReno i SACK)i SACK)

ProuProuččiti ponaiti ponaššanje popularne AQM tehnikeanje popularne AQM tehnike((gentlegentle RED, RED, adaptiveadaptive RED)RED)

Pregled izlaganjaPregled izlaganja

•• OpOpššti opis TCP/IP okruti opis TCP/IP okružženjaenja•• Teorijska osnovaTeorijska osnova•• Test platformaTest platforma•• Ciljevi ispitivanjaCiljevi ispitivanja•• Eksperimentalni rezultatiEksperimentalni rezultati•• ZakljuZaključčak i predlozi za dalje istraak i predlozi za dalje istražživanjeivanje

TCP = pouzdan servisTCP = pouzdan servis•• Kontrola protokaKontrola protoka

–– Kontrolne sumeKontrolne sume–– Numerisanje segmenataNumerisanje segmenata–– ACK ACK clockclock i i kumulativnekumulativne potvrdepotvrde–– KlizeKlizećći prozori prozor–– Vrati se za Vrati se za nn

•• Kontrola zaguKontrola zaguššenjaenja = kontrola protoka + procena stanja = kontrola protoka + procena stanja mremrežžee–– Upravljanje veliUpravljanje veliččinom klizeinom klizeććeg prozoraeg prozora–– Procena vremena obilaska (RTT)Procena vremena obilaska (RTT)

Kontrola protoka Kontrola protoka -- ACK ACK clockclock

Tb

Tb

Izvorpropusniopseg

vreme

Odredište

Tb Tb

Tb

Obradafiksnog trajanja

Obradafiksnog trajanja

podaci

potvrde

•Samo-sinhronizacija kontrole protoka u skladu sa proizvodom propusnog opsega i kašnjenja•Održavanje stabilnog stanja broja paketa u mreži (Van Jacobson)

BandwidthBandwidth--delaydelay proizvodproizvodKljuKljuččan fizian fiziččki parametar za veliki parametar za veliččinu prozora (inu prozora (cwndcwnd))

Određuje maksimalni kapacitet mreOdređuje maksimalni kapacitet mrežže kao baferae kao bafera

•• cwndcwnd = = bandwidthbandwidth ·· delaydelay–– Idealno stanje (prethodni slajd)Idealno stanje (prethodni slajd)

•• cwndcwnd >> bandwidthbandwidth ·· delaydelay–– BaferisanjeBaferisanje paketa u ruterimapaketa u ruterima–– PovePoveććan RTT i moguan RTT i mogućće odbacivanje paketae odbacivanje paketa

•• cwndcwnd << bandwidthbandwidth ·· delaydelay–– Neefikasno koriNeefikasno koriššććenje resursaenje resursa

Kontrola zaguKontrola zaguššenjaenja

Kako TCP registruje zaguKako TCP registruje zaguššenje?enje?

ACK duplikati (DUPACK)ACK duplikati (DUPACK)

Istek intervala Istek intervala retransmisijeretransmisije (RTO (RTO timeouttimeout))

RTO estimacijaRTO estimacija

• RTT je signal nepoznatih svojstava• odabiranje pozitivnih uzoraka sa preklapanjem• estimacija na osnovu prosečne vrednosti i

apsolutne varijacije RTT-a

TCP Reno mehanizmi TCP Reno mehanizmi cwndcwndupravljanja upravljanja

SlowStart

CongestionAvoidance

Fast Ret /Fast Rec

RTO

novi ACK

novi ACK

RTO

novi ACK /RTO

tri ACKduplikata

ACKduplikat

tri ACKduplikata

NewRENONewRENO•• fastfast retransmitretransmit reaguje na reaguje na parcijalni ACKparcijalni ACK

•• Parcijalni ACK je signal da se poParcijalni ACK je signal da se poššalje joalje jošš neki neki izgubljen paket i eventualno novi podaci ( ako izgubljen paket i eventualno novi podaci ( ako cwndcwnd dozvoljava )dozvoljava )

•• Svaki novi parcijalni ACK Svaki novi parcijalni ACK ““ispumpavaispumpava”” cwndcwnd

AktivnoAktivno upravljanjeupravljanje baferima baferima -- AQMAQM

•• Porast Interneta i naPorast Interneta i naččin funkcionisanja TCP in funkcionisanja TCP mehanizama namemehanizama namećću implementaciju dela u implementaciju dela kontrole zagukontrole zaguššenja na enja na ““usputnimusputnim”” tataččkama kama (ruterima)(ruterima)

•• Postoje dva komplementarna pravcaPostoje dva komplementarna pravca–– aktivno upravljanje baferima aktivno upravljanje baferima –– AQMAQM–– raspoređivanje raspoređivanje (engl. (engl. schedulingscheduling))

AQMAQM•• Aktivno upravljanje baferima treba da Aktivno upravljanje baferima treba da optimizujeoptimizuje

odnos:odnos:

–– Prevelikog kaPrevelikog kaššnjenja njenja (fizi(fiziččki dugi baferi)ki dugi baferi)–– Velikog gubitka paketa Velikog gubitka paketa (fizi(fiziččki kratki baferi)ki kratki baferi)

•• MultifraktalnaMultifraktalna priroda saobrapriroda saobraććaja oteaja otežžava ovaj ava ovaj zadatakzadatak

RED RED –– RandomRandom EarlyEarly DetectionDetection

•• Treba da smanji srednju Treba da smanji srednju popunjenostpopunjenost bafera bafera•• Najbolje sarađuje sa transportnim mehanizmima Najbolje sarađuje sa transportnim mehanizmima

za koje je gubitak paketa znak zaguza koje je gubitak paketa znak zaguššenjaenja

ProbabilistiProbabilističčki odbacuje/markira pakete u ki odbacuje/markira pakete u funkciji srednje funkciji srednje popunjenostipopunjenosti baferabafera

REDRED

Procena proseProcena proseččne ne popunjenostipopunjenosti baferabaferaavgavg ii = (1 = (1 -- wwqq))·· avgavgii--11 + + wwqq·· qq

ECN ECN –– ExplicitExplicit CongestionCongestion NotificationNotification

•• Koristi servis AQM mehanizamaKoristi servis AQM mehanizama•• ZaguZaguššenje se oglaenje se oglaššava ava markiranjem paketa markiranjem paketa

•• TCP se ponaTCP se ponašša prema ACK markeru kao prema a prema ACK markeru kao prema izgubljenom paketu izgubljenom paketu

•• Potrebno je definisati nove opcije uPotrebno je definisati nove opcije u–– IP zaglavlju (7. i 8. bit IP zaglavlju (7. i 8. bit ToSToS polja)polja)–– TCP zaglavlju (2 TCP zaglavlju (2 bitabita u u ReservedReserved polju)polju)

ECNECN

•• Dodatno optereDodatno optereććenje komunikacijeenje komunikacije–– OglaOglaššavanje i uspostava TCP+ECN sesijaavanje i uspostava TCP+ECN sesija–– SinhronisanjeSinhronisanje TCP i IP nivoaTCP i IP nivoa–– Izmene u protokolima Izmene u protokolima tuneliranjatuneliranja i sigurnostii sigurnosti

•• PrednostiPrednosti–– Paketi se ne gube nepotrebno (preventivno)Paketi se ne gube nepotrebno (preventivno)–– Upozorenje o Upozorenje o zaguzaguššenjuenju se dobija brse dobija bržže (nego RTO e (nego RTO

ili 3 ACK duplikata)ili 3 ACK duplikata)

Pregled izlaganjaPregled izlaganja

•• OpOpššti opis TCP/IP okruti opis TCP/IP okružženjaenja•• Teorijska osnovaTeorijska osnova•• Test platformaTest platforma•• Ciljevi ispitivanjaCiljevi ispitivanja•• Eksperimentalni rezultatiEksperimentalni rezultati•• ZakljuZaključčak i predlozi za dalje istraak i predlozi za dalje istražživanjeivanje

NsNs--2 simulator2 simulator•• Objektno orijentisan, otvorenog kodaObjektno orijentisan, otvorenog koda

–– saradnja istrasaradnja istražživaivaččaa–– provera verodostojnosti testovaprovera verodostojnosti testova

•• Korisnici: oko 600 Korisnici: oko 600 instituta u 50 zemaljinstituta u 50 zemaljaa

•• Obrađuju se diskretni događajiObrađuju se diskretni događaji

•• Paketski saobraPaketski saobraććajaj

•• Platforme: Platforme: UnixUnix//UnixUnix--like, Windows?!like, Windows?!

NNss--2 simulator2 simulator

•• Oblasti znaOblasti značčajnih ajnih istristržživanjaivanja–– QoSQoS–– MulticastMulticast–– TransportTransport–– Web Web cachingcaching–– WirelessWireless–– MultimediaMultimedia

Prednost: Prednost: veoma realistiveoma realističčno okruno okružženjeenjeProblem:Problem: savladavanje softverskog okrusavladavanje softverskog okružženjaenja

NsNs--2 simulator2 simulator

100K linija C++ koda100K linija C++ koda70K linija 70K linija OTclOTcl kodakoda

NsNs--2 simulator2 simulator

NsNs--2 simulator2 simulator

ŠŠema simulacione platformeema simulacione platforme

Redosled Redosled konfigurisanjakonfigurisanja nsns--22•• Formiranje topologijeFormiranje topologije

–– Konfigurisanje parametara linkovaKonfigurisanje parametara linkova–– Konfigurisanje parametara Konfigurisanje parametara ččvorovavorova

•• Izbor tehnike za upravljanje baferimaIzbor tehnike za upravljanje baferima•• Konfigurisanje protokola sloja transportaKonfigurisanje protokola sloja transporta

–– Povezivanje sloja transporta na Povezivanje sloja transporta na ččvorovevorove–– Konfigurisanje parametara sloja transportaKonfigurisanje parametara sloja transporta–– Povezivanje izvora i odrediPovezivanje izvora i odrediššta na sloju transportata na sloju transporta–– TracingTracing na sloju transportana sloju transporta

•• SaobraSaobraććaj i aplikacioni protokoliaj i aplikacioni protokoli–– PridruPridružživanje sloja aplikacije transportnim ivanje sloja aplikacije transportnim ččvorovimavorovima–– Konfigurisanje parametara saobraKonfigurisanje parametara saobraććajaaja

•• TracingTracing na na žželjenim linkovima ili opeljenim linkovima ili opššti ti tracingtracing simulacijesimulacije

Pregled izlaganjaPregled izlaganja

•• OpOpššti opis TCP/IP okruti opis TCP/IP okružženjaenja•• Teorijska osnovaTeorijska osnova•• Test platformaTest platforma•• Ciljevi ispitivanjaCiljevi ispitivanja•• Eksperimentalni rezultatiEksperimentalni rezultati•• ZakljuZaključčak i predlozi za dalje istraak i predlozi za dalje istražživanjeivanje

Postavke simulacijePostavke simulacijeCilj ispitivanja:Cilj ispitivanja:•• Koliko efikasno AQM i TCP mehanizmi koriste propusni opsegKoliko efikasno AQM i TCP mehanizmi koriste propusni opsegIzabrane metrike Izabrane metrike –– pogodne za ispitivanje masovnih transfera:pogodne za ispitivanje masovnih transfera:•• Efikasnost efektivne brzine razmene podataka Efikasnost efektivne brzine razmene podataka

sMb

igoodputGEff i

/5.1

)(∑=

•• Procenat odbacivanja paketaProcenat odbacivanja paketa

∑∑

+=

i

i

iDropiThroughput

iDropDrop

)()(

)([%]

ParametriParametri–– Broj i vrsta TCP konekcijaBroj i vrsta TCP konekcija–– Vrsta i postavke AQM mehanizmaVrsta i postavke AQM mehanizma–– Generator greGenerator grešške na linkuke na linku

Pregled izlaganjaPregled izlaganja

•• OpOpššti opis TCP/IP okruti opis TCP/IP okružženjaenja•• Teorijska osnovaTeorijska osnova•• Test platformaTest platforma•• Ciljevi ispitivanjaCiljevi ispitivanja•• Eksperimentalni rezultatiEksperimentalni rezultati•• ZakljuZaključčak i predlozi za dalje istraak i predlozi za dalje istražživanjeivanje

Uvod Uvod -- 2 TCP + 1 UDP2 TCP + 1 UDP

0.8

0.82

0.84

0.86

0.88

0.9

0.92

0.94

4 12 36 48 72 108

QL[pkt]

Goo

dput

Effi

ciec

y

DropTailRED 2%RED 10%adapt RED

00.51

1.52

2.53

3.54

4.5

4 12 36 48 72 108

QL[pkt]

Dro

p [%

]

DropTailRED 2%RED 10%adapt. RED

2TCP + 1UDP2TCP + 1UDP

QL=4QL=4

REDRED

DropTailDropTail

Uvod Uvod -- 2 TCP + 1 UDP2 TCP + 1 UDP

adaptive adaptive RED, QL=36RED, QL=36

18TCP + 1UDP18TCP + 1UDP

0.905

0.91

0.915

0.92

0.925

0.93

0.935

0.94

4 12 36 48 72 108 200

QL[pkt]

Goo

dput

Effi

cien

cy

Drop TailRED 2%RED 10%adapt. RED

0

2

4

6

8

10

12

14

4 12 36 48 72 108 200

QL [pkt]

Dro

p [%

]

Drop TailRED 2%RED 10%adapt. RED

MaliMali kapacitet bafera = kolaps pozitivnih RED svojstavakapacitet bafera = kolaps pozitivnih RED svojstava

18TCP + 1UDP18TCP + 1UDP

adaptive adaptive RED, QL=72RED, QL=72

NewRENONewRENO+ECN +ECN vsvs. SACK. SACK

-130

-80

-30

20

70

4 12 36 48 72 108

QL[pkt]

Goo

dput

(NR

-SAC

K)

DropTailRED 2%RED 10%adapt. RED

-120

-70

-20

30

80

130

180

4 12 36 48 72 108QL[pkt]

Goo

dput

(NR

-SAC

K)[k

b/s]

DropTailRED 2%RED 10%adapt. RED

-550

-450

-350

-250

-150

-50

50

150

4 12 36 48 72 108 200QL[pkt]

Drop TailRED 2%Red 10%adapt. RED

2 TCP konekcije 6 TCP konekcija

18 TCP konekcija

NewRENONewRENO+ECN +ECN vsvs. SACK. SACK

a. NewReno+ECN konekcije (mark_p = 0.1)

b. SACK konekcije (mark_p = 0.1)

c. NewReno+ECN konekcije (mark_p = 0.3)

d. SACK konekcije (mark_p = 0.3)

0

0.2

0.4

0.6

0.8

1

1.2

4 12 36 48 72 108

QL[pkt]

Dro

p (N

R /

SAC

K)

Drop TailRED 2%RED 10%adapt. RED

00.20.40.60.81

1.21.41.6

4 12 36 48 72 108QL[pkt]

Dro

p (N

R /

SAC

K)

DropTailRED 2%RED 10%adapt. RED

00.20.40.60.81

1.21.4

4 12 36 48 72 108 200QL[pkt]

Dro

p (N

R /

SAC

K)

Drop TailRED 2%RED 10%adapt. RED

2 TCP konekcije 6 TCP konekcija

18 TCP konekcija

NewRENONewRENO+ECN +ECN vsvs. SACK. SACK

Pregled izlaganjaPregled izlaganja

•• OpOpššti opis TCP/IP okruti opis TCP/IP okružženjaenja•• Teorijska osnovaTeorijska osnova•• Test platformaTest platforma•• Ciljevi ispitivanjaCiljevi ispitivanja•• Eksperimentalni rezultatiEksperimentalni rezultati•• ZakljuZaključčak i predlozi za dalje istraak i predlozi za dalje istražživanjeivanje

ZakljuZaključčcici

•• TCP mehanizmi efikasno koriste propusni opsegTCP mehanizmi efikasno koriste propusni opseg•• Broj TCP konekcija bitno utiBroj TCP konekcija bitno utičče na AQM mehanizmee na AQM mehanizme•• Novi RED mehanizmi osetljivi na stanje mreNovi RED mehanizmi osetljivi na stanje mrežžee•• Adaptivni RED se ne moAdaptivni RED se ne možže adaptirati na sve uslove, ali e adaptirati na sve uslove, ali

momožže e ““promenitipromeniti”” stanje mrestanje mrežžee•• Glavna funkcija Glavna funkcija adaptiveadaptive RED mehanizma je RED mehanizma je

fokusiranje u centar RED zonefokusiranje u centar RED zone•• NewRENONewRENO+ECN se mo+ECN se možže ponae ponaššati bolje nego SACK ati bolje nego SACK

u agresivnim sredinamau agresivnim sredinama

Dalje istraDalje istražživanjeivanje

•• PraPraććenje parametara bitnih za multimedijalne enje parametara bitnih za multimedijalne sadrsadržžaje (kaaje (kaššnjenje, njenje, jitterjitter, ...), ...)

•• PraPraććenje tehnika koje prate kontrolu zaguenje tehnika koje prate kontrolu zaguššenjaenja

•• Upotreba Upotreba realnijihrealnijih generatora saobrageneratora saobraććajaaja

•• Formiranje baze Formiranje baze tracetrace--ovaova za akademsku mreza akademsku mrežžuu

•• Formiranje AQM tehnike sa hijerarhijom i Formiranje AQM tehnike sa hijerarhijom i detaljnijom upotrebom statistike saobradetaljnijom upotrebom statistike saobraććajaaja

top related