Ткань Weave — это набор ресурсов с поддержкой Weave. Он предоставляет узлам Weave в доме пользователя удобный способ безопасного обмена сообщениями.
Ткань предоставляется первым узлом в системе Weave. После подготовки другие узлы могут безопасно присоединиться к фабрике с помощью сертификатов Weave. Подробнее о сертификатах и безопасности мы поговорим позже, но помните, что сопряжение устройств и объединение структур в Weave всегда безопасно.
Каждому ресурсу в структуре назначается специальный IPv6-адрес для использования приложением Weave. Не имеет значения, какую маршрутизируемую беспроводную технологию вы используете. Ethernet, Wi-Fi или Thread — пока каждый узел использует Weave и является членом структуры, сообщения могут отправляться и получаться.
Пример
Предположим, у вас есть простая домашняя сеть (HAN), состоящая из ресурсов, соединенных как Wi-Fi, так и Thread. Эти две сети объединены пограничным маршрутизатором, который участвует в обеих сетях и действует как маршрутизатор для маршрутизации трафика между ними.
Ресурсы в каждой сети используют свои стандартные конфигурации IP-маршрутизации для взаимодействия друг с другом через транспортные протоколы, такие как UDP или TCP, но при наличии структуры Weave они теперь могут передавать сообщения Weave по тем же транспортным протоколам.
IPv6-адресация
Структура Weave обеспечивает простую маршрутизацию IPv6 между приложениями Weave, назначая уникальный локальный адрес (ULA)
каждому ресурсу в структуре. Приложение Weave использует этот адрес для маршрутизации сообщений Weave.Вот пример адреса IPv6 Weave узла:
fd00::fab1:2:3e36:13ff:fe33:732e
Давайте рассмотрим различные элементы, составляющие адрес.
Глобальный префикс
Все узлы Weave используют глобальный префикс IPv6 fd00::/48
. Адреса в этом блоке обозначены IETF в RFC-4193 для использования в частных сетях, таких как HAN.
Идентификатор ткани
Во время подготовки структуры фабрике назначается случайно сгенерированный уникальный 64-битный идентификатор. Этот идентификатор становится частью глобального префикса IPv6.
Например, если фабрике присвоен идентификатор фабрики fab1
, глобальный префикс фабрики будет выглядеть следующим образом:
fd00:0000:fab1::/48
Идентификатор узла
Каждый узел в структуре назначает себе идентификатор узла Weave, который принимает форму расширенного уникального идентификатора IEEE (EUI-64). Большинство узлов получают свой идентификатор узла из своего MAC-адреса. Узел может иметь 48-битный или 64-битный MAC-адрес, обычно связанный с его интерфейсами WiFi или 802.15.4 соответственно. Weave предпочитает использовать 64-битное значение в качестве идентификатора узла, если оно доступно.
Если узел имеет только 48-битный MAC-адрес, согласно RFC 4291 , Weave вставляет 16-битное значение FF:FE
в середину, чтобы создать значение EUI-64, которое используется в качестве идентификатора узла Weave.
Например, если MAC-адрес узла — 48-битный 3c:36:13:33:73:2e
, результирующий идентификатор узла Weave — 3c3613fffe33732e
.
Чтобы использовать идентификатор узла в адресе IPv6, вы должны преобразовать его в идентификатор интерфейса, перевернув седьмой бит, называемый универсальным/локальным битом. Таким образом, идентификатор узла 3c3613fffe33732e
становится идентификатором интерфейса 3e3613fffe33732e
.
Подсеть
Последняя часть IPv6-адреса Weave — это подсеть, 16-битное значение, используемое для идентификации сетевых интерфейсов. Эти значения определяются базовыми сетями. Например, Wi-Fi или Thread.
В этом примере предположим, что наша подсеть — 0x0002
.
Собираем все это вместе
Объединив все вышеперечисленные элементы, вы получите IPv6-адрес Weave:
Когда ресурс присоединен к фабрике, профили Weave теперь могут передавать сообщения между ним и другими ресурсами в фабрике через IPv6-адрес узла, назначенный Weave. Далее мы рассмотрим основы обмена сообщениями в Weave.
Резюме
Что вы узнали:
- ткани — это набор ресурсов с поддержкой Weave, которые взаимодействуют для предоставления услуг пользователю и структуре.
- Ресурсы всегда аутентифицированы и надежно присоединены к фабрике.
- Каждому ресурсу в структуре назначается уникальный локальный адрес IPv6 для использования Weave.
- Сообщения Weave передаются между этими адресами IPv6 независимо от базовой беспроводной технологии или транспорта.