uTorrent powoduje, że DNS czasami przestaje działać

8

Podczas korzystania z uTorrent DNS okresowo przestaje odpowiadać.

Problem wydaje się nie być związany ze zbyt dużym wykorzystaniem przepustowości (widzianym z routera do komputera), ale może być związany z jakąś formą ochrony przeciwpowodziowej zapewnianej przez router (więcej połączeń przychodzących do routera niż Windows akceptuje).

Jak sprawić, aby sieć działała poprawnie (oczywiście nadal będąc w stanie korzystać z uTorrent)?

Andrey
źródło
Co mówi ci, że nie możesz rozwiązać nazw domen? Czy nslookup google.comdziała Jeśli nie, to co powiesz na nslookup google.com 8.8.8.8? Dodaj wynik tych poleceń do swojego pytania.
Bob
@ Bob ping nie mógł rozwiązać nazwy, nie wiedziałem o nslookup polecenia, sprawdzę, kiedy przestanie działać, (nie) na szczęście działa teraz. Dzięki!
Andrey
Gdy już tam jesteś, zanotuj adres IP dowolnej witryny, na której testujesz, i spróbuj pingować adres IP, gdy się zepsuje (tak naprawdę nie będzie to miało znaczenia, ale nie zaszkodzi sprawdzić).
Bob
@ Bob Zrobiłem to, znałem adres IP jednej strony, którą odwiedzam. Jest to więc kwestia całkowicie DNS.
Andrey
@ Bob czy mógłbyś spojrzeć na zaktualizowane pytanie?
Andrey

Odpowiedzi:

13

Klienci bittorent agresywnie łączą się z peerami ... a niektóre routery interpretują to jako powódź synchroniczną.


Otwórz połączenia

Gdy uTorrent jest załadowany, a przesyłanie / pobieranie jest wstrzymane (nie zatrzymane), utrzymuje otwarte połączenia z rówieśnikami. Tymczasem legiony rówieśników internetowych nadal będą próbować połączyć się z tobą, aby dowiedzieć się, czy masz potrzebne bity.

W końcu osiągniesz limit otwartych połączeń narzucony przez twój system operacyjny (w Windows 7 jest to 10 połączeń), a połączenia od nowych klientów zaczną kolejkować na routerze.

Klienci w kolejce sprawdzą agresywnie, czy połączenie jest bezpłatne. To agresywne odpytywanie może być interpretowane przez router jako atak powodziowy.

Rozwiązania

  • obniż limit połowy połączenia w oprogramowaniu bittorent poniżej limitu połączenia narzuconego przez twój system operacyjny
  • wyłącz ochronę przeciwpowodziową IP na routerze / modemie.

Nasycenie przepustowości

Ponadto, gdy połączenie uTorrent (lub jakikolwiek ruch masowy) działa bez ograniczeń, rura wysyłania (i ewentualnie pobierania) osiąga pełne wykorzystanie, zmuszając część ruchu „utrzymania” do zajęcia miejsca, co powoduje zmniejszenie użyteczności sieci.

Oto przykład:

  1. Szybkie pobieranie (torrent lub w inny sposób) nasyca łącze pobierania.
  2. Użytkownik próbuje przejść do witryny, która nie była ostatnio odwiedzana. Komputer generuje żądanie informacji DNS dla żądanej witryny. „Przesyłanie” żądania do serwera DNS powiodło się (nie jest kwestionowane w przypadku dostępu do potoku w górę).
  3. Serwer DNS odpowiada (lub próbuje), ale reakcja rozłącza się przy próbie dostania się do komputera użytkownika, ponieważ rura pobierania jest nasycona treścią do pobrania, a ponieważ coś musi zostać upuszczone, a pobieranie jest agresywne w utrzymywaniu szybkości, Odpowiedź DNS zostaje odrzucona (w pewnym momencie, zanim dotrze do routera lokalnego).

To samo może się zdarzyć, jeśli przesyłanie jest nieograniczone. Gdy przesyłanie jest nasycone, pakiety znane jako TCP-ACK (wysyłane jako odpowiedzi typu „Hej, mam pakiet xyz pomyślnie”) zostają rozłączone, co powoduje zatrzymanie pobierania, co powoduje, że przeglądanie Internetu staje się bardzo niejednolite.

Rozwiązania

  • Dowiedz się, jakie są maksymalne możliwości połączenia (indywidualnie w górę i w dół) i ustaw maksymalną prędkość klientów masowego transferu, aby nie korzystali z więcej niż około 80% tej prędkości. To pozostawi „zapas” na takie rzeczy, jak pakiety DNS i TCP-ACK, aby ominąć ruch masowy i szybko się nimi zająć.
  • Użyj routera, który może obsługiwać kształtowanie ruchu, dzięki czemu określony ruch (DNS, IMCP Ping, TCP-ACK) może mieć priorytet przed innymi formami ruchu, a niektóre formy ruchu (w szczególności torrent) mogą zostać pozbawione priorytetów. To jest moja preferowana metoda. Może to dać dodatkową korzyść polegającą na tym, że pełna rura w górę i w dół może być użyteczna dla ruchu torrentowego, gdy ruch o wyższym priorytecie go nie kwestionuje.
  • Użyj kombinacji 1 i 2, aby ograniczyć „niewłaściwie zachowujący się” ruch.

