Comprimento do cabo USB vs Ethernet

10

Eu estava conversando com um colega sobre as limitações do comprimento do cabo USB e, tanto quanto me lembro, era limitado pela janela apertada em que o host exige que o dispositivo responda (mencionado aqui ).

Ele ressaltou que a Ethernet está transferindo dados a uma taxa mais alta ( USB 1,5 / 12/480 / 5.000 Mbit / s (dependendo do modo) versus 10 / 100Gbps da Ethernet) e permite um comprimento maior do cabo ( 100m para o cabo CAT6 ).

Então, acho que nós dois estamos imaginando que aspecto do protocolo USB limita o comprimento do cabo a 5m e como isso difere da Ethernet?

Luke Quinane
fonte
3
o principal aspecto da Ethernet que você está procurando é chamado de "domínio de colisão".
placeholder
As colisões da rede @rawbrawb desacelerariam um link ethernet, mas o ethernet ainda pode transmitir o nó ao roteador a 10 Gbps em condições ideais. O USB não tem colisões, como eu o entendo, porque o host decide quem fala; então parece que colisões não devem ser a causa.
Lucas Quinane
Eu estava discutindo apenas Ethernet - você parece ter o USB sob controle.
placeholder
"... vs 10 / 100Gbps da Ethernet) e permite um comprimento de cabo mais longo (100m para cabo CAT6)" - Incorreto. 10G Ethernet sobre CAT6 só é bom para 55M (ver nesta tabela ), e 100G não pode correr sobre par trançado em tudo (ver nesta tabela ). Eu acho que você está confundindo os padrões Ethernet de velocidade mais baixa (como 1 gigabit).
marcelm

Respostas:

6

De acordo com a Wikipedia :

O USB 2.0 fornece um comprimento máximo de cabo de 5 metros para dispositivos em alta velocidade (480 Mbit / s). A principal razão para esse limite é o atraso máximo permitido de ida e volta de cerca de 1,5 μs. Se os comandos do host USB não forem respondidos pelo dispositivo USB dentro do tempo permitido, o host considerará o comando perdido. Ao adicionar o tempo de resposta do dispositivo USB, atrasos no número máximo de hubs adicionados aos atrasos na conexão de cabos, o atraso máximo aceitável por cabo é de 26 ns. A especificação USB 2.0 exige que o atraso do cabo seja inferior a 5,2 ns por metro (192.000 km / s, que é próximo da velocidade máxima de transmissão alcançável para o fio de cobre padrão).

Portanto, com um atraso por cabo de 26ns e a especificação exigindo que o atraso do cabo seja menor que 5,2ns / m, isso fornece um comprimento máximo teórico de 26ns / (5,2ns / m) = 5m.

Essa fonte também menciona que o USB 2.0 é limitado a 5m, mas o USB 3.0 não.

Homem pequeno
fonte
11
Acho que a pergunta é por que eles limitaram o tempo máximo de ida e volta a 1,5 μs? Inicialmente, pensei que fosse por causa da alta taxa de transferência, mas a Ethernet evita esse problema de alguma forma.
Lucas Quinane
@LukeQuinane, eu só notei a razão é mencionado logo acima da área no link que você postou, usb.org/developers/usbfaq#cab1
PeterJ
@ PeterJ, isso é muito interessante. Alguma idéia de como a Ethernet evita esse problema?
Lucas Quinane
11
@ LucasQuinane, não, eu não sei muito sobre a camada física da Ethernet. Eu suspeito que a decisão geral do USB tenha sido tomada para manter os custos do dispositivo o mais baixo possível, mantendo os drivers simples.
precisa
4
A Ethernet original foi projetada em uma era diferente, quando havia prioridades e custos diferentes para componentes e complexidade do cabo VS. O USB é projetado com o menor custo possível e o menor consumo de espaço / conector / cabo / energia em mente para Joe Bloggs e seu iPhone.
John L
6

