STUDY/Bluetooth

Part 1. What is Bluetooth

g.s.song 2023. 11. 23. 14:40

1. Over View

블루투스 기술은 우리에게 가장 쉽게 접할 수 있는 무선 통신 기술입니다. 버즈나 에어팟 등의 무선 이어폰을 휴대폰과 연결하여 음악을 듣기도 하고, 스마트 워치와 휴대폰을 연결하여 운동을 하거나 전화를 받는 등 우리에게 편리함을 제공합니다. 자동차 인포테인먼트와 연결하여 운전 중 편하게 전화를 주고 받을 수 있는 핸즈프리(Hands-Free) 기능을 제공하기도 합니다. 이번 포스트를 통해 블루투스 통신 기술의 개요와 특징을 살펴보도록 하겠습니다.

 

2. What is Bluetooth ?

블루투스(Bluetooth) 는 근거리 무선 통신 기술 중 하나로 현재 5.3 버전(2021년 7월 13)까지 공개되어 있습니다. 푸른 이빨 이라는 뜻을 갖고 있는데, 이름의 어원은 딱히 중요하지 않죠. 개요에 대한 자세한 설명은 생략하겠습니다. 궁금하신 분들은 개인적으로 찾아보시는 것이 좋을 듯 합니다.

 

블루투스 통신의 특징을 정리하면 아래와 같습니다.

  • 무선 송수신을 통한 휴대성과 편의성 제공
  • 클래스 별 근거리 통신 지원 (최대 출력 : 100mW, 최대 송수신 거리 100m → CLASS 1)
  • 표준화 된 프로토콜과 프로파일 사용을 통한 장치 간 연결 용이
  • BLE (Bluetooth Low Energy)를 통한 배터리 수명 향상
  • 다양한 보안 기능 제공

블루투스는 크게 Bluetooth Classic(BR/EDR) + Bluetooth High Speed(HS), Bluetooth Low Energy(BLE)로 분류할 수 있습니다. 각각 분류는 블루투스를 사용하나 프로토콜 스택, 프로토콜 레벨에서 서로 다른 기술입니다. 이번 포스트에서는 Bluetooth Classic(BR/EDR) + Bluetooth HS에 대한 내용을 다루며, BLE에 대한 설명은 추후 포스팅 하도록 하겠습니다. 

 

3. Bluetooth Classic (BR/EDR) + Bluetooth High Speed(HS)

3.1 Feature

 

Bluetooth Classic은 우리가 흔히 알고 있는 블루투스 통신 기술이라고 할 수 있습니다. 블루투스 3.0 부터 대량의 데이터를 빠르게 전송할 수 있게 되었으며, 이를 Bluetooth High Speed 라고 합니다. 오늘날 우리가 사용하는 블루투스는 Bluetooth HS를 사용한다고 생각해도 무관합니다.

 

그렇다면 Bluetooth Classic(BR/EDR)과 왜 합쳐서 언급하는걸까요? Bluetooth HS는 Bluetooth Classic (BR/EDR)과 같은 프로파일을 사용하기 때문입니다. 블루투스를 이용하여 다양한 기능을 수행할 수 있고, 해당 기능을 효과적으로 수행하기 위해 블루투스는 프로파일이라는 표준, 프로토콜을 제시합니다. 프로파일에 대한 설명은 추후에 언급하도록 하겠습니다. 이해를 돕기 위해 Bluetooth Classic 에서 조금 발전된 형태가 Bluetooth HS라고 생각하시면 됩니다.

 

3.2 Network

 

Bluetooth Classic과 HS는 Piconet(피코넷) Scatternet(스카터넷) 이라는 두 가지 네트워크를 사용합니다. 

 

 

[Piconet]

 

Piconet은 Bluetooth에서 가장 네트워크 형태로 한 개의 Master 장치(Master Node) 와 최대 7 개의 Slave 장치(Slave Node) 로 구성됩니다.

 

