Switchport w pół dupleksie - Szybkość pobierania cierpiała, ale przesyłanie było w porządku

13

Użytkownik miał problemy z prędkością pobierania z Internetu. Połączenie z Internetem wynosi 100 Mbit / s. Użytkownik uzyskał około 7 Mbit / s poniżej i około 80 Mbit / s powyżej.

Testowałem z mojego komputera i uzyskałem około 70 Mbit / s pobierania i 80 Mbit / s pobierania. Oczywiście winę ponosi PC użytkowników.

Sprawdziłem przełącznik, którym jest Catalyst 3560 i tam był, jak się spodziewałem, port był w półdupleksie. Użytkownik na stałe zakodował swój komputer na 100 / pełny, a port korzystał z trybu automatycznego. Szybkość jest wykrywana przez Fast Link Pulses (FLP), ale należy założyć, że dupleks ma połowę, więc port używa 100 / pół. Dzięki kontrolerowi pokazów widziałem kolizje i kolizje późne zgodnie z oczekiwaniami.

Przepustowość została przetestowana w szwedzkiej witrynie www.bredbandskollen.se. Najpierw używa TCP do przetestowania opóźnienia. Następnie otwiera gniazdo przez Flash i wykonuje kilka HTTP GET (TCP) i mierzy pasmo pobierania przez około 10 sekund. Następnie wykonuje cztery posty HTTP do serwera i wysyła ruch przez 10 sekund i oblicza przepustowość łącza w górę.

Wiem, że tego rodzaju strony nie są w 100% dokładne, ale zazwyczaj mogą one dać jakieś wskazanie, jeśli jesteś bliski uzyskania przepustowości, którą powinieneś, i był to łatwy test, aby upewnić się, że jest to użytkownik, a nie sieć, której dotyczy awaria.

  1. Dlaczego wpłynęło to tylko na niższy szczebel niż na wyższy?

  2. Czy to są prawdziwe kolizje? Ponieważ kabel ma osobne pary transmisji i odbioru.

Daniel Dib
źródło
Czy 70/80 opiera się na jednym teście, czy na średniej z wielu testów? Biorąc pod uwagę zmieniający się rozmiar okna, pojedynczy test byłby zbyt niejasny.
user2964971

Odpowiedzi:

14

Jest to całkowicie normalne zachowanie z niedopasowaniem dupleksu.

Dlaczego wpłynęło to tylko na niższy szczebel niż na wyższy?

Ponieważ komputer działa w trybie pełnego dupleksu, nie używa CSMA-CD. Oznacza to, że nie sprawdza, czy nośnik jest w stanie bezczynności przed transmisją, ani nie odbiera danych, które otrzymuje podczas transmisji, jako kolizji. W związku z tym przesyłanie z komputera pozostanie w dużej mierze niezmienione.

I odwrotnie, przełącznik wykorzystuje CSMA-CD i będzie czekał na bezczynność nośnika przed transmisją. Ponadto, gdy przełącznik wykryje kolizję, natychmiast przestaje transmitować ramkę i postępuje zgodnie z procedurą wykrywania kolizji CSMA-CD. Ma to znaczący wpływ na wydajność ruchu przesyłanego do komputera.

Gdy ruch jest TCP, negatywny efekt zostanie zwielokrotniony, ponieważ wszelkie utracone ACK TCP przechodzące do komputera spowodują retransmisję TCP.

Czy to są prawdziwe kolizje? Ponieważ kabel ma osobne pary transmisji i odbioru.

Tak, to prawdziwe kolizje; nawet w środowisku pełnego półdupleksu (tj. koncentratorach) istnieją osobne pary transmisji i odbioru. Powodem jest to, że w środowisku półdupleksowym huby będą powtarzały sygnał odbierany na jednym porcie na wszystkich innych portach. Gdyby dwie stacje próbowały jednocześnie nadawać, powtarzający się sygnał nie byłby użyteczny.

