Bridge (informatica)

Da Wikipedia, l'enciclopedia libera.
Bridge

In informatica e telecomunicazioni un bridge (letteralmente ponte) è un dispositivo di rete che si colloca al livello datalink del modello ISO/OSI e che traduce da un mezzo fisico ad un altro all'interno di una stessa rete locale. Esso è quindi in grado di riconoscere, nei segnali elettrici che riceve dal mezzo trasmissivo, dei dati organizzati in strutture a pacchetto dette trame (in inglese frame), di individuare all'interno di esse l'indirizzo del nodo mittente e quello del nodo destinatario e in base a questi operare un indirizzamento delle trame tra più segmenti di rete ad esso interconnessi.[1][2]

Funzionamento[modifica | modifica sorgente]

Tipicamente un bridge è munito di porte con cui è collegato a diversi segmenti della rete locale indirizzando pacchetti tra essi. Quando riceve un frame su una porta, cerca di capire dall'indirizzo del destinatario se questi si trova nello stesso segmento del mittente oppure no. Nel primo caso evita di inoltrare il frame, in quanto presumibilmente il destinatario l'ha già ricevuto per condivisione del bus di comunicazione. Nel secondo caso, invece, il bridge inoltra la trama verso il segmento in cui si trova effettivamente il destinatario. Se non sa su quale segmento si trova il destinatario, il bridge inoltra il frame su tutte le porte tranne quella da cui l'ha ricevuta. Queste operazioni sono definite operazioni di filtraggio e inoltro. Nell'attraversare il bridge il pacchetto informativo subisce dunque un ritardo aggiuntivo, rispetto a quello consueto di propagazione, e dovuto ai tempi di elaborazione che il bridge opera sul pacchetto per decidere su quale segmento, quindi su quale porta di uscita, inoltrarlo.

Tabelle di indirizzi[modifica | modifica sorgente]

Per inoltrare i frame verso i domini giusti, il bridge mantiene una tabella (chiamata tabella di forwarding) di indirizzi MAC per ciascuna porta, e in base al suo contenuto è in grado di capire verso quale porta, e quindi quale dominio, inoltrare il frame. La tabella può essere creata manualmente dall'amministratore di rete attraverso apposito software residente, oppure può essere creata automaticamente tramite un meccanismo di auto-apprendimento (auto-learning) tramite il traffico progressivo di pacchetti sul bridge associando porta di provenienza con l'indirizzo del mittente. Tale apprendimento può essere reso ancora più sofisticato ed efficiente prevedendo la cancellazione da parte del bridge stesso dell'indirizzo MAC dopo un certo periodo di tempo in cui non viene usato (tempo di invecchiamento) evitando così l'aggiornamento manuale e problemi di scalabilità all'aumentare del numero di host nella rete.

All'accensione del Bridge le tabelle degli indirizzi ( forwarding ) sono vuote perciò al passaggio di un frame questo viene inoltrata su tutte le linee del Bridge (ad eccezione di quella di arrivo) eseguendo quello che viene chiamato Flooding.

In pratica i bridge sono sempre più dispositivi plug-and-play per cui si parla di bridge trasparenti.

Domini di collisione[modifica | modifica sorgente]

Ciascun segmento di rete, collegato ad una porta di un bridge, costituisce un dominio di collisione separato. Ciò ottimizza notevolmente le trasmissioni sulla rete locale diminuendo il numero di collisioni. Grazie a questa sua caratteristica il bridge consente di costruire una LAN di dimensioni infinite.

Inoltre se un bridge individua che su un altro segmento di rete su cui deve trasmettere esiste un problema di collisione, allora applica l'algoritmo CSMA/CD operando come un qualsiasi host della rete cioè mediante bufferizzazione dei dati e l'invio di questi a LAN libera.

Pertanto un bridge può essere usato per collegare a livello datalink due domini di collisione senza aumentare il rischio di collisioni o, viceversa, per dividere un dominio di collisione in due domini più piccoli e quindi più performanti.

Differenze bridge/switch[modifica | modifica sorgente]

Il comportamento del bridge è dunque simile a quello dello switch per via della capacità di indirizzamento, ma il suo ruolo nell'architettura di una rete è anche simile a quello del repeater grazie alla capacità di inoltrare verso un altro segmento di rete.

La differenza con lo switch è essenzialmente nel numero di porte: un bridge possiede al massimo una decina di porte, mentre uno switch può arrivare fino ad alcune centinaia nei modelli più complessi. Un bridge viene quindi utilizzato per connettere diversi segmenti di rete, ciascuno dei quali è costituito potenzialmente da molti host, sostituendo il repeater, mentre uno switch viene collegato direttamente ai singoli host.

Questa differenza sul numero di porte ha a sua volta effetto sulla dimensione dei domini di collisione: entrambi i dispositivi riducono la dimensione dei domini di collisione, ma lo switch arriva all'estremo di ridurre una parte della rete ad un insieme di domini di collisione di dimensioni minime, al limite costituiti ciascuno da un singolo nodo. Questa situazione consente di ridurre drasticamente le collisioni, ma la contropartita è la grande quantità di cavi necessari a collegare ogni singolo nodo allo switch, piuttosto che i nodi ad alcuni hub e questi ultimi allo switch.

Altre differenze importanti tra Switch e Bridge sono:

  • Quando non conosce la linea di uscita per il frame, lo Switch lo inoltra su tutte le sue linee, compresa quella di entrata, realizzando broadcasting al contrario del flooding del Bridge.
  • Lo switch è un dispositivo full duplex quindi non opera contesa sul canale, non implementa CSMA/CD ed è considerato Ethernet in quanto è in grado di gestire il frame 802.3.

Punti deboli[modifica | modifica sorgente]

Il punto debole in una LAN è proprio il nodo di interconnessione in quanto se un bridge si guasta la LAN viene scollegata dal resto della rete cioè vengono scollegati i singoli segmenti di rete ad esso collegati.

Spanning tree[modifica | modifica sorgente]

Per ovviare a questo inconveniente, quindi, si possono creare percorsi multipli ridondanti, ma si ricade in un altro problema perché i frame rischiano di seguire dei percorsi ciclici e moltiplicarsi.

Il problema si evita con la creazione automatica di uno spanning tree, cioè di un sottogruppo della rete privo di anelli.

Gli algoritmi di spanning tree sono soliti impostare le porte dello switch o del bridge a tre differenti stati, a seconda dell'occorrenza.

  • Blocking
  • Listening
  • Learning
  • Forwarding
  • Disabled

I possibili passaggi da uno stato all'altro sono i seguenti.

  • Da inizializzazione a blocking
  • Da blocking a listening o disabled
  • Da listening a learning o disabled
  • Da learning a forwarding o disabled
  • da forwarding a disabled

Router[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi Router.

Il router assomiglia molto ad un bridge nella sua funzionalità, ma varia lo strato di protocollo in cui opera.

Note[modifica | modifica sorgente]

  1. ^ (EN) Bridge definition, linfo.org, 1º ottobre 2005. URL consultato il 13 maggio 2012.
  2. ^ (EN) Bradley Mitchell, Bridge - Bridges in Computer Networking, about.com. URL consultato il 13 maggio 2012.

Voci correlate[modifica | modifica sorgente]

Telematica Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete