Lunghezza cavo USB vs Ethernet


10

Stavo parlando con un collega dei limiti della lunghezza del cavo USB e, per quanto mi ricordo, era limitato dalla finestra stretta in cui l'host richiede al dispositivo di rispondere (menzionato qui ).

Ha sottolineato che Ethernet sta trasferendo i dati a una velocità superiore ( USB 1,5 / 12/480 / 5.000 Mbit / s (a seconda della modalità) rispetto a Ethernet 10 / 100Gbps) e consente una lunghezza del cavo più lunga ( 100m per cavo CAT6 ).

Quindi suppongo che ci stiamo entrambi chiedendo quale aspetto del protocollo USB limiti la lunghezza del cavo a 5m e in cosa differisce da Ethernet?


3
l'aspetto chiave di Ethernet che stai cercando è chiamato "dominio di collisione".
segnaposto

Le collisioni di rete di @rawbrawb rallenterebbero un collegamento Ethernet ma Ethernet può ancora trasmettere da nodo a router a 10 Gbps in condizioni ideali. L'USB non ha collisioni perché lo capisco perché l'host decide chi parla; quindi sembra che le collisioni non dovrebbero essere la causa.
Luke Quinane,

Stavo discutendo SOLO Ethernet - sembra che tu abbia l'USB sotto controllo.
segnaposto

"... vs Ethernet 10 / 100Gbps) e consente una lunghezza del cavo più lunga (100m per cavo CAT6)" - Errato. 10G Ethernet su CAT6 è buono solo per 55M (vedi tabella ), e 100G non può essere eseguito su doppino a tutti (vedi tabella ). Penso che tu stia confondendo gli standard Ethernet a bassa velocità (come 1 gigabit).
marcelm,

Risposte:


6

Secondo Wikipedia :

USB 2.0 fornisce una lunghezza massima del cavo di 5 metri per i dispositivi che funzionano ad alta velocità (480 Mbit / s). Il motivo principale di questo limite è il ritardo massimo consentito di andata e ritorno di circa 1,5 μs. Se i comandi host USB non ricevono risposta dal dispositivo USB entro il tempo consentito, l'host considera il comando perso. Quando si aggiunge il tempo di risposta del dispositivo USB, i ritardi dal numero massimo di hub aggiunti ai ritardi dei cavi di collegamento, il ritardo massimo accettabile per cavo ammonta a 26 ns. Le specifiche USB 2.0 richiedono che il ritardo del cavo sia inferiore a 5,2 ns per metro (192.000 km / s, che è vicino alla velocità di trasmissione massima raggiungibile per il filo di rame standard).

Pertanto, con un ritardo per cavo di 26 ns e le specifiche che richiedono un ritardo del cavo inferiore a 5,2 ns / m, ciò fornisce una lunghezza massima teorica del cavo di 26 ns / (5,2 ns / m) = 5 m.

Quella fonte menziona anche che USB 2.0 è limitato a 5m, ma USB 3.0 no.


1
Immagino che la domanda sia: perché hanno limitato il tempo massimo di andata e ritorno a 1,5 μs? Inizialmente pensavo che fosse a causa dell'elevata velocità di trasferimento, ma Ethernet evita in qualche modo quel problema.
Luke Quinane,

@LukeQuinane, ho appena notato il motivo è menzionato appena sopra l'area nel link che hai pubblicato, usb.org/developers/usbfaq#cab1
PeterJ

@PeterJ è molto interessante. Qualche idea su come Ethernet possa evitare questo problema?
Luke Quinane,

1
@ LukeQuinane, no Non so molto del livello fisico Ethernet. Sospetto però che sia stata presa la decisione generale per USB di mantenere i costi del dispositivo il più basso possibile mantenendo semplici i driver.
PeterJ

4
La Ethernet originale è stata progettata in un'era diversa quando c'erano priorità e costi diversi per i componenti e la complessità del cavo VS. L'USB è progettato con il minor costo possibile e il minimo ingombro / connettore / cavo / consumo di energia in mente per Joe Bloggs e il suo iPhone.
John U

6

