Combaterea congestiei cu algoritmul Adaptive RED

Download Report

Transcript Combaterea congestiei cu algoritmul Adaptive RED

Facultatea de Electronică,Telecomunicaţii şi Tehnologia Informaţiei
Universitatea “POLITEHNICA” din Bucureşti
Combaterea congestiei cu
algoritmul Adaptive RED
Coordonator ştiinţific:
Conf. Dr. Ing. Ştefan Stăncescu
Absolvent:
Truică Marius
Cuprins
Introducere
Congestia in reţelele de comunicaţie
Combaterea congestiei
Metode de prevenire a congestiei
Algoritmul RED (Random Early Detection)
Algoritmul Adaptive RED
Rezultatele simulărilor si interpretări
Concluzii
Introducere
Ce este o “reţea de calculatoare”?
-o “reţea de calculatoare” este o colecţie de calculatoare autonome interconectate
folosind o singură tehnologie. Spunem despre 2 calculatoare că sunt interconectate
dacă sunt capabile să schimbe informaţie între ele. Reţelele pot fi de
dimensiuni,tipuri şi forme diferite.
Clasificarea retelelor in functie de tehnologia de transmisia folosita
1. Reţele cu fir
2. Reţele wireless
Clasificarea retelelor in functie de dimensiune
1. Reţea locala
2. Reţea metropolitana
3. Reţea larg raspandita geografic
Clasificarea retelelor dupa topologia fizica
1. Reţele de tip magistrala
2. Reţele de tip stea
3. Reţele de tip inel
4. Reţele de tip arbore
Congestia in reţelele de comunicaţii
Congestia
apare odată cu supraîncărcarea reţelelor, definiţiile congestiei se
concentrează asupra comportamentului reţelelor la încărcări mari sau foarte mari.
Supraîncărcarea resurselor apare atunci când pe o legătura se doreşte a fi transmis
un volum de date mai mare decât capacitatea sa. În prezent congestia este
semnalată pe reţele prin detecţia pierderilor de pachete ca rezultat al aşteptării în
coada ce depăşeşte o anumită limită.
Odata cu aparitia congestiei apar 3 fenomene:
- întârzierea datorata cozilor de aşteptare
- pierderea de pachete
- Traficul este dominat de retransmisii care duc la scăderi ale lăţimii de bandă
În cadrul unei reţele congestionate pe
masură ce numarul de pachete care
ajunge in coada gateway-ul creşte,
creşte şi numărul de pachete aruncate.
Combaterea congestiei
Congestia în reţelele de calculatoare trebuie descoperită si
combătută încă dintr-o fază incipientă , pentru a nu avea o
coadă supraîncărcată la ieşire, lucru care ar duce pană la
urma la blocarea întregii reţele. Obiectivele pe care trebuie să
le avem în cazul în care ne confruntăm cu o reţea
congestionată sunt :
Un nivel al cozii medii cât mai mic
Întârzieri cât mai mici în reţea
Viteza de transmisie a informaţiei mare
Obtinerea unei rate de transfer cât mai mare
Evitarea sincronizarii globale care duce la nefolosirea
eficientă a laţimii de bandă
Metode de prevenire a congestiei
TCP este orientat spre o strategie de control a congestiei, contrar unei
alte variante posibile, şi anume: de evitare a congestiei. Altfel spus,
TCP are nevoie, pentru a determina lărgimea de bandă disponibilă
pentru conexiune, să creeze pierderi de pachete valide care ulterior vor
fi retransmise.
Mecanismul de evitare a congestiei constă din modalităţi de "prezicere"
a momentului în care se poate produce congestia şi apoi folosirea unor
mecanisme de reducere a ratei de transmitere a pachetelor. Si toate
acestea inainte să înceapă eliminarea (pierderea) pachetelor de date.
Algoritmi de prevenire a congestiei:


