一分鐘讀懂低功耗藍牙(BLE)MTU交換數(shù)據(jù)包

1.概述

??* MTU: 最大傳輸單元(MAXIMUM TRANSMISSION UNIT) 喻喳, 指在一個PDU (Protocol Data Unit: 協(xié)議數(shù)據(jù)單元躺坟,在一個傳輸單元中的有效傳輸數(shù)

據(jù))能夠傳輸?shù)淖畲髷?shù)據(jù)量(多少字節(jié)可以一次性傳輸?shù)綄Ψ剑?/p>

??* MTU 交換是為了在主從雙方設置一個PDU中最大能夠交換的數(shù)據(jù)量卵佛,通過MTU的交換和雙方確認(注意這個MTU是不可以協(xié)商的公荧,只是通知對方休涤,雙方在知道對方的極限后會選擇一個較小的值作為以后的MTU吗购,比如說,主設備發(fā)出一個150個字節(jié)的MTU請求冰垄,但是從設備回應MTU是23字節(jié)蹬癌,那么今后雙方要以較小的值23字節(jié)作為以后的MTU),主從雙方約定每次在做數(shù)據(jù)傳輸時不超過這個最大數(shù)據(jù)單元

? ? MTU交換通常發(fā)生在主從雙方建立連接關系后(參見“一分鐘讀懂低功耗藍牙連接數(shù)據(jù)包“”)

? ? 做個對比就可以知道BLE MTU 比較泻绮琛(不過新的BLE 標準MTU 已經(jīng)大幅提升逝薪,詳見即將發(fā)表在VIEWTOOL BBS上的后續(xù)文章)。

??****************************************************************“*************************? ?? ?

? ?以太網(wǎng):1500

??IEEE 802.3/802.2: 1492

??X.25: 576

??BLE: 23? ?=> 這就是為什么WIFI 可以用于傳輸視頻蝴罪,傳統(tǒng)藍牙(BT)可以傳輸音頻董济,而低功耗藍牙(BTLE 或者BLE)只能夠傳輸控制數(shù)據(jù)的原因了。

??******************************************************************************************

??* MTU 交換命令:屬于ATT 命令

??* MTU 交換過程:如下圖


??* MTU 兩個命令(“MTU 請求”及“MTU 響應”)詳解如下(見“4”)

2.關鍵字:Hollong BLE 偵聽儀要门,低功耗藍牙嗅探器, BLE 分析儀虏肾,BLE 數(shù)據(jù)抓取

??Keyword: Hollong BLE Sniffer, BLE Data Analyzer,BLE Capture

3.抓取數(shù)據(jù)包的準備工作

??* 硬件:一個BLE設備(從設備)及對應的主設備(如智能手機里面的相關應用程序欢搜,或者通用BLE 工具軟件)封豪;

? ?? ?? ???一臺HOLLONG BLE SNIFFER (Hollong BLE 偵聽儀)

??* 軟件:Hollong 藍牙4.0/4.1 BLE協(xié)議監(jiān)控分析儀 軟件, 使用本軟件可以打開本文中的數(shù)據(jù)包附件炒瘟,進而可以更加方便及更加全面地了解更多細節(jié)(包括最全面的數(shù)據(jù)及數(shù)據(jù)解析)

? ?? ???下載鏈接:

?http://www.viewtool.com/index.ph ... hollong-4-0-4-1-ble

4.?MTU 請求(REQEUST)

? ?完整數(shù)據(jù)(以下關注藍色標注部分)


? ? 1)??存取地址

? ? Access Address: 0xaf9a8c69

? ? 固定為4個字節(jié)吹埠,其值由連接請求數(shù)據(jù)包指定(詳見“一分鐘讀懂低功耗藍牙連接數(shù)據(jù)包”)


? ?2) 頭信息

 Data Header: 0x0706? ? 000. .... = RFU: 0

? ? ...0 .... = More Data: False

? ? .... 0... = Sequence Number: 0

? ? .... .1.. = Next Expected Sequence Number: 1

? ? .... ..10 = LLID: Start of an L2CAP message or a complete L2CAP message with no fragmentation (0x2)

? ? 000. .... = RFU: 0

