Опубликован: 21.01.2010 | Доступ: свободный | Студентов: 1142 / 195 | Оценка: 3.88 / 3.81 | Длительность: 11:48:00
Специальности: Программист
Лекция 1:

Мобильные устройства и их характеристики. Платформа Windows Mobile

Лекция 1: 123 || Лекция 2 >

Спецификация Bluetooth v1.1 определяет 13 типов поддерживаемых приложений, которые называются профилями, существует также 12 дополнительных профилей. Профили работают на самом верху иерархии слоев протокола (смотри табл. 1.3). По существу профили являются регламентациями прикладного уровня.

Таблица 1.3. Основные и дополнительные профили BlueTooth
Название Описание
Основные профили
1 GAP (Generic Access Profile) GAP (Generic Access Profile)
2 SDAP (Service Discovery Application Profile) Протокол определения предлагаемых сервисов
3 CTP (Cordless Telephony Profile) Профиль беспроводной телефонии
4 GOEP (Generic Object Exchange Profile) Протокол операций клиент-сервер при работе с объектами (обмен данными). Клиентская станция инициирует обмен, но она может выполнять и роль сервера.
5 LAP (LAN Access Profile) Протокол связи мобильной ЭВМ со стационарной LAN
6 DNP (Dial-up Networking Profile) Протокол связи ЭВМ с сетью посредством мобильного телефона
7 FP (Fax Profile) Протокол связи мобильного факса с мобильным телефоном
8 SPP (Serial Port Profile) Профиль для работы с последовательным портом
9 IP (Intercom Profile) Мобильные телефоны могут работать, как переносные цифровые рации
10 HS (Headset Profile) Протокол связи устройства hands-free с мобильным телефоном
11 OPP (Object Push Profile) Протокол пересылки простых объектов
12 FTP (File Transfer Profile) Протокол пересылки файлов
13 SP (Synchronization Profile) Протокол синхронизации PDA с другой ЭВМ
Дополнительные профили
1 ESDP (Extended Service Discovery Profile) Профиль для реализации процедур Plug and Play
2 A2DR (Advanced Audio Distribution Profile) Продвинутый профиль рассылки аудио данных
3 AVRCD (Audio Video Remote Control Profile) Аудио-видео профиль удаленного управления
4 BIP (Basic Imaging Profile) Базовый профиль работы с изображением
5 BPP (Basic Printing Profile) Базовый профиль для печати
6 CIP (Common ISDN Access Profile) Общий профиль доступа к ISDN
7 GAVDP (Generic Audio Video Distribution Profile) Общий профиль рассылки аудио и видео данных
8 HFR (Hands-Free Profile) Профиль для освобождения рук (hands-free)
9 HCRP (Hardcopy Cable Replacement Profile) Протокол замены приборного связного кабеля
10 HID (Human Interface Device Profile) Профиль для реализации интерфейса с человеком
11 PAN (Personal Area Networking) Протокол формирования персональной сети
12 SAP (SIM Access Profile) Протокол доступа к SIM

Профили 5-7 конкурируют с протоколом IEEE 802.11. Профиль удаленного доступа служит для подключения ЭВМ к мобильному телефону, снабженному модемом, без использования проводов. Профайл факс позволяет беспроводным факс-устройствам отсылать и получать факсы посредством мобильного телефона. Профили 8-10 имеют отношение к телефонии, в перспективе мобильный телефон и беспроводная трубка домашнего телефона станут взаимозаменяемы. Профиль 10 представляет собой приложение, позволяющее устройствам hands-free держать связь с базой, что удобно, например, при езде в автомобиле. Профили 11-13 служат для пересылки объектов между беспроводными устройствами. Объектами могут быть изображения, информационные файлы и т.д.

Во главе семейства протоколов находится SDP (Service Description Protocol), предназначенный для определения услуг, оказываемых удаленным устройствам. С помощью команд данного протокола можно считать данные из локальной БД и определить характеристики удаленного устройства и на основе этой информации выяснить параметры оказываемых услуг. SDP использует модель запрос/отклик, где каждая транзакция включает в себя один запрос и один отклик. С помощью посылки одиночного SDP пакета можно осуществлять простое управление информационным потоком. Такой пакет может не сопровождаться откликом.

