블루투스 프로토콜 목록

List of Bluetooth protocols

무선 데이터 교환 표준 블루투스는 다양한 프로토콜을 사용한다. 핵심 프로토콜은 무역조직 블루투스 SIG에 의해 정의된다. 다른 표준 기관으로부터 추가 프로토콜이 채택되었다. 이 글은 널리 사용되는 핵심 프로토콜과 채택된 프로토콜에 대한 개요를 제공한다.

블루투스 프로토콜 스택은 타이밍 중요 무선 인터페이스가 포함된 "컨트롤러 스택"과 하이 레벨 데이터를 처리하는 "호스트 스택"의 두 부분으로 나뉜다. 컨트롤러 스택은 일반적으로 블루투스 라디오와 마이크로프로세서를 포함하는 저비용 실리콘 장치에서 구현된다. 호스트 스택은 일반적으로 운영 체제의 일부로 구현되거나 운영 체제 위에 설치 가능한 패키지로 구현된다. 블루투스 헤드셋과 같은 통합 장치의 경우 호스트 스택과 컨트롤러 스택을 동일한 마이크로프로세서에서 실행하여 대량 생산 비용을 절감할 수 있다. 이를 호스트리스 시스템이라고 한다.

컨트롤러 스택

비동기식 연결-논리적 전송(ACL)

액세스를 중재하기 위해 폴링 TDMA 방식을 사용하는 일반 데이터 패킷에 사용되는 일반적인 유형의 무선 링크. 그것은 다음과 같이 구별되는 여러 종류의 패킷을 운반할 수 있다.

  • 길이(필요한 페이로드 크기에 따라 1, 3 또는 5시간 슬롯)
  • Forward error correction(신뢰성에 유리한 데이터 전송 속도 선택적으로 감소)
  • 변조(향상된 데이터 전송 속도 패킷은 페이로드에 대해 다른 RF 변조를 사용하여 최대 3배의 데이터 전송 속도를 허용)

패킷을 전송하기 전에 두 장치 간에 연결을 명시적으로 설정하고 승인해야 한다.

ACL 패킷은 승인되지 않은 경우 자동으로 재전송되어 간섭을 받는 무선 링크를 수정할 수 있다. 등시 데이터의 경우, 재전송 횟수는 플러시 타임아웃에 의해 제한될 수 있지만, L2PLAY 재전송 및 흐름 제어 모드 또는 EL2CAP를 사용하지 않고, 상위 계층은 패킷 손실을 처리해야 한다.

ACL 링크는 감독 시간 초과 기간 동안 수신된 것이 없으면 연결이 끊긴다. 기본 시간 제한은 20초지만 마스터에 의해 수정될 수 있다.

동기식 연결 지향(SCO) 링크

음성 데이터에 사용되는 라디오 링크 유형. SCO 링크는 기존 ACL 링크에 예약된 시간 슬롯의 집합이다. 각 장치는 인코딩된 음성 데이터를 예약된 시간대로 전송한다. 재전송은 없지만, 전진 오류 수정은 선택적으로 적용할 수 있다. SCO 패킷은 1회, 2회 또는 3회 간격으로 전송할 수 있다.

향상된 SCO(eSCO) 링크는 링크 설정에서 더 큰 유연성을 허용한다. 즉, 신뢰도를 달성하기 위해 재전송을 사용할 수 있고, 다양한 패킷 유형을 허용할 수 있으며, SCO보다 패킷 간격이 더 넓어 다른 링크에 대한 무선 가용성을 높일 수 있다().

LMP(링크 관리 프로토콜)

하이히, dmv, 장치 능력 쿼리 및 전원 제어 등 두 장치 간의 무선 링크를 제어하는 데 사용된다. 컨트롤러에 구현됨

HCI(호스트 컨트롤러 인터페이스)

호스트 스택(예: PC 또는 휴대폰 OS)과 컨트롤러(블루투스 통합 회로(IC)) 간의 표준화된 통신. 이 표준은 호스트 스택 또는 컨트롤러 IC를 최소 적응으로 교환할 수 있도록 한다.

