uTorrent иногда приводит к остановке работы DNS

uTorrent иногда приводит к остановке работы DNS

При использовании uTorrent DNS периодически перестает отвечать.

Проблема, по-видимому, не связана со слишком большим использованием полосы пропускания (как видно из данных маршрутизатора на компьютере), а может быть связана с некоторой формой защиты от переполнения, предоставляемой маршрутизатором (больше входящих подключений к маршрутизатору, чем может принять Windows).

Как заставить сеть работать правильно (разумеется, при этом сохраняя возможность использовать uTorrent)?

решение1

клиенты bittorentагрессивно подключаться к сверстникам... и некоторые маршрутизаторы интерпретируют это как syn-flood.


Открытые соединения

Когда uTorrent загружен и загрузки/загрузки приостановлены (не остановлены), он поддерживает открытые соединения с вашими пирами. Между тем, легионы интернет-пиров будут продолжать пытаться подключиться к вам, чтобы узнать, есть ли у вас биты, которые им нужны.

В конце концов вы достигнете лимита открытых подключений, установленного вашей ОС (в Windows 7 это 10 подключений), и подключения от новых клиентов начнут выстраиваться в очередь на вашем маршрутизаторе.

Клиенты, находящиеся в очереди, будут агрессивно проверять, свободно ли соединение. Этот агрессивный опрос может быть интерпретирован маршрутизатором как атака syn-flood.

Решения

  • уменьшите лимит полуоткрытых соединений в вашем программном обеспечении BitTorrent до уровня ниже лимита соединений, установленного вашей ОС
  • отключите защиту от IP-флуда на вашем маршрутизаторе/модеме.

Насыщенность полосы пропускания

Кроме того, при работе соединения uTorrent (или любого другого массового трафика) без ограничений канал загрузки (и, возможно, скачивания) достигает полной загрузки, заставляя часть «обслуживающего» трафика отходить на второй план, что в конечном итоге снижает полезность сети.

Вот пример:

  1. Высокоскоростная загрузка (через торрент или иным способом) перегружает нисходящий канал.
  2. Пользователь пытается перейти на сайт, который недавно не посещался. Компьютер генерирует запрос на информацию DNS для нужного сайта. «Загрузка» запроса на DNS-сервер проходит успешно (не оспаривается для доступа к восходящему каналу).
  3. DNS-сервер отвечает (или пытается это сделать), но ответ зависает при попытке добраться до компьютера пользователя, поскольку канал загрузки переполнен загружаемым контентом, и поскольку что-то должно быть отброшено, а загрузка активно поддерживает скорость, ответ DNS отбрасывается (в какой-то момент до того, как он попадет на локальный маршрутизатор).

То же самое может произойти, если загрузка не ограничена. При насыщении загрузки пакеты, известные как TCP-ACK (которые отправляются как ответы типа «Эй, я успешно получил пакет xyz»), зависают, из-за чего загрузки останавливаются, а просмотр веб-страниц становится очень прерывистым.

Решения

  • Определите, каковы максимальные возможности вашего соединения (вверх и вниз, по отдельности), и установите максимальную скорость клиентов для массовой передачи данных, чтобы они не использовали более 80% этой скорости. Это оставит "запас" для таких вещей, как пакеты DNS и TCP-ACK, чтобы обойти массовый трафик и быстро с ними справиться.
  • Используйте маршрутизатор, который может обрабатывать формирование трафика, так что определенный трафик (DNS, IMCP Ping, TCP-ACK) может быть приоритетным перед другими формами трафика, а некоторые формы трафика (в частности, торрент) могут быть деприоритетными. Это мой предпочтительный метод. Это может дать дополнительное преимущество, позволяя использовать полный восходящий и нисходящий канал для торрент-трафика, когда более приоритетный трафик не бросает ему вызов.
  • Используйте комбинацию пунктов 1 и 2 для ограничения «неправильного» движения.

Если вам интересна дополнительная информация о формировании трафика в дистрибутивах Linux/BSD,МоноСтенаиIPCopу обоих есть полезная информация.

решение2

Когда у меня есть что-то подобное,Wiresharkмой лучший друг.

Но сначала полезно осознать эти три вещи:

  • Тот факт, что ping работает, не означает, что DNS (или любая другая служба) работает, и наоборот.

    Это потому, что ping использует совершенно другой протокол (ICMP, в то время как DNS использует IP и комбинацию UDP и TCP), на совершенно другом уровне сетевой модели. Все на пути, от вашего персонального брандмауэра через ряд маршрутизаторов до фактического хоста, где запущена служба, может быть потенциально настроено на отбрасывание одного из них, но не другого (будь то паранойя администратора или какой-то случай сбоя), хотя обычно это чаще случается с ICMP, чем с другими

  • В целом, также полезно четко указать, теряются ли ваши (DNS) запросы или ответы.

    Что ж, конкретная программа, которую вы используете, должна прояснить это для вас, но, как правило, проще увидеть это самостоятельно в графическом интерфейсе Wireshark :)

  • Как я уже упоминал, DNS обычно использует UDP в качестве способа доставки содержимого запроса и ответа.

    В отличие от своего брата TCP, UDP определяется таким образом, что существуетнет гарантии что пакет вообще будет доставлен, и маршрутизатор ничего не должен (и не может) сделать, чтобы сообщить вам об ошибке. (Это жертва ради другой особенности UDP: он невероятно быстрый. Маршрутизаторам не нужно хранить какую-либо информацию об отправителе или порядке пакетов, они просто быстро передают ее дальше и забывают. Они даже могут совершенно безопасно дать им более высокий приоритет, чем TCP.)

Обычно первое, что я делаю, это:

  1. Запустить Wireshark
  2. Нажмите «Параметры захвата».
  3. Для фильтра захвата установите настройку, host 1.2.3.4чтобы убедиться, что вы захватываете только трафик между вами и 1.2.3.4.
  4. Начать захват
  5. Как только вы все запустите таким образом, попробуйте свои команды

Однако, основываясь на вашем последнем обновлении: я не знаю эту часть программного обеспечения, но я бы определенно подозревал клиент uTorrent. Приложение может отправлять слишком много UDP, например, на вашем домашнем маршрутизаторе достигается какой-то предел, и он начинает отбрасывать UDP-пакеты.

решение3

Я бы попробовалИнструмент DNS Benchmark от GRC. Он тестирует DNS-серверы, которые вы настроили для использования, а также множество других DNS-серверов. Он тестирует не только их скорость, но и надежность. Он бесплатный и не требует установки (хотя он только для Windows). На этих страницах также есть много полезной информации о DNS.

решение4

Я нашел решение, хотя я не до конца его понимаю. Если кто-то может объяснить его правильно, пожалуйста, опубликуйте его в качестве ответа, и я дам ему вознаграждение, потому что другие ответы не помогли.

Как я уже упоминал в приложении к вопросу, uTorrent был связан с проблемой, потому что закрытие uTorrent решило проблему. Я решил выяснить, как исправить это без необходимости закрытия uTorrent. Вэта темаиВот этот(это было очень актуально, потому что у людей там один и тот же интернет-провайдер и маршрутизатор) Я нашел предложения, которые мне следует отключитьЗащита от IP-флудана моем роутере и это сработало! Проблема и решение были экзотическими, возможно, специфичными для роутера Cisco EPC3925 или даже для конкретного интернет-провайдера (популярного в Европе, поэтому было сложно что-то гуглить на английском).

Связанный контент