Поле данных пакета SDP имеет заголовок, содержащий три поля:

  • PDU ID - идентификатор типа поля данных (1 байт)
  • TransactionID - идентификатор транзакции (2 байта)
  • ParameterLength - длина (в байтах) всех параметров в поле данных (2 байта)

Параметры могут содержать атрибут состояния продолжения ( continuation state ). Некоторые запросы могут потребовать такого большого отклика, который не поместится в одно поле данных. Тогда SDP-сервер генерирует частичный отклик с параметром состояния продолжения. Аналогичный атрибут должен присутствоать в очередном запросе клиента, требующего следующую порцию данных отклика. Такой запрос имеет только два поля InfoLength (1 байт) и Continuation Information (InfoLength байт).

Сервис ( service ) является единственной сущностью ( entity ), которая предоставляет информацию для выполнения каких-либо действий. Сервис может реализовываться аппаратно или программно. Информация о сервисах содержится в записях, которые представляют собой списки атрибутов. Каждый атрибут описывает одну характеристику сервиса. SDP имеет следующие атрибуты сервиса:

  • ServiceRecordHandle
  • ServiceClassIDList
  • ServiceRecordState
  • ServiceID
  • ProtocolDescriptionList
  • BrowseGroupList
  • LanguageBaseAttributeIDList
  • ServiceInfoTimeToLive
  • BluetoothProfileDescriptorList
  • DocumentationURL
  • ClientExecutableURL
  • IconURL
  • ServiceName
  • ServiceDescription
  • ProviderName

Некоторые атрибуты являются общими для всех записей сервиса, но сервис-провайдеры могут определить свои собственные атрибуты услуг в зарезервированных полях.

Атрибут содержит два компонента: идентификатор (ID) и значение атрибута

  • ID атрибута представляет собой 16-битовое число без знака, которое должно быть уникальным для данной сервисной записи. Идентификатор определяет и семантику значения атрибута.
  • Значение атрибута представляет собой поле переменной длины, чей смысл определяется идентификатором и ассоциированным с ним классом записи услуг

Различные виды сервиса группируются в классы. Все атрибуты, содержащиеся в записи сервиса, относятся к одному классу. Каждому классу присвоен уникальный идентификатор UUID. UUID представляет собой 128-битовый код, но возможны псевдонимы (16- и 32-битовой длины).

Клиент может, зная значение UUID, получить указатель на соответствующую запись сервиса. Можно провести поиск и по идентификатору класса.

Значение атрибута имеет вид информационного элемента, который содержит два поля: заголовок и данные. Заголовок включает в себя две части: дескриптор типа и дескриптор размера.

Таблица 1.4.
Type Descriptor 5-битовый код, составлющий старшие разряды информационного элемента заголовка
Size Descriptor 3-битовый код индекса, за которым следует 0, 8, 16 или 32 бита. Индекс содержит младшие 3 бита информационного элемента заголовка

Взаимодействующие приборы в Bluetooth могут выполнять роль локального устройства ( LocDev ) или удаленного устройства ( RemDev ). LocDev - прибор, который может инициировать процедуру выявления доступной услуги. Такой прибор должен содержать по крайней мере клиентскую часть архитектуры SDP. RemDev может быть любым прибором, который участвует в процессе выявления доступных услуг, посылая отклик на запрос LocDev. RemDev должен содержать по крайней мере серверную часть архитектуры SDP. RemDev имеет базу данных сервисных записей.

Прежде чем два устройства Bluetooth начнут взаимодействовать, каждый из них должен:

  1. Быть включенным и инициализированным. При инициализации может потребоваться PIN для формирования ключа соединения (link key).
  2. Должно быть сформированио Bluetooth соединение, которое может потребовать BD_ADDR других устройств.

