[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 112.   Hardware di rete

Quando si vuole connettere il proprio sistema ad altri nodi per formare una rete locale, si utilizzano normalmente delle interfacce di rete, una per elaboratore, connesse tra loro in qualche modo. Normalmente si tratta di schede, ma posso essere utilizzate anche delle porte di comunicazione gestite opportunamente attraverso il software.

112.1   Nomi di interfaccia

A differenza degli altri tipi di dispositivi fisici, che vengono identificati ognuno attraverso un file di dispositivo particolare (/dev/*), GNU/Linux individua le interfacce di rete attraverso dei nomi che nulla hanno a che vedere con i file della directory /dev/.

Come nel caso dei nomi di dispositivo, quando ci possono essere più interfacce dello stesso tipo si utilizza un numero alla fine del nome. Per esempio, eth0 è la prima interfaccia Ethernet. Dipende dal kernel l'assegnazione di questo numero, quindi, quando si ha la necessità di attribuire un numero particolare si devono usare delle istruzioni opportune da inviare al kernel nel momento dell'avvio.

Tabella 112.1. Alcuni nomi delle interfacce di rete nei sistemi GNU/Linux.

Nome Descrizione
lo Interfaccia di loopback, di solito si tratta dell'indirizzo 127.0.0.1.
ethn La n-esima scheda Ethernet.
pppn La n-esima interfaccia PPP.
plipn La n-esima porta parallela utilizzata per le connessioni PLIP.

112.2   Ethernet -- IEEE 802.3/ISO 8802.3

Da molti anni ormai, le schede Ethernet sono quelle più utilizzate per la realizzazione di reti locali. Tuttavia, con il termine Ethernet si fa generalmente riferimento a uno standard evolutivo successivo: IEEE 802.3 o ISO 8802.3. In generale, lo standard Ethernet vero e proprio è ormai obsoleto. Lo standard IEEE 802.3 prevede diversi tipi di connessione, tra cui i più comuni sono:

Di questi, i più usati sono gli ultimi due e in particolare il secondo è il più economico. Infatti, l'uso del cavo UTP richiede poi la presenza di concentratori (HUB), oppure di commutatori di pacchetto (switch).

Il collegamento di tipo «sottile» (thin) richiede l'uso di un cavo coassiale con impedenza da 50 ohm (di solito si tratta del noto cavo RG58) che viene usato per connettere ogni scheda attraverso un connettore BNC a «T». Il cavo può raggiungere una lunghezza massima di 180 m circa. Alla fine di entrambi i capi di questo cavo si deve inserire un terminatore resistivo (non induttivo) da 50 ohm. L'unico svantaggio di questo tipo di collegamento è che durante il funzionamento della rete, il cavo non può essere interrotto.

La connessione del tipo UTP, Unshielded twisted pair, utilizza un connettore RJ-45. Per il collegamento in rete attraverso questo tipo di connessione, c'è bisogno di un concentratore-ripetitore.(1)

Lo standard IEEE 802.3 prevede anche l'uso di collegamenti a fibra ottica, ma qui, questa possibilità viene volutamente ignorata per la mancanza della competenza necessaria da parte di chi scrive.

112.2.1   10base*, 10/100base*, 10/100/1000base*

A seconda del tipo di connessione prescelto per la rete Ethernet, si hanno delle limitazioni sulla lunghezza massima del cavo utilizzato. Una connessione «normale» (thick) può essere fatta su un cavo lungo al massimo 500 m, mentre una connessione sottile permette l'utilizzo al massimo di 180 m.

In base a questi limiti, per distinguere il tipo di connessione si utilizzano i nomi 10base2 per la connessione sottile e 10base5 per la connessione normale. Nel caso di connessione attraverso cavo UTP, si utilizza il nome 10baseT.

La definizione «10base» fa riferimento alla velocità massima di comunicazione: 10 Mbit/s (bps). La definizione «10/100base» fa invece riferimento a uno standard più recente, in cui si riesce anche a raggiungere la velocità teorica di 100 Mbit/s, pur mantenendo la compatibilità con la velocità precedente; nello stesso modo, «10/100/1000base» rappresenta la possibilità di raggiungere anche una velocità di 1 000 Mbit/s. Le comunicazione a 100 Mbit/s e a 1 000 Mbit/s avvengono solo attraverso un cavo UTP, per cui si parla generalmente di connessione 10/100baseT, oppure 10/100/1000baseT.

Tabella 112.2. Caratteristiche delle schede Ethernet.

Ethernet Velocità Connessione Distanza Descrizione
10base5 10 Mbit/s thick RG213 ≤ 500 m Richiede il vampire tap.
10base2 10 Mbit/s thin RG58 < 200 m Cavo passante con connettore a «T».
10baseT 10 Mbit/s UTP < 100 m Richiede un concentratore o un commutatore di pacchetto.
10/100baseT 10-100 Mbit/s UTP < 100 m Richiede un concentratore o un commutatore di pacchetto.
10/100/1000baseT 10-1 000 Mbit/s UTP < 100 m Richiede un concentratore o un commutatore di pacchetto.

112.2.2   Un esempio con la scheda NE2000

La scheda Ethernet, storicamente più diffusa, è stata la NE2000 insieme a tutti i suoi cloni. Si tratta di una scheda ISA a 16 bit e richiede che le sia riservato un indirizzo IRQ e un indirizzo di I/O. Ciò a differenza di altre schede che possono richiedere anche una zona di memoria.(2)

La configurazione predefinita tradizionale di una NE2000 è IRQ 3 e I/O 30016 che però la mette in conflitto con la seconda porta seriale a causa dell'indirizzo IRQ. Diventa quindi necessario cambiare questa impostazione attraverso lo spostamento di ponticelli sulla scheda, o l'uso di un programma di configurazione, di solito in Dos.

Il kernel Linux deve essere stato predisposto per l'utilizzo di questo tipo di schede e durante l'avvio è normalmente in grado di identificarne la presenza. L'esistenza di una scheda NE2000 viene verificata in base alla scansione di alcuni indirizzi I/O e precisamente: 30016, 28016, 32016 e 34016.(3) Se la scheda è stata configurata al di fuori di questi valori, non può essere individuata, a meno di utilizzare un'istruzione apposita da inviare al kernel prima del suo avvio. Quando si vogliono utilizzare più schede nello stesso elaboratore è necessario informare il kernel attraverso un parametro composto nel modo seguente:

ether=irq,indirizzo_i/o,nome

Per esempio, se si installano due schede configurate rispettivamente come IRQ 11, I/O 30016 e IRQ 12, I/O 32016, si potrà utilizzare l'istruzione seguente da inviare a un kernel Linux:


ether=11,0x300,eth0 ether=12,0x320,eth1

Per controllare se le schede installate sono rilevate correttamente dal kernel basta leggere i messaggi iniziali, per esempio attraverso dmesg.

Ci sono comunque molte altre possibilità di configurazione e per questo conviene leggere Ethernet-HOWTO di Paul Gortmaker.

112.3   IEEE 802.3: ripetitori, commutatori di pacchetto e limiti di una rete

Il ripetitore è un componente che collega due reti intervenendo al primo livello ISO-OSI. In questo senso, il ripetitore non filtra in alcun caso i pacchetti, ma rappresenta semplicemente un modo per allungare un tratto di rete che per ragioni tecniche non potrebbe esserlo diversamente.

Figura 112.1. Il ripetitore ritrasmette i pacchetti di livello 1.

.-------------------.                                   .-------------------.
| Applicazione      |                                   | Applicazione      |
|-------------------|                                   |-------------------|
| Presentazione     |                                   | Presentazione     |
|-------------------|                                   |-------------------|
| Sessione          |                                   | Sessione          |
|-------------------|                                   |-------------------|
| Trasporto         |                                   | Trasporto         |
|-------------------|                                   |-------------------|
| Rete              |                                   | Rete              |
|-------------------|                                   |-------------------|
| Collegamento dati |            RIPETITORE             | Collegamento dati |
|-------------------|   .--------------------------.    |-------------------|
| Fisico            |   |          Fisico          |    | Fisico            |
`-------------------'   `--------------------------'    `-------------------'
         |                   |                |                   |
         `-------------------'                `-------------------'

Gli HUB, o concentratori, sono equivalenti a dei ripetitori; come tali, il loro utilizzo in una rete è sottoposto a delle limitazioni. In teoria si potrebbero calcolare tutte le caratteristiche di una rete per determinare se la struttura che si vuole ottenere sia compatibile o meno con le specifiche; in pratica la cosa diventa piuttosto difficile, data la necessità di tenere conto di troppi fattori. Generalmente si fa riferimento a dei modelli approssimativi già pronti, che stabiliscono delle limitazioni più facili da comprendere.

112.3.1   10base5 senza ripetitori

La connessione 10base5, senza la presenza di ripetitori, prevede l'uso di un cavo coassiale RG213 (thick, cioè grosso), da 50 ohm, con una lunghezza massima di 500 m, terminato alle due estremità con una resistenza da 50 ohm. Lungo il cavo possono essere inseriti i ricetrasmettitori, o MAU (Medium attachment unit), che si collegano al cavo attraverso il vampire tap (una sorta di ago che si insinua nell'anima del cavo, senza creare cortocircuiti) e a loro volta sono collegati alla scheda di rete con un cavo apposito. I vari ricetrasmettitori possono essere al massimo 100 e la distanza sul cavo, tra uno qualunque di questi e il successivo, è al minimo di 2,5 m.

Figura 112.2. Regole per una rete 10base5 senza ripetitori.

            .----------.    .----------.    .----------.
            | stazione |    | stazione |    | stazione |
            `----------'    `----------'    `----------'
                  |               |               |
                  |               |               | cavo AUI
                  |               |               |
terminatore     .---.           .---.           .---.           terminatore
XX--------------|MAU|-----------|MAU|-----------|MAU|----------------XX
50 ohm          `---'           `---'           `---'             50 ohm
                      min 2,5 m
                  <--------------->

                        max 500 m cavo RG213
<--------------------------------------------------------------------->
        max 100 MAU (ricetrasmettitori) su un solo segmento

Come si può intuire, se il tratto di cavo coassiale non è continuo, ma ottenuto dalla giunzione di più pezzi, la lunghezza massima deve essere diminuita.

112.3.2   10base2 senza ripetitori

La connessione 10base2, senza la presenza di ripetitori, prevede l'uso di un cavo coassiale RG58 (thin, cioè sottile), da 50 ohm, con una lunghezza massima di 180 m (quasi 200 m, da cui il nome 10base2), terminato alle due estremità con una resistenza da 50 ohm. Lungo il cavo possono essere inseriti dei connettori BNC a «T», attraverso cui collegare un ricetrasmettitore MAU, o direttamente una scheda che incorpora tutte le funzionalità. Le varie inserzioni poste nella rete possono essere un massimo di 30, poste a una distanza minima di 0,5 m lungo il cavo.

Figura 112.3. Regole per una rete 10base2 senza ripetitori.

            .----------.    .----------.    .----------.
            | stazione |    | stazione |    | stazione |
            `----------'    `----------'    `----------'
terminatore      XX              XX              XX             terminatore
XX--------------XXXX------------XXXX------------XXXX-----------------XX
50 ohm                min 0,5 m                                   50 ohm
                  <-------------->

                        max 180 m cavo RG58
<--------------------------------------------------------------------->
                max 30 connessioni su un solo segmento

112.3.3   10baseT

La connessione 10baseT prevede il collegamento di due sole stazioni, cosa che in pratica si traduce nella necessità di utilizzare un ripetitore multiplo, ovvero un HUB, o concentratore. Le caratteristiche del cavo utilizzato per la connessione 10baseT non sono uniformi e perfettamente standardizzate, tuttavia, generalmente si può raggiungere una lunghezza massima di 100 m.

112.3.4   Regole elementari di progettazione

La regola di progettazione più semplice, stabilisce che tra due stazioni qualunque possono essere attraversati al massimo quattro ripetitori, utilizzando cinque segmenti (cavi), di cui al massimo tre di tipo coassiale (RG58 o RG213).

Figura 112.4. Esempio di configurazione massima con quattro ripetitori, tre segmenti coassiali e due segmenti 10baseT.

.--------. 10baseT .------.   .------.   .------.   .------. 10baseT .--------.
|stazione|---------|ripet.|---|ripet.|---|ripet.|---|ripet.|---------|stazione|
`--------'         `------'   `------'   `------'   `------'         `--------'
          max 100 m                                         max 100 m
                               10base5 max 500 m
                           oppure 10base2 max 180 m

La figura 112.4 mostra una situazione molto semplice, in cui tre segmenti 10base2 o 10base5 collegano tra loro quattro ripetitori che poi si uniscono all'esterno con un segmento 10baseT. La figura mostra il collegamento di due sole stazioni, ma i ripetitori più esterni potrebbero essere muniti di più porte 10baseT, in modo da collegare più stazioni.

Eventualmente, in base alle regole date, anche nei tratti di collegamento coassiale è possibile inserire delle stazioni.

Figura 112.5. Esempio di configurazione massima in cui, pur apparendo cinque ripetitori, tra due stazioni ne vengono attraversati al massimo quattro. I ripetitori agli estremi dispongono di più connessioni 10baseT.

.----------. coass.  .----------. coass.  .----------.         .----------.
|ripetitore|---------|ripetitore|---------|ripetitore|   .-----|ripetitore|
`----------'         `----------'         `----------'   |     `----------'
 |  |  |  |                                      |       |      |  |  |  |
 |  |  |  |                         .----------. |       |      |  |  |  |
 |  |  |  |                         |ripetitore|-*-------'      |  |  |  |
  stazioni                          `----------'   coassiale     stazioni
  10baseT                            |  |  |  |                  10baseT
                                     |  |  |  |
                                      stazioni
                                      10baseT

112.3.5   Commutatori di pacchetto o switch

I commutatori di pacchetto, o switch, sono diversi dai concentratori, o HUB, in quanto si comportano come dei bridge. In questo senso non sono sottoposti alle limitazioni dei ripetitori, soprattutto per quanto riguarda la condivisione del dominio di collisione. Infatti, un bridge è in grado normalmente di determinare se una stazione si trova in un collegamento o meno; in questo modo, i pacchetti possono essere filtrati, impedendo di affollare inutilmente i collegamenti che non ne sono interessati.

112.4   IEEE 802.3: cavetti UTP, normali e incrociati

I cavi UTP sono realizzati in modo diverso a seconda della categoria (la velocità di trasmissione); a ogni modo, si distinguono sempre due casi: cavi diretti e cavi incrociati (si veda anche il capitolo 540). In linea di massima, il collegamento tra un elaboratore e un concentratore o un commutatori di pacchetto, avviene con cavi diretti, mentre il collegamento di due soli elaboratori, senza componenti intermedi, avviene con un cavo incrociato.

Tuttavia, le situazioni sono molteplici e vale la pena di elencarne alcune, tenendo conto che non sempre la realtà corrisponde alla teoria, pertanto occorre essere pronti a verificare e a provare anche in modo differente.

112.4.1   Concentratori e commutatori di pacchetto

I concentratori e i commutatori di pacchetto dispongono solitamente di un certo numero di porte «normali» e di una porta aggiuntiva, denominata up link. Questa porta speciale serve a collegare più concentratori o commutatori di pacchetto assieme, come si può vedere nella figura 112.6.

Figura 112.6. Situazione comune, in cui i cavi UTP sono tutti diretti.

collegamento normale di hub ed elaboratori

In questo modo, i cavi usati per le connessioni sono tutti di tipo diretto. Tuttavia, volendo provare a usare la porta up link per collegare l'interfaccia di rete di un elaboratore normale, si deve usare un cavo incrociato, come si vede nella figura 112.7.

Figura 112.7. Utilizzo della porta up link per un collegamento attraverso cavo incrociato.

utilizzo della porta up link per un collegamento attraverso cavo incrociato

Si osservi che spesso l'uso della porta up link preclude l'utilizzo di una delle porte normali (di solito la prima). Eventualmente si può verificare nella documentazione del concentratore o del commutatore di pacchetto.

Così come dovrebbe essere possibile collegare un elaboratore alla porta up link attraverso un cavo incrociato, dovrebbe essere possibile collegare due concentratori o due commutatori di pacchetto tra due porte normali, usando un cavo invertito.

Figura 112.8. Collegamento tra due concentratori o commutatori di pacchetto, usando solo le porte normali.

due hub collegati con un cavo invertito tra due porte normali

112.4.2   Router specifici e componenti simili

Quando si collegano dei componenti attraverso cavi UTP, come dei router specifici (quali i router ADSL), per sapere se si deve utilizzare un cavo diretto o un cavo incrociato, basta verificare se questi possono essere collegati alla scheda di rete di un elaboratore con un cavo diretto. Se ciò si verifica, nel caso di collegamento a un concentratore o a un commutatore di pacchetto, occorre usare la porta up link oppure occorre usare un cavo incrociato per il collegamento con una porta normale.

Figura 112.9. Collegamento di un router in una scatola chiusa.

router e hub

112.5   PLIP

Due elaboratori possono essere connessi utilizzando le porte parallele. Si ottiene in questi casi una connessione PLIP.(4) La gestione della comunicazione PLIP avviene direttamente nel kernel e per questo, è necessario che sia stato compilato opportunamente per ottenere questa funzionalità.(5)

Le porte parallele possono essere fondamentalmente di due tipi: quelle normali e quelle bidirezionali. Per questa ragione, in origine si potevano utilizzare due tipi di cavo. Attualmente però, l'unico cavo considerato standard è quello incrociato adatto a tutti i tipi di porta parallela.

L'utilizzo del cavo bidirezionale, considerato sconsigliabile, ma di cui si trova ancora traccia nelle documentazioni, implica qualche rischio in più di danneggiamento delle porte parallele.

Segue lo schema del cavo per la connessione PLIP (si può consultare anche il capitolo 539). Eventualmente si può anche leggere il contenuto del file /usr/src/linux/drivers/net/README1.PLIP che è fornito insieme al kernel Linux.

Cavo parallelo incrociato.

Connettore A Connettore B
DB-25 maschio DB-25 maschio
Nome Contatto Contatto Nome
Data Bit 0 2 15 Error
Data Bit 1 3 13 Select
Data Bit 2 4 12 Paper Out
Data Bit 3 5 10 Acknowledge
Data Bit 4 6 11 Busy
Acknowledge 10 5 Data Bit 3
Busy 11 6 Data Bit 4
Paper Out 12 4 Data Bit 2
Select 13 3 Data Bit 1
Error 15 2 Data Bit 0
Signal Ground 25 25 Signal Ground

112.5.1   Problemi con le porte parallele

Le porte parallele non sono tutte uguali: i problemi maggiori potrebbero presentarsi con le porte degli elaboratori portatili, o comunque quelle incorporate nella scheda madre dell'elaboratore. In questi casi, la loro configurazione dovrebbe essere gestita attraverso un programma contenuto nel firmware (il BIOS) ed è importante verificare tale configurazione.

La configurazione riguarda generalmente l'indirizzo di I/O, eventualmente anche il numero di IRQ. Alcune configurazioni potrebbero prevedere l'impostazione della porta come «normale» o «bidirezionale». Se si può scegliere, è opportuno che la porta sia normale.

A questo punto si pone il problema del riconoscimento della porta da parte del kernel. Se il file principale del kernel incorpora la gestione del protocollo PLIP, l'interfaccia dovrebbe essere individuata automaticamente e in modo corretto (riguardo alla sua configurazione effettiva). Eventualmente si può inviare un messaggio al kernel Linux attraverso il meccanismo dei parametri di avvio (capitolo 30). Anche nel caso dell'utilizzo di un modulo, il rilevamento dell'interfaccia dovrebbe avvenire in modo corretto. Però ci sono situazioni in cui ciò non può avvenire, specialmente nel caso di utilizzo di dischetti di installazione di una distribuzione GNU/Linux (capitolo 31).

In tutti i casi in cui è necessario fornire al kernel le caratteristiche hardware dell'interfaccia parallela, è indispensabile indicare sia l'indirizzo di I/O che il numero di IRQ. Se si indica un numero di IRQ errato, si rischia di ottenere il funzionamento intermittente dell'interfaccia, cosa che magari potrebbe fare pensare ad altri problemi.

112.6   Riferimenti

Appunti di informatica libera 2003.01.01 --- Copyright © 2000-2003 Daniele Giacomini -- daniele @ swlibero.org

1) Solitamente, un componente del genere mette a disposizione un'uscita BNC per il collegamento con una rete sottile. Tuttavia, prima di decidere di utilizzare un HUB di questo tipo occorre tenere presente che, spesso, attraverso tale uscita non può collegare da solo un gruppo di nodi in un'altra rete. La presenza di un connettore BNC farebbe pensare a questa possibilità; tuttavia, in condizioni normali, anche l'uscita BNC può essere collegata a una sola stazione, per esempio un servente o un router.

2) ISA sta per Industry standard architecture e si riferisce al bus utilizzato dai primi «PC».

3) In passato veniva fatta anche la scansione dell'indirizzo 36016, ma l'utilizzo di questo, dal momento che poi si estende fino a 37F16, porterebbe la scheda di rete in conflitto con la porta parallela standard che di solito si trova nella posizione 37816.

4) Per questioni tecniche, la connessione PLIP consente l'uso di protocolli IPv4, ma non di IPv6.

5) In passato non era possibile utilizzare un kernel Linux che gestisse simultaneamente la stampa e la connessione PLIP; eventualmente si poteva risolvere il problema utilizzando dei moduli da caricare e scaricare al momento del bisogno. Attualmente, i nuovi kernel Linux possono gestire simultaneamente la stampa e la connessione PLIP, senza bisogno di attuare trucchi particolari.


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome hardware_di_rete.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]