Другой тип соединения называется ACL (Asynchronous Connectionless — асинхронный без установления связи). Этот тип связи используется для коммутации пакетов данных, которые могут появиться в произвольный момент времени. Трафик ACL доставляется по принципу максимально прилагаемых усилий для обеспечения сервиса. Никаких гарантий не дается. Кадры могут теряться и пересылаться повторно. У подчиненного узла может быть только одно ACL-соединение со своим главным узлом.
Данные, отправленные по ACL-соединению, появляются с уровня L2CAP. Этот уровень выполняет четыре основные функции. Во-первых, он принимает пакеты размером до 64 Кбайт с верхних уровней и разбивает их на кадры для передачи по физическому каналу. На противоположном конце этот же уровень используется для обратного действия — объединения кадров в пакеты.
Во-вторых, L2CAP занимается мультиплексированием и демультиплексированием множества источников пакетов. После сборки пакета он определяет, куда следует направить пакет (например, протоколу RFcomm или протоколу обнаружения сервисов).
В-третьих, L2CAP управляет контролем ошибок и повторной пересылкой кадров. Он определяет ошибки и пересылает пакеты, которые не были опознаны. Наконец, L2CAP обеспечивает качество обслуживания, требуемое несколькими соединениями.
4.6.6. Bluetooth: структура кадра
Существует несколько форматов кадров Bluetooth, наиболее важный из которых показан в двух формах на рис. 4.33. В начале кадра указывается код доступа, который обычно служит идентификатором главного узла. Это позволяет двум главным узлам, которые расположены достаточно близко, чтобы «слышать» друг друга, различать, кому из них предназначаются данные. Затем следует заголовок из 54 бит, в котором содержатся поля, характерные для кадра подуровня MAC. Если кадр отправляется с базовой скоростью, далее расположено поле данных. Его размер ограничен 2744 битами (для передачи за пять тактов). Если кадр имеет длину, соответствующую одному тактовому интервалу, то формат остается таким же, с той разницей, что поле данных в этом случае составляет 240 бит.
Рис. 4.33. Типичный информационный кадр Bluetooth: а — на базовой скорости; б — на увеличенной скорости
Если кадр посылается на увеличенной скорости, часть данных может быть в два или три раза больше, потому что каждый символ переносит 2 или 3 бита вместо одного бита. Этим данным предшествуют защитный интервал и образец синхронизации, который используется, чтобы переключиться на более высокую скорость передачи данных. Таким образом, код доступа и заголовок передаются на базовой скорости, и только часть данных передается на большей скорости. Кадры с большей скоростью заканчиваются короткой меткой конца.
Рассмотрим, из чего состоит обычный заголовок кадра. Поле Адрес идентифицирует одно из восьми устройств, которому предназначена информация. Поле Тип определяет тип передаваемого кадра (ACL, SCO, опрос или пустой кадр), метод коррекции ошибок и количество временных интервалов, из которых состоит кадр. Бит F (Flow — поток) выставляется подчиненным узлом и сообщает о том, что его буфер заполнен. Этот бит обеспечивает примитивную форму управления потоком. Бит A (Acknowledgement — подтверждение) представляет собой подтверждение (ACK), отсылаемое заодно с кадром. Бит S (Sequence — последовательность) используется для нумерации кадров, что позволяет обнаруживать повторные передачи. Это протокол с ожиданием, поэтому одного бита действительно оказывается достаточно. Далее следует 8-битная контрольная сумма заголовка. Весь 18-битный заголовок кадра повторяется трижды, что в итоге составляет 54 бита, как показано на рис. 4.33. На принимающей стороне несложная схема анализирует все три копии каждого бита. Если они совпадают, бит принимается таким, какой он есть. В противном случае все решает большинство. Как видите, на передачу 10 бит тратится в данном случае 54 бита. Причина очень проста: за все нужно платить. За обеспечение передачи данных с помощью дешевых, маломощных устройств (2,5 мВт) с невысокими вычислительными способностями приходится платить большой избыточностью.
Для ACL- и SCO-кадров применяются различные форматы поля данных. В кадрах SCO с базовой скоростью кадры устроены просто: длина поля данных всегда равна 240 бит. Возможны три варианта: 80, 160 или 240 бит полезной информации. При этом оставшиеся биты поля данных используются для исправления ошибок. В самой надежной версии (80 бит полезной информации) одно и то же содержимое повторяется три раза (что и составляет 240 бит), как и в заголовке кадра.
Мы можем вычислить емкость следующим образом. Поскольку подчиненные узлы могут использовать только нечетные временные интервалы, им достается 800 интервалов в секунду. Столько же получает и главный узел. При 80 битах полезных данных, передающихся в одном кадре, емкость канала подчиненного узла равна 64 000 бит/с. Этому же значению равна и емкость канала главного узла. Этого как раз хватает для организации полнодуплексного PCM-канала голосовой связи (именно поэтому 1600 скачков в секунду было выбрано в качестве скорости перестройки частот). Все эти цифры говорят о том, что полнодуплексный канал со скоростью 64 000 бит/с в каждую сторону при самом надежном способе передачи информации вполне устраивает пикосеть, невзирая на то, что суммарная скорость передачи данных на физическом уровне равна 1 Мбит/с.
Эффективность 13% — результат расходов 41% емкости на время стабилизации, 20% на заголовки, и 26% на повторном кодировании. Этот недостаток выделяет значение увеличенных скоростей и кадров более чем из одного слота.
О Bluetooth можно сказать намного больше, но нет места, чтобы говорить об этом здесь. Интересующиеся могут прочитать все подробности в спецификации Bluetooth 4.0.
4.7. RFID
Мы уже рассмотрели схемы MAC от локальных до городских и персональных вычислительных сетей. В качестве последнего примера мы изучим категорию беспроводных устройств «низшего класса», которые, возможно, не признаются формирующими компьютерные сети: это RFID (Radio Frequency Identification — радиочастотная идентификация) метки и считыватели, которые мы описали в разделе 1.5.4.
Технология RFID существует во многих формах, используемых в смарткартах, имплантантах для домашних животных, паспортах, библиотечных книгах и пр. Форма, которую мы рассмотрим, была развита при разработках EPC (Electronic Product Code — электронный код товара), которые начинались в Auto-ID Центре в Массачусетском технологическом институте в 1999 году. EPC — это замена штрихкода, которая может нести большее количество информации и считываться с помощью электроники на расстоянии до 10 м, даже не в прямой видимости. Эта технология отличается, например, от RFID-используемой в паспортах, которые должны быть помещены достаточно близко к считывателю для получения информации. Способность общаться на расстоянии делает EPC более значимым для нашего изучения.
Организация EPCglobal была создана в 2003 году, чтобы коммерциализировать развитую Auto-ID Центром технологию RFID. Их усилия получили развитие в 2005 году, когда компания Walmart потребовала от 100 своих крупнейших поставщиков маркировать все поставки метками RFID. Широкому распространению технологии препятствовала трудность конкуренции с дешевыми печатаемыми штрихкодами, но появились новые сферы использования, например водительские права. Мы опишем второе поколение этой технологии, которую неофициально называют EPC Gen 2 (EPCglobal, 2008).
4.7.1. Архитектура EPC Gen 2
Архитектура EPC Gen 2 сети RFID показана на рис. 4.34. Она имеет два ключевых компонента: метки (теги) и считыватели. Метки RFID — маленькие, недорогие устройства, имеющие уникальный 96-битовый идентификатор EPC и небольшое количество памяти, запись и чтение которой может производиться RFID-считывателем. Память может использоваться для записи истории местоположения элемента, например, когда он движется по системе поставок.