Раскрываем тайны 6LoWPAN

16 декабря 2015

Texas Instrumentsстатья6LowPanwireless

Характеристики 6LoWPAN делают этот стандарт идеальным для автоматизации зданий, управления уличным и домашним освещением, применения в системах интеллектуального учета и прочих типовых приложениях «Интернета вещей». Его преимущества – стандартная IP-адресация, малое энергопотребление, надежная передача данных и работа в различных частотных диапазонах.

Стандарт 6LoWPAN подключает множество устройств к облаку. Малая мощность, IP-адресуемые узлы и поддержка больших ячеистых сетей делают эту беспроводную технологию хорошим выбором для приложений Интернета вещей (IoT). Полное имя «IPv6 over Low-Power Wireless Personal Area Networks» означает «передача пакетов IPv6 поверх маломощных беспроводных персональных сетей», следовательно, 6LoWPAN является сетевой технологией или уровнем адаптации, который позволяет эффективно передавать пакеты IPv6 в небольших фреймах канального уровня, определенных в беспроводном стандарте IEEE 802.15.4. Построение сквозной инфраструктуры на основе Интернет-протоколов (IP) вобрало в себя все достижения более чем 30-летнего развития технологии IP, этому содействовали открытые стандарты и их совместимость, что в значительной степени продемонстрировано ежедневным использованием Интернета его почти 3 миллиардами пользователей.

6LoWPAN — открытый стандарт, определенный в RFC 6282 Рабочей группой инженеров Интернета (IETF) — организацией по стандартизации, которая определяет многие из открытых стандартов, используемых в Интернете, такие как UDP, TCP и HTTP, и это далеко не полный перечень. Замечательная особенность 6LoWPAN заключается в том, что он был первоначально задуман, чтобы поддерживать маломощные беспроводные сети 2,4 ГГц, построенные на базе IEEE 802.15.4, но теперь этот стандарт адаптирован и используется во множестве других сред сетевой передачи, включая беспроводные сети в диапазонах ниже 1 ГГц, Smart Bluetooth®, передачу данных по линиям электропередачи (PLC) и маломощные сети Wi-Fi®.

В этой статтье обсуждаются ключевые понятия и рассматриваются используемые в 6LoWPAN механизмы, позволяющие использовать адресацию IPv6 поверх радиоканалов IEEE 802.15.4.

Архитектура 6LoWPAN-сети

На рисунке 1 показан пример сети IPv6, включающей ячеистую (mesh) 6LoWPAN-сеть. Восходящий канал к Интернет обеспечивается точкой доступа (AP), действующей как маршрутизатор IPv6. В типовой конфигурации к точке доступа подключается несколько различных устройств, таких как PC, серверы и так далее. 6LoWPAN-сеть связана с IPv6-сетью посредством использования граничного маршрутизатора (edge router). Граничный маршрутизатор выполняет три действия: обмен данными между устройствами 6LoWPAN и Интернетом (или другой IPv6-сетью), локальный обмен данными между устройствами в 6LoWPAN-сети и формирование и обслуживание радиоподсети (6LoWPAN-сети).

Рис. 1. Пример сети IPv6 с ячеистой 6LoWPAN-сетью

Рис. 1. Пример сети IPv6 с ячеистой 6LoWPAN-сетью

Взаимодействуя естественным способом с IP в родном формате, 6LoWPAN-сети связываются с другими сетями через стандартные IP-маршрутизаторы. Как показано на рисунке 1, сети 6LoWPAN, как правило, будут работать как оконечные на границе глобальной сети. Это означает, что входящие данные предназначены для одного из устройств в 6LoWPAN. Одна 6LoWPAN-сеть может быть связана с другими IP-сетями через один или более граничных маршрутизаторов, которые отправляют IP-датаграммы между различными средами передачи. Обеспечение связи с другими IP-сетями может быть предоставлено через любой произвольный канал, такой как Ethernet, Wi-Fi или 3G/4G. Поскольку 6LoWPAN только конкретизирует операции IPv6 поверх стандарта IEEE 802.15.4, граничные маршрутизаторы могут также поддерживать механизмы перехода IPv6, чтобы соединять 6LoWPAN-сети с IPv4-сетями, например механизм NAT64, определенный в RFC 6146. Эти механизмы перехода IPv6 не затрагивают работу узлов 6LoWPAN, чтобы реализовать IPv4 полностью или частично.

Поскольку граничные маршрутизаторы отправляют датаграммы на сетевом уровне (см. раздел об уровнях взаимодействия), они не поддерживают состояния прикладного уровня. Сети с иной архитектурой, такие как ZigBee®, Z-волна, Bluetooth® или фирменные сети, требуют, чтобы шлюзы исполняли сложные прикладные программы, которые позволяют преобразовать специфичный трафик беспроводной сети перед отправкой данных в стандартный IP-канал. Эти прикладные шлюзы должны понимать любые прикладные профили, которые могут использоваться в сети, и любые изменения прикладных протоколов в беспроводных узлах должны также сопровождаться изменениями на шлюзе. Напротив, основанные на протоколах IP маршрутизаторы на границах сетей, например, граничный маршрутизатор, не зависят от прикладных протоколов, используемых в 6LoWPAN. Это снижает нагрузку на граничный маршрутизатор, например, на его вычислительную мощность, позволяя таким образом использовать встраиваемые устройства с низкой стоимостью, более простым программным обеспечением и менее сложными аппаратными средствами. При этом архитектура IP не препятствует использованию для оптимизации работы сети прокси и кэш-памяти, которые широко используются в современном Интернете.

