Bluetooth protocol (RFCOMM, L2CAP and ACL)

From what I read from Bluetooth Essentials for programmers, some things are mentioned in these books that I don’t quite understand.

RFCOMM is a reliable streaming protocol. L2CAP is a packet protocol that can be configured with various levels of reliability.

L2CAP actually serves as the transport protocol for RFCOMM, so each RFCOMM connection is actually encapsulated in the L2CAP connection.

This really bothers me, because these two protocols are different types of protocols (one of them is stream based and the other is packet based). Therefore, based on his explanation, I have some questions in the following.

  • Since the RFCOMM connection is encapsulated, how can the serial port profile (SPP) use the RFCOMM connection? It should also use L2CAP.

  • A2DP uses the L2CAP connection. Does this mean the same to me, since L2CAP and RFCOMM are encapsulated in an ACL connection, if that means A2DP uses an ACL connection? I know this is not true, but how to explain it here.

Thanks for any explanation here.

+8
bluetooth android bluetooth
source share
1 answer

Encapsulation can be at the "device" level, so it will be invisible to you, as if you had never "created" an Ethernet packet, but you can still use TCP / IP from the beginning, how did it happen? The same here, RFCOMM uses L2CAP, but does not mean that you need to know L2CAP to use.

Usually encapsulation is used when you do not want to be nervous with something else, in which case they do not want to worry about the signaling problem, RFCOMM is used for the Serial interface, so they do not want to handle the signaling problem of serial interfaces

+3
source share

All Articles