Master 장치는 Piconet의 주도권을 가지고 Slave 장치들과 동기화하며 주소와 스케쥴링을 관리하여 데이터 전송을 조정합니다.

 

Slave 장치들은 마스터와 통신하며 데이터를 주고 받습니다.

 

Piconet는 주로 1:1 또는 1:N의 연결을 형성하여 데이터 전송이 이루어집니다. 이 때 통신은 Master와 Slave 노드 사이에서만 가능합니다. 즉 Slave ↔ Slave 통신이 불가능합니다. (일부 프로토콜 기능을 사용하면 Slave 장치 간 간접적인 통신을 구현할 수 있으나, 비효율적이기 때문에 굳이 사용하지 않습니다.)

 

[Scatternet]

 

Scatternet은 여러 개의 Piconet이 상호 연결된 네트워크 형태로, 하나의 Piconet에 속한 장치가 동시에 다른 Piconet에 속한 장치와 통신할 수 있는 구조를 갖고 있습니다.

 

각 Piconet은 독립적인 주파수를 사용하며, 중재 기법 혹은 TDMA(Time Division Multiple Access, 시간 분할 다중 엑세스) 통해 시간 및 주파수 슬롯을 할당하여 충돌을 피합니다.

 

하나의 Piconet에 있는 Slave Node는 다른 Piconet에서의 Master Node로 변환될 수 있습니다. 그러나 한 개의 Station은 2 개의 Piconet에서 Master Node가 될 수 없습니다. 즉 한개의 Piconet에서 Master Node는 오직 하나입니다.

 

3.3 Protocol Stack

 

Bluetooth Classic과 HS는 BR/EDR 프로파일을 사용한다고 앞서 언급한 바 있습니다. 블루투스 프로파일에 대한 설명은 따로 언급하겠습니다. 

 

이번 문단에서는 블루투스 프로토콜 스택에 대해서 설명합니다. 블루투스 스택은 블루투스 기술을 구현하고 관리하는데 사용되는 소프트웨어 계층 집합을 말합니다. 다양한 소프트웨어 계층으로 이루어져 있으며 일반적으로 아래의 그림과 같이 표현할 수 있습니다.

 

 

각 계층에 대한 설명은 아래와 같습니다.

 

Physical Layer

  • BR / EDR Radio → 무선 신호
  • Baseband : 블루투스 링크 컨트롤러(Link Controller) 프로토콜로 Linking, Connection state, Link Key, Cryptography
  • Link Manager Protocol(LMP) : 장치 간 논리적 링크 관리(링크 설정, 보안, 제어 등), LMP 메세지를 이용한 통신을 수행하고 원격 디바이스 에게 명령 및 제어 수행.
  • Host Controller Interface(HCI) : 호스트와 호스트 컨트롤러 사이에 연결된 Physical Bus(UART, USB 등)를 통해 통신하기 위한 인터페이스로, HCI command, HCI Event, HCI ACL DATA, HCI SCO DATA 4 종류로 구성됨.

Transport Layer

  • Logical Link Control and Adaptation Protocol(L2CAP) - 블루투스 프로토콜 스택의 핵심, 블루투스 스택과 상위 레벨 스택 개체 간의 인터페이스를 관리하는 중심 역할을 수행. (패킷 어셈블리 관리 ,분할, 채널 프로토콜 다중화, 논리 링크를 통한 채널 프로토콜 역다중화)
  • Service Discovery Protocol(SDP) - 블루투스 장치 간 연결을 설정하기 위해 장치 정보와 같은 서비스 관련 쿼리를 처리. (SDP는 L2CAP 위에 구축된다)
  • OBEX(Object Exchange Protocol) - IrDA(Infrared Data Association)에서 개체를 교환하기 위해 개발한 세션 프로토콜로 클라이언트에 서버 연결을 위한 안정적인 전송을 제공.