บลูทู ธ มากกว่า IP?


13

ดูเหมือนจะเป็นไปได้ที่จะเรียกใช้ USB ผ่าน IP เช่นใช้usbipซึ่งเป็นส่วนหนึ่งของ distros Linux บางตัวเช่นhttps://www.archlinux.org/packages/?q=usbip

มีอะไรที่คล้ายกันสำหรับ Bluetooth over IP หรือไม่ (ไม่: IP ผ่านบลูทู ธ )

สิ่งนี้จะช่วยให้การแยกทางกายภาพของสมาร์ทโฟนที่เปิดใช้งาน BT ได้จากชุดหูฟังที่เปิดใช้งาน BT โดยใช้อินเทอร์เน็ต

Linux bnepอาจสามารถทำสิ่งนั้นได้ แต่ฉันไม่สามารถหาคำแนะนำได้


3
ฉันสงสัยว่าคุณจะสามารถใช้ USB ผ่านอินเทอร์เน็ตส่วนใหญ่เป็นเพราะปัญหาความล่าช้า
Daniel B

มันเป็น USB จริงเหรอ? ข้อมูลจำเพาะ USB ต้องการสิ่งที่ไม่สามารถจัดหา IP ได้เช่นข้อกำหนดคุณสมบัติการเชื่อมต่อแบบฟิสิคัลพลังงานและอื่น ๆ
Ron Maupin

@RonMaupin แน่นอนว่ามันเกี่ยวกับสิ่งที่เกิดขึ้นระหว่างคอนโทรลเลอร์ USB และ CPU ถึงกระนั้นก็ตามหากเวลาในการตอบสนองต่ำ (LAN) ซอฟต์แวร์ที่ใช้อุปกรณ์เหล่านี้จะไม่สามารถเห็นความแตกต่างได้
Daniel B

2
จริง ๆ แล้วฉันเพิ่งมีความคิดกับ usbip เป็นไปได้ไหมที่จะใช้ usbip กับดองเกิลบลูทู ธ USB (มันเป็นความคิดที่บ้าฉันรู้)
Léo Lam

@Leo Lam ในทางเทคนิคแล้วนั่นคือ 'bt over ip' ที่ปลอมตัวเป็น 'usb over ip' ;)
rinfinity

คำตอบ:


7

แม้ว่าในโลกเทคโนโลยีของเราทุกอย่างในวันนี้ดูเหมือนจะเป็นไปได้เท่าที่ฉันรู้จริงบลูทู ธ กับบลูทู ธ กว่า IP ไม่เคยมีการใช้ ฉันจะพยายามอธิบายปัญหาที่แม้ว่าจะไม่สามารถเอาชนะได้นั้นเป็นสาเหตุของสถานการณ์นี้

บลูทู ธนั้นเป็นมาตรฐานเทคโนโลยีไร้สายสำหรับการแลกเปลี่ยนข้อมูลในระยะทางสั้น ๆ โดยปกติจะใช้สำหรับการเชื่อมต่อระหว่างอุปกรณ์กับอุปกรณ์และเกี่ยวข้องกับแนวคิดการจับคู่เพื่อความปลอดภัย โปรโตคอลบลูทู ธ นั้นใช้งานได้หลากหลายและสามารถใช้งานได้หลายอย่าง ความนิยมเกิดขึ้นจากข้อเท็จจริงที่ว่ามันทำงานที่ความถี่ที่ไม่มีใบอนุญาตทั่วโลก (แต่ไม่ได้ควบคุม)

Bluetooth-to-Bluetooth-over-IP ที่แท้จริงจะต้องใช้อุปกรณ์ Bluetooth สองเครื่องในการจับคู่ผ่าน IP ตัวอย่างนี้ไม่เหมือนกับคนสองคนที่ใช้ Skype เพื่อพูดคุยผ่านอินเทอร์เน็ตผ่านชุดหูฟังบลูทู ธ เพราะชุดหูฟังถูกจับคู่กับคอมพิวเตอร์ของพวกเขาและไม่ใช่คนอื่น

นี่คือข้อความที่ตัดตอนมาจากบทความ Wikipedia model ของ OSI :

ชั้นที่ 1: ชั้นกายภาพ

เลเยอร์ทางกายภาพของ Parallel SCSI ทำงานในเลเยอร์นี้เช่นเดียวกับเลเยอร์ทางกายภาพของอีเธอร์เน็ตและเครือข่ายท้องถิ่นอื่น ๆ เช่น Token Ring, FDDI, ITU-T G.hn และ IEEE 802.11 (Wi-Fi) เช่นกัน เป็นเครือข่ายส่วนบุคคลเช่นBluetoothและ IEEE 802.15.4

ชั้นที่ 4: ชั้นการขนส่ง

ตัวอย่างของโปรโตคอลการขนส่งเลเยอร์ในอินเทอร์เน็ตสแต็กมาตรฐานคือ Transmission Control Protocol (TCP) ซึ่งมักจะสร้างอยู่ด้านบนของ Internet Protocol (IP)

