Зовите детишек! Сейчас дядя Андрей расскажет рождественскую страшилку об NTP (Network Time Protocol).

Почти два года назад, в понедельник 16 января 2017 года, в нашу систему баг-репортов BitFolk поступил интересный тикет от постороннего лица. Отправитель представился как ведущий инженер-программист компании NetThings UK Ltd.

Тема: запрос NTP на IP 85.119.80.232

Привет,

Это может показаться странным, но мне нужно настроить сервер NTP по IP-адресу 85.119.80.232.

Что такого особенного в адресе 85.119.80.232? Это IP-адрес одного из NTP-серверов для обслуживания наших клиентов. За несколько недель до этого тикета сервер также был частью проекта NTP Pool.

Здесь важное слово «был». В конце декабря 2016 года я вывел NTP-серверы BitFolk из общественного пула и заблокировал их для посторонних.

Я так поступил, потому что из-за бага Snapchat NTP на них пошёл необычно большой трафик. На самом деле это не вызвало каких-то огромных проблем, просто такой объём трафика выталкивал полезную информацию из базы сохранения сетевого потока Jump фиксированного размера, а я не хотел разбираться с этим во время праздников, поэтому просто отключил публичный доступ к сервису.

NTP?


Эта статья попала на Hacker News, и там в нескольких комментариях просили вкратце объяснить, что такое NTP, поэтому я добавил этот нетехнический раздел. Если вы знаете технологию, то можете пропустить его.

Network Time Protocol — это средство, с помощью которого компьютер может использовать несколько других компьютеров, часто со всего интернета в совершенно разных сетях под управлением разных администраторов, чтобы точно определить текущее время. При использовании нескольких разных компьютеров некоторые из них выдают неточный результат, некоторые могут быть сломаны или вести себя враждебно, но протокол способен распознать «неправильные» часы и учитывать только результат от более точного большинства.

Предполагается, что NTP используется в иерархическом порядке: к нескольким серверам напрямую подключено аппаратное обеспечение для определения точного времени: атомные часы, GPS и т. д. Они называются серверами Stratum 1. Серверы второго уровня устанавливают своё время по серверам Stratum 1, обслуживают гораздо больше клиентов и так далее.

В прошлые времена бывало трудно найти доступные серверы NTP. В вашей собственной компании мог стоять один или два таких сервера, но на самом деле приходилось сверяться по крайней мере с 3?7 серверами, и лучше от разных организаций. В университетской среде было проще: вы могли поговорить с коллегами и обменяться доступом к NTP. Но по мере роста интернета количество запросов росло, в том числе от коммерческих компаний и частных лиц.

На помощь пришёл проект NTP Pool. Через простой веб-интерфейс желающие добавляли в пул собственные NTP-серверы: они коллективно обслуживались в общей зоне DNS с некоторыми базовыми средствами для распределения нагрузки. Частному лицу позволялось указать три имени из пула, и он бесплатно получал три разных (постоянно меняющихся) сервера NTP.

Предполагалось, что коммерческие компании будут обращаться в отдельную «зону вендоров». Они перечисляют проекту небольшой взнос — и получают зону DNS, выделенную для их продукта, так что администраторам пула проще направлять трафик.

К сожалению, многие компании не затрудняли себя изучением этих тонкостей и просто использовали общую зону пула. NetThings UK Ltd. пошла ещё дальше в очень неправильном направлении — и взяла IP-адрес из пула, просто используя его напрямую и предполагая, что он всегда будет доступен. На самом деле этот бесплатный сервис пожертвовала в общий пул компания BitFolk, а из-за временных неудобств услугу отключили.

Возвращаясь к нашей истории…

Они хотят… чего?


Ведущий инженер-программист продолжил:

Недавно службу NTP отключили, и мне интересно знать, есть ли какая-то возможность запустить её снова по указанному IP-адресу. Либо через текущего владельца IP-адреса, либо через миграцию текущей машины на другой адрес, чтобы мы могли арендовать 85.119.80.232.

Хм…

Я понимаю, что это странная просьба, но могу заверить вас, что она искренняя.

Так не получится


Очевидно, что 85.119.80.232 используют все наши клиентами как резолвер и NTP-сервер. Просить их всех изменить конфигурацию, чтобы отдать адрес в аренду NetThings UK Ltd. — это не вариант. Поэтому я просто убрал файрвол, так что 85.119.80.232 снова стал работать для NetThings UK Ltd., пока мы не выясним, что можно сделать.

Затем я задал несколько уместных вопросов, чтобы определить объём услуг, которые придётся предоставить:

  • Сколько клиентов у вас используют этот сервер?
  • Вы знаете их IP-адреса?
  • Когда им нужен NTP-сервер и как долго?
  • Можно ли их заставить правильно использовать пул (через зону вендоров)?

Глубже в лес


Ответы на некоторые вопросы оказались весьма разочаровывающими.

Сервер частично используется нашей производственной системой, где изначально установлены RTC. К сожалению, достаточно большое количество оборудования (~500 единиц с еженедельными вызовами NTP) работает по роумингу GPRS SIM. Я не знаю, можно ли в этом случае полагаться на исходный IP-адрес APN для настройки файрвола (я проверю). Мы также не можем удалённо обновить прошивку на этих устройствах, поскольку у них квота по трафику 5 МБ в месяц. Мы можем обновить их локально, но для этого потребуются месяцы, а не недели.

