Я использую Windows 10 Professional с контроллером семейства Realtek PCIe GBE, встроенным в мою материнскую плату MSI 170A-Pro. Обычно все хорошо. Сеть работает нормально и без прерываний в Linux и Windows. Таким образом, оборудование, кажется, в порядке.
Тем не менее, я испытываю потерю подключения примерно один раз в день при использовании Windows 10. Симптомы немного странные, хотя:
- Я не могу подключиться к любому веб-сайту в Chrome или Internet Explorer (Chrome сообщает ERR_CONNECTION_FAILED)
- кроме того, что Google обычно работает (вероятно, потому что связь с ним поддерживается хромом)
- мое подключение к Google Talk продолжает работать (похоже, оно влияет только на новые подключения)
- nslookup отлично работает для любого домена
- Я могу пинговать сайты, которые хочу просмотреть
- У меня есть действующие адреса IPv4 и IPv6
- Я могу пинговать шлюз по умолчанию на IPv4 и IPv6
- Диагностика Windows Network не может найти никаких проблем
- Windows говорит, что я успешно подключен к Интернету
- другие устройства в сети продолжают испытывать проблемы (это не связано с маршрутизатором)
Однако единственное решение состоит в том, чтобы либо перезагрузить сеть с помощью опции панели управления и перезагрузиться, либо вызвать netsh winsock reset
в консоли администратора и перезагрузиться. Одна только перезагрузка не решает проблему.
Пока что сделал
- отключить управление питанием для сетевой карты
- обновить до последней версии драйвера от Realtek
Я в полном недоумении, что именно не так. Потому что сеть явно работает. Кажется, что определенная часть этого не работает.
Если у кого-то есть идеи, как отлаживать это дальше, я весь слух!
Обратите внимание, что это проводная сеть
Вывод ipconfig следует (он выглядит точно так же, когда соединение работает)
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : w00t
IPv6 Address. . . . . . . . . . . : 2a02:2450:1024:442:808:aa56:5c13:9413
Temporary IPv6 Address. . . . . . : 2a02:2450:1024:442:a5e3:4f74:fb29:5d13
Link-local IPv6 Address . . . . . : fe80::808:aa56:5c13:9413%3
IPv4 Address. . . . . . . . . . . : 192.168.1.165
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : fe80::1e87:2cff:fe6a:b6b0%3
192.168.1.1
Tunnel adapter isatap.w00t:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : w00t
Tunnel adapter Teredo Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . :
IPv6 Address. . . . . . . . . . . : 2001:0:9d38:6ab8:2cd7:1e65:3f57:fe5a
Link-local IPv6 Address . . . . . : fe80::2cd7:1e65:3f57:fe5a%12
Default Gateway . . . . . . . . . :
Некоторая дополнительная информация:
- при перезагрузке в Linux сетевое соединение там работает безупречно, перезагружается обратно в Windows и проблема все еще есть
- полное выключение машины не решает проблему
- HTTP-сайты в моей локальной сети также недоступны
- проблема не зависит от DNS, сайты не доступны через IP-адрес
- SMB-соединения с Windows-Share тоже не работают
Мне кажется, что TCP-стек операционной системы как-то "застревает". Пинг (ICMP) и DNS (UDP) работают, HTTP и SMB (TCP) не работают.
Это заставило меня попробовать еще одну вещь: я пытался использовать PuTTY для ssh (TCP) на другую машину, и это вызывает ошибку: Network error: No buffer space available
Вышеуказанная ошибка указала мне на https://serverfault.com/questions/131935/network-error-no-buffer-space-available, что, в свою очередь, привело меня к просмотру Event Viewer, который показывает ошибку 4227:
TCP/IP не удалось установить исходящее соединение, поскольку выбранная локальная конечная точка недавно использовалась для подключения к той же удаленной конечной точке. Эта ошибка обычно возникает, когда исходящие соединения открываются и закрываются с высокой скоростью, что приводит к использованию всех доступных локальных портов и заставляет TCP/IP повторно использовать локальный порт для исходящего соединения. Чтобы минимизировать риск повреждения данных, стандарт TCP/IP требует минимального промежутка времени между последовательными соединениями от заданной локальной конечной точки до заданной удаленной конечной точки.
При отключении и повторном включении устройства (что предполагает запись в базе знаний ) ошибка просто повторяется в журнале.
Похоже, какая-то программа исчерпывает доступные исходящие порты TCP. Так что вопросы становятся:
- Как выяснить, какая программа является виновником?
- почему перезагрузка не решит эту проблему?