Беспроводной интерфейс - Bluetooth

Автор работы: Пользователь скрыл имя, 28 Февраля 2012 в 21:29, реферат

Описание

Могут ли зубы быть голубыми?.. От природы вряд ли, после посещения стоматологического кабинета - возможно. А вот потемневшими зубы бывают часто. Так, датский король викингов Harald Blutend (по-английски Bluetooth, а по-русски Голубой Зуб) получил свое прозвище из-за потемневшего переднего зуба (есть, правда, и другие версии). Этот король знаменит тем, что объединил Данию и Норвегию. В его честь названа технология, задуманная первоначально как средство соединения компьютера и сотового телефона или других телекоммуникационных устройств между собой.

Содержание

Содержание:
Введение
Как появилось название Bluetooth
Физическая структура
Стек протоколов;
Каналы и слоты;
Безопасность
Пикосети
Инициализация Bluetooth соединения
Принцип действия интерфейса
Версии и их характеристики
Bluetooth 1.0
Bluetooth 1.1
Bluetooth 1.2
Bluetooth 2.0 +EDR
Bluetooth 2.1
Bluetooth 2.1+EDR
Bluetooth 3.0 + HS
Bluetooth 4.0
Профили Bluetooth
Области применения
Ноутбуки;
Мышь;
Мобильные телефоны;
Приемопередатчики;
Bluetooth – гарнитура

Работа состоит из  1 файл

реферат.docx

— 182.62 Кб (Скачать документ)

Особый  формат у пакетов FHS – они содержат информацию об адресе, классе устройства и тактовой частоте его передатчика. Узлы прибегают к помощи FHS при инициализации новой пиконет или при смене схемы частотных скачков в уже существующей сети. В эту отдельную категорию следует отнести и пакеты DM1, обеспечивающие распространение управляющей информации.

Для синхронных и асинхронных соединений определены практически не пересекающиеся наборы специальных пакетов. Например, для  синхронных соединений введено несколько  форматов, различающихся в основном длиной поля данных и называющихся HV1, HV2 и HV3. Тип HV (High quality Voice) предназначен для ретрансляции голосовых потоков. Поле данных первого из них имеет  длину 10, второго – 20, а третьего – 30 байт. Комбинированный вариант DV – это пакет, предназначенный для передачи как голоса, так и данных, содержит 80 бит аудио и 150 бит данных. На самом деле обе его части обрабатываются полностью независимо, вплоть до того, что данные защищаются кодом CRC и посылаются повторно в случае повреждения в отличие от блока аудио.

Набор форматов для асинхронных соединений более  разнообразен за счет введения высокоскоростного  режима High rate. Пакеты DM1, DM2 и DM3 имеют  общую структуру, различаясь, как  и в случае асинхронных форматов, объемом полезной нагрузки. DH1, DH2 и DH3 могли бы стать их братьями-близнецами, если б не иной способ кодирования, а точнее, исключение стадии дополнения данных битами четности по алгоритму FEC 2/3 (5 бит контроля на 10 бит информации). Так что если DM1 занимает один временной  слот и несет в себе 18 бит данных, то его скоростной аналог за то же время  успевает "вытащить" 28, правда, с  некоторым риском для их целостности.

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

Если  углубиться еще дальше в структуру  пакета Bluetooth, то мы обнаружим, что даже поле данных имеет свой заголовок, тело и поле контрольной суммы CRC. Заголовок  несет в себе сведения о логических каналах и сегментации пакетов.

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

Чтобы как-то упорядочить разнообразные способы  доставки управляющей и полезной информации, разработчики ввели 5 логических каналов. Канал Link Control (LC), который является высокоуровневым представлением заголовков пересланных пакетов, позволяет  устанавливать низкоуровневые параметры  соединения. Link Manager (LM) предназначен для  обмена управляющей информацией  между узлами сети пиконет. Данные канала LM кодируются пакетами DM. Каналы UA (User Asynchronous), UI (User Isochronous) и US (User Synchronous) обеспечивают пересылку асинхронных, изохронных и синхронных потоков данных посредством  соответствующих типов пакетов.

Перед передачей  и FEC-кодированием данные обрабатываются с помощью специального фильтра (whitening, выравнивание спектра), изменяющего  образуемую нулями и единицами структуру  таким образом, чтобы исключить  длинные единообразные последовательности. Цель, как уже упоминалось выше, – минимизация фактора постоянного тока (DC balance). Соответственно, на стороне приемника выполняется обратная фильтрации процедура.

