2014-06-06 17:40:13 +0000 2014-06-06 17:40:13 +0000
36
36

Perché dividere semplicemente un cavo Ethernet non funziona?

Pensavo che l'Ethernet è logicamente un bus di comunicazione su una sola linea (per amor di discussione, escludo gli hub). Tutte le macchine collegate sul bus sentono gli stessi segnali e le macchine stesse cercano di evitare le collisioni indietreggiando a caso. http://computer.howstuffworks.com/ethernet6.htm

Se è così, perché dividere una linea Ethernet dal mio router di casa in due e collegare due computer non funziona? Perché devo aggiungere uno switch?

Quello che Internet ha detto che non avrebbe funzionato.

+----------+
                                               +---------->|computer 1|
                                               | +----------+
    +------------------+ +---------------+
    |4 port home router+------>|simple splitter|
    +------------------+ +---------------+
                                               | +----------+
                                               +---------->|computer 2|
                                                           +----------+

Quello che Internet ha detto che dovrei fare

+----------+
                                               +---------->|computer 1|
                                               | +----------+
    +------------------+ +---------------+
    |4 port home router+------>| switch |
    +------------------+ +---------------+
                                               | +----------+
                                               +---------->|computer 2|
                                                           +----------+

È a causa della degradazione del segnale (corrente elettrica ridotta)?


Grazie per tutte le risposte! La ragione per cui non ho usato solo le due porte del mio router di casa è…

Il router gigabit a 4 porte è nella mia stanza, e avevo messo un computer in un'altra stanza (sempre la mia, però). Dato che una rete cablata è molto più affidabile e sicura, ho comprato un lungo cavo Ethernet e ho collegato il computer al router. Ora stavo pensando di aggiungere un altro computer in quella stanza. Potrei comprare un altro lungo cavo Ethernet, ma poi ci saranno due cavi tra le stanze. L'unica linea è già una piccola seccatura, così ho pensato che se potessi condividere l'unica linea tra i due computer in quella stanza. Uno switch funzionerebbe, ma richiede energia ed è un po’ costoso. Ecco perché mi sono chiesto come mai non funzionasse dividere semplicemente il cavo fisico Ethernet.

A quanto pare non capisco completamente come funzionano Ethernet e uno switch. Ho solo un po’ di conoscenza che ho sentito nel mio corso universitario.

Risposte (7)

69
69
69
2014-06-06 18:29:41 +0000

In 10BASE-T e 100BASE-TX, una coppia di fili è usata per trasmettere e una per ricevere. Cioè, una coppia è quella su cui l'host Ethernet trasmette e l'hub o lo switch riceve, e l'altra coppia è quella su cui l'hub/switch trasmette e l'host Ethernet riceve.

Se dividi il cavo con un semplice splitter passivo, stai collegando quei due host Ethernet da trasmettitore a trasmettitore e da ricevitore a ricevitore. È come tenere la cornetta del telefono a testa in giù e cercare di parlare nell'altoparlante e ascoltare il microfono: semplicemente non funziona. Quindi anche se entrambi fossero in modalità half-duplex (come se fossero collegati a un hub, non a uno switch), nessuno dei due host Ethernet sarebbe in grado di sentire quando l'altro sta trasmettendo, perché nessuno dei due ricevitori è collegato al trasmettitore dell'altro. Quindi avrebbero collisioni non rilevabili. Per non parlare del fatto che sarebbero entrambi collegati alla stessa porta dell'hub, probabilmente confondendo la capacità di autonegoziazione dell'hub, perché gli hub non si aspettano di autonegoziare con due host separati sulla stessa porta.

In molti modi, le cose sono anche peggio nel tuo caso di collegarli entrambi a uno switch, perché entrambi potrebbero finire per pensare di poter fare full-duplex, il che significa ancora più collisioni non rilevabili, su quello che dovrebbe essere un collegamento senza collisioni (i collegamenti full duplex cablati correttamente non possono avere collisioni).