В типичную 6LoWPAN-сеть включены еще два устройства: роутеры и хосты. Роутеры, как определяется по их названиею, могут ретранслировать данные, предназначенные другим узлам в 6LoWPAN-сети. Хосты, также именуемые оконечными устройствами не в состоянии направлять данные на другие устройства в сети. Хост может также быть «спящим» устройством, которое «просыпается» периодически, чтобы проверить наличие данных у своего «родителя» (роутера), что позволяет потреблять очень малую мощность.

Краткое описание системного стека

6LoWPAN радикально меняет пейзаж «Интернета вещей» (IoT). Как сказано выше, до сих пор был необходим сложный шлюз прикладного уровня, чтобы соединить такие устройства как ZigBee, Bluetooth и фирменные системы с Интернетом. 6LoWPAN решает эту дилемму, вводя уровень адаптации между канальным уровнем стека IP (link) и сетевыми уровнями (network layers) беспроводного сегмента, чтобы обеспечить передачу датаграмм IPv6 по радиоканалу IEEE 802.15.4.

Все системы связи используют набор правил или стандартов форматирования и управления обменом данных. Наиболее общая модель систем передачи данных — модель взаимодействия открытых систем (OSI), которая, в упрощенном виде, разбивает связь на пять фундаментальных уровней. На рисунке 2 показана эта упрощенная модель OSI с двумя типичными примерами стеков, используемых в устройствах IoT. Первый пример — устройство, запускающее стек Wi-Fi, второй пример — устройство, подключенное к IoT и основанное на 6LoWPAN.

Рис. 2. Примеры модели OSI, стеков Wi-Fi и 6LoWPAN

Рис. 2. Примеры модели OSI, стеков Wi-Fi и 6LoWPAN

Физический уровень преобразует биты данных в сигналы, которые передаются и получаются по эфиру. В 6LoWPAN, например, используется IEEE 802.15.4. В дополнение к широко известной версии стандарта 2006 года существуют две важные поправки: e и g. IEEE 802.15.4e — поправка к MAC, она предлагает такие расширения, как переключение каналов с выделением квантов времени (TSCH – time slotted channel hopping) и координированное избирательное прослушивание (CSL – coordinated sampled listening). Оба расширения нацелены на дополнительное понижение расхода энергии и делают беспроводной интерфейс более устойчивым. IEEE 802.15.4g — поправка к PHY (физическому уровню), цель которой – обеспечить дополнительный диапазон радиочастот, чтобы разрешить их использование по всему миру даже в диапазонах субгигагерцевых частот.

Канальный уровень обеспечивает надежную передачу данных между двумя непосредственно связанными узлами за счет обнаружения и исправления ошибок, которые могут возникнуть на физическом уровне во время передачи и приема. Канальный уровень включает уровень доступа к среде передачи (MAC), использующий метод множественного доступа с контролем несущей и исключением столкновений (CSMA-CA), в соответствии с которым радиостанция прослушивает эфир, определяя, ведет ли передачу какая-либо другая станция, перед началом передачи данных по эфиру. Этот уровень также обеспечивает синхронизацию данных. В 6LoWPAN, например, уровень MAC определяется стандартом IEEE 802.15.4. Уровень адаптации 6LoWPAN, обеспечивая переход от IPv6 к IEEE 802.15.4, также располагается на канальном уровне.

Сетевой уровень поддерживает адресацию и маршрутизацию данных через сеть, если нужно сделать несколько ретрансляций. IP (межсетевой протокол) — сетевой протокол, используемый для предоставления всем устройствам IP-адресов с целью транспортировки пакетов от одного устройства до другого.

Транспортный уровень открывает сессии связи между приложениями, запускаемыми на конечных устройствах. Транспортный уровень позволяет нескольким приложениям на каждом устройстве иметь собственный канал связи. TCP — доминирующий транспортный протокол в Интернете. Однако TCP основан на протоколе соединения (включая упорядочение пакетов) с большим объемом служебной информации и поэтому не всегда подходит для устройств, требующих ультрамалого потребления энергии. Для систем такого типа лучшей опцией может быть UDP — протокол без установления соединения с меньшим объемом служебной информации. Примером безопасного транспортного уровня является протокол TLS (безопасность транспортного уровня), который выполняется поверх TCP и DTLS и основан на UDP.