Выявление услуг (Service Discovery) поддерживает следующие прикладные примитивы для взаимодействия с другими устройствами:

  • serviceSearch();
  • serviceBrowse();
  • enumerateRemDev();
  • terminatePrimitive();

Менеджер канала служит для аутентификации, установления и конфигурации соединения, а также шифрования. Данные управления укладываются в однослотовые кадры. Для транспортировки протокольных данных используются пакеты DM1 (в случае SCO - пакеты РМ1). Заголовки этих пакетов содержат всегда 1 байт. Менеджер канала (LM) обнаруживает другие LM и взаимодействует с ними через посредство протокола LMP. Чтобы выполнить роль провайдера LM использует ниже расположенный контроллер канала (LC). LMP-протокол регламентирует структуру управляющих данных (PDU). Приложение должно поддерживать часть типов PDU, остальные являются опционными.

Таблица 1.5. Обязательные типы PDU протокола LMP
Функция Тип PDU Описание
Изменение ключа канала LMP_comb_key Ключ канала получается из комбинационных ключей. Содержимое LMP_comb_key защищается с помощью операции XOR с привлечением текущего ключа канала.
Изменение текущего ключа канала LMP_temp_rand, LMP_temp_key, LMP_use_semi_permanent_key Текущий ключ канала может быть полупостоянным или временным ключем канала. Ключ может быть изменен временно, но изменение действует только на время сессии. Изменение временного ключа канала нужно, если пикосеть поддерживает шифрованные бродкасты
Запрос сдвига часов LMP_clkoffset_req, LMP_clkoffset_res Когда клиент получает FHS-пакет, вычисляется разность между показанием его часов и часов мастера, записанным в поле данных пакета. Мастер может запросить значение сдвига часов в любое время.
Версия LMP LMP_version_req, LMP_version_res Уровень LMP поддерживает запросы версии LMP. Запрашиваемое устройство должно прислать отклик с тремя параметрами: VersNr (номер версии протокола), CompId (служит для отслеживания проблем на нижних протокольных уровнях) и Sub-VersNr (рекомендуется, чтобы фирма имела уникальное значение Sub-VersNr для каждого RF/BB/LM ).
Поддерживаемые возможности LMP_feature_req, LMP_feature_res Контроллер радио и канала может поддерживать только субнабор типов пакетов и возможностей. Устройство может не посылать никаких пакетов кроме ID, FHS, NULL, POLL, ВM1 или DH1, прежде чем озаботится возможностями других устройств. После выполнения запроса возможностей может быть передана область перекрытия возможностей взаимодействующих устройств.
Запрос имени LMP_name_req, LMP_name_res LMP поддерживает запрос имени другого устройства. Имя состоит максимум из 248 байтов (UTF-8)
Запрос разрыва LMP_detach Соединение может быть разорвано в любое время по запросу мастера или клиента. В сообщение включаются данные, поясняющие причину разрыва.
Качество обслуживания LMP_quality_of_service, LMP_quality_of_service_req LM предоставляет возможности качества обслуживания. Интервал, который определяет максимальное время между последовательными передачами между мастером и заданным клиентом, используется для обеспечения определенной полосы пропускания и RTT.
Управление мультислотовыми пакетами LMP_max_slot, LMP_max_slot_req Число слотов, используемых устройством может быть ограничено. Устройство позволяет удаленному устройству использовать максимальное число слотов, послав ему значение LMP_max_slot
Управление каналом LMP_supervision_timeout Число слотов, используемых устройством может быть ограничено. Устройство позволяет удаленному устройству использовать максимальное число слотов, послав ему значение LMP_max_slot
Управление каналом LMP_supervision_timeout Каждый канал имеет таймер, который используется для управления каналом. Этот таймер служит для детектирования потери связи при уходе устройства из зоны досигаемости, отказа источника питания или другой поломки. Процедура определяет значение таймаута
Установление соединения LMP_host_connection_req, LMP_setup_complete Если устройство желает установить соединение, включающее уровни выше LM, оно посылает LMP_host_connection_req. Когда партнер получает такое сообщение, он может принять или отвергнуть предлагаемое соединение, послав LMP_accepted или LMP_not_accepted
Режим проверки LMP_test_activate, LMP_test_control LMP имеет PDU для поддержки различных методов тестирования, которые используются на уровне radio и baseband
Обработка ошибок LMP_not_accepted Если LM получает PDU с нераспознанным кодом, он реагирует посылкой сообщения LMP_not_accepted

