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?
Respostas:
De acordo com a Wikipedia :
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.
fonte
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.
fonte
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.
fonte