240 likes | 376 Views
Reti di Calcolatori a.a. 2005/06 Lezione 12. Sottolivello MAC. Fisico. Nel modello di riferimento:. Application. Transport. Network. Data Link. IEEE 802.2 (Logical Link Protocol). • Definisce la parte superiore del livello Data Link in IEEE 802
E N D
Reti di Calcolatori a.a. 2005/06 Lezione 12 Andrea Frosini
Sottolivello MAC Fisico Nel modello di riferimento: Application Transport Network Data Link Andrea Frosini
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à. Andrea Frosini
IEEE 802.2 Formato del frame Liv. Network LLC header Liv. LLC MAC header LLC header MAC trailer Liv. MAC Liv. Fisico Andrea Frosini
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 Andrea Frosini
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 switchopera a livello Data Link, esaminando l’indirizzo hardware del frame, e collega tra loro stazioni singole di una stessa LAN • un bridgeopera 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 Andrea Frosini
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) Andrea Frosini
IEEE 802.2 Esempio di bridge tra Ethernet e Token Bus Andrea Frosini
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 Andrea Frosini
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) Andrea Frosini
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. Andrea Frosini
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 Andrea Frosini
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) Andrea Frosini
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 ilcalcolatore 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 Andrea Frosini
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 Andrea Frosini
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 Andrea Frosini
IEEE 802.2 Esempio di spanning tree Internetworking di LAN Spanning tree LAN LAN Bridge Arco non dell’albero Arco dell’albero Andrea Frosini
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 Andrea Frosini
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 Andrea Frosini
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) nonprevedono 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. Andrea Frosini
IEEE 802.2 Costruzione della tabella di routingI 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 framecontenente l’indirizzo di B Il discovery frame è ritrasmesso da ogni source routing bridge, così alla fine raggiungetuttigli 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 Andrea Frosini
IEEE 802.2 Costruzione della tabella di routingII 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 Andrea Frosini
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 routingottimale, 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 Andrea Frosini
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 geograficamentelocalizzati • 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) Andrea Frosini