IP를 통한 블루투스?


13

https://www.archlinux.org/packages/?q=usbip와usbip 같은 일부 Linux 배포판의 일부를 사용하여 IP를 통해 USB를 실행하는 것이 가능합니다.

Bluetooth over IP와 비슷한 것이 있습니까? (NO : IP over Bluetooth).

이를 통해 인터넷을 통해 BT 지원 헤드셋에서 BT 지원 스마트 폰을 물리적으로 분리 할 수 ​​있습니다.

리눅스 bnep가 그렇게 할 수는 있지만 방법에 대한 지침을 찾지 못했습니다.


3
대기 시간 문제로 인해 인터넷을 통해 USB를 사용할 수 있을지 의심됩니다.
Daniel B

정말 USB인가요? USB 사양은 물리적 커넥터 사양, 전원 등과 같이 IP로 제공 할 수없는 것들을 요구합니다.
Ron Maupin

@RonMaupin 물론 USB 컨트롤러와 CPU 사이에서 일어나는 일입니다. 그렇더라도 대기 시간이 충분히 짧으면 (LAN) 이러한 장치를 사용하는 소프트웨어는 차이를 볼 수 없습니다.
Daniel B

2
나는 실제로 usbip에 대한 아이디어를 얻었습니다. USBip 동글과 함께 usbip을 사용할 수 있습니까? (이건 미친 생각이야)
Léo Lam

@ 레오 람 글쎄, 기술적으로 그것은 'usb over ip'로 가장 한 'bt over ip'입니다. ;)
rinfinity

답변:


7

우리의 기술 세계에서 오늘날 모든 것이 가능해 보이지만, 진정한 Bluetooth-to-Bluetooth-over-IP는 구현 된 적이 없습니다. 극복 할 수없는 것은 아니지만이 상황의 원인이라는 어려움을 설명하고 설명하겠습니다.

Bluetooth 자체는 근거리에서 데이터를 교환하기위한 무선 기술 표준입니다. 일반적으로 장치 간 연결에 사용되며 보안을 위해 페어링 개념이 포함됩니다. Bluetooth 프로토콜은 매우 다양하며 다양한 용도로 사용될 수 있습니다. 그 인기는 전 세계적으로 라이센스가없는 (그러나 규제되지 않은) 주파수에서 작동한다는 사실에서 비롯됩니다.

진정한 Bluetooth-to-Bluetooth-over-IP는 IP를 통해 페어링하려면 두 개의 Bluetooth 장치가 필요합니다. 예를 들어, 헤드셋이 서로 컴퓨터가 아닌 컴퓨터와 쌍을 이루기 때문에 Skype를 사용하여 Bluetooth 헤드셋을 통해 인터넷으로 대화하는 두 사람과 동일하지 않습니다.

Wikipedia 기사 OSI 모델 에서 발췌 한 내용은 다음과 같습니다 .

레이어 1 : 물리 레이어

이더넷 및 물리적 로컬 계층 네트워크 (예 : 토큰 링, FDDI, ITU-T G.hn 및 IEEE 802.11 (Wi-Fi))의 물리적 계층과 마찬가지로 병렬 SCSI의 물리적 계층도이 계층에서 작동합니다. Bluetooth 및 IEEE 802.15.4와 같은 개인 영역 네트워크로 사용됩니다 .

계층 4 : 전송 계층

표준 인터넷 스택에서 전송 계층 프로토콜의 예로는 일반적으로 인터넷 프로토콜 (IP) 위에 구축 된 TCP (Transmission Control Protocol)가 있습니다.

TCP 및 UDP는 전송 수준 4 프로토콜 인 반면 Bluetooth는 물리적 수준 1이 낮은 프로토콜입니다. 따라서 이더넷 위에서 TCP와 UDP를 사용하는 것처럼 Bluetooth 위에서 TCP 또는 UDP를 사용할 수 있지만 그 반대가 훨씬 더 어렵습니다.

Bluetooth 프로토콜 스택에는 자체 전송 프로토콜 인 L2CAP 및 RFCOMM이 포함되어 있으며 여기서 RFCOMM 링크는 L2CAP 계층을 사용합니다. RFCOMM 링크를 통해 UDP 패킷을 캡슐화하는 Bluetooth를 통한 일부 IP 터널링을 수행 할 수 있습니다.

순수한 OSI 용어를 사용하면 계층 4 프로토콜보다 계층 1 프로토콜을 사용하는 것은 불가능합니다.

실제로, 우리는 클라이언트 측의 Linux에 물리적 Bluetooth 장치로 선언하고 IP를 서버 측 Linux의 다른 가상 Bluetooth 장치와 대화하는 소프트웨어 작성 가상 어댑터를 상상할 수 있습니다. 그러나 OSI 계층 에뮬레이션과 관련된 복잡성과 매우 다양한 Bluetooth 프로토콜 및 마스터-슬레이브 아키텍처를 구현하는 데 필요한 프로그래밍 노력으로 인해 이러한 일반적인 구현을 만드는 것은 현재처럼 일어날 수없는 매우 까다로운 연습이됩니다. 그러한 소프트웨어에 대한 요구가 없습니다.


4
OSI 스택 자체와 마찬가지로 엄격한 레이어링은 환상에만 존재합니다. 널리 사용되는 VPN 소프트웨어 L4 UDP를 통해 L3 IP 패킷 및 L2 이더넷 프레임을 전송합니다…
user1686