Con 1000BASE-T (Gigabit Ethernet su cavi di rame UTP Cat5 o migliori), la situazione è ancora peggiore, perché tutte e 4 le coppie di fili sono usate sia per trasmettere che per ricevere (simultaneamente, full-duplex), e i ricetrasmettitori sono abbastanza sofisticati da permetterlo. Ma se improvvisamente hai una terza parte sulla linea che trasmette e riceve allo stesso tempo, il modo in cui funziona lo schema di segnalazione bidirezionale simultanea viene completamente spazzato via. Con tre dispositivi che trasmettono tutti allo stesso tempo, anche quando sottrai la tua trasmissione, non puoi differenziare le trasmissioni degli altri due dispositivi nel segnale che stai ricevendo.

Alcune prime versioni di Ethernet, come il 10BASE-2 a.k.a. “thinnet” a.k.a “cheapernet”, presentavano una topologia a bus dove tutti gli host sulla LAN condividevano letteralmente lo stesso filo (lo stesso cavo coassiale). Poiché lo stesso filo era usato sia per Tx che Rx e ci poteva essere qualsiasi numero di host sul bus, doveva essere half-duplex. Ma un ricetrasmettitore 10BASE-2 si aspettava che fosse così. E poiché tutti i trasmettitori e ricevitori erano collegati allo stesso filo, tutti potevano sentirsi a vicenda (a differenza del tuo esempio di 10/100/1000BASE-T diviso).

8
8
8
2014-06-06 18:00:22 +0000

La specifica originale di Ethernet prevedeva cavi coassiali che erano intercettati (divisi) per ogni stazione di lavoro (da qui l’“etere” in ethernet). Ma qui stiamo parlando di storia antica. Tecnicamente è ancora possibile con i cavi RJ-45 poiché il protocollo ethernet supporta ancora i meccanismi di rilevamento delle collisioni, ma perché in nome di Dio vorresti impostarlo in quel modo? Soprattutto perché il tuo router ha 4 porte con cui lavorare, in primo luogo.

7
7
7
2014-06-07 17:13:29 +0000

Sono sorpreso di dover essere in disaccordo con Spiff – in un certo senso funziona. Stavamo dando la caccia alla causa degli eccessivi errori di pacchetto in fabbrica. Tra le altre cose trovammo dove qualche elettricista aveva semplicemente impiombato una Y in un cavo di rete 100BASE-T .

I due computer coinvolti a volte avevano errori di rete, ma dato che questo persisteva per molto tempo mentre gli utenti usavano un programma che era in rete e tutti i suoi dati (tranne la roba scritta nella directory temp) erano in rete posso dire con certezza che è possibile.

Gli switch sono i semafori della rete – senza di loro i pacchetti si scontrano male. Normalmente il protocollo di rete compensa i pacchetti persi, però.

5
5
5
2014-06-07 18:36:35 +0000

Se si dovesse dividere un cavo in modo tale che gli ingressi di ricezione di due dispositivi ricevano dati dal trasmettitore del terzo dispositivo, e i trasmettitori dei primi due dispositivi alimentino il ricevitore del terzo dispositivo, allora i dati trasmessi dal terzo dispositivo potrebbero essere ricevuti dai primi due, ed è anche possibile che il terzo dispositivo possa sentire i dati trasmessi da uno dei primi due, ma l'affidabilità in entrambi i casi sarebbe scarsa.

Immaginate un cavo come un giocattolo a molla della marca Slinky che è appeso verticalmente e galleggia in basso. Se si scuote brevemente la parte superiore della molla, un'onda viaggerà lungo la molla fino al fondo, dove sarà riflessa di nuovo verso l'alto. Fissare l'estremità inferiore al pavimento non risolverà il problema. Invertirà la polarità dell'onda riflessa, ma la riflessione sarà ancora lì. L'unico modo per evitare una riflessione nella parte inferiore della molla sarebbe quello di avere abbastanza elasticità per prevenire una riflessione in fase simile, ma non così tanto da causare una riflessione antifase.