В протоколе Bluetooth определены 4 типа адресов: BD_ADDR, AM_ADDR, PM_ADDR и AR_ADDR.

Таблица 1.6.
BD_ADDR Каждому трансиверу Bluetooth присваивается уникальный 48-битовый адрес прибора. Он содержит 24-битовое поле LAP, 16-битовое поле NAP и 8-битовое поле UAP.
AM_ADDR 3-битовый код. Этот адрес будет рабочим, если клиентский узел пикосети является активным. Он иногда называется МАС-адресом модуля Bluetooth.
PM_ADDR 8-битовый код, идентифицирующий пассивный узел пикосети. PM_ADDR является рабочим, пока подчиненный узел пикосети пассивен (parked).
AR_ADDR Используется пассивным узлом пикосети (parked), чтобы определить полудомен slave-to-master в окне доступа, которое ему предназначено для отправки сообщений запросов доступа. Адрес является рабочим, пока подчиненный узел пассивен и не обязательно является уникальным.

В рамках протокола определена структура интерфейса HCI (Host Controller Interface). Этот интерфейс осуществляет интеграцию низкоуровневых интерфейсов baseband и программного обеспечения клиента. Спецификация поддерживает работу с интерфейсами RS232, UART и USB. HCI предлагает командный метод доступа к аппаратным возможностям Bluetooth. Канальные команды HCI позволяют управлять канальным уровнем соединения с другими устройствами. В перечень входят команды менеджера канала (LM - Link Manager) предназначенные для обмена LMP-командами с удаленными устройствами. Данные для канала LM транспортируются кадрами DM. Команды HCI Policy используются для воздействия на локальный и удаленный LM. Команды Host Controller, Baseband, Informational и Status предоставляют доступ к различным регистрам интерфейса.

Эмуляция последовательных портов (в частности RS-232) посредством L2CAP осуществляется транспортным протоколом RFCOMM. Протокол базируется на стандарте ETSI TS 07.10. RFCOMM поддерживает до 60 одновременных соединений между приборами. Это могут быть модемы, принтеры или ЭВМ.

Транспортный уровень контроллера устройства обеспечивает обмен специфической HCI-информацией. Спецификация HCI определяет формат команд, событий и данных в рамках обмена между устройством и контроллером. Протокол HCI специфицирует 32 различного рода события ( Inquiry Complete Event, Page Scan Repetition Mode Change Event и т.д.).

Существует 4 категории пакетов Bluetooth. К первой категории относятся пакеты, общие для всех видов соединений (NULL, POLL, FHS, DM1). Три другие описывают пакеты различной длины: ко второй относятся однослотовые кадры, а к четвертой - кадры, занимающие пять временных слотов. Большинство типов пока не определены. ID-кадры имеют длину 64 бита и используются для пейджинга и запросов. NULL-кадры содержат поля лишь кода доступа и заголовка и используются для передачи подтверждений. Кадры POLL похожи на NULL, но требуют от получателя отклика. Пакеты рассматриваются как широковещательные в пикосети, если поле адреса имеет нулевое значение. Прием широковещательных кадров никогда не подтверждается, а для надежности они передаются несколько раз.

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

