《NetBSD指南-20.1.介绍》
发表于 : 2010-03-06 15:01
蓝牙是一种数字广播协议,用于短距离低功率通讯. NetBSD 4.0开始支持蓝牙协议栈和包含在NetBSD设备框架中的整合服务配置。
与实际广播连接设备之间有关的蓝牙协议栈的底层由内部的蓝牙控制器控制, 蓝牙控制器通过“主机控制器接口” (HCI) 协议与主机通讯,HCI协议可以通过一个原始数据包BTPROTO_HCI套接字来访问。
多数的蓝牙协议或服务层在 “链路层控制和适应协议” (L2CAP)之上, L2CAP可通过一个BTPROTO_L2CAP套接字接口访问. 这提供了到远程设备的连续的数据包连接, 有多达6万4千个通道. 当一个L2CAP通道被开启时, 需要的协议和服务通过一个 “Protocol/Service Multiplexer” (PSM) 值被鉴别。
sdp(3) 库和 sdpd(8) 进程 (两者全是从FreeBSD移植过来的)提供了蓝牙环境中的服务发现, 它们允许程序登记服务和使信息可用于远程设备质询。 sdpquery(1) 程序可以产生限制的质询。
可以通过启用btconfig(8)的加密和认证选项保障蓝牙连接的安全, btconfig(8)可以应用于控制器创建的所有基带连接,或者可以为所需单独的RFCOMM和L2CAP连接启用加密和认证。当需要认证时, 双方全需要提供一个PIN (通常由操作者输入, 有些输入受限的设备用一个修正的PIN). 控制器用这个PIN生成一个连接Key并告诉要求生成这个Key的主机以便认证后续连接。在NetBSD上, bthcid(8) 进程负责储存连接Key以及认证连接Key请求, 同时还提供了一个接口允许未授权用户使用PIN客户端指定一个PIN, 例如 btpin(1)。
与实际广播连接设备之间有关的蓝牙协议栈的底层由内部的蓝牙控制器控制, 蓝牙控制器通过“主机控制器接口” (HCI) 协议与主机通讯,HCI协议可以通过一个原始数据包BTPROTO_HCI套接字来访问。
多数的蓝牙协议或服务层在 “链路层控制和适应协议” (L2CAP)之上, L2CAP可通过一个BTPROTO_L2CAP套接字接口访问. 这提供了到远程设备的连续的数据包连接, 有多达6万4千个通道. 当一个L2CAP通道被开启时, 需要的协议和服务通过一个 “Protocol/Service Multiplexer” (PSM) 值被鉴别。
sdp(3) 库和 sdpd(8) 进程 (两者全是从FreeBSD移植过来的)提供了蓝牙环境中的服务发现, 它们允许程序登记服务和使信息可用于远程设备质询。 sdpquery(1) 程序可以产生限制的质询。
可以通过启用btconfig(8)的加密和认证选项保障蓝牙连接的安全, btconfig(8)可以应用于控制器创建的所有基带连接,或者可以为所需单独的RFCOMM和L2CAP连接启用加密和认证。当需要认证时, 双方全需要提供一个PIN (通常由操作者输入, 有些输入受限的设备用一个修正的PIN). 控制器用这个PIN生成一个连接Key并告诉要求生成这个Key的主机以便认证后续连接。在NetBSD上, bthcid(8) 进程负责储存连接Key以及认证连接Key请求, 同时还提供了一个接口允许未授权用户使用PIN客户端指定一个PIN, 例如 btpin(1)。