I cavi Internet funzionano più o meno allo stesso modo: un dispositivo invia degli impulsi e si aspetta che l'altro dispositivo abbia abbastanza “elasticità” per assorbirli in modo pulito. Ovunque le caratteristiche di un cavo cambino causeranno riflessioni e altri effetti indesiderati, a meno che non vengano prese misure adeguate per prevenirli. Se i pacchetti sono sufficientemente corti, e il codice aspetta abbastanza a lungo prima di inviare un pacchetto che qualsiasi riflessione che si stava propagando attraverso il cavo si è spenta abbastanza, può essere possibile per alcuni dati essere inviati attraverso il cavo. Poiché le comunicazioni Ethernet generalmente non includono tali ritardi, tuttavia, le comunicazioni possono essere inaffidabili. È possibile che un dispositivo trasmetta, ad esempio, i primi dieci pacchetti di dati che vuole inviare, con il risultato che i primi due vengono ricevuti e il resto viene confuso dal primo; il ricevitore potrebbe, dopo aver ricevuto il secondo pacchetto, aspettare a riconoscerlo finché non decide che non ci sono più dati in arrivo immediatamente (convenientemente non facendo questa determinazione fino a quando il rumore si è spento). Dopo aver ricevuto il riconoscimento del secondo pacchetto, il trasmettitore invierebbe dal terzo al dodicesimo pacchetto (di nuovo, con solo due dei dieci che ce la fanno), il ricevitore confermerebbe il quarto, ecc. I dati potrebbero passare, ma lentamente, nel migliore dei casi.

4
4
4
2014-06-08 17:50:24 +0000

Se la tua rete è 100BASE-TX con un cavo Cat 5 puoi dividere il cavo, ma lo fai usando un adattatore per usare tutte e quattro le coppie del tuo lungo cavo Cat 5 esistente (di solito solo due delle quattro coppie sono usate).

Quindi avresti bisogno di due cavi patch molto corti all'estremità del router, due splitter LAN RJ45 /Cat 5, e alcuni cavi patch più lunghi all'estremità dei computer. Nel diagramma qui sotto, la ‘Y’ indica uno splitter e la freccia indica un cavo Cat 5.

.----------. __ _ 
| Router | .---------> [__]|=|
| | .----. | /::/|_|
| |------>| Y | .----.
| | | |------------>| Y |
| |------>| | '----'
| | '----' |
'----------' | __ _ 
                                        | [__]|=|
                                        '--------->/::/|_|

La soluzione di cui sopra non richiederà una fonte di alimentazione extra, ma richiederà l'uso di due porte sul tuo router, ma sarebbe almeno più ordinata di due cavi separati che corrono in parallelo.

Vedi anche la discussione sul 100BASE-TX e il suo cablaggio in Fast Ethernet, sottosezione Copper .

1
1
1
2018-09-20 14:04:45 +0000

Dividere un cavo Ethernet per collegare due client non è così impossibile come alcune risposte qui possono suggerire. Né è inaudito.

1 Problemi

I principali problemi che si presentano cablando la rete in questo modo sono:

  • i client non possono fare uso del rilevamento delle collisioni CSMA/CD e quindi renderli
  • i client non possono parlare tra loro

1.1 I client non possono parlare tra loro problema

Entrambi i client possono parlare con il router senza problemi (quando ignoriamo le collisioni) ma non possono parlare direttamente tra loro perché il filo del trasmettitore di un client è connesso al pin del trasmettitore dell'altro client. Il cablaggio corretto sarebbe trasmettitore-ricevitore e viceversa.

Non mi sono addentrato troppo in questo particolare problema, ma sembra possibile che il router possa attraversare la comunicazione tra i due client, quindi in realtà avete solo bisogno di risolvere il problema della collisione.

D'altra parte il router potrebbe scartare il traffico indirizzato all'endpoint che è fisicamente sulla stessa porta del router come origine. Il router può giustamente aspettarsi un hub a valle.

