Pacchetto - Dipartimento di Informatica
Transcript
Pacchetto - Dipartimento di Informatica
Svantaggi della Commutazione di Circuito I semestre 03/04 Commutazione di Pacchetto Ad ogni circuito vengono allocate delle risorse L’utilizzo delle risorse del circuito non è efficiente Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica in una conversazione telefonica c’è sempre qualcuno che parla in una connessione fra computer ci sono tempi morti Es. connessione browser – Server Web: mentre guardiamo la pagina non c’è scambio di dati, per cui una connessione dedicata comporterebbe uno spreco della capacità del canale 2 Richiede che sorgente e destinazione operino allo stesso tasso Commutazione di Pacchetto Struttura di un Pacchetto Dati trasmessi in blocchi di dimensione fissata, I pacchetti devono contenere informazioni di controllo per poter essere instradati verso la destinazione detti pacchetti in genere di dimensione non superiore a 1000 ottetti messaggi lunghi vengono spezzettati in più pacchetti campo dati indipendentemente dagli altri pacchetti dello stesso messaggio possono seguire lo stesso percorso o percorsi diversi la tecnica dello store and forward ordine diverso da quello di spedizione il ricevente deve riassemblare il messaggio l’intestazione contiene le informazioni di controllo Ogni nodo della rete commuta pacchetti usando i pacchetti possono arrivare a destinazione in simile all’indirizzo scritto sulla busta di un lettera Un pacchetto consiste di un’intestazione e di un ogni pacchetto è instradato singolarmente e 3 Se le risorse si esauriscono non è possibile stabilire una nuova connessione (blocking) 4 riceve un pacchetto e lo memorizza legge le informazioni dell’intestazione decide su quale linea instradare il pacchetto Vantaggi della Commutazione di Pacchetto Esempio di Trasmissione uso più efficiente delle linee di trasmissione la sorgente divide il messaggio dell’applicazione in blocchi e aggiunge informazioni di controllo ad ogni blocco ogni blocco viene trasmesso sulla rete la destinazione rimette insieme i blocchi e ricostruisce il messaggio 5 può collegare sistemi che operano a tassi diversi ognuno trasmette e riceve pacchetti al suo tasso non rifiuta mai una connessione 6 però i pacchetti potrebbero essere ritardati o persi è possibile assegnare priorità ai pacchetti Svantaggi della Commutazione di Pacchetto Tecniche di Commutazione Difficile garantire qualità del servizio La tecnica di commutazione definisce come la (overhead) rete gestisce il flusso di pacchetti per garantire che vengano instradati e consegnati alla destinazione Due tecniche principali Per una telefonata serve una certa velocità di trasmissione garantita Vengono introdotti dei carichi aggiuntivi I pacchetti devono viaggiare insieme ad informazioni di controllo per poter essere correttamente istradati La rete può congestionarsi 7 la stessa linea può essere condivisa dinamicamente da più pacchetti i pacchetti vengono accodati e trasmessi non appena possibile la linea è inutilizzata solo se non ci sono pacchetti da trasmettere Poiché si accettano sempre pacchetti si potrebbe arrivare ad una situazione di saturazione che blocca la rete 8 datagram circuito virtuale Datagram Circuito Virtuale Ogni pacchetto è trattato individualmente Viene stabilito un circuito virtuale prima di spedire i pacchetti non è considerato come parte di un flusso Ogni pacchetto deve contenere informazioni di Ogni pacchetto contiene l’identificatore del controllo per poter essere instradato indirizzo sorgente sequenza, ecc. I pacchetti indipendente 9 sono e destinazione, numero circuito virtuale di instradati in maniera pacchetti dello stesso messaggio possono seguire strade diverse ed arrivare in ordine diverso da quello di trasmissione si può perdere un pacchetto (un pezzo del messaggio) circuito virtuale di appartenenza 10 11 protocollo di comunicazione molto semplice più veloce per comunicazioni brevi più flessibile nel gestire situazioni di congestione differisce dalle reti a commutazione di circuito maggiore affidabilità è possibile fornire controllo degli errori e del flusso all’interno del circuito più affidabile Svantaggi Il circuito virtuale non ha risorse allocate Vantaggi i datagram vengono dirottati su altri percorsi tutti i pacchetti di un messaggio seguono lo stesso percorso e giungono in ordine a destinazione Caratteristiche del Circuito Virtuale Vantaggi non ci sono altre informazioni di controllo I nodi della rete instradano i pacchetti in base al Caratteristiche del Datagram ogni circuito virtuale ha un identificatore pacchetti inoltrati più velocemente perché non ci sono decisioni da prendere più efficiente per comunicazioni lunghe (max. throughput) i pacchetti hanno meno informazioni di controllo Svantaggi i pacchetti possono arrivare fuori ordine o perdersi ogni nodo deve prendere decisioni di instradamento non adatto ad operare ad alti tassi di trasmissione 12 ritardo iniziale per instaurare il circuito virtuale protocollo di comunicazione più complesso in caso di guasto ad un nodo tutti i circuiti virtuali che lo attraversano sono persi Dimensione dei Pacchetti e Tempi di Trasmissione Dimensione del Pacchetto I pacchetti in genere sono piccoli X invia 40 ottetti di dati ad Y attraverso aeb su Internet i pacchetti sono al massimo 1.5 Kb La dimensione del pacchetto influenza il tempo di trasmissione Pacchetti piccoli trasmissione inferiori richiedono tempi di ogni pacchetto ha 3 ottetti di intestazione è possibile spedire più pacchetti in parallelo su linee differenti (pipeline) Per ogni pacchetto è richiesto un sovraccarico (overhead) di trasmissione per le informazioni di controllo 13 pacchetti troppo piccoli implicano un uso inefficiente della linea 1 pacch. 43*3 = 289 14 Tipi di Ritardo 2 pacch. 23*4 = 92 5 pacch. 11*7 = 77 10 pacch. 7*12 = 84 Confronto tra Prestazioni Il tempo impiegato da un pacchetto per giungere a destinazione componenti Ritardo di propagazione consiste di tre Tempo che impiega un segnale a propagarsi sul canale Tempo di trasmissione Tempo che un trasmettitore impiega ad inviare un pacchetto Ritardo del nodo 15 Tempo che un nodo impiega per compiere le elaborazioni necessarie per smistare i dati 16 creare un circuito richiede un ritardo iniziale commutare i pacchetti implica un ritardo in ogni nodo maggiore per datagram Funzionamento Interno ed Esterno Confronto tra Prestazioni Esterno la commutazione di circuito fornisce un servizio trasparente a tasso costante una chiamata è bloccata se non è possibile garantire tale servizio adatto a trasmettere sia dati analogici che digitali Interno la commutazione di pacchetto introduce ritardi variabili 17 dipendono dal percorso seguito nella rete, dalla politica di scheduling dei nodi, dal traffico nella rete non adatto ad implementare servizi con qualità di servizio garantito non adatto a trasmettere dati analogici connessione logica con un’altra stazione 18 19 Circuito virtuale esterno, circuito virtuale interno Circuito virtuale esterno, datagram interno Datagram esterno, circuito virtuale interno Datagram esterno, datagram interno l’interfaccia tra stazione e nodo deve convertire Servizio non Orientato alla Connessione Servizio esterno di tipo datagram La rete accetta singoli pacchetti una ogni pacchetto è identificato come appartenente ad una connessione logica e numerato la rete garantisce che tutti i pacchetti siano consegnati nell’ordine giusto ogni pacchetto ha l’identificatore del circuito virtuale ed il numero di sequenza È il funzionamento della rete all’interno Tutte le combinazioni sono possibili Servizio Orientato alla Connessione Servizio esterno a circuito virtuale La stazione chiede di instaurare È il funzionamento che vede una stazione che si collega alla rete può essere un servizio orientato alla connessione o non orientato alla connessione 20 ogni pacchetto deve contenere informazioni per essere instradato indipendentemente i pacchetti possono essere persi o consegnati fuori ordine il datagram ha indirizzo destinazione e numero di sequenza Operazione Interna a Circuito Virtuale Operazione Interna a Datagram La rete stabilisce dei circuiti tra coppie di nodi La rete tratta ogni pacchetto singolarmente tutto il traffico tra i due nodi viaggia all’interno del circuito è possibile ripartire il traffico tra due nodi tra più circuiti ogni pacchetto viaggia all’interno di un circuito i nodi assegnano i pacchetti ai circuiti 21 22 Routing (Instradamento) La rete deve trovare un percorso consegnare i pacchetti alla destinazione 23 ogni pacchetto ha indirizzo destinazione e numero di sequenza Indici di Prestazioni per La scelta del percorso su cui instradare un pacchetto dipende da un indice di prestazione deve scegliere tra le varie alternative operazione critica in una rete a commutazione di pacchetto ma molto complessa da ottimizzare Robusto: funzionare anche se ci sono dei guasti Stabile: reagire in modo opportuno a congestioni Efficiente: far giungere i pacchetti a destinazione quanto prima possibile Equo: trattare tutti i pacchetti i modo equo Vantaggioso: il costo del lavoro dei nodi per il routing non deve superare i vantaggi che ne derivano metrica che assegna ad ogni percorso un costo il problema diventa trovare un cammino di costo minimo in un grafo diretto pesato Algoritmi di Dijkstra e Bellman-Ford Il routing deve essere pacchetti relativi alla stessa connessione possono seguire percorsi diversi la rete deve provvedere a memorizzare i pacchetti alla destinazione per controllare se sono tutti e rimetterli in sequenza Principali indici di prestazioni numero di hop costo minimo sceglie il percorso che attraversa meno nodi il costo può essere il ritardo di propagazione, la somma dei 24 tempi di trasmissione nei nodi, il tasso di trasmissione, l’affidabilità del percorso Esempio di Calcolo delle Rotte Decisioni di Routing Le tecniche di routing dipendono da dove e percorso minimo da 1 a 6 quando vengono prese le decisioni Quando (in funzione del funzionamento interno) percorsi minimi da 1 a tutti gli altri nodi costruisce uno spanning tree di cammini minimi con radice 1 25 la rete può modificare tale decisione per i datagram la decisione è presa per ogni pacchetto trasmesso Dove 26 centralizzato: un centro di controllo decide tutto distribuito: ogni nodo decide come instradare i pacchetti ricevuti da sorgente: la sorgente sceglie il percorso che il pacchetto deve seguire Sorgenti di Informazione Strategie di Routing Le decisioni di routing sono prese sulla base di routing fisso flooding Routing casuale Routing adattivo informazioni sullo stato della rete topologia, costi delle linee, carico le informazioni possono essere locali o globali un nodo utilizza informazioni sulle lunghezze delle sue code o della congestione sulle sue linee i nodi possono scambiarsi informazioni strategie simili sono usate per il routing in una internet alcuni algoritmi di routing molto semplici non utilizzano nessuna informazione 27 per i circuiti virtuali la decisione viene presa al momento della creazione del circuito 28 Routing Fisso Esempio di Routing Fisso tabella di routing centrale per ogni coppia di nodi determina un percorso percorso a costo minimo che rimane fisso fino a quando non cambia la topologia della rete percorso da 1 a 6 1Æ4Æ5Æ6 La scelta del percorso è fatta a priori non può basarsi su variabili dinamiche quali il traffico ogni nodo deve conoscere soltanto il prossimo tabella nodo 1 tabella nodo 4 tabella nodo 5 hop per ogni possibile destinazione 29 simile ai cammini minimi calcolati da algoritmo di Dijkstra ogni nodo costruisce la propria tabella di instradamento a partire da una matrice globale 30 Flooding Proprietà del Flooding La sorgente invia una copia del pacchetto ad Il pacchetto è inviato su tutti i percorsi esistenti nella rete ogni nodo collegato un nodo che riceve un pacchetto su un collegamento lo rispedisce su tutti gli altri Le decisioni di routing non richiedono informazioni sulla rete indipendentemente dai guasti sulla rete, se c’è un percorso tra sorgente e destinazione il pacchetto arriva usato per inviare messaggi di emergenza Almeno una copia attraversa il percorso minimo utile per scoprire il percorso da assegnare ad un circuito virtuale Tutti i nodi della rete ricevono il pacchetto 31 32 usato per distribuire informazioni importanti a tutti i nodi (tabelle di istradamento) Problemi del Flooding Esempio di Flooding La destinazione può ricevere più copie dello il nodo 1 invia un pacchetto per 6 a tutti i vicini stesso pacchetto si assegna un identificativo al pacchetto per scartare le copie i pacchetti potrebbero essere spediti all’infinito anche dopo che hanno raggiunto la destinazione si assegna ad ogni nodo un contatore di hop ogni nodo che instrada il pacchetto decrementa il contatore quando il contatore diventa 0 il pacchetto viene buttato Anche con questi accorgimenti il traffico generato dal 33 flooding è molto elevato i nodi 2, 3 e 4 reinstradano il pacchetto il pacchetto raggiunge 6 34 Routing Casuale Routing Adattivo ogni nodo invia il pacchetto ad un nodo vicino Le decisioni di routing condizioni della rete scelto a caso (escluso il nodo di provenienza) Le probabilità potrebbero essere basate sulle velocità dei collegamenti al flooding informazioni sulla rete perché non utilizza potrebbe anche perdersi nella rete guasti, congestione lo scambio di informazioni può sovraccaricare la rete L’adattamento può creare problemi se è genera molto meno traffico il pacchetto segue un percorso non minimale dalle un carico di elaborazione sui nodi I nodi devono scambiarsi informazioni sullo stato della rete molto semplice da implementare simile dipendono Decisioni di routing complesse che impongono preferenza per i collegamenti più veloci 35 gli altri nodi continuano a inviare copie 36 Troppo veloce: crea oscillazioni Troppo lento: è inefficiente Vantaggi del Routing Adattivo Un Algoritmo di Routing Adattivo Migliora le prestazioni dal punto di vista Instrada un pacchetto verso la linea di uscita dell’utente consente un maggior controllo della congestione con la coda minore problema fondamentale nelle reti moderne Si possono usare dei “valori di predisposizione” Per ottenere questi benefici occorre progettare buoni algoritmi di routing adattivo algoritmi sono molto complessi e la loro vera valutazione avviene solo sul campo Il problema del routing è attualmente oggetto di ricerca 37 In genere gli algoritmi di routing adattivo Il nodo 4 riceve un pacchetto per il nodo 6 utilizzano informazioni ricevute da altri nodi 39 nodi distanti 9, Q1 = 2 6, Q2 = 3 3, Q3 = 1 0, Q5 = 5 La problemi di ritardo degli aggiornamenti e consistenza delle informazioni frequenza di informazioni è critica Pacchetto instradato sul nodo 3 scambio tra nodi vicini è possibile scambiare informazioni anche tra Valore dei Bi e Qi B1= B2 = B3 = B5 = Qi = lunghezza coda i Bi = valore di predisposizione del collegamento i Aggiornamento delle Informazioni Esempio di Routing Adattivo seleziona le linee preferite si sceglie una direzione diversa solo se la sua coda è molto più corta Sceglie il nodo che minimizza Qi + Bi 38 bilancia il carico in uscita la scelta della direzione è indipendente dalla destinazione e potrebbe essere poco conveniente B3 + Q3 = 4 40 aggiornamento delle informazioni aggiornate con alta frequenza permettono decisioni di routing migliori ma impongono un carico maggiore sulla rete serve un compromesso Algoritmo di Routing Distance Vector Esempio Utilizzato nella rete ARPANET Destinazione predecessore di Internet 1 0 - basato su algoritmo di Bellman-Ford 2 3 4 5 6 Ogni nodo ha un vettore della distanze che 41 specifica la distanza minima verso ogni altro router il nodo spedisce periodicamente le sue informazioni a tutti i suoi vicini che possono aggiornare i loro vettori ∞ ∞ ∞ ∞ ∞ - Nodo 1 42 Esempio Esempio Ogni nodo calcola la distanza (il ritardo sul Ogni nodo riceve periodicamente informazioni dai vicini ed aggiorna le distanze canale) verso i nodi adiacenti Next hop Distanza Destinazione 2 3 4 - 1 2 1 Nodo 1 Nodo 2 1 2 3 4 5 6 43 Next hop Distanza 0 2 5 1 ∞ ∞ 2 3 4 5 6 0 3 3 ∞ ∞ 3 4 - 1 2 3 4 5 6 5 3 0 9 1 5 1 2 4 5 6 Nodo 3 1 2 3 4 5 6 1 2 9 0 9 ∞ 1 2 3 5 - Nodo 4 1 2 3 4 5 6 Distanza ∞ ∞ 1 9 0 2 3 5 6 Nodo 5 1 2 3 4 5 6 ∞ ∞ 5 ∞ 2 0 1 2 3 4 5 6 3 5 - Nodo 6 44 0 2 5 1 ∞ ∞ 2 3 4 - Nodo 1 2 0 3 3 ∞ ∞ Distanza Destinazione 5 3 0 9 1 5 1 2 9 0 9 ∞ Dal Nodo 2 Dal Nodo 3 Dal Nodo 4 Next hop 1 0 - 2 2 2 3 5 3 4 1 4 5 6 3 6 10 3 nuova tabella Nodo 1 Problemi dell’Algoritmo Distance Vector Nuove Versioni L’algoritmo converge molto lentamente I successori dell’algoritmo originale hanno passa molto tempo dal momento in cui un nodo cambia le sue informazioni al momento in ci tutti sono informati ed i percorsi adattati i nuovi percorsi potrebbero già essere obsoleti Esempio A B cercato di risolvere le pecche dell’algoritmo originale Considerare anche i tassi di trasmissione Rendere la convergenza dell’algoritmo più C Collegamento B-C si rompe B deve buttare le rotte che passano per C Siccome A dice che può raggiungere C in 2 hop B veloce Non sovraccaricare le linee di comunicazione conclude che può raggiungere C in 3 hop Analogamente A, ricevendo un nuovo vettore da B, 45 pensa che può raggiungere C in 4 hop … 46