Bluetooth over IP?


13

usbip例えば、https: //www.archlinux.org/packages/ q = usbipなどの一部のLinuxディストリビューションの一部であるUSB over IPを使用してIP経由でUSBを実行することが可能です

Bluetooth over IPに似たようなものはありますか?(注:IP over Bluetooth)。

これにより、たとえば、BT対応スマートフォンをBT対応ヘッドセットからインターネット経由で物理的に分離できます。

Linux bnepはそれを行うことができるかもしれませんが、その方法についての指示を見つけることができませんでした。


3
主に遅延の問題により、インターネット経由でUSBを使用できるとは思いません。
ダニエルB

本当にUSBですか?USB仕様では、物理コネクタの仕様、電源など、IPだけでは提供できないものを求めています。
Ron Maupin

@RonMaupinもちろん、USBコントローラーとCPUの間で起こることについてだけです。それでも、レイテンシが十分に低い(LAN)場合、これらのデバイスを使用するソフトウェアは違いを見ることができません。
ダニエルB

2
私は実際にusbipでアイデアを持っていました。USB Bluetoothドングルでusbipを使用できますか?(それはおかしいアイデアです、私は知っています)
レオラム

@レオラム。まあ、技術的には「IP over bt」で「ip over usb」になりすますでしょう。;)
rinfinity

回答:


7

私たちの技術の世界では、今日のすべてが可能に思えますが、私が知る限り、真のBluetooth-to-Bluetooth-over-IPは実装されていません。私は乗り越えられないが、この状況の原因である困難を試して説明します。

Bluetooth自体は、短距離でデータを交換するためのワイヤレステクノロジー標準です。これは通常、デバイス間の接続に使用され、セキュリティのためにペアリングの概念が含まれます。Bluetoothプロトコルは非常に用途が広く、多くの目的に使用できます。その人気は、世界的に認可されていない(規制されていない)周波数で動作するという事実から生じています。

真のBluetooth-to-Bluetooth-over-IPでは、IPでペアリングするために2つのBluetoothデバイスが必要です。これは、たとえば、Skypeを使用してBluetoothヘッドセットを介してインターネットを介して話す2人と同じではありません。ヘッドセットは、コンピュータではなく互いにペアリングされているためです。

ウィキペディアの記事OSIモデルからの抜粋を以下に示します。

レイヤー1:物理レイヤー

パラレルSCSIの物理層は、イーサネットや、トークンリング、FDDI、ITU-T G.hn、IEEE 802.11(Wi-Fi)などの他のローカルエリアネットワークの物理層と同様に、この層で動作します。BluetoothやIEEE 802.15.4 などのパーソナルエリアネットワークとして。

レイヤー4:トランスポートレイヤー

標準インターネットスタックのトランスポート層プロトコルの例は、通常、インターネットプロトコル(IP)の上に構築された伝送制御プロトコル(TCP)です。

TCPとUDPはトランスポートレベル4のプロトコルですが、Bluetoothはより低い物理レベル1のプロトコルです。したがって、イーサネット上でTCPとUDPを使用するのと同じように、Bluetooth上でTCPまたはUDPを使用できますが、その逆ははるかに困難です。

Bluetoothプロトコルスタックには、独自のトランスポートプロトコルであるL2CAPとRFCOMMが含まれます。RFCOMMリンクでは、L2CAPレイヤーが使用されます。RFCOMMリンク上のUDPパケットをカプセル化するBluetooth上のIPトンネリングを使用できます。

純粋なOSI用語を使用すると、レイヤー4でレイヤー1プロトコルを使用することは不可能であり、用語の矛盾ですらあります。

実際には、クライアント側のLinuxに物理的なBluetoothデバイスとして自身を宣言し、サーバー側のLinux上の別の仮想BluetoothデバイスとIPで通信するソフトウェア作成の仮想アダプターを想像できます。しかし、OSIレイヤーのエミュレートに伴う複雑さ、および非常に汎用性の高いBluetoothプロトコルとそのマスター/スレーブアーキテクチャの実装に必要なプログラミング作業により、このような一般的な実装を作成することは非常に困難な作業になります。そのようなソフトウェアの需要はありません。


4
OSIスタック自体と同様、厳密なレイヤー化は空想にのみ存在します。広く使用されているVPNソフトウェア、L4 UDP上でL3 IPパケット、さらにはL2イーサネットフレームを送信します…
-user1686

