Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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