Livello di rete: appunti di sistemi

Materie:Appunti
Categoria:Sistemi

Voto:

2 (2)
Download:136
Data:15.06.2005
Numero di pagine:6
Formato di file:.doc (Microsoft Word)
Download   Anteprima
livello-rete-appunti-sistemi_1.zip (Dimensione: 8.53 Kb)
readme.txt     59 Bytes
trucheck.it_livello-di-rete:-appunti-di-sistemi.doc     35 Kb



Testo

IL LIVELLO DI RETE
LIVELLO DI RETE: Entra in gioco quando ci sono più di due macchine e deve risolvere il problema dell’instradamento che si risolve trovando il percorso ai dati e il problema della congestione.
Esistono varie TECNICHE DI INSTRADAMENTO: In quelle Orientate alla connessione: Occorre creare una connessione affidabile tra le macchine su circuito virtuale; virtuale perché i percorsi tra le macchine possono cambiare in una nuova connessione.
Le tecniche non orientate alla connessione sono quelle che non prevedono garanzia di connessione e il livello di rete deve solo occuparsi dell’instradamento dei pacchetti (datagrammi) lasciando ai livelli superiori o inferiori il compito del controllo e la correttezza dati.
La scelta del percorso può essere eseguita tramite metodo dinamico ovvero basandosi sulle misure del traffico valutando le variazioni delle condizioni di rete, oppure tramite metodo statico: in cui una volta per tutte la rete crea una semplice topologia strutturale che rimane invariata nel tempo: le condizioni della rete non devono quindi variare.
L’INSTRADAMENTO CENTRALIZZATO viene utilizzato di solito nelle reti orientate alla connessione e prevede la presenza di un IMP responsabile dell’instradamento dei pacchetti. (RCC Routing Control Center).
La macchina che vuole comunicare invia una richiesta all’RCC con un pacchetto che contiene il proprio indirizzo e quello del destinatario e quindi l’RCC, sapendo la topologia di rete, trova il percorso ottimale. Spedirà poi lungo quel percorso un pacchetto di controllo denominato pacchetto spia che contiene le informazioni indispensabili per il collegamento tra due nodi. La soluzione migliore è quella di Dijkstra basata sull’algoritmo di individuazione del cammino più breve.(Grafo)
L’INSTRADAMENTO ISOLATO a differenza di quello centralizzato non prevede più la presenza del nodo supervisore che decide il cammino, ma sono i singoli IMP a definire lungo quale percorso trasmettere i pacchetti.
Questo è un instradamento efficace in caso di traffico lungo e rete in continua variazione. Una soluzione è quella di Baran con l’algoritmo della patata bollente che prevede che una stazione quando riceve un pacchetto non suo cerca di sbarazzarsene nel minor tempo possibile spedendolo sulla prima linea libera che trova o inserendolo nella coda di attesa più corta.
Questo è un algoritmo semplice ma rischia di disperdere un pacchetto da un nodo intermedio ad un altro ritardando cosi il suo arrivo.
Un’alternativa è quella dell’algoritmo a pioggia in cui il nodo trasmettitore invia il pacchetto a tutte le linee, sperando che almeno una di queste consenta di raggiungere la destinazione finale in tempi rapidi. Questo algoritmo presenta problematiche relative al troppo alto tempo di percorrenza e ad uno spreco di banda.
Anche nell’ INSTRADAMENTO DISTRIBUITO ogni IMP decide lungo quale via inoltrare il pacchetto però a differenza di quello isolato l’IMP scambia periodicamente informazioni con gli altri IMP vicini per avere una visione aggiornata del traffico sulla rete. Quindi gli IMP faranno riferimento a una tabella dei cammini che consente di raggiungere i vari nodi con una stima del tempo necessario per giungere a destinazione.
L’INSTRADAMENTO GERARCHICO: risulta efficace quando la dimensione della rete diviene piuttosto elevata e le tabelle d’instradamento risultano essere troppo grandi per essere gestite dai singoli IMP. Allora i nodi della rete vengono suddivisi in regioni e i singoli IMP devono solo occuparsi dell’instradamento della regione di appartenenza. In ogni regione ci deve essere almeno un IMP in modo da garantire la corretta circolazione dei pacchetti tra tutte le regioni.
Maggiore è il numero di livelli gerarchici e maggiore sono i nodi che devono essere attraversati per arrivare da una regione all’altra, e quindi aumenta il tempo di comunicazione.
Il numero ottimale di livelli da implementare deve almeno essere pari al logaritmo del numero di IMP.
In alcune applicazioni particolari risulta necessario consentire ad un nodo di trasmettere i propri dati non verso un unico destinatario ma verso tutti i nodi della rete (tecnica di broadcasting o INSTRADAMENTO BROADCAST).
Una soluzione elementare consiste nell’imporre ad un nodo di creare delle copie del pacchetto da inviare e di inviarne una verso ogni nodo della rete. Questa soluzione che non prevede accorgimenti particolari presenta un problema relativo alla non trascurabilità del tempo di copia del pacchetto e l’imposizione ai nodi di conoscere la topologia dell’intera rete. Ancora una volta si può ricorrere ad un algoritmo a pioggia che però presenta problematiche gia discusse in precedenza.
Una terza e più efficace soluzione, nota come instradamento multidestinazione, consiste nell’inserire all’interno del pacchetto la lista completa degli indirizzi dei destinatari, lista che verrà suddivisa dagli IMP intermedi in sottoliste relative agli IMP raggiungibili dalle linee di uscita dell’IMP facendo in modo che dopo pochi passaggi la lista venga ridotta a un solo destinatario, quello finale.
IL CONTROLLO DELLA CONGESTIONE:
Quando il numero di pacchetti inviati diventa molto elevato può nascere una situazione di congestione, in cui gli IMP non sono in grado di reggere il traffico e di conseguenza non può essere garantito che tutti i pacchetti arrivino a destinazione.
La congestione è un fenomeno legato a due fattori, ovvero la velocità di elaborazione dei singoli IMP e alla portata delle linee.
Infatti, se la velocità di elaborazione di un nodo non è sufficiente a consentire al nodo di eseguire le operazioni richieste tra l’arrivo di un pacchetto e l’altro, in ogni nodo si creerebbero delle code di attesa che potrebbero saturare il buffer di entrata impedendo la cattura di nuovi pacchetti in arrivo.
Stesso problema si presenta se la velocità di elaborazione degli IMP è sufficiente ma non lo è la portata delle linee.
La congestione quindi risulta essere collegata strettamente al numero di buffer di ingresso nonché alla tecnica di instradamento usata.
Anche se il problema della congestione non è del tutto risolto sono state messe a punto delle tecniche per controllare la congestione e limitarne gli effetti.
LA TECNICA DI PREALLOCAZIONE DEI BUFFER (tecnica a priori)
Questa tecnica viene usata quando la rete è costruita su circuito virtuale. In pratica, quando viene inviato il pacchetto di apertura del circuito, presso ogni IMP viene assegnata al nuovo circuito una coppia di buffer di I/O, di conseguenza, se uno degli IMP non buffer liberi da assegnare, la richiesta di attivazione del circuito viene respinta per essere ripetuta dopo un determinato tempo di attesa. Quindi su ogni circuito potrà viaggiare un solo pacchetto per volta e in ogni nodo transiterà solo il numero di pacchetti pari al numero di buffer allocati, che il nodo può sicuramente gestire.
Il fatto di allocare staticamente i buffer sui circuiti però risulta essere troppo costoso e inefficacie e per questo si preferisce allocare dinamicamente i buffer.
LA TECNICA A SCARTO DI PACCHETTI (tecnica a posteriori)
Questa tecnica concede ai singoli IMP la libertà di scartare, in caso di necessità, eventuali pacchetti che sovraccaricano la linea.
Questa tecnica presenta un inconveniente importante. Infatti potrebbe essere scartato un pacchetto importante come quello di riscontro inviato da un IMP adiacente e, di conseguenza, finirebbe per mantenere occupato un buffer in uscita che potrebbe essere invece liberato dal pacchetto di riscontro (o chiusura). Per evitare questo inconveniente bisognerà preallocare in modo permanete dei buffer di ingresso atti all’acquisizione dei pacchetti di riscontro. Anche questo accorgimento però richiede agli IMP trasmettitori un numero elevato di duplicazioni che comportano un utilizzo di un’elevata lunghezza di banda. Perciò si cerca di minimizzare lo spreco di banda scartando i pacchetti relativi a connessioni appena aperte privilegiando quelle più vecchie che presentano maggiori probabilità di chiusura in breve tempo.

