似乎可以通过IP运行USB,例如使用USB usbip
是某些Linux发行版的一部分,例如https://www.archlinux.org/packages/?q=usbip
IP蓝牙是否有类似的东西?(否:蓝牙IP)。
这将允许通过互联网将支持BT的智能手机与支持BT的耳机进行物理隔离。
Linux bnep
也许可以做到这一点,但是我还没有找到有关如何操作的说明。
似乎可以通过IP运行USB,例如使用USB usbip
是某些Linux发行版的一部分,例如https://www.archlinux.org/packages/?q=usbip
IP蓝牙是否有类似的东西?(否:蓝牙IP)。
这将允许通过互联网将支持BT的智能手机与支持BT的耳机进行物理隔离。
Linux bnep
也许可以做到这一点,但是我还没有找到有关如何操作的说明。
Answers:
尽管在我们的技术世界中,今天似乎一切皆有可能,但据我所知,从未实现过真正的基于IP的蓝牙到蓝牙。我将尽力解释造成这种情况的困难,尽管这些困难并非无法克服,但仍然是不可克服的。
蓝牙本身是用于短距离交换数据的无线技术标准。为了安全起见,它通常用于设备到设备的连接,并且涉及配对的概念。蓝牙协议非常通用,可以用于许多目的。它的流行是由于它在全球范围内未经许可(但不受监管)的频率下运行。
真正的IP蓝牙到蓝牙将需要两个蓝牙设备通过IP配对。例如,这与两个人使用Skype通过蓝牙耳机通过Internet进行通话不同,这是因为耳机与他们的计算机而不是彼此配对。
以下是Wikipedia文章OSI模型的摘录:
第1层:物理层
并行SCSI的物理层在此层中运行,以太网和其他本地网络的物理层也是如此,例如令牌环,FDDI,ITU-T G.hn和IEEE 802.11(Wi-Fi)作为个人区域网络,例如蓝牙和IEEE 802.15.4。
第四层:传输层
标准Internet堆栈中的传输层协议的一个示例是通常在Internet协议(IP)之上构建的传输控制协议(TCP)。
TCP和UDP是传输级别4协议,而蓝牙是较低的物理级别1协议。因此,您可以在蓝牙之上使用TCP或UDP,就像在以太网之上使用TCP和UDP一样,但是反之则困难得多。
蓝牙协议栈包括其自己的传输协议:L2CAP和RFCOMM,其中RFCOMM链接使用L2CAP层。您可以通过蓝牙工作一些IP隧道,从而通过RFCOMM链接封装UDP数据包。
使用纯OSI术语,不可能在第4层上使用第1层协议,甚至是术语上的矛盾。
实际上,我们可以想象一个软件编写的虚拟适配器,该适配器将在客户端将Linux声明为物理蓝牙设备,并通过IP与服务器端Linux上的另一虚拟蓝牙设备进行对话。但是,仿真OSI层所涉及的复杂性以及实现非常通用的蓝牙协议及其主从体系结构所需的编程工作,使得创建这样的通用实现成为一项非常艰巨的尝试,因为目前不太可能发生不需要此类软件。
我没有在实践中尝试过任何方法,但是我可以找到有关“基于IP的蓝牙”的内容。
《Linux内核网络》一书非常技术性,但它描述了如何执行“基于IP的蓝牙”:
在服务器端:
pand --listen --role=NAP
在客户端:
pand --connect btAddressOfTheServer
这将创建一个虚拟接口bnep0
。
显然,这给了您L2CAP,它只能通过“微微网”发送数据包。但是对于L2CAP,在IETF草案中有关于如何通过IP发送它们的想法:通过蓝牙网络传输IP数据包。
IETF可以考虑使用新协议通过主机控制器在IP上运行L2CAP:
+------------+ | L2CAP | +------------+ | IP | +------------+ | Foo2 Proto.| +------------+ | Host Cont. | +------------+
图4.3.3-3rd。用于IP网络的可能的蓝牙协议栈
然后,我还发现了UbiPAN:蓝牙扩展个人区域网络,其中提到了“ IP上的蓝牙”-但不幸的是,它看起来并不像UbiPAN那样是作为免费软件发布的。
哈里克是正确的。
这是不可能的,或者至少是不可行的。
您可以将手机与计算机配对,将耳机与另一台计算机配对,从而实现两个蓝牙连接。计算机之间的连接可以以您喜欢的任何方式桥接,进而中继所有蓝牙通信。这将使您看起来好像您已经在IP上架起了蓝牙,您可能可以让他们互相交谈并做您想做的一些事情。
但实际上,两个设备之间没有蓝牙连接。
设备A与计算机具有蓝牙连接。
设备B与另一台计算机建立了蓝牙连接。
这两个设备将无法配对并直接相互连接。从理论上讲,可以构建一些东西来建立直接的蓝牙链接,但是遍历各个层和链接密钥管理将是一场噩梦,而这仅仅是个开始,我不知道如何解决程序包管理和频率问题跳频,单个时隙数据包的蓝牙跳频率为1600 hops / s。
如果有人真的这样做了,我会留下深刻的印象,非常想了解一下。