У меня есть настольный компьютер с Windows 8.1 (спецификация ниже), который работает нормально более года.

За последние пару месяцев, примерно раз в неделю, мои сетевые подключения перестают работать. Если я перезагружаю Windows, все снова начинает работать до следующего раза. Сеть физическая со статическим IP. Беспроводная связь на той же машине также не работает, когда это происходит. Другие устройства по беспроводному или физическому кабелю продолжают работать.

Что я вижу, когда это происходит:

  • Значок в системном трее DropBox показывает, что нет соединения (т.е. нет значков синхронизации или зеленых галочек)
  • Ни одна веб-страница не будет загружена из любого браузера. Я не получаю сообщение об ошибке, браузер просто ничего не делает, но показывает адрес в поле адреса
  • RDP/SSH на другие машины не работает. У меня есть постоянное соединение RDP, открытое к другой локальной машине, которая продолжает работать, когда остальная часть сети останавливается. Если я закрою его, он не будет переподключен.

Я проверил журналы событий и не нашел ничего, что указывало бы на проблему. Я также попробовал Google и ничего не нашел.

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

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

Спецификация машины

  • Windows 8.1 Pro
  • Intel Core i7-4770K 3,5 ГГц
  • Материнская плата Asus Z87 Deluxe Quad
  • 16 ГБ ОЗУ (4 x 4 ГБ оперативной памяти)
  • Жесткий диск Samsung 840 128GB SSD

1 ответ1

1

Это звучит как эфемерное истощение порта.
Когда вы начинаете новое TCP-соединение с другим сетевым адресом, он должен иметь номер порта источника. Когда установлено много соединений, в Windows заканчиваются исходные порты, и они не могут создавать новые соединения. Существующие установленные соединения все еще работают нормально. Ping по-прежнему работает, потому что он использует ICMP, а не TCP - и DNS-поиск все еще должен работать, потому что они в основном используют UDP вместо TCP.
Чтобы выяснить, что вызывает все эти соединения, вам нужно открыть командную строку с повышенными правами. Запустите netstat -anb и найдите процессы с большим количеством соединений в состоянии ESTABLISHED или TIME_WAIT . Вы можете получить их количество, запустив netstat -an | найти /C "TIME_WAIT" .
Если процессом с большинством таких соединений является SYSTEM (с PID 4), это означает, что соединения были запущены процессом, который больше не выполняется, поэтому следите за тем, чтобы процессы запускались и закрывались очень быстро.
Надеемся, что вы можете определить, какой процесс / был ответственен за исчерпание порта и либо исправить его (возможно, исправление доступно для программного обеспечения?) или удали это.
Вы также можете немного настроить Windows - изменив количество доступных ей временных портов. По умолчанию он может использовать порты с 49 152 до 65 535, что составляет 16 384. Вы можете проверить этот параметр с помощью команды netsh int ipv4 show dynamicport tcp .
Если вы хотите изменить это, вы можете изменить настройку с помощью команды, такой как netsh int ipv4 set dynamicport tcp start = 32767 num = 32768, которая сообщает Windows, что она может использовать 32 768 портов, начиная с номера порта 32 767 (поднимая его до самого высокого значения порт возможен; 65 535). Изменение диапазона портов по умолчанию не является постоянным решением. Лучше сначала выяснить, что является причиной проблемы, и решить эту проблему. Это может быть какое-то вредоносное ПО, например, заражение ботнетом, которое заставляет ваш компьютер отправлять тысячи спам-сообщений в минуту, или может использоваться как часть DDoS-атаки. Или это может быть просто ошибка в каком-то законном программном обеспечении.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .