USB vs Ethernet Kabellänge

10

Ich habe mit einem Kollegen über die Einschränkungen der USB-Kabellänge gesprochen und soweit ich mich erinnern kann, wurde diese durch das enge Fenster begrenzt, in dem der Host vom Gerät antworten muss ( hier erwähnt ).

Er wies darauf hin, dass Ethernet Daten mit einer höheren Rate überträgt ( USB 1,5 / 12/480 / 5.000 Mbit / s (je nach Modus) im Vergleich zu 10/100 Gbit / s von Ethernet) und eine längere Kabellänge ermöglicht ( 100 m für CAT6-Kabel ).

Ich denke, wir fragen uns beide, welcher Aspekt des USB-Protokolls die Kabellänge auf 5 m begrenzt und wie sich das von Ethernet unterscheidet.

Luke Quinane
quelle
3
Der Schlüsselaspekt von Ethernet, den Sie suchen, wird als "Kollisionsdomäne" bezeichnet.
Platzhalter
@rawbrawb-Netzwerkkollisionen würden eine Ethernet-Verbindung verlangsamen, aber Ethernet kann unter idealen Bedingungen immer noch Node-to-Router mit 10 Gbit / s übertragen. USB hat keine Kollisionen, wie ich es verstehe, weil der Host entscheidet, wer spricht; Kollisionen sollten also nicht die Ursache sein.
Luke Quinane
Ich habe NUR über Ethernet gesprochen - Sie scheinen den USB unter Kontrolle zu haben.
Platzhalter
"... im Vergleich zu 10/100 Gbit / s von Ethernet) und ermöglicht eine längere Kabellänge (100 m für CAT6-Kabel)" - Falsch. 10G Ethernet über CAT6 ist nur gut für 55M (siehe diese Tabelle ) und 100G kann über Twisted - Pair nicht läuft überhaupt (siehe diese Tabelle ). Ich denke, Sie verwirren Ethernet-Standards mit niedrigerer Geschwindigkeit (z. B. 1 Gigabit).
Marcelm

Antworten:

6

Laut Wikipedia :

USB 2.0 bietet eine maximale Kabellänge von 5 Metern für Geräte mit hoher Geschwindigkeit (480 Mbit / s). Der Hauptgrund für diese Grenze ist die maximal zulässige Umlaufverzögerung von ca. 1,5 μs. Wenn USB-Host-Befehle vom USB-Gerät innerhalb der zulässigen Zeit nicht beantwortet werden, betrachtet der Host den Befehl als verloren. Wenn Sie die Antwortzeit des USB-Geräts hinzufügen, Verzögerungen von der maximalen Anzahl von Hubs zu den Verzögerungen beim Anschließen von Kabeln, beträgt die maximal zulässige Verzögerung pro Kabel 26 ns. Die USB 2.0-Spezifikation erfordert eine Kabelverzögerung von weniger als 5,2 ns pro Meter (192.000 km / s, was nahe an der maximal erreichbaren Übertragungsgeschwindigkeit für Standard-Kupferdraht liegt).

Bei einer Verzögerung pro Kabel von 26 ns und einer Spezifikation, bei der die Kabelverzögerung weniger als 5,2 ns / m betragen muss, ergibt sich eine theoretische maximale Kabellänge von 26 ns / (5,2 ns / m) = 5 m.

Diese Quelle erwähnt auch, dass USB 2.0 auf 5 m begrenzt ist, USB 3.0 jedoch nicht.

Kleiner Mann
quelle
1
Ich denke, die Frage ist, warum sie die maximale Umlaufzeit auf 1,5 μs begrenzt haben. Anfangs dachte ich, es liege an der hohen Übertragungsrate, aber Ethernet vermeidet dieses Problem irgendwie.
Luke Quinane
@ LukeQuinane, ich habe gerade bemerkt, dass der Grund direkt über dem Bereich in dem Link, den Sie gepostet haben, usb.org/developers/usbfaq#cab1
PeterJ
@ PeterJ das ist sehr interessant. Irgendwelche Ideen, wie Ethernet dieses Problem vermeidet?
Luke Quinane
1
@ LukeQuinane, nein, ich weiß nicht viel über die physikalische Ethernet-Schicht. Ich vermute jedoch, dass die allgemeine Entscheidung für USB getroffen wurde, die Gerätekosten so niedrig wie möglich zu halten, indem die Treiber einfach gehalten wurden.
PeterJ
4
Original Ethernet wurde in einer anderen Zeit entwickelt, als Komponenten und Komplexität von VS-Kabeln unterschiedliche Prioritäten und Kosten hatten. USB wurde für Joe Bloggs und sein iPhone unter Berücksichtigung der geringstmöglichen Kosten und des geringsten Platzbedarfs / Anschlusses / Kabels / Stromverbrauchs entwickelt.
John U
6

