2014-06-06 17:40:13 +0000 2014-06-06 17:40:13 +0000
36
36

Porque é que a simples divisão de um cabo Ethernet não funciona?

Pensava que a Ethernet era logicamente um bus de comunicação de uma linha (por uma questão de argumentos, estou a excluir os hubs). Todas as máquinas ligadas ao autocarro ouvem os mesmos sinais e as próprias máquinas tentam evitar colisões ao recuar aleatoriamente. http://computer.howstuffworks.com/ethernet6.htm

Se assim fosse, porque é que dividir uma linha Ethernet do meu router doméstico em duas e ligar dois computadores não funcionaria? Porque é que tenho de adicionar um switch a ele?

O que a Internet disse que não funcionaria.

+----------+
                                               +---------->|computer 1|
                                               | +----------+
    +------------------+ +---------------+
    |4 port home router+------>|simple splitter|
    +------------------+ +---------------+
                                               | +----------+
                                               +---------->|computer 2|
                                                           +----------+

O que a Internet disse que eu deveria fazer

+----------+
                                               +---------->|computer 1|
                                               | +----------+
    +------------------+ +---------------+
    |4 port home router+------>| switch |
    +------------------+ +---------------+
                                               | +----------+
                                               +---------->|computer 2|
                                                           +----------+

Isto é devido à degradação do sinal (redução da corrente eléctrica)?


Obrigado por todas as respostas! A razão pela qual não usei apenas as duas portas do meu router de casa é…

O router de 4 portas gigabit está no meu quarto, e eu tinha colocado um computador noutra sala (também no meu quarto, no entanto). Uma vez que uma rede com fios é muito mais fiável e segura, tinha comprado um cabo Ethernet longo e ligado o computador ao router. Agora estava a pensar em adicionar outro computador a essa sala. Poderia comprar outro cabo Ethernet longo, mas depois haverá dois cabos entre as salas. A única linha já é um pequeno incómodo, por isso pensei que se pudesse partilhar a única linha entre os dois computadores daquela sala. Um interruptor funcionaria, mas requer energia e é um pouco caro. Foi por isso que me perguntei porque não funcionaria simplesmente dividir o cabo Ethernet físico.

Aparentemente, não compreendo completamente como funcionam a Ethernet e um comutador. Tenho apenas algum conhecimento que ouvi na minha turma da faculdade.

Respostas (7)

69
69
69
2014-06-06 18:29:41 +0000

Em 10BASE-T e 100BASE-TX, um par de fios é utilizado para transmitir, e um para receber. Ou seja, um par é o par que o host Ethernet transmite ligado, e o hub ou switch recebe ligado, e o outro par é o par que o hub/switch transmite ligado, e o host Ethernet recebe ligado.

Se dividir o cabo com um simples divisor passivo, está a ligar aqueles dois hosts Ethernet transmissor-transmissor e receptor-receptor. Isso é como segurar o aparelho telefónico de cabeça para baixo e tentar falar no altifalante e ouvir o microfone - simplesmente não funciona. Assim, mesmo que ambos estivessem em modo half-duplex (como se estivessem ligados a um hub, não a um switch), nenhum dos hosts Ethernet seria capaz de detectar quando o outro estava a transmitir, porque nenhum dos receptores estava ligado ao transmissor do outro. Assim, teriam colisões indetectáveis. Sem mencionar que ambos estariam ligados à mesma porta do hub, provavelmente confundindo a capacidade de auto-negociação do hub, porque os hubs não esperam auto-negociar com dois hosts separados na mesma porta.

Em muitos aspectos, as coisas são ainda piores no seu caso de ligar os dois a um interruptor, porque ambos poderiam acabar por pensar que podem fazer full-duplex, o que significa ** ainda mais** colisões indetectáveis, no que é suposto ser uma ligação sem colisões (ligações full-duplex devidamente ligadas não podem possivelmente ter colisões).

Com 1000BASE-T (Gigabit Ethernet sobre Cat5 ou melhor cablagem de cobre UTP), a situação é ainda pior, porque os 4 pares de fios são utilizados tanto para transmitir como para receber (simultaneamente, full-duplex), e os transceptores são suficientemente sofisticados para permitir isso. Mas se de repente se tiver um terceiro na linha a transmitir e a receber tudo ao mesmo tempo, a forma como funciona o esquema de sinalização bidireccional simultânea é completamente desorganizada. Com três dispositivos todos a transmitir ao mesmo tempo, mesmo quando subtrai a sua própria transmissão, não consegue diferenciar as transmissões dos outros dois dispositivos no sinal que está a receber.

Alguns sabores iniciais de Ethernet, tais como 10BASE-2 a.k.a. “thinnet” a.k.a “cheapernet”, apresentavam uma topologia de bus onde todos os anfitriões na LAN partilhavam literalmente o mesmo fio (o mesmo cabo coaxial). Como o mesmo fio era usado tanto para Tx como para Rx e podia haver qualquer número de anfitriões no autocarro, tinha de ser meio-duplex. Mas um transceptor 10BASE-2 estava esperando que fosse assim. E como todos os transmissores e receptores estavam ligados ao mesmo fio, todos podiam ouvir-se uns aos outros (ao contrário do seu exemplo da divisão 10/100/1000BASE-T).

