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

Waarom werkt het splitsen van een Ethernet kabel niet?

Ik dacht dat Ethernet logischerwijs een eenlijnscommunicatiebus is (omwille van het argument, ik sluit hubs uit). Alle machines die op de bus zijn aangesloten horen dezelfde signalen en de machines zelf proberen botsingen te vermijden door willekeurig afstand te nemen. http://computer.howstuffworks.com/ethernet6.htm

Als dat zo is, waarom zou het splitsen van één Ethernet lijn van mijn thuisrouter in twee en het aansluiten van twee computers dan niet werken? Waarom moet ik er een switch aan toevoegen?

Wat het Internet zei dat niet zou werken

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

Wat het Internet zei dat ik zou moeten doen

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

Is dit vanwege de signaaldegradatie (verminderde elektrische stroom)?

  • *

Bedankt voor alle antwoorden! De reden waarom ik niet gewoon de twee poorten van mijn thuisrouter heb gebruikt is…

De 4-poorts gigabit router staat in mijn kamer, en ik had een computer in een andere kamer gezet (ook mijn kamer, dat wel). Omdat een bekabeld netwerk veel betrouwbaarder en veiliger is, had ik een lange ethernetkabel gekocht en de computer met de router verbonden. Nu dacht ik erover om nog een computer in die kamer te zetten. Ik zou nog een lange ethernetkabel kunnen kopen, maar dan komen er twee kabels tussen de kamers. De ene lijn is al een kleine ergernis, dus ik dacht als ik de ene lijn kan delen tussen de twee computers in die kamer. Een switch zou werken, maar die heeft stroom nodig en is een beetje prijzig. Daarom vroeg ik me af waarom het niet zou werken om gewoon de fysieke Ethernet kabel te splitsen.

Blijkbaar begrijp ik niet helemaal hoe Ethernet en een switch werken. Ik heb alleen wat kennis die ik in mijn college heb gehoord.

Antwoorden (7)

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

Bij 10BASE-T en 100BASE-TX wordt één paar draden gebruikt voor zenden en één paar voor ontvangen. Dat wil zeggen, één paar is het paar waarop de Ethernet host zendt en de hub of switch ontvangt, en het andere paar is het paar waarop de hub/switch zendt en de Ethernet host ontvangt.

Als u de kabel splitst met een eenvoudige passieve splitter, verbindt u die twee Ethernet hosts zender-naar-zender en ontvanger-naar-ontvanger. Dat is net zoiets als de telefoon op zijn kop houden en proberen te spreken in de luidspreker en te luisteren naar de microfoon-het werkt gewoon niet. Dus zelfs als beide in half-duplex modus waren (alsof ze op een hub waren aangesloten, niet op een switch), zou geen van de Ethernet hosts kunnen waarnemen wanneer de ander aan het zenden was, omdat geen van de ontvangers van de een was aangesloten op de zender van de ander. Dus zouden ze ondetecteerbare botsingen hebben. En dan hebben we het nog niet eens over het feit dat ze allebei op dezelfde poort van de hub zouden zijn aangesloten, waardoor de autonegotiation van de hub waarschijnlijk in de war zou raken, omdat hubs niet verwachten dat ze autonegotiation kunnen uitvoeren met twee afzonderlijke hosts op dezelfde poort.

In veel opzichten zijn de dingen nog erger in jouw geval van het aansluiten van beide op een switch, omdat ze uiteindelijk allebei kunnen denken dat ze full-duplex kunnen doen, wat nog meer ondetecteerbare botsingen betekent, op wat verondersteld wordt een botsingsvrije link te zijn (goedbedrade full-duplex links kunnen onmogelijk botsingen hebben).