@ grawity : 나는 얼마나 깊이 감쌀지라도 패킷이 패킷이라는 점에 동의합니다. 그러나 VPN은 하위 계층 또는 상위 계층으로 패키지화 된 경우에도 IP를 통한 IP 만 제공하지만 Bluetooth는 완전히 다른 물리적 프로토콜입니다. 내 대답은 프로토콜 차이로 인해 이것이 가능하지만 귀찮게하기에는 너무 복잡하다고 말합니다. 동의하지 않습니까?
harrymc

3

실제로이 방법을 시도하지는 않았지만 "Bluetooth over IP"에 대한 이야기를 찾을 수 있습니다.

Linux Kernel Networking 책 은 매우 기술적 인 것이지만 "Bluetooth over IP"를 수행하는 방법을 설명합니다.

서버 측에서 :

pand --listen --role=NAP

클라이언트 측에서 :

pand --connect btAddressOfTheServer

이것은 가상 인터페이스를 만듭니다 bnep0.

분명히 이것은 단지 "피코넷"을 통해서만 패킷을 보낼 수있는 L2CAP를 제공합니다. 그러나 L2CAP의 경우 IETF 초안 ( Bluetooth 네트워크를 통한 IP 패킷 전송)에서 IP를 통해 IP를 전송하는 방법에 대한 생각이 있습니다 .

IETF는 새로운 프로토콜을 사용하여 호스트 컨트롤러에서 IP를 통해 L2CAP를 실행하는 것을 고려할 수 있습니다.

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

그림 4.3.3-3 차. IP 네트워킹을위한 가능한 블루투스 프로토콜 스택

그런 다음 UbiPAN : "Bluetooth over IP"를 언급 하는 Bluetooth 확장 개인 영역 네트워크 도 찾았 지만 유감스럽게도 UbiPAN이 무료 소프트웨어로 출시 된 것 같지는 않습니다.


1
BNEP는 기존 피코넷에서 L2CAP를 통해 네트워크 패킷을 직접 전송하는 데 사용되며 사용자가 블루투스를 통해 IP를 브리지 할 수 없습니다. 또한 연결 한 사양이 원본 소스 (BT SIG)가 아닌 오래된 사양입니다. 채택 된 사양은 다음과 같습니다. bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=6552
Jon Carlstedt

2
죄송합니다, 내 답변은 진행중인 작업이며 당신이 그것에 만족하지 않을 수도 있지만 현재 다른 답변보다 가능한 솔루션에 대한 더 유용한 정보가 포함되어 있습니다.
kqw November

귀하의 답변에 Bluetooth over IP 사용 가능 여부가 명시되어 있지 않습니다.
위니

1

나는 최근에 같은 생각 (또는 비슷한 생각)에 놓여있다. 불행히도 단일 위치 라디오로 집 전체에 도달 할 수없는 홈 자동화 허브를 사용하는 것이 좋습니다.

내 설정은 다음과 같습니다 : bluez + usbip 클라이언트 <-LAN-> 실제 블루투스 USB 동글 + usbip 서버가있는 다른 컴퓨터를 실행하는 컴퓨터.

이것은 잘 작동합니다. Bluez의 관점에서는 로컬 및 원격 USB 동글 사이를 분리 할 수 ​​없습니다.

(Linux 4.9.80 + 최신 usbip + Bluez 5.48을 실행하는 기계; arm)


0

Harrymc가 맞습니다.

이것은 불가능하거나 적어도 불가능합니다.

전화기를 컴퓨터와 페어링하고 헤드셋을 다른 컴퓨터와 페어링하면 두 개의 블루투스 연결이 가능합니다. 컴퓨터 간의 연결은 원하는대로 연결될 수 있으며 모든 블루투스 통신을 릴레이합니다. 이렇게하면 IP를 통해 블루투스를 연결 한 것처럼 보이게되며 서로 대화하고 수행하려는 작업을 수행 할 수 있습니다.

그러나 실제로 두 장치 사이에는 블루투스 연결이 없습니다.

장치 A는 컴퓨터에 블루투스로 연결되어 있습니다.

장치 B는 다른 컴퓨터에 블루투스로 연결되어 있습니다.

두 장치는 서로 페어링하고 직접 연결할 수 없습니다. 이론적으로 직접 블루투스 링크를 설정할 수있는 것을 만들 수는 있지만 레이어와 링크 키 관리를 순회하는 것은 악몽이 될 것입니다. 호핑, 블루투스 주파수 호핑 속도는 단일 슬롯 패킷에 대해 1600 홉 / 초입니다.

누군가가 실제로 이것을했다면, 나는 매우 감동했을 것이고 후드 아래를 살펴보고 싶습니다.


0

좋아, 나는 이것을 좀 더 조사했다. 불가능합니다.

이유는 다음과 같습니다.이 기능을 사용하려면 정보에 응답하지 않고 컴퓨터에 블루투스 칩이 있어야 정보를 릴레이 할 수 있습니다.

이 기능은 아직 존재하지 않습니다.

이 문서는 독점적이며 기밀이므로 문서를 공유 할 수 없습니다.

BT SIG 회원 인 경우 bluetooth.org의 파노라마 섹션에서 블루투스 로드맵을 볼 수 있습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.