250 likes | 333 Views
William Stallings Data and Computer Communications. Curs 10 Capitolul 12 Congestia in retelele de date. Ce este congestia?. Congestia apare cand numarul de pachete care se transmit intr-o retea se apropie de capacitatea maxima de prelucrare a retelei
E N D
William StallingsData and Computer Communications Curs 10 Capitolul 12 Congestia in retelele de date
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
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
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
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
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
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 )
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
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
Gestionarea traficului • Echitate • Calitatea serviciului • Se pot dori tratamente diferite pentru conexiuni diferite • Rezervari • exemplu ATM • Un “contract” de trafic intre utilizator si retea
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”
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
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
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
Tehnici • Strategii de ignorare a pachetelor • Evitarea congestiei • Semnalizare explicita • Refacerea dupa congestie • Mecanism pentru semnalizare implicita
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
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
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
Required Reading • Stallings chapter 12