Laureando: Giuseppe BRUSCELLA POLITECNICO DI BARI I Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Tesi di Laurea MODELLO FLUIDO DELL’ “EXPLICIT CONTROL PROTOCOL” UTILIZZANDO SIMULINK/STATEFLOW Relatore: Chiar.mo Prof. Ing. Saverio MASCOLO Correlatore: Dott. Ing. Luca DECICCO Laureando: Giuseppe BRUSCELLA ANNO ACCADEMICO 2004/2005
Obiettivi: Analisi del protocollo XCP (eXplicit Control Protocol) Modellazione dell’algoritmo di controllo XCP Osservazione degli andamenti delle variabili del sistema Verifica di instabilità al crescere del ritardo
Cos’è XCP? E’ un protocollo di controllo di congestione delle reti internet ideato da Dina Katabi nel 2003 Si basa su un meccanismo di retroazione E’ window-based e best effort La rete informa esplicitamente lo stato di congestione al sender il quale modifica proporzionalmente la sua congestion window (cwnd) Ruolo importante assunto dal router
La struttura Nuovo livello protocollare di 20 bytes tra IP header e TCP header Grandezza del pacchetto Versione XCP Formato Livello del protocollo successivo Round trip time Throughput desiderato dal sender Valore del Delta_Th ricevuto dal receiver Congestion header
Idea di base: Utilizzazione elevata; Allocazione di banda imparziale Separazione tra controllo di efficienza e controllo di fairness Utilizzazione elevata; Piccole code; Poche perdite; Allocazione di banda imparziale
Come avviene la separazione dei controllori Controllo di efficienza:utilizza una politica MIMD in cui si incrementa/decrementa il rate del traffico proporzionalmente alla banda disponibile Controllo di fairness:utilizza una politica AIMD in cui si incrementa linearmente e si decrementa in maniera drastica
Funzionalità di XCP Congestion Header Round Trip Time Round Trip Time Feedback Round Trip Time Congestion Window Congestion Header Feedback Round Trip Time Congestion Window Feedback = + 0.1 packet
Funzionalità XCP Round Trip Time Congestion Window Feedback = + 0.1 packet Round Trip Time Congestion Window Feedback = - 0.3 packet
Congestion Window = Congestion Window + Feedback Funzionalità Congestion Window = Congestion Window + Feedback XCP completa ECN (Explicit Congestion Notification) I routers calcolano il feedback che verrà distribuito dal controllore di fairness proporzionalmente al throughput dei vari flussi
Come avviene il calcolo del feedback da parte del router XCP Controllore di Efficienza Controllore di Fairness Obiettivo: massimizzare l’utilizzo del link Si basa solo su traffico aggregato Algoritmo: L’allocazione del feedback dipende da Φ Φ ~ Banda Disponibile Φ ~ -Livello di Accodamento Φ = davg Spare - Queue Obiettivo: Ripartire Φ su ogni pacchetto per raggiungere la fairness Osserva lo stato del flusso tramite la Congestion Header Algoritmo: Se Φ > 0 Ripartire Φ in maniera omogenea sui flussi Se Φ < 0 Ripartire Φ proporzionalmente al throughput di ogni flusso MIMD AIMD
Modellazione dell’algoritmo XCP Per la modellazione è stato utilizzato il software Matlab con gli applicativi Simulik e Stateflow Modelli realizzati: Singola connessione Tripla connessione Doppia connessione
Schema a singola connessione
Schema a singola connessione
Doppia e Tripla connessione
Simulazioni singola connessione(1) Banda data costante Rtt=200ms Rtt=500ms Con RTT=500ms si hanno perdite di circa 5400 pacchetti Andamento a regime dopo più di 60s
Simulzioni singola connessione(2) Banda data variabile Rtt=200ms Perdite totali di circa 7400 pacchetti Rtt=500ms
Simulazioni doppia connessione Banda variabile Banda costante RTT1=200ms RTT1=200ms RTT2=100ms RTT2=100ms RTT1=600ms Perdita di 3300 pacchetti Oscillazioni più accentuate RTT1=400ms RTT2=200ms RTT2=300ms
Simulazioni tripla connessione Banda variabile Banda costante RTT3=300ms RTT3=300ms RTT2=200ms RTT2=200ms RTT1=100ms RTT1=100ms RTT3=600ms Oscillazioni molto accentuate RTT3=600ms Perdita di 260 pacchetti RTT2=400ms RTT2=400ms RTT1=200ms RTT1=200ms
Conclusioni Sono state effettuate diverse simulazioni variando banda e ritardi di propagazione All’aumentare del ritardo crescono le instabilità del sistema Aumentando il numero di flussi il sistema va a regime più lentamente L’ instabilità porta a perdite di pacchetti più accentuate