Niska wydajność wysyłania w symetrycznym łączu FTTP 100/100 Mb / s

1

Wiem, że cierpię jako problem „pierwszego świata” ... Mam go dobrze, ale nie tak dobrze, jak powinien. [Przeprowadzka tutaj za sugestią moderatora w SE Network Engineering.]

tl; dr; - Mam usługę 100/100 FTTP, ale przesyłanie jest boleśnie powolne. Zebrałem dużo danych (patrz poniżej), ale jaki problem to wskazuje? Co jeszcze mogę zrobić, aby ujawnić główną przyczynę?

Mam nadzieję, że ktoś może dać mi inspirację. Przeprowadziłem wiele testów / diagnoz, ale nie jestem inżynierem sieci, więc podzielę się jak najwięcej szczegółów (po pierwsze w nadziei, że możesz mi pomóc, po drugie w nadziei, że pomoże to innym obserwować podobne zagadnienia).

Krótka wersja: Właśnie podłączono mnie do usługi FTTP, która powinna (jak twierdzą) dać mi symetryczność 100/100. speedtest.net (classic / flash), Ookla iOS, Ookla Android i speedtest-cli wszystkie pokazują konsekwentnie 100/100.
Moje doświadczenia z ogólnymi POBIERANIEMI i dostępem do Internetu za pośrednictwem innych protokołów podążają za tymi wynikami.

Problem polega na tym, że UPLOADS są praktycznie bezużyteczne do niczego praktycznego.