Algoritmul DECbit
Algoritmul RED (Random Early Detection)
Algoritmul RED
Algoritmul RED mai este cunoscut şi sub denumirea de Random
Early Discard sau Random Early Drop. Acest algoritm funcţionează
la nivelul router-ului.
Ideea de bază a algoritmului RED ( Random Early Detection ) este
de a anunţa sursele de o congestie prin marcarea şi aruncarea unor
pachete înainte ca fenomenul de congestie să apară. Pentru
aceasta, RED se bazează pe controlarea dimensiunii medii a cozii,
incadrând-o intre două praguri: minth si maxth.
Dimensiunea medie a cozii se calculează cu următoarea formula:
avg=(1-wq)*avg+wq*q
Algoritmul RED
Algoritmul RED generalizat este prezentat mai jos:
Pentru fiecare pachet primit
se calculează dimensiunea medie
a cozii avg
daca minth ≤ avg < maxth
se calculează probabilitatea pa
cu probabilitatea pa:
marcheaza pachetul primit
altfel daca maxth ≤ avg
marcheaza pachetul primit
pb ← maxp(avg-minth)/(maxthminth)
pa ← pb/(1-cont*pb)
Algoritmul Adaptive RED
Algoritmul RED are câteva puncte slabe cum ar fi:
RED nu funcţionează bine atunci când dimensiunea medie a cozii
depăşeşte pragul maxth rezultând o scadere a ratei de transfer şi o
rată mare de aruncare a pachetelor.
Dimensiunea medie a cozii variază în funcţie de nivelul de
congestie şi poate ajunge foarte aprope de minth sau maxth.
Scopul nostru este de a rezolva aceste probleme cu un minim de modificări
asupra algoritmului RED.
Această propunere păstrează structura de bază a algoritmului RED şi
reglează doar parametrul maxp pentru a menţine dimensiunea cozii între
pragurile minth şi maxth.
Varianta propusă are o serie de îmbunătăţiri faţă de RED fără a renunţa la
alte beneficii ale acestuia. Astfel Adaptive RED reduce rata de aruncare a
pachetelor şi intârzierile datorate cozii de asteptare.
Algoritmul Adaptive RED
Algoritmul Adaptive RED este prezentat mai jos:
La fiecare interval de secunde:
if (avg>target and maxp≤0.5)
incrementăm maxp :
maxp←maxp+α;
elseif (avg<target and maxp≥0.01 )
decrementăm maxp:
maxp←maxp*β
Variabile:
Avg:dimensiunea medie a cozii
Parametri fixaţi:
interval:0.5 sec
target: acest parametru este pentru avg
[minth+0.4*(maxth-minth),minth+0.6*(maxth-minth)].
α:factor de incrementare
β:factor de decrementare
Network Simulator
Network Simulator 2 (NS) a aparut in anul 1989,ca o variantă a
simulatorului de retele REAL (simulator conceput initial in scopul
analizei comportamentului dinamic al fluxurilor şi al schemelor de
control al congestiei).
NS 2 este disponibil pentru diferite platforme cum ar fi: Linux,
Solaris, FreeBSD.
Este un simulator orientat pe obiecte,scris in C++,cu o interfată
făcută de un interpretor OTcl.
NS foloseşte 2 limbaje de programare:
C++
Otcl
Topologia utilizata :
Rezultatele simulărilor
RED cu creşterea congestiei
Rezultatele simulărilor
Adaptive RED cu creşterea congestiei
Rezultatele simulărilor
Pana in secunda 25
Algoritm
Agregate per-link
drops(%)
Agregate per-link
throughput(%)
Dimensiunea cozii
(bytes)
RED
0.904
41.06
5075.008
Adaptive RED
0.695
45.45
5279.789
Dupa secunda 25
Algoritm
Agregate per-link
drops (%)
Agregate per link
througput (%)
Dimensiunea cozii
(bytes)
RED
8.508
90.2
6746.156
Adaptive RED
8.24
91.76
6267.121
Rezultatele simulărilor
RED cu scăderea congestiei
Rezultate simulari
Adaptive RED cu scăderea congestiei
Rezultatele simulărilor
Pană in secunda 25
Algoritm
Agregate per-link
drops(%)
Agregate per-link
throughput(%)
Dimensiunea cozii
(bytes)
RED
13.69
49.22
8314.68
Adaptive RED
13.15
49.13
6321.987
Dupa secunda 25
Algoritm
Agregate per-link
drops (%)
Agregate per link
througput (%)
Dimensiunea cozii
(bytes)
RED
7.11
93.13
6374.787
Adaptive RED
6.88
94.01
5764.476
Concluzii
Detecția aleatoare timpurie (RED) reprezintă un mecanism
eficient pentru evitarea congestiei la nivelul gateway-ului, în
colaborare cu protocolul de transport din rețea.
Această variantă propusă are o serie de îmbunătăţiri faţă
de RED fără a renunţa la alte beneficii ale acestuia. Acest
lucru nu duce doar la o întârziere medie predictibilă a cozii,
dar minimizează de asemenea posibilitatea depăşirii
pragului maxth , reduce rata de pierderi a pachetelor si
întârzierile datorate cozii de aşteptare.
Acest algoritm pare promiţător,dar nu facem nicio afirmaţie
cum că acest algoritm este singurul sau cel mai bun însă ar
putea fi utilizat în condţii de siguranţă în implementări RED
în Internet.
VᾸ MULŢUMESC!