藍牙(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通道、邏輯鏈路和邏輯傳輸的整個層次結構都將被刪除。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14167.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14167.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14167.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Github 2024-05-24 Java開源項目日報 Top10

根據Github Trendings的統計,今日(2024-05-24統計)共有10個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量Java項目10Java設計模式:提高開發效率的正規化實踐 創建周期:3572 天開發語言:Java協議類型:OtherStar數量:86766 個Fork數量:25959 次關…

探數API統計分享-1949年-2021年中國歷年夏糧產量統計報告

????????中國歷年夏糧產量?,為1949年到2021年我國每年的夏糧產量數據。2021年,我國夏糧產量為14596萬噸,比上年增長2.2%。 數據統計單位為:萬噸 。 我國夏糧產量有多少? 2021年,我國夏糧產量為1…

在Juniper SRX系列防火墻上配置DNS

SRX# set system name-server 17.20.0.11 SRX# show system name-server

vue中v-for的key值怎么使用?如何選擇?

在 Vue 中,v-for 指令用于渲染列表數據。當使用 v-for 時,強烈建議為每一項提供一個唯一的 key 屬性。這個 key 不僅是 Vue 區分節點的標識,也是 Vue 實現列表高效更新的一種機制。 如何使用 key 在 v-for 中,key 應該綁定到列表…

202206青少年軟件編程(Python)等級考試試卷(三級)

第 1 題 【單選題】 下圖所示, 有一個名為"書目.csv"的文件。 小明針對這個文件編寫了 5 行代碼,請問, 代碼運行到最后打印在屏幕上的結果是? ( ) with open(書目.csv, r, encoding=utf-8) as f:for line in f.readlines

適配arm架構國產服務器(銀河麒麟、中科方德)依賴下載

在計算機硬件領域,兩種主流的CPU架構分別是X86和ARM。X86架構,也稱為CISC(復雜指令集計算機),主要服務于PC和服務器行業。而ARM架構,代表RISC(精簡指令集計算機),則在移動…

利用Axure模板快速設計,可視化大屏信息大屏,含近200例資源和各類部件

模板類別: **通用模板:**提供基礎的布局和設計元素,適用于各種場景。 **行業特定模板:**如農業、醫院、銷售、能源、物流、政府機關等,針對不同行業提供專業模板。 **數據展示模板:**包括大數據駕駛艙、統…

1.1 什么是internet?

什么是Internet:從具體構成角度 節點 主機及其上運行的應用程序路由器、交換機等網絡交換設備 ? 邊:通信鏈路接入網鏈路:主機連接到互聯網的鏈路主干鏈路:路由器間的鏈路 ? 協議 ? 數以億計的、互聯的計算設備: ? 主機 端系…

webgl開發家居設計軟件

WebGL是一種在網頁瀏覽器中渲染3D圖形的JavaScript API,它基于OpenGL ES標準,允許開發者創建和顯示交互式的3D圖形。開發基于WebGL的家居設計軟件可以為用戶提供一種全新的、沉浸式的家居設計體驗。以下是開發此類軟件的一些關鍵步驟和特點。北京木奇移動…

2024 Google I/O 宣布正式支持 Kotlin Multiplatform ,那 KMP 是什么?它的未來在哪里?

基于最近一直有人和我提 KMP ,那就簡單聊聊。 2024 Google I/O 正式官宣了支持 KMP ,而一般意義上的 KMP 指的就是 Kotlin Multiplatform ,它是 Google Workspace 團隊的一項長期「投資」項目,這里有個重點,那就是 Ko…

Nginx配置文件

當然,讓我們一步步來了解Nginx配置文件,即使你是完全的初學者也能輕松跟上。想象一下Nginx是一個超級聰明的接待員,它知道如何處理各種各樣的訪客請求,而這些規則,我們就寫在一個叫做nginx.conf的文件里。 1. 找到配置…

AJAX(JavaScript版本)

目錄 一.AJAX簡介 二.XMLHttpRequests對象 2.1XMLHttpRequests對象簡介 2.2創建XMLHttpRequests對象 2.3定義回調函數 2.4發送請求 2.5XMLHttpRequests對象方法介紹 2.6XMLHttpRequests對象屬性 三.向服務器發送請求 3.1發送請求 3.2使用GET還是POST 3.3使用GET來發…

前端nvm、nodejs、npm、cnpm、yarn安裝教程(超詳細圖文,含卸載舊的nodejs,安裝及環境變量配置)

最近換了新電腦,一開始在網上找了一個教程讓下載nvm-noinstall.zip 壓縮包解壓使用,踩坑了,過程復雜最后報錯無法用。 后來搜到下文教程,直接使用nvm。exe進行安裝,方便快捷。下面這個文章寫的很詳細,從如何…

谷歌快速收錄怎么做?

快速收錄顧名思義,就是讓新的的網頁內容能夠迅速被谷歌搜索引擎抓取、索引和顯示在搜索結果中,這對于做seo來說非常重要,因為它有助于新發布的內容盡快出現在谷歌的搜索結果中,從而增加網站的流量 想做谷歌快速收錄谷歌推薦了幾種…

12. Web開發:介紹Web開發的基本概念,Servlet和JSP的使用,MVC設計模式的應用等。

Web開發的輕松入門之旅 想象一下,Web開發就像是搭建一個在線的小家,你既是設計師,又是建筑師,還是管家。我們一步步來探索這個過程,保證簡單易懂,就像搭積木一樣有趣! Web開發基礎認知 Web開…

mybatis-plus 開發中常用的

1、查詢 // 假設有一個 QueryWrapper 對象&#xff0c;設置查詢條件為 age > 25 QueryWrapper<User> queryWrapper new QueryWrapper<>(); queryWrapper.gt("age", 25); List<User> users userService.list(queryWrapper); // 調用 list 方法…

【MySQL02】【 InnoDB 記錄存儲結構】

文章目錄 一、前言二、InnoDB 行格式1. COMPACT 行格式1.1 記錄的額外信息1.2 記錄的真實數據1.3 綜上 2. REDUNDANT 行格式2.1 字段長度偏移列表2.2 記錄頭信息 3. DYNAMIC 行格式和 COMPPESED 行格式 三、InnoDB 數據頁結構1. File Header (文件頭部)2. Page Header (頁面頭部…

(一)Go語言使用:常用API

Math import("math" ) // 比較大小 a,b float64 其他的最大最小得自己實現 Math.max(a,b) Math.min(a,b) // 最大數 最小數 math.MaxInt64 math.MinInt64 ? math.Sqrt(5) // 開方 返回float64 math.Pow(a,b) // 求冪 參數都是float64sort & 排序 // 排序 sort…

探索Linux中的神奇工具:深入了解wc命令

探索Linux中的神奇工具&#xff1a;深入了解wc命令 在Linux系統中&#xff0c;wc命令是一個簡單但功能強大的工具&#xff0c;用于統計文件中的字數、行數和字符數。本文將詳細介紹wc命令的基本用法和一些常見選項&#xff0c;幫助讀者更好地理解和運用這個命令。 了解wc命令…

移動硬盤不小心制作成啟動盤怎么辦?別慌,這樣解決更輕松

在數字化時代&#xff0c;移動硬盤作為我們存儲和攜帶重要數據的重要設備&#xff0c;其安全性與便利性不言而喻。然而&#xff0c;在日常使用中&#xff0c;我們可能會遇到一些意想不到的情況&#xff0c;比如一不小心將移動硬盤制作成了啟動盤。面對這種情況&#xff0c;許多…