Bluetooth是一种无线局域网技术用于连接不同功能的设备(像手机,笔记本,计算机,相机,打印机等)。Bluetooth LAN是一种ad hoc网络,即该网络是自动组织的。设备(有时也称为gadgets)可以发现对方,然后组成称为piconet(微微网)的网络。若设备具有接入Internet的能力,那么Bluetooth LAN甚至可以接入到Internet。Bluetooth LAN天生不能带大。若有太多设备试图链接到一起,将会出现混乱。
Bluetooth技术有相当的应用,外围设备像无线鼠标或键盘可以通过蓝牙与计算机进行通信。在保健室监视设备可以通过蓝牙与传感器设备进行通信。家庭安全设备可以使用该技术来连接不同的传感器到主安全控制器。参加会议人员可以在会议室中同步它们的便携式电脑。
Bluetooth起始是有爱立信公司启动的一个项目,命名为Harald Blaatand。Blaatand翻译为英文为Bluetooth。
当今,Bluetooth技术是IEEE 802.15标准定义的协议的实现,该标准了定义了一种无线个人局域网(PAN),该局域网可以在一个方面或大厅范围内是可用的。
1、架构
Bluetooth定义了两种类型的网络:piconet和scatternet
piconet:
Bluetooth网络称为微微网(piconet),或小网络。一个piconet可以有多达8个station,其中一个称为primary,剩下的称为secondaries。所有的secondary station与primary station同步时钟和调频序列。
注:一个piconet网络内只能有一个primary station。primary station和secondary station之间的通信可以是1对1,也可以是1对多,Piconet类型的网络如下图所示:
尽管一个piconet网络最大有7个secondary station,但额外的8个secondary station可以处于停止状态(parked state),处于停止状态的secondary station要与primary station同步,但是不能参与通信直到其从停止状态移除,因为在一个piconet网络中,只能有8个station是处于活动中的,从停滞状态的station中激活一个station,意味着一个活动着的station必须进入停止状态。
scatternet:
各个piconet结合到一起形成的网络称为scatternet。在一个piconet网络中的secondary station可以是另一个piconet中的primary station。该station可以从第一个piconet网络中的primary station处接收信息,然后可以作为第二个piconet中的primary station,发送信息到第二个piconet中的secondary station。一个station可以是两个piconet的成员,scatternet网络的结构如下图所示:
2、Bluetooth设备
Bluetooth设备有一个内置的短程无线电发射机,2.4G频段的当前数据速率为1Mbps,这意味着IEEE 802.11b无线LAN和Bluetooth LAN之间可能会存在干扰。
3、帧格式
基带层的帧可以是如下三种类型之一:one-slot,three-slot或five-slot。
一个slot是625us,然而,在one-slot帧交换中,需要259us用于调频和控制机制。意味着one-slot帧仅能持续(625-259)us或366us,在1MHz带宽和1bit/HZ情况下,one-slot帧的大小为366bits。
three-slot帧占据三个slot,然而,需要259us用于调频,因此帧的长度为:3x625-259 = 1616us或1616bits。一个使用three-slot帧的设备对于三个slot来说保持相同的调频(相同的载频),尽管只使用一个调频数,但是还是需要消耗三个调频,即各个帧的调频数等于帧的第一个slot的调频数。
five-slot帧也需要使用259bits用于调频,这意味着帧的长度为:5x625-259 = 2866bits,下图展示了这三种帧类型的格式
上图中各个域的描述如下:
1)Access code:72bit的域,通常包含同步位和primary station的标识符用来区分piconet中的帧。
2)Header:54bit域,是一个重复的18bit模式,各个模式具有如下的子域:
a)Address:3bit地址子域可以定义多达7个secondary station(1到7)。若地址为0,用于从primary station到所有secondary station的广播通信。
b)Type:4bit类型子域定义了来自上层的数据类型,
c)F:该1bit子域用于流控制,当设置为1,表示该设备不能再接收数据(buffer已经满)
d)A:该1bit子域用于确认(Acknowledgement),Bluetooth使用stop-and-wait ARQ;1bit足够用于确认。
e)S:该1bit子域保存序列号,Bluetooth使用stop-and-wait ARQ;1bit足够用于序列号。
f)HEC:8bit头错误矫正子域是一个校验和用来检测18bit header部分中的错误。
header 有三个相同的18bit sections。接收器逐比特(bit-by-bit)比较这三个部分,若各个相应的比特相同,则bit是可接收的,若不相同,则使用服从多数原则。这是一种前向错误纠正(forward error correction)(仅用于header)。这种双重错误控制是需要的,因为通过大气的通信的本质,决定了通信环境非常的嘈杂。
注意:在该子层没有重传。
3)Data:该子域可以是0到2740bit长,它包含来自上层的数据或控制信息。
a)发送station,在侦听到媒介是空闲时,发送一个特殊的小帧RTS(request to send),在该信息中,发送者定义了它需要媒介的整个时间。
b)接收者通过发送一个小包CTS(clear to send)以确认(广播到所有station)请求。
c)发送者开始发送数据帧。
d)接收者确认数据接收到。
内容来自于《TCP/IP Protocol Suite, 4th Edition》