You are on page 1of 5

Bridge

Un bridge è un dispositivo di rete che premette di collegare due o più segmenti di una Rete Locale
(LAN) in modo da creare una rete più grande. Il bridge appartiene al Livello-2 (Datalink) del
modello di riferimento OSI, in quanto opera a livello di frame, ovvero analizza e inoltra i pacchetti
di dati (frame) sulla base degli indirizzi MAC (Media Access Control) dei dispositivi di rete connessi.

Il bridge agisce come un filtro, quando un frame arriva su uno dei suoi segmenti, il bridge ne
analizza l'indirizzo MAC di destinazione e cerca di determinare se il destinatario si trova sullo
stesso segmento o su un altro. Se il destinatario si trova sullo stesso segmento del mittente, il
bridge non inoltra il frame a nessun altro segmento. Se, invece, il destinatario si trova su un altro
segmento, il bridge inoltra il frame solo su quel segmento, evitando così di saturare la rete con
traffico inutile. In questo modo, il bridge aiuta a migliorare le prestazioni della rete e a ridurre la
congestione del traffico, in quanto il traffico indesiderato viene filtrato prima di essere inoltrato al
segmento di rete di destinazione.

I bridge sono utilizzati principalmente per migliorare le prestazioni e la sicurezza delle reti locali.
Ad esempio, possono essere utilizzati per suddividere una rete in segmenti separati, in modo da
ridurre il traffico di broadcast e migliorare le prestazioni della rete. Possono anche essere utilizzati
per separare le reti in base alla funzione o alla sicurezza, impedendo a dispositivi non autorizzati di
accedere a determinate parti della rete.
Casi d'uso:
§ Unire segmenti di rete che utilizzano mezzi trasmissivi diversi
§ Unire una rete wired e una rete wireless
§ Unire Ethernet su fibra ed Ethernet su rame
§ Collegare reti "virtuali" a reti fisiche
§ Connessione tramite VPN a rete aziendale
§ Collegare una macchina virtuale ad una rete fisica

1
Bridge
All'interno di un sistema Linux è possibile collegare tra loro più interfacce di rete. Le interfacce possono
essere aggiunte e rimosse in ogni momento, unico vincolo dono gli indirizzi hardware di 6 byte
Un bridge Linux permette di ottenere la semplicità di inoltro di uno switch Ethernet insieme a
funzionalità più avanzate di controllo del traffico come ad esempio:
§ Filtering
§ Traffic shaping

Creazione e Gestione di un Bridge


Il comando brctl è un comando in Linux utilizzato per la configurazione, la creazione e la
gestione di bridge di rete, ovvero strutture che collegano due o più reti per permettere la
comunicazione tra di esse.
Creazione di un bridge:
$ brctl addbr <bridge_name>
Esempio:
$ brctl addbr br0

Collegamento di un'interfaccia al bridge:


$ brctl addif <bridge_name> <iface>
Esempio:
$ brctl addif br0 eth0
$ brctl addif br0 eth1

Visualizzazione dei bridge attualmente configurati:


$ brctl show [<bridge_name>]
Esempio:
$ brctl show br0
bridge name bridge id STP enabled interfaces
br0 8000.02040616af6f no eth0
eth1

Visualizzazione della lista degli indirizzi MAC conosciuti dal bridge:


$ brctl showmacs <bridge_name>
Esempio:
$ brctl showmacs br0
port no mac addr is local ? ageing timer
1 02:04:06:05:f2:60 yes 0.00
2 02:04:06:39:25:20 no 21.74
2 02:04:06:58:c5:51 yes 0.00
1 02:04:06:64:67:58 no 21.74

Continuazione →

2
Bridge
Creazione e Gestione di un Bridge
Alcuni parametri configurabili tramite il comando brctl sono:
§ Forward delay
Questo parametro, misurato in secondi, rappresenta il tempo che un bridge impiega per
passare dallo stato di listening allo stato di learning, e poi dallo stato di learning allo stato di
forwarding, durante l'abilitazione dello Spanning Tree Protocol (STP).
La sintassi per configurarlo è:
$ brctl setfd <bridge_name> <time>
§ Ageing Time
Questo è il tempo, in secondi, dopo il quale una voce della tabella di forwarding del bridge
diventa obsoleta se non vengono più ricevuti frame da quell'indirizzo.
La sintassi per configurarlo è:
$ brctl setageing <bridge_name> <time>
§ Spanning Tree Protocol (STP)
È un protocollo che previene i loop di rete facendo bridging (ovvero, creando collegamenti) tra
diversi segmenti di rete.
La sintassi per configurarlo è:
$ brctl stp <bridge_name> on|off
§ Hairpin Mode
In modalità hairpin, i frame possono essere inviati indietro attraverso la porta su cui sono stati
ricevuti. Questa funzionalità può essere utile in alcune configurazioni di rete.
La sintassi per configurarlo è:
$ brctl hairpin <bridge_name> <iface> on|off

Configurazione Permanente
È possibile rendere persistente un bridge tramite il file /etc/network/interfaces tramite
la seguente configurazione:
$ nano /etc/network/interfaces
auto br0
iface br0 inet static
bridge_ports <iface1> <iface2> …
address <ip-address>
Alcune considerazioni sulla configurazione (permanente) di un bridge:
§ Attivando il bridge autmaticamente, tramite la direttiva auto, attiveremo in automatico tutte
le interfacce comprese in bridge_ports.
§ In bridge_ports si utilizza il valore none per creare all'avvio un'interfaccia virtuale di
bridging senza associare alcuna interfaccia, questo è particolarmente utile quando bisogna
configurare reti virtuali le cui interfacce di rete vengono aggiunte dinamicamente al bridge
§ Si utilizza l'indirizzo 0.0.0.0 per non assegnare alcun indirizzo al bridge

Continuazione →

3
Bridge
Configurazione Bridge
Creare la topologia in figura, il nodo centrale ha due interfacce ethernet che vengono collegate ad
un bridge.

Osservazioni:
§ Assicurarsi che l'interfaccia virtuale associata al bridge e le interfacce che ne fanno parte
(eth0, eth1) siano attive.
§ L'interfaccia virtuale che rappresenta il bridge può:
- essere configurata come una comune interfaccia di rete
- non essere configurata (l'host non sarà raggiungibile a Livello-3, simile ad uno Switch Ethernet)
§ Le interfacce incluse nel bridging non possono più essere configurate singolarmente.

Soluzione:
Marionnet
1. Machine: h1, h2, h3
2. Machine > Modify > h2 > Ethernet cards = 2
3. Switch: S1, S2
4. Straight cable: d1 [h1 to S1], d2 [h2 to S1], d3 [h2 to S2], d4 [h3 to S2]
§ Then press the [Start all] button.

H2 Terminal - Bridge
$ brctl addbr br0 ← Creazione del bridge br0
$ brctl addif br0 eth0 ← Collegamento dell'interfaccia eth0 al bridge br0
$ brctl addif br0 eth1 ← Collegamento dell'interfaccia eth1 al bridge br0
$ nano /etc/network/interfaces
auto br0
iface br0 inet static
bridge_ports eth0 eth1
address 0.0.0.0
$ ifup br0
Continuazione →
4
Bridge
Configurazione Bridge
H1 Terminal
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.1
$ ifup eth0
H3 Terminal
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.2
$ ifup eth0

Test di Connessione
§ H1 Terminal
$ ping 192.168.1.2

§ H3 Terminal
$ ping 192.168.1.1

You might also like