蓝牙(2):BR/EDR的连接过程;查询(发现)=》寻呼(连接)=》安全建立=》认证=》pair成功;类比WiFi连接过程。

4.2.1 BR/EDR 流程:

查询(发现)=》寻呼(连接)=》安全建立=》认证=》pair成功

4.2.1.1 查询(发现)流程Inquiry (discovering)

类比WiFi的probe request/response

蓝牙设备使用查询流程来发现附近的设备,或被其所在区域内的设备发现。

查询流程是不对称的。一个试图寻找其他附近设备的蓝牙设备被称为查询设备,并主动发送查询请求。可以被发现的蓝牙设备被称为可发现设备,它们监听这些查询请求并发送响应。查询流程使用特殊的物理通道进行查询请求和响应。

查询设备和可发现设备可能已经与 piconet 中的其他蓝牙设备连接。任何用于查询或占用查询扫描物理通道的时间都需要与现有逻辑传输的 QoS 承诺需求相平衡。

尽管在交换查询和查询响应信息时可能会认为存在瞬态物理链路,但查询流程并不使用物理通道以上的任何架构层。

4.2.1.1.1 扩展查询响应

扩展查询响应可以在查询响应过程中提供杂项信息。数据类型被定义用于提供本地名称和支持的服务等信息,这些信息在通常情况下需要通过建立连接来获得。如果一个设备在扩展查询响应中收到了本地名称和支持的服务列表,那么它就不需要建立连接来进行远程名称请求和SDP服务搜索,从而缩短了获取有用信息的时间。建议设备在扩展查询响应中包含所有支持的服务和本地名称的重要部分(如果名称太长无法完整发送)。

扩展查询响应数据可以以加密或未加密的形式传输。未加密的数据可以被任何设备解析。加密的数据可以被任何设备接收,但只能被之前共享了用于加密数据的会话密钥的设备解密和验证。

扩展查询响应流程与标准查询响应流程向后兼容。

4.2.1.2 寻呼(连接)流程 Paging (connecting),

类比WiFi的association request/response。

建立连接的流程是不对称的,要求一个蓝牙设备执行寻呼(连接)流程,而另一个蓝牙设备处于可连接状态(寻呼扫描)。这个流程是定向的,因此只有指定的蓝牙设备才会对寻呼流程作出响应。

可连接设备使用特殊的物理通道来监听来自寻呼(连接)设备的连接请求数据包。这个物理通道具有特定于可连接设备的属性,因此只有知道可连接设备的寻呼设备才能在此通道上进行通信。

寻呼设备和可连接设备可能都已经与其他蓝牙设备连接。任何用于寻呼或占用寻呼扫描物理通道的时间都需要与现有逻辑传输的QoS承诺需求相平衡。

4.2.1.3 连接模式,connected mode。物理连接已经建立,可以进行key交互,认证,最终pair成功。

类比WiFi,已经associated,可以进行WPA加密和认证,最终连接成功。

在BR/EDR控制器上成功执行连接流程后,将有一个piconet物理通道,两个设备都连接到这个通道上,设备之间建立了物理链路,并存在默认的ACL-C、ACL-U、APB-C和APB-U逻辑链路。其中两个链路(ACL-C和APB-C)传输LMP控制协议,并且对链路管理器层以上的层是不可见的。ACL-U链路传输L2CAP信号协议以及任何复用的L2CAP尽力而为(best-effort)通道。APB-U链路传输L2CAP通道,这些通道将广播到piconet上的所有外设。通常提到默认的ACL逻辑传输,这可以根据上下文来确定,但通常指的是默认的ACL-U逻辑链路。

在连接模式下,可以在保持与piconet物理通道连接的同时创建和释放额外的逻辑链路,并更改物理和逻辑链路的模式。设备还可以执行查询、寻呼或扫描流程,或者连接到其他piconet,而无需断开与原始piconet物理通道的连接。这些操作都是通过链路管理器完成的,链路管理器与远程蓝牙设备交换链路管理器协议消息。

在外设与piconet积极连接期间,外设和中心之间始终存在一个默认的ACL逻辑传输。删除默认ACL逻辑传输的唯一方法是使设备从piconet物理通道上断开连接,此时设备之间的L2CAP通道、逻辑链路和逻辑传输的整个层次结构都将被删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/636752.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Solidity的引用类型全解析

引用的本来语意 引用类型,变量本身与变量指向的数据分离,赋值操作是引用拷贝,数据块不受影响通常的面向对象语言中的所有引用类型变量之间的赋值操作,都是引用拷贝这一点在Solidity的引用类型中不再成立,solidity的引…

二叉数之插入操作

首先是题目 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效…

防火墙技术基础篇:基于IP地址的转发策略

防火墙技术基础篇:基于IP地址的转发策略的应用场景及实现 什么是基于IP地址的转发策略? 基于IP地址的转发策略是一种网络管理方法,它允许根据目标IP地址来选择数据包的转发路径。这种策略比传统的基于目的地地址的路由更灵活,因…

