Laboratorio

Modulo 6 - Hardware di rete

Esperienza su bridge con SPT

Per la realizzazione di questo modulo useremo Netkit4TIC.

Scarica il tarball contenente il tutto, e come al solito si parte scompattandolo in una sottodirectory della HOME dell'utente.

Questa esperienza si basa sulla rete di laboratorio usata nel capitolo 4 del libro di Baldi e Nicoletti SWITCHED LAN. Dal loro sito internet www.netscire.it è possibile consultare le relative slide. La configurazione della rete è riassunta in (pdf, xml).

Fai partire lo script che preconfigura i 5 bridge a livello 2:

realHost$ lstart -d withstp

Per prima cosa controlliamo che il kernel abbia caricato gli opportuni moduli:

b# lsmod | \
    awk '{ if (NR == 1) print $0; \
           else if (index ($0, "bridge")) print $0; }' -
Module                  Size  Used by
bridge                 45720  0
atm                    40824  1 bridge

Nello script abbiamo settato la priorità del bridge 4 a 28672 in modo tale che venga eletto root bridge dall'algoritmo di spanning tree:

b4# brctl  setbridgeprio br0 28672; \
    brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             7000.080028aa5030       yes             eth0
                                                        eth1

Inoltre per tutti i bridge è stato impostato il path cost al valore 10. Il comando, ad esempio, per il bridge 3 con due porte è:

b3# brctl setpathcost br0 eth0 10; \
    brctl setpathcost br0 eth1 10

Sperimentazione interattiva

Ora prima di attivare l'attività di bridging attiviamo le catture di traffico per tutti le cinque LAN:

b1# tcpdump -i eth0             (LAN 1)
b1# tcpdump -i eth1             (LAN 4)
b1# tcpdump -i eth2             (LAN 2)
b5# tcpdump -i eth1             (LAN 5)
b3# tcpdump -i eth0             (LAN 3)

A questo punto attiviamo i bridge (che sono stati configurati con stp on):

b1# ifconfig br0 up
b2# ifconfig br0 up
b3# ifconfig br0 up
b4# ifconfig br0 up
b5# ifconfig br0 up

Le catture (LAN 1, LAN 2, LAN 3, LAN 4, LAN 5) mostrano la contesa per il root bridge vinta da b4 e poi le notifiche di topology change. Per controllare lo stato dello STP nel brige esiste il comando brctl showstp br0 che avendo un output alquanto prolisso ci obbliga ad usare un filtro per ridurre la quantità di output.
Per conosce lo stato delle porte:

b1# brctl showstp br0 | grep 'state'
 port id        8001        state           forwarding
 port id        8002        state           forwarding
 port id        8003        state           blocking

b2# brctl showstp br0 | grep 'state'
 port id        8001        state           forwarding
 port id        8002        state           blocking

b3# brctl showstp br0 | grep 'state'
 port id        8001        state           forwarding
 port id        8002        state           forwarding

b4# brctl showstp br0 | grep 'state'
 port id        8001        state           forwarding
 port id        8002        state           forwarding

b5# brctl showstp br0 | grep 'state'
 port id        8001        state           forwarding
 port id        8002        state           forwarding

(screenshot)
Le porte in stato di blocking sono nei bridge 1 e 2.

Creative Commons License FREE THE MOUSE Valid HTML! Sandro Doro (email me)
Ultima modifica: $Date: 2006-10-28 07:49:47 $