Как и для всех радио средств коммуникации для Bluetooth проблема безопасности крайне актуальна. Безопасность протокола обеспечивается с помощью механизма аутентификации и шифрования передаваемых данных. Ключ авторизации имеет 128 бит. Длина ключа шифрования может лежать в пределах 8-128 бит. Кроме того целям безопасности служат ключи соединения ( link key ), которые могут быть полупостоянными и временными. Первые хранятся в энергонезависимой памяти, вторые - обновляются при каждом соединении. Устройство может генерировать свой ключ ( unit key ). Возможно формирование совместного ключа ( combination key ), при его вычислении используются информация от обоих участников будущего обмена. Особое место занимает мастер-ключ ( master key ), используемый для рассылки данных нескольким узлам одновременно (используется вместо текущего ключа соединения ( current link key )). Для выполнения аутентификации устройству нужно получить от партнера случайное число, сформировать на основе него и своего BD_ADDR некоторый код и отослать его партнеру, который проверяет его корректность. Если общий ключ не сгенерирован, формируется инициализационный ключ. Инициатор процедуры посылает партнеру случайное число, которое в сочетании с идентификатором BD_ADDR последнего образует инициализационный ключ.

3G

Эволюцией технологии GSM является стандарт EDGE (Enhanced Data rates for Global Evolution), позволяющий повысить пропускную способность до 384 кбит/с. Радиоинтерфейс EDGE надстраивается над существующей инфраструктурой GSM и использует те же полосы частот 850/900/1800/1900 Гц, что и GSM. Полоса пропускания, необходимая для мобильных Интернет-услуг, обеспечивается в GSM за счет предварительной организации общей радиослужбы пакетной передачи (GPRS). Однако, для приложений, работающих с данными в реальном времени, требуется более широкая полоса пропускания и более высокое качество обслуживания по сравнению с теми, которые обеспечивают современные системы GPRS. Эта нехватка компенсируется путем замены гауссовской манипуляции с минимальным частотным сдвигом (GMSK), которая использует только часть фазы, на восьмипозиционную фазовую манипуляцию (8PSK), которая использует все 360 кбит. EDGE, так же как и GPRS, использует таймслоты (временные отрезки кадра) для передачи информации. Существует идентичная GPRS политика распределения таймслотов между каналами на прием и передачу. Следует отметить, что максимальная скорость потока в одном таймслоте составляет 48 кбит/с, она достижима при идеальных условиях приема.

В зависимости от качества связи предусмотрено 9 алгоритмов кодирования от MCS-1 до MCS-9 (последний обладает самой малой избыточностью кодирования, соответственно - самый быстрый).

Таким образом, технология EGPRS (EDGE) способна обеспечить каждому абоненту как высокий уровень обслуживания, так и широкую полосу пропускания.

Технологии GPRS и EDGE считают лишь промежуточными этапами миграции к 3G и зачастую их называют переходными технологиями поколения 2.5G.

Главное отличие 3G от эксплуатируемых сейчас сетей второго поколения (2G) - передача большого объема информации на высоких скоростях. Возможности сетей 3G открывают новые горизонты в использовании мобильной связи, причем как частным абонентам, так и крупным корпорациям. Изменится само понятие мобильного телефона, он станет многофункциональным устройством, предназначенным для всех случаев жизни.

Одно из главнейших требований - сеть 3G должна передавать данные от абонента и обратно со скоростью до 2.048 Мбит/с при низкой мобильности (скорость - менее 3 км/ч) и локальной зоне покрытия и до 144 кбит/с при высокой мобильности (до 120 км/ч) и широкой зоне покрытия.

Сегодня в мире существуют две основные конкурирующие концепции 3G: UMTS (Universal Mobile Telecommunications Systems - универсальная мобильная телекоммуникационная система), поддерживаемая европейскими странами, и CDMA 2000 (Code Division Multiple Access - мультидоступ с кодовым разделением каналов), сторонниками которой традиционно являются азиатские страны и США.

В принципе эти две технологии предполагают два различных подхода к организации сетей 3G: революционный (UMTS) и эволюционный (разновидности CDMA - CDMA2000, CDMA2000 IX, CDMA2000 IX EvDo). Эволюционный путь подразумевает сохранение частот и постепенный переход к новым технологиям, путем наращивания технических мощностей оператора. UMTS - совершенно новый стандарт, в то время как разновидности CDMA, предложенные для 3G, являются развитием уже эксплуатирующейся в мире технологии второго поколения cdm.

Лекция 1: 123 || Лекция 2 >