? ? ...0 0111 = Length: 7


 3) L2CAP 長度

? ? 在BLE中,GAP,GATT,SMP 都使用L2CAP 通道將命令及數(shù)據(jù)打包送到鏈路層(LINK LAYER),L2CAP 打包過程中需要指定L2CAP的長度及通道號缘琅。

? ? Length: 3


? ?4) L2CAP 通道號(CID):channel ID

? ?CID: Attribute Protocol (0x0004)


? ? 5) ATT 命令

? ???標準發(fā)下:


? ???實際數(shù)據(jù)包:

? ? Opcode: Exchange MTU Request (0x02)

? ? 0... .... = Authentication Signature: False

? ? .0.. .... = Command: False

? ? ..00 0010 = Method: Exchange MTU Request (0x02)


? ?6) MTU 值 (請求的值)

? ? Client Rx MTU: 185



7) CRC?


4.?MTU 響應(RESPONSE)

? ? 完整數(shù)據(jù)包:


? ? 1) 存取地址

? ? Access Address: 0xaf9a8c69

? ? 固定為4個字節(jié)粘都,其值由連接請求數(shù)據(jù)包指定(詳見“一分鐘讀懂低功耗藍牙連接數(shù)據(jù)包”)


? ? 2. 頭信息

? ? Data Header: 0x0712? ? 000. .... = RFU: 0

? ? ...1 .... = More Data: True

? ? .... 0... = Sequence Number: 0

? ? .... .0.. = Next Expected Sequence Number: 0

? ? .... ..10 = LLID: Start of an L2CAP message or a complete L2CAP message with no fragmentation (0x2)

? ? 000. .... = RFU: 0

? ? ...0 0111 = Length: 7


? ? 3. L2CAP 長度

? ?? ???解釋同(請求包)。

? ?? ???Length: 3


? ? 4. L2CAP 通道號

? ?? ???解釋同(請求包)刷袍。

? ?? ? CID: Attribute Protocol (0x0004)


? ? 5. ATT 命令

? ?? ? 標準:


? ?? ? 實例:

? ?? ? Opcode: Exchange MTU Response (0x03)? ? 0... .... = Authentication Signature: False

? ? .0.. .... = Command: False

? ? ..00 0011 = Method: Exchange MTU Response (0x03)


? ???6) MTU 值

? ?? ?Server Rx MTU: 23


? ?? ?7)CRC

? ?? ? CRC: 0xf4767e

? ? [Expert Info (Note/Checksum): CRC unchecked, not all data available]


?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末翩隧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子呻纹,更是在濱河造成了極大的恐慌堆生,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件居暖,死亡現(xiàn)場離奇詭異顽频,居然都是意外死亡藤肢,警方通過查閱死者的電腦和手機太闺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘁圈,“玉大人省骂,你說我怎么就攤上這事∽钭。” “怎么了钞澳?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涨缚。 經(jīng)常有香客問我轧粟,道長,這世上最難降的妖魔是什么脓魏? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任兰吟,我火速辦了婚禮,結(jié)果婚禮上茂翔,老公的妹妹穿的比我還像新娘混蔼。我一直安慰自己,他們只是感情好珊燎,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布惭嚣。 她就那樣靜靜地躺著,像睡著了一般悔政。 火紅的嫁衣襯著肌膚如雪晚吞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天谋国,我揣著相機與錄音载矿,去河邊找鬼。 笑死,一個胖子當著我的面吹牛闷盔,可吹牛的內(nèi)容都是我干的弯洗。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼逢勾,長吁一口氣:“原來是場噩夢啊……” “哼牡整!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起溺拱,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤逃贝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后迫摔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沐扳,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年句占,在試婚紗的時候發(fā)現(xiàn)自己被綠了沪摄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡纱烘,死狀恐怖杨拐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情擂啥,我是刑警寧澤哄陶,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站哺壶,受9級特大地震影響屋吨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜山宾,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一至扰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧塌碌,春花似錦渊胸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至接剩,卻和暖如春切厘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背懊缺。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工疫稿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留培他,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓遗座,卻偏偏與公主長得像舀凛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子途蒋,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容