8
8
8
2014-06-06 18:00:22 +0000

As especificações originais da Ethernet exigiam cabos coaxiais que eram ligados (divididos) a cada estação de trabalho (daí o “éter” na ethernet). Mas estamos aqui a falar de história antiga. Tecnicamente ainda é possível com cabos RJ-45 uma vez que o protocolo ethernet ainda suporta os mecanismos de detecção de colisão, mas por que razão, em nome de Deus, o quereriam instalar dessa forma? Especialmente porque o seu router tem 4 portas para trabalhar, em primeiro lugar.

7
7
7
2014-06-07 17:13:29 +0000

Estou surpreendido por ter de discordar do Spiff - de certa forma, funciona. Estávamos a caçar a causa de erros excessivos de embalagem na fábrica. Entre outras coisas, encontrámos onde algum electricista tinha simplesmente emendado um Y num 100BASE-T cabo de rede.

Os dois computadores envolvidos por vezes tinham erros de rede, mas como isto persistiu durante muito tempo enquanto os utilizadores utilizavam um programa que estava na rede e todos os seus dados (excepto as coisas escritas no directório temporário) estavam na rede, posso dizer conclusivamente que é possível.

Os switches são os semáforos da rede – sem eles os pacotes esbarram mal uns nos outros. No entanto, normalmente o protocolo de rede compensa os pacotes perdidos.

5
5
5
2014-06-07 18:36:35 +0000

Se um deles dividisse um cabo de modo a que dois dispositivos recebessem dados do transmissor do terceiro dispositivo, e os transmissores dos dois primeiros dispositivos alimentassem o receptor do terceiro dispositivo, então os dados transmitidos pelo terceiro dispositivo poderiam ser recebidos pelos dois primeiros, e é até possível que o terceiro dispositivo ouvisse dados transmitidos por um dos dois primeiros, mas a fiabilidade em qualquer dos casos seria fraca.

Imagine um cabo como um brinquedo de mola da marca Slinky que está pendurado verticalmente e flutuando no fundo. Se se abanar brevemente o topo da mola, uma onda descerá a mola até ao fundo, onde será reflectida para cima. Fixar a extremidade inferior ao chão não resolverá o problema. Irá inverter a polaridade da onda reflectida, mas o reflexo ainda estará lá. A única forma de evitar um reflexo no fundo da mola seria dar o suficiente para evitar um reflexo da mesma fase, mas não tanto dar, mas sim causar um reflexo antifásico. Os cabos

Internet funcionam muito da mesma maneira - um dispositivo envia impulsos e espera que o outro dispositivo tenha apenas “dar” o suficiente para os absorver de forma limpa. Qualquer lugar onde as características de uma mudança de cabo causarão reflexos e outros efeitos indesejados, a menos que sejam tomadas medidas adequadas para os evitar. Se os pacotes forem suficientemente curtos, e o código esperar tempo suficiente antes de enviar um pacote do que quaisquer reflexos que se propagavam através do cabo tenham morrido o suficiente, poderá ser possível que alguns dados sejam enviados através do cabo. Uma vez que as comunicações Ethernet geralmente não incluem tais atrasos, no entanto, as comunicações são susceptíveis de não serem fiáveis. É possível que um dispositivo possa transmitir, por exemplo, os primeiros dez pacotes de dados que pretende enviar, resultando na recepção dos dois primeiros e na falsificação dos restantes pelo primeiro; o receptor pode, ao receber o segundo pacote, aguardar o reconhecimento do mesmo até decidir que não há mais dados imediatamente (convenientemente, não fazer essa determinação até depois de o ruído ter diminuído). Ao receber o reconhecimento do segundo pacote, o transmissor enviaria o terceiro através do décimo segundo pacote (mais uma vez, com apenas dois dos dez a chegar), o receptor reconheceria o quarto, etc. Os dados poderiam passar, mas lentamente, na melhor das hipóteses.

4
4
4
2014-06-08 17:50:24 +0000

Se a sua rede é 100BASE-TX com um cabo Cat 5 pode dividir o cabo, mas fá-lo usando um adaptador para usar os quatro pares no seu cabo Cat&nbsp longo existente;5 (normalmente apenas dois dos quatro pares são usados).

Assim, seriam necessários dois cabos de patch muito curtos na extremidade do router, dois RJ45 /Cat 5 divisores LAN, e alguns cabos de patch mais longos na extremidade dos computadores. No diagrama abaixo, ‘Y’ significa um divisor e uma seta significa um cabo Cat 5.

.----------. __ _ 
| Router | .---------> [__]|=|
| | .----. | /::/|_|
| |------>| Y | .----.
| | | |------------>| Y |
| |------>| | '----'
| | '----' |
'----------' | __ _ 
                                        | [__]|=|
                                        '--------->/::/|_|

