Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архипкин В.Я. Bluetooth. Технические требования. Практическая реализация. Приложения.doc
Скачиваний:
654
Добавлен:
02.05.2014
Размер:
7.92 Mб
Скачать

2.2.5. Протокол обнаружения услуг

Протокол обнаружения услуг (Service Discovery Protocol — SDP) является меха­низмом, посредством которого устройства Bluetooth обнаруживают доступные ус­луги, а также характеристики этих услуг.

Термин «услуги» включает в себя широкий спектр приложений или ресурсов. Доступ к ресурсам может включать информационный доступ к услугам или про­вайдерам услуг.

Услуги могут быть обычными:

  • Печать

  • Поисковая связь

  • Факсимильная связь

Возможны также различные виды доступа к информации:

  • Организация телеконференций

  • Сетевые мосты

  • Точки доступа

  • Возможности электронной коммерции (eCommerce) Кроме того, существуют другие возможности:

  • Получение доступа к услугам

  • Управление доступом к услугам

  • Рекламирование услуг

Частью функции протокола обнаружения услуг является обеспечение средств обнаружения и получения протоколов, методов доступа, «драйверов», и других ко­дов, необходимых для использования услуг. Кроме того, через этот протокол кон­тролируются другие атрибуты, такие как: управление доступом к услугам, рекла­мирование услуг, выбор между конкурирующими услугами, оплата услуг и т.п.

В разделе SDP интерес представляют следующие подразделы:

  1. Общий обзор

  2. Представление данных

  3. Описание протокола

  4. Определения атрибутов услуг

Общий обзор

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


Рис. 2.35. SDP-взаимодействие клиента и сервера


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

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

На каждое устройство Bluetooth приходится не более одного SDP-сервера. (Если устройство Bluetooth работает только как клиент, ему не нужен SDP-cep-вер.) Одно устройство Bluetooth может функционировать и как SDP-клиент, и как SDP-сервер. Если многочисленные приложения на устройстве предостав­ляют услуги, SDP-сервер устройства может работать от лица провайдера этих услуг.

Подобным образом, многочисленные приложения клиента могут использовать SDP-клиент для запроса серверов от лица приложений клиента.

Количество SDP-серверов, доступных SDP-клиенту, может меняться, по мере того как клиент и сервер входят в зону действия друг друга или выходят из нее. Когда сервер становится доступен, потенциальный клиент должен быть уведомлен об этом без использования SDP, для того чтобы он мог использовать SDP для за­проса сервера о его услугах. Подобным образом, когда сервер покидает зону дейст­вия или становится недоступен по какой-либо причине, SDP не используется для уведомления об этом клиента. Однако, клиент может использовать SDP для запро­са сервера, и если сервер не отвечает на запросы, клиент заключает, что сервер ему недоступен.

Представление данных

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

Описание протокола

Протокол обнаружения услуг является простым протоколом с минимальными тре­бованиями к основному транспорту. SDP использует модель запрос/ответ, где каждая транзакция состоит из одного PDU запроса и одного PDU ответа. Однако, нет гарантии, что серии запросов приведут к возвращению ответов в том же самом порядке.

Когда SDP использует транспортный протокол Bluetooth L2CAP, в одном L2CAP пакете может быть передано несколько SDP PDU, но в определенный мо­мент времени только один L2CAP пакет за соединение к данному SDP серверу мо­жет ожидать выполнения. Другими словами, клиент должен получать ответ на каждый запрос до того, как он сделает следующий запрос в этом же L2CAP соеди­нении. Ограничение SDP к передаче одного непризнанного запроса обеспечивает простую форму управления потоком данных.

Порядок передачи байтов

Протокол обнаружения услуг передает многобайтовые поля в обратном порядке байтов, при котором сначала передаются наиболее значимые байты, а потом наиме­нее значимые.

Формат PDU

Каждая протокольная единица обмена протокола SDP состоит из заголовка PDU, за которым следуют специальные параметры PDU. Заголовок состоит из трех полей: PDU ID, ID транзакции и длина параметра (рис. 2.36).

Определения атрибутов услуг

В раздел SDP Ядра технических требований Bluetooth включены только классы услуг, которые непосредственно поддерживают SDP-сервер. Дополнительные классы услуг определены в разделе Профили. Вероятно, что последующие модер­низации технических требований Bluetooth будут иметь дополнительные классы услуг и модификации уже существующих.

Интерфейсы связи

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

Технические требования Bluetooth описывают четыре адаптации:

1)RFCOMM

  1. Взаимодействие с IrDA

  2. Управление телефонией

  3. Требования к взаимодействию для использования Bluetooth в качестве WAP bearer1.