Oto lista objawów. [testy przeprowadzone na ethernet bezpośrednio do routera przy użyciu Win7, Win10 i RPi plus Macbook Pro na Wi-Fi 5 GHz - połączenie lokalne NIE jest problemem]

  1. http://beta.speedtest.net (HTML5 / WebSockets) zazwyczaj daje 100/2 (tak dwa !!) Mbps
  2. Tester prędkości Google (HTML5 / WebSockets) pokazuje 100/2 Mbps
    • Oba powyższe będą używać maksymalnie 4 gniazd internetowych - speedtest classic i oba cli tworzą 8 lub więcej połączeń TCP, jeśli wydajność pobierania jest dobra. Znam jeszcze jednego subskrybenta, który uzyskuje podobne wyniki w tych podstawowych testach.
    • oba te testy wykazują krótki wzrost wydajności na początku testu.
  3. Przesyłanie plików 15 Mb do AWS S3 przez CLI - maks. Około 150 kb / s, często zatrzymuje się / kończy się niepowodzeniem (przesyłanie z tych samych urządzeń za pośrednictwem łącza ADSL2 17G / 1 Mb / s lub połączenia 4G) daje niezawodne 3-500 kb / s).

    • Przesyłanie pliku 1-2 Mb za pomocą interfejsu AWS CLI zwykle działa z szybkością około 150 kb / s (tj. PONOWNIE istnieje szybka seria przepustowości w przypadku mniejszych przesyłanych plików)
    • przesyłanie z interfejsu AWS CLI z platformy Azure hostowanej przez M do S3 zapewnia bardzo szybką wydajność (bez ograniczania przepustowości na końcu AWS).
    • Konfigurowanie interfejsu AWS CLI do przesyłania wieloczęściowego nie ma żadnego korzystnego efektu (najmniejszy rozmiar to 5 Mb i wydaje się, że jest zbyt duży, aby można go było wiarygodnie
  4. Przesyłanie do AWS S3 za pośrednictwem konsoli internetowej AWS - nigdy nie działa - przekroczony limit czasu.

  5. Przesyłanie plików na platformę Azure lub AWS VM za pomocą SCP lub SFTP (przy użyciu bash, WinSCP lub filezilla) daje około 125 kb / s. (SCP z AWS na Azure i odwrotnie daje bardzo szybką wydajność - bez dławienia na AWS / Azure w obu kierunkach)
  6. Testy iPerf z serwerem hostowanym lokalnie, LUB z serwerem hostowanym na AWS EC2 VM (klient prem) LUB z serwerem iPerf innej firmy hostowanym na speedtest.serverius.net:5002

    • WSZYSTKIE z nich dają spójne wyniki w następujący sposób
    • Połączenia TCP w dół (pobiera lub przepycha do mojej sieci) - pojedynczy strumień TCP osiągnie prędkość około 60-70 Mb / s, a 2 lub więcej strumieni maksymalnie przekroczy 100 Mb / s: thumbsup:
    • Połączenia upstream TCP (ładuje lub pobiera z mojej sieci) - pojedynczy strumień TCP osiągnie około 3-5 Mb / s. Uruchamianie wielu strumieni jest z grubsza wprost proporcjonalne
    • 10 równoległych strumieni TCP da około 40 Mb / s, a 25-30 strumieni przerwie połączenie.
    • Dostosowanie rozmiarów okien TCP nie robi [dodatniej] różnicy
    • Przepustowość UDP wzrośnie do 100 Mb / s w obu kierunkach.
  7. Uruchamianie przechwytywania wireshark dla przesyłania pokazuje dużą liczbę zduplikowanych ACK z 20-30 duplikatami dla wielu pakietów. Nie jestem uprawniony do ustalania, czy jest to „zdecydowanie złe” czy „potencjalnie normalne”, ale Google wyszukuje wiele odniesień do wielu ACK DUP wskazujących na odrzucone pakiety i możliwe problemy z negocjowaniem interfejsu.

  8. Wiem, że backhaul dostawców to Virgin Media Business. Mój router / ONT pokazuje, że moje połączenie z nimi to pełny dupleks 1000 Gb / s i widzę niezawodne pingowanie poniżej 5 ms do pierwszego skoku w dziewiczej sieci.
    • traceroute pokazuje, że jest tylko jeden przeskok kontrolowany przez dostawcę (przypuszczalnie ich przełącznik światłowodowy), zanim ruch dotrze do hostów Virgin.
  9. Dostawca nie potwierdził, czy może powtórzyć te testy na innym połączeniu lub we własnej sieci. Wiem teraz, że jeden inny subskrybent widzi najbardziej oczywisty problem (prędkość Google), ale nie poprosiłem go o dalsze testowanie.
  10. Podałem im wszystkie te dane, zaoferowałem pomoc, której potrzebują do zdiagnozowania, i byli proaktywni, w tym skontaktowali się z Ookla, aby sprawdzić różnicę między speedtest.net classic i beta [jak na ironię powiedzieli, że byli „tacy sami”, kiedy widzę z rozmowy sieciowe pokazują, że są wyraźnie różne]

  11. Przetestowali moje włókno i zaproponowali zmianę routera. Na podstawie moich wyników wydaje się, że nie jest to problem, ale pozwolę im to zrobić, aby wyeliminować inną możliwą przyczynę.

  12. Bez wątpienia większość klientów indywidualnych dostawcy usług zaufało numerom 100/100, które widzą w Ookli. Będą bardzo zadowoleni z pobierania przeglądarki, przesyłania strumieniowego itp. I prawdopodobnie będą tolerować powolne przesyłanie do GDrive, Gmaila, usług e-mail itp., Ponieważ są lepsze niż podejrzana wiejska opcja ADSL2 z BT / OpenReach.
  13. ONT / Router to Genexsys DRG739v2 z systemem DRGOS 1.13.3 (nie mogę tego zaktualizować, jest pod kontrolą dostawców).

Pracując z domu w roli technologicznej, muszę również często / pewnie i (mam nadzieję) szybko przesyłać / wysyłać dane. To połączenie FTTP jest niewiarygodne w przypadku niektórych usług / protokołów ORAZ wolniejsze niż moje ASDL2 lub 4G dla tych samych usług / protokołów. Czy możesz powiedzieć, że jestem deparate, aby znaleźć rozwiązanie? :-)

Sooooo ... na pytania:

  1. Czy ktoś rozpoznaje te objawy i ma jakieś sugestie dotyczące rozwiązania, które mogę przekazać dostawcy ????