LA LIMITAZIONE DEL NUMERO DI PACCHETTI CIRCOLANTI (tecnica a priori)
Questa tecnica gestisce le congestioni associando alla sottorete un numero definito e limitato di permessi di trasmissione che possono essere assegnati a turno ai vari IMP.
In pratica, quando un IMP vorrà trasmettere dovrà catturare il pacchetto di permesso che gli fornirà l’autorizzazione a trasmettere. Al termine della comunicazione rigenererà il permesso dando la possibilità agli altri IMP di comunicare. Questa tecnica è in definitiva un’estensione al livello di rete della tecnica token che non elimina la congestione ma la tiene sotto controllo.
IL CONTROLLO DI UTILIZZO DELLE LINEE DI USCITA.
La riduzione del volume di traffico produce una diminuzione della produttività della rete poiché alcune linee possono risultare sottoutilizzate. Per evitare questo inconveniente esistono tecniche che consentono di attivare i meccanismi di controllo del traffico solo nei momenti critici, lasciando maggiore libertà in situazioni di scarso traffico.
Una strategia consiste nel far si che ogni nodo controlli la percentuale di utilizzo delle proprie linee di uscita e le marchi nel caso in cui la percentuale superi un limite prefissato. Quindi se un IMP A invia un pacchetto a un IMP B chiedendo che questo venga instradato verso l’IMP C lungo una linea marchiata poiché congestionata A viene obbligato da B, tramite un pacchetto di allarme, a ridurre di un certo valore percentuale il proprio traffico verso C, in modo da diminuire la congestione su quella linea.
LO STALLO
In una rete la congestione può crescere fino a portare ad una situazione di stallo, in cui la comunicazione tra gli IMP risulta completamente bloccata.
La situazione più semplice di stallo si presenta nella comunicazione tra soli due IMP dove gli IMP presentano come saturi i buffer di uscita per i pacchetti dell’altro non potendo ne trasmettere pacchetti all’altro ne riceverne rimanendo cosi bloccati.
Una situazione simile può verificarsi coinvolgendo anche molti altri IMP tutti con buffer pieni e tali da dover spedire i pacchetti su un percorso ad anello. Questo problema risulta essere molto grave in quanto la situazione di stallo coinvolgerà ben presto altri IMP. Anche se sono state sviluppate tecniche in grado di contenere lo stallo, questi non può essere eliminato dato che il blocco non dipende solo dalle congestioni troppo elevate ma anche da malfunzionamento degli IMP, problema che non può essere previsto da alcun algoritmo.

Esempio