IP 上的蓝牙?

Joh*_*nst 15 networking linux bluetooth tunnel

似乎可以通过 IP 运行 USB,例如使用usbip某些 Linux 发行版的一部分,例如https://www.archlinux.org/packages/?q=usbip

IP 上的蓝牙有类似的东西吗?(不是:IP 通过蓝牙)。

这将允许通过互联网将支持 BT 的智能手机与支持 BT 的耳机进行物理分离。

Linuxbnep可能能够做到这一点,但我无法找到有关如何操作的说明。

小智 11

我最近也有同样(或类似)的想法。我想做的是使用家庭自动化集线器,不幸的是它无法通过单位置无线电到达整个房子。

我的设置如下:运行 bluez + usbip 客户端的计算机 <- LAN -> 具有物理蓝牙 USB 加密狗 + usbip 服务器的其他计算机。

事实证明这工作得很好。从 Bluez 的角度来看,它无法区分本地和远程 USB 加密狗。

(运行 Linux 4.9.80 + up-todate-usbip + Bluez 5.48 的机器;arm)


har*_*ymc 8

尽管在我们的技术世界中,今天一切似乎都是可能的,但据我所知,真正的蓝牙到 IP 蓝牙从未实现过。我将尝试解释造成这种情况的困难,尽管这些困难并非不可克服。

蓝牙本身是一种用于短距离交换数据的无线技术标准。它通常用于设备到设备的连接,并且出于安全目的涉及配对的概念。蓝牙协议非常通用,可用于多种用途。它的受欢迎程度源于它以全球未经许可(但并非不受监管)的频率运行。

真正的 Bluetooth-to-Bluetooth-over-IP 需要两个蓝牙设备通过 IP 进行配对。例如,这与两个人使用 Skype 通过蓝牙耳机在互联网上通话不同,因为耳机与他们的计算机配对,而不是彼此配对。

以下是维基百科文章OSI 模型的一些摘录:

第 1 层:物理层

并行 SCSI 的物理层在这一层运行,以太网和其他局域网的物理层也是如此,例如令牌环、FDDI、ITU-T G.hn 和 IEEE 802.11 (Wi-Fi),以及作为个人区域网络,例如蓝牙和 IEEE 802.15.4。

第 4 层:传输层

标准 Internet 堆栈中传输层协议的一个示例是传输控制协议 (TCP),它通常建立在 Internet 协议 (IP) 之上。

TCP 和 UDP 是传输级别 4 协议,而蓝牙是较低的物理级别 1 协议。因此,您可以在蓝牙之上使用 TCP 或 UDP,就像在以太网之上使用 TCP 和 UDP 一样,但相反的情况要困难得多。

蓝牙协议栈包括自己的传输协议:L2CAP 和 RFCOMM,其中 RFCOMM 链路使用 L2CAP 层。您可以通过蓝牙在 RFCOMM 链接上封装 UDP 数据包来处理一些 IP 隧道。

使用纯 OSI 术语,在第 4 层上使用第 1 层协议是不可能的,甚至是术语的矛盾。

实际上,我们可以想象一个软件编写的虚拟适配器,它会在客户端向 Linux 声明自己是一个物理蓝牙设备,并通过 IP 与服务器端 Linux 上的另一个这样的虚拟蓝牙设备进行通信。但是模拟 OSI 层所涉及的复杂性,以及实现非常通用的蓝牙协议及其主从架构所需的编程工作,使得创建这样一个通用实现成为一项非常艰巨的工作,不太可能发生,因为目前有对此类软件没有需求。

  • 就像 OSI 堆栈本身一样,严格的分层只存在于幻想中。广泛使用的 VPN 软件 **do** 通过 L4 UDP 传输 L3 IP 数据包甚至 L2 以太网帧…… (5认同)

kqw*_*kqw 5

我在实践中没有尝试过任何这些,但我可以找到谈论“IP 上的蓝牙”的东西。

Linux Kernel Networking》这本书技术性很强,但它描述了如何进行“IP 上的蓝牙”:

在服务器端:

pand --listen --role=NAP
Run Code Online (Sandbox Code Playgroud)

在客户端:

pand --connect btAddressOfTheServer
Run Code Online (Sandbox Code Playgroud)

这将创建一个虚拟接口bnep0

显然,这只是给你 L2CAP,它只能通过“微微网”发送数据包。但是对于 L2CAP,有关于如何在IETF 草案中通过 IP 发送它们的想法通过蓝牙网络传输 IP 数据包

IETF 可能会考虑使用新协议在主机控制器上运行 L2CAP over IP:

                       +------------+
                       |    L2CAP   |
                       +------------+
                       |     IP     |
                       +------------+
                       | Foo2 Proto.|
                       +------------+
                       | Host Cont. |
                       +------------+
Run Code Online (Sandbox Code Playgroud)

图 4.3.3 - 第三。用于 IP 网络的可能的蓝牙协议栈

然后我还发现了UbiPAN:一个蓝牙扩展个人局域网,其中提到了“IP 上的蓝牙”——但不幸的是,它看起来不像 UbiPAN 作为免费软件发布的。

  • 抱歉,我的答案正在进行中,您可能对此不满意,但它目前包含的有关可能解决方案的有用信息比任何其他答案都多。 (2认同)