La funzione di translational bridging consente di collegare tra loro reti
dissimili, come ad esempio una rete Ethernet e una rete Token Ring oppure
una rete FDDI, e consiste nel modificare l'ordine dei bit contenuti nella
trama quando questa viene passata da Ethernet a all'altra rete e viceversa.
L'indirizzo fisico di una rete Ethernet (MAC address) viene trasmesso
un byte alla volta, ma i bit contenuti in ciascun byte sono trasmessi
a partire da quello meno significativo, cioè quello più a destra. Su una
rete Token Ring si usa il metodo opposto, trasmettendo per primo il bit
che si trova più a sinistra (quello più significativo). Di conseguenza
quando si passa la trama da un ambiente all'altro questa deve essere "tradotta"
invertendo l'ordine di trasmissione dei bit. Quando una rete transparent
bridging (Ethernet) deve parlare con una rete source-route bridging (Token
Ring) e viceversa occorre un bridge che sia capace di tradurre tra i due
linguaggi. A questo fine, il bridge usa due database, uno si chiama forwarding
database e assomiglia alla forwarding table di un bridge transparent bridging,
l'altro si chiama route information field database e assomiglia alla tabella
che ciascuna macchina costruisce per proprio conto in una rete source
routing. Il forwarding database deve essere abbastanza capiente da contenere
gli indirizzi fisici delle macchine presenti in entrambe le reti. Similmente
il route information field database contiene le informazioni su come raggiungere
qualsiasi macchina presente sulle due reti. Quando arriva una trama dalla
rete Ethernet, il bridge determina su quale porta farla uscire (sempre
che debba uscire verso un altro segmento) e prima di spedirla vi aggiunge
le informazioni d'instradamento contenute nel database di routing. Il
percorso inverso è più semplice: basta togliere le informazioni d'instradamento
dalla trama e spedirla direttamente alla porta corretta. Ogni volta che
arrivano nuove trame dalle due parti, si usano le informazioni in esse
contenute per aggiornare entrambi i database. In aggiunta a questo, il
bridge di traduzione compie il lavoro di tradurre i 48 bit (6 byte) che
compongono l'indirizzo fisico delle schede Ethernet in una notazione binaria
rovesciata, che parta cioè dal bit più significativo (quello a sinistra)
e non da quello meno significativo (quello più a destra). Prendiamo ad
esempio l'indirizzo fisico 00-00-0C-0C-01-4C che identifica un'interfaccia
di rete Ethernet. Una volta passato a una rete FDDI questo indirizzo diventerebbe
00-00-30-30-80-32. Infatti provate a prendere la cifra 4C, che corrisponde
al valore decimale 72 e al valore binario 0100 1100, se la invertiamo
diventa 0011 0010 che corrisponde appunto a 32 (valore decimale 47). Una
mancata conversione non provoca soltanto l'impossibilità di raggiungere
in destinatario corretto, ma genera anche traffico non necessario. Infatti
anche la rete Token Ring, alla pari della rete Ethernet, usa il primo
byte dell'indirizzo per determinare se si tratta di un indirizzo singolo
(unicast) oppure di un indirizzo multiplo (multicast). Ethernet controlla
se il primo byte è dispari, cioè se il primo bit a partire da destra è
un 1. Token Ring invece esegue lo stesso controllo partendo da sinistra
e il mancato rovesciamento dell'indirizzo provocherebbe l'erroneo riconoscimento
d'indirizzi multicast che in realtà non esistono e la distribuzione incontrollata
di trame che non vanno da nessuna parte. Il ribaltamento nell'ordine dei
bit, però, non riguarda soltanto l'indirizzo, ma coinvolge anche i dati
che sono contenuti nella trama. Questo di per sé non sarebbe un problema
se queste informazioni non influenzassero il alcun modo il percorso del
pacchetto e fossero semplicemente dati che devono andare da un computer
all'altro. In realtà, il campo "dati" della trama contiene spesso informazioni
di protocollo che influenzano il viaggio del pacchetto quando questo naviga
su lunghe distanze attraversando diverse rete e il loro stravolgimento
causerebbe la perdita del pacchetto medesimo. Nel caso della connessione
tra Ethernet e Token Ring il sistema utilizza informazioni prese dal livello
2 (data link - Media Access Control) anziché informazioni prese dal livello
3 (rete) per determinare su quale porta debba essere indirizzata una trama
in uscita. In tal modo consente di far passare unicamente le trame appartenenti
ai protocolli che non sono instradabili di natura come NetBIOS, MOP, SNA
e LAT. Questo perché, nel caso di protocolli instradabili, le informazioni
d'instradamento vengono solitamente inserite in quella parte della trama
che contiene anche i dati ed è difficile andarli a ripescare visto che
l'ordine in cui i bit vengono trasmessi deve essere invertito. Lo stesso
discorso vale per il passaggio da Ethernet a FDDI, con la complicazione
che sono pochi i protocolli che effettivamente riescono a superare la
barriera Ethernet/FDDI: IP, OSI, DECnet, NetBIOS, MOP e LAT.
|