Вообще, вопросы синхронизации целиком  на совести ведущего устройства (master) в пиконет. Подчиненные узлы ориентируются  на время появления пакетов от ведущего и уже от него отсчитывают  интервалы начала передачи (625 мкс). Поскольку ведущий узел никогда  не корректирует свои часы, а неустойчивая синхронизация и прочие сбои являются реальным фактором, введено окно, в течение которого ожидается приход очередного пакета. Обычно его размер составляет 20 мкс (±10 мкс), однако существуют несколько особых режимов: hold, sniff и park. Первый из них означает, что узел полностью отключается от сети, в то время как в состояниях sniff и park устройство периодически "просыпается" и прослушивает эфир, сохраняя синхронизацию с пиконет. Чтобы возобновить нормальную работу, узел должен определить фреймовую структуру соединения, поэтому на момент подключения размер поискового окна увеличивается до тех пор, пока соседние окна не начнут перекрываться (вплоть до 2500 мкс или 3750 мкс). Трюк заключается в том, что как только окна превышают длину стандартного цикла приема/передачи (2 x 625 мкс = 1250 мкс), они начинают центрироваться по середине каждого второго цикла. Если и этот барьер преодолен, то к интервалу центрирования окон добавляется еще один период приема/передачи.

Помощь  узлам в сохранении синхронизации  оказывает канал-"маяк" (beacon channel), или, говоря иными словами, сигнальный канал мастера: через определенные промежутки времени ведущий узел генерирует широковещательные пакеты, содержащие информацию для временно неактивных узлов (например, извещение  об изменении параметров самого beacon channel). Если нет необходимости отсылать данные, то используются пакеты формата NULL.

Состояния hold, sniff и park отличаются также и правилами  адресации устройства. Узел в режиме hold сохраняет за собой нормальный адрес в пиконет, а в режиме park он получает два адреса: один позволяет  мастеру различать узлы, находящиеся  в этом состоянии, и обращаться к  ним, второй же необходим, чтобы "запаркованный" узел мог самостоятельно отослать запрос мастеру. Следовательно, пакеты, отправляемые устройству в режиме park, должны быть широковещательными, так как эти  узлы лишены собственного активного  адреса.

Один  из режимов установления или возобновления  соединения называется paging state. В таком  состоянии мастер буквально забрасывает  эфир на всех частотах (hop frequencies) короткими ID-пакетами, содержащими только код  доступа устройства (device access code). Поскольку  пакеты невелики, в рамках одного временного фрейма удается передавать два пакета на двух разных частотах. Подчиненный  узел в режиме paging также успевает прослушивать за один интервал 625 мкс  две частоты, ожидая появления своего кода.

Установление  соединения осуществляется и с помощью  запросов. Запрашивающее устройство не сообщает никакой информации о  себе за исключением типа устройств, которые отвечают: все или только, например, факсы. Соответственно узел, желающий быть обнаруженным, должен периодически (каждые 2,56 с) входить в состояние  прослушивания запросов (inquiry state). Чтобы  высвободить ресурсы своего передатчика, устройство может даже перевести  в режим hold или park свои асинхронные  соединения. Синхронные коммуникации продолжают осуществляться, и пакеты могут прерывать процесс прослушивания.

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

Подчиненные узлы в пиконет работают в одном  из двух режимов: активном и "подслушивания" (sniff). Суть первого из них очевидна, а другой представляет собой некое  подобие состояния сна в энергосберегающих  технологиях. Устройство в режиме sniff прослушивает эфир только в заранее  определенные периоды времени.

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

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

Система безопасности Bluetooth-устройств основывается на двух разновидностях секретных ключей и 48-битовом идентификаторе BD_ADDR, присваиваемом  каждому устройству его производителем. Правила и порядок использования BD_ADDR регулируются комитетом IEEE. Шифрование данных осуществляется с помощью  ключа, который в свою очередь  генерируется на основе 128-битового ключа  авторизации (authentication key). Длина ключа  шифрования варьируется от 8 до 128 бит. С одной стороны, такое решение  позволяет гибко управлять степенью защиты подсистемы безопасности, а  с другой – удовлетворить требованиям различных стран относительно допустимой сложности ключа.

В генерации  ключей шифрования участвуют еще  и так называемые ключи соединения (link key). Они распространяются среди  участников пиконет после ее инициализации  и бывают двух типов – постоянные (semi-permanent) и временные. Первые хранятся в энергонезависимой памяти и могут быть использованы в рамках нескольких сессий (нескольких соединениях), вторые должны обновляться при каждом подключении.