Судя по всему, NetThings UK Ltd производила термостаты с дистанционным управлением, контроллеры освещения для больших торговых площадей и т. д. Похоже, им в прошивку записали один из IP-адресов BitFolk, и эти устройства нельзя было идентифицировать или удалённо обновить.



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

Кстати, они решили свою проблему с жёстко прописанным IP-адресом, подняв локально на своём заводе IP-адрес BitFolk, чтобы установить начальную дату/время.



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

Еженедельно??


Вызовы NTP у нас запускает еженедельный крон без балансировки нагрузки на стороне клиента. Это приводит к потоку запросов в одно и то же время каждое воскресенье около 19:45.

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



Ведущий инженер-программист очень волновался, что они стали причиной того избыточного потока, о котором я упоминал ранее, но я заверил, что это определённо баг Snapchat. На самом деле их 500 девайсов никогда не отличались от фонового шума. Оказалось, что полтысячи запросов SNTP — довольно лёгкая нагрузка. Они делали это более двух лет, прежде чем возникла проблема.

Конечно, я отметил их везение, что мы быстро заметили проблему, иначе всё могло закончиться как в деле Netgear против университета Висконсина [когда устройства Netgear зафлудили запросами университетский NTP-сервер — прим. пер.].

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

Прощён. Должен отметить, что на протяжении всего этого времени с ведущим инженером было приятно работать.

Мы заключили сделку


Вообще-то BitFolk предоставляет клиентам NTP-сервис из любезности, это не платная услуга. В конце концов, кто будет за неё платить, если существует общественный пул? Для коммерческой компании правильно поддерживать пул, подписавшись на вендорскую зону.

Но NetThings UK Ltd. оказались в затруднительном положении, и запрет на доступ к NTP-серверу нанесёт им серьёзный финансовый урон. Потенциально я мог бы попросить много денег в тот момент, но я чувствовал (без сомнения, в ущерб своему карману), что это просто неправильно.

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

Кроме того, я предложил оплачивать один час консультаций в месяц в течение 12 месяцев для покрытия расходов на продолжение работы сервера NTP. Конечно, я не трачу по часу в месяц на возню с NTP, но такое нестандартное отклонение от моей обычной работы требовало определённого вознаграждения.

Я очень хотел отметить, что это не навсегда:

Наконец, это штрафная санкция. Похоже, вы сейчас в затруднительном положении, и есть соблазн взимать с вас максимальную сумму (во всяком случае, намного больше, чем ?840 + НДС), но мне это кажется несправедливым. Тем не менее, предоставление услуг NTP третьим лицам — не наш бизнес, поэтому мы ожидаем, что контракт закончится в течение 12 месяцев. Если вам в конечном итоге придётся продлить эту услугу, это будет означать, что мы не взимали с вас достаточно, и мы увеличим цену.

Это кажется разумным?

NetThings UK Ltd. с радостью согласилась на такое предложение.

Ещё раз спасибо за информацию и помощь. Вы спасли меня от огромного количества дурацкой и бесполезной работы. У нас достаточно времени, чтобы всё исправить.

Ухабы на дороге


В дальнейшем я общался с ведущим инженером-программистом лишь однажды. Остальная переписка велась с финансовым персоналом, главным образом потому, что NetThings UK Ltd. не любила вовремя оплачивать счета.

За год NetThings UK Ltd. оплатила с опозданием три из четырёх счетов. В каждом случае я постарался взимать с них установленную законом пеню за просрочку платежа.

Неутешительные итоги года


Когда 2017 год подошёл к концу, я спросил ведущего инженера-программиста, как ситуация с нашим IP-адресом в прошивке их устройств, насколько успешно они решили проблему?

Если вкратце, в большинстве наших продуктов удалось избавиться от использования фиксированного IP-адреса. Осталось обновить ещё один проект, после чего производство новых единиц с такими прошивками будет полностью прекращено. Но у нас по-прежнему в продакшне около 1000 единиц, которые нелегко обновить: они продолжат отправлять еженедельные NTP-запросы на фиксированный IP-адрес. Поэтому, отвечая на ваш вопрос: да, нам по-прежнему потребуется услуга в январе 2018 года.

Это было слегка печально, ведь год назад было «около 500» устройств. Несмотря на все усилия в течение года, число, похоже, удвоилось.

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

Хотите поспорить?


Примерно через 15 недель после сообщения об удвоении цены финансовый директор NetThings UK Ltd. спросил, почему это произошло, одновременно сообщив о переводе одного из просроченных платежей:

Date: Wed, 21 Feb 2018 14:59:42 +0000

Уже оплатили, но не могли бы вы пояснить, почему цена удвоилась?

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

Моё обоснование состояло в том, что увеличение цены произошло в основном из-за просроченных платежей с их стороны: они отнимают слишком много времени, поэтому в случае сохранения квартальной оплаты мне нужна возможность взимать больше в случае необходимости. Если хотят гарантий, на мой взгляд, они должны заплатить за это, сделав один годовой платёж.