[Rozumiem, że istnieje wiele czynników od HW do konfiguracji interfejsu, kształtowania pakietów, QoS i kto wie co jeszcze, ale wydaje się szalone, że skutkuje to NIEUŻYWANYM połączeniem]

  1. Czy to prawdopodobnie będzie źle wynegocjowany interfejs? ... czy spowodowałoby to połączenie, w którym równoległe strumienie TCP mogłyby osiągnąć pełną przepustowość, czy oznacza to, że ktoś robi coś celowo (kształtowanie / ograniczanie przepustowości) ???

  2. Czy spodziewałbyś się krótkotrwałego wzrostu przepustowości (być może 1-2 Mb transferu) na początku połączenia, jeśli byłby źle negocjowany interfejs? Czy spodziewałbyś się tego, gdyby kształtowało się pakiety?

  3. Czy to raczej Virgin Media Business kształtuje ruch, a nie mój dostawca usług internetowych, który twierdzi, że nie stosuje żadnych ograniczeń? Znalazłem niewiele szczegółów na temat usług biznesowych Virgin i oczywiście nie jestem ich klientem (bezpośrednio).

  4. Czy to prawdopodobnie są problemy z łącznością / konfiguracją Virgin Media Business? Czy są dobre w konfigurowaniu sieci, sprawdzaniu jej i monitorowaniu?

  5. Co jeszcze mogę zrobić, aby pomóc dostawcy zdiagnozować i rozwiązać problem?

Spędziłem godziny (prawdopodobnie dni) czasu, próbując wyeliminować zmienne, takie jak moja sieć, moje urządzenia, moi inni dostawcy usług, a także rozumiem różnice między klientami Speedtest, które dają różne wyniki i zbierają jak najwięcej danych. Ostatecznie chcę, aby dostawca odniósł sukces, więc poświęciłem swój czas, aby spróbować pomóc mu dojść do sedna. Nie zaprzeczyli temu problemowi i do tej pory byli pomocni, mimo że nie rozwiązali tego po 2 tygodniach dochodzenia. Mam nadzieję, że będą pracować nad rozwiązaniem tego problemu, ale chcę, aby było to dla nich tak łatwe / oczywiste, jak to możliwe.

Z góry dziękuję za wszelkie sugestie i porady.

EDYCJA: 1) Problem został początkowo rozwiązany przez przekonanie usługodawcy internetowego do zmiany mojego połączenia na nowy port w przełączniku / routerze. Będąc małym usługodawcą internetowym, byli w stanie to zrobić, gdy rozmawiałem przez telefon i dzięki większości testów od razu otrzymałem symetryczne 100/100 Mb. 2) Dobra wiadomość nie trwała długo, sporadyczne problemy powodowały niestabilność VPN i VOIP - po dostarczeniu jeszcze większej ilości danych w końcu prześledzili to do swojego oprogramowania do zarządzania siecią (które dławiło moje połączenie podstawowe 1 Gb / s do subskrypcji 100/100). Wyłączają go i przez kilka miesięcy cieszyłem się symetrycznością 800 + Mb / s, dopóki go nie rozwiązaliśmy.

Netgio
źródło
Moja pierwsza myśl: rozmiar MTU. Możliwe, że twoje połączenie jest gdzieś tunelowane i pakiety 1500 bajtów nie mogą się przedostać. Obniż MTU lokalnego portu Ethernet do, powiedzmy, na początku 1400, sprawdź, czy to pomoże. Następnie zwiększaj, aż znów zaczniesz mieć problemy, a następnie ponownie się wycofaj.
JvO,
Dzięki JvO - nie próbowałem tego. Próbowałem go stopniowo zwiększać do 1100, ale bez pozytywnych zmian. nawet próbowałem go zwiększyć dla chichotów i niewielkich zmian. Jeszcze jeden punkt danych - jeśli przejdę na iPerf3-Z (kopiowanie zerowe), zobaczę naprawdę dobrą prędkość wysyłania przy zerowych próbach i Cwnd 358 KB. - Bez kopii zerowej dostaję do 20 ponownych prób na sekundę i Cwnd 10-5 KB.
Netgio
Nie znam iPerf, więc nie mogę tego komentować. Nawiasem mówiąc, co się stanie, jeśli pobierzesz ze zdalnego adresu IP na swój lokalny (tj. Odwrócisz połączenie danych)?
JvO
Pobieranie i przesyłanie wsteczne jest w porządku - tzn. Mogę bez problemu przenosić dane do mojej sieci lokalnej (przez SSH / SCP / HTTP itp.) Mój problem polega na tym, że nie mogę przenosić danych z mojej sieci przez jedno gniazdo o dowolnej niezawodności lub szybkości.
Netgio
Powinny być jednoznaczne - pobieranie wsteczne (pobieranie hosta zdalnego z mojej sieci lokalnej za pośrednictwem przekierowanego portu) ma ten sam problem co przesyłanie.
Netgio