Fairness & Quality of Service Lezione16 Controllo della congestione vs (Fairness & QoS) Nelle lezioni precedenti abbiamo imparato le tecniche principali per la gestione della congestione. In questa lezioni approfondiremo come queste tecniche possano influenzare la QoS (Quality of Service) e il fairness (principio di equita') tra i flussi. Problema Abbiamo due flussi che utilizzano lo stesso router. I due mittenti M1 e M2 spediscono dei dati ai destinatari D1 e D2 rispettivamente.supponiamo di essere nelle condizioni ideali di banda infinita ma con RTT del flusso 1 minore di quello del flusso 2. Come varia la banda dei due flussi nel tempo, dipende dalla tecnica di gestione della congestione? Rete di riferimento TCP RENO (analisi semplificata) La gestione della congestione nel TCP Reno non prevede particolari strategie per evitare la congestione, ma solamente, propone una soluzione alla congestione. Trascurando la fase di slow-start, il mittente addotta un meccanismo AIMD (Additive Increased Multiplicative Decreased): ad ogni conferma aumenta la velocità di trasmissione di un MSS ogni RTT. Nel caso si verifichi la congestione, con la conseguente perdita di parte dei dati, dimezza la velocità di trasmissione. Rappresentazione dell'andamento temporale della banda di un flusso: andamento a scalini;
Rappresentazione di due flussi concorrenti: si puo' notare che, a parita' di MSS, il flusso con RTT inferiore (passo più corto) cresce piu' rapidamente. Semplificazione dell'andamento temporale della banda utilizzata nelle formule e nel simulatore. Poiche' entrambi i flussi hanno lo stesso MSS non lo consideriamo.
Rappresentazione dell'andamento temporale delle bande dei due flussi. Questa rappresentazione è valida se consideriamo la coda del router nulla, nella realtà il dimezzamento avviene dopo che la coda si riempie. Simbologia utilizzata nelle formule (riferite al flusso 1): le a rappresentano la banda iniziale, mentre le B quella massima. Il pedice rappresenta il numero di dimezzamenti, l'apice il flusso. Formula1: i due flussi partono da un valore iniziale arbitrario e crescono di 1 MSS ad ogni RTT. Quando la somma dei due flussi raggiunge la banda massima del router (B) si dimezzano le bande di entrambi i flussi. Impostando il sistema (Formula 1) si ricava il valore massimo della banda prima del dimezzamento (formula 2) Formula 1
Si puo' osservare che i due flussi si dividono la banda libera del router (deltab) in modo inversamente proporzionale ai rispettivi RTT. Formula 2 Successivamente il processo ricomincia allo stesso modo, ma cambiano i valori di partenza dei due flussi. (Formula3); Formula 3 Dopo i-iterazioni utilizzando un approccio ricorsivo (formula 4), ad ogni flusso è assegnata una porzione della banda disponibile del router (deltab, formula 5) in base alla proporzione degli RTT, mentre una piccola parte è determinata dal valore iniziale (che ad ogni passo dimezza, diventando col tempo trascurabile). Formula 4 Formula 5 Osservando la nota formula (vedi lezione 15) si poteva gia concludere che la banda di un flusso dipende in modo inverso dal RTT a parita' di MSS. Considerazioni analoghe potevano essere fatte se si consideravano due flussi con stesso RTT ma con MSS diversi.
Grafico di esempio di due flussi con RTT1 = 2* RTT2; i a 0 a 1 B 0 (T i )B 1 (T i ) T i 0 10.0 50.0 36.7 63.3 13.3 1 18.3 31.7 51.7 48.3 30.0 2 25.8 24.2 59.2 40.8 46.7 3 29.6 20.4 62.9 37.1 63.3 4 31.5 18.5 64.8 35.2 80.0 5 32.4 17.6 65.7 34.3 96.7 6 32.9 17.1 66.2 33.8 113.3 7 33.1 16.9 66.4 33.6 130.0 8 33.2 16.8 66.5 33.5 146.7 9 33.3 16.7 66.6 33.4 163.3 Applicazione Java che visualizza l'andamento temporale delle bande dei due canali Simulatore Java; Breve guida al simulatore: 1) Compilare ed eseguire il programma 2) Inserire i dati richiesti 3) Per variare la velocità cliccare con il mause nel bordo grigio, e modificare il Sample Rate. Per Bloccare la simulazione basta cliccare nell'area del grafico. TCP RED Nella versione RED (Random Early Detection) del TCP, il router, tiene sotto controllo la lunghezza delle code nel proprio buffer. Quando si accorge che una congestione è imminente: rifiuta, con una certa probabilita' i pacchetti in arrivo indipendentemente dal mittente che li ha spediti. In questo modo avvisa i mittenti che sta andando in congestione, i quali dimezzano le loro bande. Se il router elimina in modo casuale, in riferimento ai due flussi a 1 e a 2 con RTT differenti, verranno eliminati pacchetti in proporzione al flusso. C'è quindi una prevenzione della congestione (più fairness), ma in ogni caso il flusso che ha RTT inferiore cresce sempre più rapidamente dell'atro. A regime la quantità di banda acquisita deve bilanciare la perdita dovuta ai dimezzamenti imposti dalla politica RED. La perdita dipende in modo quadratico rispetto alla banda perche' sia la probabilita' (dipende dalla banda) che la quantita' (io dimezzo la mia banda)lo sono. L'equilibrio viene raggiunto quando la banda è proporzionale all'inverso della radice quadrata del RTT Applicazione Java che visualizza l'andamento temporale delle bande dei due canali Simulatore Java; Indice di Equità di Jain In reti più complesse (con più flussi) è spesso utile poter stimare il grado di firware tramite delle formule. Un esempio di queste tecniche è la formula di Jain che data la banda Xi assegnata all'i-esimo flusso calcola il grado equita'. Il grado di equita' è un valore reale che appartiene all'intervallo (0,1]; avere grado 1 significa avere la massima equita', viceversa avere un grado molto piccolo vuol dire essere nel caso con massima inequita'. Indice di Equità (Formula di Jain) Esempi numerici: X = {30,32,28,25,35,20,40} indice = 0.961 X = {300,32,28,25,35,20,40} indice = 0.344 X = {3,32,28,25,35,20,40} indice = 0.844
N.B. e' sufficiente un valore di banda molto diverso dagli altri per influenzare notevolmente il denominatore rispetto il nominatore modificando notevolmente l'indice. Allo stesso tempo pero' si puo' notare che se un flusso ha circa 10 volte la banda rispetto agli altri l'indice cala, ma se un flusso ha 1/10 della banda rispetto agli altri la variazione e' molto piccola. Questo è dovuto al fatto che l'indice tratta allo stesso modo i nodi che hanno piu' banda rispetto quelli che ne hanno di meno. Non e' un problema se alcuni hanno molto di più, mentre lo diventa se alcuni hanno molto di meno perche' devo garantire che tutti abbiano una banda minima abbastanza equa. QoS Le applicazioni che utilizzano la rete, scambiano informazioni di ogni genere e a seconda della loro utilità, richiedono alla rete garanzie diverse. Ad esempio applicazioni multimediali che ricevono e trasmettono audio e video, hanno bisogno di caratteristiche di rete totalmente diverse da ciò che invece richiede una chat. Ciò di cui si ha bisogno è un modello di servizio, nel quale le applicazioni che necessitano di maggiori garanzie, possano chiederle alla rete e questa, in base alle risorse che ha, risponde garantendo o meno il servizio. Una rete che fornisca vari livelli di servizi, fornisce la qualità di servizio(qos). I servizi QoS si dividono in: - Servizi a GRANA FINE - Servizi a GRANA GROSSA Servizi a GRANA FINE n questo tipo di servizio, il richiedente specifica dettagliatamente il tipo di connessione di cui necessità dividendo le caratteristiche in: -TSpec : descrive le caratteristiche di traffico che verranno utilizzate dalla rete per gestire il flusso. Specifico ad esempio: - a cosa mi serve la connessione - la banda di cui ho bisogno -RSpec : descrizione del servizio che io richiedo alla rete; specifico ad esempio: - itempi di ritardo massimi per la trasmissione - l'affidabilita' della trasmissione - garanzie dell'ordine d'arrivo dei pacchetti Il router a cui chiedo il servizio, vede se ha le risorse necessarie alla mia richiesta e in caso positivo mi allestisce la connessione. In questa categoria troviamo i "servizi integrati" (Integrated Service, InterServ), i quali sono prodotti per soddisfare al meglio le esigenze del richiedente. Spesso questo tipo di servizio è associato al protocollo RSPV Servizi a GRANA GROSSA In questo tipo di servizio invece, è posto su chi offre il flusso. Il router infatti offre solo alcune classi di servizi, sarà poi il richiedente che dovrà scegliere il pacchetto più vicino alle sue esigenze. In questa categoria troviamo i "servizi differenziati" (Differentieted Service, DiffServ) Esempio di Reti con QoS: ATM Questa tecnologia a grana grossa è nata per fornire un insieme di servizi, rivolti alle reti di alta velocità. Viene utilizzata per trasmissioni video e audio, perche' si adatta molto bene a queste applicazioni, infatti nella trasmissione di un video ad esempio anche se viene perduto qualche fotogramma, l'importante è che il flusso di dati non si interrompa. Caratteristiche: - Viene affiancata al SONET - Utilizza pacchetti di taglia fissa. Esempi di servizi offerti: - Mantenimento costante del flusso di dati - perdita di pacchetti del 5/10 - consegna affidabile - priorita'