CodingBox Q&A Ask question

Około 15% strat pakietów przez miedziany SFP+ S+RJ10 na CRS518-16XS-2XQ, podczas gdy bezpośrednia ścieżka 100G jest czysta

Asked Active Viewed 150 AI translation from English
8

Puszczamy ruch z serwera testowego do CRS518-16XS-2XQ przez uplink 100G QSFP28, a wychodzi ze switcha przez miedziany SFP+ MikroTik S+RJ10 do zwykłego hosta 1G RJ45. Po stronie odbierającej brakuje sporej części pakietów i nie mogę tego przypiąć do niczego oczywistego.

Konfiguracja:

  • MikroTik CRS518-16XS-2XQ, uplink 100G QSFP28 od źródła ruchu
  • miedziany SFP+ MikroTik S+RJ10 w jednej z klatek, urządzenie 1G RJ45 na drugim końcu
  • przechwytywanie ruchu działające na hoście odbierającym

Co mówi przechwytywanie:

100G QSFP28 uplink -> CRS518-16XS-2XQ -> S+RJ10 -> 1G RJ45 host
capture on the 1G host: ~15% of the packets never arrive
same source, direct 100G connection: nothing missing
switch CPU load: 1%

Co już próbowałem:

  • podłączyłem to samo źródło bezpośrednio na 100G, zero strat, więc sam nadawca jest w porządku
  • ściągnąłem CPU switcha w dół, teraz siedzi na 1%, a straty nadal się zdarzają
  • wyjąłem i osadziłem ponownie S+RJ10 i podmieniłem patchcord do urządzenia 1G

Moduł miedziany to w tym momencie mój główny podejrzany, ale link jest czysty, a interfejs w ogóle nie pokazuje błędów. Czy S+RJ10 jest znany z tego, że tak zjada ruch, czy powinienem szukać gdzie indziej wewnątrz switcha?

Comments 5

Accepted answer

Średnia 400-500 Mbps przy nierównomiernie nadającym źródle to cała historia. Twój ruch nie jest rozłożony równomiernie: krótkie zrywy opuszczają źródło szybciej niż 1 Gbps, a wszystko powyżej tej linii musi siedzieć w buforze wyjściowym portu, dopóki strona 1G go nie opróżni. Kiedy bufor się zapełnia, switch upuszcza pakiety. To dokładnie mówi ci ruch licznika rx-overflow, i dlatego bezpośrednie połączenie 100G nic nie pokazuje - tam nie ma żadnego zejścia w prędkości, wobec którego trzeba by buforować.

Transceiver jest niewinny. Cokolwiek w tej klatce, miedziane czy światłowodowe, zachowałoby się tak samo, bo strata dzieje się na zejściu ze 100G na 1G, a nie wewnątrz modułu.

Dwie rzeczy do zrobienia. Prawdziwa naprawa jest po stronie nadawcy: rozłóż go tak, żeby pakiety szły równomiernie, zamiast być zapisywane zrywami. Kiedy źródło przestaje produkować zrywy powyżej prędkości wyjściowej, strata znika.

Na switchu możesz sprawić, żeby sytuacja z buforem była mniej wroga:

/interface ethernet switch set 0 qos-hw-offloading=yes
/interface ethernet switch qos settings set shared-buffers=90%

To kupuje trochę zapasu i pozwala zrywowi dłużej się przejechać, ale nie usuwa przyczyny - jeśli nadawca zrywa wystarczająco mocno i wystarczająco długo, żaden rozmiar bufora cię nie uratuje. Po zmianie dalej obserwuj statystyki QoS switcha i liczniki rx-overflow, żeby widzieć, czy nadal uderzasz w sufit, czy tylko go czasem dotykasz.

Warto zapamiętać ogólną lekcję: port z czystym linkiem, bez błędów i ze zdrowym modułem nadal może zgubić dwucyfrowy procent ruchu wyłącznie z powodu zejścia w prędkości między portami.

4 Türkiyelinknerd83TR Show original (English) AI translation

Zanim obwinisz moduł, zobacz, co naprawdę mówią liczniki portu. Uruchom

/interface ethernet print stats