여러 HCI 전송 계층 표준이 있으며, 각각 다른 하드웨어 인터페이스를 사용하여 동일한 명령, 이벤트 및 데이터 패킷을 전송한다. 가장 많이 사용되는 것은 USB(PC)와 UART(휴대폰과 PDA)이다.

단순한 기능(예: 헤드셋)을 가진 블루투스 장치에서는 호스트 스택과 컨트롤러를 동일한 마이크로프로세서에 구현할 수 있다. 이 경우 HCI는 선택 사항이지만 내부 소프트웨어 인터페이스로 구현되는 경우가 많다.

저에너지 연결층(LE LL)

이것은 블루투스 LE(Low Energy)용 LMP 등가지만 더 간단하다. 콘트롤러에서 구현되며 블루투스 관점에서는 하드웨어 관점에 가까운 저수준의 광고, 스캐닝, 연결 및 보안을 관리한다.

호스트 스택

논리적 링크 제어 및 적응 프로토콜(L2CAP)

L2CAP는 블루투스 프로토콜 스택 내에서 사용된다. HCI(호스트 컨트롤러 인터페이스)로 패킷을 전달하거나, 호스트가 없는 시스템에서 Link Manager/ACL 링크로 직접 패킷을 전달한다.

L2CAP의 기능은 다음과 같다.

  • 서로 다른 상위 계층 프로토콜 간의 데이터 멀티플렉싱.
  • 패킷 분할 및 재조립.
  • 멀티캐스트 데이터의 단방향 전송 관리를 다른 Bluetooth 장치 그룹에 제공한다.
  • 상위 계층 프로토콜을 위한 QoS(서비스 품질) 관리

L2CAP는 호스트 ACL 링크를 통해 통신하는 데 사용된다. ACL 링크가 설정된 후 연결이 설정된다.

기본 모드에서 L2CAP는 기본 MTU로 672바이트, 최소 필수 지원 MTU로 48바이트의 페이로드 구성 가능한 패킷을 제공하며, 재전송 및 흐름 제어 모드에서는 재전송 및 CRC 점검을 수행하여 채널당 신뢰성 또는 비동기 데이터로 L2CAP를 구성할 수 있다. 이러한 모드 중 하나에서 신뢰성은 재전송 횟수 및 플러시 시간 제한(무선이 패킷을 플러시하는 시간)을 구성하여 하위 계층 Bluetooth BDR/EDR 항공 인터페이스에 의해 선택적으로 및/또는 추가로 보장된다. 순서상 순서는 하위 계층에 의해 보장된다.

EL2CAP 규격은 코어 규격에 추가적인 강화된 재전송 모드(ERTM)를 추가하며, 이는 재전송 및 흐름 제어 모드의 개선된 버전이다. ERTM은 802.11abgn과 같은 AMP(대체 MAC/PHY)를 사용할 때 필요하다.

Bluetooth 네트워크 캡슐화 프로토콜(BNEP)

BNEP[1] L2CAP 위에 네트워크 패킷을 전달하는 데 사용된다. 이 프로토콜은 PAN(Personal Area Networking) 프로필에서 사용된다. BNEP는 무선 LAN의 SNAP(Subnetwork Access Protocol)와 유사한 기능을 수행한다.

프로토콜 스택에서 BNEP는 L2CAP에 바인딩되어 있다.

무선 주파수 통신(RFCOMM)

Bluetooth 프로토콜 RFCOMM은 L2CAP 프로토콜 위에 만들어진 간단한 전송 프로토콜 세트로서 에뮬레이트된 RS-232 직렬 포트(한 번에 Bluetooth 장치에 최대 60개까지 동시 접속)를 제공한다. 프로토콜은 ETSI 표준 TS 07.10에 기초한다.

RFCOMM은 직렬 포트 에뮬레이션이라고도 한다. 블루투스 직렬 포트 프로파일은 이 프로토콜을 기반으로 한다.

RFCOMM은 TCP와 유사하게 사용자에게 단순하고 신뢰할 수 있는 데이터 스트림을 제공한다. 그것은 블루투스를 통한 OBEX의 전송 계층일 뿐만 아니라 AT 명령의 통신사로서 많은 전화 관련 프로파일에 의해 직접 사용된다.

