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

Dlaczego zwykłe rozdzielenie kabla ethernetowego nie działa?

Myślałem, że Ethernet jest logicznie jednoprzewodową magistralą komunikacyjną (dla dobra argumentu, wyłączam huby). Wszystkie maszyny podłączone do magistrali słyszą te same sygnały, a same maszyny starają się unikać kolizji poprzez losowe wycofywanie się. http://computer.howstuffworks.com/ethernet6.htm

Jeśli tak, to dlaczego rozdzielenie jednej linii Ethernet z mojego domowego routera na dwie i podłączenie dwóch komputerów nie działa? Dlaczego muszę dodać do tego przełącznik?

To, co Internet powiedział, że nie zadziała.

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

To, co Internet powiedział, że powinienem zrobić

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

Czy jest to spowodowane degradacją sygnału (zmniejszony prąd elektryczny)?


Dziękuję za wszystkie odpowiedzi! Powodem, dla którego nie użyłem tylko dwóch portów mojego domowego routera jest…

4-portowy gigabitowy router znajduje się w moim pokoju, a ja umieściłem komputer w innym pokoju (również w moim). Ponieważ sieć przewodowa jest o wiele bardziej niezawodna i bezpieczna, kupiłem długi kabel ethernetowy i podłączyłem komputer do routera. Teraz myślałem o dodaniu kolejnego komputera do tego pokoju. Mógłbym kupić kolejny długi kabel Ethernet, ale wtedy będą dwa kable między pokojami. Jedna linia już jest drobną udręką, więc pomyślałem, czy mógłbym podzielić się jedną linią między dwoma komputerami w tym pokoju. Przełącznik by zadziałał, ale wymaga zasilania i jest trochę drogi. Dlatego zastanawiałem się, dlaczego nie można by po prostu rozdzielić fizycznego kabla Ethernet.

Najwyraźniej nie do końca rozumiem jak działa Ethernet i przełącznik. Mam tylko trochę wiedzy, którą usłyszałem na zajęciach na studiach.

Odpowiedzi (7)

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

W 10BASE-T i 100BASE-TX, jedna para przewodów jest używana do nadawania, a druga do odbierania. Oznacza to, że jedna para jest parą, na której host Ethernet nadaje, a hub lub switch odbiera, a druga para jest parą, na której hub/switch nadaje, a host Ethernet odbiera.

Jeśli rozdzielisz kabel za pomocą prostego pasywnego rozgałęźnika, połączysz te dwa hosty Ethernetowe nadajnik do nadajnika i odbiornik do odbiornika. To tak jakbyś trzymał słuchawkę telefonu do góry nogami i próbował mówić do głośnika i słuchać mikrofonu - to po prostu nie działa. Więc nawet jeśli oba były w trybie half-duplex (jak były podłączone do koncentratora, a nie przełącznika), żaden z hostów Ethernet byłby w stanie wyczuć, kiedy drugi nadawał, ponieważ żaden odbiornik nie był podłączony do nadajnika drugiego. Więc mieliby niewykrywalne kolizje. Nie wspominając o tym, że obaj byliby podłączeni do tego samego portu koncentratora, prawdopodobnie myląc zdolność autonegocjacji koncentratora, ponieważ koncentratory nie oczekują autonegocjacji z dwoma oddzielnymi hostami na tym samym porcie.

Pod wieloma względami, sprawy mają się jeszcze gorzej w przypadku podłączenia ich obu do switcha, ponieważ oba mogą myśleć, że mogą pracować w trybie full-duplex, co oznacza jeszcze więcej niewykrywalnych kolizji na łączu, które powinno być wolne od kolizji (prawidłowo okablowane łącza full-duplex nie mogą mieć kolizji).

