Gli Apparati di Rete
Repeater, Hub, Bridge, Router
arcIPelago scrl
Il Repeater
• E’ un apparato di livello 1 (fisico), quindi
intepreta solo i segnali elettrici e ha come
unità trasmissiva il singolo bit
• Il repeater serve ad estendere la lunghezza
del canale trasmissivo e a realizzare
topologie ad albero
• Rigenera stringhe di bit ricevute su un
canale e le ritrasmette sugli altri canali
arcIPelago scrl
Lo Hub
• L’Hub è un concentratore di cablaggio (opera
al livello 1)
• Serve a collassare una topologia a bus o ad
anello in un topologia a stella, semplificando
(e rendendo più affidabili) le operazioni di
cablaggio
• Non aumenta la capacità trasmissiva (l’hub si
comporta come un ripetitore)
arcIPelago scrl
Lo Switch
• Se l’hub non si comporta come un repeater, ma
opera commutazione a livello di trama, ho uno
switch
• Lo switch aumenta la capacità della rete perché
permette di trasmettere più pacchetti
contemporaneamente se sorgente e destinazione
sono diversi
arcIPelago scrl
Il Bridge (1)
• Il Bridge è un apparato di livello 2-MAC
• Serve ad estendere una LAN tenendo separati
i domini trasmissivi
• esegue filtraggio per mantenere separati i
traffici locali delle reti che interconnette
• Il traffico totale della LAN estesa risulta
superiore a quello massimo della singola LAN
arcIPelago scrl
Il Bridge (2)
• Può interconnettere LAN con lo stesso
protocollo MAC o con protocolli diversi
• Se i protocolli sono diversi, il Bridge
traduce l’intestazione (la “busta”) di un
protocollo in quella dell’altro prima di
inoltrare la trama
arcIPelago scrl
Il Bridge
L’interconnessione di LAN
• Le prestazioni di una LAN tendono a peggiorare al
crescere del numero di suoi utenti
• Una soluzione consiste nell’interconnettere diverse
LAN, in modo non gerarchico, attraverso dei bridge. Si
parlerà di LAN estesa.
• Il bridge ‘sente’ tutte le trame trasmesse sulle LAN a
cui è connesso, e inoltra selettivamente alcune trame
da una LAN all’altra attraverso delle porte.
arcIPelago scrl
Il Bridge
L’interconnessione di LAN
• Questa topologia implica che ogni nodo
abbia un indirizzo di livello 2 unico
all’interno della LAN estesa
• Le procedure più comuni di instradamento
su LAN estese sono:
3 spanning
tree
3 source routing
arcIPelago scrl
Spanning Tree (1)
• Uno Spanning Tree è un cammino aperto senza
cicli all’interno della LAN estesa, in modo che
esista un unico percorso tra due bridge
qualunque della LAN
• Le porte dei bridge che giacciono sullo
Spanning Tree sono dette attive, e un bridge
può comunicare con un nodo qualunque
attraverso un’unica porta attiva
arcIPelago scrl
Spanning Tree (2)
• Per implementare uno Spanning Tree, ogni
bridge ha, per ogni porta attiva, una ‘lista’
dei nodi raggiungibili attraverso quella
porta.
• Se un bridge con porte attive su due LAN,
A e B, vede passare sulla A una trama
diretta ad un nodo incluso nella ‘lista’ della
porta B, la preleva e la inoltra sulla LAN B.
arcIPelago scrl
Spanning Tree (3)
• Le ‘liste’ sono compilate dinamicamente e
automaticamente dal bridge stesso:
3 nodo
aggiunto quando il bridge ‘sente’ transitare
trame spedite da quel nodo sulla LAN connessa
alla porta in questione
3 nodo rimosso dalla lista quando, dopo un timeout,
il bridge non vede più transitare trame di quel nodo
arcIPelago scrl
Spanning Tree (4)
• Il processo di compilazione delle liste, noto
come bridge learning, permette di evitare
riconfigurazioni manuali dei bridge quando:
un nodo viene spostato da una LAN all’altra
3 uno o più nodi vengono spenti o si guastano
3 lo Spanning Tree viene ricostruito aggiungendo
o togliendo porte attive
3
arcIPelago scrl
Source Routing (1)
• Alternativa al metodo Spanning Tree : scopro
un percorso tra due nodi in comunicazione, e
lo includo nell’intestazione di ogni trama
• Due fasi (nodo A
nodo B):
¬ Individuo il destinatario sulla LAN estesa,
spedendo in flooding dei ‘frames esplorativi’
- Scelgo un percorso tra tutti quelli possibili che
connettono mittente e destinatario, cercando di
ottimizzare la scelta
arcIPelago scrl
Source Routing (2)
• Nel Source Routing è il nodo sorgente che
effettua la scelta del percorso da seguire.
• Il software di Routing dei singoli nodi
risulta piu’ complesso, ma ai bridge non
occorre sprecare tempo per instradare
ciascun frame.
arcIPelago scrl
Router
• Dispositivo di livello 3 (rete)
• I router più recenti sono in grado di
instradare pacchetti di protocolli diversi (IP,
DECnet...)
• Se un router ha un modulo di bridging per
quei protocolli - per sola rete locale - che
non hanno un livello 3 (es. LAT, NetBeui),
è detto brouter
arcIPelago scrl
Architettura di un router
Algoritmo
di calcolo
della RT
RT
Routing
Tables
RT
Routing
Tables
Inoltro dei
pacchetti
Scheda LAN 2
Scheda WAN 1
arcIPelago scrl
SNA
Scheda LAN 1
Algoritmo
di calcolo
della RT
IP
Inoltro dei
pacchetti
DECnet
RT
Routing
Tables
Algoritmo
di calcolo
della RT
Inoltro dei
pacchetti
Scheda WAN 2
Terminologia OSI
• Un dispositivo contenente al suo interno
almeno i livelli fisico, data link e network è
detto
3 nodo
system (terminologia corretta OSI)
• I nodi che agiscono come mittente e
destinatario finale dei dati sono detti:
3 ES
(End System)
3 End Node
arcIPelago scrl
ES e IS
• Tra due ES possono esserci diversi altri
nodi che agiscono da intermediari e
svolgono funzioni di instradamento.
• Questi nodi sono detti:
3 IS
(Intermediate System)
3 router
• Tipicamente gli ES implementano tutti e
sette i livelli OSI, mentre gli IS sono limitati
ai primi tre.
arcIPelago scrl
Indirizzi e Nomi
• Un nodo è identificato da uno o più indirizzi di
livello 3 e da un nome
• La finalità del nome è quella di identificare il
calcolatore in modo mnemonico per gli umani
• La finalità dell’indirizzo è quella di determinare
l’instradamento dei pacchetti all’interno della rete
• La corrispondenza tra nomi e indirizzi può essere
mantenuta tramite:
un file locale ad ogni elaboratore (ormai raro)
3 una base di dati distribuita
3
arcIPelago scrl
Il livello Network
• Tratta le problematiche di Internetworking
• Instrada i messaggi sulla rete
• Provvedere a trovare instradamenti
alternativi in caso di guasti
• Può fornire sia servizi non connessi sia
servizi connessi
• È molto sviluppato sugli IS, meno sugli ES.
arcIPelago scrl
Tecniche di instradamento
• Routing by Network Address
• Label Swapping
• Source Routing
arcIPelago scrl
Routing by Network Address
• Usato tipicamente nei protocolli non connessi
bridge trasparenti
3 Decnet
3 IPX
3 IPv4 e IPv6
3 OSI CLNP
3
• Ogni pacchetto contiene l’indirizzo del nodo
destinatario
• L’indirizzo viene usato come chiave di accesso
alle tabelle di instradamento
arcIPelago scrl
Label Swapping
• È generalmente usato nei protocolli
connessi
• Ogni pacchetto è marcato con una label che
identifica la connessione
• La label viene usata come chiave per
determinare l’instradamento e sostituita in
ogni nodo
• È usato in: X.25 APPN ATM
arcIPelago scrl
Source Routing
• Il nodo mittente scrive nel pacchetto
l’elenco completo dei nodi da attraversare
• È usato: nei bridge source-routing in
APPN+/HPR
arcIPelago scrl
Tabelle di instradamento
• Il livello network per instradare i pacchetti
si basa: sull'indirizzo del destinatario finale
su tabelle di instradamento presenti negli IS.
• Le tabelle di instradamento possono essere:
scritte manualmente calcolate da algoritmi
che imparano la topologia della rete e si
adattano ai suoi cambiamenti.
• Solo gli IS sono tipicamente sede di tabelle
di instradamento
arcIPelago scrl
Scelta dell’algoritmo
• Non semplice: più criteri di ottimalità spesso
contrastanti.
• Ad esempio:
minimizzare il ritardo medio di ogni pacchetto
3 massimizzare l'utilizzo delle linee
3
• Complicata dalla presenza di un elevato numero di
nodi collegati con una topologia qualsiasi
• Algoritmi troppo complessi, operanti su reti molto
grandi, potrebbero richiedere tempi di calcolo
inaccettabili
arcIPelago scrl
Esempio
• Si supponga di voler inviare un messaggio a tutti i
nodi di una rete carica evitando l'utilizzo di
tecniche di broadcast per contenere il carico:
occorre individuare un algoritmo di routing che
garantisca che il pacchetto tocchi sequenzialmente
tutti i nodi
• Per ottimizzare il cammino di questo pacchetto:
occorre risolvere il tipico problema del Commesso
Viaggiatore che è NP-Hard
arcIPelago scrl
Caratteristiche di un algoritmo
• Semplicità: i router hanno CPU e memoria
finite
• Robustezza e adattabilità alle variazioni di
topologia
• Stabilità: l'algoritmo deve convergere
• Equità: evitare di sfavorire particolari nodi
arcIPelago scrl
Ottimalità
• Ottimalità: i criteri adottati sono tipicamente i due
esposti precedentemente.
• Occorre definire una metrica.
• Gli unici due parametri universalmente accettati
sono:
HOPS: numero di salti effettuati, cioè il numero di IS
attraversati lungo il cammino
3 COSTO: somma dei costi di tutte le linee attraversate
(il costo di una linea è inversamente proporzionale alla
sua velocità)
3
arcIPelago scrl
Algoritmi di Routing
• Non adattativi (statici, deterministici): criteri fissi
di instradamento
Fixed Directory Routing
3 Flooding
3
• Adattativi (dinamici, non deterministici):
calcolano le tabelle di instradamento in funzione
della topologia della rete, dello stato dei link e del
carico
• Routing Centralizzato
Routing Isolato
3 Routing Distribuito
3
arcIPelago scrl
Fixed Directory Routing
• Ogni nodo ha una tabella di instradamento scritta
manualmente (gestione complessa)
• Indirizzo di destinazione --> linea da usarsi
• Il gestore della rete ha il totale controllo dei flussi
di traffico interventi manuali per ridirigere il
traffico in presenza di guasti
• Questo secondo punto può essere parzialmente
evitato adottando tabelle di priorità che diano più
scelte in caso di guasto
• Usato con successo in reti TCP/IP e SNA
arcIPelago scrl
Flooding
• Algoritmo non adattativo
• Ciascun pacchetto in arrivo viene
ritrasmesso su tutte le linee eccetto quella su
cui è stato ricevuto
• Adatto a carichi bassi
• Si può migliorare: introducendo un agecounter scartando i pacchetti la seconda
volta che passano in un nodo (richiede
memoria nei nodi)
arcIPelago scrl
Selective Flooding
• Selective Flooding
• I pacchetti vengono ritrasmessi solo su linee
selezionate:
3 Random
Walk: il pacchetto in arrivo su un nodo
viene trasmesso in modo casuale su una delle
linee disponibili
3 Hot Potato: ogni nodo ritrasmette il pacchetto
sulla linea con la coda di trasmissione più breve
arcIPelago scrl
Routing centralizzato
• Esiste un Routing Control Center (RCC) che
calcola e distribuisce le tabelle
• Il RCC riceve informazioni sullo stato della rete
da tutti i nodi e le usa per calcolare le nuove
tabelle
• Ottimizza le prestazioni, ma è poco robusto
(aggiornamenti parziali delle tabelle dovuti a
guasti possono generare loop)
• Induce un notevole carico sulla rete specialmente
in prossimità del RCC
arcIPelago scrl
Routing Isolato
• È l'opposto del Routing Centralizzato in
quanto non esiste un RCC e ogni nodo
decide l'instradamento in modo autonomo
senza scambiare informazioni con gli altri
IS
• Esempio: Backward Learning
• Usato dai bridge 802.1D (integrato
dall’algoritmo di spanning tree).
arcIPelago scrl
Backward Learning
• Ogni pacchetto ha un campo in cui vengono
sommati i costi di tutte le linee attraversate
• Gli IS osservano questo campo nei pacchetti
ricevuti e imparano quanto dista il mittente tramite
la linea su cui è avvenuta la ricezione
• Occorre limitare la validità temporale delle
annotazioni nella tabella in quanto questa tecnica
non è in grado di rilevare se un cammino non è più
disponibile
arcIPelago scrl
Routing Distribuito
• Utilizzato in varie reti proprietarie (es. DECNET)
e in OSI
• Ogni router calcola le sue tabelle dialogando con
gli altri router e con gli end-node
• Tale dialogo avviene tramite dei protocolli
ausiliari a livello 3
• Esistono due approcci principali al routing
distribuito:
Algoritmi Distance Vector
3 Algoritmi Link State Packet
3
arcIPelago scrl