蓝牙
蓝牙技术的特点
- 全球范围通用:2.4GHz的ISM频段。
- 同时传输语音和数据:采用电路交换和分组交换技术,支持异步数据信道,三路语音信道或异步和同步语音同时传输的信道。每个语音信道为64kbit/s。
- 语音信号调制用脉冲编码调制(PCM)或连续可变斜率增量调剂(CVSD)。数据信道分为非对称数据传输和对称数据传输。
- 蓝牙定义了两种链路类型:异步无连接链路(ACL)和面向同步连接线路(SCO),前者传数据后者传语音。
- 可建立临时性的对等连接。
- 有很好的抗干扰能力:跳频方式来扩展频谱。分79频点,每相频间隔1MHz。频点选择顺序是伪随机
- 体积小以便于集成到各个设备
- 微小的功耗:激活模式、呼吸模式、保持模式、休眠模式。
蓝牙系统组成结构
硬件部分
- 无线射频单元
- 负责数据的发射和接受。短距离、低功耗、体积小、重量轻。
- 采用全向天线,支持点到多点通信;支持终端移动性;信号传输不受视距影响
- 射频采用的调制方式:高斯滤波二进制频移键控(GFSK)
- 蓝牙设备的核心:无线单元(蓝牙无线接收器),完成信息跳频扩散与解扩功能。无线收发器芯片
- 链路控制单元:进行射频信号与数字或语音信号的转换,负责处理基带协议
- 网络建立:ACL与SCO均采用时分双工通信。ACL支持对称和非对称两种传输流量,同时支持广播,主设备控制链路单元。负责从设备带宽分配。从设备轮询方式发送数据。SCO:对称连接,实时语音传输,无需轮询。可语音可数据。中断时仅数据重传。
- 差错控制:
- 1/3千向纠错编码(FEC):使用与含有重要连接信息的纠错
- 2/3FEC
- 自动请求重传:在发送后在下一时隙给出确认的数据传输。
- 验证与加密:物理层提供。口令应答方式:采用流密码加密技术
- 蓝牙设备的模块化应用
- 硬件部分一般把所有芯片和电阻、电容等组件集中在一块电路块,成为独立蓝牙模块。
- 最重要的组件是基带控制器与RF发射组件。主要电子元件包含内存、处理器(CPU)、基带、射频模块。
软件部分
- 链路管理单元:链路软件管理,主要执行链路设计、鉴权、配置和蓝牙设备建立连接做的工作。
- 软件单元:蓝牙软件系统按照实现各种过程和进程的标准化协议而编写。软件系统应用互操作性。软件的互通性要求设备采用相同应用层协议,独立的系统。
- 蓝牙模块的软件运行环境:位于HCI层以上(模块软件部分)
- 高层协议栈一般设计为一个软件部分,运行于主机设备,称为主机栈。其支持多种硬件平台,良好用户接口。使用了虚拟操作系统概念(VOS),从而把协议栈直接嵌入式实时操作系统或标准操作系统,可移植性。
- 在HCI层下附加了串行接口层,实现利用不同HCI接口的映射
- 蓝夜协议栈提供了蓝牙应用程序接口(API)
- 蓝牙协议栈软件中附加了一个协议栈的管理模块
自适应跳频技术
AFH建立在自动信道质量分析基础上的一种频率自适应和功率自适应控制相结合的技术。使自动避开被干扰的跳频频点,以最小发射功率、最低的被截获概率,达到在无干扰的跳频信道长时间优质通信。
- 应用步骤:设备识别、信道分类、分类信息交换、自适应跳频。
- 设备识别:由链路层管理协议(LMP)在通信前交换信息,确认通信双方支持AFH模式。LMP中包含二者通信使用的最小信道数。
- 按照传输质量对信道分类。按LMP格式形成分类表。在主设备从设备交换信息后,以分类表为依据来自适应跳频。时分形式。
- 蓝牙AFH的结构:在频率同步器和跳频序列发生器中加入了一个分组映射器(自适应频率选择器),通过L模式与H模式,在蓝牙频率选择器中,若输出是好信道:直接使用;坏信道:好信道分组中重选频率。
- 蓝牙采用AFH来避免干扰,保证微微网良好的QoS,保证网络正常吞吐率与可靠性。减小重发、降低时延。
蓝牙协议
- 传输协议组:用于使蓝牙设备能确认彼此协议组相互位置,并创建、配置与管理物理以及逻辑链路。协议族包括射频、基带、链路管理协议,逻辑链路控制和自适应协议以及主机控制器接口协议。
- L2CAP层(逻辑链路控制和适配协议):为应用和高层协议屏蔽了下层传输协议的细节
- LMP层:通过LMP与蓝牙空中接口协商可得到的性能(分配带宽为了数据与音频业务),以查询-相应方式鉴权。
- 基带与无线层:匹配的无线发射器与接收机。基带层决定了蓝牙的空中借口,定义了设备相应查找过程及建立连接方式。为设别定义了主从关系。定义了形成跳频序列以及设备共享接口规定。蓝牙既支持电路交换也支持分组交换。基带帧保留了一部分时隙用于同步分组,用时分双工(TDD)实现全双工传输
- HCI层(主机控制器接口)允许包括应用在内的高层协议通过一个信道标准接口访问基带层、链路管理层、寄存器等。
- 中间件协议组互联网相关协议(PPP、IP、ICP……)无线应用协议(WAP)与IrDA等交换协议
- RFCOMM层(电缆替代协议):方便将有线串行通信中的应用搬到无线串行通信中来。实现诸如同步、拨号上网等功能。
- SDP层:为设备定义了发现其他设备提供服务的方法。服务发现是实现用户价值关键内容
- IDrA互操作协议:在无线网络中交换与同步数据。OBEX协议是对等通信的会话协议,IrMC协议实现对象同步。
- TCS层与音频:包括呼叫控制功能、组管理功能及设备交换呼叫信令信息的方法。允许同时间有3个信道。
- 应用协议组
蓝牙基带数据传输机理
- 48位蓝牙设备地址BD_ADDR是蓝牙设备连接过程的唯一标准
- 3位的微微网激活点地址AM_ADDR用户标识微微网中激活成员,3位全用作广播信息。
- 8位的微微网休眠节点地址PM_ADDR标识休眠的从节点
- 微微网接入地址AR_ADDR分配微微网中要启动唤醒过程的从节点
- 蓝牙数据传输
- 蓝牙分组:接入码用来定时同步、偏移补偿、寻呼和查询;分组头包含6字段,用于链路控制;蓝牙使用快速,不编号的分组确认方式,通过设置合适的ARQN值来区分确定收到数据分组
- 链接及流控制:
- SCO链接是一个对称的主从节点之间点对点的同步链接,属于电路交换,携带语音信息,不支持重传
- ACL:在没有SCO链接的保留时隙中,提供可以与任何从节点异步或同步交换的机制,用多少ACL分组时,用分组重分保证数据完整性
- 先进先出(FIFO)队列实现ACL与SCO链接的发射、接受。
- 蓝牙设备连接采用分组快速确认技术和跳频方案来确保链路、信道稳定。
- 跳频选择:把频带分成多个信道。无线电收发器按一定序列从一个信道跳到另一个。
- 蓝牙连接建立:从待令状态到连接状态
- 查询:从节点找可监视区域的蓝牙设别,使用IAC
- 查询扫描:此过程设备可以监听普通查询接入码(GIAC)和特定查询接入码(DIAC)
- 查询响应:携带本节点的DAC(设备访问码)、本地时钟信息
- 寻呼(Page):主节点在不同跳频序列发消息,激活一个从节点并建立连接
- 寻呼扫描
- 从节点响应
- 主节点响应
- 连接状态:以主节点发送一个POLL分组开始,表明建立连接。建立后,主节点的蓝牙设备地址BD_ADDR决定跳频序列与信道接入码。连接状态子状态:Active、Sniff:从节点不支持ACL分组、Park。
- 快速连接转移模式:基站控制器通过给定新基站地址和时钟信息去帮移动设备跟它们建立关系
蓝牙技术的安全机制
蓝牙通信技术中,比较典型的安全风险:1. 采用ISM2.4GHz频段发信息,与许多同类协议如IEEE802.11b,家用设备等产生频段冲突。2. 电磁信号发送过程中易被截取、分析,失去保密性。3.通信对端实体身份易被冒充。针对以上风险:调频技术,加密,身份鉴别机制。
- 网络安全模式
- 非安全模式
- 业务安全模式:服务级安全机制对系统各个应用与服务进行保护,包括授权访问、身份鉴别、加密传输。此模式加密与鉴别发生在逻辑链路控制和适配协议(L2CAP)信道建立前。安全体系和新是安全管理器。
- 链路层安全模式:对所有应用和服务的访问都需实行访问授权、身份鉴别和加密。此模式鉴别发生于链路配置完成前(在低层协议完成其安全性过程)。系统在链路层同时用4种不同实体保证安全:蓝牙单元独立的地址BD_ADDR、每次业务处理的随机数(会话秘钥128bit),验证密钥(128bit),加密密钥(8-128bit)
- 匹配:两台蓝牙链接时,个人识别码(PIN)和一个随机数创建初始密钥Kinit,此过程为匹配
- 鉴权:挑战-应答方案,经2-MOV协议来校验
- 加密:采用分组方式保护有效载荷。分组报头和其他控制信息不加密,用序列码E0对有效载荷加密
- 密钥管理技术
- PIN(个人识别码)1-16字节的字符串,缺省长度4字节,PIN值可以改变
- 链路密钥:验证并生成加密密钥,处理设备间所有安全问题
- 加密密钥Ec
- 加密算法(E0):流加密方式。原理是利用线性反馈移位寄存器产生伪随机序列,从而形成用户加密的密钥流,后将密钥流与待加密数据流进行异或实现加密
低功耗蓝牙(BLE协议)
- 内核(core)核心由射频收发器、基带、协议栈组成
- 配置文件(Profiles)指定连接设备的一般行为
- BLE底层协议
- 物理协议层:工作与2.4Hz的ISM频段,用高斯频移键控(GFSK)
- 链路协议层:控制射频状态下蓝牙的5种工作状态
- BLE中间层协议:数据分解与重组、服务质量控制等服务
- 主控制器接口层(HCI)主机与主控制器的通信桥梁
- L2CAP:向上层下一层提供定向链接数据服务及无链接服务
- BLE高层协议
- 通用访问配置协议:定义设备基本功能
- 通过属性配置协议:在属性协议基础上,传输和存储数据
- 属性协议:定义了互联设备数据传输格式