Ответа не последовало, так что платежи продолжались на ежеквартальной основе.

Вот и сказке конец


20 ноября 2018 года мы получили письмо от Deloitte:

Netthings Limited – In Administration (“The Company”)

Номер компании: SC313913


[…]

Прекращение деятельности

Компания прекратила деятельность с 15 ноября 2018 года.

Расследование

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

А потом 21 декабря:

В соответствии с пунктом 51(1)(б) закона «О несостоятельности и банкротстве» 1986 года, Управляющий имуществом не обязан созывать собрание кредиторов кроме случаев, когда у компании достаточно средств для распределения среди необеспеченных кредиторов или если встреча требуется по форме SADM_127 необеспеченными кредиторами с 10% и более стоимости долга. Средств для распределения среди необеспеченных кредиторов нет, поэтому собрание созываться не будет.

К счастью, их единственный неоплаченный счет был за обслуживание с ноября, так что всё было оплачено.



Вот такая история NetThings UK Ltd, смелого покорителя Интернета вещей, который думал, что общественный пул NTP — просто неотъемлемая часть интернета и каждый может использовать его бесплатно, достаточно выбрать наугад один IP-адрес и зашить его в тысячи своих устройств, которые распространяются по всей стране без возможности удалённого обновления.

Этой веры в сочетании с инновационным нежеланием ни за что вовремя платить, к сожалению, оказалось недостаточно, чтобы сохранить платёжеспособость.

