Internet 0
Internet 0 — это низкоскоростной физический уровень, разработанный с целью организации маршрутизации по принципу «IP через что угодно»[1], то есть передачи данных по протоколу IP на различных физических носителях. Технология разработана в Центре битов и атомов Массачусетского технологического института (MIT) Нилом Гершенфельдом (англ. Neil Gershenfeld), Раффи Крикорианом (англ. Raffi Krikorian) и Дэнни Коэном (англ. Danny Cohen). Во время появления технологии существовало множество других инициатив, получивших название «Интернет 2», а выбранное название подчёркивало, что Internet 0 создаётся как медленная, но крайне дешёвая система межсетевого обмена данными, чтобы избежать вопросов типа «насколько она быстрая» и сравнения по производительности[1].
Internet 0 служит платформой для повсеместных вычислений, где каждое устройство или объект в здании могут быть объединены в единую сеть для обмена данными и управления. Например, выключатель может включать лампочку, отправляя ей сетевой пакет; устройства легко связываются между собой пользователем.
История
Первоначально Internet 0 был небольшим вспомогательным инженерным проектом в MIT, призванным облегчить интеграцию и сбор данных в других инициативах института, главным образом за счёт управления системами отопления, вентиляции и кондиционирования (HVAC) зданий.
Протокол проявил хорошую работоспособность на различных физических носителях передачи данных, что заинтересовало сетевых теоретиков, породило волну академических публикаций и вызвало определённый коммерческий интерес.
Благодаря своей простоте и дешевизне, технология находит применение у энтузиастов и студентов, для которых разрабатываются большинство новых реализаций (по состоянию на 2011 год). Современные версии зачастую реализуются программно на небольших микроконтроллерах, обычно используют транзистор для передачи сигналов и конденсаторы для гальванической развязки. Наибольшую стоимость в системе составляет сам разъём подключения. Благодаря этому подходу Internet 0 может быть встроен в большое количество устройств, обеспечивая дистанционный сбор данных и управление через Интернет — такие устройства могут стать частью Интернета вещей.
Крупнейшее на сегодняшний день внедрение Internet 0 было осуществлено в рамках Венецианской биеннале архитектуры в 2008 году группой под руководством Института передовой архитектуры Каталонии под руководством архитектора Висенте Гуальарта (англ. Vicente Guallart).
Теоретические основы
Ключевая идея Internet 0 состоит в создании универсального физического уровня, способного эффективно работать на различных носителях. В этом плане он сравним с азбукой Морзе — универсальным уровнем 1 для Интернета. Логически это можно рассматривать как рекурсивное применение интернет-принципа (универсального протокола) к самому аппарату транспортировки на сетевой модели OSI.
Модуляция по позиции импульса (pulse-position modulation) наиболее эффективно работает по выделенной паре проводов, но может использоваться и на других носителях. Метод успешно тестировался по радиоканалам (RF), инфракрасному излучению (IR), ультразвуку, оптоволокну, на постоянном и переменном токе, а также в виде физических меток (штрихкодов, гравировки на ключе).
Одним из главных преимуществ метода является простота реализации маршрутизаторов: они представляют собой датчик, устройство формировки импульсов и передатчик.
Использование многократно пригодного физического уровня совместно с интернет-протоколами позволяет создавать дешёвые, но при этом адресуемые с глобального Интернета устройства.
Требования к системе
Проектировалось создание простой и очень дешёвой системы, способной передавать данные на низкой скорости по самым разным физическим средам связи, но при этом обеспечивать интеграцию с Интернетом. Ключевой особенностью была именно возможность подключения — значимая часть ценности устройств складывается из простого и масштабируемого внешнего доступа.
В качестве протокольных уровней чаще всего используются SLIP (Serial Line Internet Protocol), IP (Internet Protocol), а поверх них — UDP (User Datagram Protocol) либо реже TCP (Transmission Control Protocol).
Протокол выбирается таким образом, чтобы минимизировать объём программного кода и, соответственно, стоимость аппаратных устройств. Реализации протокола существуют для маломощных микроконтроллеров AVR. Как правило, слои не разделяются чётко, так как уменьшение размера кода имеет больший приоритет, чем архитектурная элегантность.
Для подсоединения локального сегмента Internet 0 к Интернету обычно применяется переводящее устройство, подключаемое к последовательному порту ПК, который выступает в роли шлюза и межсетевого экрана.
Связь между устройствами может происходить напрямую, не требуя наличия центрального сервера, а распределённая архитектура исключает единую точку отказа.
Назначение адресов и инициализация криптографических ключей часто осуществляется замыканием контакта на устройстве и широковещательной передачей управляющего сообщения с мастер-контроллера. Защита реализована посредством упрощённого шифрования.
Реализация
Протокол Internet 0 аналогичен работе последовательного порта на скорости 9600 бод, но данные передаются с использованием модуляции по позиции импульса (pulse-position modulation) и допускается отклонение по времени передачи до 30%. Передача ведётся по широковещательному полудуплексному каналу. Программное обеспечение устройств анализирует IP-адреса приходящих пакетов и отбрасывает нерелевантные.
Ноль кодируется как микросекундный импульс в середине первой половины битового интервала, а единица — как импульс во второй половине. Данные передаются в байтах по 8 бит. Перед каждым байтом идёт битовый интервал с двумя импульсами (для 1 и 0), а оканчивается байт ещё одним двухимпульсным интервалом. В некоторых версиях стоповый бит может быть опущен, а двойные импульсы используются для разделения байтов.
Двойные стартовые и стоповые импульсы позволяют синхронизироваться с началом и концом байта и определять скорость передачи. Синхронизация по 8-битным байтам даёт возможность прямой трансляции соединения Internet 0 на скорости 9600 бод в стандартный последовательный 19 200 бод TCP/IP-порт. Определение скорости передачи позволяет использовать дешёвые низкоточные генераторы тактовой частоты.
Наиболее распространённое подключение — через питающий провод устройства. Для связи используется небольшой поверхностно-монтируемый конденсатор, подключённый между проводом переменного или постоянного тока и цифровым пином микроконтроллера, кратковременно замыкающим мощный транзистор. Импульсы формируются программно — сменой состояния цифрового вывода микроконтроллера. Приём ведётся через отдельный конденсатор на прерывание либо дешифратор аппаратного таймера.
Коммерческие препятствия
Хотя Internet 0 работает на многих физических носителях, для каждого их них часто существуют конкурирующие фреймы, более надёжные, быстрые или энергоэффективные. Например, для электросетей это Homeplug или G.hn, для автомобильных систем — LIN. Хотя они обычно уступают в универсальности и стоимости, однако отличаются предсказуемостью и меньшим элементом неожиданности.
На ранних этапах концепта коммерческим внедрением Internet 0 интересовались компании Sun Microsystems, Cisco Systems и Schneider Electric. Впоследствии Schneider выбрала для развертывания протокол Zigbee — беспроводную маломощную систему связи.
Примечания
Литература
- Neil Gershenfeld, Raffi Krikorian, Danny Cohen (Октябрь 2004). “The Internet of Things”. Scientific American [англ.]. 291 (4): 76—81. DOI:10.1038/scientificamerican1004-76. PMID 15487673. Дата обращения 2024-06-28.
- Cohen, D.; Gershenfeld, N. "Internet-0: межустройственная межсетевая интеграция", IEEE Circuits and Devices Magazine, сентябрь/октябрь 2006, т.22, №5, с. 48–55
Ссылки
- Internet 0 на сайте Центра битов и атомов MIT
- [ Программирование битов и атомов] — TechTalk от Нила Гершенфельда, 27 октября 2008
- Internet 0: межустройственная межсетевая интеграция — архивная версия статьи
- Информация о Internet 0
- Hyperhabitat: Перепрограммирование мира — проект Венецианской биеннале архитектуры
- Boing Boing — «Internet 0 — bringing IP to the leaf node»