Ключи классифицируются также по своему происхождению. Самый  простой вариант генерации у  ключа устройства (unit key) – он создается каждым узлом. Чуть сложнее выглядит процесс создания комбинированного ключа (combination key), вычисляемого на основе информации, полученной от двух участвующих в соединении узлов. Очевидно, что для каждой пары взаимодействующих устройств требуется свой комбинационный ключ. Это более надежная, но и более ресурсоемкая схема: если объем памяти устройства ограничен или в ходе эксплуатации системы (например, сетевой принтер) предполагается подсоединение большого количества различных узлов, то оптимальным будет вариант с ключом устройства.

Еще один ключ называется инициализационным  и служит временной заменой нормального  ключа до тех пор, пока он не будет  сгенерирован после завершения процесса установления соединения. Отдельно введено  понятие мастер-ключа (master key): когда  необходимо разослать информацию сразу  нескольким узлам, этот ключ используется вместо текущего ключа соединения (current link key).

Чтобы пройти аутентификацию, устройству нужно получить от проверяющего узла случайное число, сгенерировать на основании этого  числа, ключа и своего BD_ADDR некоторое  значение и отослать его обратно. Проверяющий узел контролирует корректность результата. Если общий ключ еще  не создан, генерируется инициализационный  ключ. Устройство-инициатор отсылает узлу-напарнику случайное число, которое в комбинации с фиксированным  идентификатором BD_ADDR последнего образует требуемый инициализационный ключ.

Пикосети

Устройства, образующие между собой Bluetooth-соединение, образуют сеть, называемую пикосетью (piconet). В ней одно устройство является главным (master), а другое – подчиненным (slave). К одному master-устройству может быть подключено несколько slave-устройств. Пикосети могут объединяться, образуя скеттерсеть (scatternet). В этом случае соединяются  два главных устройства, одно из которых становиться главным/подчиненным.

Принцип действия интерфейса Bluetooth

Интерфейс Bluetooth состоит из трех частей: приемо-передатчик, контроллер связи и управляющее  устройство, осуществляющее связь с  терминалом. Терминалом может быть любой прибор, будь то мобильный  телефон, КПК или ноутбук. Приемо-передатчик и контроллер связи, как правило, выполнены на отдельных микросхемах, а вот функции управляющего устройства может выполнять и процессор  теримнала при достаточной собственной  мощности. Схема проста в реализации как в аппаратном, так и в  программном направлении, что сказывается  на популярности интерфейса Bluetooth.

Инициализация bluetooth-соединения

Инициализацией, касательно bluetooth, принято называть процесс установки связи. Её можно  разделить на три этапа:

  • генерация ключа Kinit;
  • генерация ключа связи (link key и обозначается, как Kab);
  • аутентификация

Первые два  пункта входят в так называемую процедуру  паринга.

Паринг (PAIRING) — или сопряжение. Процесс  связи двух (или более) устройств  с целью создания единой секретной  величины Kinit, которую они будут  в дальнейшем использовать при общении. В некоторых переводах официальных документов по bluetooth можно также встретить термин «подгонка пары».

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

Для простоты будем рассматривать ситуацию с  двумя устройствами. Принципиально  это не повлияет на механизмы установления связи и последующие атаки. Далее  соединяющиеся устройства будут  обозначаться A и B, более того, одно из устройств при сопряжении становится главным (Master), а второе — ведомым (Slave). Будем считать устройство A главным, а B — ведомым. Создание ключа Kinit начинается сразу после того, как были введены PIN-коды.

Kinit формируется  по алгоритму E22, который оперирует  следующими величинами:

  • BD_ADDR — уникальный MAC-адрес BT-устройства. Длина 48 бит (аналог IP-адреса, но устанавливается производителем и уникален для каждого сетевого устройства)
  • PIN-код и его длина
  • IN_RAND. Случайная 128-битная величина

На выходе E22 алгоритма получаем 128-битное слово, именуемое Kinit. Число IN_RAND отсылается устройством A в чистом виде. В случае, если PIN неизменяем для этого устройства, то при формировании Kinit используется BD_ADDR, полученное от другого устройства. В случае если у обоих устройств  изменяемые PIN-коды, будет использован BD_ADDR(B) — адрес slave-устройства. Первый шаг сопряжения пройден. За ним следует  создание Kab. После его формирования Kinit исключается из использования.

Для создания ключа связи Kab устройства обмениваются 128-битными словами LK_RAND(A) и LK_RAND(B), генерируемыми  случайным образом. Далее следует  побитовый XOR с ключом инициализации Kinit. И снова обмен полученным значением. Затем следует вычисление ключа по алгоритму E21.

Для этого  необходимы величины:

Информация о работе Беспроводной интерфейс - Bluetooth