Наконец, прикладной уровень отвечает за форматирование данных. Он также проверяет, что данные транспортируются по оптимальной для приложения схеме. Широко используемый прикладной уровень в Интернете — HTTP, запускаемый поверх TCP. HTTP использует XML — текстовый язык с большим объемом служебной информации. Поэтому не оптимально использовать HTTP во многих системах 6LoWPAN. Однако HTTP все еще может быть очень полезным для связи между 6LoWPAN и Интернетом. Поэтому промышленные и общественные организации разработали альтернативные протоколы прикладного уровня, например ограниченный прикладной протокол (COAP) — протокол передачи сообщений поверх UDP с бит-оптимизированным механизмом REST, очень похожий на HTTP. COAP отнесен IETF в RFC 7252 и определяет ретрансляцию сообщений с подтверждением и без, поддержку «спящих» устройств, передачу блоков, поддержку подписки и обнаружение сервисов. COAP также легко преобразовать в HTTP через прокси.

Еще один протокол прикладного уровня, который следует упомянуть, это транспортный протокол очередей сообщений (MQTT) — протокол с открытым исходным кодом, который был предложен IBM. MQTT – это протокол типа «издатель/подписчик», запускаемый поверх TCP. Данные не транспортируются непосредственно между конечными точками. Вместо этого используется брокер (то есть сервер), который передает сообщения. MQTT вводит объект «топик» (topic); устройства могут издавать и подписываться на различные топики. Если топик обновлен и есть некое устройство, подписанное на него, то устройство получит уведомление и данные через брокера. Устройства могут использовать метасимволы (wildcards) типа # и *, чтобы подписаться на иерархию топиков. MQTT поддерживает несколько уровней качества обслуживания (QoS), удостоверяющих, что сообщения доставлены. Брокер может работать локально в IP-Интранете и в Интернете, а несколько брокеров могут поддерживать взаимодействие в одной и той же системе. Доступно несколько общественных брокеров, и многие провайдеры облачных услуг обеспечивают доступ к MQTT. Есть еще много доступных протоколов прикладного уровня, которые работают поверх TCP/UDP. Рассмотренные выше специально ориентированы на приложения IoT малой мощности.

Интернет-протокол версии 6 (IPv6) поверх IEEE 802.15.4

Современный Интернет (и множество автономных IP-сетей) основан главным образом на IPv4 и использует 32-битовые адреса. Он ограничивает адресное пространство 4294967296 уникальными адресами. Поскольку адреса присваиваются пользователям (и устройствам), число неприсвоенных адресов, естественно, уменьшается. Исчерпание адресов IPv4 произошло 3 февраля 2011 года, хотя этот процесс был значительно отсрочен такими изменениями в их распределении, как трансляция сетевых адресов (NAT).

Это ограничение IPv4 стимулировало развитие IPv6 в 1990-х годах, его коммерческое развертывание началось с 2006 года. IPv6 покрывает адресное пространство 2128, то есть имеет 3,4•1038 уникальных адресов. Этого должно быть достаточно для масштабирования Интернета в течение многих десятилетий, в том числе с перспективой роста «Интернета вещей», к которому, согласно оценкам, может быть подключено 50 миллиардов устройств к 2020 году.

Чтобы найти возможность увеличения пропускной способности, IPv6 увеличивает максимальный размер передаваемого блока (MTU) с 576 до 1280 байтов. В IPv6 также отражены изменения и усовершенствования технологий использования Интернета на канальном уровне. Ethernet — доминирующая технология связи, и его пропускная способность увеличивается год от года. В Wi-Fi, как и в Ethernet, поддерживаются MTU аналогичного размера и очень высокие канальные скорости. И Ethernet, и Wi-Fi работают, как правило, на многофункциональных устройствах со значительным запасом вычислительной мощности. С другой стороны, IEEE 802.15.4 был спроектирован чтобы обслуживать различный рынок приложений, где требуется большое количества недорогих малопотребляющих устройств. Пропускная способность в этом стандарте ограничена 250 кбит/с, а длина фрейма ограничена 127 байтами, что гарантирует низкую частоту появления ошибок пакетов и битов при передаче по радиоканалу. Кроме того, IEEE 802.15.4 использует два адреса: 16-битный короткий адрес и расширенный адрес EUI-64. Эти адреса уменьшают общий объем служебной информации в заголовке пакета и минимизируют требования к памяти. Кроме того, 6LoWPAN работает обычно в mesh-сети с ретрансляцией пакетов через несколько узлов, что является фундаментальным отличием от сети на основе Ethernet или Wi-Fi. Наконец, устройства, реализованные на основе 6LoWPAN, как правило, имеют ограниченные ресурсы, например, оперативную RAM-память приблизительно 16 кбайт и Flash 128 кбайт.