@grawity:どれほど深くラップされていても、パケットはパケットであるという点までは同意します。ただし、下位層と上位層にパッケージ化されている場合でも、VPNは最終的にIP over IPのみを実行しますが、Bluetoothは完全に異なる物理プロトコルです。私の答えによれば、これは可能ですが、プロトコルの違いのために、おそらく煩わしすぎるほど複雑です。それに反対しますか?
harrymc

3

私はこれを実際に試したことはありませんが、「Bluetooth over IP」についての話を見つけることができるものです。

Linux Kernel Networkingという本は非常に技術的ですが、「Bluetooth over IP」を行う方法について説明しています。

サーバー側:

pand --listen --role=NAP

クライアント側で:

pand --connect btAddressOfTheServer

これにより、仮想インターフェイスが作成されますbnep0

どうやらこれは単に「ピコネット」を介してのみパケットを送信できるL2CAPを提供します。しかし、L2CAPの場合、IETFドラフトで IPを介してそれらを送信する方法についての考えがありますBluetoothネットワークを介したIPパケットの送信

IETFは、新しいプロトコルを使用して、ホストコントローラー上でL2CAP over IPを実行することを検討する場合があります。

                       +------------+
                       |    L2CAP   |
                       +------------+
                       |     IP     |
                       +------------+
                       | Foo2 Proto.|
                       +------------+
                       | Host Cont. |
                       +------------+

図4.3.3-3番目。IPネットワーキングで使用可能なBluetoothプロトコルスタック

そして、「Bluetooth over IP」に言及しているBluetooth拡張パーソナルエリアネットワークであるUbiPANも見つけましたが、残念ながらUbiPANがフリーソフトウェアとしてリリースされたようには見えません。


1
BNEPは、既存のピコネット内のL2CAPを介してネットワークパケットを直接送信するために使用されます。ユーザーがIP経由でbluetoothをブリッジすることはできません。また、あなたがにリンクされている仕様は古いですとないオリジナルのソース(BT SIG)から、ここで採用仕様です:bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=6552
ジョンCarlstedt

2
申し訳ありませんが、私の回答は進行中の作業であり、満足していないかもしれませんが、現在、他の回答よりも可能な解決策に関するより有用な情報が含まれています。
kqw

回答には、Bluetooth over IPを使用できるかどうかは記載されていません。
ウィニー

1

私は最近、同じ(または同様の)考えに夢中になりました。私がしたいのは、ホームオートメーションハブを使用することです。ホームハブは、残念ながら、単一ロケーションのラジオでは家全体に届きません。

私のセットアップは次のとおりです。bluez+ usbipクライアントを実行しているコンピューター<-LAN->物理的なbluetooth USBドングルを持つ他のコンピューター+ usbipサーバー。

これでうまくいくことがわかりました。Bluezの観点からは、ローカルとリモートのUSBドングルを区別することはできません。

(Linux 4.9.80 + up-todate-usbip + Bluez 5.48を実行しているマシン; arm)


0

Harrymcは正しいです。

これは不可能であるか、少なくとも実行不可能です。

電話機をコンピュータとペアリングし、ヘッドセットを別のコンピュータとペアリングして、2つのBluetooth接続を確立できます。コンピューター間の接続は、思い通りにブリッジでき、すべてのBluetooth通信を中継できます。これにより、IP経由でbluetoothをブリッジしたように見えるようになり、おそらくそれらを相互に通信させて、やろうとしていることのいくつかを行うことができます。

しかし、実際には2つのデバイス間にBluetooth接続はありません。

デバイスAには、コンピューターへのBluetooth接続があります。

デバイスBは、別のコンピューターにBluetooth接続されています。

2つのデバイスは、互いにペアリングして直接接続することはできません。理論的には、Bluetoothの直接リンクをセットアップできるものを構築できますが、レイヤーとリンクキーの管理を横断することは整理するのが悪夢であり、それはほんの始まりに過ぎません。パッケージ管理と頻度を解決する方法がわかりません。ホッピング、Bluetooth周波数ホッピングレートは、単一スロットパケットで1600ホップ/秒です。

誰かが実際にこれをやった場合、私は非常に感銘を受け、ボンネットの下を見てみたいと思います。


0

わかりました、私はこれをもう少し調査しました。それは不可能。

理由は次のとおりです。これが機能するためには、コンピュータにBluetoothチップが必要で、それ自体に応答する代わりに情報を中継します。

この機能はまだ存在しません。

現時点ではドキュメントを共有できません。これは、ドキュメントが専有的かつ機密であるためです。

BT SIGのメンバーの場合、bluetooth.orgのパノラマセクションでbluetoothロードマップを表示できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.