Комментарии (118)


  1. AEP
    26.12.2018 11:29

    Сколько денег в общей сложности потеряно на штрафы от валютного контроля? Как вообще для валютного контроля оформляется ситуация «платежей больше не будет в связи с банкротством контрагента»?


    1. johndow
      26.12.2018 12:07
      +3

      Ну не видят люди слова «Перевод» в шапке :)


      1. aik
        26.12.2018 12:12

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


        1. johndow
          26.12.2018 12:16
          +2

          11 лет я читаю Хабр и, кажется, все 11 лет в каждом посте-переводе найдётся хотя бы один человек, который не понял, что это перевод.
          Я и сам в текущем интерфейсе это не всегда сразу понимаю.


          1. aik
            26.12.2018 12:56
            +4

            Я на хабр прихожу из rss-подписки — там сразу в заголовке статьи есть слово «перевод».


            1. Tortortor
              26.12.2018 15:09
              +1

              это если руки переводчика были достаточно прямыми для оформления поста как «перевод». по моему мнению 10%-20% статей идут без этой пометки.


              1. aik
                26.12.2018 16:40

                Ну здесь-то оформлено. Просто на сайте «перевод» не так ярко светится, можно и промотать.


          1. nevzorofff
            26.12.2018 23:38
            +6

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


            1. sumanai
              27.12.2018 00:26

              И цены в фунтах стерлингов.


        1. Occama
          26.12.2018 16:04
          +3

          Понял, что это перевод, ещё на четвёртом абзаце, сразу же возмутился этим «дядей Андреем». Вдобавок ещё и сам Андрей, так что тем обиднее, когда имена подменяют. Уж не говоря о том, что это в принципе признак непрофессионализма.


          1. Lelushak
            28.12.2018 20:37

            Не согласен. Адаптировать имена, расстояния, валюты и прочие культурно-зависимые вещи, — это хорошо и правильно и упрощает чтение.


            1. freuser
              29.12.2018 10:29

              Джон Сноу > Ванюша Снежный?
              :)


            1. Occama
              29.12.2018 10:57

              По поводу расстояний, весов и прочего — согласен, потому что это переводится однозначно и непосредственно. И то, в ряде случаев имеет смысл оставить условную имперскую систему мер для атмосферы. По поводу валют: серьёзно? По какому курсу? На какую дату? Удачи перевести в тексте 17 века золотые английские фунты в российские червонцы. Имена имеет смысл адаптировать только в художественных текстах, где это способно передать авторский замысел (фанатам Жоры Гончара Гарри Поттера есть много, что сказать по этому поводу), в остальном адаптировать имена ну совсем бред же. У меня вот наоборот о такие вещи взгляд постоянно спотыкается.


    1. j_wayne
      26.12.2018 14:39

      А не надо им показывать инвойс заранее)
      P.S. я про гипотетическую ситуацию — оригинал я читал еще на HN.


  1. iig
    26.12.2018 12:33
    -1

    Да уж… рука-лицо… х@@к-х##к и в продакшн.
    Аппаратные часы стоят копейки. Экономить на промышленном, блджад, контроллере целых полбакса?
    Найти денег, чтобы заплатить инженеру, чтобы тот почитал про NTP, и сэкономить на чтении главы про DNS?


    1. urtow
      26.12.2018 13:16
      +2

      Вопрос точности. Аппаратные часы все же не супер точные и имеют какоую-то ошибку.


      1. iig
        26.12.2018 14:01
        +1

        Для контроллера освещения (и для нагревателя тоже), КМК, достаточно точности в единицы минут. Даже не буду считать, за сколько десятилетий самый дешевый кварц убежит на 10 минут.


        1. dimchik_b
          26.12.2018 17:47
          +2

          А чего тут считать?! Полсекунды в день — 1200 дней, 3.5 года


          1. iig
            26.12.2018 18:14

            То есть в самом-самом плохом случае самого-самого дешевого RTC хватит на гарантийный срок. Но это плохое решение.
            Никто не обратил внимание, что эти ихние контроллеры работают по GPRS? А я слышал, что в GSM сетях тоже используется синхронизация времени… И NTP тут лишнее…
            В этой ситуации всё гармонирует: и 4 директора на 1 технаря, и максимально странная реализация синхронизации времени, и невозможность в роуминге обновить прошивку, и что деньги внезапно кончились.


            1. walti
              26.12.2018 19:45
              +1

              А я слышал, что в GSM сетях тоже используется синхронизация времени… И NTP тут лишнее…

              NITZ has been an optional part of the official GSM standard since phase 2+ release 96.

              United Kingdom EE (telecommunications company) NITZ available since — (прочерк)


              В этой ситуации все гармонирует: и 4 комментатора на 1 специалиста, и максимально странные советы о синхронизации времени.


              1. onlinehead
                26.12.2018 22:50

                А у двух других провайдеров из того же списка (Telefonica O2 и Vodafone) — есть. Более того, список очевидно не точный и не полный.
                Но в целом да, я с вами согласен — это не универсальное решение.


            1. SunTechnik
              27.12.2018 13:04
              +1

              В Москве несколько раз попадал, что с базовой станции телефону прилетало то неправильное время, то неправильная временная зона. Формально, оператор не предоставляет услугу точного времени… Поэтому на синхронизацию по GSM я бы не закладывался…


              1. acmnu
                28.12.2018 11:32

                Особенно плохо было в моменты приключений с таймзонной в РФ. Приходилось на месяц — два эту фичу в телефоне рубить.


        1. wormball
          26.12.2018 18:12

          У меня в розетке с таймером и в ваттметре отстают на 10 минут меньше, нежели за год. В ваттметре — сильно меньше, чем за год. Ежели кварц хороший (скажем, секунда в сутки) — получается, что два года. Ежели, конечно, температура комнатная.


        1. Jef239
          27.12.2018 01:30

          В среднем за полгода из тысячи устройств найдется хоть одно (а скорее десятки) с неожиданно сдохшей батареей. И именно у него потеряется внешнее питание. Мы по этой причине вместо батарей ставим ионисторы. Даже если совсем сдохнут, все равно пару часов продержатся (вместо исходных 3 суток).


        1. nochkin
          27.12.2018 06:23

          За столько десятилетий там просто тупо сядет батарейка поддержки времени.
          Софтовая реализация через NTP Pool намного дешевле. Тем более, что есть связь.

          А по поводу дешёвого кварца — мне часто попадались часы, которые убегали в сторону минимум на минуту в месяц. Это на коммерческих серверах.


        1. olartamonov
          27.12.2018 08:43
          +1

          www.ndk.com/images/products/catalog/c_NX2012SA-STD-MUB-1_e.pdf

          Типовой неплохой часовой кварц, ±20 ppm при комнатной температуре — 60*60*24*365 * 20E-6 = 630 секунд в год.


          1. iig
            27.12.2018 10:24

            Да много лет не хватит.
            Вот что интересно, гипотеза вида "а получится ли получить характеристики ХХХ от технологии УУУ доказывается или опровергается моментально, нужно всего лишь глянуть в документацию.


          1. walti
            27.12.2018 11:08

            Для генератора Пирса (который на одном ЛЭ) емкость нагрузки в явном виде задает частоту.
            Так что, в реале — как минимум в два раза хуже из-за нестабильности емкостей CMOS микросхемы от температуры и напряжения питания.

            В общем, нормально идущих дешевых часов я видел ровно одни — видимо звезды случайно сошлись в разводке, типе кристалла и типе шунтирующих конденсаторов.
            А так — минут 5 в месяц точно набегает.


            1. SlimShaggy
              28.12.2018 21:35

              У меня дешевый наручный Timex, купленный в 2001 году (правда, в Штатах) не убегает за год даже на минуту. Даже не могу вспомнить, когда последний раз подводил — года 3 назад наверное.


      1. OvO
        26.12.2018 17:57

        есть и суперточные, синхронизируются по спутнику, работают как ntp сервер + секундный импульс


    1. spot62
      26.12.2018 13:44
      +3

      распределенные системы должны иметь не просто точное время, а единое точное время.


      1. Zagrebelion
        27.12.2018 12:04
        +2

        ну или хотя бы просто единое.


    1. spc
      26.12.2018 14:24
      +1

      Так они там есть. Синхронизация по NTP решает вопрос с точностью в интервалах между синхронизацией.

      где изначально установлены RTC.


  1. spot62
    26.12.2018 13:44
    -4

    странные акценты у автора статьи: использовали мои ntp серверы и обанкротились.
    перепрошить 1k устройств та еще задача…


    1. spc
      26.12.2018 14:29
      +6

      Ну не знаю. Для меня акценты такие:

      1) Не поняли, что такое NTP

      2) Нарушили общепринятые правила коммерческой эксплуатации и здравого смысла (все девайсы ломятся на синхронизацию в один день и час)

      3) Настолько не смогли сделать свой продукт конкурентоспособным, что разорились. И NTP здесь вообще ни при чем.

      А вообще, я тоже посмеялся в стиле «ну парни дают, ну дают… да я б также сделал!». Но я-то просто ничего не понимаю и вне коммерции, а они вон какие-то штуковины продавали.


      1. spot62
        26.12.2018 15:36

        Предполагаю, что разработчик использовал ntp с vps, которую ему фирма автора предоставила. Зашил этот ntp в свои устройства, чтобы время было везде одинаковое.
        Какое-то время это работало, а потом автор решил не давать ntp никому, кроме своих vps и устройства отвалились.
        При проектировании разработчик «устройства управления освещением через GSM», решил что это достаточно тривиальная/дешевая вещь, чтобы обновлять в нем прошивку по воздуху. Или времени было немного, или еще что, а инфраструктура в лице vps уже была арендована и ничто не предвещало…
        Тут просто звезды не сошлись, пмсм. Так вот проектируешь, проектируешь, а потом приходит монтажник с кусачками — и твоему «интернету вещей» все.


        1. dmitryredkin
          26.12.2018 17:39

          А в равной (а может даже и более вероятной) степени этот IP мог случайно выпасть по

          nslookup pool.ntp.org

          и разработчик просто жестко его зашил, чтобы не париться с DNS.


          1. spot62
            26.12.2018 18:12

            Что такого особенного в адресе 85.119.80.232? Это IP-адрес одного из NTP-серверов для обслуживания наших клиентов

            проще добавить свой сервер в ntp.conf, чем настраивать dns для ip на pool.ntp.org?
            да и не к pool.ntp.org ntpd обращается, а к списку в своих настройках.

            Просто автор ожидал, что разработчик установит собственный ntpd сервер на арендованном vps и обновит прошивку. И вот обновить прошивку оказалось непросто…

            Автор вывел адреса ntp из пула. Т.е. обращение к ним м.б. только при явном обращении. Он бы вообще не заметил этот трафик по вечерам воскресений, если бы его до этого не заспамили «багом Snapchat», после чего автор решил «перебздеть» и вообще отрубить внешний трафик на свои ntp серверы


          1. iig
            26.12.2018 18:19
            +1

            #define rand 42


            1. vvzvlad
              27.12.2018 12:24
              +2

              Генерация случайных чисел — слишком важная штука, чтобы полагаться на волю случая.


            1. olartamonov
              27.12.2018 13:47
              -1

              1. mayorovp
                27.12.2018 15:58

                RANDOM_SEED_DEFAULT — это как раз нормально, все так делают. Откуда-то же нужно взять начальное значение для внутреннего состояния ГПСЧ…


                1. iig
                  27.12.2018 17:52

                  Если в серии из 100500 устройств random инициализируется одинаково — значит у всех он будет выдавать одинаковую последовательность. |А потом на этом устройстве запустят что-то криптографическое…


                  1. mayorovp
                    27.12.2018 18:22

                    А надо разделять криптостойкий рандом и обычный. В приведенном куске кода инициализируется обычный, что видно хотя бы по типу переменной seed. Там тупо мало бит для инициализации криптостойкого ГПСЧ.


                    1. roboqueer
                      27.12.2018 22:48
                      -3

                      Какой нахрен «криптостойкий ГПСЧ»? Самый простой метод предотвращения коллизий в радиоканале — при обнаружении одновременной передачи оба устройства ждут случайное количество воремени, потом повторяют попытку. Криптостойкий ГПСЧ тут городить не обязательно, а взять откуда-то индивидуальный seed для каждого устройства — просто необходимо.

                      Хотя вот смотрю в профиль — и вижу там обычного говнюка, именующего себя «fullstack C#/TSQL/js/html/css/msbuild/powershell developer». Тебе кто вообще разрешал пасть открывать, криптограф недоделанный?


                1. vanxant
                  28.12.2018 00:21

                  Ну вообще часто есть мак-адрес и прочие там imei… они хотя бы в теории разные, если не совсем китайские клоны покупать.


  1. alexhott
    26.12.2018 13:51
    +1

    Ну я думал, что возможность удаленной перепрошивки, ну как минимум изменения конфигурации — обязательная часть любого проекта где используется много удаленных устройств. Иначе — Прекращение деятельности.


    1. spc
      26.12.2018 14:31
      +1

      Как мне кажется, если это не твоя система, продаешь штуки отдельным клиентам — необязательно. Нужна перепрошивка — добро пожаловать в сервис или зовите нашего сервисмена в гости.


    1. vanxant
      26.12.2018 23:42

      Нет конечно. Я покупаю гребаный датчик, я не хочу, чтобы производитель в будущем мог удалённо его перепрошить без моего ведома! И изменить конфигурацию тоже.


      1. sumanai
        27.12.2018 00:27
        +1

        А большинство хочет, чтобы устройство просто работало. Увы.


      1. khim
        27.12.2018 02:35

        А вы, я извиняюсь, кто — завод, кинотеатр или торговый центр?

        Подходы у частных лиц и организаций ко всему этому отличаются. Настолько, что если вы внимательно вчитаетесь во флагманскую лицензию FSF, то обнаружите, что как раз специально для датчиков, подобных обсуждаемым в статье — там сделано исключение.

        Потому что компания не покупает «просто датчик». Она покупает работающий датчик. И заключает договор на обслуживание.

        Как производитель может этот датчик обслуживать, не имея возможности сменить на нём прошивку — для меня загадка.


        1. prs123
          27.12.2018 09:01
          +1

          "Как производитель может этот датчик обслуживать, не имея возможности сменить на нём прошивку — для меня загадка."
          Приезжает сервис-мен и в личном присутствии все обновляет и проверяет. А то будет — ой, мы там прошивку поменяли, но в ней глюк, недельку работать не будет


          1. nidalee
            27.12.2018 12:27

            И как приезд специалиста спасет от глюка в прошивке? По вашей схеме к «недельке» просто добавится еще то время, что сервисмен будет туда-сюда кататься. А на объектах еще и пропуска могут быть, тогда еще и пролететь с приездом можно случайно.


            1. prs123
              27.12.2018 13:16

              Он запустит прошивку, проверит её работоспособность. Если что — откатит назад. В случае чего — головой будет отвечать


              1. nidalee
                27.12.2018 14:43

                А, ну это если прошивка совсем не рабочая, такого в принципе быть не должно. А если там небольшой баг всплывает, что гораздо проще пропустить в продакшн (да хоть тот же, что и в статье), тогда опять спеца гонять?


              1. vassabi
                27.12.2018 14:49
                +1

                В случае чего — головой будет отвечать

                люблю такое — сразу видно старую школу руководителей.
                ок, представим, что «всё плохо» и один специалист вам «ответил головой».
                Как думаете — быстро ли приедет ему на смену второй? Во-вторых — как быстро после этого заработает неработающее устройство (датчик и т.д.)?


                1. walti
                  27.12.2018 15:14
                  -2

                  Стиви Джобс находил быстро, хотя считается что в отношениях с подчиненными он был тем еще мудаком.
                  Балмера вообще все ненавидели, а поди ж ты, за окном в Редмонде очереди стояли.


                  1. walti
                    27.12.2018 21:56

                    Что-то я тренд пропустил.
                    "-2"
                    Джобс уже не икона?
                    Ок, кто еще из живых мудаков остался?
                    На кого держать равнение?


                    1. sumanai
                      27.12.2018 23:46
                      +1

                      Что-то я тренд пропустил.

                      В районе чтения правил этого ресурса по-видимому.


            1. vanxant
              27.12.2018 15:14

              Ну так например, что приехавший специалист всё-таки разберётся с местным конфигом и особенностями до того, как что-то делать.
              А не так что хренак-хренак и в продакшн сразу для всех.


              1. nidalee
                27.12.2018 15:38

                Это надо нехилую (читай, платную) техподдержку иметь, чтобы специалист еще и разбирался, а не просто «коробки вешал».


                1. mayorovp
                  27.12.2018 16:04
                  +1

                  Ну так потому это и называется «договор на обслуживание»…


                  1. khim
                    27.12.2018 22:41

                    И в случае, если вас допускают «вовнутрь железки» чиселко в графе цена получает справа нолик… а то и два.


              1. khim
                27.12.2018 22:40

                Цена на подобное техобслуживание отличается на порядок… а то и не на один.

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


        1. roscomtheend
          27.12.2018 11:05

          Кинотеатр (а тем более завод) не очень захочет пускать в свою сеть. Заключается договор, по которому происходит ремонт, смазка, чистка, поверка оборудования. Или силами предприятия, или обслуживающей организации (одна на холдинг — для завода объёмы маленькие, а несколько уже имеет смысл себе забрать) или производителем.


          1. khim
            27.12.2018 22:43

            Всё зависит от цены. Во многих случаях за желание «никого не пускать в свою сеть» приходится доплачивать столько, что службу безопасности (которая, конечно, тремя руками «за») на время переговоров просят выйти в коридор.


  1. evil_me
    26.12.2018 13:54
    +1

    Отличная история, прочитал на одном дыхании.
    Спасибо за перевод!


  1. fukkit
    26.12.2018 14:25
    -4

    Однако, прайс он им зарядил неслабый. Нажился на чужой беде как таксист на катаклизме.

    На самом деле их 500 девайсов никогда не отличались от фонового шума


    1. urtow
      26.12.2018 14:36
      +14

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


      То есть 12 часов консультации в год, это много? Или ему стоило бесплатно давать использовать свои ресурсы и время?

      Нет, он поступил правильно. Потому что сделай он бесплатно, никто бы и не почесался, чтобы исправить. Ну вот реально, никто.

      Люди планомерно загоняли себя в жопу и получили закономерный результат. Где тут катаклизм?


      1. AlexSky
        26.12.2018 19:54
        +1

        Самое смешное, они и так не почесались.


        1. nochkin
          27.12.2018 07:12
          +2

          Они явно почесались, но не в том месте. Ведь устройств стало в два раза больше.


          1. rexen
            27.12.2018 23:24

            Если не ошибаюсь, в какой-то серии мультика Утиные истории (Duck Tales) фигурировал некий убер-девайс, делающий копии всего подряд :)


    1. spc
      26.12.2018 14:42
      +2

      Мне сейчас лень разбираться с НДС в ЮК, но это вряд ли сотни процентов. Давайте посчитаем без него. Итак, предпосылки.

      1) У тебя бизнес с как минимум 500 клиентами (или, так как суть неясна, с 500 девайсами)

      2) Каждому клиенту-девайсу нужна синхронизация.

      Ценник — 840 фунтов в год. Считаем 840/12 = 70, примерно 6100 в рублях. Делим на 500 устройств и получаем добавку в абонентской плате на 12 рублей в месяц. Ну или увеличение текущих расходов на эту сумму.

      Или по-другому. Данная услуга преподносилась как «консультация». Не знаю, мне видится, что в той же Москве за 6000 местный консультант уровня того владельца NTP-пула даже попу от стула не поднимет — не окупится.

      Плюс, коммерсант схитрил. Сначала говорил про 500 устройств, а потом песня сменилась на 1000 — значит всех все очень-очень устраивало.


      1. viloncool
        26.12.2018 15:24
        +2

        Так работа заключалась лишь в настройке файрволла для предоставления доступа к NTP серверу, а в дальнейшем — это были ежеквартальные халявные ~18000 (в рублях) без каких-либо затрат рабочего времени.


        1. spc
          26.12.2018 15:40
          +2

          Если я правильно понял, то человек владеет сетью и администрирует NTP-серверы. То есть, он оплачивает их эксплуатацию, занимается (при необходимости) настройкой, обновлением, оптимизацией, отвечает на глупые, но вежливые вопросы «ведущих инженеров» и прочая.

          Вот такая халява, сэр.


          1. urtow
            26.12.2018 16:09
            +2

            Человек владеет (или работает) в хостинге, который предоставляет клиентам VPS.


    1. walti
      26.12.2018 14:44

      В армии нет слова украли беда, в армии есть слово про.... косяк.
      Кто-то немножко обложался, кто-то должен заплатить. все более чем честно.


    1. staticlab
      26.12.2018 14:46
      +2

      840 фунтов в год — это всё равно намного меньше, чем месячная зарплата программиста и архитектора, которые допустили такой маразм.


      1. walti
        26.12.2018 15:02

        Если это они, то героев можно посмотреть в лицо
        www.netthings.co.uk/about-us
        Нету у них архитектора.


        1. urtow
          26.12.2018 15:11
          +4

          Ну видимо теперь нет %)

          UPD: Знаете кого я там не увидел? QA.


          1. staticlab
            26.12.2018 15:37

            Ни QA, ни архитектора, ни CTO / VPoE. Зато 4 человека в совете директоров.


            1. bjornd
              26.12.2018 15:59

              Но стоить заметить что трое из них «Non Executive».

              Futurama
              image


            1. Occama
              26.12.2018 16:09

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


              1. staticlab
                26.12.2018 16:11
                +1

                Экономии на техническом персонале в технологической компании.


              1. walti
                26.12.2018 18:12

                Архитектор им очень нужен.
                С архитектором бы точно взлетело — они бы завоевали все рынки мира.

                на самом деле нет
                У них бы еще быстрее бюджет закончился и еще быстрее слились бы.


    1. Greendq
      27.12.2018 02:15
      +5

      — Официант, сколько стоит капля водки?
      — Нисколько!
      — Отлично! накапайте мне 2 стакана!


    1. roscomtheend
      27.12.2018 11:10

      Или они как профессиональные нищие — давить на жалость, получая профит, но не менять своего поведения.


  1. OvO
    26.12.2018 18:01

    «Попробуйте купить или собрать сами сервер точного времени с синхронизацией от СНС.» — посоветовал бы я, если бы это был не перевод статьи.


  1. NikiN
    26.12.2018 18:14

    Я далек от прошивок, там днс еще не изобрели что-ли? Ну и сурово у них, почти 1к евро за ntp сервер.


    1. vanxant
      26.12.2018 23:51
      +4

      На самом деле знаю парней, которые именно что не парятся днс в прошивках. Для них поднимать целую подсистему dns resolver, которая потом ещё и будет глючить (а на gprs она будет глючить, в смысле тормозить), и вешать за собой всё сетевое i/o, а с ним и всю микропрограмму (т.к. никакой асинхронности или многопоточности нет, тупо примитивный поллинг цикл)… В общем, очень небесплатное мягко скажем решение.
      Но эти парни, конечно, выкупают себе диапазон ip адресов и ставят свои сервера, плюс имеют возможность смены конфигурации целевых айпишников через SMS, а не шлют пакеты на деревню дедушке.


  1. Naves
    26.12.2018 19:22
    +1

    Есть такая фирма медицинского оборудования Mindray, у нее есть серия прикроватных мониторов для пациентов, которые измеряют медицинские параметры пульс, давление, и тд. Они рисуют красивые графики и пикают, все как в фильмах показывают.

    вот такой
    image


    1. artskep
      26.12.2018 20:39

      Хм… как это не странно, но, если действительно идея в том, чтобы приборы подключались сами, то наличие публичного адреса вполне обоснованно — он точно не будет конфликтовать с любым другим адресом внутренней сети. Если бы взяли серый адрес, то есть ненулевая вероятность, что по этому адресу внезапно оказался бы какой-то внутренний сервер, что усложнило бы развертывание системы, или вообще создало проблему с прибором, внезапно нашедшем по знакомому адресу что-то не то.
      Резервирование публичного адреса практически устраняет эти риски.


    1. artskep
      26.12.2018 20:52

      Те адрес локальной сети мониторов всегда будет 202.114.4.0/24

      Кстати, а что, кроме лени, заставляет это делать? Почему на роутере не прописать для монитора в ординаторской маршруты на 202.114.4.119/32?
      Не спорю, что это может быть еще тот геморрой ради одного компьютера заниматься подобным сексом с таблицами маршрутизации (возможно, во многих местах сложной инфраструктуры). Но не то, чтобы прям таки что-то выходящее за рамки…


    1. Megakazbek
      27.12.2018 00:55
      +1

      А что тут не так?
      Это получается обыкновенный anycast, точно так же как, например, DNS-сервер гугла — в какой сети бы он ни стоял, имеет публичный адрес 8.8.8.8.


      1. wormball
        27.12.2018 10:46

        Эм, ну то есть по-вашему всё равно, на какой монитор придёт кардиограмма — в Москве или Урюпинске?


        1. Megakazbek
          27.12.2018 20:38

          Нет, по-нашему должно быть всё равно, в какую больницу приедет пациент — в Москве или Урюпинске, а кардиограмма должна попасть на монитор именно в этой больнице. Anycast-адресация позволяет решить такую задачу.


    1. Norno
      27.12.2018 15:13
      +1

      Это КРАЙНЕ странно, не похоже чтобы в этом устройстве была большая проблема с ресурсами, как привели выше в комментариях для микроконтроллера, а поэтому, возникает вопрос, почему не использовать стандартную возможность DNS — SRV-запись. Стандартно, легко настраивается, не накладывает каких-то особых ограничений.


      1. mayorovp
        27.12.2018 16:08

        А вы уверены, что настроить DNS будет проще, чем маршрутизацию для конкретного адреса? Маршруты как бы можно даже в домашних роутерах прописывать, а вот отдельного DNS-сервера в сети может и не быть вовсе.


  1. avelor
    26.12.2018 21:09
    +1

    А мне всегда было интересно, сколько всего навернётся, если гугл уберёт 8.8.8.8 из общего доступа


    1. sumanai
      26.12.2018 23:32
      +1

      Не уберёт, это же его основной бизнес.


      1. avelor
        27.12.2018 00:14
        +3

        Да даже если пинги отключит, уже думаю будет изрядно головняков


        1. khim
          27.12.2018 02:44

          Даже когда несчастный www.ru перестал на пинги отвечать служба техподдержки у многих провайдеров взмокла. Через несколько дней вернули.


          1. mspain
            27.12.2018 06:27
            +3

            ya.ru короче, никогда не понимал тех, кто пишет длиннющий www.ru


            1. roscomtheend
              27.12.2018 11:21

              Пишут те, кто быстрее нажимает кноку, чем переносит руку.


            1. Bal
              27.12.2018 11:39

              ya.ru появился публично много позже, чем www.ru — поэтому у многих за годы привычка выработалась.


              1. mspaint
                28.12.2018 09:12
                -3

                Ты, судя по фотке, из ИТ тусовки, а whois пользоваться так и не научился.
                1998 vs 1999.


                1. Bal
                  28.12.2018 09:55

                  Вы слово «публично» пропустили. Кстати, домен www.ru старше. Я к нему обращался сразу, как начал активно пользоваться Интернетом. А было это в 1997 году.


    1. iig
      27.12.2018 00:15
      +1

      На фоне прочего сетевого апокалипсиса облом в синхронизации времени на паре тысяч датчиков никто не заметит.


    1. AVAF
      27.12.2018 13:04

      Да хотя бы ICMP зарезать.


  1. balamutang
    26.12.2018 23:39

    Правильно ли я понимаю что оплата за услуги ntp должна была пойти собственникам хостинг-провайдера, а попала в карман инженера?


    1. symbix
      27.12.2018 00:14
      +1

      Судя по linkedin, он директор компании.


  1. lxsmkv
    27.12.2018 02:24
    -2

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


    1. Wesha
      27.12.2018 05:05

      что делать чтобы это не происходило с нами

      Помнить, что "В интернете есть всё. Но не всегда." ©


  1. scruff
    27.12.2018 08:23

    Вообще, странно, что те индустриальные девайсы не были зашиты на DNS-имена глобальных ntp-серваков, например такого 0.pool.ntp.org. Также интересно знать — как часто меняются IP-шники у глобальных серваков? Я так понимаю, что не стОит рассчитывать на долгосрочную работу от первого прорезолвленного IP-шника 0.pool.ntp.org.


  1. odiemius
    27.12.2018 09:49

    Ну вот а теперь представьте что правительство россии сделало
    $CHEBURNET_MODE=true
    и мы сразу увидим сколько всего навернётся, в самых, казалось-бы, неожиданных областях.
    Отвалившиеся заграничные сайты будут только цветочками :)


    1. roscomtheend
      27.12.2018 11:27
      -3

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


      1. sumanai
        27.12.2018 23:49

        Они этим заниматься не будут. Будем заниматься мы за наш же счёт.