標(biāo)題: 一分鐘讀懂低功耗藍(lán)牙(BLE)MTU交換數(shù)據(jù)包 [打印本頁]

作者: 緯圖物聯(lián)    時(shí)間: 2017-8-21 09:42
標(biāo)題: 一分鐘讀懂低功耗藍(lán)牙(BLE)MTU交換數(shù)據(jù)包
1.概述         
  * MTU: 最大傳輸單元(MAXIMUMTRANSMISSION UNIT, 指在一個(gè)PDU ProtocolData Unit協(xié)議數(shù)據(jù)單元,在一個(gè)傳輸單元中的有效傳輸數(shù)

據(jù))能夠傳輸?shù)淖畲髷?shù)據(jù)量(多少字節(jié)可以一次性傳輸?shù)綄Ψ剑?/font>
  *MTU 交換是為了在主從雙方設(shè)置一個(gè)PDU中最大能夠交換的數(shù)據(jù)量,通過MTU的交換和雙方確認(rèn)(注意這個(gè)MTU是不可以協(xié)商的,只是通知對方,雙方在知道對方的極限后會選擇一個(gè)較小的值作為以后的MTU,比如說,主設(shè)備發(fā)出一個(gè)150個(gè)字節(jié)的MTU請求,但是從設(shè)備回應(yīng)MTU23字節(jié),那么今后雙方要以較小的值23字節(jié)作為以后的MTU),主從雙方約定每次在做數(shù)據(jù)傳輸時(shí)不超過這個(gè)最大數(shù)據(jù)單元
   MTU交換通常發(fā)生在主從雙方建立連接關(guān)系后(參見"一分鐘讀懂低功耗藍(lán)牙連接數(shù)據(jù)包"
    做個(gè)對比就可以知道BLEMTU 比較小(不過新的BLE 標(biāo)準(zhǔn)MTU 已經(jīng)大幅提升,詳見即將發(fā)表在VIEWTOOL BBS上的后續(xù)文章)。
****************************************************************“*************************      
   以太網(wǎng):1500
IEEE 802.3/802.2: 1492
X.25: 576
BLE: 23   => 這就是為什么WIFI 可以用于傳輸視頻,傳統(tǒng)藍(lán)牙(BT)可以傳輸音頻,而低功耗藍(lán)牙(BTLE 或者BLE)只能夠傳輸控制數(shù)據(jù)的原因了。
******************************************************************************************
  *MTU 交換命令:屬于ATT 命令
  *MTU 交換過程:如下圖
    MTU Exchange.png
  *MTU 兩個(gè)命令(“MTU 請求”及“MTU 響應(yīng)”)詳解如下(見“4”)

2.關(guān)鍵字:Hollong BLE 偵聽儀,低功耗藍(lán)牙嗅探器,BLE 分析儀,BLE 數(shù)據(jù)抓取
Keyword: Hollong BLE Sniffer, BLE Data Analyzer,BLE Capture

3.抓取數(shù)據(jù)包的準(zhǔn)備工作
  * 硬件:一個(gè)BLE設(shè)備(從設(shè)備)及對應(yīng)的主設(shè)備(如智能手機(jī)里面的相關(guān)應(yīng)用程序,或者通用BLE 工具軟件);
          一臺HOLLONG BLE SNIFFER Hollong BLE 偵聽儀)
  * 軟件:Hollong 藍(lán)牙4.0/4.1 BLE協(xié)議監(jiān)控分析儀 軟件, 使用本軟件可以打開本文中的數(shù)據(jù)包附件,進(jìn)而可以更加方便及更加全面地了解更多細(xì)節(jié)(包括最全面的數(shù)據(jù)及數(shù)據(jù)解析)



4. MTU 請求(REQEUST
   完整數(shù)據(jù)(以下關(guān)注藍(lán)色標(biāo)注部分)
    MTU request complete.png
   1)  存取地址
   Access Address: 0xaf9a8c69
    固定為4個(gè)字節(jié),其值由連接請求數(shù)據(jù)包指定(詳見“一分鐘讀懂低功耗藍(lán)牙連接數(shù)據(jù)包”)

    MTU req access address.png

   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 messagewith no fragmentation (0x2)
   000. .... = RFU: 0
   ...0 0111 = Length: 7
    MTU req header info.png

 3) L2CAP 長度
    BLE中,GAP,GATT,SMP都使用L2CAP 通道將命令及數(shù)據(jù)打包送到鏈路層(LINK LAYER),L2CAP 打包過程中需要指定L2CAP的長度及通道號。
   Length: 3
    MTU req l2cap size .png

   4)L2CAP 通道號(CID)channel ID
  CID: Attribute Protocol (0x0004)
    MTU req l2cap channel ID.png   

   5) ATT 命令
     標(biāo)準(zhǔn)發(fā)下:
      MTU REQUEST ATT FORMAT.png      
     實(shí)際數(shù)據(jù)包:
   Opcode: Exchange MTU Request (0x02)
   0... .... = Authentication Signature: False
   .0.. .... = Command: False
   ..00 0010 = Method: Exchange MTU Request (0x02)
      MTU req l2cap opcode.png     


   6)MTU (請求的值)
   Client Rx MTU: 185
    MTU req l2cap MTU value.png

   7)CRC
    MTU req CRC.png

4. MTU 響應(yīng)(RESPONSE
    完整數(shù)據(jù)包:
    mtu rsp complete.png
    1 存取地址
   Access Address: 0xaf9a8c69
    固定為4個(gè)字節(jié),其值由連接請求數(shù)據(jù)包指定(詳見“一分鐘讀懂低功耗藍(lán)牙連接數(shù)據(jù)包”)
    mtu rsp access address.png

   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 messagewith no fragmentation (0x2)
   000. .... = RFU: 0
   ...0 0111 = Length: 7
    mtu rsp header info.png

   3. L2CAP 長度
       解釋同(請求包)。
       Length: 3
       mtu rsp l2cap size.png

   4. L2CAP 通道號
       解釋同(請求包)。
      CID: Attribute Protocol (0x0004)
       mtu rsp l2cap channel ID.png

   5. ATT 命令
      標(biāo)準(zhǔn):
       MTU Response ATT FORMAT.png

      實(shí)例:
      Opcode: Exchange MTU Response (0x03)   0... .... = Authentication Signature: False
   .0.. .... = Command: False
   ..00 0011 = Method: Exchange MTU Response (0x03)
       mtu rsp opcode.png

    6 MTU
     Server Rx MTU: 23
       mtu rsp mtu value.png

     7CRC
      CRC: 0xf4767e
   [Expert Info (Note/Checksum): CRC unchecked, not all data available]
       mtu rsp crc.png
1 小時(shí)前 上傳下載附件 (114.56 KB)




      下載完整抓取到的數(shù)據(jù)包:   em9304 fineme 071117.zip



作者: wxw1983    時(shí)間: 2020-2-29 11:01
下載看下




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1