Met 1000BASE-T (Gigabit Ethernet over Cat5 of betere UTP-koperbekabeling) is de situatie nog erger, omdat alle vier de aderparen worden gebruikt voor zowel zenden als ontvangen (gelijktijdig, full-duplex), en de transceivers zijn geavanceerd genoeg om dat mogelijk te maken. Maar als je plotseling een derde partij op de lijn hebt die tegelijkertijd zendt en ontvangt, wordt de manier waarop het simultane bidirectionele signaleringssysteem werkt volledig onderuitgehaald. Met drie apparaten die allemaal tegelijk zenden, kun je, zelfs als je je eigen transmissie weglaat, de transmissies van de andere twee apparaten niet onderscheiden in het signaal dat je ontvangt.

Sommige vroege varianten van Ethernet, zoals 10BASE-2 a.k.a. “thinnet” a.k.a. “cheapernet”, hadden een bustopologie waarbij alle hosts op het LAN letterlijk dezelfde draad deelden (dezelfde coaxiale kabel). Omdat dezelfde draad werd gebruikt voor zowel Tx als Rx en er een willekeurig aantal hosts op de bus kon zijn, moest het half-duplex zijn. Maar een 10BASE-2 transceiver verwachtte dat het zo zou zijn. En omdat alle zenders en ontvangers op dezelfde draad waren aangesloten, kon iedereen elkaar horen (in tegenstelling tot jouw gesplitste 10/100/1000BASE-T voorbeeld).

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

De oorspronkelijke Ethernet-specificaties vroegen om coaxiale kabels die naar elk werkstation werden gesplitst (vandaar de “ether” in ethernet). Maar we praten hier over oude geschiedenis. Technisch gezien is het nog steeds mogelijk met RJ-45 kabels omdat het Ethernet protocol nog steeds de botsingsdetectie mechanismen ondersteunt, maar waarom zou je het in godsnaam op die manier willen opzetten? Vooral omdat je router toch al 4 poorten heeft om mee te werken.

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

Het verbaast me dat ik het niet met Spiff eens ben – in zekere zin werkt het wel. We waren op jacht naar de oorzaak van buitensporige pakketfouten in de fabriek. We vonden onder andere een elektricien die een Y in een 100BASE-T netwerkkabel had gesplitst.

De twee betrokken computers hadden soms netwerkfouten, maar aangezien dit lang aanhield terwijl de gebruikers een programma gebruikten dat op het netwerk zat en al zijn gegevens (behalve dingen die naar de temp directory werden geschreven) op het netwerk zaten, kan ik met zekerheid zeggen dat het mogelijk is.

De switches zijn de verkeerslichten van het netwerk – zonder hen lopen pakketten slecht tegen elkaar aan. Normaal gesproken compenseert het netwerk protocol de verloren pakketten, dat wel.

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

Als men een kabel zo zou splitsen dat de ontvangstingangen van twee apparaten gegevens ontvangen van de zender van het derde apparaat, en de zenders van de eerste twee apparaten de ontvanger van het derde apparaat voeden, dan zouden de door het derde apparaat verzonden gegevens door de eerste twee apparaten kunnen worden ontvangen, en het is zelfs mogelijk dat het derde apparaat gegevens hoort die door een van de eerste twee apparaten worden verzonden, maar de betrouwbaarheid zou in beide gevallen gering zijn.

Stel je een kabel voor als een Slinky-speeltje dat verticaal hangt en onderaan zweeft. Als je even aan de bovenkant van de veer stoot, gaat er een golf door de veer naar beneden, waar hij weer naar boven wordt weerkaatst. De onderkant aan de vloer vastmaken lost het probleem niet op. Het zal de polariteit van de gereflecteerde golf omkeren, maar de reflectie zal er nog steeds zijn. De enige manier om reflectie aan de onderzijde van de veer te voorkomen is voldoende veerkracht te hebben om een gelijk-fase reflectie te voorkomen, maar niet zoveel veerkracht om een antifase reflectie te veroorzaken.