대부분의 운영 체제에서 널리 지원되고 공개적으로 사용할 수 있는 API 때문에 많은 Bluetooth 애플리케이션은 RFCOMM을 사용한다. 또한 직렬 포트를 사용하여 통신한 애플리케이션은 RFCOMM을 사용하기 위해 빠르게 포팅될 수 있다.

프로토콜 스택에서 RFCOMM은 L2CAP에 바인딩되어 있다.

서비스 탐색 프로토콜(SDP)

기기가 서로 지원하는 서비스와 장치에 연결하는 데 사용할 매개 변수를 검색하는 데 사용됨. 예를 들어 휴대폰을 블루투스 헤드셋에 연결할 때 SDP를 사용하여 헤드셋(헤드셋 프로파일, 핸즈프리 프로파일, 고급 오디오 배포 프로파일 등)과 이들 각각에 연결하는 데 필요한 프로토콜 멀티플렉서 설정에서 지원하는 블루투스 프로필을 결정한다. 각 서비스는 UUID(Universally Unique Identifier, Universally Unique Identifier)로 식별되며, 공식 서비스(블루투스 프로필)에는 짧은 폼 UUID(전체 128비트 대신 16비트)가 할당된다.

프로토콜 스택에서, SDP는 L2CAP에 바인딩되어 있다.

전화 제어 프로토콜(TCS)

전화 제어 프로토콜 사양 바이너리(TCS 바이너리)라고도 함

Bluetooth 장치 간의 음성 및 데이터 통화를 설정하고 제어하는 데 사용됨. 이 프로토콜은 ITU-T 표준 Q.931에 근거하고 있으며, 부속서 D의 규정이 적용되어 블루투스에 필요한 최소한의 변경만을 행한다.

TCS는 인터컴(ICP)과 무선 전화(CTP) 프로파일에 의해 사용된다. 전화 제어 프로토콜 사양은 인터넷 통신에 사용되는 전송 제어 프로토콜(TCP)과의 혼동을 피하기 위해 TCP라고 불리지 않는다.

오디오/비디오 제어 전송 프로토콜(AVCTP)

원격 제어 프로필에서 L2CAP 채널을 통해 AV/C 명령을 전송하는 데 사용. 스테레오 헤드셋의 음악 제어 버튼은 음악 플레이어를 제어하기 위해 이 프로토콜을 사용한다.

프로토콜 스택에서 AVCTP는 L2CAP에 바인딩되어 있다.

오디오/비디오 데이터 전송 프로토콜(AVDTP)

고급 오디오 배포 프로파일에 의해 L2CAP 채널을 통해 스테레오 헤드셋으로 음악을 스트리밍할 때 사용. 비디오 배포 프로파일에 의해 사용됨.

프로토콜 스택에서 AVDTP는 L2CAP에 바인딩되어 있다.

객체 교환(OBEX)

오브젝트 교환(OBEX, IraOBEX라고도 함)은 기기 간 이진 오브젝트 교환을 용이하게 하는 통신 프로토콜이다. 적외선 데이터 협회에 의해 유지되지만, 블루투스 특수 이익 그룹과 OMA(Open Mobile Alliance)의 SyncML 윙에서도 채택되었다.

블루투스에서 OBEX는 간단한 데이터 교환이 필요한 많은 프로필(예: 객체 푸시, 파일 전송, 기본 이미징, 기본 인쇄, 전화번호부 액세스 등)에 사용된다.

저에너지 속성 프로토콜(ATT)

SDP와 유사하지만 저에너지 블루투스를 위해 특별히 조정되고 단순화되었다. 그것은 클라이언트가 서버에 의해 노출된 특정 속성을 비복잡하고 저전력 친화적인 방식으로 읽거나 쓸 수 있게 한다.

프로토콜 스택에서 ATT는 L2CAP에 바인딩되어 있다.

저에너지 보안 관리자 프로토콜(SMP)

이는 블루투스 Low Energy 구현으로 페어링 및 특정 키 배포에 사용된다.

프로토콜 스택에서 SMP는 L2CAP에 바인딩되어 있다.

참조

외부 링크