na porcie wejściowym 100G i na klatce z S+RJ10, i celuj konkretnie w linię rx-overflow, a nie w zwykłe liczniki błędów rx/tx. Miedziany SFP+, który jest naprawdę zepsuty, ogłasza się błędami FCS albo migającym linkiem, a nie schludnym ścięciem 15% z poza tym zdrowego strumienia.

Drugie pytanie: jaka jest średnia prędkość na tej ścieżce i czy masz jakieś pojęcie o szczytach? Gubienie jednego pakietu na siedem przy CPU na 1% pachnie o wiele bardziej portem wyjściowym, któremu kończy się bufor, niż awarią transceivera.

0 Franceedgenode83FR Show original (English) AI translation

Najpierw liczniki: żadnych błędów na żadnym z portów, link cały czas stoi, moduł nie zgłasza niczego niezwykłego. rx-overflow to jedyne miejsce, gdzie liczby w ogóle się ruszają.

Jeśli chodzi o prędkość, ścieżka daje średnio 400-500 Mbps, więc na papierze to w ogóle nie zbliża się do nasycenia strony 1G. Nie mam pomiaru szczytów, ale ruch z natury jest zrywami - nadawca zapisuje porcję i potem na chwilę cichnie. CPU nadal jest na 1%, a pakiety znikają.

0 Netherlandsopticguru22NL Show original (English) AI translation

Inna awaria, ta sama lekcja o ufaniu licznikom bardziej niż intuicji. Miałem CRS354-48G-4S+2Q+RM na SwOS 2.18 ze stale rosnącymi Rx FCS Errors na obu portach QSFP+ i Rx MAC Errors w wolniejszym tempie. Oba porty stały na 40G pełny dupleks z MTU 1500, a po drugiej stronie były hosty ESXi z kartami Mellanox ConnectX-3 Pro CX324A.

Ciekawa część: strona karty sieciowej nie zgłaszała zupełnie niczego.

esxcli network nic stats get -n vmnic4

Czysto. Kable, o których wiadomo, że są dobre, niczego nie zmieniły, a porty 10G SFP+ tego samego urządzenia przez cały czas zostawały bez błędów. Nigdy nie dostałem prawdziwej diagnozy - przeniesienie switcha z SwOS na RouterOS sprawiło, że liczniki zniknęły, co liczę bardziej jako ukrycie problemu niż jego rozwiązanie.

Metoda, która się sprawdziła: wyczyść liczniki, odczytaj je ponownie po ustalonym czasie i zobacz, czy błędy podążają za wolumenem ruchu. W twoim przypadku będą podążać za zrywami, w moim nie podążały za niczym użytecznym, i już sama ta różnica mówi, po której stronie dalej kopać.

1 United Statesphotonrunner70US Show original (English) AI translation

Jedna rzecz do zapamiętania, gdy eksperymentujesz na tym porcie: nie sięgaj po wymuszoną prędkość i dupleks jako wyjście z sytuacji. Udokumentowane zachowanie miedzianych modułów MikroTika, zarówno S-RJ01, jak i S+RJ10, jest takie, że działają tylko z włączoną auto-negocjacją - przypnij prędkość na sztywno i link w ogóle nie wstanie. Praktyka częściowo temu przeczy, bo kilku właścicieli RB5009 i RB4011 zgłasza coś przeciwnego i ustabilizowało S-RJ01 dopiero po wymuszeniu 1G pełny dupleks, więc to bardziej sprawa "sprawdź oba warianty na swoim sprzęcie" niż reguła. Tak czy inaczej to objazd od twojego prawdziwego problemu, który leży po stronie bufora.

Jeszcze jeden szczegół o S+RJ10 warty zapamiętania na potem: pobiera zauważalnie więcej mocy niż zwykła optyka i mocno się grzeje, więc nie jest polecany w urządzeniu z chłodzeniem pasywnym bez dodatkowego przepływu powietrza. Jeśli ten moduł kiedyś zacznie się źle zachowywać w ciepłym chassis, temperatura to pierwsza rzecz, którą bym sprawdził.

2 Kazakhstanlanbyte59KZ Show original (English) AI translation
Log in to comment. Log in