Internetkabels werken ongeveer op dezelfde manier - een apparaat zendt pulsen uit en verwacht dat het andere apparaat net genoeg “veerkracht” heeft om ze netjes op te vangen. Overal waar de karakteristieken van een kabel veranderen, zullen reflecties en andere dergelijke ongewenste effecten optreden, tenzij de juiste maatregelen worden genomen om ze te voorkomen. Indien pakketten voldoende kort zijn, en de code lang genoeg wacht alvorens een pakket te verzenden dan eventuele reflecties die zich door de kabel voortplantten voldoende zijn gedoofd, kan het mogelijk zijn dat enige gegevens door de kabel worden verzonden. Aangezien Ethernet-communicatie over het algemeen echter geen rekening houdt met dergelijke vertragingen, zal de communicatie waarschijnlijk onbetrouwbaar zijn. Het is mogelijk dat een apparaat bijvoorbeeld de eerste tien datapakketten die het wil verzenden, verstuurt, waarbij de eerste twee pakketten worden ontvangen en de rest door het eerste pakket wordt vervormd; de ontvanger kan, na ontvangst van het tweede pakket, wachten met het bevestigen van het pakket totdat hij besluit dat er niet onmiddellijk meer gegevens komen (en die beslissing gemakshalve pas nemen nadat de ruis is gedoofd). Na ontvangst van de bevestiging van het tweede pakket zou de zender het derde tot en met het twaalfde pakket zenden (ook hier zouden slechts twee van de tien pakketten het halen), de ontvanger zou het vierde pakket bevestigen, enz. De gegevens komen er wel doorheen, maar in het beste geval langzaam.

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

Als uw netwerk 100BASE-TX is met een Cat 5 kabel kunt u de kabel splitsen, maar dat doet u door een adapter te gebruiken om alle vier de paren in uw bestaande lange Cat 5 kabel te gebruiken (meestal worden slechts twee van de vier paren gebruikt).

Je hebt dus twee hele korte patchkabels nodig aan de kant van de router, twee RJ45 /Cat 5 LAN splitters, en een paar langere patchkabels aan de kant van de computers. In het onderstaande schema betekent “Y” een splitter en betekent een pijl één Cat 5 kabel.

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

Bovenstaande oplossing heeft geen extra stroombron nodig, maar vereist wel het gebruik van twee poorten op je router, maar het zou in ieder geval netter zijn dan twee aparte kabels die parallel lopen.

Zie ook de discussie over 100BASE-TX en de bedrading ervan in Fast Ethernet, subsectie Copper .

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

Het splitsen van een Ethernet kabel om twee clients te verbinden is niet zo onmogelijk als sommige antwoorden hier suggereren. Het is ook niet ongehoord.

1 Problemen

De belangrijkste problemen die u zult introduceren door uw netwerk op deze manier te bedraden zijn:

  • de clients kunnen geen gebruik maken van de CSMA/CD botsingsdetectie waardoor ze
  • de clients kunnen niet met elkaar praten

1.1 Clients kunnen niet met elkaar praten probleem

Beide clients kunnen prima met de router praten (als we de botsingen negeren) maar ze kunnen niet rechtstreeks met elkaar praten omdat de zenddraad van de ene client verbonden is met de zendpin van de andere client. De juiste bedrading zou zender-ontvanger zijn en vice versa.

Ik ben niet al te diep in dit specifieke probleem gedoken, maar het lijkt mogelijk dat de router de communicatie tussen de twee clients doorkruist, zodat je eigenlijk alleen het botsingsprobleem hoeft op te lossen.

Aan de andere kant kan de router verkeer weggooien dat geadresseerd is aan een eindpunt dat fysiek op dezelfde routerpoort zit als de origin. De router verwacht misschien terecht een hub downstream.

1.2 Collision issue

Dit is eigenlijk gewoon het gevolg van het vorige probleem. De clients en de router luisteren voor en tijdens een transmissie op hun eigen ontvangerpen. Als zij een transmissie van iemand anders detecteren, stellen zij hun eigen transmissie uit of onderbreken deze. Dit en hoe botsingen op te lossen beschrijft CSMA/CD .

