Bluetooth GATT vs ATT vs GAP: Differences Explained
Advertisement
Based on the architecture and functional descriptions provided in the Bluetooth Core Specification, here is an explanation of GAP, ATT and GATT, followed by a comparison table highlighting their differences.
1. GAP (Generic Access Profile)
GAP is the foundational profile that dictates how Bluetooth devices interact with each other at a macro level. It is responsible for the “who you are,” “how you are found,” and “how you connect” aspects of Bluetooth communication.
Key Functions:
-
Device Discovery & Connections: It defines the modes and procedures for devices to discover each other (e.g., scanning and advertising), establish connections and manage security/authentication.
-
Roles: In Bluetooth Low Energy (LE), GAP defines four specific operational roles:
- Broadcaster: Transmits advertising data but does not accept connections.
- Observer: Scans for advertising data but does not initiate connections.
- Peripheral: Advertises its presence and accepts a single connection from a Central device.
- Central: Scans for devices and initiates multiple connections to Peripherals.
2. ATT (Attribute Protocol)
ATT is a lower level peer to peer protocol used to transfer simple, small pieces of data over a Bluetooth connection. It acts as the transport mechanism for data exchange.
Key Functions:
-
Attributes: It defines data as “attributes.” Each attribute is a small data value (usually just a few octets) that is self identifying using a Universally Unique Identifier (UUID).
-
Roles: It establishes a strict Client and Server relationship.
- Server: Stores the attributes and accepts requests/commands.
- Client: Sends commands and requests to read or write the attributes on the Server.
-
Operations: It provides the actual protocol methods for the Client to request data (Read/Write) and for the Server to send data asynchronously (Notifications/Indications).
3. GATT (Generic Attribute Profile)
GATT is a framework built directly on top of the Attribute Protocol (ATT). While ATT provides the “rules of transport” for data, GATT provides the “organizational structure” for that data.
Key Functions:
- Data Hierarchy: It defines how the raw attributes from ATT are grouped and formatted into a strict, recognizable hierarchy:
- Profiles: High level definitions of a use case (e.g. Heart Rate Profile).
- Services: Collections of related data and behaviors to accomplish a specific function.
- Characteristics: The actual data points within a service, consisting of a value, properties (how it can be accessed) and descriptors (metadata like user readable descriptions).
- Interoperability: By enforcing this data structure, GATT ensures that a Client device knows exactly how to discover, traverse and understand the data hosted on a Server device, enabling seamless application level interoperability.
Summary Comparison Table
| Feature / Aspect | GAP (Generic Access Profile) | ATT (Attribute Protocol) | GATT (Generic Attribute Profile) |
|---|---|---|---|
| Primary Focus | Device connections, discovery, and security. | Data transport and protocol operations. | Data organization, structure, and formatting. |
| What it Manages | ”How devices find each other and connect." | "How data is physically moved back and forth." | "What the data means and how it is grouped.” |
| Defined Roles | Central, Peripheral, Broadcaster, Observer (for BLE). | Client (requests data), Server (holds data). | Client (reads/writes data), Server (hosts services). |
| Key Concepts | Advertising, Scanning, Paging, Link Establishment, Security Modes. | Attributes, UUIDs, Opcodes, Read/Write requests, Notifications. | Profiles, Services, Characteristics, Descriptors. |
| Position in Stack | Top-level control layer governing the overall device state and transport layers. | Protocol layer sitting on top of L2CAP. | Profile layer sitting directly on top of ATT. |
| Real-World Analogy | The receptionist who introduces two people and checks their ID. | The envelope and mail carrier that moves a letter between two people. | The standardized forms and language used written inside the letter. |
References & Further Reading
- Bluetooth SIG : Bluetooth Core Specification Version 6.3, May 5, 2026.
- Bluetooth SIG : Bluetooth Technology Overview
Continue Learning Bluetooth Basic Concepts
- What are new features in Bluetooth 6.3 Version
- Bluetooth Service Vs. Characteristic Vs. Descriptor
- Bluetooth Central Vs. Peripheral : Key Differences
- Bluetooth pairing Vs. Bonding Phase
- Bluetooth Notifications Vs. Indications
- Bluetooth Channel Sounding Vs. RSSI
- Bluetooth Direction Finding Methods : AoA Vs. AoD
- Bluetooth Error Codes Guide : Meanings, Causes & Fixes
Continue Learning Bluetooth Technology
- Bluetooth Basics Tutorial
- Bluetooth Low Energy (BLE) Basics Tutorial
- Bluetooth Protocol Stack & Device State Diagram
- Bluetooth Physical Layer Modules
- Bluetooth MAC Layer Overview
- Bluetooth Channel Frequency List
- Bluetooth Network Security
- Bluetooth Low Energy (BLE) Connection Establishment Procedure
- Bluetooth Profiles: HFP, HSP, A2DP, AVRCP, PBAP & MAP
- Bluetooth Mesh Node Types & Protocol Stack Layer Functions
