วิธีที่ดีที่สุดในการทำ TCP / IP ผ่าน USB บน Linux


10

ฉันต้องการสร้างลิงค์ TCP / IP ระหว่างเครื่อง Linux สองเครื่องที่มีพอร์ต USB 2.0 หลายพอร์ตเป็นตัวเลือกการเชื่อมต่อเท่านั้น เนื่องจากทั้งพอร์ตโฮสต์และทาสใช้งานได้ฉันจึงสามารถเชื่อมต่อผ่านสาย USB ได้ง่าย อะไรคือความเป็นไปได้ที่จะส่งต่อ TCP / IP ผ่านสายเคเบิลนั้นและฉันควรใช้แบนด์วิดท์ตัวใดดีที่สุด?

จนถึงตอนนี้ฉันได้ลองส่งต่อ ADB (Android Debug Bridge) แต่ปริมาณงานไม่ดี - เพียง 30-40Mbps ฉันคิดว่ามันเป็นไปได้ที่จะประสบความสำเร็จอย่างน้อย 150-200Mbps โดยใช้ไดรเวอร์พิเศษ - ฮาร์ดไดรฟ์ USB บางครั้งย้ายไฟล์ที่ 240-280Mbps จาก 480 ที่มีอยู่ในทางทฤษฎี


1
คุณสามารถรับการ์ดเครือข่าย USB ได้สองใบ (คุณสามารถรับกิกะบิตได้ แต่จะไม่ได้ความเร็วสูงสุดเท่าที่ควร) และใช้เครือข่ายสแต็คธรรมดา ..
Mark Henderson

พวกเขามีค่าใช้จ่ายมากขึ้นและเพิ่มค่าใช้จ่ายเพิ่มเติม
jons34yp

1
คุณไม่ได้พูดถึงสิ่งใดในคำถามเกี่ยวกับข้อกำหนดด้านงบประมาณและอาจมีค่าใช้จ่าย แต่จะเร็วกว่า 40Mbps
Mark Henderson

คุณหมายถึงทั้งพอร์ตหลักและพอร์ตทาสที่มีอยู่? พีซีมีเฉพาะพอร์ตหลักเท่านั้น
psusi

1
@ MarkHenderson - "รับการ์ดเครือข่าย USB สองใบ" - ไม่ใช่ (ถูกต้อง) เรียกว่า "บัตร" เมื่อไม่มี PCB เปล่า (แผงวงจรพิมพ์) อีกต่อไป เมื่อมันถูกห่อหุ้มก็เป็นโมดูลหรืออะแดปเตอร์ มิฉะนั้นฉันก็เห็นด้วยอะแดปเตอร์ USB-to-Ethernet คู่หนึ่งเป็นทางออกที่ตรงไปตรงมาที่สุด (และอาจเป็นทางออกที่ "ดีที่สุด") เว้นเสียแต่ว่า "ดีที่สุด" เท่านั้นแปลว่า "เร็วที่สุด"
ขี้เลื่อย

คำตอบ:


11

Ethernet ผ่านไดรเวอร์ USB รวมอยู่ใน Linux ไดรเวอร์ขนาดโฮสต์ที่เกี่ยวข้องคือ CDC_ETHER และ RNDIS คู่หูขนาดทาสของพวกเขา (ที่เลียนแบบสะพาน USB-Ethernet ในซอฟต์แวร์) คือ USB_ETH, USB_ETH_RNDIS USB_G_ANDROID รองรับโปรโตคอล RNDIS ซึ่งยอดเยี่ยมในกรณีของฉันเนื่องจากอุปกรณ์ที่เป็นปัญหาใช้เคอร์เนล Android ดังนั้นไดรเวอร์จะถูกเปิดใช้งานตามค่าเริ่มต้น

แบนด์วิดท์ที่วัดได้ของบริดจ์ USB โดยใช้ไดรเวอร์ USB_G_ANDROID คือ ~ 130Mbps จากโฮสต์ไปยังทาสและอีก 90Mbps

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