Jeśli jesteś zainteresowany więcej informacji o ruchu kształtowania Linux / BSD dystrybucje, MonoWall i IPCop obie mają pewne informacje dobrego.

killermist
źródło
Jest to ogólnie poprawne, ale w tym przypadku nie było to problemem. Wszystkie przesłane i pobrane pliki zostały wstrzymane. Tak więc uTorrent wygenerował tylko ruch związany z usługami. Problem polegał na tym, że w jakiś sposób uTorrent wymusił fałszywy alarm na zaporze routera.
Andrey
Jeśli uTorrent nie nasyca rury w górę lub w dół (lub obu), nie powinno to powodować żadnych problemów ... chyba że uTorrent i router za pomocą UPNP (który osobiście wyłączę) źle konfigurują router . NIGDY nie miałem UPNP niczego poza problemem.
killermist
@JeremyW, które w końcu wygląda jak odpowiedź. Ale obniżenie limitu półotwartego połączenia nie pomogło, ustawiłem je na 10, ale DNS nadal nie działał poprawnie.
Andrey
@Andrey Lub może rozwiązaniem jest pójście w innym kierunku. Jeśli Windows może obsłużyć połączenia, zwiększ je, aby nie były uwięzione w routerze, zamieniając się w zaległości.
killermist
@killermist, chociaż zgadzam się z naszymi zmianami, pytanie nie brzmi już, jak mogę mieć zarówno uTorrent, jak i DNS, ponieważ dałem odpowiedź, pytanie brzmi bardziej, dlaczego tak jest.
Andrey
5

Gdy mam coś takiego, Wireshark jest moim najlepszym przyjacielem.

Ale najpierw dobrze jest zrozumieć te trzy rzeczy:

  • Fakt, że ping działa, nie oznacza, że ​​DNS (lub jakakolwiek inna usługa) działa, i odwrotnie.

    Jest tak, ponieważ ping używa zupełnie innego protokołu (ICMP, podczas gdy DNS używa IP oraz kombinacji UDP i TCP), na zupełnie innym poziomie modelu sieci. Wszystko, co jest w drodze, od osobistej zapory ogniowej przez liczbę routerów do faktycznego hosta, na którym działa usługa, można potencjalnie skonfigurować do wyrzucenia jednego z nich, ale nie drugiego (niezależnie od tego, czy jest to paranoja administratora, czy przypadek awarii), chociaż zwykle dzieje się to raczej z ICMP niż z innymi

  • Zasadniczo dobrze jest również wyjaśnić, czy zgubiono żądania (DNS), czy odpowiedzi.

    Cóż, konkretny program, którego używasz, powinien to dla ciebie wyjaśnić, ale ogólnie rzecz biorąc, łatwiej jest zobaczyć go sam w GUI Wireshark :)

  • Jak wspomniałem, DNS zwykle używa UDP jako sposobu na dostarczenie treści zapytania i odpowiedzi.

    W przeciwieństwie do swojego brata TCP, UDP jest zdefiniowane w taki sposób, że nie ma gwarancji, że pakiet zostanie w ogóle dostarczony, a router nie musi (ani nie może) nic zrobić, aby poinformować Cię o awarii. (To poświęcenie dla innej funkcji UDP: jest niesamowicie szybki. Routery nie muszą przechowywać żadnych informacji o nadawcy ani kolejności pakietów, po prostu szybko je przekazują i zapominają. Mogą nawet całkiem bezpiecznie nadać im wyższy priorytet niż TCP.)

Zwykle pierwszą rzeczą, którą bym zrobił, to:

  1. Uruchom Wireshark
  2. Kliknij Opcje przechwytywania
  3. W przypadku filtru Przechwytuj host 1.2.3.4upewnij się, że przechwytujesz tylko ruch między Tobą a 1.2.3.4
  4. Rozpocznij przechwytywanie
  5. Gdy już wszyscy wystrzelicie w ten sposób, wypróbujcie swoje polecenia

Jednak w oparciu o twoją ostatnią aktualizację: nie znam tego oprogramowania, ale na pewno podejrzewam klienta uTorrent. Możliwe jest, że aplikacja wyśle ​​zbyt wiele UDP, że np. Osiągnięto pewien limit na routerze domowym i zaczyna on wyrzucać pakiety UDP.

