PREMESSA

E' doveroso premettere che quanto qui riportato potrebbe essere non completamente corretto, anche perchè, come si dice in giro, il livello 1 del modello ISO/OSI (che appunto tratta le specifiche elettriche) è di competenza degli "elettronici" mentre i livelli superiori sono appannaggio degli informatici (tralascio il fatto che io teoricamente sarei un elettronico...confused smile)

IL CABLAGGIO ETHERNET

Ormai tutte le reti Ethernet (sviluppata originalmente dal sig. Metcalfe ai laboratori Xerox) usano la tecnologia 10/100/1000BaseT, decisamente più flessibile della precedente 10Base2 (ricordo ancora la mia prima LAN con i connettori BNC saldati a manina ed i "tappi"): quello che però è meno noto è che ci sono una serie di standard da seguire per questo tipo di cablaggio, a partire dalla sequenza dei cavi fino ad arrivare alle caratteristiche elettriche (come vedremo dopo, è importante anche questa parte!)

Una normale rete a 10/100 Mbps usa soltanto due coppie delle 4 normalmente disponibili: seguendo lo schema di cablaggio B (per la precisione TIA/EIA 568B) la disposizione è la seguente:

  • 1-2 bianco arancio/arancio: è la coppia identificata come TRANSMIT (TX+ e TX- rispettivamente) che porta il segnale dal PC all'HUB
  • 3-6 bianco verde/verde: è la coppia identificata come RECEIVE (RX+ e RX-) che porta il segnale dall'HUB al PC
  • 4-5 blu/bianco blu: non usata
  • 7-8 bianco marrone/marrone: non usata

Nota: ho usato il termine HUB solo per comodità.

Naturalmente, il PC sulla coppia 1/2 invierà i segnali mentre li riceverà sulla 3/6; al contrario, l'HUB riceverà il segnale sulla coppia 1/2 e trasmetterà sulla coppia 3/6.

Se si girella su Internet, si troverà anche una piccola curiosità storica: tutte le coppie con il bianco vengono chiamate anche TIP mentre quelle con unico colore RING. Questa notazione deriva direttamente dal mondo telefonico dove i famosi cavi del doppino sono appunto identificati con questi termini: in particolare il TIP è quello connesso "a terra" (in Italia è il cavo bianco) mentre il RING è quello portato alla tensione nominale di una linea telefonica POTS ovvero -48 V.

La seconda curiosità che può venire in mente riguarda la particolarità del cablaggio: oltre ad essere "twistate" (ritorti tra loro),  una coppia (quella verde) non è collegata "di seguito" come le altre ma viene "spezzata" dalla coppia blu.

La twistatura consente di ridurre sia gli effetti di diafonia (o crosstalk) ovvero il fatto che il segnale su una coppia influenzi la coppia vicina sia le eventuali interferenze elettromagnetiche esterne: indicativamente possiamo pensare che è come irradiare lo stesso segnale con verso opposto ad ogni "giro" di twistatura - dato che il segnale è lo stesso, i suoi effetti su conduttori adiacenti si annullano.

