RETI DI CALCOLATORI Quarta Esercitazione Limiti delle LAN • • • Massima estensione fisica Massimo numero di stazioni Banda condivisa Si utilizzano bridge, switch e router per: • partizionare una LAN; • interconnettere più LAN. 2 Partizionare una LAN 10 Mb/s condivisi tra 5 stazioni 10 Mb/s condivisi tra 10 stazioni 10 Mb/s condivisi tra 5 stazioni 3 Interconnettere più LAN 4 I bridge • • • • Più propriamente detti MAC bridge, operano al sottolivello MAC del livello 2 del modello ISO/OSI Hanno algoritmi di instradamento molto semplici Possono interconnettere reti omogenee (stesso MAC) o eterogenee (MAC differenti), per esempio Ethernet-FDDI, Ethernet-Token Ring, Token Ring-FDDI Sono principalmente utilizzati in ambito locale 5 I bridge Applicazione Applicazione Presentazione Presentazione Sessione Sessione Trasporto Trasporto Rete Data Link Fisico BRIDGE Data Link Fisico Rete Data Link Fisico Data Link Fisico 6 I router • • • • Operano al livello 3 del modello ISO/OSI Hanno algoritmi di instradamento sofisticati Sono principalmente utilizzati per interconnessioni geografiche Fanno uso di indirizzi definiti in base a criteri gerarchici, consentendo la gestione di reti di grandi dimensioni 7 I router Applicazione Applicazione Presentazione Presentazione Sessione Sessione Trasporto ROUTER Trasporto Rete Rete Data Link Data Link Rete Data Link Fisico Fisico Fisico Data Link Fisico 8 Gli switch • • • • Sono dispositivi di rete ad alte prestazioni con funzionalità di inoltro dei pacchetti realizzate in hardware Storicamente si tratta di bridge ad alte prestazioni Attualmente la stessa tecnologia è stata applicata ai router Molti prodotti operano sia al livello 2 che al livello 3 9 I gateway • • • Operano al livello 7 del modello ISO/OSI Vengono utilizzati per interconnettere architetture di rete diverse (ad es. SNA e TCP/IP) Esempio tipico: gateway per posta elettronica 10 I gateway GATEWAY Applicazione Applicazione Applicazione Presentazione Presentazione Presentazione Presentazione Sessione Sessione Sessione Sessione Trasporto Trasporto Trasporto Trasporto Rete Rete Rete Rete Data Link Data Link Data Link Data Link Fisico Fisico Fisico Fisico 11 I bridge I bridge I bridge si occupano di instradare il traffico da una LAN all'altra. È importante sottolineare che, anche se l'instradamento di per se è una funzione tipica del livello tre, qui avviene sulla base dei soli indirizzi di livello due, quindi il bridge appartiene in tutto e per tutto al livello data link. 13 Architettura di un bridge L'architettura fisica di un bridge consiste in una o più CPU, una memoria ed una o più interfacce per l'interconnessione delle LAN. Di particolare interesse risultano essere le memorie: • la ROM contiene il software che realizza tutte le funzioni del bridge; • la RAM contiene le tabelle di instradamento utilizzate dal bridge, un'area utilizzata dal software per gestire le strutture dati interne ed una serie di buffer per i dati in transito. Le interfacce vengono realizzate in parte mediante opportuni dispositivi elettronici ed in parte mediante i 14 mezzi trasmissivi. Architettura di un bridge Per quanto riguarda l'architettura logica di un bridge, questa è caratterizzata da tre elementi: • due o più porte, che si occupano di ricevere o trasmettere i pacchetti per la LAN a cui sono connesse; • la MAC relay entity, ossia un'entità di ritrasmissione dei pacchetti tra due porte e di filtraggio degli stessi apprendendo delle informazioni in merito; 15 Architettura di un bridge • le higher layer entities, ossia le entità di livello superiore che si appoggiano alle procedure del LLC per ogni porta. Queste possono essere bridge protocol entity se si occupano della configurazione della LAN estesa o bridge management entity se si occupano della gestione delle funzioni del bridge. 16 Architettura di un bridge PORT PORT 1 2 Higher Layer Entities Relay MAC MAC Fisico Fisico 17 Funzionamento di un bridge Il funzionamento di un bridge, che ha tante interfacce di rete quante sono le LAN alle quali è fisicamente collegato, è il seguente: • quando una delle interfacce di rete del bridge riceve un frame MAC, lo passa al relativo software di livello MAC che toglie la busta MAC; 18 Funzionamento di un bridge • il resto viene passato dal livello MAC al software di livello LLC del bridge, nel quale, sulla base dell'indirizzo di destinazione, si decide a quale LAN inviarlo: se la destinazione si trova sulla LAN di provenienza il frame viene scartato; altrimenti, il frame LLC viene passato al livello MAC competente per la LAN di destinazione, che lo imbusta in un frame MAC e provvede ad inviarlo su tale LAN, secondo le regole di quest'ultima. 19 Funzionamento di un bridge Si noti che un bridge è ben diverso da un ripetitore, che copia pedissequamente tutto ciò che riceve da una linea su tutte le altre. Il bridge infatti acquisisce un frame, lo analizza, lo ricostruisce e lo instrada, quindi può anche essere configurato in modo da filtrare (cioé non far passare) alcuni tipi di traffico. Ciò tipicamente avviene in funzione dell'indirizzo LLC, che identifica il protocollo di livello superiore, o sulla base dell'indirizzo MAC del mittente o del destinatario. 20 Funzionamento di un bridge I bridge progettati per interconnettere LAN di tipo diverso devono risolvere vari problemi legati alle diverse regole in vigore su tali LAN, tra cui: • formati dei frame differenti; • data rate differenti; 21 Funzionamento di un bridge • • massima lunghezza di frame differente: è fuori questione spezzare un frame in questo livello, dato che tutti i protocolli si aspettano che il frame o arrivi per intero o non arrivi affatto; ad esempio, nello standard 802 i frame troppo grandi devono essere scartati; funzioni previste da un tipo di LAN ma non dall'altra: ad esempio, il concetto di priorità ed i bit A e C presenti in 802.5 non hanno un equivalente in 802.3. 22 Instradamento I bridge calcolano tabelle di instradamento usando un algoritmo molto semplice che funziona solo su reti con topologia ad albero. I bridge, per operare su topologie magliate, devono riportarle ad albero, eliminando i cammini eccedenti tramite un algoritmo di spanning tree. L’algoritmo di spanning tree opera periodicamente e in presenza di guasti riattiva automaticamente cammini precedentemente eliminati. 23 Standard IEEE per i bridge Sono due i tipi di bridge standardizzati da IEEE: • transparent spanning-tree bridge; • source-routing bridge. 24 Transparent spanningtree bridge Il transparent bridge (IEEE 802.1 part D) può essere installato e diventare operativo in modo totalmente trasparente, senza richiedere niente altro che la connessione fisica e l'accensione. 25 Transparent spanningtree bridge Il mecccanismo è il seguente: • dal momento in cui il bridge viene attivato, esamina tutti i frame che gli arrivano dalle varie LAN e sulla base di questi costruisce progressivamente le sue tabelle di instradamento. Infatti, ogni frame ricevuto consente al bridge di sapere su quale LAN si trova la stazione che lo ha inviato; 26 Transparent spanningtree bridge • ogni frame che arriva al bridge viene ritrasmesso: se il bridge ha nelle sue tabelle di instradamento l'indirizzo del destinatario, invia il frame sulla corrispondente LAN; altrimenti il frame viene inviato a tutte le LAN tranne quella di provenienza; man mano che il bridge aumenta la sua conoscenza degli indirizzi delle varie macchine, la ritrasmissione diventa sempre più selettiva (e quindi più efficiente): 27 Transparent spanningtree bridge • • le tabelle vengono aggiornate periodicamente, rimuovendo gli indirizzi che non sono transitati nell'ultimo periodo (così, se una macchina viene spostata, entro pochi minuti viene di nuovo indirizzata correttamente). Questa tecnica prende il nome backward learning; se ci sono maglie nella topologia di connessione delle LAN, i bridge si costruiscono di essa uno spanning tree. 28 Bridge Forwarding 1. 2. 3. 4. 5. 6. Inizio dell'algoritmo di "forwarding"; Il pacchetto è stato ricevuto senza errori nella porta x? Se no vai a 3; se sì vai a 4; Pacchetto scartato fine algoritmi di "forwarding" e "learning"; La porta x si trova in stato di forwarding? Se no vai a 5; se sì vai a 6; Fine algoritmo di "forwarding"; Il destination address si trova nel filtering database? Se no vai a 7; se sì vai a 8; 29 Bridge Forwarding 7. 8. 9. 10. Il pacchetto viene inoltrato attraverso tutte le porte eccetto la x; Il destination address risulta registrato come proveniente dalla stessa porta? Se sì vai a 9; se no vai a 10; Pacchetto scaricato vai a 5; Inoltro del pacchetto alla LAN mediante porta corretta vai a 5. 30 Bridge Learning 1. 2. 3. 4. 5. Fine algoritmo di "forwarding"; Il source address si trova nel filtering database? Se no vai a 3; se sì vai a 5; Aggiungere il source address al database associando il timer e la direzione vai a 4; Fine algoritmo di "learning"; Aggiornare la direzione di provenienza e il timer associato all'indirizzo presente in tabella vai a 4. 31 Spanning Tree L'algoritmo di spanning-tree ha il compito di trasformare, in modo dinamico e periodico, una qualsiasi topologia di rete in un albero, eliminando i percorsi alternativi. Tale algoritmo opera in tre fasi: • elezione della radice dell'albero (root bridge selection): tutti i bridge sono caratterizzati da una root priority e da un indirizzo MAC; in questa fase ogni bridge invia il proprio BPDU e riceve quelli trasmessi dagli altri bridge. Quando un bridge riceve una BPDU con priority minore assume che il bridge mittente sia il root bridge (in caso di parità di priority, viene designato root bridge il bridge con MAC minore); 32 Spanning Tree • • selezione della root port (root port selection): viene scelta, per ogni bridge, una porta con cui interconnettere il bridge al root bridge; selezione del designated bridge: viene scelto, per ogni LAN, un bridge con cui interconnettere la LAN con il root bridge. La porta del designated bridge prescelto (che di norma è quello più vicino al root bridge) viene chiamata "designated port". 33 Spanning Tree Alla fine delle suddette fasi vengono poste in stato di blocking tutte le porte che non sono né root né designated ed in stato di forwarding le root port e le designated port, ottenendo così una topologia attiva ad albero. Occorre ricordare che una porta si trova in stato di forwarding se partecipa alla ritrasmissione dei pacchetti, in stato di learning se si limita ad apprendere, in stato di listening se si limita al semplice ascolto del traffico ed in stato di blocking se scarta tutti i pacchetti ricevuti. 34 Spanning Tree L'algoritmo di spanning-tree si basa sulla definizione, per ogni porta, di un path cost che indica il costo di attraversamento della porta stessa. Per ogni porta e per ogni bridge si può definire il root path cost, ossia il costo totale di percorso per raggiungere il root bridge. 35 Spanning Tree Per realizzare tale algoritmo viene definito, così come visto in precedenza, il bridge PDU (BPDU). Esso è così strutturato: DSAP SSAP Length DSAP SSAP Control Multicast Single XY 042H 042H XID CONFIGURATION MESSAGE MAC LLC Header 36 Spanning Tree Il root bridge ha il compito di inviare periodicamente ed in multicast a tutti i bridge della LAN delle configuration BPDU. I bridge, una volta ricevuto il BPDU, ne aggiornano alcuni campi e lo ritrasmettono alle designated port. Tali campi possono essere: • il root identifier: è composto da due primi ottetti che indicano la priorità e da 6 ottetti che indicano l'indirizzo MAC del root bridge; • il root path cost: viene aggiornato per ogni attraversamento di un bridge; 37 Spanning Tree • • • bridge identifier: come per il root identifier, ma definito per il bridge che ha ritrasmesso il messaggio di configurazione; port identifier: un ottetto indica la priorità ed un secondo ottetto indica l'identificativo della porta; message age: tempo di vita del BPDU; 38 Spanning Tree • • • • hello time: intertempo tra due BPDU; forward delay: tempo di permanenza nello stato di listening o nello stato di learning; topology change: è un flag che indica un cambiamento di topologia; topology change acknowledgement: è un flag che viene settato in risposta al topology change notification BPDU. 39 Source-routing bridge Il source-routing bridge (nato per le reti 802.5) è progettato invece per ottenere l'instradamento più efficiente possibile, anche a scapito della trasparenza. L'idea di base è che il mittente indichi esplicitamente il cammino (espresso come sequenza di bridge e reti) che il frame deve percorrere. L'amministratore di sistema deve assegnare numeri di identificazione distinti ad ogni rete e ad ogni bridge, operazione che deve essere fatta manualmente. 40 Source-routing bridge Tali informazioni sono incluse in un apposito campo RI (Routing Information) del frame 802.5, e la loro eventuale presenza è indicata dal valore 1 del bit più significativo dell'indirizzo sorgente (che, essendo sempre relativo a un indirizzo singolo e mai di gruppo o broadcast, originariamente è sempre zero). Il bridge esamina solo i frame che hanno tale bit a uno. 41 Routing Information Il campo routing information è composto da due parti: il campo RC (Route Control) ed n campi SN (Segment Number) con 0 n 8. RC contiene informazioni quali il valore di n, la direzione (da source a destination e viceversa), il broadcast. SN è un campo di 16 bit diviso in n di cui 12 di RN (Ring Number) e 4 di BN (Bridge Number). RN è assegnato dal network manager diverso per ogni ring, BN serve invece per discriminare tra bridge paralleli. 42 Routing Information DESTINATION SOURCE ADDRESS ADDRESS ROUTING INFO INFO ROUTE SEGMENT SEGMENT SEGMENT CONTROL NUMBER 1 NUMBER 2 NUMBER 3 43 Filtri I filtri servono a stabilire le LAN che formano il percorso di un pacchetto. Qualora esistono più percorsi alternativi, i bridge operano un ulteriore filtraggio per prevenire la duplicazione di pacchetti. I filtri possono essere inclusivi o esclusivi: gli inclusivi includono classi di pacchetti che non devono essere filtrati, gli esclusivi impongono classi di pacchetti che devono essere sempre filtrati (limitando l'apprendimento del learning process). I campi usati per il filtraggio sono l'indirizzo sorgente, l'indirizzo destinatario ed il protocol type. 44 Prestazioni di un Bridge Le prestazioni di un bridge vengono determinate in base ai seguenti parametri: • tempo medio di latenza, in riferimento al tempo che impiega un pacchetto ad attraversare un bridge; • numero massimo di pacchetti al secondo che un bridge può ricevere e processare (cioè filtrare); • numero massimo di pacchetti al secondo che un bridge può inoltrare. La perdita di pacchetti viene minimizzata mediante l'impiego di bridge full-speed, ossia di bridge caratterizzati dall'uguaglianza in valore degli ultimi due parametri. 45 Bridge Remoti I bridge remoti vengono utilizzati in luogo dei router, risultando trasparenti a tutti i protocolli (compresi quelli che non hanno un livello 3). Rispetto ai router però non gestiscono topologie di complessità molto elevata, non confinano i messaggi multicast/broadcast, non permettono il bilanciamento ottimale del traffico su rete geografica e non gestiscono algoritmi sofisticati per uso di più link in parallelo. I bridge remoti possono essere remotizzati utilizzando fibra ottica (sino a 40 km), fasci di microonde (sino a 10 km), raggi laser (sino a 2 km). Possono inoltre essere utilizzate reti veloci a commutazione di pacchetto. 46 Domande di riepilogo • • • • • Quali sono le differenze tra Bridge, Router e Gateway? Che cos'è lo spanning-tree? Qual è lo standard IEEE che si occupa dei bridge? Quali sono le tre funzioni principali realizzate dai bridge trasparenti? Come avviene la costruzione della tabella di instradamento? 47 Domande di riepilogo • • • • • • • In quali passi opera l'algoritmo di spanning tree? Come funzionano i bridge source routing? Che cosa contiene il campo routing information? A cosa servono i filtri? Quali parametri caratterizzano le prestazioni di un bridge? Quali sono i mezzi trasmissivi utilizzati dai bridge remoti? Quali sono i limiti dei bridge remoti? 48