Alois Mahdal
źródło
Kiedy masz limity czasu na prośby, nie jestem pewien, czy Wireshark może pomóc. Po stronie klienta wygląda to tak, jakby serwer DNS po prostu ignorował żądania, ale router odrzuca albo żądania, albo odpowiedzi z powodu fałszywego pozytywnego ostrzeżenia o powodzi IP.
Andrey
@Andrey Masz rację, że Wireshark nie powie Ci, gdzie zgubił się pakiet: czy był w drodze, czy w drodze powrotnej. Jednak może pomóc mieć pewność, że pakiety faktycznie opuściły twoje pudełko, na wypadek, gdyby wydarzyło się coś naprawdę funky. (Jak twoja osobista zapora ogniowa jest paranoiczna lub coś innego jest tajemniczo zepsute.) Zawsze lubię przedstawiać te rzeczy równania
JAK
3

Chciałbym wypróbować narzędzie DNS Benchmark od GRC . Testuje serwery DNS, które są skonfigurowane do używania, a także wiele innych serwerów DNS. Testuje nie tylko ich szybkość, ale także niezawodność. Jest bezpłatny i nie wymaga instalacji (tylko Windows). Na tych stronach jest też wiele dobrych informacji o DNS.

Paul Walker
źródło
Próbowałem tej aplikacji, wyniki są dziwne, zwykle większość serwerów DNS nie odpowiada. Oczywiście niemożliwe jest, aby wszystkie serwery nagle przestały działać. Coś jest nie tak między mną a serwerami i nie wiem, co to może być.
Andrey
3

Chciałbym wiedzieć, w której części świata się znajdujesz, i pomogłoby to uzyskać wynik tracert / traceroute dla google.com i dla 8.8.8.8.

Problem może być spowodowany przez router lub połączenie z serwerami Google. Przerywany charakter problemu ma zapach złej łączności, ale po prostu jest zbyt wiele czynników podczas analizy problemów z łącznością z Internetem, aby dać natychmiastową odpowiedź.

Sieć Google może czasami być przeciążona. Mam codzienne przypadki, w których żądanie na google.com wygasa i trzeba go ponownie uruchomić, i używam jego lokalnego serwera w moim kraju. Częściowo jest to kwestia szczęścia, do którego segmentu sieci Google kierowane jest żądanie, a nawet wewnętrzne algorytmy dystrybucji żądań Google mogą być nieefektywne.

Prawdopodobnie jest tak samo z serwerami nazw Google. Chociaż Google ma ich kilka, żądanie może zostać skierowane do chwilowo przeciążonego wewnętrznego serwera lub segmentu sieci.

Nie wspomniałeś, w której części świata się znajdujesz. Jeśli nie ma Cię w USA, każde żądanie może obrać inną trasę i mogą wystąpić sporadyczne problemy lub opóźnienia, jeśli są zależne od zbyt wielu serwerów pośrednich.

Nie wspominając o żadnych „optymalizacjach” lub możliwych niedociągnięciach twojego dostawcy usług internetowych, ani o jakichkolwiek optymalizacjach, które Google mógł zrobić, aby podzielić obciążenia na całym świecie na swoje serwery.

Korzystanie z serwera dalekiego DNS może karać Cię na inne sposoby. Widzieć :

Dlaczego korzystanie z Google DNS / OpenDNS to zły pomysł
Czy powinienem używać DNS mojego usługodawcy internetowego, czy Google 8.8.8.8?

harrymc
źródło
2

Znalazłem rozwiązanie, chociaż nie do końca go rozumiem, jeśli ktoś może to właściwie wyjaśnić, proszę opublikować je jako odpowiedź, a ja mu dam nagrodę, ponieważ inne odpowiedzi nie pomogły.

Jak wspomniałem w dodatku do pytania, uTorrent był związany z problemem, ponieważ zamknięcie uTorrent rozwiązało problem. Postanowiłem dowiedzieć się, jak to naprawić bez konieczności zamykania uTorrent. W tym wątku , a ten (to bardzo istotne, ponieważ ludzie nie mają tego samego ISP i router) znalazłem sugestie, że należy wyłączyć ochronę przeciwpowodziową IP na moim routerze i to załatwiło sprawę! Problem i rozwiązanie były egzotyczne, być może specyficzne dla routera Cisco EPC3925 lub nawet dla konkretnego usługodawcy internetowego (popularnego w Europie, dlatego trudno było google coś po angielsku).

Andrey
źródło
Jeśli wspomniałbyś, że dzieje się tak tylko wtedy, gdy uTorrent jest aktywny, nasze odpowiedzi byłyby bardziej odpowiednie.
harrymc
@harrymc Na początku nie wiedziałem o tym, kiedy zadałem pytanie. Kiedy odkryłem, że to uTorrent powoduje problemy, natychmiast dodałem go do tekstu pytania.
Andrey