蓝牙的配对和连接的建立过程

转载 2015年07月07日 15:56:58

http://blog.csdn.net/ge23456789/article/details/16982821


蓝牙的建立过程是一个复杂的过程,即使有过相当一段工作和使用经验的人,如果不仔细去了解还是理解不全。

平时我们用蓝牙耳机听音乐,和不同的设备共享文件,打电话等,都有一个配对--连接--传输数据的过程。

配对,其实就是一个认证的过程。


为什么不配对便无法建立连接?

任何无线通信技术都存在被监听和破解的可能,蓝牙SIG为了保证蓝牙通信的安全性,采用认证的方式进行数据交互。同时为了保证使用的方便性,以配对的形式完成两个蓝牙设备之间的首次通讯认证,经配对之后,随后的通讯连接就不必每次都要做确认。所以认证码的产生是从配对开始的,经过配对,设备之间以PIN码建立约定的link key用于产生初始认证码,以用于以后建立的连接。

所以不配对,两个设备之间便无法建立认证关系,无法进行连接及其之后的操作,所以配对在一定程度上保证了蓝牙通信的安全,当然这个安全保证机制是比较容易被破解的,因为现在很多个人设备没有人机接口,所以PIN码都是固定的而且大都设置为通用的0000或者1234之类的,所以很容易被猜到并进而建立配对和连接。

蓝牙的连接过程


现在的蓝牙芯片供应商提供的技术支持能力相当强大,有完整的硬件和软件解决方案。对于应用而言,提供了固件用于实现底层协议栈,提供了profile库及源代码规范了各种应用,开发人员只要专注于应用程序开发就可以了。对于蓝牙底层的一些东西往往不甚了了。以前我也是这样子的,最近在做一个自动搜索以实现自动连接的应用,发现还是需要了解一些底层的机制的。
我们可以很容易的进行操作在一个手机和免提设备之间建立连接,那么这个连接是怎么建立起来的呢?
首先,主设备(master,即发起连接的设备)会寻呼(page)从设备(slave,接收连接的设备),master会已跳频的方式去寻呼slave,slave会固定间隔地去扫描(scan)外部寻呼,即page scan,当scan 到外部page时便会响应response该page,这样两个设备之间便会建立link的连接,即ACL链路的连接。当ACL 链路连接建立后,主设备会发起channel的连接请求,即L2CAP的连接,建立L2CAP的连接之后,主设备采用SDP去查询从设备的免提服务,从中得到rfcomm的通道号,然后主设备会发起rfcomm的连接请求建立rfcomm的连接。然后就建立了应用的连接。
即link establish->channel establish->rfcomm establish->connection

蓝牙的配对和连接的建立过程

蓝牙的建立过程是一个复杂的过程,即使有过相当一段工作和使用经验的人,如果不仔细去了解还是理解不全。 平时我们用蓝牙耳机听音乐,和不同的设备共享文件,打电话等,都有一个配对--连接--传输数据的过程。...
  • ge23456789
  • ge23456789
  • 2013年11月27日 11:54
  • 26411

蓝牙学习笔记之建立蓝牙连接的过程

发送广告数据包的叫广告发起者(advertisers),在广播通道接收广播数据包但没意向连接广播发起设备的叫扫描者( scanners),  需要连接到另一个设备的设备叫做 initiators,它监...
  • sinat_23338865
  • sinat_23338865
  • 2016年08月12日 10:45
  • 3781

蓝牙连接的建立过程

物理信道(physical channel)是蓝牙系统的最底层结构,它以一伪随机跳频序列、特定的发送时槽定时、接入码及帧头编码来表征。蓝牙定义了一系列物理信道用于不同的应用,包括用于匹克网内设备通信的...
  • yuanzhangmei1
  • yuanzhangmei1
  • 2014年05月04日 17:55
  • 2091

CC2540 - BLE4.0蓝牙center与peripheral建立连接绑定过程

转至:http://blog.sina.com.cn/casuallystone
  • swanwei
  • swanwei
  • 2016年01月15日 16:57
  • 1185

Android简单的蓝牙配对与连接

android 蓝牙
  • xwh1152046774
  • xwh1152046774
  • 2017年02月27日 16:59
  • 775

【BLE】CC2541连接之配对与绑定实验

CC2541连接之配对与绑定实验
  • u014647208
  • u014647208
  • 2017年02月23日 10:07
  • 823

Android开发之蓝牙连接与配对设备

Android开发之蓝牙连接与配对设备一、配置蓝牙权限
  • VRoymond
  • VRoymond
  • 2017年03月03日 10:50
  • 1176

BLE4.0广播连接过程的底层剖析

在实验过程中遇到很多问题,都不知道从何下手,所以决定深入了解蓝牙协议栈的底层,看是如何运行的,了解后,遇到问题就知道从哪里开始找问题,你懂得;...
  • zhuangjitongxue
  • zhuangjitongxue
  • 2015年11月05日 10:07
  • 2821

缩短蓝牙链路建立时间的快速连接方案

蓝牙技术已经大量在通信产品中得到应用,然而存在的一些技术细节限制了它的发展,其中一项就是建立蓝牙链路的时延过长。本文参考蓝牙SIG组织最新公布的协议,在详细分析建立蓝牙链路的时延的基础上,给出了两种快...
  • zx7415963
  • zx7415963
  • 2016年03月04日 15:42
  • 1249

iOS蓝牙开发连接系统或其他APP已经连接、配对成功的蓝牙设备

在蓝牙开发的时候,扫描外设的方法扫描到的设备只能是没有被连接的设备,也就是说如果有设备在本手机中已经连接配对成功了之后就不会被 [_centralManager scanForPeripherals...
  • CloverZhu
  • CloverZhu
  • 2017年04月05日 12:07
  • 2296
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:蓝牙的配对和连接的建立过程
举报原因:
原因补充:

(最多只允许输入30个字)