Устройство Link Control («пинговалка»)

    В статье описана собственная разработка — устройство для контроля за состоянием линка и оборудования. Идея устройства не нова, суть заключается в периодической отправке ICMP-запросов на заданные адреса и последующей реакции в случае не получения ответа.
    image


    Общее описание



    Устройство предназначено для контроля IP-соединения с устройствами в сети и может использоваться для контроля доступности узла сети или исходящего соединения за пределы сети.

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

    Релейный выход позволяет коммутировать цепи с напряжением до 250 вольт и током до 10 ампер.
    Напряжение питания устройства – 5В. Потребляемый ток до 100 мА.

    Типовые схемы подключения устройства



    image

    В данной схеме устройство Link Control подключается в локальном сегменте контролируемого оборудования и проверяет доступность определенного узла во внешнем сегменте. Устройством контролируется канал между маршрутизатором и сетью провайдера и в случае, если соединение будет утрачено, Link Control перезагрузит маршрутизатор по цепи питания.

    image

    В данной схеме контролируется доступность определенного узла в сети и в случае отсутствия связности с оборудованием, устройство Link Control перезагрузит узел по цепям питания или сброса.

    Конфигурация устройства


    Конфигурация устройства осуществляется с помощью программного обеспечения Link Control Configuration. Для конфигурации устройства используется протокол SNMP, для подключения к устройству нужно указать IP-адрес устройства и используемый Community String.

    image

    Для восстановления исходных настроек необходимо на 5 секунд нажать кнопку Reset, расположенную внутри устройства, отверстие для доступа к кнопке расположено на верхней крышке корпуса устройства.

    Для изменения настроек в соответствующих полях конфигуратора необходимо указать текущие адрес и community, после чего программа получит все текущие настройки с устройства или выдаст сообщение об ошибке, если какой-то из параметров буде введен неверно.

    Настройки устройства определяются в четырех вкладках программы, во вкладке «Сеть» конфигурируются текущие сетевые настройки, а также параметр Community String. Изменения отсылаются устройству после нажатия кнопки «Применить» напротив соответствующего поля.

    При изменении адреса устройства или community необходимо повторно подключиться к устройству и получить текущие настройки.

    image

    Во вкладке «Описание» можно сконфигурировать имя контролируемого устройства, его краткое описание и географическое положение, все эти поля являются стандартными для протокола SNMP.

    image

    Во вкладке «Link Control» конфигурируется поведение устройства при контроле оборудования по протоколу ICMP.
    Поле ICMP-интервал определяет, как часто отправляются ICMP-запросы на указанные IP-адреса, значение поля указывается в секундах.
    Поле Интервал ожидания определяет, время ожиданя устройства между срабатыванием релейного выхода и началом отправки ICMP-запросов. Может быть подкорректировано для адаптации ко времени загрузки операционной системы в контролируемых узлах.
    Поле Первый IP-адрес определяет основной адрес, которому будут отправляться ICMP-запросы
    Поле Первый порог определяет, какое количество неподтвержденных запросов будет отправлено, прежде чем сработает релейный выход.
    Поле Второй IP-адрес определяет вторичный контрольный адрес, которому будут отправляться запросы при достижении первого порога неподтвержденных пакетов.
    Поле Второй порог определяет, какое количество неподтвержденных запросов будет отправлено, прежде чем сработает релейный выход.
    Поля Использовать первый IP-адрес и Использовать второй IP-адрес определяют, будет ли устройство отправлять запросы на указанные адреса.
    Второй адрес можно использовать только при условии использования первого адреса. Получение ответа на запрос по любому из адресов обнуляет значения порога обоих адресов.

    image

    Вкладка «SNMP-Trap» определяет параметры отправки уведомлений при срабатывании реле. Поле Адрес монитора определяет IP-адрес станции управления, на которую передаются уведомления о срабатывании релейного выхода. В SNMP-Trap передаются параметры, определенные во вкладке «Описание».
    Опционально можно разрешить или запретить отправку уведомлений SNMP-Trap при срабатывании реле.
    На вкладке «SNMP-Trap» также есть кнопка, позволяющая принудительно включить релейный выход для тестирования.
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 27

      +2
      Какова вероятность, что само устройство «пинговалка» не зависнет?
        +1
        Можно пинговать пинговалку :)
          +1
          А если война? Кто будет пинговать пинговалку пинговалки?
            0
            А пинговалка всё равно не нужна, когда некого пинговать.
        0
        Вероятность такая существует, основной причиной зависания подобных устройств являются проблемы с электропитанием. В устройстве есть опция контроля напряжения питания и перезапуск (это опция самого микроконтроллера). Сейчас еще проводятся дополнительные тесты, 15 суток непрерывной работы без сбоев пока есть

        При выходе устройства из строя на работоспособности остальной сети это не скажется, реле срабатывать не будет, контролируемые устройства будут продолжать работать в нормальном режиме
          +2
          Какова вероятность, что само устройство «пинговалка» НЕ зависнет?

          Вероятность такая СУЩЕСТВУЕТ

          Шикарно. И большая? -)

          А вообще, не слишком ли жесткое решение сразу ребутать роутер при пропадании пингов до провайдера? Как-то топорно…
            +1
            Ага, может это вообще провайдера ребутать надо.

            Кроме того, с душой подобранный и нормально охлаждаемый роутер не виснет месяцами.

            Но устройство крутое, думаю, ему массу ценных применений можно придумать. Я вот давно мечтаю об управлении питанием по Ethernet, чтоб можно было не только перегружать, а выключать на какой-то срок, а потом удалённо включать. Соответсвующие девайсы бывают в природе от имениты производителей (мне даже на Хабре подсказывали: www.remotepowerswitch.com/), но цена на них довольно кусачая.

            Я уж думал вот над чем: есть китайские радиоуправляемые контроллеры, стоят менее $20 (http://www.dealextreme.com/details.dx/sku.39861), управляют сразу 2-3 линиями. Вот пульт от них, пожалуй, можно как-то приспособить к управлению не кнопками, а по USB.
              0
              Но устройство крутое, думаю, ему массу ценных применений можно придумать. Я вот давно мечтаю об управлении питанием по Ethernet, чтоб можно было не только перегружать, а выключать на какой-то срок, а потом удалённо включать. Соответсвующие девайсы бывают в природе от имениты производителей (мне даже на Хабре подсказывали: www.remotepowerswitch.com/), но цена на них довольно кусачая

              Есть такая возможность :) можно ничего не пинговать, а просто клацать реле вручную, мы планируем развивать линейку, это так сказать, первый блин
              з.ы. планируемая цена скажем так раз в 5 ниже той, что по ссылке
              0
              Есть возможность задать второй адрес (контрольный), Вы не разобравшись с функционалом заявляете о топорной работе. Есть возможность задать, через сколько пингов реагировать. В конце концов, Вы можете через реле устройства подключить звонок или сирену и самостоятельно принимать решение о перезагрузке :)

              Выразить численно вероятность зависания самого устройства я не могу, если бы я написал, что такая вероятность равна нулю, то был бы неправ, потому что она есть всегда. Пока в тесте на 15 суток устройство себя проявило абсолютно стабильно. Разрабатывался девайс под конкретные задачи, wifi-точки иногда виснут, вот под них и делали.
                0
                Я реагирую на то, что написано в примере настройки, а там речь именно по ребут. Ребутать роутер, если пропал пинг до провайдера — топорно. А с оповещением должна справляться и обычная система мониторинга, нет? Вот поэтому пост я бы на Вашем месте и начал с указания, для каких именно устройств разрабатывался прибор — для часто зависающих точек доступа. А Вы сразу на интерне-роутеры замахнулись… Просто для всего есть своя область применения, и пример с теми же точками доступа намного более реален.
                Ну а про вероятность зависания — там, вообще-то, ирония была… Прочтите первый вопрос и Ваш ответ внимательнее, что ли…
                Да, кстати, что получится, если был виноват провайдер? Счетчика допустимых ребутов нет? Так и будет дергать несчастный контролируемый девайс до прихода дяди админа?
                  0
                  Нет, счетчика ребутов нет, спасибо за идею, надо будет предусмотреть.
                  Ну железка не только для точек все-таки позиционировалась, а и для всякого рода длинков-тплинков. Что именно цеплять на реле — это уже на усмотрение, просто привел роутеры в качестве примера, к сожалению, тоже частенько виснут…
            –1
            Всегда интересовался вопросом — кто-нибудь считал нагрузку на канал от всевозможных пингеров?
              +1
              Посчитать не сложно, параметры работы конфигурируются, можно хоть раз в час пинг посылать.
              В моем устройстве размер поля данных ICMP — 32 байта
              +1
              ох, шикарная вещь, всем костылям костыль!
              Это вроде того, что ходил слух про одну крупную компанию, где была старая машина с линуксом, на которой скрипт пинговал большую виндовую машину и в случае проблем выезжал дисковод и аккуратно нажимал кнопку Reset )
                +1
                В крупных компаниях стараются выбирать отказоустойчивое железо :) наш девайс для несколько иного сегмента рынка планируется (домашние сети, одинокие wifi-линки)
                +3
                И что дальше? Выложили бы схему, прошивку, ПО… А то так не интересно.
                  0
                  на самом деле, планирую перенести тему в «Я пиарюсь» если это будет корректно…
                  0
                  Лет пять уже используем линейку www.netping.ru/catalog.aspx?id=_nping
                    +1
                    Устройство разрабатывалось как более дешевый аналог, ну и в Украине
                      +1
                      Заходя, надеялся увидеть описание готового устройства… Вообще функционирующий прототип есть? Или это просто описание того, что планируется сделать?
                      Теперь по существу:
                      1. Вообще, в программе настроек не увидел важную часть: как он управляет выключателем? Т.е. нет пинга, устройство «сработало», ну и что оно сделало? Написано «перезагрузить», ну и на какое время оно обесточило оборудование, разорвав цепь? Какой-то стандартный интервал (к примеру 5 сек)? А может надо наоборот в стандартном режиме держать цепь разомкнутой, а при срабатывании замыкать (к примеру, включить красную лампочку и матюгальник в серверной)…
                      2. Почему не WEB-панелью сделали конфигурирование устройства? Тут софт получается завязанным на конкретную операционку, а там из любого браузера менять можно.
                      3. Какая-то аутентификация есть? Или любой желающий может запустить программу и переконфигурировать устройство, тем самым вызвав непонятные перезагрузки завязанного оборудования?
                        +1
                        Итак, по порядку, это полностью функционирующее устройство, печатные платы изготовлены серийно (по фото вроде как видно, что это не 3Д-модель а устройство).

                        1. Время разрыва цепи питания действительно 5 секунд :) просто это время не изменяется, поэтому не вынесено на вкладку, все остальные параметры полностью конфигурируемы. Нет пинга — устройство клацнуло реле, затем, если стоит опция отправлять снмп-трап, устройство отправляет трап о том, что было перезагружено оборудование.

                        2. по поводу веб, веб требует протокола ТСР, который в реализации несколько сложнее, чем UDP, особенно в современных браузерах, которые открывают немерянное количество сессий. Софт не завязан на операционку, так как используется стандартный протокол управления SNMP и предлагаемый софт просто посылает нужные SNMP-GET и SNMP-SET. если есть желание, можно отправлять подобные запросы хоть из командной строки линукса, хоть из собственной веб-формы (в РНР вроде бы есть неплохая поддержка SNMP). также можно интегрировать устройство в существующие NMS, работающие по SNMP.

                        3. Аутентификация, как уже написано выше, конфигурация реализована на базе SNMP v.1 который предусматривает аутентификацию с помощью community string, другое дело, что данный community string можно перехватить анализатором пакетов, поэтому с точки зрения аутентификации действительно есть некоторые сложности, реализация SNMP v.3 с криптостойкими паролями требует значительных вычислительных мощностей, которые нам пока не по силам (хотя мы работает в этом направлении)
                        Фактически на данный момент степень защиты устройства близка к степени защиты остального недорогого железа, в котором конфигурация производится через HTTP (не HTTPS)
                          0
                          1. Хорошо бы еще чтобы было 2 пары контактов, одна на отключение, другая на подключение (допустимо 3 контакта с одного реле на переключение), ну и время на которое срабатывает задавалось.
                          2. С организацией WEB-сервера, по-моему ничего сложного нет, его чуть ли не в Mega8 пихают по ресурсам. Хотя выбор SNMP теперь мне понятен, главное чтобы формат GET-SET запросов был полностью документирован, ну и может был какой-то пример с исходником (си, питон, перл, пхп и т.п.), как их формировать. Мало того, в этом случае можно и ручной режим сделать (здесь уже админы могут сами писать скрипты на какие-то действия по удаленному управлению питанием оборудования, что расширит сферу применения).
                          3. С протоколом SNMP, к сожалению, знаком слабо. Да, такого уже достаточно.
                            +1
                            с тремя контактами полностью согласен, эта мысль пришла уже когда платы приехали, сразу что-то недопетрили, так что тут пока доработка методом «перерезал дорогу и кинул соплю» :) в следующей партии плат этот недостаток мы устраним.
                            По поводу веб-сервера, у нас есть веб-сервер на меге32, но для работы веб-сервера нужна еще внешняя флеш-память для хранения самой веб-страницы, а это лишние ресурсы (как минимум, более мощный контроллер, так как в этом уже ног свободных не осталось, плюс площадь платы плюс сама флеш) которые скажутся на цене.
                            SNMP расписан достаточно подробно, OID-база естественно будет предоставлена всем желающим, для таких задач SNMP наиболее удачный протокол (что следует из названия самого протокола :) «Простой протокол управления сетью»)
                    0
                    1. Контакты? Как с вами связаться?
                    2. Предполагаемая цена как я понял — 4$. Это от 1 штуки или от партии (100, 1000...)? Или в любом случае 4$?
                    3. Можно взять на тест устройство? Можем купить или под гарантийное письмо. В Днепропетровск можете выслать?
                      0
                      Речь шла об этой ссылке, остальные вопросы пожалуйста в личной беседе
                      www.remotepowerswitch.com/
                      0
                      В Одессе накопал Ethernet Control Box.
                      Там есть датчики температуры и можно пинговать до 4-х хостов.
                        0
                        хочу купить себе. где?

                        Only users with full accounts can post comments. Log in, please.