1.2 Problema di collisione

Questo è solo una conseguenza del problema precedente. I client e il router ascoltano il proprio pin di ricezione prima e durante una trasmissione. Se rilevano la trasmissione di qualcun altro, rimandano o interrompono la propria trasmissione. Questo e come risolvere la collisione descrive CSMA/CD .

Quindi il router può usare il rilevamento delle collisioni, ma i client no. Questo metterà in mummie alcuni o tutto il traffico dei client.

C'è un punto importante da menzionare - il CSMA/CD ascolta sul pin di ricezione e non ascolta e non può ascoltare sul pin di trasmissione. Si potrebbe argomentare che entrambi i client potrebbero prevenire le collisioni rilevando il traffico sul filo di trasmissione dell'altro client, il che sembra ragionevole dato che è così che dividiamo il cavo. Questo sarebbe il Santo Graal per noi in quanto ci permetterebbe di dividere il cavo come vogliamo, senza collisioni. Tuttavia questo non è il caso perché:

  • la tua stessa trasmissione innescherebbe un rilevamento di collisione falso positivo
  • devi rilevare le collisioni anche quando trasmetti attualmente

2 Soluzioni

Discutiamo alcune opzioni.

2.1 Soluzione senza sforzo

Solo dividere il filo e vedere cosa succede. Potrebbe funzionare finché non ci sono o ci sono poche collisioni, forse perché:

  • le collisioni non sono così gravi (cioè, sì, la rete è difettosa ma funziona)
  • i client non sono così chiacchieroni (causando piccole collisioni)
  • o ricevono solo (ad esempio, Wireshark wire tap)

Collisione è una parola sporca, ma in realtà non ho idea di quanto siano gravi sulla rete reale.

2.2 Risolvere le collisioni con altri mezzi

  • i due client non sono mai alimentati allo stesso tempo
  • (qualche altra idea mi è venuta in mente, ma niente di pratico o interessante)

Se le collisioni sono troppo gravi e non puoi utilizzare il CSMA/CD integrato sei praticamente fregato.

2.3 Usare splitter Ethernet MYWA-04 , MYWA-08

Questa non è una vera soluzione, piuttosto un workaround. Questi splitter sacrificano la velocità di 1 Gbps in favore di due canali ethernet indipendenti da 100 Mbps in un unico filo. Presenta alcuni problemi discussi altrove, ma lo elenco come opzione.

2.4 Risolvere le collisioni con un hub on-wire

Hub è la soluzione al tuo problema. La sua funzione principale è quella di reinviare il traffico in entrata a tutte le altre porte eccetto l'origine del traffico (che innescherebbe un rilevamento di collisione falso positivo). Questo è tutto e riassume anche il problema con cui abbiamo a che fare.

Si potrebbero usare un paio di diodi per clonare la trasmissione di un client al ricevitore dell'altro client e viceversa. Questo creerebbe un semplice hub passivo non alimentato.

Sarebbe bello modificare MYWA-07 per questo:

2.5 Hub passivo non alimentato a tre porte

Questo è simile all'idea precedente, ma per 3 client. Complimenti a Miroslav Adzic .

L'interno è spiegato in Building a passive ethernet hub with anti-parallel diodes

2.6 PoE hub or switch

Si può anche considerare di usare PoE hub o switch se per qualche ragione si è limitati dall'altra parte del muro (per così dire).


3 Note

0
0
0
2014-06-06 20:48:15 +0000

Tenete a mente che una rete Ethernet ha a che fare con la trasmissione di segnali, che è una questione diversi ordini di grandezza più pignola di quella della trasmissione di energia elettrica.

L'articolo di Wikipedia 10BASE2 _ delinea i pro e i contro dei “vecchi” sistemi Ethernet. Mentre gli host aggiuntivi potrebbero, infatti, essere aggiunti senza un hub, non è mai stato così facile come “impiombare” un altro segmento.