Współlokator opóźnia połączenie internetowe, oglądając filmy z chińskiej strony internetowej. Czy QoS może rozwiązać problem?

7

Mój współlokator jest międzynarodowym studentem z Chin i lubi oglądać chińskie programy telewizyjne online za pośrednictwem strony internetowej z tego regionu (jesteśmy na wschodnim wybrzeżu USA). Ale powoduje to, że opóźnienie naszej sieci rośnie absurdalnie wysoko, osiągając około 400 ms podczas pingowania 4.2.2.2 i od 100 do 1000+ (normalnie wynosi od 20 do 40 ms). Niestety, chce się z tym pogłupić, więc muszę znaleźć sposób na rozwiązanie tego problemu, który nie wymaga jej zgodności.

Mój obecny router (Netgear N150 WPN824N) nie obsługuje QoS ani żadnego popularnego niestandardowego oprogramowania układowego, które go ma (AFAIK). Zastanawiałem się nad kupnem droższego routera z wbudowanym QoS lub tańszego routera obsługującego Tomato, dd-wrt lub coś innego. Ale nie jestem do końca pewien, na czym polega problem ani czy QoS mu pomoże (tj. Rzeczy, które najlepiej byłoby wiedzieć przed wydaniem pieniędzy). Najbardziej prawdopodobna strona internetowa winowajca, tv.sohu.com, nie jest w języku angielskim i zawiera głównie treści wideo ograniczone do regionu. Tak więc wszystko, co naprawdę mogę przetestować, to opóźnienie w stosunku do samej witryny (około 350 ms od miejsca, w którym mieszkam). Nie wiem, czy jest to problem z przepustowością, czy strona korzysta z jakiegoś dziwnego niestandardowego protokołu, czy cokolwiek innego jest tutaj potencjalnym czynnikiem. Nie jestem osobą pracującą w sieci, więc poza dużym zużyciem przepustowości, „

Wiem jednak, że na początku mam przeciętne połączenie z Internetem. Kiedy próbuję pobrać grę ze Steam, mogę osiągnąć maksymalną prędkość około 2,5 megabajtów / s, co spowoduje duże opóźnienie. Ale 2,5 Mb / s to duża przepustowość i nie wyobrażam sobie, żeby ta strona internetowa tyle mogła zużyć.

FrustratedRoommate
źródło

Odpowiedzi:

5

Współlokator opóźnia połączenie internetowe, oglądając filmy z chińskiej strony internetowej. Czy QoS może rozwiązać problem?

Nie przeczytałem całej twojej historii, ale na podstawie pytania, które zadałeś, odpowiedź na ogół nie jest tak naprawdę . QoS może, w pewnych idealnych okolicznościach, częściowo rozwiązać problem, jeśli korzystasz z niektórych usług o wysokim priorytecie (takich jak Voice over IP), a pakiety są odpowiednio oznakowane, a Twój dostawca usług wstępnych przestrzega QoS. Ale to ci nie pomoże, jeśli priorytet twoich pakietów i pakietów twojego współlokatora jest taki sam.

To, czego chcesz, to jakieś aktywne zarządzanie kolejkami .

Co dzieje się, gdy twój współlokator ogląda wideo? Cóż, współdzielony router / modem odbiera ogromną ilość danych. Aby zapobiec utracie tych danych, które przychodzą tak szybko, jak modem może odbierać, tworzy w modemie coraz większy bufor wewnętrzny, który ustawia w kolejce wszystkie dane pakietu.

Musi to zrobić, ponieważ odbiera pakiety IP poza kolejnością i z wielu miejsc (pobrań, pobrań współlokatora itp.) I musi ponownie złożyć te elementy razem, aby utworzyć całe pakiety TCP. Tworzy więc ten ogromny bufor, aby uniknąć utraty jakichkolwiek pakietów; w przeciwnym razie przy małym buforze niektóre pakiety musiałyby zostać usunięte, co może spowodować konieczność ponownego wysłania danych.

Niestety, gdy bufor przekroczy określony rozmiar, korzyści wynikające z posiadania bufora są przeważone przez jego wady. Główną wadą „rozdętego” bufora jest to, że podczas odbierania pakietu występuje ogromne opóźnienie .

