Questão Colisões em Ethernet CSMA / CD


Estou confuso sobre colisões no CSMA / CD Ethernet. Quando um sinal de interferência seria enviado? Por quê são enviados sinais de atolamento? Se duas transmissões simultâneas de pacotes interferem entre si, os dois nós de transmissão podem saber que a tensão é superdimensionada para que eles possam terminar suas transmissões e então transmitir um sinal de interferência de 32 bits, mas por quê? Alguém pode escrever todos os eventos um por um na sequência de tempo?


4


origem


isso precisa da tag "lição de casa"? - Spiff


Respostas:


Primeiro, cuidado com o fato de que as LANs Ethernet comutadas modernas não são mais CSMA / CD. O CSMA / CD era uma técnica que se aplicava a Ethernets de 10mbit / seg e 100mbit / sec que usavam hubs, e não switches. E honestamente, nunca houve muitos hubs 100BASE-TX por aí; todo mundo foi para mudar esse tempo. A especificação Gigabit Ethernet (1000BASE-T) requer comutadores; não existe um hub GigE.

Em Ethernets comutadas modernas, você não tem mais um meio compartilhado. Quando você está conectado a um switch, o "domínio de colisão" é apenas entre você e sua porta de switch. E se você estiver no modo full duplex, o que é quase sempre verdadeiro com switches, então você não tem nenhuma possibilidade de colisão. Se você não pode ter uma colisão, você nunca detectará uma colisão, então você nunca terá motivo para transmitir um sinal de interferência.

Então, nos dias de hubs (e cabos compartilhados como thinnet / cheapernet / 10BASE-2 coax e thicknet 10BASE-5), aqui está como funcionou:

Imagine que você tenha uma grande LAN 10BASE-T com muitos hubs e cabos de comprimento máximo, maximizando a "regra do repetidor" de no máximo 4 repetidores (hubs) entre quaisquer dois dispositivos na LAN. Devido a atrasos de propagação de sinal entre os hubs, ele pode levar o máximo de 232 bits de tempo para um sinal transmitido do Host A para alcançar o host mais distante na rede (Host B).

Agora imagine que o Host A começa a transmitir um quadro e, por azar, o Host B, na outra extremidade da rede, a 232 bits de distância, começa a transmitir um quadro apenas 231 bits após a transmissão iniciada pelo Host A. Devido a atrasos de propagação na rede, o Host B não sabia que o Host A já tinha 231 bits em sua transmissão quando o Host B enviou o primeiro bit de seu preâmbulo. Agora, o Host B detectará essa colisão dentro dos primeiros, digamos, 32 bits da transmissão do Host B, o que poderia ser de 232 a 264 bits, mais cedo do que o Host A irá detectá-lo. Se o Host B o detectasse no primeiro bit de transmissão, e apenas parasse de transmitir no momento em que detectou esta colisão, então ele poderia não ter permanecido no meio por tempo suficiente para o Host A detectá-lo e perceber que ocorreu uma colisão ( você não pode garantir que o receptor detectará a colisão no primeiro bit da colisão). Isso significaria que o Host A não saberia fazer o procedimento correto de manipulação de colisão. Então, ao invés de simplesmente parar de transmitir, o Host B transmite o sinal Jam para que permaneça no meio por tempo suficiente para garantir que o Host A perceba que ocorreu uma colisão.

Esse é também o motivo pelo qual os quadros Ethernet têm um comprimento mínimo de 64 Bytes. Isso garante que o Host A permaneça no meio por tempo suficiente para que uma colisão possa ser detectada até o outro lado da rede, e o sinal de Jam do Host B possa percorrer todo o caminho de volta através da rede, para que o host A ainda está no meio quando o sinal de Jam chega, então é possível perceber que alguém colidiu com sua transmissão.


11



Csma / cd não é necessário em conexões full duplex? se sim, então por quê? Concordou que o envio e o recebimento são feitos em dois cabos esparsos, para que não haja colisão se um dispositivo estiver enviando e recebendo ao mesmo tempo. Mas e se um dispositivo receber dados de duas fontes ao mesmo tempo? Então haverá colisão certo? - Ashwin
@Ashwin O switch teria que armazenar em buffer um dos dois quadros que estava recebendo simultaneamente (em duas portas separadas, sem colisão) e enviar um antes do outro para o host de destino. - Spiff
Isso significa que, em redes Ethernet full-duplex comutadas, um quadro Ethernet não precisa mais ter pelo menos 64 bytes? Em segundo lugar, se o gigabit Ethernet for full duplex, existe um tamanho de quadro mínimo para o gigabit Ethernet?
@GeorgeRobinson O IEEE não removeu o requisito de tamanho de quadro mínimo de 64 bytes, embora não sirva tanto a um propósito na Ethernet comutada quanto a redes antigas baseadas em hubs half-duplex. - Spiff