Professional Documents
Culture Documents
PR3 Kontrola Toka I Zagusenja
PR3 Kontrola Toka I Zagusenja
Zavod za komunikacije
Mree raunala
17.11.2009
1/63
T E F O
Zaguenje u mrei
Zavod za komunikacije
Zaguenje nastupa kada se broj paketa koji se prenosi mreom priblii kapacitetu mree Upravljanje zaguenjem ima za cilj odrati broj paketa ispod razine pri kojoj performanse drastino opadaju Podatkovna mrea je mrea repova Konani repovi posluivanja znae mogui gubitak podataka
Kontrola toka i zaguenja 2/63
17.11.2009
T E F O
Zaguenje u mrei
Zavod za komunikacije
Kada imamo previe prometa nastaje zaguenje performanse sustava naglo opadaju.
Kontrola toka i zaguenja 3/63
17.11.2009
T E F O
Efekti zaguenja
Zavod za komunikacije
Dolazni paketi se spremaju u ulazne spremnike Donosi se odluka o usmjeravanju Paketi se prebacuju na izlazni spremnik i prenose to je prije mogue
Ako paketi dolaze prebrzo da bi bili usmjereni, ili prebaeni na izlaz, spremnici se popunjavaju Mogue je odbacivanje paketa Mogue je koristiti kontrolu toka
17.11.2009
T E F O
Efekti zaguenja
Zavod za komunikacije
17.11.2009
5/63
T E F O
Brzina pri kojoj TCP entitet moe prenositi je odreena brzinom dolaznih potvrda ACK od prethodnih segmenata s novim kreditom Brzina dolaska ACK je odreena putem izmeu izvora i odredita (RTT) Usko grlo moe biti ili odredite ili mrea Poiljatelj ne zna gdje je usko grlo Jedino usko grlo u mrei moe biti uslijed zaguenja
Kontrola toka i zaguenja 6/63
17.11.2009
T E F O
Put segmenata
Zavod za komunikacije
17.11.2009
7/63
T E F O
17.11.2009
8/63
T E F O
Nadzor sustava - detektirati gdje se i kada pojavljuje zaguenje. Proslijediti informacije onome tko treba poduzeti neke akcije. Prilagoditi rad sustava da se otklone problemi.
Postoje razliiti mehanizmi nadzora sustava. Npr. broj odbaenih paketa, prosjena duljina repa posluivanja, broj paketa s istekom vremena, prosjeno kanjenje paketa, standardna devijacija kanjenja itd.
Kontrola toka i zaguenja 9/63
17.11.2009
T E F O
17.11.2009
10/63
T E F O
Backpressure
Zavod za komunikacije
Ako vor postane zaguen on moe usporiti ili zaustaviti tok paketa iz drugih vorova Moe znaiti da drugi vorovi trebaju primijeniti kontrolu nad brzinom dolaznih paketa Propagira se natrag prema izvoru Koristi se u konekcijski orijentiranim mreama koje omoguuju hop by hop kontrolu zaguenja (npr. X.25) Ne koriste se kod ATM i Frame relay mrea Odnedavno razvijen i za IP
Kontrola toka i zaguenja 11/63
17.11.2009
T E F O
Choke paketi
Zavod za komunikacije
Kontrolni paketi
Generiraju se kod vora sa zaguenjem alju se izvorinom voru npr. ICMP source quench
Od usmjeritelja do odredita Izvor smanjuje brzinu dok se pojavljuju source quench poruke alje se za svaki odbaeni paket ili prije toga
17.11.2009
T E F O
Kanjenje u prijenosu se moe poveati uslijed zaguenja Paketi mogu biti odbaeni Izvor moe detektirati ove implicitne indikatore zaguenja Korisno kod beskonekcijskih (datagramskih) mrea
npr. IP mree
Kontrola toka i zaguenja 13/63
17.11.2009
T E F O
Mrea obavjetava krajnje sustave o poveanju zaguenja Krajnji sustavi poduzimaju korake da smanje ponueni promet Unatrag (Backwards)
Unaprijed (Forwards)
Kontrola toka i zaguenja 14/63
17.11.2009
T E F O
Binarni (Binary)
Na temelju kredita
Indicira koliko paketa izvor smije slati Uobiajeno za kontrolu toka s kraja na kraj (end to end)
Na temelju brzine
17.11.2009
T E F O
Kontrola pogreaka
Zavod za komunikacije
Koristi se za oporavak od gubitaka ili oteenja PDU Ukljuuje detekciju greki i retransmisiju Obino se implementira zajedno s kontrolom toka u jedinstvenom mehanizmu Primjenjuje se na razliitim razinama protokola
17.11.2009
16/63
T E F O
Prevencija zaguenja
Zavod za komunikacije
Sloj
Nain djelovanja
Transport
Mrea
Podatkovna veza
-Retransmisija -Odbacivanje sekvenci izvan redoslijeda -Potvrivanje -Politika kontrole toka 5-26 -Odreivanje isteka vremena -VC nasuprot datagramima unutar podmree -Politika repova i posluivanja -Politika odbacivanja paketa -Algoritmi usmjeravanja -Upravljanje vremenom ivota paketa -Politika retransmisije -Odbacivanje sekvenci izvan redoslijeda -Politika potvrivanja -Politika kontrole toka
Kontrola toka i zaguenja 17/63
17.11.2009
T E F O
Kontrola toka
Zavod za komunikacije
Pitanja (problemi):
Due vrijeme prijenosnog kanjenja izmeu transportnih entiteta u usporedbi sa stvarnim trenutnim vremenom prijenosa dodatno kasni informaciju o kontroli toka Kanjenje u prijenosu je jako varijabilno i jako je teko koristiti istek vremena (timeout) za retransmisiju izgubljenih podataka
Korisnik prijemnog transportnog entiteta ne moe procesirati tok podataka Prijemni transportni entitet ne moe procesirati tok podatka
Rezultat moe biti preplavljivanje spremnika (buffer overflow) Upravljanje tokom je problematino zbog vremenske distance (time gap) izmeu predajnika i prijemnika
Kontrola toka i zaguenja 18/63
17.11.2009
T E F O
Ne initi nita
Segmenti koji preplavljuju spremnik se odbacuju Prijemnik ne prima ACK i vri retransmisiju
Radi dobro u pouzdanoj mrei (nema isteka vremena i retransmisije). Predajni transportni entitet prepoznaje brojeve segmenata koji iskau iz okvira kao taktiku kontrole toka Ne radi dobro u nepouzdanoj mrei
Kontrola toka i zaguenja 19/63
17.11.2009
T E F O
Shema kredita
Zavod za komunikacije
Razdvaja kontrolu toka od sustava potvrivanja (ACK) Svaki oktet sadri broj sekvence Svaki transportni entitet ima seq number (SN), ack number (AN) i window size (W) u zaglavlju alje se seq number prvog okteta u segmentu ACK ukljuuje (AN=i, W=j) to znai
Svi okteti do SN=i-1 se potvruju, sljedei je i oktet Dozvolu za slanje dodatnog prozora od W=j okteta
17.11.2009
20/63
T E F O
Alokacija kredita
Zavod za komunikacije
17.11.2009
21/63
T E F O
17.11.2009
22/63
T E F O
Potvruje podatke ack i dodjeljuje kredite Ili samo jedno ili drugo izgubljeni ACK/kredit segmenti se obnavljaju pri sljedeem prijemu
Nakon toga alje AN=i, W=j za ponovno otvaranje, ali ovaj segment se izgubi Poiljatelj misli da je prozor zatvoren, prijemnik misli da je otvoren
Rjeenje je primjena tzv. persist timera Ako timer istekne, poalji neto
17.11.2009
23/63
T E F O
Prepoznavanje poveanog vremena prijenosa i izgubljenih paketa Reakcija je smanjenje toka podataka
17.11.2009
T E F O
Statiki pristup
Adaptivni pristup
Problemi: Parovi TCP entiteta mogu akumulirati potvrde i ne potvrivati trenutno Za ponovno prenesene segmente nije mogue utvrditi da li je potvrda odgovor na originalnu poruku ili retransmisiju Uvjeti u mrei se mogu iznenada promijeniti
Kontrola toka i zaguenja 25/63
17.11.2009
T E F O
Procijeniti kruno kanjenje RTT promatranjem uzorka kanjenja nedavno pristiglih segmenata
Jednostavni prosjek nad velikim brojem segmenata Eksponencijalni prosjek koritenjem serije vremena (RFC 793)
17.11.2009
26/63
T E F O
Zavod za komunikacije
350
300
RTT (milliseconds)
250
200
150
15
17.11.2009
27/63
T E F O
Uzimamo prosjek promatranih RTT od velikog broja segmenata Ako prosjek dobro predvia budue kanjenje, rezultirajui timer retransmisije e dati dobre performanse 1 K +1
ARTT(K + 1) = K + 1 i =1 RTT(i)
ARTT(K + 1) =
RTT(K + 1)
28/63
17.11.2009
T E F O
Smoothed Round-Trip Time (SRTT) SRTT(K+1) = *SRTT(K)+(1)*RTT(K+1) Daje veu teinu nedavnim vrijednostima od RTT: SRTT(K+1) =(1)RTT(K+1)+(1)RTT(K) + 2(1 )RTT(K1) ++K(1)RTT(1) i 1 < 1 pa tako uzastopni lanovi postaju sve manji npr. = 0.8 SRTT(K+1)=0.2 RTT(K+1)+0.16 RTT(K)+ 0.128 RTT(K1) + Manje vrijednosti od daju veu teinu nedavnim vrijednostima RTT
Kontrola toka i zaguenja 29/63
17.11.2009
T E F O
17.11.2009
30/63
T E F O
Zavod za komunikacije
17.11.2009
31/63
T E F O
RFC 793 (TCP protocol) procjena varijacije RTT (Jakobson-ov algoritam) Eksponencijalni RTO Backoff algoritam Karn-ov algoritam
17.11.2009
32/63
T E F O
RFC 793 za procjenu trenutnog RTT koristi eksponencijalni prosjek RTT Timer za retransmisiju RTO se postavlja na neto veu vrijednost Moe koristiti i konstantnu razliku : RTO(K+1) = SRTT(K+1) +
17.11.2009
T E F O
RTO(K+1)=MIN(UBOUND,MAX(LBOUND,*SRTT(K+1)))
UBOUND i LBOUND izabrane donja i gornja granica vrijednosti timera, je konstanta RFC 793 ne preporuuje vrijednosti ali daje primjere vrijednosti izmeu 0.8 i 0.9, a izmeu 1.3 i 2.0
Kontrola toka i zaguenja 34/63
17.11.2009
T E F O
Ako je brzina podataka relativno mala, transmisijsko kanjenje e biti relativno veliko, s veim varijacijama uslijed varijacije veliine paketa Optereenje se moe iznenada promijeniti zbog drugih izvora podataka u mrei Suprotna strana u komunikaciji ne mora potvrivati segmente trenutno
17.11.2009
35/63
T E F O
Jacobson-ov algoritam
Zavod za komunikacije
SRTT(K + 1) = (1 g) SRTT(K) + g RTT(K + 1) SERR(K + 1) = RTT(K + 1) SRTT(K) SDEV(K + 1) = (1 h) SDEV(K) + h |SERR(K + 1)| RTO(K + 1) = SRTT(K + 1) + f SDEV(K + 1)
g = 0.125 h = 0.25
f = 2 ili f = 4 (poetna preporuka je bila f=2, ali veina implementacija danas koristi f = 4)
17.11.2009
36/63
T E F O
Zavod za komunikacije
17.11.2009
37/63
T E F O
Jacobson-ov algoritam moe znaajno unaprijediti TCP performanse, ali: Koliki RTO koristiti za ponovno poslane segmente?
Karn-ov algoritam
Kontrola toka i zaguenja 38/63
17.11.2009
T E F O
Stoga odravanje RTO nije dobra ideja Bolje je poveati RTO svaki put kada je segment retransmisiran
RTO = q*RTO najee je q=2 (binarni eksponencijalni backoff) Slino kao kod Ethernet CSMA/CD
Kontrola toka i zaguenja 39/63
17.11.2009
T E F O
Karn-ov algoritam
Zavod za komunikacije
Karn-ov algoritam rjeava ovaj problem pomou sljedeih pravila: 1. Ne mjeriti RTT za retransmisirane segmente 2. Raunati backoff RTO kada se pojavi retransmisija 3. Koristiti backoff RTO dok ne stigne ACK za segment koji nije bio retransmisiran Nakon toga koristiti Jacobson-ov algoritam za izraun RTO
Kontrola toka i zaguenja 40/63
17.11.2009
T E F O
Spori start (Slow start) Dinamika prilagodba prozora pri pojavi zaguenja Brza retransmisija (Fast retransmit) Brzi oporavak (Fast recovery) Ogranieno slanje podataka (Limited transmit)
17.11.2009
41/63
T E F O
Spori start
Zavod za komunikacije
awnd = dozvoljeni prozor u segmentima cwnd = congestion window u segmentima credit = iznos neiskoritenog kredita iz prethodnog ack
Vei prozori uzrokuju problem na uspostavljenoj konekciji Na poetku ograniiti TCP na 1 segment Poveati s dolaskom ACK, eksponencijalni rast
Kontrola toka i zaguenja 42/63
17.11.2009
T E F O
Spori start
Zavod za komunikacije
17.11.2009
43/63
T E F O
Postavi slow start threshold na polovicu trenutne veliine prozora zaguenja (congestion window) Postavi prozor u 1 i ponovo pokreni spori start do vrijednosti threshold Iznad vrijednosti za threshold, poveaj prozor za 1 za svaki RTT Pokreni izbjegavanje zaguenja (Congestion avoidance)
Kontrola toka i zaguenja 44/63
17.11.2009
T E F O
Upravljanje prozorima
Zavod za komunikacije
17.11.2009
45/63
T E F O
Zavod za komunikacije
17.11.2009
46/63
T E F O
Tajmer za retransmisiju RTO je openito znaajno dui od RTT Ako se segment izgubi TCP sporo izvrava retransmisiju Da bi poboljao karakteristike Jacobson je predloio dvije procedure: Brzu retransmisiju (Fast Retransmit) i Brzi oporavak (Fast Recovery)
Kontrola toka i zaguenja 47/63
17.11.2009
T E F O
Brza retransmisija
Zavod za komunikacije
Ako TCP entitet primi segment izvan redoslijeda (sekvence), mora odmah potvrditi zadnji segment primljen u ispravnom redoslijedu Kada izvorini TCP primi dupliciranu potvrdu, to moe znaiti:
Segment koji slijedi iza potvrenog segmenta je zakasnio te je stigao izvan redoslijeda, ili Segment je izgubljen
Kako bi bili sigurni da je segment izgubljen ekamo prijem viestruke potvrde za isti segment (original+3 kopije) te vrimo retransmisiju Potrebno je poduzeti mjere za izbjegavanje zaguenja Brzi oporavak (Fast Recovery)
17.11.2009
T E F O
Fast Retransmit
Zavod za komunikacije
17.11.2009
49/63
T E F O
17.11.2009
50/63
T E F O
NewReno (RFC 2582) je trenutno najpopularnija verzija TCP protokola Sadri napredni Fast retransmit mehanizam za sluaj viestrukog odbacivanja paketa
Kontrola toka i zaguenja 51/63
17.11.2009
T E F O
Ako je prozor zaguenja kod predajnika mali, Fast Retransmit se moda nee pokrenuti,
npr., cwnd = 3
Pod kojim uvjetima predajnik ima mali prozor zaguenja? Da li je problem est? Ako je problem est, zato ne ograniiti broj dupliciranih potvrda potrebnih za okidanje retransmisije?
Kontrola toka i zaguenja 52/63
17.11.2009
T E F O
Primljene su dvije uzastopne duplicirane potvrde Prijemni prozor dozvoljava prijenos segmenata Iznos preostalih podataka nakon slanja je manji ili jednak cwnd + 2
17.11.2009
53/63
T E F O
Explicit Congestion Notification (ECN) - RFC 3168 Usmjeritelji upozoravaju krajnje sustave na porast zaguenja
Krajnji sustavi reduciraju ponueni promet S implicitnom signalizacijom o zaguenju, TCP zakljuuje da se radi o zaguenju na osnovu poveanog kanjenja ili odbaenih segmenata
17.11.2009
54/63
T E F O
Prednosti ECN
Upozorava krajnje sustave prije nego to zaguenje uzrokuje odbacivanje paketa Izbjegavanje dodatnog optereenja uslijed retransmisija
Nedostaci ECN
17.11.2009
T E F O
TCP entiteti razmjenjuju ECN informaciju s IP TCP entiteti omoguavaju ECN pregovaranjem pri uspostavi konekcije TCP entiteti odgovaraju na prijem ECN informacije
17.11.2009
56/63
T E F O
IP entiteti u raunalima razmjenjuju ECN informaciju s TCP IP entiteti u usmjeriteljima moraju postavljati ECN bitove na temelju zaguenja
17.11.2009
57/63
T E F O
IP zaglavlje
Zavod za komunikacije
Prije uvoenja diferenciranih usluga IPv4 zaglavlje je sadravalo 8-bitno polje vrsta usluge (Type of Service) IPv6 zaglavlje ukljuuje 8-bitno polje klasa prometa (traffic class) Sa DS, ova polja su prenamijenjena
est bitova lijevo su dodijeljeni DS polju, Dva desna bita su oznaena kao currently unused (CU)
17.11.2009
58/63
T E F O
ECN polje kod IP protokola ima sljedee znaenje: Vrijednost polja Znaenje
ECT CE
0 0 1 1
0 1 0 1
Not-ECT
ECT (0) CE
Paket ne koristi ECN Nije definirano ECN- transport mogu (bez CE) Zaguenje (Congestion Experienced)
17.11.2009
T E F O
TCP zaglavlje
Zavod za komunikacije
Radi podrke ECN-u dodana su dva nova bita (zastavice flags) ECN-Echo (ECE) zastavica
17.11.2009
T E F O
TCP inicijalizacija
Zavod za komunikacije
TCP bitovi u zaglavlju se koriste pri uspostavi konekcije da omogue krajnjim tokama dogovor oko koritenja ECN-a A alje SYN segment prema B s postavljenim ECE i CWR
Ako je B spreman koristiti ECN, vraa SYN-ACK segment s ECE postavljenim i CWR ne postavljenim Ako B nije spreman koristiti ECN, vraa SYN-ACK segment s ECE i CWR ne postavljenim
Kontrola toka i zaguenja 61/63
17.11.2009
T E F O
Osnovne operacije
Zavod za komunikacije
Raunalo koji alje podatke postavlja ECT kod (10 ili 01) u IP zaglavlju svakog segmenta podataka koje alje Ako predajnik primi TCP segment s postavljenim ECE, prilagoava prozor zaguenja (congestion window) kao kod brzog oporavka pri jednostruko izgubljenom segmentu Sljedei segment podataka koji se alje ima CWR zastavicu postavljenu
Ako usmjeritelj doivljava zaguenje, moe postaviti CE kod (11) u svakom paketu u kojem je ECT kod postavljen Kada prijemnik primi paket s postavljenim ECT zapoinje postavljati ECE zastavicu na sve potvrde (sa ili bez podataka)
Kontrola toka i zaguenja 62/63
17.11.2009
T E F O
17.11.2009
63/63