Вследствие вышеупомянутых ограничений ресурсов и многоскачковой топологии 6LoWPAN, поддержка IPv6 поверх сетей IEEE 802.15.4 создает несколько проблем:

  • Датаграммы IPv6, естественно, непригодны для сетей IEEE 802.15.4. Низкая пропускная способность, ограниченная буферизация и датаграммы, размер которых равен 1/10 минимального MTU IPv6, делают необходимым сжатие заголовков и фрагментацию данных. Например, заголовки IEEE 802.15.4 могут ограничить эффективную возможную полезную нагрузку 81 байтом. В сравнению с этим заголовки IPv6 (40 байтов), TCP (20 байтов) и UDP (8 байтов) кажутся слишком большими.
  • Так как сети IEEE 802.15.4 имеют одновременно и малую мощность, и низкую пропускную способность, и, кроме того, в качестве среды передачи используется радиоканал, они более склонны к паразитной интерференции, отказам и асимметричности каналов (A может слышать B, но B не может слышать A). Эти характеристики требуют, чтобы сетевой уровень был адаптивным и гибким, и, в то же время, малопотребляющим и эффективным.
  • Наиболее общая сетевая топология для 6LoWPAN — малопотребляющая ячеистая сеть (low-power mesh network). Это отрицает предположение, что канальный уровень является единственным местом для широковещательных сообщений. Этот аспект очень важен, так как затрагивает сами основы IPv6, где средства обнаружения соседних узлов полагаются именно на этот домен (link domain).

Все вышеупомянутые проблемы относятся и к стандарту 6LoWPAN.

Уровень адаптации 6LoWPAN

При передаче данных по уровням MAC и PHY всегда используется уровень адаптации. Например, RFC 2464 определяет, как пакет IPv6 инкапсулируется во фрейм Ethernet. Это же относится и к IEEE 802.11 Wi-Fi. Для 6LoWPAN RFC 6282 определяет, как фрейм данных IPv6 инкапсулируется поверх радиоканала IEEE 802.15.4.

Основное внимание рабочая группа IETF, 6LoWPAN WG, уделяет оптимизации передачи пакетов IPv6 по маломощным сетям с потерями (LLN), таким как IEEE 802.15.4. Это привело к публикации документа RFC 6282, который определяет следующее:

  • Сжатие заголовка. 40-байтные IPv6 и 8-байтные заголовки UDP сжимаются с учетом использования общих областей. Области заголовка игнорируются, если они могут быть получены из канального уровня. Способ сжатия заголовков стал одним из факторов, почему пришли к стандарту, поддерживающему только IPv6, а не IPv4. Отметим, что нет ничего, что мешало бы выполнять TCP в системе 6LoWPAN, но сжатие заголовка TCP не стало частью RFC 6282.
  • Фрагментация и повторная сборка. Канал связи IEEE 802.15.4 с максимальной длиной фрейма 127 байтов не совпадает с MTU IPv6, который составляет 1280 байтов. Нужно отметить, что формат фрейма IEEE 802.15.4g не имеет такого ограничения.
  • Бесконтекстное автоконфигурирование – это процесс, благодаря которому устройства в 6LoWPAN-сети автоматически генерируют собственные адреса IPv6. Есть методы, позволяющие избежать случая, когда два устройства получают один и тот же адрес; это называют обнаружением дублирования адреса (DAD).

Ключевым понятием уровня адаптации 6LoWPAN является бесконтекстное или совместно используемое контекстное сжатие с целью игнорирования областей заголовка. Это позволяет сжимать все заголовки (уровня адаптации, сетевого и транспортного уровня) вплоть до нескольких байтов. Области заголовка можно сжимать, так как они часто имеют общие значения. Общие значения возникают из-за частого использования подмножества функциональных возможностей IPv6, а именно – UDP, TCP и ICMP. Можно также сделать предположения относительно совместно используемого контекста, например общего сетевого префикса для всей системы 6LoWPAN. Уровень адаптации 6LoWPAN также удаляет дублированную информацию, такую как адреса IPv6 и поле длины UDP/IPv6, которые могут быть получены из других уровней.

Сжатие заголовка

Традиционный способ сжатия заголовка IP является базовым и используется в соединениях «точка-точка» (point-to-point), где поток между двумя оконечными точками устойчив. Это сжатие также очень эффективно в статических сетях с устойчивыми каналами. Коммуникация с многократными скачками требует сжатия/восстановления данных при каждом скачке. Протоколы маршрутизации (например, RPL), обычно работающие в системах 6LoWPAN, обеспечивают множество путей доставки сообщения получателю за счет технологии прокладки маршрутов. Это требует обновления информации об узлах, что существенно уменьшает эффективность сжатия. Для динамически меняющихся сетей с многократными скачками и нечастыми передачами, например 6LoWPAN-радиосетей, должен быть применен другой метод. Вместо этого в 6LoWPAN используется контекстно-независимое или совместно используемое контекстное сжатие (stateless and shared-context), при котором не требуется никакой информации о текущем состоянии, а протоколы маршрутизации могут динамически выбирать маршруты, не затрагивая степень сжатия.

Рис. 3. Примеры сжатия заголовка IPv6 6LoWPAN

Рис. 3. Примеры сжатия заголовка IPv6 6LoWPAN

