Интернет. Безопасность. Windows. Программы. Компьютеры

Протокол обнаружения услуг. Протокол связи: передача данных Протокол обнаружения

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

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

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

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

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

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

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

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

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

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

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

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

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

    Общий обзор

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

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

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

Общий обзор

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


Рис. 2.35.


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

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

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

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

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

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

Большая часть протоколов канального уровня выполняет только первую задачу - обнаружение ошибок, считая, что корректировать ошибки, то есть повторно передавать данные, содержавшие искаженную информацию, должны протоколы верхних уровней. Так работают такие популярные протоколы локальных сетей, как Ethernet, Token Ring, FDDI и другие. Однако существуют протоколы канального уровня, например LLC2 или LAP-B, которые самостоятельно решают задачу восстановления искаженных или потерянных кадров.

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

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

Компрессия данных

применяется для сокращения времени передачи данных.

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

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



Относительное кодирование.для чисел. передача только этих отклонений вместе с известным опорным значением.

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

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

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

Одним из наиболее распространенных алгоритмов, на основе которых строятся неравномерные коды, является алгоритм Хафмана, позволяющий строить коды автоматически, на основании известных частот символов. Существуют адаптивные модификации метода Хафмана, которые позволяют строить дерево кодов «на ходу», по мере поступления данных от источника.

Согласованная работа различных узлов в локальной сети (LAN) требует корректной конфигурации протоколов и приложений, которые выполняются и поддерживаются ими. По мере того как число различных типов устройств в сети растет, сетевым администраторам все труднее становится отслеживать правильность конфигурации каждого из них, одновременно все большее количество времени тратится на то, чтобы обнаружить и устранить проблемы. Стандарт 802.1AB, или Link Layer Discovery Protocol (LLDP), обеспечит решение проблем конфигурации, вызванных расширением LAN.

Общие положения

LLDP определяет стандартный метод для устройств в сети Ethernet, таких как коммутаторы, маршрутизаторы и беспроводные точки доступа, с помощью которого устройства распространяют информацию о себе среди других узлов в сети и сохраняют полученные данные. В частности, LLDP определяет набор общих информационных сообщений (advertisement messages), протокол для их передачи и метод хранения. Множество таких сообщений посылается устройством через локальную сеть с помощью одного пакета в форме поля «тип, длина, значение» (Type Length Value - TLV). Первый параметр указывает на вид данных, второй определяет длину пакета в октетах, а третий содержит непосредственно информацию. Все LLDP-устройства должны обязательно поддерживать сообщения с идентификаторами шасси (chassis ID) и портов (port ID), но, как ожидается, большинство реализаций будет также поддерживать такие параметры, как системное имя (system name), системный дескриптор (system descriptor) и системные возможности (system capabilities). Первые два из них обеспечивают полезную информацию для сбора инвентаризационных данных.

LLDP-пакеты передаются периодически и сохраняются в течение определенного времени. Рекомендованная IEEE частота передачи составляет 30 с, но она может регулироваться. Устройства хранят полученные от соседей данные в информационной базе MIB (Management Information Base), которая предусматривается протоколом SNMP. Она актуальна в течение отрезка времени, определяемого значением поля Time to Live (TTL), содержащегося внутри полученного пакета. Рекомендуемое IEEE значение - 120 с, однако допустимый диапазон - от 0 до 65 000 с. Каждый раз, когда устройство получает пакет, оно сохраняет данные и включает таймер, который сравнивается со значением TTL. При совпадении значений устройство удаляет хранимую информацию. Таким образом сетевые системы управления получают только актуальные данные.

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

Агент LLDP

На сетевом устройстве, которое поддерживает LLDP, должен быть установлен соответствующий агент. Его архитектура просто описывается в терминах SNMP MIB (см. рис.) Информация о локальных (не удаленных) устройствах LAN, передаваемая агентом, сохраняется в базе локальных устройств LLDP local system MIB. В случае, если локальное устройство передает информацию более высокого уровня иерархии - организационного (organization specific information) в формате TLV, она сохраняется в организационной базе локального устройства Organizationally defined local device LLDP. Информация, относящаяся к удаленным устройствам, определяется как удаленная системная информация и хранится в LLDP remote system MIB, а для данных организационного уровня от удаленных устройств предназначается база Organizationally defined remote device LLDP MIB. Следует заметить, что базы организационного уровня не являются обязательными в спецификации протокола.

Как работает агент LLDP

Агент LLDP может оперировать в трех режимах:

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

В типичном случае операции агента реализуются двумя модулями: передающим и приемным. Правда, двухмодульный подход только рекомендуется стандартом, но не является обязательным. При наличии передающего модуля он посылает информацию о локальных устройствах через регулярные отрезки времени. Данные посылаются в формате соответствующих TLV. При запрещении работы модуль передает TLV со значением TTL 0 в информационном поле. Это позволяет удаленным устройствам изъять из своих баз данных информацию, связанную с этим локальным устройством.

Приемный модуль, если он существует, получает информацию от удаленных устройств и обновляет соответствующую базу LLDP MIB. После приема данных запускается таймер для отсчета их времени актуальности, которое определено значением TTL TLV. Информация об удаленных системах стирается из базы при значении TTL 0 в информационном поле TLV.

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

  • chassis ID TLV: идентифицирует шасси устройств LAN 802;
  • port ID TLV: идентифицирует порт, через который передается LLDP-пакет;
  • TTL TLV: указывает отрезок времени в секундах, в течение которого полученная информация актуальна;
  • end of TLV: определяет конец TLV.

Кроме обязательных, протокол может включать ряд опциональных наборов TLV, на которых мы не будем останавливаться.

Таким образом, сам по себе LLDP не конфигурирует устройства и не управляет трафиком - он только распространяет информацию, относящуюся к конфигурации на уровне 2. И хотя сами устройства не могут запросить данные друг у друга, но приложения по управлению сетью имеют возможность запросить информацию, хранящуюся в базе SNMP MIB, построить текущую физическую топологию сети, а также определить несоответствия в имеющейся конфигурации.

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

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

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

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

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

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

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

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

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

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

    Общий обзор

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

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

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

Общий обзор

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


Рис. 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 описывают четыре адаптации:

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

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

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

Загрузка...