HTML静态网页成品作业(HTML+CSS)——川西旅游介绍网页(2个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有2个页面。 二、作品演示 三、代…

CentOS 7安装prometheus

说明:本文介绍如何在CentOS操作系统上安装prometheus Step1:下载安装包 访问Github仓库,下载对应版本的prometheus安装包 https://github.com/prometheus/prometheus/releases 操作系统的版本信息,可通过下面这两个命令查看&am…

反编译抖音 a_bogus vmp

接上篇的继续 反编译 vmp 来进行学习 抖音的不太一样的点在于 他的vmp代码是分散的 好几段代码都是vmp的 然后指令对应的操作还不一样 就很蛋疼… 而且 指令对应的操作也是if else 还有三元表达式形式的 不太好找位置 第一步 看vmp代码结构 484e4f4a403f524300033604d6dbeab…

kafka监控配置和告警配置——筑梦之路

kafka_exporter项目地址:https://github.com/danielqsj/kafka_exporter docker-compose部署kafka_exporter # docker-compose部署多个kafka_exporter,每个exporter对接一个kafka# cat docker-compose.ymlversion: 3.1 services:kafka-exporter-opslogs…

30.标签实现动画

SVG的<set>标签是一个非常有用的工具&#xff0c;它允许开发者在SVG图形中创建简单的动画效果。这个标签主要用于在一段时间内改变一个属性到一个新值。以下是关于如何使用<set>标签的一些详细说明和示例。 <set>标签的基本用法 <set>标签用于在SVG动…

【代码随想录】【算法训练营】【第17天】 [110]平衡二叉树 [257]二叉树的所有路径 [404]左叶子之和

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 17&#xff0c;又是一个令人愉快的周五~ 题目详情 [110] 平衡二叉树 题目描述 110 平衡二叉树 解题思路 前提&#xff1a;平衡二叉树&#xff1a;左右子树高度差不超过1, 思路&#xff1a;…

Fastjson漏洞之CVE-2017-18349

前言&#xff1a; 要想理解漏洞原理&#xff0c;首先看看Fastjson是什么&#xff0c;具体用来做什么才能更好的找到可以利用的场景&#xff1a; Fastjson 是一个由阿里巴巴开发的 Java 语言实现的高性能 JSON 解析器和生成器。它具有以下特点: 快速&#xff1a;Fastjson 在序列…

【区块链】caliper压力测试

本文上接postman接口测试 参照工程项目使用Caliper测试工具对食品安全溯源系统智能合约生成新食品(newFood)功能进行压力测试 首先启动webase python3 deploy.py startAll vim /opt/bencahmark/caliper-benchmark/networks/fisco-bcos/test-nw/fisco-bcos.json 命令便捷查…

LLama3 | 一. 本地 Web Demo 部署

前置工作 课程文档&#xff1a;Llama3-Tutorial/docs/hello_world.md at main SmartFlowAI/Llama3-Tutorial GitHub 1.安装vscode 2.安装vscode插件 Remote SSH 3.配置 VSCode 远程连接开发机 ssh连接开发机 进行端口映射 在开发机控制台中点击自定义服务&#xff0c;复…

Python编程之旅:从错误到精通的奇妙探险

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、初识Python编程的陷阱与解决方案 1. 语法错误&#xff1a;防范于未然 2. 逻辑错误&…

java+Angular+Nginx+原生HTML+JS+CSS+Jquery融合B/S版电子病历系统云HIS系统源码

javaAngularNginx原生HTMLJSCSSJquery融合B/S版电子病历系统云HIS系统源码 Java版云HIS系统融合电子病历系统&#xff0c;是医学专用软件。医院通过电子病历以电子化方式记录患者就诊的信息&#xff0c;包括&#xff1a;首页、病程记录、检查检验结果、医嘱、手术记录、护理记录…

Day24:Leetcode:235. 二叉搜索树的最近公共祖先 + 701.二叉搜索树中的插入操作 + 450.删除二叉搜索树中的节点

LeetCode&#xff1a;235. 二叉搜索树的最近公共祖先 解决方案&#xff1a; 1.思路 对于当前节点x&#xff0c;如果x比p和q的值都大&#xff0c;说明&#xff0c;p和q在x的右子树里面&#xff0c;那么去x的右子树里面去寻找&#xff1b;对于当前节点x&#xff0c;如果x比p和…

VMware Ubuntu虚拟机开机黑屏的解决方法

由于不知名原因&#xff0c;我的VMware虚拟机隔三差五会出现开机即黑屏的现象。经过查阅资料和摸索&#xff0c;发现其中一种方法可以很好地解决我虚拟机的问题。 &#xff08;1&#xff09;打开虚拟机 &#xff08;2&#xff09;在虚拟机还在读条状态时&#xff0c;鼠标左键进…

数字营销:以大数据作引擎,推动企业全面数字化升级

数字营销本质乃是以大数据为核之心&#xff0c;促使营销活动高效运作&#xff0c;消费者线上线下数据的无缝衔接、企业内外部数据的贯通、公域引流私域运营等&#xff0c;皆已成为企业运营的标准配置。 数据即等同于市场&#xff0c;市场即等同于用户&#xff0c;用户乃是企…

【hive和spark】hive on spark和spark读取hive metastore配置

HIVE ON SPARK 和 SPARK READ HIVE METASTORE 具体hadoop 和 hive单机版本安装请参考单节点搭建hadoop和hive 此文是基与这篇基础上升级而来。 零、版本说明&#xff1a; 本例使用的版本&#xff0c;hive和spark版本对标Cloudera 公司的 cdh6.2.0 版本&#xff0c;hdfs图省事…

Android应用URI调起百度地图、高德地图 和 腾讯地图

1、百度地图 地图调起API | 百度地图API SDKhttps://lbs.baidu.com/faq/api?titlewebapi/uri/andriod例&#xff1a;反向地址解析 //反向地址解析URI private final String BAIDU_MAP_NAVI_URI "baidumap://map/geocoder?location";/*** 跳转百度地图*/ private…

消息号 KI261 成本中心 XXXX/123123 冻结而不能直接对 2020.10.08 收入记帐

做AR凭证遇到如上图所示的报错&#xff0c;检查之后发现是科目的成本要素类别与成本中心的控制面板-锁定中的类型不匹配&#xff0c;现在科目的成本要素类别是11&#xff0c;控制面板中锁定了“实际销售收入”与“计划收入”。 成本要素类别“11”代表主营收入或者库存收入&…