Dus de router kan de botsingsdetectie gebruiken, maar de clients niet. Dit zal het verkeer van sommige of alle clients verstoren.

Er is een belangrijk punt om te vermelden - de CSMA/CD luistert op de ontvanger pin en hij luistert niet en kan niet luisteren op de zend pin. Men zou kunnen aanvoeren dat beide clients botsingen kunnen voorkomen door verkeer op de zenddraad van de andere client te detecteren, wat verstandig lijkt omdat we op die manier de kabel splitsen. Dit zou de heilige graal voor ons zijn omdat we dan de kabel kunnen splitsen zoals we willen, zonder botsingen. Dat is echter niet het geval omdat:

  • je eigen transmissie zou een vals-positieve botsingsdetectie veroorzaken
  • je moet botsingen detecteren, zelfs als je op dat moment zendt

2 Oplossingen

Laten we wat opties bespreken.

2.1 No-effort solution

Gewoon de draad splitsen en kijken wat er gebeurt. Het zou kunnen werken zolang er geen of weinig botsingen zijn, misschien omdat:

  • de collisions niet zo erg zijn (d.w.z. ja het netwerk is flaky maar het werkt)
  • de clients niet zo chatty zijn (waardoor weinig collisions)
  • of ze alleen ontvangen (b.v. Wireshark wire tap)

Collision is een vies woord, maar eigenlijk heb ik geen idee hoe erg ze zijn op een echt wereldnetwerk.

2.2 Collisions oplossen met andere middelen

  • de twee clients worden nooit tegelijk gevoed
  • (er kwamen nog een paar ideeën in me op, maar niets praktisch of interessant)

Als de collisions te erg zijn en je geen gebruik kunt maken van de ingebouwde CSMA/CD ben je de klos.

2.3 Ethernet splitter gebruiken MYWA-04 , MYWA-08

Dit is geen echte oplossing, eerder een workaround. Deze splitters offeren 1 Gbps snelheden op ten gunste van twee 100 Mbps onafhankelijke ethernet kanalen in één draad. Het heeft enkele problemen die elders besproken zijn, maar ik noem het als optie.

2.4 Collisions oplossen door on-wire hub

Hub is de oplossing voor jouw probleem. Zijn belangrijkste functie is om binnenkomend verkeer naar alle andere poorten te sturen, behalve naar de oorsprong van het verkeer (dat zou een vals-positieve botsingsdetectie veroorzaken). Dat is het en het vat ook het probleem samen waar we mee te maken hebben.

Je zou een paar diodes kunnen gebruiken om de transmissie van de ene client te klonen naar de ontvanger van de andere client en vice versa. Dat zou een eenvoudige passieve hub zonder stroomvoorziening zijn.

Het zou cool zijn om MYWA-07 hiervoor aan te passen:

2.5 Three-port unpowered passive hub

Dit is vergelijkbaar met het vorige idee, maar dan voor 3 clients. Met dank aan Miroslav Adzic .

De interne werking wordt uitgelegd in Een passieve ethernet hub bouwen met anti-parallelle diodes

2.6 PoE hub of switch

Je kunt ook overwegen om een PoE hub of switch te gebruiken als je om wat voor reden dan ook aan de andere kant van de muur beperkt bent (bij wijze van spreken).

  • *

3 Notities

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

Bedenk dat een Ethernet-netwerk zich bezighoudt met de transmissie van signalen, een zaak die enkele orden van grootte pietluttiger is dan de transmissie van elektrische stroom.

Het Wikipedia artikel 10BASE2 _ schetst de voor- en nadelen van de “oude” Ethernet systemen. Hoewel extra hosts in feite zonder hub konden worden toegevoegd, was het nooit zo eenvoudig als een ander segment erin te “splicen”.