W przypadku 1000BASE-T (Gigabit Ethernet przez miedziane okablowanie UTP Cat5 lub lepsze), sytuacja jest jeszcze gorsza, ponieważ wszystkie 4 pary przewodów są używane zarówno do nadawania jak i odbierania (jednoczesny, pełny dupleks), a transceivery są wystarczająco zaawansowane, aby to umożliwić. Ale jeśli nagle masz trzecią stronę na linii nadającej i odbierającej w tym samym czasie, to całkowicie rozwala sposób działania dwukierunkowego schematu sygnalizacji jednoczesnej. Przy trzech urządzeniach nadających w tym samym czasie, nawet po odjęciu własnej transmisji, nie można odróżnić transmisji pozostałych dwóch urządzeń w odbieranym sygnale.

Niektóre wczesne odmiany Ethernetu, takie jak 10BASE-2 a.k.a. “thinnet” a.k.a “cheapnet”, posiadały topologię magistrali, gdzie wszystkie hosty w sieci LAN dosłownie dzieliły ten sam przewód (ten sam kabel koncentryczny). Ponieważ ten sam przewód był używany zarówno do wysyłania, jak i odbierania danych, a na magistrali mogła znajdować się dowolna liczba hostów, musiała ona pracować w trybie półdupleksowym. Ale transceiver 10BASE-2 oczekiwał, że tak będzie. A ponieważ wszystkie nadajniki i odbiorniki były podłączone do tego samego przewodu, każdy mógł słyszeć siebie nawzajem (w przeciwieństwie do twojego podzielonego przykładu 10/100/1000BASE-T).

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

Oryginalna specyfikacja Ethernet wymagała kabli koncentrycznych, które były podłączone (rozdzielone) do każdej stacji roboczej (stąd “eter” w ethernet). Ale mówimy tu o starożytnej historii. Technicznie jest to nadal możliwe z kablami RJ-45, ponieważ protokół ethernet nadal obsługuje mechanizmy wykrywania kolizji, ale dlaczego, na Boga, chciałbyś to ustawić w ten sposób? Zwłaszcza, że twój router ma 4 porty do pracy w pierwszej kolejności.

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

Jestem zaskoczony, że muszę się nie zgodzić ze Spiffem - w pewnym sensie to działa. Polowaliśmy na przyczynę nadmiernych błędów pakietów w fabryce. Między innymi znaleźliśmy miejsce, gdzie jakiś elektryk po prostu wplótł Y w kabel sieciowy 100BASE-T .

Dwa komputery, których to dotyczyło, czasami miały błędy sieciowe, ale ponieważ utrzymywało się to przez długi czas, podczas gdy użytkownicy używali programu, który był w sieci i wszystkie jego dane (z wyjątkiem rzeczy zapisanych do katalogu temp) były w sieci, mogę ostatecznie stwierdzić, że jest to możliwe.

Przełączniki są sygnalizacją świetlną sieci - bez nich pakiety źle na siebie wpadają. Zazwyczaj protokół sieciowy nadrabia stracone pakiety.

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

Gdyby podzielić kabel w taki sposób, że wejścia odbiorcze dwóch urządzeń otrzymywałyby dane z nadajnika trzeciego urządzenia, a nadajniki dwóch pierwszych urządzeń zasilałyby odbiornik trzeciego urządzenia, to dane transmitowane przez trzecie urządzenie mogłyby być odbierane przez dwa pierwsze, a nawet możliwe jest, że trzecie urządzenie usłyszałoby dane transmitowane przez jedno z dwóch pierwszych, ale niezawodność w obu przypadkach byłaby niska.

Wyobraźmy sobie kabel jako sprężynującą zabawkę marki Slinky, która jest zawieszona pionowo i unosi się na dole. Jeśli na chwilę poruszymy górną częścią sprężyny, to fala popłynie w dół sprężyny do samego dołu, gdzie zostanie odbita z powrotem do góry. Przymocowanie dolnego końca do podłogi nie rozwiąże problemu. Odwróci polaryzację odbitej fali, ale odbicie nadal tam będzie. Jedynym sposobem na uniknięcie odbicia w dolnej części sprężyny byłoby posiadanie wystarczającego daszku, aby zapobiec odbiciu w podobnej fazie, ale nie tak dużego, aby spowodować odbicie w przeciwfazie.