A solução acima não exigirá uma fonte de energia extra, mas exigirá o uso de duas portas no seu router, mas seria pelo menos mais arrumado do que dois cabos separados a correr em paralelo.

Veja também a discussão sobre 100BASE-TX e a sua cablagem em Fast Ethernet, subsecção Copper .

1
1
1
2018-09-20 14:04:45 +0000

A divisão de um cabo Ethernet para ligar dois clientes não é tão impossível como algumas respostas aqui podem sugerir. Nem é inaudito.

1 Questões

As principais questões que irá introduzir através da cablagem da sua rede como esta é:

  • os clientes não podem fazer uso do CSMA/CD detecção de colisões e assim torná-los
  • os clientes não podem falar uns com os outros

1.1 Os clientes não podem falar uns com os outros

Ambos os clientes podem falar com o router muito bem (quando ignoramos as colisões) mas não podem falar directamente um com o outro porque o fio transmissor de um cliente está ligado ao pino transmissor do outro cliente. A cablagem correcta seria transmissor-a-receptor e vice-versa.

Não mergulhei demasiado fundo neste problema em particular, mas parece possível que o router atravessasse a comunicação entre os dois clientes, pelo que só é preciso resolver o problema da colisão.

Por outro lado, o router pode descartar o tráfego endereçado para o ponto terminal que está fisicamente na mesma porta do router como origem. O router pode esperar, com razão, que o hub se situe a jusante.

1.2 Problema de colisão

Isto é realmente apenas consequência de um problema anterior. Os clientes e o router ouvem no seu próprio pino receptor antes e durante uma transmissão. Se detectarem a transmissão de outra pessoa, adiam ou interrompem a própria transmissão. Isto e como resolver a colisão descreve CSMA/CD .

Assim o router pode utilizar a detecção de colisão, mas os clientes não podem. Isto irá murmurar o tráfego de alguns ou todos os clientes.

Há um ponto importante a mencionar - o CSMA/CD ouve no pino do receptor e não ouve e não pode ouvir no pino de transmissão. Poder-se-ia argumentar que ambos os clientes poderiam evitar colisões detectando o tráfego no fio de transmissão do outro cliente, o que parece sensato, uma vez que é assim que dividimos o cabo. Isto seria um santo graal para nós, uma vez que nos permitiria dividir o cabo como quiséssemos, sem colisões. No entanto, não é esse o caso porque:

  • a sua própria transmissão desencadearia a detecção de colisões falso positivas
  • precisa de detectar colisões mesmo quando transmite actualmente

2 Soluções

Vamos discutir algumas opções.

2.1 Solução sem esforço

Apenas dividir o fio e ver o que acontece. Pode funcionar desde que não haja ou haja pequenas colisões, talvez porque:

  • as colisões não são assim tão más (ou seja, sim a rede é escamosa mas funciona)
  • os clientes não são tão tagarelas (causando pequenas colisões)
  • ou recebem apenas (por exemplo Wireshark torneira do fio)

Colisão é palavrão, mas na verdade não faço ideia de quão más são na rede do mundo real.

2.2 Resolver colisões por outros meios

  • os dois clientes nunca são alimentados ao mesmo tempo
  • (poucas mais ideias surgiram na minha mente, mas nada prático ou interessante)

Se as colisões forem demasiado más e não se puder utilizar o construído em CSMA/CD está praticamente lixado.

2.3 Usando o separador Ethernet MYWA-04 , MYWA-08

Esta não é uma solução real, mas sim uma solução de trabalho. Estes divisores sacrificam velocidades de 1 Gbps em favor de dois canais ethernet independentes de 100 Mbps num só fio. Vem com algumas questões discutidas noutros locais, mas eu listo-a como opção.

2.4 Solucionar colisões por hub on-wire

Hub é a solução para o seu problema. A sua principal função é reenviar o tráfego de entrada para todas as outras portas excepto a origem do tráfego (o que desencadearia uma falsa detecção de colisão positiva). É isso e também resume o problema com o qual estamos a lidar.

Poderia usar dois díodos para clonar a transmissão de um cliente para o receptor do outro cliente e vice-versa. Isso criaria um simples centro passivo sem energia.

Seria fixe modificar MYWA-07 para isto:

2,5 Hub passivo não alimentado com três relatórios

Isto é semelhante à ideia anterior, mas para 3 clientes. Kudos a Miroslav Adzic .

Os internos são explicados em Construir um hub ethernet passivo com díodos anti-paralelos

2,6 hub PoE ou switch

Também se pode considerar o uso de PoE hub ou switch se por alguma razão estiver constrangido do outro lado da parede (por assim dizer).


3 Notas

0
0
0
2014-06-06 20:48:15 +0000

Tenha em mente que uma rede Ethernet lida com a transmissão de sinais, que é uma questão de várias ordens de magnitude mais delicada do que a questão da transmissão de energia eléctrica.

O artigo da Wikipedia 10BASE2 _ descreve os prós e os contras dos ‘antigos’ sistemas Ethernet. Enquanto que hosts adicionais podiam, de facto, ser adicionados sem um hub, nunca foi tão fácil como ‘emendar’ outro segmento.