PRC Curs10 cap12 congestia

Download Report

Transcript PRC Curs10 cap12 congestia

William Stallings
Data and Computer
Communications
Curs 10
Capitolul 12
Congestia in retelele de date
1
Ce este congestia?
Congestia apare cand numarul de pachete care
se transmit intr-o retea se apropie de
capacitatea maxima de prelucrare a retelei
Controlul congestiei are ca scop tinerea sub
control a numarului de pachete sub nivelul la
care performanta scade dramatic
O rete de date este o retea de cozi
In general o utilizare de 80% este critica
Cozile de dimensiuni finite au ca urmare
posibilitatea pierderii datelor
2
Cozi la nivelul unui nod
3
Efectele congestiei
 Pachetele care sosesc sunt memorate in buffere de
intrare
 Se iau decizii de rutare
 Pachetul trece in bufferul de iesire
 Pachetele se pun in coada de iesire cat mai repede
posibil
Multiplexarea prin divizarea timpului statistica
 Daca pachetele care trebuiesc rutate sosesc prea
repede bufferele se vor umple
 Se pot ignora pachete
 Se foloseste controlul fluxului
Congestia se poate propaga prin retea
4
Interactiunea cozilor
5
Performata
ideala
6
Performanta practica
In cazul ideal se presupune ca bufferele au
dimensiune infinnita si nu apare overhead
In cazul real bufferele au dimensiune finita
Apare overhead la schimbarea mesajelor de
control
7
Efectele
lipsei
controlului
congestiei
8
Mecanisme pentru controlul
congestiei
9
Backpressure
 Daca un nod devine congestionat, acesta poate
incetini sau chiar opri pachetele care sosesc din alte
noduri
 Se poate ca alte noduri sa trebuiasca sa aplice un
control asupra ratei cu care sosesc pachetele
 Se propaga pana inapoi la sursa
 Se poate restrictiona la conexiunile logice care
genereaza majoritatea traficului
 Se foloseste in legaturile orientate pe conexiune
care permit controlul congestiei hop cu hop
 Nu se foloseste nici in ATM si nici in Frame relay
 Dezvoltat recent pentru IP
10
Choke Packet
Pachet de control
Se genereaza la nodul congestionat
Se trimite la nodul sursa
De exemplu mesajul ICMP de tip source quench
De la router la sursa
Sursa se opreste pana cand numai primeste mesaje de
tip source quench
Se trimite pentru fiecare pachet la care s-a renuntat,
sau anticipat
Este un mecanism brut
11
Semnalizarea implicita a congestiei
Intarzierea la transmisie poate sa creasca odata
cu congestia
Pot exista pachete la care se renunta
Sursa poate detecta aceste pachete ca o
indicatie implicita a congestiei
Se foloseste la retele neorientate pe conexiune
(datagrame)
De exemplu retele bazate pe IP
TCP include controlul congestiei si al fluxului (vezi cap. 17)
Se foloseste la Frame relay LAPF (Link Access
Procedure for Frame-Mode Services )
12
Semnalizarea explicita a congestiei
Reteaua notifica sistemele terminale (end)
despre cresterea congestiei
Sistemele terminale (end) urmeaza anumiti pasi
pentru a reduce incarcarea retelei
Backwards
Evitarea congestiei in sensul invers drumului
pachetelor
Forward
Evitarea congestiei in sensul in care se deplaseaza
pachetele
13
Categorii de semnalizare explicita
Binar
Se seteaza un bit in pachet pentru a indica existenta
congestiei
Bazata pe credite
Se indica numarul de pachete pe care le poate
trimite sursa
Se foloseste pentru controlul fluxului capat la capat
Bazata de rata de date
Se specifica explicit rata de date limita acceptata
De exeplu ATM
14
Gestionarea traficului
Echitate
Calitatea serviciului
Se pot dori tratamente diferite pentru conexiuni
diferite
Rezervari
exemplu ATM
Un “contract” de trafic intre utilizator si retea
15
Controlul congestiei in retelele
cu comutare de pachete
Se trimit pachete de control la unele sau la
toate nodurile sursa
Necesita trafic aditional in timpul congestiei
Bazat pe informatiile de rutare
Poate reactiona prea repede
Pachete proba capat la capat
Adauga overhead
Adaugare informatii despre congestie in pachete
pe masura ce acestea trec prin nodurile retelei
Se foloseste metoda “backward” sau “forward”
16
Gestionarea traficului la ATM
Viteza mare, dimensiunea mica a celulei,
overhead limitat
Cerinte
Majoritatea traficului nu reactioneaza imediat la controlul
fluxului
Feedback lent datorita reducerii timpului de transmisie
comparat cu intarzierea de propagare
O gama larga de cereri de aplicatii
Diferite modele de trafic
Diferite servicii de retea
Comutarea de mare viteza si schimarea caracteristicilor
transmisiei
17
Token Bucket
18
Gestionarea traficului ATM-ABR
 ABR (Available Bit rate)
 Unele aplicatii (Web, FTP) nu au caracteristici de trafic
bine definite
 Best efforts
Permite acestor aplicatii sa utilizeze capacitatea nefolosita a
retelei
Daca va creste congestia celulele sunt ignorate
 Control in bucla inchisa
Conexiunile ABR partajeaza capacitatea disponibila
Partajarea variaza intre rata minima a celulelor si rata maxima a
celulelor
Fluxul ABR limitat la capacitatea maxima prin feedback
Bufferele preiau traficul in exces in timpul intarzierilor feedbackului
Pierdere redusa a celulelor
19
Controlul congestiei la Frame
Relay
Minimizarea numarului de pachete ignorate
Mentinerea calitatii serviciului negociate
Minimizarea probabilitatii ca un utilizator sa
monopolizeze reteaua
Simplu de implementat (overhead mic)
Creeaza trafic aditional minim
Se distribuie echitabil resursele
Se limiteaza raspandirea congestiei
Opereaza eficient indiferent de fluxul de trafic
Impact minim asupra altor sisteme
Minimizeaza variatia calitatii serviciului
20
Tehnici
Strategii de ignorare a pachetelor
Evitarea congestiei
Semnalizare explicita
Refacerea dupa congestie
Mecanism pentru semnalizare implicita
21
Gestionarea ratei traficului
Este necesara ignorarea unor pachete pentru a
face fata congestiei
Se face arbitrar
Fara constrangeri astfel ca sistemele capat sa poata
transmite cat mai repede posibil
Committed information rate (CIR)
Datele in excess pot fi ignorate
Nu se garanteaza
CIR nu trebuie sa depaseasca rata fizica de date
22
Semnalizare explicita
Retelele alerteaza sistemele capat despre
cresterea congestiei
Se face notificare explicita “backward” sau
“forward”
Procesorul de cadre monitorizeaza cozile de
asteptare
Poate notifica unele sau toate legaturile logice
Raspunsul utilizatorului
Reduce rata de date
23
Controlul fluxului laTCP
Se realizeaza prin mecanismul Sliding Window
Daca nu primeste ACK sau daca apare timeout
se injumatateste dimensiunea ferestrei
Daca se primeste ACK dupa injumatatirea
ferestrei se creste cu 1 dimensiunea ferestrei
pana se ajunge la dimensiunea maxima
negociata
24
Required Reading
Stallings chapter 12
25