藍牙Mesh基礎(6)Lower Transport(下層傳輸層)

下層傳輸層

功能

  • 分段----當上層傳輸層的PDU長度超過限制後就需要將PDU分段下發到網絡層。協議中規定:Upper Transport Access PDU (access消息)超過12 byte時便分段;Upper Transport Control PDU(控制消息)超過8 byte時便分段
  • 重組----和分段相對,重組是收到來自網絡層上傳的分段消息時,將分段的消息進行重組,之後上傳給上層傳輸層
  • Friend Queue----朋友隊列,網絡中發送給LPN節點的消息暫存在這裏,當LPN醒來並索要消息是時發送給LPN
    字節續:大端

Lower Transport PDU

PDU中最高位爲SEG,用於標識是不是分段消息(0-不分段;1-分段)。來自上層傳輸層的消息有兩種,access消息和控制消息,根據每種消息是否分段可以劃分成4中PDU類型:①Unsegmented Access Message;②Segmented Access Message;③Unsegmented Control Message;④Segmented Control Message

  • Unsegmented Access Message
    PDUj結構如下圖所示:
    在這裏插入圖片描述
    PDU共有四個字段,每個字段的大小和解釋如下表所示:
    在這裏插入圖片描述
    AKF和AID由上層傳輸層根據加密access消息的appkey或者devicekey設置

  • Segmented Access Message
    PDU結構如下圖所示:
    在這裏插入圖片描述
    共有8個字段,每個字段的大小和解釋如表所示:
    在這裏插入圖片描述

  • Unsegmented Control Message
    PDU結構如下圖所示:
    在這裏插入圖片描述
    共有3個字段,每個字段的大小和解釋如下表所示:
    在這裏插入圖片描述
    Opcode----操作碼,model開發的時候也會用到,這裏用於標識不同的控制消息,每種控制消息都有唯一的一個操作碼。協議中定義的控制消息操作碼主要是用於fiendship建立管理和heartbeat的。如下圖所示(摘自協議73頁):
    在這裏插入圖片描述
    在這裏插入圖片描述

  • Segmented Control Message
    PDU結構如下圖所示:
    在這裏插入圖片描述
    共有7個字段,每個字段的大小和解釋如下表所示:
    在這裏插入圖片描述