Longueur du câble USB vs Ethernet

10

Je parlais à un collègue des limites de la longueur du câble USB et, pour autant que je m'en souvienne, elle était limitée par la fenêtre étroite à laquelle l'hôte exige que l'appareil réponde (mentionné ici ).

Il a souligné qu'Ethernet transfère des données à un débit plus élevé ( USB 1.5 / 12/480 / 5.000 Mbit / s (selon le mode) vs Ethernet 10 / 100Gbps) et permet une longueur de câble plus longue ( 100m pour le câble CAT6 ).

Je suppose donc que nous nous demandons tous les deux quel aspect du protocole USB limite la longueur du câble à 5 m et comment cela diffère-t-il d'Ethernet?

Luke Quinane
la source
3
l'aspect clé d'Ethernet que vous recherchez est appelé le "domaine de collision".
espace réservé
Les collisions du réseau @rawbrawb ralentiraient une liaison Ethernet, mais Ethernet peut toujours transmettre un nœud à un routeur à 10 Gbit / s dans des conditions idéales. L'USB n'a pas de collisions si je comprends bien car l'hôte décide qui parle; il semble donc que les collisions ne devraient pas être la cause.
Luke Quinane
Je discutais Ethernet uniquement - vous semblez avoir le contrôle USB.
espace réservé
"... vs Ethernet 10 / 100Gbps) et permet une longueur de câble plus longue (100m pour le câble CAT6)" - Incorrect. 10G Ethernet sur CAT6 est seulement bon pour 55M (voir ce tableau ), et 100G ne peut pas fonctionner sur paire torsadée du tout (voir ce tableau ). Je pense que vous confondez les normes Ethernet à faible vitesse (comme 1 gigabit).
marcelm

Réponses:

6

Selon Wikipedia :

L'USB 2.0 prévoit une longueur de câble maximale de 5 mètres pour les appareils fonctionnant à haute vitesse (480 Mbit / s). La principale raison de cette limite est le délai d'aller-retour maximal autorisé d'environ 1,5 μs. Si les commandes de l'hôte USB sont sans réponse par le périphérique USB dans le délai imparti, l'hôte considère que la commande est perdue. Lors de l'ajout du temps de réponse du périphérique USB, des retards du nombre maximal de concentrateurs ajoutés aux retards des câbles de connexion, le retard maximum acceptable par câble s'élève à 26 ns. La spécification USB 2.0 exige un retard de câble inférieur à 5,2 ns par mètre (192 000 km / s, ce qui est proche de la vitesse de transmission maximale réalisable pour un fil de cuivre standard).

Ainsi, avec un retard par câble de 26ns et la spécification exigeant un retard de câble inférieur à 5,2ns / m, cela donne une longueur de câble maximale théorique de 26ns / (5,2ns / m) = 5m.

Cette source mentionne également que l'USB 2.0 est limité à 5 m, mais pas l'USB 3.0.

Petit homme
la source
1
Je suppose que la question est de savoir pourquoi ont-ils limité le temps d'aller-retour maximal à 1,5 μs? Au début, je pensais que c'était à cause du taux de transfert élevé, mais Ethernet évite ce problème d'une manière ou d'une autre.
Luke Quinane
@LukeQuinane, je viens de remarquer que la raison est mentionnée juste au-dessus de la zone dans le lien que vous avez publié, usb.org/developers/usbfaq#cab1
PeterJ
@PeterJ c'est très intéressant. Des idées sur la façon dont Ethernet évite ce problème?
Luke Quinane
1
@ LukeQuinane, non, je ne connais pas grand-chose à la couche physique Ethernet. Je soupçonne que la décision globale pour l'USB a été prise pour maintenir les coûts de l'appareil aussi bas que possible en gardant les pilotes simples.
PeterJ
4
Ethernet d'origine a été conçu à une époque différente où les composants et la complexité des câbles VS étaient différents en termes de priorités et de coûts. L'USB est conçu avec le coût le plus bas possible et le plus petit encombrement / connecteur / câble / consommation d'énergie à l'esprit pour Joe Bloggs et son iPhone.
John U
6

L'USB a été conçu pour remplacer diverses interfaces PC perhiperal, notamment des claviers et des souris. Les priorités comprenaient un faible coût, une faible consommation d'énergie et le passage d'un trafic de haute priorité avec une faible latence. La prise en charge de longues longueurs de câble n'était pas une priorité. Donc, du côté du protocole, ils ont opté pour un protocole semi-duplex "parler quand on vous parle" avec de petites tailles de paquets. Côté matériel, ils ont opté pour un système de signalisation différentielle non isolé qui a pris quelques raccourcis à la terminaison.