Kable internetowe działają w podobny sposób - urządzenie wysyła impulsy i oczekuje, że drugie urządzenie będzie miało wystarczająco dużo “dynamiki”, aby je czysto zaabsorbować. Każde miejsce, w którym zmieni się charakterystyka kabla, będzie powodować odbicia i inne tego typu niepożądane efekty, chyba że zostaną podjęte odpowiednie środki, aby im zapobiec. Jeśli pakiety są wystarczająco krótkie, a kod czeka wystarczająco długo przed wysłaniem pakietu, niż jakiekolwiek odbicia, które były propagowane przez kabel zgasły wystarczająco, może być możliwe, aby niektóre dane zostały wysłane przez kabel. Ponieważ komunikacja ethernetowa zazwyczaj nie zawiera takich opóźnień, jednak komunikacja jest często zawodna. Jest to możliwe, że urządzenie może transmitować np. pierwsze dziesięć pakietów danych, które chce wysłać, w wyniku czego pierwsze dwa są odbierane, a reszta jest zniekształcona przez pierwszy; odbiornik może, po otrzymaniu drugiego pakietu, wstrzymać się z potwierdzeniem, aż zdecyduje, że nie ma więcej danych nadchodzi natychmiast (wygodnie nie dokonując tego ustalenia, aż po hałas umarł). Po otrzymaniu potwierdzenia drugiego pakietu, nadajnik wysyłałby pakiety od trzeciego do dwunastego (ponownie, tylko dwa z dziesięciu pakietów), odbiornik potwierdzałby czwarty, itd. Dane mogą się przedostać, ale w najlepszym wypadku powoli.

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

Jeżeli twoja sieć jest 100BASE-TX z kablem Cat 5 możesz rozdzielić kabel, ale zrobisz to używając adaptera, aby wykorzystać wszystkie cztery pary w istniejącym długim kablu Cat 5 (zazwyczaj tylko dwie z czterech par są używane).

Potrzebne są więc dwa bardzo krótkie kable patch na końcu routera, dwa rozgałęźniki RJ45 /Cat 5 LAN i kilka dłuższych kabli patch na końcu komputerów. Na poniższym schemacie “Y” oznacza rozgałęźnik, a strzałka oznacza jeden kabel Cat 5.

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

Powyższe rozwiązanie nie będzie wymagało dodatkowego źródła zasilania, ale będzie wymagało użycia dwóch portów w routerze, ale przynajmniej będzie bardziej uporządkowane niż dwa osobne kable biegnące równolegle.

Zobacz również dyskusję na temat 100BASE-TX i jego okablowania w Fast Ethernet, podrozdział Copper .

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

Rozdzielenie kabla Ethernet w celu podłączenia dwóch klientów nie jest tak niemożliwe, jak niektóre odpowiedzi tutaj mogą sugerować. Nie jest to również niespotykane.

1 Problemy

Głównymi problemami, które pojawią się po podłączeniu sieci w ten sposób są:

  • klienci nie mogą korzystać z wykrywania kolizji CSMA/CD i w ten sposób
  • klienci nie mogą ze sobą rozmawiać

1.1 Problem klientów nie mogących ze sobą rozmawiać

Obydwaj klienci mogą rozmawiać z routerem w porządku (gdy ignorujemy kolizje), ale nie mogą bezpośrednio rozmawiać ze sobą, ponieważ przewód nadajnika jednego klienta jest podłączony do pinu nadajnika drugiego klienta. Prawidłowe okablowanie to nadajnik-odbiornik i na odwrót.

Nie zagłębiałem się zbytnio w ten konkretny problem, ale wydaje się możliwe, że router będzie śledził komunikację między dwoma klientami, więc tak naprawdę musisz tylko rozwiązać problem kolizji.

Z drugiej strony router może odrzucić ruch zaadresowany do punktu końcowego, który fizycznie znajduje się na tym samym porcie routera co origin. Router może słusznie oczekiwać hubu downstream.

1.2 Problem kolizji

Jest to tak naprawdę tylko konsekwencja poprzedniego problemu. Zarówno klient jak i router nasłuchują na swoim pinie odbiorczym przed i podczas transmisji. Jeśli wykryją czyjąś transmisję, odkładają lub przerywają własną. To i sposób rozwiązywania kolizji opisuje CSMA/CD .

