Come tutti sanno, il modello ISO/OSI rappresenta uno standard che descrive, a livello logico, l’architettura di una rete. Tale modello si basa su una pila a 7 livelli di protocolli, ossia di regole e meccanismi applicati ad ogni strato per far in modo che due dispositivi comunichino tra loro. Tali protocolli definisco anche cosa prelevare dallo strato sottostante (in base al protocollo definito in quello strato) e cosa rendere disponibile allo strato sovrastante (che utilizzerà il protocollo sovrastante).
Ci sono protocolli a cui non interessa come sia fatto il mezzo trasmissivo, mentre altri ne definiscono le caratteristiche elettriche, la tipologia, ed anche la lunghezza del cavo. Ovviamente quest’ultimi sono quelli che lavorano negli strati più bassi.
Nel caso del protocollo “ETHERNET”, esso si occupa sia dello strato “DATA-LINK” che dello strato “FISICO”. In particolare gli enti di standardizzazione e quelli privati hanno permesso uno svilluppo di tale protoccollo, definendo ad esempio lo standard 802.3 anche se comunemente viene chiamato ancora “ETHERNET”, oppure dei sotto standard come nel caso del 802.2 (Data-Link)
In breve, nello strato Data-Link avviene la definizione del “FRAME” ossia di un pacchetto contenente informazioni (in formato esadecimale e poi convertiti in binario) provenienti dalla strato superiore (nel caso di trasmissione) , il controllo degli errori del pacchetto (nel caso di ricezione) ed infine la regolazione del flusso tra sorgente e destinazione. Un esempio di pacchetto è dato dalla seguente figura (Wikipedia).
Per la definizione dei vari campi si rimanda all’indirizzo https://it.wikipedia.org/wiki/Ethernet .
Nel Layer Fisico, invece avviene la Codifica/Decodifica del dato Binario/Segnale Elettrico. In questa situazione in base alla tecnologia ethernet, si verificano codifiche e frequenze di trasmissione diverse.
In linea di principio, la sequenza di bit corrispondente al pacchetto deve essere convertita. Nel caso di tecnologie a 10base-T si utilizza la codifica Manchester . Ovviamente i dispositivi di Trasmissione/Ricezione non possono essere sincronizzati (ognuno ha un suo clock interno) e quindi il riconoscimento dei dati viene demandato al dato stesso. Ossia è il dato stesso a fare da clock. Vediamo il tipo di codifica.
Di seguito viene mostrata l’associazione tra bit e sua codifica.
Come si può vedere, a bit “1” viene associato il fronte di discesa mentre al bit “0” il fronte di salita. In questo modo si associa al bit , non un livello di codifica, ma una variazione di un livello di codifica. Di seguito viene mostrato un esempio.
A questo punto il segnale può essere considerato in corrente alternata con tensione dei livelli pari a +0,85V e -0,85V, ed inviato così come è. E’ da notare che un segnale continuo, sicuramente non rappresenta un dato inviato. Un altro vantaggio è che in questo modo il segnale inviato è un onda quadra con valore medio nullo e quindi facile da rigenerare da i vari dispositivi interposti (HUB, SWITCH, ecc ) tra sorgente e destinatario. In oltre il segnale elettrico inviato presenta una portante di trasmissione pari alla frequenza della velocità di trasmissione (trasmissione in banda base). La velocità dei bit dati effettivi (Mbps) risulta essere però la meta dei segnali ricevuti. Per quanto riguarda il mezzo trasmissivo, viene utilizzato un cavo con 2 coppie twistate e quindi cavi UTP cat.5 in cui delle quattro coppie solo due ne vengono utilizzate. Ovviamente i canali di trasmissione sono 2 : TX+ TX- per trasmettere il dato (1 coppia) e RX+ RX- per ricevere un dato (1 coppia). La lunghezza dei cavi, per tali frequenze e tensioni, è limitata da una distanza di 90mt .
Nel caso della tecnologia 100Base-TX vengono utilizzate in successione le seguenti codifiche , la 4B5B / NRZI / MLT-3. Per quanto riguarda la 4B5B, non è altro che una mappatura di blocchi di 4 bit (parti del pacchetto in binario) in blocchi di 5 bit. Ovviamente le configurazioni possibili a 4 bit sono 16 mentre nel caso di 5 bit le configurazioni possibili sono 32. Tale codifica introduce 1 bit il cui motivo verrà spigato a breve. Vediamo la tabella di codifica.
CODIFICA 4B/5B |
|
Codice 4 bit |
Codice 5 bit |
0000 | 11110 |
0001 | 01001 |
0010 | 10100 |
0011 | 10101 |
0100 | 01010 |
0101 | 01011 |
0110 | 01110 |
0111 | 01111 |
1000 | 10010 |
1001 | 10011 |
1010 | 10110 |
1011 | 10111 |
1100 | 11010 |
1101 | 11011 |
1110 | 11100 |
1111 | 11101 |
Le 16 combinazioni del codice a 5 bit sono state scelte in modo che non si possono presentare 3 o più “zeri” consecutivi (la velocità effettiva del dato si riduce del 20%). La codifica NRZI ha lo scopo di effettuare una codifica su transizione (discesa o salita) solo in caso di presenza di “1” . Vediamo la figura.
Infine viene effettua la codifica MLT-3 che si basa su 3 livelli di tensione:
Il segnale misurato con un oscilloscopio risulta essere di questo tipo
Alla fine la velocità dei dati risulta essere 4 volte, arrivando ai 100Mbps. Il mezzo trasmissivo utile risulta essere un cavo a 2 coppie (come nel caso 10Base-T) e quindi si utilizza cavi UTP cat. 5 , dove la lunghezza massima risulta essere di 100mt.
In definitiva nel livello fisico la scelta del protocollo, e quindi le codifiche utilizzate, determina la scelta della velocità di trasmissione del protocollo stesso.
Tutto ciò implica che le schede di rete, e tutti quei dispositivi interposti tra il sorgente ed il destinatario, e che sono compatibili ad una serie di protocolli a livello fisico , hanno tutto il necessario (parti di acquisizione del dato, microprocessori, encoder/decoder, ecc) che soddisfano le specifiche richieste.