Colisões em Ethernet CSMA / CD

4

Estou confuso sobre colisões no CSMA / CD Ethernet. Quando um sinal de interferência seria enviado? Por que os sinais de atolamento são enviados? 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?

    
por Baran 29.03.2011 / 22:39

1 resposta

11

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 uma mídia compartilhada. 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ê tem 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 através dos hubs, ele pode levar o máximo de 232 vezes de especificação IEEE 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, começa a transmitir um quadro apenas 231 bits após o início da transmissão do 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 ele 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.

    
por 30.03.2011 / 01:55