TCP และ UDP เป็นโปรโตคอลการขนส่งระดับ 4 ในขณะที่บลูทู ธ เป็นโปรโตคอลระดับกายภาพที่ต่ำกว่า 1 ดังนั้นคุณสามารถใช้ TCP หรือ UDP ที่ด้านบนของบลูทู ธ เช่นเดียวกับที่คุณใช้ TCP และ UDP ที่ด้านบนของอีเธอร์เน็ต แต่สิ่งที่ตรงกันข้ามนั้นยากกว่ามาก

โปรโตคอล Bluetooth stack ประกอบด้วยโปรโตคอลการขนส่งของตนเอง: L2CAP และ RFCOMM โดยที่ลิงก์ RFCOMM ใช้เลเยอร์ L2CAP คุณสามารถทำงาน IP tunneling ผ่านบลูทู ธ ที่ห่อหุ้มแพ็กเก็ต UDP ผ่านลิงก์ RFCOMM

การใช้คำศัพท์ OSI ล้วนๆเป็นไปไม่ได้แม้แต่ความขัดแย้งของข้อตกลงเพื่อใช้โปรโตคอลเลเยอร์ 1 บนเลเยอร์ 4

ในทางปฏิบัติเราสามารถจินตนาการถึงอะแดปเตอร์เสมือนที่เขียนด้วยซอฟต์แวร์ซึ่งจะประกาศตัวเองเป็น Linux ที่ฝั่งไคลเอ็นต์ในฐานะอุปกรณ์บลูทู ธ ที่มีอยู่จริงและพูดคุยกับ IP กับอุปกรณ์บลูทู ธ เสมือนอื่น ๆ แต่ความซับซ้อนที่เกี่ยวข้องกับการเลียนแบบเลเยอร์ OSI และความพยายามในการเขียนโปรแกรมที่จำเป็นสำหรับการใช้โปรโตคอลบลูทู ธ ที่หลากหลายมากและสถาปัตยกรรมต้นแบบทาสทำให้การสร้างการใช้งานทั่วไปเป็นแบบฝึกหัดที่เรียกร้องมากซึ่งไม่น่าจะเกิดขึ้น ไม่ต้องการซอฟต์แวร์ดังกล่าว


4
เช่นเดียวกับ OSI stack เองการกำหนดระดับที่เข้มงวดมีอยู่ในจินตนาการเท่านั้น ซอฟต์แวร์ VPN ที่ใช้กันอย่างแพร่หลายจะส่งแพ็กเก็ต L3 IP และแม้แต่เฟรม L2 Ethernet ผ่าน L4 UDP ...
grawity

@grawity: ฉันเห็นด้วยกับจุดที่แพ็คเก็ตเป็นแพ็คเก็ตไม่ว่าจะห่อลึกแค่ไหน อย่างไรก็ตาม VPN จะทำ IP ในตอนท้ายเฉพาะ IP แม้ว่าจะอยู่ในแพ็กเกจที่ต่ำกว่า / สูงกว่าในขณะที่ Bluetooth นั้นเป็นโปรโตคอลทางกายภาพที่แตกต่างกันโดยสิ้นเชิง คำตอบของฉันบอกว่าสิ่งนี้เป็นไปได้ แต่อาจซับซ้อนเกินกว่าที่จะรบกวนเนื่องจากความแตกต่างของโปรโตคอล คุณจะไม่เห็นด้วยกับสิ่งนั้นหรือไม่?
harrymc

3

ฉันไม่ได้ลองสิ่งนี้ในทางปฏิบัติ แต่เป็นสิ่งที่ฉันสามารถหาได้จากการพูดถึง "Bluetooth over IP"

ลินุกซ์เคอร์เนลเครือข่ายหนังสือมีเทคนิคมาก แต่อธิบายวิธีการทำ "บลูทู ธ ผ่าน IP":

ทางฝั่งเซิร์ฟเวอร์:

pand --listen --role=NAP

ในฝั่งไคลเอ็นต์:

pand --connect btAddressOfTheServer

bnep0นี้จะสร้างอินเตอร์เฟซที่เสมือนจริง

เห็นได้ชัดว่านี่เป็นเพียงแค่ให้ L2CAP ซึ่งสามารถส่งแพ็กเก็ตผ่าน "piconet" เท่านั้น แต่สำหรับ L2CAP มีความคิดเกี่ยวกับวิธีการที่จะส่งพวกเขาผ่าน IP ในร่าง IETF: ส่งของ IP แพ็คเก็ตผ่านเครือข่ายบลูทู

IETF อาจพิจารณารัน L2CAP ผ่าน IP ผ่าน Host Controller ด้วยโปรโตคอลใหม่:

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

รูปที่ 4.3.3 - อันดับที่ 3 Bluetooth Protocol Stack ที่เป็นไปได้สำหรับเครือข่าย IP

จากนั้นฉันก็พบว่าUbiPAN: เครือข่ายพื้นที่ส่วนบุคคลแบบขยายของ Bluetoothซึ่งกล่าวถึง "Bluetooth over IP" - แต่น่าเสียดายที่ดูเหมือนว่า UbiPAN นั้นไม่ได้เปิดตัวเป็นซอฟต์แวร์เสรี