Opóźnienie oznacza, że ​​aplikacja wysyłająca lub odbierająca dane musi czekać wyjątkowo długo, aby potwierdzić, że została poprawnie wysłana lub odebrana. Ponieważ dane w gniazdach TCP są „potwierdzane” przez drugą stronę w celu potwierdzenia „OK, rozumiem!”, Drugi koniec może założyć po pewnym czasie opóźnienia, że ​​pakiet został utracony i podjąć próbę ponownego wysłania tak czy siak. Tak więc celem dużego bufora było zapobieganie ponownemu wysyłaniu, ale w jego dążeniu powoduje to ponowne wysyłanie !!! Każde ponowne wysłanie wymaga więcej zużytej / zmarnowanej przepustowości i dłuższych opóźnień.

Koncepcyjne aktywne zarządzanie kolejkami jest rodzajem rozwiązania, które próbuje inteligentnie ograniczyć wielkość buforów. Utrzymując bufory tak małe, jak to możliwe, a jednocześnie wystarczająco duże, aby zapobiec utracie większości danych z powodu oczekiwania na pakiety poza kolejnością, możesz zapobiec wzdęciom bufora .

To, co naukowcy starają się robić od lat (a osiągnęliśmy tylko częściowy sukces dopiero w maju 2012 r.), To zaprojektować algorytm, który implementuje prawidłowe zarządzanie aktywną kolejką (AQM) bez jakiejkolwiek ręcznej konfiguracji lub regulacji użytkownika (ponieważ to byłoby czasochłonne i denerwujące). Po prostu rodzaj „magicznej kuli”, która odpowiednio równoważy rozmiary kolejek, aby zminimalizować utratę pakietów i jednocześnie zminimalizować opóźnienia.

Jak dotąd jedyną rzeczą, która okazała się ogromnym sukcesem na domowych routerach, jest aktywne zarządzanie kolejkami w kontrolowanym opóźnieniu (CoDel), które jest ostatnim dodatkiem do jądra Linux.

CODEL jest bardzo przydatny, ponieważ steruje się opóźnień (opóźnienia) pakietów. Jak to robi, jest to zbyt techniczne dla tego pytania.

Kilka linków na CoDel, abyś mógł o nim przeczytać:

CoDel na bufferbloat.net

CeroWRT

Artykuły Jima Gettysa na temat kodu

Edycja : QoS to tylko połowa rozwiązania. QoS oparte na portach (np. Nadawanie pakietom wyższego priorytetu) zabierze Cię tylko do tej pory; to wcale nie zmniejszy wzdęcia bufora, a twoje opóźnienia będą nadal wysokie. Ale utrata pakietów może nieznacznie spaść.

CoDel w połączeniu z QoS, a la CeroWRT na routerze, jest naprawdę najlepszym podejściem.

allquixotic
źródło
0

Jeśli jesteś w 100% przekonany, że problem występuje tylko wtedy, gdy twój współlokator przesyła strumieniowo filmy, QoS pomoże ci rozwiązać ten problem.

Nie ma „strasznych protokołów z Chin” ani niczego, co mogłoby zepsuć twoje opóźnienie. Chodzi o nasycenie połączenia. Gdy w kolejce znajduje się więcej pakietów, niż Twoje połączenie może obsłużyć, każdy pakiet musi „czekać na swoją kolej”, co najwyraźniej zajmuje 400 ms.

Korzystając z QoS, możesz wyciąć wystarczająco dużo miejsca (dla siebie), aby mieć pewność, że pakiety sobie poradzą bez stawiania w kolejce obok jej mnóstwa pakietów do przesyłania strumieniowego wideo.

Tanner Faulkner
źródło
2
Sama QoS nie jest skuteczna. Potrzebuje również aktywnego zarządzania kolejkami.
allquixotic
0

Najpierw spróbuję porozmawiać z twoim współlokatorem o tym, jak pewne nawyki negatywnie wpływają na twoje życie. Poza tym tak QoS naprawiłby twój problem. Możesz ograniczyć przepustowość do jej komputera, niektórych stron lub klientów bezprzewodowych i tym podobnych. DD-WRT ma świetny interfejs QoS, który umożliwia bardzo szczegółową konfigurację. Wymaga to jednak pewnej wiedzy technicznej na temat konfigurowania / flashowania routera za pomocą nowego oprogramowania układowego. Witryna DD-WRT zawiera szczegółowe samouczki i byłaby dla Ciebie doskonałym źródłem informacji w tej sytuacji.

Baza danych routerów DDWRT, upewnij się, że to, co kupujesz, jest obsługiwane.

CodeMonkey
źródło