1. L2CAP : ๋ ผ๋ฆฌ์ ๋งํฌ ์ ์ด ๋ฐ ์ ์ฉ ํ๋กํ ์ฝ
Logical Link Control and Adaption Protocol
๋ธ๋ฃจํฌ์ค ํ๋กํ ์ฝ ์คํ ์์์ ํธ์คํธ ๋ถ๋ถ์ ํต์ฌ ๊ณ์ธต ๊ธฐ๋ฅ
์ํํธ์จ์ด์ ์ธ ์์ ๊ณ์ธต๊ณผ ํ์ ๋ฌผ๋ฆฌ์ ์ธ ๊ณ์ธต๊ณผ์ ๋ฐ์ดํฐ ํต์ ์ฐ๊ฒฐ ์ง์
์ ์ ๋ ฅ ๋ธ๋ฃจํฌ์ค๋ฅผ ์ํด L2CAP ๊ณ์ธต์
- ์์ฑ ํ๋กํ ์ฝ(ATT) : BLE ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ดํฐ ๊ตํ์ ๊ธฐ๋ณธ์ ํ์ฑ
- ๋ณด์ ๊ด๋ฆฌ์ ํ๋กํ ์ฝ(SMP) : ํผ์ด๋ค ์ฌ์ด์์ ๋ณด์ํค๋ฅผ ์์ฑํ๊ณ ๋ฐฐํฌํ ์ ์๋ framework ์ ๊ณต
์ด ๋๊ฐ์ง ๋ผ์ฐํ ํ๋กํ ์ฝ์ ๋ด๋นํ๊ณ ์๋ค.
ํน์ง
- ์ฐ๊ฒฐ์ฑ ๋ฐ ๋น์ฐ๊ฒฐ์ฑ ๋ฐ์ดํฐ ํต์ ์๋น์ค๋ฅผ ๋ชจ๋ ์ง์ ๊ฐ๋ฅ (BLE์์๋ ๋น์ฐ๊ฒฐ์ฑ๋ง ์ง์)
- ๋ค์คํ(Multiplexing) ์ฐ๊ฒฐ ์ง์
- ํ๋ฆ์ ์ด, ์ฌ์ ์ก ๊ธฐ๋ฐ ์๋ฌ์ ์ด ๊ธฐ๋ฅ
- ์บก์ํ, ์ค์ผ์ฅด๋ง ๊ธฐ๋ฅ
- ๋ ๋ธ๋ฃจํฌ์ค ๋๋ฐ์ด์ค ๊ฐ์ QoS ๋ณด์ฅ ์ง์ ๋ฑ
2. ATT : ์์ฑ ํ๋กํ ์ฝ
Attribute Protocol
๋๋ฐ์ด์ค์ ์ํด ์ ์๋ ์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฐ๋จํ ํด๋ผ์ด์ธํธ/์๋ฒ ๋น๋ณด์กดํ ํ๋กํ ์ฝ
์์ฑ์ ์ธ๊ฐ์ง ์์๋ก ๊ตฌ์ฑ
- 16 bit handle (ํธ๋ค์ ์์ฑ์ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ์ซ์์ด๋ค. ์ฅ์น ๋ด์ ๋์ผํ UUID๋ฅผ ๊ฐ๋ ์์ฑ์ด ์์ ์ ์์ผ๋ฏ๋ก)
- ์์ฑ ํ์ ์ ์ ์ํ๋ UUID
- ํน์ ๊ธธ์ด์ Value
ATT ํ๋กํ ์ฝ์ ๋๋ถ๋ถ์ ์์ํ ํด๋ผ์ด์ธํธ ์๋ฒ์ด๋ค.
ATT ์๋ฒ๋ ์์ฑ์ ์ ์ฅํ๋ค. ATT ํด๋ผ์ด์ธํธ๋ ์๋ฌด๊ฒ๋ ์ ์ฅํ์ง ์๋๋ค.
ATT ์์ด์ด ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์๋ฒ ์์ฑ์ ๊ฐ์ ์ฝ๊ณ ์ด๋ค.
3. SM : ๋ณด์ ๊ด๋ฆฌ์
Security Manager
๋ธ๋ฃจํฌ์ค ํ๋กํ ์ฝ ์คํ๊ณผ ํจ๊ป ๋ณด์ ํค๋ฅผ ์์ฑํ๊ณ ๊ตํํ๋ ๋ฅ๋ ฅ์ ์ ๊ณตํ๋๋ก ์ค๊ณ ๋จ
์ ์ฑ ํผ์ด๋ฅผ ํผํ ํ์๊ฐ ์์ ๋ ๊ณต์ฉ BD_ADDR์ ์จ๊ธฐ๊ฒ ํด์ค๋ค.
๋๊ฐ์ง ์ญํ ์ ์
- ๊ฒ์์ Initiator : ๋งํฌ ๊ณ์ธต ๋ง์คํฐ์ GAP ์ค์์ฅ์น์ ์ผ์น
- ์๋ต์ Responder : ๋งํฌ ๊ณ์ธต ์ฌ๋ ์ด๋ธ์ GAP ์ฃผ๋ณ์ฅ์น์ ์ผ์น
4. GATT : ์ผ๋ฐ ์์ฑ ํ๋กํ์ผ
Generic Attribute Profile
ATT ์์ ๊ตฌ์ถํ๊ณ ๊ทธ ์์ ๊ณ์ธต ๋ฐ ๋ฐ์ดํฐ ์ถ์ํ ๋ชจ๋ธ์ ์ถ๊ฐํ๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ด์์ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์กฐ์ง๋๊ณ ๊ตํ๋๋์ง ์ ์ํ๊ธฐ ๋๋ฌธ์ BLE ๋ฐ์ดํฐ ์ ์ก์ ๊ทผ๊ฐ์ด๋ค.
์ ์ ๋ ฅ ๋ธ๋ฃจํฌ์ค ํ๋กํ ์ฝ ์คํ์ ์ฃผ์ ์ธํฐํ์ด์ค ์ญํ ์ ํ๋ ์์ ๊ณ์ธต
5. GAP : ์ผ๋ฐ ์ก์ธ์ค ํ๋กํ์ผ
Generic Access Profile
๋๋ฐ์ด์ค๊ฐ ์ค์ ํ๋กํ ์ฝ ์คํ ์ธ๋ถ์ ํ์ ์์ค์์ ์ด๋ป๊ฒ ์๋ก๊ฐ ์ํธ์์ฉ ํ ๊ฒ์ธ์ง ์ง์
์๋ก ๋ค๋ฅธ ์ ์กฐ์ฌ๊ฐ ๋ง๋ BLE ๋๋ฐ์ด์ค๋ค๋ผ๋ฆฌ ์๋ก ํธํ๋๋๋ก ํต์ ๊ท๊ฒฉ์ ์ ๊ณตํ๋ค.
๋๋ฐ์ด์ค๋ค์ GAP์์ ์ ๊ณต๋๋ advertiser์ observer๋ฅผ ์ ํํด BLE๋คํธ์ํฌ๋ฅผ ์ด์ฉํ ์ ์๋ค.
Reference
http://www.ktword.co.kr/word/abbr_view.php?m_temp1=5443
https://devgunho.tistory.com/entry/Bluetooth-ATT-and-GATT
https://enidanny.github.io/ble/ble-att-gatt/
https://yonghyunlee.gitlab.io/temp_post/BLE/
'๐ก work work work > BLE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
iOS BLE - CoreBluetooth : APIs (0) | 2022.02.07 |
---|---|
BLE ์ฑ ์ ๋ฆฌ - 6 : GAP(๊ฒ์์ ์ฐ๊ฒฐ), GATT(์๋น์ค์ ํน์ฑ) (0) | 2022.01.26 |
BLE ์ฑ ์ ๋ฆฌ - 4 : BD_ADDR, ๊ฒ์์ ์ค์บ๋, HCI (0) | 2022.01.24 |
BLE ์ฑ ์ ๋ฆฌ - 3 : ํ๋กํ ์ฝ ๊ธฐ์ด (0) | 2022.01.21 |
BLE ์ฑ ์ ๋ฆฌ - 2 : ํ๋กํ ์ฝ, ํ๋กํ์ผ (0) | 2022.01.20 |
๋๊ธ