USB wurde entwickelt, um verschiedene PC-Perhiperal-Schnittstellen zu ersetzen, darunter Tastaturen und Mäuse. Zu den Prioritäten gehörten niedrige Kosten, geringer Stromverbrauch und Weiterleiten von Verkehr mit hoher Priorität und geringer Latenz. Die Unterstützung langer Kabellängen hatte keine Priorität. Auf der Protokollseite entschieden sie sich für ein einfaches Halbduplex-Protokoll "Sprechen, wenn Sie angesprochen werden" mit kleinen Paketgrößen. Auf der Hardwareseite entschieden sie sich für ein nicht isoliertes Differenzialsignalisierungssystem, das bei Beendigung einige Abkürzungen benötigte.

USB entwickelte sich allmählich weiter, um höhere Geschwindigkeiten und Vollduplex hinzuzufügen, aber größere Entfernungen waren nie ein Entwurfsziel.

Ethernet (in seiner frühen Form) hatte andere Entwurfskriterien. Es wurde als lokaler Netzwerkstandard konzipiert, keine Station war ein Master und sie entschieden sich für ein Carrier-Sense-Multiple-Access-System mit Kollisionserkennung. Um sicherzustellen, dass die Kollisionserkennung ordnungsgemäß funktioniert, wurden sowohl die Mindestpaketgröße als auch die Gesamtgröße des Netzwerks eingeschränkt. Die physikalische Schicht wurde mit weitaus sorgfältigerer Terminierung entworfen, um sicherzustellen, dass die Signalintegrität auch über lange Läufe erhalten bleibt. Es gab eine Isolationsbarriere zum Schutz vor Problemen, die durch Erdpotentialunterschiede bei langen Läufen verursacht wurden (Twisted-Pair-Ethernet verwendet Transformatoren, ich glaube, Koax-Ethernet verwendet Optoisolatoren und DC / DC-Wandler).

CSMA / CD funktionierte gut in kleinen 10-Mbit / s-LANs, zeigte jedoch die Belastung, als die Geschwindigkeit zunahm und die Netzwerke größer wurden. Es wurden Bridges (später als Switches bezeichnet) eingeführt, mit denen Netzwerke in mehrere Kollisionsdomänen aufgeteilt werden können. Dies ermöglichte es, Netzwerke größer als die von CSMA / CD auferlegten Grenzen zu machen und mehrere Geschwindigkeiten nebeneinander zu existieren.

Später entfernte sich Ethernet von CSMA / CD 1 und Hubs in Richtung Punkt-zu-Punkt-Vollduplex-Verbindungen und -Switches. Dies ermöglicht Hochgeschwindigkeits-Fernverbindungen, da Pakete niemals miteinander kollidieren können.

Für all dies ist jedoch ein Preis zu zahlen. Die physischen Schichten, die über große Entfernungen arbeiten können, erfordern erheblich mehr Leistung und erheblich teurere Transceiver als diejenigen, die nur für kurze Entfernungen ausgelegt sind. Datenpuffer an den Endgeräten müssen viel größer sein, um mit möglicherweise langer Bestätigungszeit und potenziellem Paketverlust fertig zu werden. Switches sind relativ komplexe Geräte, die häufig erhebliche Mengen an Pufferspeicher enthalten. Für die Priorisierung muss jeder Switch in der Kette die Priorisierungsinformationen kennen.

1 Bei 10 Mbit / s waren Hubs und CSMA / CD ziemlich universell. Frühe 100-Mbit / s-Bereitstellungen verwendeten auch Hubs und CSMA / CD. Spätere 100-Mbit / s-Netzwerke verwendeten in der Regel Vollduplex-Verbindungen und -Switches. Bei Gigabit gehörten zu den Standards CSMA / CD und Hubs, aber ich habe noch nie von jemandem gehört, der tatsächlich einen Gigabit-Hub verkauft. Ab 10 Gigabit gibt es überhaupt keine CSMA / CD- und Hub-Unterstützung.

Peter Green
quelle
2

Ein weiterer wichtiger Aspekt ist, dass Hochgeschwindigkeits-Ethernet Vollduplex ist : Es werden zwei Kabelpaare verwendet, eines für jede Richtung. USB ist Halbduplex : Es gibt nur ein Paar und es kann nur in eine Richtung gleichzeitig verwendet werden.

USB erfordert ebenfalls eine Bestätigung, Ethernet hingegen nicht. Darüber hinaus erfordern Protokolle möglicherweise eine Bestätigung (TCP) oder nicht (UDP-Streaming). Da es sich jedoch um Vollduplex handelt, können die Bestätigungen über ein Paar gesendet werden, ohne den Datenstrom in die andere Richtung zu unterbrechen.

pjc50
quelle
Es gibt auch einen TCP-Fensterteil: TCP wartet nicht auf ACK. Stattdessen werden nur weiterhin Daten gesendet, und wenn ACK verloren geht, werden die Daten erneut gesendet. Darüber hinaus ermöglicht TCP einem einzelnen ACK, mehrere TCP-Datagramme zu bestätigen.
AndrejaKo
"... Hochgeschwindigkeits-Ethernet ist Vollduplex: Es werden zwei Kabelpaare verwendet, eines für jede Richtung." - Dies gilt für 100-MB-Ethernet, nicht jedoch für Gigabit-Ethernet (1000BASE-T), bei dem vier Kabelpaare gleichzeitig in beide Richtungen verwendet werden (siehe Wikipedia / 1000BASE-T ).
Marcelm