La twistatura riduce anche la "superficie" di contatto tra due conduttori di coppie diverse e di conseguenza si minimizzano gli accoppiamenti (meglio, non è che diminuisce la superficie, ma l'accoppiamento è "alternato" generando un effetto simile al precedente di "cancellazione" del segnale). 

La presenza della coppia blu "nel mezzo" a quella verde è semplice da spiegare: originariamente, la coppia "principale" era appunto quella blu, usata per trasportare il segnale telefonico. Quando si è passati ai connettori RJ45, il mantenere i due pin centrali (4 e 5) sulla stessa coppia (blu) ha consentito (e consente tutt'ora in molti casi) di usare il cavo RJ45 indifferentemente come cavo telefonico, come cavo dati o addirittura per entrambi i servizi.

LE CARATTERISTICHE ELETTRICHE

Come detto all'inizio, i cavi devono presentare anche alcune caratteristiche elettriche particolari: dato che in un cavo Ethernet viaggiano segnali ad una ben precisa frequenza (circa 30 MHz per il 100BaseT), il cavo non può più essere considerato come un semplice pezzo di filo ma dobbiamo vederlo come una linea di trasmissione del tutto equivalente al cavo coassiale che porta il segnale dall'antenna alla TV di casa: la cosa più importante quando si parla di linee di trasmissione è l'impedenza caratteristica, che nel caso Ethernet deve essere 100 ohm: questo significa anche che, per avere il maggior trasferimento di potenza dal generatore al carico (ogni device è sia generatore per la coppia TX+ e TX- che carico per la coppia RX+ e RX-) anche un dispositivo ethernet deve presentare 100 ohm di impedenza.

I segnali sul cavo ethernet sono di tipo differenziale, motivo per cui ci sono due "negativi" (TX- e RX-) anzichè un normale GND o  "massa" come ad esempio avviene nelle seriali RS232. Questo implica che un dispositivo non deve "sentire" una tensione assoluta su un cavo ma è sufficiente che faccia la "differenza" tra quanto arriva su TX+ e quanto arriva su TX-: questo aiuta moltissimo ad attenuare eventuali disturbi che, molto probabilmente, presenteranno la stessa intensità sui due cavi. Infatti, se supponiamo che il segnale che ci interessa sia A (i famosi 2.5 volt)  e che il disturbo sia D avremo:

  1. TX+ = A/2 + D
  2. TX- = -A/2 + D
  3. segnale differenziale rivelato = TX+ - TX- = A/2 + D - (-A/2 + D) = A

Naturalmente le cose non vanno sempre così bene perchè è ben difficile che il disturbo D sia uguale su entrambi i cavi: ciò nonostante si riesce ad ottenere un buon risultato attenuando abbastanza il disturbo (il "quanto" si riesce ad attenuare un disturbo prende anche il nome di CMRR Common Mode Rejection Ratio - common fa riferimento al fatto che il segnale è circa uguale sui due cavi).

Il fatto poi di non avere una "massa" in comune tra i dispositivi minimizza il rischio di eventuali "loop" di massa che avrebbero l'interessante effetto collaterale di fungere da antenna e di assorbire eventuali disturbi anzichè eliminarli (motivo per cui buona parte dei cablaggi è fatta con cavo UTP - il cavo STP richiede moooolta più attenzione proprio per evitare questi problemi).

IL "CODICE DI LINEA"

C'è però ancora un punto interessante da chiarire: se pensiamo che un bit a 0 debba essere tradotto con un segnale di 0 volt (o giù di lì), come potrebbe una macchina capire che il canale è in uso (ad esempio da parte di un host che sta trasmettendo tutti 0) oppure che il canale è libero (perchè non c'è nessuno che sta alimentando il cavo)? La risposta a questa domanda deriva dai tipi di codifica utilizzati nelle reti Ethernet, ovvero la codifica Manchester (per le reti 10BaseT) e 4B/5B (per le reti 100BaseT) + MLT.

Per spiegare questo ultimo punto è necessario introdurre il concetto di simbolo che altro non è che il modo con cui un insieme di bit viene rappresentato da un punto di vista "elettrico" sul cavo (i pignoli direbbero sul canale di trasmissione, qualunque esso sia): questo vuol dire che quello che viaggia sul cavo sono SIMBOLI (la cui velocità si misura in Baud = simboli/sec) che possono accorpare più bit. Il caso più semplice è quello di 1 bit = 1 simbolo (ed in questo caso 1 Baud= 1 bps), ma ci sono moltissimi casi in cui un simbolo rappresenta più di 1 bit (es. la codifica ISDN oppure quella V51 per i modem). Tra l'altro, è interessante ricordare che il limite fisico di una linea di trasmissione non è dato dai bps ma dai baud: se infatti si suppone che la velocità massima raggiungibile su un canale è di 300 simboli/sec (ovvero 300 Baud, na' schifezza), non è detto che la capacità del canale sia di 300 bps, in quando dipende dal tipo di codifica usato; se si suppone infatti di usare una codifica dove ogni simbolo rappresenta 2  bit, ecco che il nostro canale da 300 baud è in grado di andare a 600 bps. E se fossimo talmente bravi da inventare una codifica eccezionale che faccia corrispondere un simbolo a 8 bit, potremmo arrivare a 2400 bps.

