Датчик контроля доступа к среде

Sensor Media Access Control ( S-MAC ) — сетевой протокол для сенсорных сетей. Сенсорные сети состоят из крошечных, беспроводно общающихся компьютеров (сенсорных узлов), которые развертываются в большом количестве в области для независимой сети и пока отслеживают свое окружение в групповой работе с датчиками, их запасы энергии истощаются. Особая форма сети ad hoc , они предъявляют совершенно разные требования к сетевому протоколу (например, Интернету) и поэтому требуют сетевых протоколов, специально созданных для них (SMAC). Sensor Media Access Control подробно определяет, как узлы сенсорной сети обмениваются данными, управляет Media Access Control (MAC) для доступа к общей среде связи сети, регулирует структуру топологии сети и предоставляет метод синхронизации.

Хотя сегодня S-MAC представляет в первую очередь академический интерес, он стал значительным шагом в исследовании сенсорных сетей и вдохновил на создание многих последующих сетевых протоколов. Он был представлен в 2001 году Вэй Йе, Джоном Хейдеманом и Деборой Эстрин из Университета Южной Калифорнии и был предназначен для сохранения дефицитных, неперезаряжаемых энергетических ресурсов сенсорных узлов. [1] Разработка была финансово поддержана военным агентством США DARPA в рамках проекта Sensor Information Technology (Sensit).

Структура протокола

Протокол основан на технологии рандеву, которая также используется в других областях компьютерной науки. Узел сети, который хочет отправить сообщение, сначала отправляет запрос на отправку (RTS, request to send ) адресату. Если он готов принять сообщение, адресат отвечает подтверждением отправки (CTS, clear to send ). Затем отправитель отправляет фактический пакет данных, который получатель подтверждает подтверждением (ACK ) . Это соглашение об обмене данными гарантирует отправителю, что адресат действительно слушает, и позволяет получателю отклонить передачу данных, не делая ничего, поскольку он в данный момент общается в другом месте.

Остальная часть протокола разделена на три области задач: ежедневная рутина, помехи связи и передача сообщений.

Ежедневная рутина

Сенсорные узлы имеют возможность переходить в режим ожидания, в котором все компоненты, за исключением часов, выключены. В этой «фазе сна» их энергопотребление минимально, но они неактивны и, в частности, не могут получать никаких сообщений. S-MAC дает сенсорным узлам фиксированную «ежедневную рутину» с регулярными циклами пробуждения и сна. Как можно больше узлов должны следовать той же ежедневной рутине, чтобы обеспечить безопасную связь во время общего времени пробуждения.

Распорядок дня координируется с помощью импульсов синхронизации (SYNC), коротких сообщений со следующим содержанием: «Сейчас ... часов. Я лягу спать через x секунд». После включения каждый сенсорный узел ждет сообщения SYNC от другого узла. Если он его не получает, он отправляет его сам через случайный промежуток времени. Тот, кто получает SYNC, адаптируется к распорядку дня, указанному в нем. Если это был первый полученный SYNC, он определяет разницу во времени d между своим текущим временем и временем сообщения и отправляет новый SYNC со следующим содержанием: «Сейчас ... часов. Я лягу спать через x - d секунд». Каждый узел запоминает распорядок дня своих соседних узлов, чтобы установить связь, разрывая при необходимости свой собственный распорядок дня.

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

Даже электронные часы никогда не синхронизируются полностью. Поэтому необходимо предотвратить постепенное «разбегание» часов с помощью возобновления импульсов синхронизации. Для этого S-MAC делит фазу пробуждения на две подфазы: первая, более короткая, предназначена для отправки и получения сообщений синхронизации, вторая, более длинная, — для фактического обмена данными.

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

Проблемы с коммуникацией

Проблемы связи в компьютерных сетях приводят к потере данных и потере энергии, поэтому их следует избегать. Схема рандеву S-MAC по своей сути уменьшает проблему скрытых станций, другие компоненты протокола для избежания других помех описаны ниже.

Коллизии данных происходят, когда два узла передают данные одновременно по общей среде связи: сигналы перекрываются, и оба сообщения становятся непригодными для использования. Чтобы избежать коллизий, S-MAC использует физическое и виртуальное чувство несущей , т. е. способность исключать занятость среды связи перед передачей. Физическое чувство несущей относится к фактическому кратковременному перехвату среды с целью исключения любого другого использования, в то время как виртуальное чувство несущей относится к ожиданию другой коммуникации на основе ранее объявленных запросов на передачу.

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

Передача сообщений

В компьютерных сетях принято разбивать большие непрерывные блоки данных на небольшие пакеты или фрагменты . Если при передаче большого блока данных возникает ошибка, все данные должны быть отправлены снова; если в пакете возникает ошибка передачи, достаточно повторить отдельный фрагмент данных. Этот подход также используется в S-MAC. Обычно схема рандеву теперь применяется на уровне пакетов, т. е. каждый отдельный пакет подтверждается полным набором сообщений о рандеву RTS, CTS и ACK. Эти ненужные накладные расходы сокращаются в S-MAC за счет отправки всех непрерывных пакетов один за другим, так что для каждого полного блока данных требуются только один RTS и CTS.

Получатель подтверждает каждый полученный пакет с помощью ACK, и если он не получен, отправитель повторяет последний фрагмент. Также можно было бы ограничить это одним ACK в конце всего сообщения, но разработчики намеренно решили не делать этого, чтобы обеспечить перестраховку от ошибки связи Hidden Station : непрерывная отправка ACK не позволяет узлам в среде получателя начинать коммуникацию, даже если они не знают об обмене RTS-CTS между взаимодействующими сторонами. Для дальнейшего улучшения S-MAC рекомендует, чтобы ожидаемая оставшаяся продолжительность обмена данными также указывалась в каждом пакете и ACK; таким образом, вновь добавленные или «неправильно» пробужденные узлы могут снова перейти в спящий режим.

Смотрите также

  • Sensor-MAC (S-MAC): Средний контроль доступа для беспроводных сенсорных сетей

Ссылки

  1. ^ Ye, Wei; Heidemann, J.; Estrin, D. (2002). «Энергоэффективный протокол MAC для беспроводных сенсорных сетей». Труды. Двадцать первая ежегодная совместная конференция IEEE Computer and Communications Societies . Том 3. С.  1567–1576 . CiteSeerX  10.1.1.16.1535 . doi :10.1109/INFCOM.2002.1019408. ISBN 978-0-7803-7476-8. S2CID  548846.


Retrieved from "https://en.wikipedia.org/w/index.php?title=Sensor_Media_Access_Control&oldid=1208114629"