<aside>
✏️
資料實體通道 PDU - Data physical channel PDU

- Data physical channel PDU 分為兩種:
- LL Data PDU
- LL Control PDU
- Data physical channel PDU 由三個部分組成:
- Header (固定長度 16 bits,含 CTEInfo 則 24 bits)
- Payload (可變長度,沒有規範大小)
- Message Integrity Check (存在於Payload長度>0的加密ACL,固定長度 32 bits)
</aside>
<aside>
✏️
資料實體通道 PDU 標頭 - Data physical channel PDU Header

LLID (2 bits)
NESN (1 bits) & SN (1 bits)
MD (1 bits)
CP (1 bits)
Length (8 bits)
CTEInfo (8 bits)
</aside>
<aside>
✏️
鏈接層資料 PDU - LL Data PDU
- LL Data PDU 用來傳送 L2CAP 資料,他的 LLID 必須是
0b01
或 0b10
- 當 LLID 為
0b01
且 Length 為 0b00000000
時,我們稱之 Empty PDU
- Center 可以寄送 Empty PDU 給 Peripheral;Peripheral 則可以回應任何 Data Physical Channel PDU,包含 Empty PDU
- 當 LLID 為
0b10
時,Length 需要 ≧ 4
- 如果 Host 要求 LL 寄送一個 ACL 封包,但是:
- 他的 Data_Total_Length 為 0 且
- 他的Packet_Boundary_Flag 為
0b00
(i.e., start fragment)
- LL 不能單純把這個 fragment 寄出去就好,因為 LL 會看到一個新的 L2CAP 封包的起始片段長度為
0
,因此誤認成 Empty Packet
- LL 需要組合多個 fragments 來湊出一個長度 ≧ 4 的 PDU 才能把封包寄出去
</aside>