В примере на рисунке 3 отображены три сценария коммуникации:

  • Коммуникация между двумя устройствами в одной и той же 6LoWPAN-сети, использующая локальные адреса каналов, заголовок IPv6 при этом может быть сжат всего до 2 байтов.
  • Коммуникация в направлении устройства за пределами 6LoWPAN-сети, префикс внешней сети известен, тогда заголовок IPv6 может быть сжат до 12 байтов.
  • Аналогично, но префикс внешнего устройства не известен, что дает заголовок IPv6 20 байтов.

Лучший случай в этом примере (первый) не пригоден для передачи прикладных данных (поскольку это может использоваться только для передачи данных ближайшим соседям), однако способность сжатия заголовка при обмене данными между двумя соседними устройствами особенно важна для протокола маршрутизации. Худший случай (третий) все еще дает степень сжатия 50%. В примере предполагается, что ID интерфейса (IID) получен из MAC-адреса устройства. Нужно также заметить, что сжатие заголовка UDP, как уже сказано выше, является частью стандарта 6LoWPAN, что не отображено в этом примере.

Фрагментация и повторная сборка

Чтобы допустить передачу фреймов IPv6 поверх радиоканалов IEEE 802.15.4, фреймы IPv6 должны быть разделены на несколько меньших сегментов. С этой целью в заголовках формируются дополнительные данные, чтобы повторно собрать пакеты в правильной последовательности на приемной стороне. Когда пакеты данных повторно собраны, дополнительная информация удаляется и пакеты восстанавливаются в изначальном формате IPv6. Последовательность фрагментации различна в зависимости от того, какая маршрутизация используется (различные методы маршрутизации обсуждаются ниже). В случае маршрутизации mesh-under фрагменты повторно собираются только в конечной точке назначения, в то время как в случае маршрутизации route-over данные повторно собираются при каждом скачке. Таким образом, в сети mesh-under при каждом скачке необходимо иметь достаточно большие ресурсы для хранения всех фрагментов. Надо принять во внимание, что в системе mesh-under большая часть сетевого трафика формируется очень быстро, так как все фрагменты передаются немедленно. Если какие-нибудь фрагменты во время повторной сборки (в системе mesh-under) отсутствуют – должен быть повторно передан полный пакет. Если возможно, фрагментации нужно избегать максимально долго, так как она отрицательно воздействует на срок службы аккумулятора устройства, поэтому сохранение низкой полезной нагрузки (включая выбор соответствующих протоколов прикладного уровня) и использование сжатия заголовков имеют важное значение.

Форматы заголовка

6LoWPAN использует стек заголовков и, аналогично IPv6, расширенные заголовки. В заголовках 6LoWPAN (рисунок 4) регламентированы функции каждого из трех подзаголовков (адресация ячейки, фрагментация и сжатие заголовка). Адресация ячейки поддерживает двухуровневую пересылку (канал связи), фрагментация поддерживает передачу MTU IPv6. Формат заголовка определяется с помощью поля типа заголовка, помещенного в начале каждого заголовка. Стек заголовка просто разобрать и учесть подзаголовки, которые будут удалены, если в них нет необходимости. Заголовок фрагментации игнорируется для пакетов, которые вкладываются в один фрейм IEEE 802.15.4. Заголовок ячейки не используется, если данные посылаются только между соседними узлами.

Рис. 4. Расположенные в виде стека заголовки 6LoWPAN

Рис. 4. Расположенные в виде стека заголовки 6LoWPAN

Заголовок фрагмента используется, когда полезная нагрузка слишком большая, чтобы поместиться в одном фрейме IEEE 802.15.4. Заголовок фрагмента содержит три поля: размер датаграммы, тег датаграммы и ее смещение. Размер датаграммы описывает общий объем (нефрагментированной) полезной нагрузки. Тег датаграммы идентифицирует набор фрагментов и используется, чтобы сопоставить фрагменты одной и той же полезной нагрузки. Смещение датаграммы идентифицирует смещение фрагмента в пределах нефрагментированной полезной нагрузки. Длина заголовка фрагмента составляет 4 байта для первого заголовка и 5 байтов для всех последующих.

Заголовок адреса ячейки используется для передачи пакетов через несколько скачков в 6LoWPAN-сети. Заголовок адреса ячейки включает три поля: число скачков, адреса источника и получателя. Поле числа скачков используется чтобы ограничить число ретрансляций внутри сети при пересылке от узла к узлу. Поле уменьшается на единицу при каждом скачке. Как только счетчик станет равным нулю, пакет отбрасывается. Поля адреса источника и адреса получателя указывают IP конечных точек. Оба поля содержат адреса IEEE 802.15.4 и могут быть укорочены или расширены, как определено в стандарте IEEE 802.15.4. Длина заголовка адреса ячейки имеет 5…17 байтов в зависимости от используемого способа адресации.

Маршрутизация