O USB foi projetado para substituir várias interfaces perhiperais para PC, incluindo teclados e mouses. As prioridades incluíam baixo custo, baixo consumo de energia e transmissão de tráfego de alta prioridade com baixa latência. Suporte para comprimentos de cabo longos não era uma prioridade. Então, no lado do protocolo, eles optaram por um protocolo half-duplex simples "fale quando você fala" com tamanhos de pacotes pequenos. No lado do hardware, eles optaram por um sistema de sinalização diferencial não isolado que levou alguns atalhos na terminação.

O USB evoluiu gradualmente para adicionar velocidades mais altas e full duplex, mas uma distância maior nunca foi uma meta de design.

A Ethernet (em sua forma inicial) tinha um conjunto diferente de critérios de design. Ele foi projetado como um padrão de rede de área local, nenhuma estação era mestre e eles optaram por um sistema de acesso múltiplo com detecção de portadora com detecção de colisão. Para garantir que a detecção de colisão funcionasse corretamente, eles colocavam restrições no tamanho mínimo de pacotes e no tamanho total da rede. A camada física foi projetada com uma terminação muito mais cuidadosa para garantir a integridade do sinal, mesmo a longo prazo. Havia uma barreira de isolamento para proteger contra problemas causados ​​por diferenças de potencial de terra em longo prazo (a Ethernet de par trançado usa transformadores, eu acredito que a Ethernet coaxial usa optoisoladores e conversores CC para CC)

O CSMA / CD funcionou bem em pequenas LANs de 10 Mbps, mas começou a mostrar a tensão à medida que as velocidades aumentavam e as redes aumentavam. Pontes (mais tarde conhecidas como comutadores) foram introduzidas, permitindo que as redes fossem divididas em vários domínios de colisão. Isso permitiu que as redes se tornassem maiores do que os limites impostos pelo CSMA / CD e também permitiu a coexistência de várias velocidades.

Mais tarde, a Ethernet se afastou do CSMA / CD 1 e dos hubs em direção a links e switches full duplex ponto a ponto. Isso permite links de longa distância de alta velocidade, pois os pacotes nunca podem colidir entre si.

Há um preço a pagar por tudo isso, porém, as camadas físicas que podem funcionar a longas distâncias requerem consideravelmente mais energia e transceptores consideravelmente mais caros do que aqueles projetados apenas para trabalhar em curto alcance. Buffers de dados, nos dispositivos finais, precisam ser muito maiores para lidar com um tempo de reconhecimento potencialmente longo e com a perda potencial de pacotes. Os comutadores são dispositivos relativamente complexos, geralmente incluindo quantidades substanciais de memória buffer. A priorização exige que todos os comutadores da cadeia estejam cientes das informações de priorização.

1 Em hubs de 10 Mbps e CSMA / CD eram praticamente universais. As primeiras implementações de 100 Mbps também usavam pesados ​​hubs e CSMA / CD. As redes de 100 Mbps posteriores tenderam a usar links e switches full duplex. No gigabit, os padrões incluíam CSMA / CD e hubs, mas eu nunca ouvi falar de alguém realmente vendendo um hub de gigabit. Com 10 gigabit e acima, o suporte a CSMA / CD e hub não existe.

Peter Green
fonte
2

Outro aspecto importante é que a ethernet de alta velocidade é full duplex : existem dois pares de cabos usados, um para cada direção. O USB é half-duplex : existe apenas um par e só pode ser usado em uma direção ao mesmo tempo.

O USB também requer reconhecimento, enquanto a Ethernet não. Os protocolos em cima dele podem exigir reconhecimento (TCP) ou não (streaming UDP). No entanto, como é full duplex, as confirmações podem ser enviadas por um par sem interromper o fluxo de dados na outra direção.

pjc50
fonte
Também há também a parte de janelas do TCP: o TCP não espera pelo ACK. Em vez disso, ele continua enviando dados e, se o ACK desaparecer, reenvia os dados. Além disso, o TCP permite que um único ACK reconheça vários datagramas TCP.
AndrejaKo
"... a Ethernet de alta velocidade é full duplex: são utilizados dois pares de cabos, um para cada direção." - Isso é verdade para Ethernet de 100 Mb, mas não para Ethernet de Gigabit (1000BASE-T), que usa quatro pares de cabos nas duas direções simultaneamente (consulte wikipedia / 1000BASE-T ).
marcelm