L'USB a progressivement évolué pour ajouter des vitesses plus élevées et du duplex intégral, mais une distance plus longue n'a jamais été un objectif de conception.

Ethernet (dans sa forme initiale) avait un ensemble différent de critères de conception. Il a été conçu comme une norme de réseau local, aucune station n'était un maître et ils ont opté pour un système d'accès multiple à détection de porteuse avec détection de collision. Pour s'assurer que la détection de collision fonctionnait correctement, ils ont imposé des restrictions sur la taille minimale des paquets et la taille totale du réseau. La couche physique a été conçue avec une terminaison beaucoup plus prudente pour garantir l'intégrité du signal, même sur de longues périodes. Il y avait une barrière d'isolement pour se protéger contre les problèmes causés par les différences de potentiel de terre à long terme (Ethernet à paire torsadée utilise des transformateurs, je crois que les coaxiaux Ethernet utilisés optoisolateurs et convertisseurs CC / CC)

CSMA / CD a bien fonctionné sur les petits réseaux locaux à 10 Mbps, mais il a commencé à montrer la pression à mesure que les vitesses augmentaient et que les réseaux s'agrandissaient. Des ponts (connus plus tard sous le nom de commutateurs) ont été introduits permettant aux réseaux d'être divisés en plusieurs domaines de collision. Cela a permis aux réseaux d'être plus grands que les limites imposées par CSMA / CD et a également permis à plusieurs vitesses de coexister.

Plus tard, Ethernet s'est éloigné de CSMA / CD 1 et des concentrateurs vers des liaisons et des commutateurs duplex intégral point à point. Cela permet des liaisons longue distance à grande vitesse car les paquets ne peuvent jamais entrer en collision les uns avec les autres.

Cependant, il y a un prix à payer pour tout cela, les couches physiques qui peuvent fonctionner sur de longues distances nécessitent beaucoup plus de puissance et des émetteurs-récepteurs considérablement plus chers que ceux qui ne sont conçus que pour fonctionner à courte portée. Les tampons de données, à la fin, les appareils doivent être beaucoup plus gros pour faire face à un temps d'accusé de réception potentiellement long et à une perte potentielle de paquets. Les commutateurs sont des périphériques relativement complexes qui incluent souvent des quantités importantes de mémoire tampon. La hiérarchisation nécessite que chaque commutateur de la chaîne soit conscient des informations de hiérarchisation.

1 À 10 Mbps, les concentrateurs et CSMA / CD étaient à peu près universels. Les premiers déploiements à 100 Mbps utilisaient également des concentrateurs et des CSMA / CD très lourds. Plus tard, les réseaux 100 Mbps ont eu tendance à utiliser des liaisons et des commutateurs en duplex intégral. Au gigabit, les normes incluaient CSMA / CD et les concentrateurs, mais je n'ai jamais entendu parler de quiconque vendant réellement un concentrateur gigabit. À 10 gigabits et plus, la prise en charge CSMA / CD et concentrateur n'existe pas du tout.

Peter Green
la source
2

Un autre aspect important est que l'Ethernet haute vitesse est en duplex intégral : deux paires de câbles sont utilisées, une pour chaque direction. L'USB est semi-duplex : il n'y a qu'une seule paire et il ne peut être utilisé que dans une seule direction à la fois.

USB nécessite également un accusé de réception, contrairement à Ethernet. Les protocoles en plus peuvent nécessiter un accusé de réception (TCP) ou non (streaming UDP). Cependant, comme il est en duplex intégral, les accusés de réception peuvent être envoyés sur une paire sans interrompre le flux de données allant dans l'autre sens.

pjc50
la source
Il y a aussi une partie de fenêtrage TCP: TCP n'attend pas ACK. Au lieu de cela, il continue d'envoyer des données et si ACK disparaît, il renvoie les données. En plus de cela, TCP permet à un seul ACK de reconnaître plusieurs datagrammes TCP.
AndrejaKo
"... Ethernet haute vitesse est en duplex intégral: deux paires de câbles sont utilisées, une pour chaque direction." - Cela est vrai pour Ethernet 100 Mo, mais pas pour Gigabit Ethernet (1000BASE-T), qui utilise quatre paires de câbles dans les deux directions simultanément (voir wikipedia / 1000BASE-T ).
marcelm