Маршрутизация — функция передачи пакета данных с одного устройства на другое, иногда – с помощью ретрансляций через несколько промежуточных узлов. В зависимости от уровня, на котором расположен механизм маршрутизации, определены две ее категории: mesh-under или route-over (рисунок 5). Маршрутизация mesh-under использует двухуровневую (до канального уровня) адресацию (IEEE 802.15.4 MAC или короткий адрес) чтобы передать пакеты данных, тогда как маршрутизация route-over использует трехуровневую (до сетевого уровня) адресацию (IP-адреса).

Рис. 5. Пересылка пакетов mesh-under и route-over

Рис. 5. Пересылка пакетов mesh-under и route-over

В системе mesh-under маршрутизация данных происходит прозрачно, следовательно, mesh-under-сети можно считать одной IP-подсетью. В такой системе есть только один IP-маршрутизатор — граничный, установлен один широковещательный домен, чтобы гарантировать совместимость с протокола IPv6 более высокого уровня, такого как обнаружение дублирования адреса. Эти сообщения нужно послать во все устройства в сети, что приводит к высокой сетевой нагрузке. Mesh-under лучше всего подходит для малых и локальных сетей.

В route-over-сетях маршрутизация имеет место на уровне IP, как описано выше.Таким образом каждый скачок в таких сетях представляет один IP-маршрутизатор. Использование IP-маршрутизации создает предпосылки для создания больших более мощных и масштабируемых сетей, так как каждый маршрутизатор должен реализовать все функции (DAD и другие), поддерживаемые нормальным IP-маршрутизатором. Наиболее широко используемым протоколом маршрутизации в route-over-сетях 6LoWPAN на сегодня является RPL ([raipl]; Routing Protocol), как определено IETF в RFC 6550. По сравнению с mesh-under, преимущество маршрутизации route-over заключается в том, что большинство протоколов, используемых сегодня в стандартном стеке TCP/IP, может быть реализовано и использоваться в неизменном виде. RFC 6550 определяет протокол маршрутизации IPv6 для маломощных сетей с потерями (RPL), который поддерживает либо трафик «многие-к-одному» (multipoint-to-point) от устройств 6LoWPAN-сети в центральный пункт управления (например, сервер в Интернете), либо трафик «один-ко-многим» (point-to-multipoint) из центрального пункта управления к устройствам в 6LoPWAN-сети.

Также доступна поддержка трафика между двумя соседними узлами (point-to-point). Однако RPL – неоптимальный выбор для такого трафика, так как данные во многих случаях должны передаватся через граничный маршрутизатор. RPL поддерживает два различных режима маршрутизации: режим c сохранением и режим без сохранения. В режиме с сохранением все устройства в 6LoWPAN-сети конфигурируются как маршрутизаторы, которые поддерживают таблицу маршрутизации и хранят таблицу соседних узлов (neighbor table). Таблица маршрутизации используется чтобы прокладывать путь для передачи данных на конкретные устройства в беспроводной сети, а таблица соседних узлов – чтобы отслеживать ближайших соседей узла. В режиме без сохранения есть единственное устройство с таблицей маршрутизации — граничный маршрутизатор. Следовательно, используется маршрутизация от источника. Маршрутизация от источника означает, что пакет включает полный маршрут (или скачки), необходимый, чтобы достигнуть адресата. Например, при передаче данных от одного устройства на другое в одной и той же 6LoWPAN-сети данные сначала посылаются из исходного устройства в граничный маршрутизатор, тот, в свою очередь, выполняет поиск в своей таблице маршрутизации и добавляет в пакет полный маршрут к адресату. Режим с сохранением налагает более высокие требования на устройства, действующие как маршрутизаторы (то есть у них должны быть ресурсы, достаточные для хранения таблиц маршрутизации и соседних узлов), тогда как при использовании режима без сохранения служебная информация увеличивается пропорционально числу скачков, которые пакет должен преодолеть, чтобы достигнуть адресата.

Автоконфигурирование и обнаружение соседнего узла

Автоконфигурирование — автономная генерация IPv6-адреса устройства. Этот процесс для IPv4 и IPv6 существенно различается. Для IPv6 он позволяет устройству автоматически генерировать свой IPv6-адрес без какого-либо взаимодействия с внешним сервером DHCP или аналогичным устройством. Чтобы получить адрес, хост может связываться через протокол обнаружения соседних узлов (NDP, neighbor discovery protocol). Впрочем, многие из функций NDP также включены в RPL. Процедура, описанная здесь, справедлива также для RPL и включает четыре типа сообщений:

  • запрос в поисках маршрутизатора (RS, router solicitation);
  • объявление роутера (RА, router advertisiment);
  • запрос в поисках соседних узлов (NS, neighbor solicitation);
  • объявление соседнего узла (NA, neighbor advertisement).