La codifica di tipo Manchester è la prima che venne fuori e rimane la più semplice da capire: un bit 1 viene rappresentato con un simbolo che ha per metà del tempo valore "alto" e per l'altra metà valore "basso". Tanto per fare un esempio semplice, se stiamo andando a 1 Baud (ovvero 1 simbolo al secondo) e decidiamo di usare la codifica Manchester, il segnale risultante avrà valore alto per 0,5 secondi e valore basso per i restanti 0,5 secondi. La figura dovrebbe chiarire meglio il tutto:

manchester

Il perchè sia stata scelta come base di partenza la codifica Manchester è presto detto: se usassimo la codifica "normale" (quella in rosso per intenderci) trasmettitore e ricevitore dovrebbero essere perfettamente sincronizzati per poter capire dove inizia e dove finisce un bit, ovvero i relativi "orologi" dovrebbero andare esattamente alla stessa velocità (ed il problema si verifica quando si hanno blocchi di tutti 1 o tutti 0 come in figura - quando inizia/finisce un bit?!?). Naturalmente tutte le rose hanno le spine e la codifica Manchester richiede il doppio della banda passante rispetto alla velocità alla quale si vuole trasmettere.

Dato che prevedere un sistema di allineamento non è per niente banale e dato che SICURAMENTE le schede di rete avranno "orologi" a velocità diverse, era necessario trovare un sistema che garantisse una sorta di sincronismo. Il Manchester di lavoro fa proprio questo perchè nella trasmissione di un bit c'è SICURAMENTE una transizione alto-basso, che può essere usata per allineare i due orologi. Tradotto in termini "aulici" nella codifica Manchester si usa un simbolo formato da una transizione alto->basso per indicare un 1 mentre si usa un simbolo formato da una transizione basso->alto per indicare uno 0.

La codifica 4B5B (reti a 100 Mbps) è un pochino più complessa, sebbene sia stata scelta per ridurre la larghezza di banda richiesta dalla classica codifica Manchester. Nella 4B5B un blocco di 4 bit viene codificato utilizzando 5 bit. Si, avete letto bene, si usano 5 bit per codificarne realmente 4! Ora, sicuramente la domanda è: ma a che serve? E la risposta è semplice: quel "bit in piu'" (che corrisponde a molte combinazioni in più) viene usato per garantire la sincronizzazione degli orologi che, non usando il Manchester, non è più garantita.

Se però avete fatto attenzione nella lettura, avrete visto come nel caso del Manchester si parlava di bit vs. segnali elettrici, mentre nel caso di 4B5B ho parlato solo di bit vs bit: se si prova a guardare questa questione con i termini "anglosassoni" scopriremo che il Manchester è definito come un "line code" (appunto codice di linea) mentre 4B5B è un "binary encoding" (ovvero una codifica binaria).

La vera e propria codifica di linea (ovvero come si fanno corrispondere i bit ai segnali elettrici) per le reti a 100 Mbps è la MLT-3 (Multi-Level Tone): la particolarità interessante di questa codifica è quella di usare 3 livelli "elettrici" anzichè due come nel caso precedente, ovvero oltre al classici livelli 1 e 0 usa anche il -1. L'uso di questo sistema consente di abbassare la "banda totale" richiesta per il sistema portandola a circa 30 MHz rispetto ai 125 MHz originati quando si elaborano i simboli.

La foto sottostante mostra un un frequenzimetro la cui sonda (il coccodrillo rosso sulla sinistra) è stata "accoppiata" alla meno peggio con dei cavi di una rete a 100 Mbps (quella di casa mia) durante il normale lavoro: come si può vedere il frequenzimetro indica una frequenza di "circa" 125 MHz che è appunto tipica della velocità prima della codifica MLT di una rete a 100:

switch frequenzimetro