O CSMA/CD foi idealizado para redes que utilizam barramento. As redes de barramento possuem a característica de que se um host transmite todos os outros hosts do barramento devem somente ouvir. Dessa forma há uma competição pelo meio (barramento). O algoritmo CSMA/CD visa controlar essa competição de forma a não impactar no desempenho da rede.
O algoritmo define que o host, antes de transmitir, deve ouvir o meio para constatar que ele não está em utilização. Após verificar se há ou não alguém transmitindo ele toma a decisão de aguardar ou seguir para o próximo passo. Esse algoritmo tem dois pontos muito importantes. O sub-algoritmo de colisão e a questão de ouvir durante a transmissão.
Quando o host está transmitindo ele ouve o meio para certificar-se que “o que está no meio é o que ele enviou”. Se por acaso houver uma colisão ele irá ouvir algo diferente do que ele transmitiu, detectando assim, uma colisão. “Mas como pode haver uma colisão se todos ouvem o meio antes de transmitir?”. A transmissão se propaga pelo meio com um certo retardo assim, a transmissão de um host na porta A de uma cabo pode levar um certo tempo para chegar na ponta B. Dessa forma se dois hosts distantes tentarem transmitir ao mesmo tempo, ou quase ao mesmo tempo, pode haver colisão.
O ponto mais interessante desse algoritmo é o sub-algoritmo de colisão. Esse sub-algoritmo define se esse será um algoritmo CSMA/CD ou CSMA/CA. Em um algoritmo CSMA/CD esse sub-algoritmo ira gerar um sinal de JAM (de 32 bits) durante um certo. Esse sinal de JAM serve para avisar a todos os hosts desse barramento que houve uma colisão e que eles devem parar de transmitir. Os causadores da colisão, origem e destino, irão esperar um tempo aleatório definido pelo algoritmo de backoff. Após o tempo aleatório eles tentarão transmitir novamente.
Nenhum comentário:
Postar um comentário