Обнаружение соседнего узла IPv6 (ND, network discovery) позволяет устройству обнаруживать соседей, поддерживать информацию об их достижимости, конфигурировать маршруты по умолчанию и распространять параметры конфигурации. Сообщение RS включает, помимо прочего, префикс IPv6-сети. Все маршрутизаторы в сети периодически посылают эти сообщения. Если хост хочет участвовать в 6LoWPAN-сети, он назначает себе индивидуальный адрес локального канала (FE80::IID), затем посылает этот адрес в сообщение ND всем другим участникам подсети, чтобы проверить, используется ли адрес кем-то еще. Если хост не услышит сообщение NA за определенный период времени – тот предполагает, что адрес уникален. Эту процедуру называют обнаружением дублирования адреса (DAD). Теперь, чтобы получить префикс сети, хост посылает сообщение RS-маршрутизатору, чтобы получить правильный префикс. Используя эти четыре сообщения, хост в состоянии назначить себе международный уникальный адрес IPv6.

Используя автоконфигурирование адреса источника, каждый хост генерирует IPv6-адрес локального канала, используя его адрес IEEE 802.15.4 EUI-64, 16-битный короткий адрес или оба сразу. В конфигурации mesh-under диапазон адресов локальных каналов покрывает всю 6LoWPAN-сеть, даже с несколькими скачками, и адресов локальных каналов достаточно для коммуникации в 6LoWPAN-сети. Единственный раз, когда необходим маршрутизируемый IPv6-адрес – это передача данных за пределы 6LoWPAN-сети. В конфигурации route-over достаточно локальных адресов канального уровня для взаимодействия с узлами в пределах радиопокрытия. Маршрутизируемый адрес нужен в случае общения с устройствами, удаленными на несколько скачков.

Для всех индивидуальных адресов самое эффективное – получить их из локального адреса IEEE EUI-64. В 6LoWPAN связка между каналом, адаптацией и IP-заголовком позволяет игнорировать и устранять потребность в определении адресов, что приводит к меньшим заголовкам. Точно так же автоконфигурирование должно установить адресацию интерфейса так, чтобы использовать общий префикс, а 6LoWPAN будет его игнорировать. 6LoWPAN может использовать короткий адрес канала, чтобы получить IPv6-адрес и, как результат, более короткие заголовки.

Безопасность

Безопасность необходима для систем IoT и эта проблема нуждается в решении. Из-за природы IoT, чье множество узлов во многих случаях имеет весьма ограниченные функции, существует много точек для атаки извне. Другой критический аспект состоит в том, что данные, циркулирующие в типичной системе IoT, это не просто «данные». Интерес злоумышленника к ним намного выше, так как данные из беспроводной системы могут использоваться, например, чтобы открыть дверь в ваш дом или удаленно включить/выключить тревожную сигнализацию.

Сегодня необходимо использовать самые последние схемы безопасности, чтобы быть впереди всех. 6LoWPAN использует преимущества мощной системы безопасной передачи данных AES-128 канального уровня, определенной в IEEE 802.15.4. Безопасность канального уровня обеспечивается аутентификацией и шифрованием. В дополнение к безопасности канального уровня в 6LoWPAN-системах, демонстрирует отличную работу механизм безопасности транспортного уровня (TLS). TLS, как определено в RFC 5246, работает поверх TCP. В случае ограниченных ресурсов, где UDP выбран в качестве протокола транспортного уровня, для обеспечения безопасности на транспортном уровне может использоваться RFC 6347 (безопасность датаграмм транспортного уровня). Однако нужно отметить, что реализация TLS/DTLS требует, чтобы устройства имели необходимые ресурсы, такие как аппаратный механизм кодирования, чтобы обеспечить использование расширенного набора шифров, и другие. Устройством, специально разработанным для этих целей, является беспроводный MCU TI CC2538, в который встроен мощный центральный процессор ARM® Cortex®-M3 и радио IEEE 802.15.4. Устройство имеет Flash-память до 512 кбайт и оперативную память 32 кбайт, а также оснащен аппаратным механизмом кодирования, способным к поддержке TLS/DTLS.

Функциональная совместимость

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

Институт инженеров по электротехнике и радиоэлектронике (IEEE) сосредотачивается на телекоммуникации и радиотехнике, выпуская стандартные спецификации. IEEE не обеспечивает тестирование функциональной совместимости или программы сертификации. Назовем несколько стандартов, предложенных IEEE:

  • спецификация Ethernet 802.3 используется сегодня в большинстве компьютеров;
  • 802.11 является основой для спецификации Wi-Fi, которая также широко распространена;
  • 802.15.4 определяет беспроводные персональные сети (PAN), среди которых ZigBee и 6LoWPAN;
  • IEEE 802.15.4 определяет физический (PHY) и МАС-уровни.

Рабочая группа инженеров Интернета (IETF) является открытой организацией по стандартизации, ответственной за многие стандарты, используемые сегодня в Интернете, самый известный набор — TCP/IP. Стандарты IETF, как описано в этом официальном документе, издаются в виде документов «Запрос для комментариев» (RFC), свободно доступных на сайте www.ietf.org. Несколько примеров популярных запросов на комментарии: RFC 2616, определяющий HTTP/1.1, и RFC 791, который определяет IPv4. Так же, как и IEEE, IETF не обеспечивает программы сертификации, таким образом поставщики не могут получить подтверждение, что их продукт полностью отвечает требованиям стандартов.