Ponieważ przełącznik działa w trybie półdupleksowym, działa tak, jak w takim środowisku i może nadawać lub odbierać tylko w danym momencie. Za każdym razem, gdy przełącznik wysyła ramkę i wykrywa inny ruch na nośniku (tj. Na komputerze, który nie sprawdza bezczynności nośnika), jest to traktowane jako kolizja, a przełącznik wykona procedurę wykrywania kolizji (która obejmuje poczekaj lub wycofaj się).

Ponieważ komputer nie działa w ten sposób (tzn. Zaczyna automatycznie przesyłać, gdy są dane do wysłania), kończy się to o wiele większą liczbą kolizji niż w środowisku, które w całości składa się z urządzeń półdupleksowych.

Edycja: Podczas weekendu natknąłem się na te odniesienia, szukając niepowiązanej sprawy, w której nazywano je fałszywymi kolizjami . Nie zgodziłbym się z tym punktem widzenia, ponieważ przełącznik wyraźnie postrzega je jako kolizję i traktuje je jako takie. Uważałbym raczej je za niepotrzebne kolizje , ponieważ nie powinny istnieć w sieci komutowanej.


Nawiasem mówiąc, jest to najczęściej zgłaszany typ niedopasowania dupleksu (gdy przełącznik jest ustawiony na auto, a komputer na pełny dupleks). Większość ludzi pobiera znacznie więcej niż przesyła, zazwyczaj zauważają ten warunek, aby go zgłosić.

YLearn
źródło
2
zajęło mi trochę czasu, aby zobaczyć swój punkt na pytanie o różnicę prędkości, ale to dobra odpowiedź ... możesz go poprawić, aby wyraźnie wskazać, że Tx przełącznika jest bardziej ograniczony niż PC, ponieważ musi poczekaj dłużej z powodu wykrycia kolizji CSMA / CD niż komputer będzie czekał na ramki uruchomieniowe z kolizji. I odwrotnie, jeśli nawet kilka ACK TCP z komputera koliduje podczas pobierania z komputera, pobieranie jest podwójnie karane zarówno przez TCP, jak i CSMA / CD sieci Ethernet. Upuszczone ACK TCP spowalniają oba transfery, ale wycofanie CSMA / CD zabija pobieranie.
Mike Pennington
Zależy to również od tego, który koniec jest pełny, a który do połowy. Pełny wysyła / odbiera bez problemów, podczas gdy drugi widzi kolizję dla każdego pakietu. Oznacza to, że transfer danych z pełnego końca spowoduje mniejszą kolizję na połowie ( ponieważ połowa końca będzie próbowała wycisnąć ACK między dużym pakietem), podczas gdy na odwrót, pełny koniec spowoduje wiele kolizji, ponieważ ma większą szansę na „trafienie” dużego pakietu z mniejszym potwierdzeniem. To może nie być właściwe wyjaśnienie, ale pasuje do tego, co widziałem.
Remi Letourneau
@RemiLetourneau, wyraźnie, jeśli kierunek niedopasowania miałby zostać odwrócony, efekt również zostałby odwrócony. W takim przypadku możesz zamienić warunki komputera / przełącznika w mojej odpowiedzi (która była ramką odpowiedzi na pytanie PO). Nie jestem jednak pewien, czy śledzę resztę twojego komentarza.
YLearn
@YLearn Chciałem powiedzieć, że objawy niedopasowania dupleksu obejmują ruch z relatywnie normalną prędkością w jedną stronę i spowolnienie do indeksowania w drugą stronę. Coś do zrobienia, na którym końcu wysyłamy duże ramki, a na końcu wysyłamy potwierdzenie. Jak mówisz, odwrócenie konfiguracji niedopasowania powoduje odwrócenie spowolnienia ruchu.
Remi Letourneau,
3

Jeśli TCP został przetestowany, jest wiele rzeczy, których nie można kontrolować ani nawet sobie wyobrazić. Różnica w pobieraniu / wysyłaniu może być łatwo spowodowana wewnętrznymi ustawieniami priorytetu NIC, buforami dla RX / TX i zasadniczo niskopoziomowymi ustawieniami, które określają sposób obsługi ruchu RX i TX.

„kontrolery sh” powinny zgłaszać wszelkie jednoczesne warunki RX i TX jako kolizję, jeśli pracują w trybie półdupleksowym.

Łukasz Bromirski
źródło