Więc router może używać detekcji kolizji, ale klienci nie mogą. To spowoduje zakłócenia w ruchu niektórych lub wszystkich klientów.

Jest jeden ważny punkt, o którym należy wspomnieć - CSMA/CD nasłuchuje na pinie odbiorczym, a nie nasłuchuje na pinie nadawczym. Można by argumentować, że oba klienty mogłyby zapobiegać kolizjom poprzez wykrywanie ruchu na żyle nadawczej drugiego klienta, co wydaje się sensowne, gdyż w ten sposób dzielimy kabel. Byłby to dla nas święty Graal, ponieważ pozwoliłby nam dzielić kabel jak tylko chcemy, bez żadnych kolizji. Tak się jednak nie dzieje, ponieważ:

  • własna transmisja wywoływałaby fałszywie pozytywną detekcję kolizji
  • trzeba wykrywać kolizje nawet wtedy, gdy aktualnie nadajemy

2 Rozwiązania

Omówmy kilka opcji.

2.1 Rozwiązanie bez wysiłku

Po prostu podzielenie przewodu i zobaczenie, co się stanie. To może zadziałać tak długo, jak nie ma kolizji lub są one niewielkie, być może dlatego, że:

  • kolizje nie są tak złe (tzn. tak sieć jest flaky, ale działa)
  • klienci nie są tak czatujący (powodując małe kolizje)
  • lub tylko odbierają (np. Wireshark wire tap)

Kolizje to brudne słowo, ale tak naprawdę nie mam pojęcia jak bardzo są one złe w prawdziwej sieci.

2.2 Rozwiązywanie kolizji za pomocą innych środków

  • dwa klienty nigdy nie są zasilane w tym samym czasie
  • (jeszcze kilka pomysłów przyszło mi do głowy, ale nic praktycznego ani interesującego)

Jeśli kolizje są zbyt silne i nie możesz wykorzystać wbudowanego CSMA/CD to masz przechlapane.

2.3 Użycie rozgałęźnika Ethernet MYWA-04 , MYWA-08

To nie jest prawdziwe rozwiązanie, raczej obejście. Rozgałęźniki te rezygnują z prędkości 1 Gbps na rzecz dwóch niezależnych kanałów ethernetowych 100 Mbps w jednym przewodzie. Wiąże się to z pewnymi problemami omówionymi w innym miejscu, ale wymieniam to jako opcję.

2.4 Rozwiązywanie kolizji za pomocą huba on-wire

Hub jest rozwiązaniem Twojego problemu. Jego główną funkcją jest ponowne wysyłanie przychodzącego ruchu do wszystkich innych portów z wyjątkiem portu źródłowego (co spowodowałoby fałszywe pozytywne wykrywanie kolizji). To wszystko i to również podsumowuje problem, z którym mamy do czynienia.

Można by użyć kilku diod, aby sklonować transmisję jednego klienta do odbiornika drugiego i na odwrót. W ten sposób powstałby prosty pasywny hub bez zasilania.

Fajnie by było zmodyfikować do tego celu MYWA-07 :

2.5 Trójportowy niezasilany pasywny hub

Jest to podobne do poprzedniego pomysłu, ale dla 3 klientów. Kudos to Miroslav Adzic .

Wnętrze jest wyjaśnione w Budowa pasywnego huba ethernetowego z antyrównoległymi diodami

2.6 Hub lub switch PoE

Można również rozważyć użycie PoE huba lub switcha, jeśli z jakiegoś powodu jesteś ograniczony po drugiej stronie ściany (że tak powiem).


3 Uwagi

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

Należy pamiętać, że sieć Ethernet zajmuje się transmisją sygnałów, co jest sprawą o kilka rzędów wielkości bardziej skomplikowaną niż transmisja energii elektrycznej.

Artykuł w Wikipedii 10BASE2 _ przedstawia wady i zalety “starych” systemów Ethernet. Podczas gdy dodatkowe hosty mogą być dodawane bez huba, nigdy nie było to tak proste jak “wplecenie” kolejnego segmentu.