본문 바로가기
블루투스/LE Link Layer

Data Physical Channel PDU

by 테크쟁이 2023. 2. 4.
반응형

참고자료: https://www.bluetooth.com/specifications/specs/core-specification-5-3/

* 블루투스 전체 LE 패킷 포맷은 "Bluetooth LE Packet Format" 참고

 

Data Physical Channel PDU

LE Data Physical Channel PDU


1. Header

Header - LE Data Physical Channel PDU

 

1-1. LLID field

- LL Data PDU인지, 아니면 LL Control PDU인지를 구분

LLID 설명
0b00 RFU
0b01 LL Data PDU 종류
- L2CAP message의 Continuation fragment
- Empty PDU

Empty PDU 특징
- 패킷 헤더의 Length field가 0
- Central에서 Empty PDU를 전송하면, Peripheral에서 Empty PDU를 포함한 Data Physical Channel PDU로 응답한다
0b10 LL Data PDU 종류
- Start L2CAP message
- Fragment가 없는 complete L2CAP message

패킷 헤더의 Length field는 0일 수 없다
0b11 LL Control PDU

 

1-2. NESN field

- Next Expected Sequence Number

- 수신 디바이스에서 수신한 패킷에 대한 ACK/NAK을 싣는데 사용된다

 

1-3. SN field

- Sequence Number

- 송신 디바이스에서 패킷 전송 시, 새로운 패킷인지 아니면 재전송 패킷인지에 대한 정보를 싣는데 사용된다

 

1-4. MD field

- More Data

- Device에서 전송할 데이터가 있다는 것을 알리기 위해 사용된다

 

1-5. CP field

- CTEInfo Present

- CTEInfo field의 존재 여부를 알려주며, 이것은 곧 Constant Tone Extension이 있는지 알려준다

- 상대 디바이스에서 Constant Tone Extension을 지원하지 않으면, 전송할 수 없다

- CTEInfo field를 포함한 PDU를 전송할 수 있다고, CTEInfo field를 포함한 PDU를 수신할 수 있는 것은 아니며, 반대의 경우도 마찬가지이다 (CTEInfo field를 포함한 PDU의 전송과 수신은 서로 독립적이다)

 

1-6. RFU

- Reserved for Future Use

 

1-7. Length field

- Payload와 MIC의 octet 단위 길이

 

1-8. CTEInfo field

- Constant Tone Extension의 type과 length

 


2. Payload

 

2-1. LL Data PDU Payload

- L2CAP data를 전송할 때 사용한다

- LLID는 0b01과 0b10 두 가지를 사용한다 (자세한 내용은, 위의 "1-1. LLID field" 참고)

LL Data PDU Payload

 

2-2. LL Control PDU Payload

- Link Layer connection을 control 할 때 사용한다

LLID는 0b11를 사용한다 (자세한 내용은, 위의 "1-1. LLID field" 참고)

- 자세한 내용은, "LL Control PDU Payload" 참고

LL Co ntrol PDU Payload


3. MIC

  ACL connection encrypted Payload 존재 여부
MIC field가 존재하는 경우 Encrypted 있음
MIC field가 존재하지 않는 경우 Encrypted 없음
Un-encrypted 있든 없든 상관없음
 
반응형

'블루투스 > LE Link Layer' 카테고리의 다른 글

LE MD(More Data) field  (0) 2023.02.07
LE - Acknowledgment / Flow control  (0) 2023.02.05
Initiating PDU Payload  (0) 2023.02.04
Scanning PDU Payload  (0) 2023.02.04
Common Extended Advertising Payload - SyncInfo field  (0) 2023.02.01