1
BNEP ใช้เพื่อส่งแพ็กเก็ตเครือข่ายโดยตรงผ่าน L2CAP ใน piconet ที่มีอยู่ไม่อนุญาตให้ผู้ใช้เชื่อมต่อบลูทู ธ ผ่าน IP นอกจากนี้ข้อมูลจำเพาะที่คุณเชื่อมโยงกับเก่าและไม่ได้มาจากแหล่งดั้งเดิม (BT SIG) นี่เป็นข้อมูลจำเพาะที่นำมาใช้: bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=6552
Jon Carlstedt

2
ขออภัยคำตอบของฉันเป็นงานที่อยู่ระหว่างดำเนินการและคุณอาจไม่พอใจกับมัน แต่ในปัจจุบันมีข้อมูลที่เป็นประโยชน์เกี่ยวกับวิธีแก้ปัญหาที่เป็นไปได้มากกว่าคำตอบอื่น ๆ
guaka

คำตอบของคุณไม่ได้ระบุว่าเป็นไปได้หรือไม่ที่จะใช้บลูทู ธ ผ่าน IP
Winny

0

Harrymc ถูกต้อง

สิ่งนี้เป็นไปไม่ได้หรืออย่างน้อยก็เป็นไปไม่ได้

คุณสามารถจับคู่โทรศัพท์กับคอมพิวเตอร์และชุดหูฟังของคุณกับคอมพิวเตอร์เครื่องอื่นและมีการเชื่อมต่อบลูทู ธ สองอัน การเชื่อมต่อระหว่างคอมพิวเตอร์สามารถเชื่อมต่อในแบบที่คุณรู้สึกได้และถ่ายทอดการสื่อสารบลูทู ธ ทั้งหมด สิ่งนี้จะทำให้ดูเหมือนว่าคุณได้เชื่อมต่อบลูทู ธ ผ่าน IP และคุณอาจให้พวกเขาคุยกันและทำสิ่งที่คุณพยายามทำ

แต่ในความเป็นจริงไม่มีการเชื่อมต่อบลูทู ธ ระหว่างอุปกรณ์ทั้งสอง

อุปกรณ์ A มีการเชื่อมต่อบลูทู ธ กับคอมพิวเตอร์

อุปกรณ์ B มีการเชื่อมต่อบลูทู ธ กับคอมพิวเตอร์เครื่องอื่น

อุปกรณ์ทั้งสองจะไม่สามารถจับคู่และเชื่อมต่อโดยตรงกับอุปกรณ์อื่นได้ ในทางทฤษฎีอาจสร้างบางสิ่งบางอย่างที่จะอนุญาตให้มีการตั้งค่าการเชื่อมโยงบลูทู ธ โดยตรง แต่การข้ามชั้นและการจัดการ linkkey จะเป็นฝันร้ายที่จะแยกแยะและนั่นเป็นเพียงจุดเริ่มต้นฉันไม่มีความคิดวิธีแก้ปัญหา อัตราการกระโดดความถี่บลูทู ธ คือ 1600 hops / s สำหรับแพ็คเก็ตสล็อตเดี่ยว

ถ้ามีคนทำสิ่งนี้จริง ๆ ฉันจะประทับใจมากและอยากดูภายใต้ประทุน


0

ตกลงฉันได้ตรวจสอบเรื่องนี้อีกแล้ว มันเป็นไปไม่ได้.

นี่คือเหตุผล: เพื่อให้สิ่งนี้ใช้งานได้คุณจะต้องใช้ชิปบลูทู ธ ในคอมพิวเตอร์เพื่อถ่ายทอดข้อมูลแทนที่จะตอบรับเอง

funcionality นี้ยังไม่มี

ฉันไม่สามารถแบ่งปันเอกสารใด ๆ ในขณะนี้เนื่องจากเป็นกรรมสิทธิ์และเป็นความลับ

หากคุณเป็นสมาชิกของ BT SIG คุณสามารถดูแผนงานบลูทู ธ ได้ที่ส่วนภาพพาโนรามาบน bluetooth.org


-1

ฉันเคยคิดเกี่ยวกับความคิดเดิม (หรือคล้ายกัน) มาแล้ว สิ่งที่ฉันต้องการทำคือใช้ฮับระบบอัตโนมัติที่บ้านซึ่งน่าเสียดายที่ไม่สามารถเข้าถึงบ้านทั้งหลังได้ด้วยวิทยุแบบใช้ครั้งเดียว

การตั้งค่าของฉันมีดังนี้: คอมพิวเตอร์ที่ใช้ Bluez + ไคลเอนต์ usbip <- LAN -> คอมพิวเตอร์เครื่องอื่นที่มีดองเกิล USB บลูทู ธ จริง + เซิร์ฟเวอร์ usbip

ปรากฎว่ามันใช้งานได้ดี จากมุมมองของ Bluez จะไม่สามารถแยกแยะระหว่างดองเกิล USB ท้องถิ่นและระยะไกล

(เครื่องที่ใช้ Linux 4.9.80 + up-todate-usbip + Bluez 5.48; แขน)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.