Ошибка Tcpip: запрос не выполнен из-за использования всех таких портов

8

Сегодня моя машина перестала иметь доступ к Интернету. Я все еще могу получить доступ к некоторым локальным сетевым ресурсам. Когда я посмотрел в журнале ошибок, я увидел следующее предупреждение tcpip:

Запрос на выделение временного номера порта из глобального пространства портов UDP не выполнен из-за использования всех таких портов.

Я запустил netstat -anobи в выходных DNScache тысячи раз (от порта 50000 до 65536).

вывод netstat

Это второй раз, когда это случилось со мной. Уничтожение процесса DNSClient на основе приведенных здесь инструкций сработало, но я хотел бы выяснить, что является причиной этой проблемы.

Обновление: когда возникает эта проблема, я все еще могу выйти в Интернет с программами, которые использовали DNS для разрешения имени хоста до того, как проблема началась. Например, я могу продолжать общаться с друзьями на Pidgin. Я также могу подключаться к веб-сайтам напрямую, используя IP-адрес.

cmorse
источник
Обновление: это случалось со мной несколько раз на этой неделе. Мне бы очень хотелось помочь в поиске причины проблемы, поэтому я добавляю вознаграждение.
cmorse
Проверьте настройки вашего маршрутизатора, поскольку у нескольких из них есть настройка, ограничивающая количество подключений к одному хосту, попробуйте перезапустить маршрутизатор, чтобы посмотреть, устранит ли это проблему, если это так, то посмотрите дополнительные настройки в разделе DoS и ищите количество соединений на хост
Ян
@ Я использую dd-wrt на своем роутере. Я вошел в систему и проверил, и было 143 активных IP-соединения (3% от максимального). Я могу проверить еще раз завтра, чтобы увидеть, если число выше, когда проблема возникает. Я видел, как количество подключений превысило 1000 без проблем.
cmorse
1
Здесь на самом деле происходит то, что служба Dnscache связывает все прослушивающие порты, которые ей разрешено использовать, и затем завершается ошибкой, когда пытается подключиться к другому. Я не нашел информации о причине, и у меня нет окна Windows 8, с которым можно экспериментировать; тем временем я бы посоветовал отключить службу Dnscache через консоль служб (Пуск -> Выполнить -> services.msc, ОК). Запуск без него предотвратит кэширование результатов разрешения имен, что немного замедлит сетевые запросы, так как необходимо больше DNS-запросов, но должно положить конец гораздо худшей проблеме, с которой вы сталкиваетесь.
Аарон Миллер
1
В идеале, я бы - но это может занять некоторое время, и отключение службы выглядит так, как будто она может предложить приличный временный промежуток, чтобы DNS-решение не зависало случайным образом и требовало ручного вмешательства для возобновления, между настоящим моментом и всякий раз, когда решение представляет сам.
Аарон Миллер

Ответы:

6

Я понял! Это был HealthAlertsSvc (Служба работоспособности Windows Server). Похоже, что служба работоспособности на моем компьютере с Windows Home Server 2011 аварийно завершилась, и это выявило ошибку на клиентской стороне HealthAlertsSvc, из-за которой порты UDP неправильно не освобождались.

Чтобы дважды проверить, что это было так. Я отключил службу на стороне сервера и на рабочем столе. Как только я снова включил службу на своем рабочем столе, количество открытых соединений UDP начало медленно расти. После того, как я перезапустил службу на сервере, большое количество соединений UDP было немедленно освобождено, и список больше не увеличивался в размере.

cmorse
источник