L'USB è stato progettato per sostituire diverse interfacce perhiperal del PC, tra cui tastiere e mouse. Le priorità includevano basso costo, basso consumo energetico e passaggio di traffico ad alta priorità con bassa latenza. Il supporto per cavi lunghi non era una priorità. Quindi dal lato del protocollo hanno optato per un semplice protocollo "parla quando ti si parla" half duplex con pacchetti di piccole dimensioni. Sul lato hardware hanno optato per un sistema di segnalazione differenziale non isolato che ha preso alcune scorciatoie per la terminazione.

L'USB si è gradualmente evoluto per aggiungere velocità più elevate e full duplex, ma una distanza più lunga non è mai stata un obiettivo di progettazione.

Ethernet (nella sua forma iniziale) aveva una diversa serie di criteri di progettazione. È stato progettato come uno standard di rete locale, nessuna stazione era un master e hanno optato per un sistema di accesso multiplo con rilevamento vettore con rilevamento delle collisioni. Per garantire che il rilevamento delle collisioni funzionasse correttamente, ponevano restrizioni sia sulla dimensione del pacchetto minimo che sulla dimensione totale della rete. Lo strato fisico è stato progettato con una terminazione molto più accurata per garantire che l'integrità del segnale fosse mantenuta anche su lunghe tirature. C'era una barriera di isolamento per proteggere dai problemi causati dalle differenze di potenziale a terra nelle lunghe tirature (Ethernet a doppino intrecciato utilizza trasformatori, credo che Ethernet coassiale utilizzava optoisolatori e convertitori da CC a CC)

CSMA / CD ha funzionato bene su piccole LAN da 10 Mbps, ma ha iniziato a mostrare la tensione all'aumentare della velocità e alle reti più grandi. Sono stati introdotti ponti (in seguito noti come switch) che consentono di suddividere le reti in più domini di collisione. Ciò ha consentito di aumentare le reti rispetto ai limiti imposti da CSMA / CD e di consentire la coesistenza di più velocità.

Successivamente Ethernet si è allontanata da CSMA / CD 1 e si è spostata verso hub da punto a punto con collegamenti full duplex e switch. Ciò consente collegamenti interurbani ad alta velocità poiché i pacchetti non possono mai scontrarsi.

Tuttavia, c'è un prezzo da pagare per tutto questo, gli strati fisici che possono lavorare su lunghe distanze richiedono molta più potenza e ricetrasmettitori considerevolmente più costosi di quelli progettati solo per funzionare a corto raggio. I buffer di dati, alla fine, i dispositivi devono essere molto più grandi per gestire un tempo di riconoscimento potenzialmente lungo e una potenziale perdita di pacchetti. Gli switch sono dispositivi relativamente complessi che spesso includono notevoli quantità di memoria buffer. La definizione delle priorità richiede che ogni switch della catena sia a conoscenza delle informazioni sulla definizione delle priorità.

1 A 10 Mbps, hub e CSMA / CD erano praticamente universali. Le prime distribuzioni a 100 Mbps utilizzavano anche hub e CSMA / CD fortemente utilizzati. Le reti successive a 100 Mbps tendevano a utilizzare collegamenti e switch full duplex. A Gigabit gli standard includevano CSMA / CD e hub ma non ho mai sentito parlare di nessuno che vendesse effettivamente un hub Gigabit. A 10 gigabit e oltre CSMA / CD e il supporto hub non esiste affatto.


2

Un altro aspetto importante è che Ethernet ad alta velocità è full duplex : vengono utilizzate due coppie di cavi, una per ogni direzione. L'USB è half duplex : esiste solo una coppia e può essere utilizzato solo in una direzione alla volta.

USB richiede anche il riconoscimento, mentre Ethernet no. I protocolli possono richiedere il riconoscimento (TCP) o no (streaming UDP). Tuttavia, poiché è full duplex, i riconoscimenti possono essere inviati di una coppia senza interrompere il flusso di dati che va nella direzione opposta.


Inoltre c'è anche una parte di finestre TCP: TCP non aspetta ACK. Invece continua a inviare dati e se ACK scompare, rinvia i dati. Inoltre, TCP consente a un singolo ACK di riconoscere più datagrammi TCP.
AndrejaKo

"... Ethernet ad alta velocità è full duplex: vengono utilizzate due coppie di cavi, una per ogni direzione." - Questo vale per Ethernet da 100 Mb, ma non per Gigabit Ethernet (1000BASE-T), che utilizza contemporaneamente quattro coppie di cavi in entrambe le direzioni (vedere Wikipedia / 1000BASE-T ).
marcelm,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.