Однако есть несколько организаций и союзов, которые принимают стандарты от IEEE, IETF и других организаций и используют их, чтобы создать целостные программы сертификации, позволяющие гарантировать полную функциональную совместимость продуктов. Есть несколько организаций, продолжающих работать с функциональной совместимостью 6LoWPAN, включая недавно сформированную (июль 2014) Thread Group, которая ориентируется на определении компонентов от физического до транспортного уровня (в модели OSI) для умных домашних систем, включая программы сертификации. Open Interconnect Consortium стремится определить общую структуру коммуникации для беспроводного соединения и интеллектуального управления потоком информации среди устройств. Есть и многие другие организации — WI-SUN, IPSO, IP ZigBee и другие, которые используют 6LoWPAN как часть своих систем.

 

Заключение

6LoWPAN сравнительно нов для рынка. Его характеристики делают технологии идеальными для таких рынков, как домашняя автоматизация с датчиками и исполнительными механизмами, контроль и управление уличным освещением, освещение в квартирах, интеллектуальный учет электроэнергии и типовые приложения IoT с подключенными к Интернету устройствами. Современные разработки используют диапазон 2,4 ГГц и субгигагерцевый диапазон, основываясь на преимуществах IEEE 802.15.4, включая поддержку топологии больших mesh-сетей с надежной передачей данных и малым энергопотреблением. Добавьте к этому преимущества использования IP-технологий с множеством приложений, разработанных за последние 30 с небольшим лет. Легко понять, почему 6LoWPAN с открытыми стандартами, длинным временем жизни, небольшим периодом освоения (так как много разработчиков уже знают IP) и прозрачной Интернет-интеграцией имеет очень хорошие позиции, чтобы заполнить быстро растущий рынок «Интернет вещей».

Характеристики 6LoWPAN делают этот стандарт идеальным для применения в бытовой автоматизации с датчиками исполнительных механизмов, в управлении уличным и домашним освещением, в системах интеллектуального учета и типовых приложениях IoT с подключенными к Интернету устройствами. Его преимущества – работа в субгигагерцевом диапазоне и диапазоне 2,4 ГГц, надежная передача данных и малое энергопотребление.

Получение технической информации, заказ образцов, заказ и доставка.

TI_CC13xx_opt

Texas Instruments выпускает новую микросхему для «Интернета вещей»

Новая система-на-кристалле CC1310 включает в себя радио Sub1GHz и микроконтроллер Cortex-M3 для пользовательского приложения. Микросхема CC1310 является представителем семейства CC13xx/CC26xx и позволяет создавать малопотребляющие устройства «Интернета вещей» с передачей данных по беспроводному каналу на частотах ниже 1 ГГц на расстояниях до 10 км. Благодаря отдельному выделенному ядру Cortex-M0 встроенное радио CC1310 может быть гибко сконфигурировано для поддержки различных фирменных протоколов, в том числе и тех, которые требуют больших буферов для принимаемых и отправляемых пакетов. Гибкие настройки CC1310 позволяют реализовать радиопротоколы, совместимые с уже выпускаемыми продуктами на базе приемопередатчиков других производителей.

Встроенный микроконтроллер Cortex-M3 48 MГц отличается исключительно низким энергопотреблением. Например, ток в режиме сохранения всех данных в ОЗУ и работающих часах реального времени составляет лишь 700 мкА. Потребление в активном режиме составляет 51 мкA/MГц, что подтверждается результатами теста ULPBench (ULPMark™-CP = 143,6). Это выводит CC1310 в ряды лидеров в своем классе. Благодаря проектным нормам 65 нм и встроенному DC/DC удалось существенно снизить ток потребления в режиме непрерывного приема (5,5 мА) и при передаче (12,9 мА при +10 дБм).

Для достижения чрезвычайно низкого тока при выполнении периодических операций опроса датчиков в микросхеме имеется выделенный блок – так называемый контроллер датчиков (Sensor Controller). Это отдельное микропотребляющее 16-битное ядро может опрашивать различную аналоговую периферию во время сна основного вычислительного ядра Cortex-M3. При считывании значений 12-битного АЦП один раз в секунду средний потребляемый ток получается равным 0,85 мкA.

Микросхема выпускается в трех вариантах корпусов с размерами 4х4, 5х5 и 7х7 мм. Рабочий диапазон температур составляет -40…85°С.

•••

Наши информационные каналы

О компании Texas Instruments

В середине 2001 г. компании Texas Instruments и КОМПЭЛ заключили официальное дистрибьюторское соглашение, которое явилось результатом длительной и успешной работы КОМПЭЛ в качестве официального дистрибьютора фирмы Burr-Brown. (Как известно, Burr-Brown вошла в состав TI так же, как и компании Unitrode, Power Trend и Klixon). С этого времени компания КОМПЭЛ получила доступ к поставке всей номенклатуры производимых компанией TI компонен ...читать далее