Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TESI DI LAUREA
Quante peripezie e quante fatiche mi hai aiutato ad affrontare. Questo lavoro modesto a confronto, ma quanto posso dedicarti, cara Antonella.
Sommario
Introduzione ..................................................................................................................................1 Capitolo 1: Dal canale condiviso al canale dedicato ........................................................................3 La nascita di Ethernet.................................................................................................. 3 Lo Spanning Tree Protocol .......................................................................................... 9 Alternative allo Spanning Tree Protocol .................................................................... 11 Capitolo 2: Il loop di rete.............................................................................................................. 12 Sistema con due switch ed assenza di loop................................................................ 14 Sistema con due switch e presenza di loop................................................................ 19 Caso di studio di una rete con hub ............................................................................ 27 Capitolo 3: il sistema di unlooping................................................................................................ 28 La sticky forwarding table ......................................................................................... 28 Laumento di prestazioni........................................................................................... 31 Implementazione...................................................................................................... 32 Ipotesi di procedure di test ....................................................................................... 41 Conclusioni ............................................................................................................... 46 Bibliografia .................................................................................................................................. 47 Indice analitico ............................................................................................................................ 48 Indice delle figure ........................................................................................................................ 49 Indice dei listati ........................................................................................................................... 49
Introduzione
Introduzione
I sistemi informativi sono presenti in ogni ambito della nostra vita, privata e lavorativa. La loro utilit trae origine dalla quantit dinformazioni contenuta, dalla velocit di estrazione e dalla fruibilit nel tempo e nel luogo. I sistemi di telecomunicazioni hanno permesso, nella loro evoluzione da veicolo di voce a trasporto di dati, una diffusione enorme dei sistemi informativi, consentendo di utilizzarli in luoghi diversi dalla loro ubicazione fisica. Nel 1967 il ricercatore Lowrence Roberts pubblic il progetto complessivo dellARPAnet, un sistema di calcolatori interconnessi impiegato da un organo militare statunitense. Son state queste le basi per la nascita di Internet ed in generale di tutti i sistemi di telecomunicazione, oggi definiti reti di computer, tra calcolatori. In quei tempi le reti erano pensate per la loro estensione geografica soltanto, data la scarsissima diffusione di calcolatori. Ma labbassamento dei costi di produzione dei calcolatori, quindi la loro maggiore diffusione, ha spinto la richiesta di loro interconnessione anche in ambiti locali. Di tutti i sistemi di telecomunicazione oggi disponibili alla collettivit, questo studio valuta quello delle reti Ethernet, in particolare degli apparati posti tra calcolatori, quelli che rendono possibile la costituzione di una rete detta locale. Tali reti sono caratterizzate da apparati attivi, detti genericamente concentratori, che, tramite cablaggi (detti apparati passivi) o segnali radio, raggiungono ogni calcolatore per farli comunicare reciprocamente. La disponibilit, intesa come rapporto tra la quantit di tempo che i calcolatori hanno erogato i servizi ed il tempo totale trascorso, una quantit numerica che dipende molto dalla medesima misura operata sui concentratori ed i cablaggi che li interessano. possibile aumentare la disponibilit degli apparati attivi inserendo elementi ridondati, in modo tale da surrogarsi reciprocamente in caso di fallimento di una componente. Diventa per necessario, a tal punto, stabilire metodi di arbitrazione del lavoro prodotto dagli apparati e della eventuale commutazione tra gli elementi in produzione e quelli in resilienza.
1
Introduzione
Nel seguito, approfondiremo una proposta di variazione tecnologica di ridondanza di cablaggio tra apparati attivi, studiando il comportamento che questi ultimi possono avere quando fallisca una linea che li connette e si debba commutare verso una via alternativa esistente.
La nascita di Ethernet
Le reti Ethernet hanno avuto origine evolvendo il protocollo ALOHAnet veicolato su cavo coassiale grazie ai perfezionamenti di Metcalfe, sin dal 1973. Le parti pi interessanti ed innovative di ALOHA sono: 1. il media condiviso (nella fattispecie letere, poi il cavo coassiale); 2. la libert di spedire quando le stazioni ne necessitano (multiplexing statistico), eventualmente ritrasmettendo le porzioni di non confermata ricezione; 3. la lunghezza dellinformazione scambiata, fissa perch il messaggio scisso in entit atomiche di trasmissione; 4. lassegnazione di un indirizzo diverso ad ogni stazione.
3
La principale causa va rintracciata nella libert di trasmissione (ALOHAnet puro non controlla se il canale libero prima di spedire dati), che porta a troppo frequenti conflitti nelloccupazione del media. La legge osservata dai tentativi di spedizione segue una distribuzione poissoniana, caratterizzata con lassunto di un numero infinito di stazioni ed un processo di arrivo dei pacchetti nelle stazioni quantitativamente piccolo. (PATTAVINA, 2007) Ricordiamo che la distribuzione poissoniana la legge di quantit casuali X che rappresentano il numero di successi su un numero molto grande di prove ripetute indipendenti, in ciascuna delle quali la probabilit di successo molto piccola. (BALDI, 1992) In altre parole, la distribuzione di Poisson esprime le probabilit per il numero di eventi che si verificano successivamente ed indipendentemente in un dato intervallo di tempo, sapendo che mediamente se ne verifica un numero (Dis10). Successivamente Metcalfe fond lazienda 3Com e fece consorziare Digital Equipment Corporation (DEC), Intel e Xerox per la costituzione delle specifiche della Ethernet a 10 Mbps su canale condiviso vincolato (cavo coassiale), poi standardizzate dallistituto IEEE con il nome IEEE 802.3. Essa era, come ancora oggi , caratterizzata da: 1. le stazioni in rete sono univocamente identificate, secondo la specifica IEEE MAC-48, da un indirizzo imposto in fabbrica sulladattatore di rete (EthIANA), cio lindirizzo MAC (Medium Access Control), normalmente composto da 6 byte, di cui i tre pi significativi (OUI Organisationally Unique Identifier) rappresentano lidentificativo del costruttore del dispositivo ed i tre meno significativi (NIC Network Interface Controller specific) sono un valore diverso per ogni pezzo costruito;
MSB LSB
Figura 1: Importanza di alcuni bit nellindirizzamento 802.3 a livello MAC-SAP. Sul cavo viaggia prima il LSB. (GAI, et al.)
2. laccesso al media casuale ma con una politica di rilevamento delleventuale conflitto trasmissivo nel canale ad opera di stazioni concorrenti, chiamata Carrier Sense Multiple Access with Collision Detection (CSMA/CD). Il conflitto trasmissivo, cio la situazione in cui due o pi stazioni cercano di trasmettere in uno stesso intervallo di tempo su un media condiviso, per cui gli impulsi elettromagnetici od ottici interferiscono fra loro, viene definito collisione (GAI, et al.), ed questa una situazione idealmente da eliminare. Grazie a tale metodo, le stazioni raggiungono unefficienza raddoppiata a quella di ALOHAnet puro, quindi pari a ROSS).
La schedulazione della ritrasmissione in base ad un tempo di attesa pseudocasuale evita che, dopo una collisione, le stesse stazioni che l'hanno generata ritrasmettano contemporaneamente; il tempo di attesa determinato da un algoritmo di back-off detto truncated binary exponential backoff (pi semplicemente backoff esponenziale). Il ritardo un multiplo intero dello slot time (512 bit, cio 51,2 ms per 10 Mbps) preso come tempo base, e all'n-esimo tentativo di ritrasmissione il numero di tempi base r da attendere scelto casualmente nell'intervallo 0 r < 2k, dove k = min (n,10). (GAI, et al.) Tale conflitto tanto pi frequente quanto pi sono le stazioni presenti sullo stesso segmento di rete (per questo motivo esiste un limite massimo di host e/o di mutue minime distanze per ogni tipologia di media). Losservazione del comportamento statistico delle stazioni, con la non esaltante efficienza prima descritta, e la forte probabilit di guasti causata dalle componenti meccaniche che pongono in rete le stazioni (un unico cavo per tutto il segmento, la presenza dei tappi terminatori agli estremi, gli adattatori a T per la derivazione di una nuova stazione, etc.), ha spinto la ricerca verso la soddisfazione dellesigenza di creare partizioni di una rete condivisa per isolare il traffico, quindi le collisioni, ed i guasti. Il pi semplice partizionamento rappresentato dalla creazione di due tronchi di rete connessi da un dispositivo definito bridge trasparente, il quale opera adattamenti elettrici ed effettua calcoli sullintestazione di livello II del pacchetto (il MAC SAP Service Address Protocol), quindi sullindirizzo della stazione (o delle stazioni) destinataria.
5
La logica di un bridge valuta se la stazione mittente e quella destinataria (nel caso di unicast, cio quelli destinati soltanto ad un nodo) giacciono entrambe sullo stesso tronco (grazie ad una tabella in memoria definita forwarding table, anche detta CAM Content Addressable Memory table: in tal caso il bridge non svolge lavoro, altrimenti questi copia il pacchetto dal ramo mittente al ramo destinatario, cio quello su cui giace la stazione destinataria. Nel caso di broadcast o di assenza nella tabella di avanzamento del MAC destinatario avviene sempre la copia del pacchetto al segmento non mittente. Con questo approccio si ottiene, come effetto collaterale positivo, che in caso di guasto elettrico di uno dei due tronconi, laltro continui a lavorare indisturbato, poich il bridge non propaga i disturbi elettrici bens soltanto i pacchetti di cui riesca a calcolarne correttamente la destinazione. Un ulteriore importantissimo passo avanti stato compiuto dalla valutazione che il cavo binato telefonico , per ampiezza di banda, sufficientemente surdimensionato alle esigenze della banda base (Lez10) a codifica Manchester di Ethernet (PATTAVINA, 2007) a 10 Mbps, anche grazie a connettorizzazione pi affidabile. Di conseguenza, levoluzione tecnologica (Net10) ha portato alla modifica topologica delle reti da bus (su cavo coassiale sbilanciato Thick RG-50 o Thin RG-58) a stella (su cavo multicoppia a segnale bilanciato), rendendo possibile lisolamento per guasto addirittura della singola stazione, oltre a permettere lintroduzione di fibre ottiche al posto di cavi in rame. La topologia a stella stata permessa dallincremento del numero di porte dei bridge, affinch raggiungessero il rapporto 1:1 con le stazioni, queste ultime poste, di conseguenza, su domini di collisione distinti. Si noti che, con tale tecnica, il broadcast passa definitivamente da condizione elettrica a condizione logica. Quindi, un bridge con tante porte quante siano le stazioni e distinti collegamenti per ogni coppia (nodo, porta) incrementa lefficienza, consentendo il parallelismo delle conversazioni tra i nodi posti su porte diverse, ed isola soltanto le stazioni guaste, senza propagare i problemi elettrici, ed anche alcuni logici, ad altri nodi. Tale tipo di bridge trasparente prende il nome di switch.
anche possibile estendere il raggio (cio la distanza fisica tra due nodi) connettendo in cascata due o pi switch (con alcuni limiti qui non discussi), creando un grafo anzich una stella (un albero nella teoria dei grafi). Uno switch effettua flooding (Flo10), cio inondazione con uno o pi pacchetti su tutte le porte tranne la mittente, quando (Cisco): 1) ritrasmette un broadcast di livello 2 ricevuto; 2) ritrasmette un pacchetto di cui non conosce la porta del MAC di destinazione, nel caso di destinazione unicast; 3) trasmette un pacchetto multicast. Inoltre, occorre notare che esiste un ulteriore caso (MAC10): 4) lo switch ha la forwarding table piena (MIRZA AHMAD, et al., 2004). Questo comportamento, conservativo ai fini degli indirizzi MAC, per la principale causa di problemi quando interconnettiamo apparati attivi generando cicli (sequenza di archi adiacenti in cui il nodo di partenza coincide con il nodo di arrivo) su cui tali pacchetti proseguono la strada a tempo indeterminato.
La figura seguente mostra una corretta applicazione dei cavi dinterconnessione degli apparati attivi:
Invece, nel seguito, mostriamo una scorretta applicazione dei cavi dinterconnessione, che porta la rete ad essere assimilabile ad un grafo generico anzich ad un albero:
Con la situazione della Figura 3, allarrivo di un broadcast negli apparati attivi Sa o Sb si raggiunge velocemente una saturazione del loro backplane. Si supponga che Ha4 generi un broadcast. Allora Sa deve consegnare tale pacchetto su tutte le porte tranne la mittente. Tramite una di tali porte, ad esempio il Link 2, il pacchetto in questione raggiunge Sb, il quale ha lo stesso obbligo di consegnare a tutti tranne alla porta mittente. Quindi Sb, oltre a consegnare agli host Hb1, Hb2 ed Hb3, rispedir il pacchetto (il broadcast di Ha4 ancora in vita!) anche sul Link 1, poich connesso ad una porta come le altre stazioni. Sa, dal canto suo, deve compiere il suo dovere: consegnare un broadcast a tutte le porte tranne a quella mittente. Ripetendo il processo dallinizio, Sa ed Sb si rimpalleranno allinfinito (poich non c metodica che faccia convergere) lo stesso pacchetto di broadcast, sino a riempire il backplane e a non lasciare spazio ai pacchetti che gli host Ha[14] e Hb[13] vogliano spedire; infatti questi troveranno sempre una collisione, come vedremo nel seguito. La situazione di collasso rappresentata dalla figura seguente, dove le frecce rosse rappresentano uno dei tragitti possibili dei broadcast:
8
Figura 4: saturazione degli apparati a causa dei broadcast e sua rappresentazione matematica
Giova evidenziare che se gli apparati attivi, oppure i link, fossero in numero maggiore di due, la situazione sarebbe identica: semplicemente si andrebbe ancor prima al collasso della rete.
Figura 5: Lo Spanning Tree seleziona i percorsi dalla periferia alla radice ed i loro supplenti (HUCABY, 2005)
Lo STP, spegnendo i collegamenti che generano i cicli, garantisce lassenza di ritorno di pacchetti legati al flooding, perch la consegna a tutte le porte tranne la mittente avverr sempre sullunico link attivo del momento. per possibile ipotizzare uno scenario diverso, in cui gli switch siano oculati nella scelta delle porte di ascolto dei flooding.
10
11
Difatti, i software di questa categoria normalmente si rapportano alle system call del kernel che, non di rado, prevede che un pacchetto abbia delle qualit almeno sintattiche. Il kernel di Linux offre due modalit di generazione: layer 2 , tramite le syscall PF PACKET, PF RAW, pfopen(), libdnet, etc.; layer 3, le cui syscall sono sostanzialmente PF INET/SOCK RAW.
Molti prodotti non riescono a spedire pacchetti che difettino di una delle due sezioni, per cui li forgiano andando a completare alcuni campi lasciati vuoti dallutente ed effettuando sostituzione di valori illegali da questi forniti. Tale comportamento, per, conduce ad un incremento della complessit ed alla dipendenza potenziale dal sistema operativo, inquinando lanalisi che mira allo studio dei soli switch. Il sistema operativo a supporto dei predetti software Linux kernel 2.6.30.9 i686 nella distribuzione backtrack 4, eseguito su due computer portatili identici dotati di interfaccia Ethernet in rame Intel(R) PRO/1000, pilotata da driver v. 0.3.3.4-k4. Con la situazione topologia mostrata nella figura seguente, sono state eseguite le generazioni e le catture del traffico.
Salvo diversa indicazione, le catture qui riportate sono state compiute dalla sonda soltanto ricevente e non dalla stazione iniettante.
13
Occorre anche evidenziare che gli apparati attivi impiegati sono layer 2 soltanto.
14
MAC
MAC
Tabella multipla 1: cattura di broadcast senza loop No. 1 Time 0.000000 Source Toshiba_7c:1d:4d
mittente
Destination Broadcast
destinatario
Protocol Info IP Bogus IP header length
Frame 1
[Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address
(multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20) payload 0000 0010 0020 0030 ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a .......#.|.M.. .
15
MAC
MAC
mittente
No. 2 Time 7.111731 Source Toshiba_7c:1d:4d Destination Broadcast
destinatario
Protocol Info IP Bogus IP header length
Frame 2
Arrival Time: Nov 27, 2010 15:29:45.839427000 [Time delta from previous captured frame: 7.111731000 seconds] [Time delta from previous displayed frame: 7.111731000 seconds] [Time since reference or first frame: 7.111731000 seconds] Frame Number: 2 Frame Length: 64 bytes Capture Length: 64 bytes [Frame is marked: False] [Protocols in frame: eth:ip] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address
(multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20)
payload
.......#.|.M.. .
ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a
16
MAC
MAC
mittente
No. 3 Time 10.210562 Source Toshiba_7c:1d:4d Destination Broadcast
destinatario
Protocol Info IP Bogus IP header length (0, must be at least 20)
Frame 3
Arrival Time: Nov 27, 2010 15:29:48.938258000 [Time delta from previous captured frame: 3.098831000 seconds] [Time delta from previous displayed frame: 3.098831000 seconds] [Time since reference or first frame: 10.210562000 seconds] Frame Number: 3 Frame Length: 64 bytes Capture Length: 64 bytes [Frame is marked: False] [Protocols in frame: eth:ip] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address
(multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20)
payload
0000 0010 0020 0030 ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00
20 20
.......#.|.M.. .
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a
17
MAC
MAC
mittente
No. 4 Time 14.612056 Source Toshiba_7c:1d:4d Destination Broadcast
destinatario
Protocol Info IP Bogus IP header length (0, must be at least 20)
Frame 4
Arrival Time: Nov 27, 2010 15:29:53.339752000 [Time delta from previous captured frame: 4.401494000 seconds] [Time delta from previous displayed frame: 4.401494000 seconds] [Time since reference or first frame: 14.612056000 seconds] Frame Number: 4 Frame Length: 64 bytes Capture Length: 64 bytes [Frame is marked: False] [Protocols in frame: eth:ip] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address
(multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20)
payload
.......#.|.M.. .
ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a
18
19
MAC
MAC
mittente
Destination Broadcast
destinatario
Protocol Info IP Bogus IP header length (0, must be at least 20)
Source Toshiba_7c:1d:4d
Frame 1
Arrival Time: Nov 27, 2010 15:33:51.302103000 [Time delta from previous captured frame: 0.000000000 seconds] [Time delta from previous displayed frame: 0.000000000 seconds] [Time since reference or first frame: 0.000000000 seconds] Frame Number: 1 Frame Length: 64 bytes Capture Length: 64 bytes [Frame is marked: False] [Protocols in frame: eth:ip] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20)
payload
.......#.|.M.. .
ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a
20
mittente
destinatario
Frame 6344
Arrival Time: Nov 27, 2010 15:33:51.372418000 [Time delta from previous captured frame: 0.000004000 seconds] [Time delta from previous displayed frame: 0.000004000 seconds] [Time since reference or first frame: 0.070315000 seconds] Frame Number: 6344 Frame Length: 64 bytes Capture Length: 64 bytes [Frame is marked: False] [Protocols in frame: eth:ip] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20)
payload
.......#.|.M.. .
ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a
21
mittente
destinatario
No. 6345
Time
158.357562
Source Toshiba_7c:1d:4d
Destination Broadcast
Frame 6345
Arrival Time: Nov 27, 2010 15:36:29.659665000 [Time delta from previous captured frame: 158.287247000 seconds] [Time delta from previous displayed frame: 158.287247000 seconds] [Time since reference or first frame: 158.357562000 seconds] Frame Number: 6345 Frame Length: 63 bytes Capture Length: 63 bytes [Frame is marked: False] [Protocols in frame: eth:ip] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20)
payload
.......#.|.M.. dummy1
ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 75 6d 6d 79 31
22
MAC
MAC
mittente
destinatario
Source Toshiba_7c:1d:4d
Destination Broadcast
Frame 10695
Arrival Time: Nov 27, 2010 15:36:29.707940000 [Time delta from previous captured frame: 0.000003000 seconds] [Time delta from previous displayed frame: 0.000003000 seconds] [Time since reference or first frame: 158.405837000 seconds] Frame Number: 10695 Frame Length: 63 bytes Capture Length: 63 bytes [Frame is marked: False] [Protocols in frame: eth:ip] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20)
payload
.......#.|.M.. dummy1
ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 75 6d 6d 79 31
23
mittente
destinatario
No. 10696
Time
222.312268
Source Toshiba_7c:1d:4d
Destination Broadcast
Frame 10696
Arrival Time: Nov 27, 2010 15:37:33.614371000 [Time delta from previous captured frame: 63.906431000 seconds] [Time delta from previous displayed frame: 63.906431000 seconds] [Time since reference or first frame: 222.312268000 seconds] Frame Number: 10696 Frame Length: 63 bytes Capture Length: 63 bytes [Frame is marked: False] [Protocols in frame: eth:ip] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20)
payload
.......#.|.M.. dummy1
ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 75 6d 6d 79 31
24
MAC
MAC
mittente
destinatario
Time
222.374247
Source Toshiba_7c:1d:4d
Destination Broadcast
Frame 16275
Arrival Time: Nov 27, 2010 15:37:33.676350000 [Time delta from previous captured frame: 0.000003000 seconds] [Time delta from previous displayed frame: 0.000003000 seconds] [Time since reference or first frame: 222.374247000 seconds] Frame Number: 16275 Frame Length: 63 bytes Capture Length: 63 bytes [Frame is marked: False] [Protocols in frame: eth:ip] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d), Dst: Broadcast
(ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) Address: Toshiba_7c:1d:4d (00:23:18:7c:1d:4d) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol Version: 2 Header length: 0 bytes (bogus, must be at least 20)
payload
.......#.|.M.. dummy1
ff ff ff ff ff ff 00 23 18 7c 1d 4d 08 00
20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 75 6d 6d 79 31
La rete, in condizioni normali di lavoro ed in presenza di loop, cessa di erogare servizi, poich gli apparati attivi rifiutano in tutto o parte laccettazione, di conseguenza linoltro, di pacchetti costituenti traffico utile per lutente e provenienti dalle stazioni di lavoro.
25
Spieghiamo ora le prove eseguite per dimostrarlo. Ogni stazione di lavoro, a causa dei servizi software che esegue, genera fisiologiche quantit di broadcast (client DHCP, network node discovery, etc.) che si sommano ai broadcast che il loop amplifica quantitativamente. La prima attivit stata quella di porre gli switch Sa1 ed Sb1 in loop mediante doppio collegamento: in un qualunque intervallo di 5 secondi sono stati catturati circa 500'000 pacchetti. Sulla macchina Ha1, che esegue MS Windows 7 Professional, stata impostata una voce statica di ARP table per lo host Hb1, ad evitare che la risoluzione IP/MAC fosse alla base della mancanza del servizio: arp -s 192.168.127.30 00-23-18-6d-1d-4d Poi, nella medesima macchina, stato comandato un ping (reiterato illimitatamente) verso lo host di destinazione Hb1, che esegue BackTrack4: ping -t 192.168.127.30 Nel contempo, nella macchina destinazione Hb1 stato comandato un ping (reiterato illimitatamente) verso lo host Ha1, dopo laccreditamento ARP: arp -s 192.168.127.10 00-23-26-8C-7F-69 ping 192.168.127.10 La cattura dei pacchetti stata compiuta su un terzo host Ha2, posto in ascolto sullo switch Sa1, ed stata bloccata dopo 7'655'486 pacchetti. Vediamo in dettaglio.
26
Ping da Ha1 a Hb1 Dei 67 pacchetti ICMP che Ha1 riuscito a spedire, 61 sono scaduti e solo 6 hanno avuto la Risposta da 192.168.127.10: Host di destinazione non raggiungibile.. Si precisa che tale risposta significa che non ci sono rotte locali o remote per lo host di destinazione secondo il mittente od il router di pertinenza. Occorre quindi risolvere il problema nella tavola di routing dello host o del router. (How10) Altro tipo di risposta riscontrata tre volte lErrore generale, che ha origine nel firewall di Windows (ICM10). Ping da Hb1 a Ha1 Dei 313 pacchetti ICMP trasmessi in 5 minuti c.ca, solo 9 hanno ricevuto risposta, seppur quasi sempre disordinata temporalmente. Il tempo medio occorso ad una risposta stato di 66,2 secondi.
27
28
Lo switch Sa, appena acceso oppure appena connesso allhost, riceve almeno un pacchetto (di livello 2 indifferentemente unicast o broadcast) sulla porta P1, pertanto arricchisce la propria forwarding table dellindirizzo MAC di Ha1:
Tempo t0 Porta # Sa.1 Sa.21 Sa.22 MAC Ha1 Porta # Sb.1 Sb.21 Sb.22 MAC
MAC Ha1
29
Uno dei punti chiave (lo stickiness) della soluzione proposta valuta il comportamento al tempo t3. Tramite i collegamenti inter-switch, arriveremo al punto di ricevere sullo switch Sa i pacchetti dagli host raggiunti da Sb e viceversa. A quel punto avverr il conflitto di porta per uno stesso MAC:
La proposta progettuale, ribadiamo, di vietare la registrazione di un MAC su una diversa porta, per una quantit Tmax di tempo se tale MAC gi presente in tabella. Nella tabella Tempo t3 mostrato che avremmo dovuto registrare in Sa il MAC di Hb1 sulla porta Sa.22 e, su Sb, il MAC di Ha1 sulla porta Sb.21. Ma tale associazione non dovr avvenire nella nostra soluzione fino allo scadere del tempo Tmax. Proseguendo nellanalisi, arriveremo al tempo t4, che mostra come andremo avanti nelle operazioni ordinarie di switching. Dallistante t4 in poi dovremo, ogni qual volta giunga un broadcast su una porta entrante Px, cercare lindirizzo MAC sorgente di tale broadcast nella tavola di forwarding e verificare se P x = P y. Allora potremo affermare che questo broadcast un nuovo broadcast proveniente da un host e non il precedente che ancora circoli in rete, quindi va inoltrato. La situazione avvelenata, invece, sarebbe con un broadcast entrante sulla porta Px e nella tavola di forwarding lindirizzo MAC mittente compaia come ubicato sulla porta Py, con xy:
30
Laumento di prestazioni
I cambiamenti di topologia, dovuti a spegnimento o isolamento intempestivo di link ed apparati, portano il traffico, allo scadere del tempo Tmax, verso i link rimanenti. Inoltre, grazie al multiplexing statistico relativo allaccesso al link, abbiamo che anche gli apparati attivi stessi scambiano i dati consegnati loro da ogni host, sui collegamenti scelti, con distribuzione statistica secondo la porta che risponde prima per il MAC destinatario in fase di learning. Qualora il cambiamento di topologia mostri un recupero dello status quo-ante, nuovamente, allo scadere del tempo Tmax, il MAC riattivato potr giungere sulla porta di uplink che impiegava prima del distacco. Si rileva, quindi, che i canali inter-switch saranno impiegati tutti, seppur senza un algoritmo deterministico che preveda le quantit di traffico da destinarsi ad ognuno, come accade nel protocollo Link Aggregation Protocol, standard IEEE 802.3ad, od in quello proprietario Cisco EtherChannel. Questi protocolli, nuovamente, richiedono la collaborazione tra apparati, in quanto si basano sul protocollo Link Aggregation Control Protocol (LACP) il primo, PAgP il secondo.
31
Implementazione
Il sistema di switching proposto andr realizzato e verificato modificando il comportamento ordinario di un apparato attivo genericamente presente in commercio. In questo modo, interconnettendolo in una rete in produzione, saremmo in grado di compiere valutazioni qualitative e quantitative sul comportamento dello stesso per la validazione del modello. Tutti gli apparati in commercio sono basati su tre tecnologie fondamentali (KUROSE, et al., 2002): 1) Commutazione in memoria, ove il passaggio tra la porta sorgente e quella destinataria fornito dalla copia del pacchetto in memoria RAM dalla locazione che mappa la porta mittente alla locazione relativa alla porta destinataria; 2) Commutazione tramite bus, ove tutte le porte comunicano su un bus condiviso; 3) Commutazione tramite crossbar, basata su una matrice che implementa il prodotto cartesiano tra le porte, ponendo su una dimensione il segnale entrante e sullaltra il segnale uscente.
32
In ognuna di queste tecnologie, i produttori realizzano chip ASIC per aumentare la velocit di commutazione, evitando quindi di specializzare macchine general purpose, oltre che per implementare il processore di controllo, che deve effettuare le ricerche nella tabella di forwarding. Ma la creazione e realizzazione di chip attivit onerosa, ingiustificabile per un elemento sperimentale qual il nostro. In parte lattivit sperimentale potrebbe utilizzare la capacit di alcuni apparati, soprattutto indirizzata a fini di sicurezza, di caricare in modo statico gli indirizzi MAC nelle porte. Questo metodo non per sufficiente a riprodurre un caso di test del comportamento di un apparato Unlooped, poich abbiamo che non gestibile linvecchiamento dellassociazione MAC-porta, necessario nella nostra proposta (por10). Introduciamo alcuni schemi progettuali della soluzione Unlooped. Concentrandosi sul livello II dello stack, occorre lavorare su alcuni membri del seguente flusso:
33
34
Si noti che lageing, normalmente valutato 5 minuti (Cisco), trattato dai costruttori in modo predefinito, quando lapparato sia di fascia bassa, o impostabile, ma su valori statici, per apparati programmabili. In uno switch Unlooped, una delle differenze dagli switch tradizionali riguarda proprio la gestione dei tempi dinvecchiamento dellassociazione (MAC, porta). Altra importante differenza che non sono ammessi traboccamenti della tabella di forwarding, in quanto sarebbe impossibile rispettare la propriet sticky della coppia (MAC, porta):
35
36
Una proposta progettuale per affrontare tale caso quella di gettar via i pacchetti per cui non esista spazio disponibile nella forwarding table. Oppure andrebbe dotato lo switch Unlooped di una quantit di memoria idonea a contenere tutti i teoricamente possibili 248 indirizzi MAC, quindi 256 Tera-parole da 48 bit ognuna, cosa ovviamente impossibile. A riferimento, si prenda un esempio reale di un apparato commercialmente disponibile quale lo switch di fascia media HP ProCurve 4208vl (J8773A), in cui la dimensione del packet buffer di 36 MB. Lo pseudo-codice necessario ad implementare il precedente algoritmo Unlooped lavora sostanzialmente sulla tabella di forwarding, concettualmente un dizionario che associa allindirizzo MAC (la chiave) la porta ove il MAC raggiungibile (linformazione della chiave). Inoltre, per consentire la rimozione dei MAC scaduti, il dizionario avr unulteriore informazione: il riferimento al nodo della lista che contiene i timestamp, un valore rappresentante il tempo darrivo del MAC nello switch dalla porta registrata. Il dizionario andr realizzato con particolare riguardo alle prestazioni (ad esempio, riprendendo lesempio del modello HP ProCurve 4208vl (J8773A), abbiamo che commuta fino a 48 milioni di pacchetti al secondo e 76,8 Gbps!), quindi potremo scegliere dimplementarlo con un albero binario di ricerca.
Id
1 2 3 n
MAC address
MAC 1 MAC 2 MAC 3 MAC n
Port #
P1 P1 P7 Pm
Timestamp
-> node 3 -> node 2 -> node 4
-> node 1
37
Il timestamp sar realizzato con una lista doppiamente concatenata, che sar naturalmente ordinata mediante operazioni di append ed agevoler la rimozione di un vecchio timestamp per un MAC gi trattato. La lista avr, in supporto, i riferimenti al primo nodo (quello temporalmente pi anziano), allultimo nodo (quello temporalmente pi giovane) ed allultimo nodo ancora valido rispetto al massimo tempo di vita Tmax di un timestamp, indicato con LAT (Last Alive Timestamp).
Nella pagina seguente riportato lo pseudo-codice del nucleo di uno switch Unlooped.
38
INPUT: forwardingTable:BST whose node is composed of fields: MAC (the key), port_id (an attribute), ts_ref (another attribute) ageingList: double chained list whose node is composed of fields: ts, entry_id (the row number in forwardingTable), previous (reference to a node just older next (reference to a node just younger), LAT (reference to oldest alive timestamp node as seen in last evaluation), tail (reference to the youngest timestamp). The ageingList pointer references the oldest filed timestamp. packet: the packet fetched from a physical port of the switch
WHILE true DO { looping = FALSE FOR (portIndex = 0, portIndex++; portIndex < maxAvailablePorts) { packet = fetch_packet (portIndex) drop_packet = FALSE IF ( availableRoom(forwardingTable) { IF ( (portNumber = find(forwardingTable, packet->sourceMAC)) == NULL) { entry_id = insert (forwardingTable, packet->sourceMAC, portNumber) ts_ref = append (ageingList, now(), entry_id) alter (forwardingTable, entry_id, ts_ref) } ELSE { IF (portNumber == portIndex) { current_id = find_entry_id(forwardingTable, packet->sourceMAC) ts_ref = append (ageingList, now(), entry_id) remove_ts ( current_id->ts_ref) alter (forwardingTable, current_id, ts_ref) } ELSE { drop_packet = TRUE looping = TRUE } } } ELSE { drop_packet = TRUE }
//not enough room for new packet's MAC //it's a looped packet! //get the current row in forwardingTable for the MAC //create a new node in ageing list //remove previous timestamp //links the timestamp to the (MAC, port) couple //enough memory in forwarding table and timestamp list? //it's the 1st packet seen from this MAC //create a new (MAC, port) association //create a new node in ageing list
//links the timestamp to the (MAC, port) couple //MAC already registered
39
IF NOT drop_packet { IF (multicast (packet) OR broadcast (packet)) { send_flooding (packet) } ELSE { findDstPort (packet) send (packet) } } } IF looping refreshTmax() }
40
41
42
kmemcheck_bitfield_begin(flags1); __u8 local_df:1, cloned:1, ip_summed:2, nohdr:1, nfctinfo:3; __u8 pkt_type:3, fclone:2, ipvs_property:1, peeked:1, nf_trace:1; kmemcheck_bitfield_end(flags1); __be16 protocol;
kmemcheck_bitfield_end(flags2);
void
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) struct nf_conntrack *nfct; struct sk_buff #endif __u16 #ifdef CONFIG_BRIDGE_NETFILTER struct nf_bridge_info #endif *nf_bridge; *nfct_reasm; };
__u32 __u32
mark; dropcount;
vlan_tci;
int
skb_iif;
/* These elements must be at the end, see alloc_skb() for details. sk_buff_data_t tail; end; *head, *data;
truesize;
#endif
__u32
rxhash;
43
Generalizzando lanalisi sulle strutture utilizzate nellambito Ethernet/switching, abbiamo che la struttura sk_buff viene creata, modificata e distrutta almeno dalle seguenti relazioni:
44
Figura 18: relazioni di un socket buffer sk_buff nel kernel 2.6.20 (ker10)
45
Conclusioni
Questa tesi ha prodotto unipotesi di soluzione al problema dei cicli nelle topologie di rete, oltre a unanalisi comportamentale e prestazionale degli switch commerciali quando trattino broadcast ed unicast. Per lanalisi, stato necessario creare un ambiente di misura hardware e software, con cui stato mostrato che i pacchetti si ripetono anche svariate migliaia di volte. La tecnica risolutrice proposta da questo studio pone laccento sulle semplicit progettuali, realizzative ed implementative, quindi sulleconomicit di produzione e di esercizio, anche alla luce della considerazione che sarebbe sufficiente applicare un numero di dispositivi ridotto rispetto a quelli necessari a generare una rete, in quanto non occorre che tutti gli switch siano dotati di Unlooping. Pi in dettaglio, il caso migliore quello in cui la topologia degli apparati sia una lista concatenata, pertanto, essendo questultima 2-colorabile (T.H. CORMEN, 1994), sar sufficiente porre apparati tradizionali intervallati ad apparati Unlooped. Il caso peggiore, invece, prevede che per qualunque coppia di nodi (cio switch) adiacenti, almeno un apparato sia elemento Unlooped. Ulteriormente, rispetto allo Spanning Tree Protocol, la soluzione gode anche dei vantaggi economici e prestazionali di utilizzare tutti i collegamenti inter-switch esistenti, evitando di disabilitare le linee ridondanti.
46
Bibliografia
802.1D-2004. IEEE. [Online] [Riportato: 24 12 2010.] http://standards.ieee.org/getieee802/download/802.1D-2004.pdf. BALDI, Pietro. 1992. Calcolo delle probabilit e statistica. s.l. : McGraw-Hill Italia, 1992. Cisco. Catalyst 6500/6000 Switches ARP or CAM Table Issues Troubleshooting - Cisco Systems. Cisco Systems. [Online] [Riportato: 14 12 2010.] http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00807347ab.shtml . . Transparent Bridging - DocWiki. DocWiki. [Online] [Riportato: 21 11 2010.] http://docwiki.cisco.com/wiki/Transparent_Bridging. Distribuzione di Poisson. Wikipedia italiano. [Online] [Riportato: 14 11 2010.] it.wikipedia.org/wiki/Distribuzione_di_Poisson.htm. Ether Types. IANA. [Online] [Riportato: 14 12 2010.] http://www.iana.org/assignments/ethernet-numbers. Flooding. en.wikipedia.org. [Online] [Riportato: 19 11 2010.] http://en.wikipedia.org/wiki/Flooding. GAI, Silvano, MONTESSORO, Pier Luca e NICOLETTI, Pietro. Reti locali: dal cablaggio strutturato all'internetworking. L'Aquila : S.S.G.R.R. How to troubleshoot TCP/IP connectivity with Windows XP. Microsoft Product Support Specialist. [Online] [Riportato: 28 11 2010.] http://support.microsoft.com/kb/314067. HUCABY, David. 2005. CCNP BCMSN Exam Certification Guide, 3rd edition. s.l. : Cisco Press, 2005. ICMP_ECHO_REPLY Structure (Windows). MSDN. [Online] [Riportato: 28 11 2010.] http://msdn.microsoft.com/en-us/library/aa366053%28VS.85%29.aspx. kernel_flow. The Linux Foundation. [Online] [Riportato: 03 12 2010.] http://www.linuxfoundation.org/tags/networking/kernel_flow. KUROSE, James F. e ROSS, Keith W. 2002. Reti di calcolatori ed Internet - Un approccio top-down. s.l. : Addison Wesley, 2002. Lezioni di Reti di telecomunicazione 1. Universit di Genova - Dipartimento di Informatica, Sistemistica e Telematica. [Online] [Riportato: 28 11 2010.] http://www.reti.dist.unige.it/reti/Reti1/ParteII/Reti_20.pdf. MAC flooding. en.Wikipedia.org. [Online] [Riportato: 21 11 2010.] http://en.wikipedia.org/wiki/MAC_flooding. MIRZA AHMAD, David R., et al. 2004. Hack proofing - seconda edizione. s.l. : McGraw-Hill, 2004. 47
Network Computing | Feature | Network Computing's 10th Anniversary | Top 10 Products: Number 5 | October 2, 2000 - Network Computing. Network Computing. [Online] [Riportato: 27 11 2010.] http://www.networkcomputing.com/1119/1119f1products_5.html. PATTAVINA, Achille. 2007. Reti di telecomunicazione - Networking e Internet (seconda edizione). Milano : McGraw-Hill, 2007. PERLMAN, Radia. 1999. Interconnections, Second Edition: Bridges, Routers, Switches, and Internetworking Protocols. Boston : Addison Wesley, 1999. port security - The Cisco Learning Network. The Cisco Learning Network. [Online] [Riportato: 14 12 2010.] https://learningnetwork.cisco.com/message/66665. Spanning Tree Protocol. Wikipedia Inglese. [Online] http://en.wikipedia.org/wiki/Spanning_tree_protoco. T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST. 1994. Introduzione agli algoritmi - Vol. III. s.l. : Jackson libri, 1994. Wireshark - Go deep. Wireshark. [Online] [Riportato: 27 11 2010.] http://www.wireshark.org/.
Indice analitico
802.3ad ............................................................31 ageing ..............................................................28 ALOHAnet...........................................................3 apparati attivi.....................................................1 apparati passivi ..................................................1 arptables ..........................................................41 backoff esponenziale ..........................................5 bridge trasparente..............................................5 bridge-nf...........................................................41 broadcast storm control....................................11 CAM Content Addressable Memory table............6 cicli .....................................................................7 collisione.............................................................5 Commutazione in memoria ...............................32 Commutazione tramite bus...............................32 Commutazione tramite crossbar .......................32 concentratori ......................................................1 CSMA/CD............................................................5 distribuzione poissoniana ...................................4 ebtables............................................................41 EtherChannel....................................................31 Ethereal ............................................................12 flooding ............................................................. 7 forwarding table ................................................ 6 IEEE 802.1D ....................................................... 9 IEEE 802.1w ....................................................... 9 IEEE 802.3.......................................................... 4 iptables.............................................................41 LACP .................................................................31 Link Aggregation Control Protocol.....................31 Link Aggregation Protocol .................................31 MAC SAP............................................................ 5 MAC-48 ............................................................. 4 sk_buff..............................................................41 sniffing .............................................................12 sticky forwarding table .....................................28 switch ................................................................ 6 timestamp ........................................................37 unicast............................................................... 6 Wireshark .........................................................12
48
49
In tutta sincerit, credo che per qualunque sforzo della vita anche direttamente ascrivibile a noi dai pi, difficilmente si possa ritenere che si sia gli unici a compierlo: avere consigli tecnici da qualcuno che ha competenza per questi uno sforzo, concedere unassenza dal lavoro uno sforzo per chi rimane, ascoltarci in un momento di debolezza uno sforzo, amore, affetto e stima son sentimenti rari, caricarsi delle questioni pratiche della vita quotidiana sforzo fisico e dedizione, aiutare in un impegno finanziario sforzo e fiducia, negare il tempo alla propria famiglia per le attivit grande comprensione e condivisione di obiettivi. Questi bei sentimenti, ed altri, io ho ed avuto la fortuna di viverli tutti. Spero di saperli restituire. Per questo vi debbo ringraziare Antonella, Pierina ed Ugo, Raffaella e Lelio, Massimo e Maura, Stefano ed Egle, Maurizio, Rodolfo e Cinzia, Ildebrando, Wladimiro, Sergio, Fabrizio, Angelo, Luciano, Domenico, Nicola, Gaetano, Stefano, Damian, Loris, Mario, Gaspare, Massimo, Stefano, Fabrizio, Sandra.
Max