|
Bluetooth Link Management
By Mike Rodbell
Finishing up our tour of the Bluetooth technology, we will review the protocol basics, and then move on to the
general services provided within the Bluetooth world.
Over the last few months, weve been reviewing the physical and architectural mechanisms employed by Bluetooth. If you have been following this column for a while, you may be noticing some similarities between Bluetooth and the IrDA standards we reviewed a few years back. In the spirit of this trend, the topic of link management should come as no surprise to folks already familiar with IrDA and the associated IrLMP link
management protocol (LMP). Where IrDA used light to communicate, Bluetooth uses RF emissions. Both are wireless and subject to many of the same environmental considerations.
The Bluetooth LMP is used to control logical link establishment, manage security, and provide general control services. As can be seen in
Figure 1
, the LMP protocol operates on top of the logical link protocol for data exchange. With the LC protocol providing sequenced, reliable transmission of
information, the LMP protocol does not need to be concerned with information delivery. LC takes care of retransmissions and transmission error detection and recovery.
There are two general issues you encounter with network management protocols and applications. One deals with the set of services provided by the protocol, and the second deals with the set of mechanisms used by the protocol to deliver those services. This is the case in the Bluetooth LMP.
LMP protocol basics
LMP is a command/response packet oriented protocol. The packets are transported through the Bluetooth baseband link protocol, which is a time-slot oriented mechanism. To keep things simple, LMP packets are limited in size to ensure that they fit into a single time slot. The format of the protocol data unit (PDU) is simple, as shown in
Figure 2
. Two fields are used:
the OpCode, which is used to identify the type and sequence of the packet, and a content field, which is used for the application-specific information.
There is also a collection of mandatory and optional PDUs. In the various procedures, all stations must support transmission and reception of the mandatory PDUs. As indicated by their name, the optional PDUs dont need to be implemented, but can be used as required. If youve had any exposure to client server architectures, the protocol
sequences should be familiar. The information exchanges follow a similar request/ response pattern. In general, a station will send, at most, a single response PDU upon receipt of the original request. In line with the fact that Bluetooth is an RF broadcast type of technology, there are a set of request messages that can be broadcast to all participants on the piconet. In this case, one request can elicit several responses.
Bluetooth LMP services
A number of areas require management in the world of Bluetooth wireless communications. For example:
The security services provided by the link encryptors must be managed to ensure the appropriate access control and key management features are employed.
Various forms of time synchronization are important in maintaining the health of piconet communications.
Bluetooth LMP provides a set of mechanisms piconet masters can use to ensure all stations are in sync.
Station capability and identification information can be exchanged over the LMP service. An important factor in any type of link management (or network management), the exchange of capability information can be crucial to managing networks of equipment from a broad range of vendors.
Link state management services allow the master station
to arbitrate which stations participate in communications, as well as the manner in which they communicate. These services include link state management, power management, paging control, and general supervision.
Each of these areas of control can be understood by reviewing the general messages that are sent. If you are in search of more details on message specifics, the Bluetooth Special Interest Group (SIG) has done a superb job of documenting the protocols. The full set of specifications
can be obtained from their Web site,
www.bluetooth.com
.
Security service management
The Bluetooth LMP provides mechanisms for managing encryption (confidentiality), authentication (for access control), and the distribution of keys for encryption. The security services provided by LMP include:
Authentication service.
This service is based on a challenge response mechanism that employs a random starting point. This ensures that both the requester and the responder are operating with compatible security privileges. This service also determines that all participants in a Bluetooth operation are who they claim to be, and that no intruders are able to masquerade as legitimate users.
Pairing.
This security
service is an operation that allows mutually authenticated users to automatically establish a link encryption key.
Change link key.
This is an operation to select a different key between two participants in a piconet. Once this operation is complete, the previous key is discarded, as it is no longer of any use to the stations participating in the link communications.
Change the current link key.
Similar to the change
link key operation, this service is used to temporarily change a key used for a finite communication session, such as an encrypted broadcast of information.
Encryption.
While it does not actually perform the link encryption, the LMP provides services to manage the encryption process. A number of variables may be selected, including the operating encryption mode, size of the key, and the random seed key used to start a new encryption session.
Security
is an essential element of the Bluetooth specification. User adoption of the WLAN and telephone services is often predicated on some level of assurance that communications arent easily lifted. LMP provides the basic services that ensure these services are well controlled.
Time/synchronization management
A number of services may be used to synchronize the clocks in the
various piconet stations. The services provided in this area include:
Clock offset request.
This function lets a master station retrieve a slaves clock offset, which is used to control the slave stations link entry. If the master retains this information, it can expedite future paging of a station once it has departed from the piconet.
Slot offset information.
This is a unidirectional service, in
which an initiating station can transmit a message that helps describe timing differences between two adjacent piconets. In this service, the transmitted offset is the amount of time (in microseconds) between the start of the master TX slot in the two piconets.
Timing accuracy information request.
This is a mechanism that can be used by a station to retrieve the accuracy parameters of another stations timing subsystem. Retrieved parameters include
long-term clock drift and the amount of clock jitter inherent in the responding devices timing subsystem.
As a TDM transport with the complexities of multiple adjacent networks (piconets), Bluetooth relies on these services to maintain the clock synchronization required for link communications.
Station capability and information transfer
Not unlike other types of
link control protocols (ever taken a look at IrDA, IrLMP, or the PPP IPCP?), the Bluetooth LMP includes an assortment of services that retrieve information from adjacent stations. These include:
LMP version.
This request can query the capabilities of remote stations. As time moves forward, there may be be more than one version of Bluetooth LMP.
Supported features.
This is a more explicit service
that determines the range of services a peer station can support. While this is not an explicit negotiation service, it can perform implicit negotiation. Both the request and response messages contain the list of features each station can support. By identifying the common set of features, the two stations can participate in meaningful communications.
While these two services are relatively simple, they go a long way toward future-proofing the Bluetooth air interface. A few systems
Ive worked on in the past neglected to provide identification and/or negotiation services and, without feature advertisement, upgrades became a bit of a pain.
Mode control services
The Bluetooth air interface isnt entirely simple. A system can operate in a number of modes and states. To support smooth operation, the Bluetooth LMP includes a number of services to manage
the station state. These include:
Switch of master-slave role.
This service allows a station to take over as the master of a link, which is necessary since paging devices must be the master of the piconet. If a new device needs to issue a page, it can use this service.
Name request.
This is a simple service to retrieve the text name of a remote device.
Detach.
The detach command is used by a station to remove itself from a connection. It is a unidirectional message that can include the reason for the closure.
Hold mode.
This allows a master to stop transmitting for a predetermined amount of time, which saves power. There are also options for slave stations to request that the piconet be placed into a hold state.
Sniff mode.
Similar to hold mode, the sniff
mode is a negotiated time frame used to control the timing of sniff slots. Once the link is placed into sniff mode, it can only be restarted in the sniff slot.
Park mode.
This places a slave station into a quiet mode while retaining the slave stations time slot.
Power control.
There can be a good bit of variability in the transmission power required to communicate over the wireless link. Background
noise, physical distance, and receiver sensitivity can all impact the quality of the received signals. The LMP power control service can be used by a station to direct another station to either increase or decrease the second stations transmit power.
Channel quality-driven change between DM and DH.
This can determine whether forward error correction (FEC) is to be used.
Quality of service (QoS).
This set of
mechanisms can be used to control dynamic quality of service parameters.
SCO links.
Normal operation is datagram based. Once a connection has been established, this service can be used to establish the synchronous communication links most frequently used for voice transmission.
Control of multislot packets
. This service is managed to arbitrate the maximum number of time slots a packet can cover.
Paging scheme.
This service controls the mode and type of paging scheme to be employed between devices on the piconet.
Link supervision.
This is a simple service to control the maximum time a station should wait before declaring the failure of a link.
As you can see from this list, there are quite a few modes and services that can be controlled in the Bluetooth link. By using LMP, each station on the network
makes a contribution to the overall state of network health.
Adieu
This is the last column I will write for
Communication Systems Design
. Professional and personal demands on my time have grown to a point that my contributions to the magazine must come to a close. At this point, Id like to thank Nicole Westmoreland and all the other great folks who have worked hard
to produce a high-quality magazine that addresses the needs and interests of communication equipment and system designers. Ive found a nearly endless flow of standards and protocols to explore and expect the variety to continue for some time to come (forever perhaps?). Best wishes in all of your future endeavors. Its been fun.
Mike Rodbell
is director of embedded software development for CIENA Communications, Inc. He has developed voice and data
communication systems for a wide range of commercial and military systems. He holds a BSCS from Trinity College in Hartford, CT, and MSEE from Loyola College of Baltimore, MD. He can be reached at
mrodbell@ciena.com
or
www.ciena.com
.
|