Reti di Calcolatori
a.a. 2005/06
Lezione 12
Reti di Calcolatori
Andrea Frosini
1
Nel modello di riferimento:
Application
Transport
Network
Data Link
Sottolivello MAC
Fisico
Reti di Calcolatori
Andrea Frosini
2
IEEE 802.2 (Logical Link Protocol)
• Definisce la parte superiore del livello Data Link in IEEE 802
• Nasconde le differenze dei vari sotto-livelli MAC definendo un unico formato del
frame ed una unica interfaccia verso il livello Network
• Offre tre tipi di servizio:
– datagram, cioè connectionless non affidabile (l’unico offerto dai sotto-livelli MAC)
– datagram affidabile (con conferma)
– connection-oriented affidabile
Attenzione! LLC non è sempre utilizzato. Ad esempio, nel caso frequente di una
rete Ethernet il cui traffico sono solo pacchetti IP, LLC non ha alcuna utilità.
Reti di Calcolatori
Andrea Frosini
3
IEEE 802.2 Formato del frame
Liv. Network
LLC
header
Liv. LLC
Liv. MAC
MAC
header
LLC
header
MAC
trailer
Liv. Fisico
Reti di Calcolatori
Andrea Frosini
4
IEEE 802.2 Bridge
I bridge sono dispositivi hardware operanti a livello Data Link che collegano tra loro
diverse LAN
Sono realizzati da:
• apparecchiature specifiche, oppure
• calcolatori con opportuno supporto nel sistema operativo
Reti di Calcolatori
Andrea Frosini
5
IEEE 802.2 Dispositivi di interconnessione
I bridge non sono da confondere con ripetitori, hub, switch, router o gateway!
• i ripetitori operano a livello Fisico e collegano due segmenti tra loro amplificando
e ritrasmettendo il segnale analogico
• gli hub operano a livello Fisico e collegano elettricamente diversi segmenti tra
loro, ma generalmente non amplificano il segnale analogico
• un router opera a livello Network
• un gateway può operare a livello Network (router multiprotocollo), a livello Transport
oppure Application
• uno switch opera a livello Data Link, esaminando l’indirizzo hardware del frame,
e collega tra loro stazioni singole di una stessa LAN
• un bridge opera a livello Data Link, esaminando l’indirizzo hardware del frame, e
collega tra loro diverse LAN (potenzialmente anche di tipo differente)
La differenza fondamentale tra switch e bridge è essenzialmente tecnologica, ma tale
differenza va sempre più attenuandosi
Reti di Calcolatori
Andrea Frosini
6
IEEE 802.2 Bridge e sicurezza
In genere le schede di rete delle LAN controllano automaticamente l’indirizzo
hardware di destinazione e ignorano i frame non destinati al calcolatore
Quasi tutte le schede di rete possono anche funzionare in modo promiscuo: tutti i
frame sono sempre passati al calcolatore, qualunque sia la loro destinazione
E’ quindi possibile costruire degli sniffer: applicazioni che monitorizzano tutto il
traffico di una LAN (password, e-mail, numeri di carte di credito, ecc.)
Spezzando una LAN tramite i bridge, si aumenta la sicurezza, perché ciascuno
sniffer potrà intercettare solo il traffico della piccola LAN in cui è inserito
Inoltre i bridge possono filtrare i frame (ad esempio scartando i frame che arrivano
da schede di rete non riconosciute)
Reti di Calcolatori
Andrea Frosini
7
IEEE 802.2 Esempio di bridge tra Ethernet e Token Bus
Reti di Calcolatori
Andrea Frosini
8
IEEE 802.2 Funzionamento di un bridge
• riceve un frame da una scheda di rete di una LAN A
• il frame è interpretato dall’entità di livello MAC della LAN A
• il frame LLC è passato al livello LLC del bridge
• il livello LLC esamina l’indirizzo hardware di destinazione: se appartiene ad una
stazione sulla LAN A, scarta il frame
• altrimenti il livello LLC decide di spedire il frame su un’altra LAN B:
– il frame LLC è passato al livello MAC della LAN B
– il frame è trasmesso sulla LAN B
Reti di Calcolatori
Andrea Frosini
9
IEEE 802.2 Difficoltà tecniche dei bridge
I bridge per le LAN IEEE 802 devono affrontare difficoltà tecniche rilevanti.
Ad esempio, in ciascuno degli standard IEEE 802.3, 802.4 e 802.5 sono differenti:
• il formato dei frame
• la velocità di trasmissione
• l’efficienza delle LAN (ad esempio, una rete Token Ring da 10 Mbps può rapidamente
saturare una rete Ethernet da 10 Mbps)
• la lunghezza massima di un frame (è fuori questione spezzare i frame troppo lunghi,
perché per i protocolli IEEE 802 o un frame arriva oppure non arriva)
• la priorità dei frame (mancante in 802.3, diverso significato in 802.4 e 802.5)
• l’acknowledgement del frame (ad esempio, i bit A e C in 802.5)
Le difficoltà sono ancora maggiori per i bridge tra LAN broadcast e reti wireless (ad
esempio, tra IEEE 802.3 e 802.11)
Reti di Calcolatori
Andrea Frosini
10
IEEE 802.2 Routing nei bridge
Ciascun bridge deve gestire il routing (instradamento) dei frame considerando
l’indirizzo hardware di destinazione di ciascun frame
L’IEEE definisce due standard (incompatibili tra loro), entrambi chiamati
collettivamente IEEE 802.1d:
• Transparent bridge: proposto dai comitati che formalizzavano 802.3 e 802.4.
• Source routing bridge: proposto dal comitato che formalizzava 802.5.
Reti di Calcolatori
Andrea Frosini
11
IEEE 802.2 Transparent bridge
Il Transparent bridge è una apparecchiatura completamente invisibile agli host
nelle varie LAN e prevede:
• nessun cambiamento hardware negli host
• nessun cambiamento nel software degli host
• nessuna impostazione manuale di tabelle di routing nel bridge o negli host
Per installare un transparent bridge è solo necessario collegare i cavi delle varie
LAN all’apparecchio
Reti di Calcolatori
Andrea Frosini
12
IEEE 802.2 Funzionamento del transparent bridge
Opera in modo promiscuo, analizzando tutti i frame su tutte le LAN
Quando arriva un frame, legge l’indirizzo hardware della scheda di rete a cui il
frame è destinato:
• se la destinazione è nella tabella di routing del bridge:
– se la destinazione è sulla LAN da cui è arrivato il frame, ignora il frame
– se la destinazione è su un’altra LAN, invia il frame solo a quella LAN
• se la destinazione non è nella tabella di routing, invia il frame a tutte le LAN
eccetto quella dalla quale il frame è arrivato (flooding)
Reti di Calcolatori
Andrea Frosini
13
IEEE 802.2 Costruzione tabella di routing
Inizialmente la tabella di routing di un transparent bridge è vuota (nessuna
configurazione manuale)
La tabella viene riempita utilizzando un algoritmo chiamato backward learning:
per ogni frame che giunge al bridge:
• legge l’indirizzo hardware del calcolatore M che ha inviato il frame
• se non è già presente, aggiunge alla tabella di routing l’informazione che il
calcolatore M è raggiungibile sulla LAN dalla quale è arrivato il frame
La tabella di routing del transparent bridge è dinamica, per gestire calcolatori che
si accendono, si spengono o si muovono
• ogni volta che un frame arriva ad un bridge, l’istante temporale in cui è arrivato
è scritto in un apposito campo del record corrispondente nella tabella di routing
• ogni pochi minuti il bridge esamina tutti i record della tabella di routing e
cancella tutti quelli per i quali da parecchio tempo non è arrivato alcun frame
Reti di Calcolatori
Andrea Frosini
14
IEEE 802.2 Bridge in parallelo
Per aumentare l’affidabilità si inseriscono più bridge in parallelo tra le stesse
LAN, ma questo può provocare la generazione di un numero infinito di frame:
LAN2
LAN1
Reti di Calcolatori
Andrea Frosini
15
IEEE 802.2 Spanning tree
La generazione di un numero infinito di frame durante il flooding è dovuto all’esistenza
di cicli indotti dai bridge
Soluzione: ciascun bridge ignora alcune LAN, in modo da evitare la creazione di cicli
Se LAN e bridge sono rappresentati da nodi e archi di un grafo, si deve determinare
uno spanning tree (albero ricoprente) del grafo. Notare che un albero non ha cicli al
suo interno
L’algoritmo per lo spanning tree deve essere:
• dinamico, perché i bridge possono apparire e sparire
• distribuito, perché i bridge devono concordare sullo stesso spanning tree
Reti di Calcolatori
Andrea Frosini
16
IEEE 802.2 Esempio di spanning tree
Internetworking di LAN
Spanning tree
LAN
LAN
Bridge
Arco non dell’albero
Arco dell’albero
Reti di Calcolatori
Andrea Frosini
17
IEEE 802.2 Source routing bridge
L’obiettivo del source routing bridge è quello di massimizzare l’efficienza
La responsabilità del routing è affidata soprattutto agli host sulle LAN
Quando un host deve spedire un frame su una LAN differente dalla propria, deve
conoscere il percorso (path) da seguire:
• Ciascuna LAN è identificata da un numero a 12 bit
• Ciascun bridge è identificato da un numero a 4 bit (non univoco nella internetwork,
ma univoco tra tutte le LAN collegate dal bridge)
• Un percorso è una successione di numeri di bridge e LAN alternati
Reti di Calcolatori
Andrea Frosini
18
IEEE 802.2 Funzionamento del source routing bridge
Quando un frame arriva ad un source routing bridge:
• esamina l’indirizzo hardware di destinazione, e ignora il frame se il bit più
significativo è 0 (l’indirizzo è locale alla LAN dalla quale il frame è partito)
• analizza il percorso contenuto nel frame e cerca il numero della LAN dalla quale è
arrivato il frame
• se questo numero di LAN è seguito dal proprio numero di bridge, invia il frame sulla
LAN indicata dal numero di LAN successivo
• altrimenti ignora il frame
Reti di Calcolatori
Andrea Frosini
19
IEEE 802.2 Routing Information
Il percorso da seguire per un frame inviato attraverso un source routing bridge deve
essere memorizzato in un particolare campo del frame: Routing Information (lungo da
8 a 40 byte)
Lo standard IEEE 802.5 (Token Ring) specifica che tale campo nella testata del
frame è facoltativo (presente solo nei frame che lo richiedono)
Gli standard IEEE 802.3 (Ethernet) e 802.4 (Token Bus) non prevedono l’esistenza di
tale campo, e quindi queste LAN non potrebbero essere connesse con source routing
bridge
In pratica, lo standard IEEE definisce un source routing bridge che si comporta come
un transparent bridge quando tratta frame senza il campo Routing Information. A
volte questo tipo di bridge è detto Translational bridge.
Reti di Calcolatori
Andrea Frosini
20
IEEE 802.2 Costruzione della tabella di routing I
Anche se l’assegnazione degli identificatori di LAN e bridge è manuale, la
costruzione della tabella di routing in ciascun host è dinamica
Se un host A non conosce il percorso per arrivare a un certo host B, invia un frame
broadcast chiamato discovery frame contenente l’indirizzo di B
Il discovery frame è ritrasmesso da ogni source routing bridge, così alla fine
raggiunge tutti gli host nelle varie LAN
Ad ogni ritrasmissione il bridge aggiunge al discovery frame il numero della LAN da
cui è giunto il frame ed il proprio numero di bridge
Per ciascun discovery frame che giunge a B, B invia un frame di risposta ad A,
utilizzando il percorso memorizzato nel discovery frame
Reti di Calcolatori
Andrea Frosini
21
IEEE 802.2 Costruzione della tabella di routing II
L’host A considera il primo frame di risposta che gli arriva ed aggiunge alla propria
tabella di routing il percorso corrispondente
Considerare solo il primo frame tende a favorire i percorsi migliori (più veloci, più
corti, meno carichi, . . . )
Problema: se esistono cicli nel grafo costituito da LAN e bridge, il numero di
discovery frame aumenta esponenzialmente!
Analogamente alle tabelle di routing dei transparent bridge, queste tabelle di routing
sono dinamiche: ogni record viene cancellato se in un certo intervallo di tempo esso
non viene utilizzato
Reti di Calcolatori
Andrea Frosini
22
IEEE 802.2 Confronto tra bridge
• il transparent bridge è completamente trasparente per gli host nelle varie LAN, il
source routing bridge no
• il transparent bridge è (in teoria) compatibile con tutti gli standard IEEE 802, il
source routing bridge no
• il source routing bridge potrebbe utilizzare un routing ottimale, e potrebbe utilizzare
i cicli per ridurre la congestione nelle singole LAN (ma in pratica . . . )
• con il backward learning non si hanno garanzie se e quando un particolare
percorso verrà imparato; con il discovery frame si ha una esplosione esponenziale
nel numero di frame di controllo con bridge in parallelo
• guasti di host e bridge vengono gestiti molto più efficacemente dal transparent
bridge che dal source routing bridge
• col transparent bridge la sofisticazione è nei bridge (pochi), col source routing
bridge è negli host (molti)
Il transparent bridge è più conveniente e il source routing bridge sta scomparendo
Reti di Calcolatori
Andrea Frosini
23
LAN virtuali (VLAN)
Sempre più frequentemente gli amministratori di rete hanno la necessità di suddividere
le stazioni in tante LAN separate, per i soliti motivi di efficienza, affidabilità e sicurezza
E’ possibile farlo posizionando geograficamente bridge e stazioni in maniera
opportuna, ma questo implica che
• gli utenti di ciascuna LAN devono essere geograficamente localizzati
• cambiare la LAN a cui appartiene una certa stazione è difficile, ed ogni cambiamento
implica una riconfigurazione manuale dei vari segmenti che entrano nei bridge
La soluzione consiste nel costruire bridge e switch che consentano la realizzazione di
LAN virtuali (VLAN)
Ciascuna stazione in ogni LAN fisica viene assegnata (via software) ad una LAN
virtuale (solitamente indicata dagli amministratori con un colore)
Reti di Calcolatori
Andrea Frosini
24
Scarica

bridge