Моя компания работает в WAN. Каждый из наших филиалов работает в определенном диапазоне IP-адресов (например, 192.168.0.100, 192.168.1.100, 192.168.2.100).
Я хочу контролировать соединение. Я написал быстрое консольное приложение на C#, которое пингует каждый адрес каждые 5 секунд и записывает результат в CSV-файл. Достаточно ли этого? Я получаю довольно много ошибок TimedOut, хотя адрес может быть доступен при следующем тесте (так что это не отключение, а просто тайм-аут) — почему это может происходить? Я пингую слишком часто или? Я установил щедрый период тайм-аута.
Спасибо.
Редактировать: Я должен был сказать, что в каждом филиале нет «сервера», а есть только маршрутизатор, настроенный как часть WAN. Так что, есть ли что-то еще, что я могу сделать, кроме как проверить подключение?
решение1
О проверке базовой сетевой связности между точками в WAN. В нормальных условиях обычная трассировка Ping должна показывать стабильную связность.
Однако в вашем случае (по каналам WAN) ваша связность, похоже, слабая.
Под этим я подразумеваю, что могут быть периодические потери пакетов по вашему пути WAN.
О проверке доступности серверного приложения. Теперь это уже другая игра.
Вам нужно использовать тесты, которые включают протокол сервера (TCP и HTTP/HTTPS, если это веб-сервер).
Потому что ваш «сервер» может быть доступен, но служба может быть сломана или отключена.
Обновление вашего комментария:
Если нет возможности получить хотя бы один подтвержденный адрес за пределами маршрутизатора, чтобы проверить, доступна ли эта сеть, вам следует рассмотреть классические методы: НастройкаУправление сетьюна маршрутизаторах и работать надвеб-отслеживаниерамки.
решение2
По моему мнению, вам действительно нужен более богатый тест, который гарантирует доступность некоторых сервисов (www, файлообменник и т. д.). Ping сообщает вам только о том, что базовая ОС запущена. Существуют бесплатные инструменты, такие как Nagios, ZenOSS и monit, которые уже это делают.
решение3
Возможно, вам захочется изучить какое-либо программное обеспечение SNMP — оно предназначено именно для того, что вам нужно.Чистый SNMPимеет открытый исходный код и довольно популярен.
решение4
Зависит от того, что вы подразумеваете под доступностью: пингование проверяет подключение к физическому серверу, но не программное обеспечение сервера и его способность отвечать на входящие запросы. Тайм-ауты могут быть вызваны сброшенными пингами где угодно между источником и сервером. Трассировка (tracert в Windows) покажет вам, где сбрасываются пинги. Ни один из них не скажет вам об отзывчивости вашего сервера (программного обеспечения).