Colisão
Na ciência da computação, "colisão" tem dois significados diferentes. Um ocorre quando dois ou mais conjuntos de dados são modificados e produzem o mesmo valor resultante. O outro é específico das redes e acontece quando dois dispositivos transmitem dados ao mesmo tempo.
1. Colisão de dados
Uma colisão de dados pode ocorrer ao aplicar hashing aos dados ou ao calcular uma soma de verificação. Uma função hash reduz os dados a um valor menor e costuma ser usada em compressão e criptografia. Embora a operação de hash possa economizar espaço em disco, é possível que duas entradas diferentes produzam a mesma saída. Várias funções hash podem ser usadas para evitar valores duplicados quando ocorre uma colisão.
Da mesma forma, as somas de verificação não têm garantia de ser únicas, pois são menores que os dados originais. Embora a probabilidade geralmente seja muito baixa, dois conjuntos de dados diferentes podem, teoricamente, produzir o mesmo valor de soma de verificação. Um algoritmo bem projetado deve minimizar esse risco.
2. Colisão de rede
Uma colisão de rede ocorre quando dois ou mais dispositivos tentam transmitir dados por uma rede ao mesmo tempo. Por exemplo, se dois computadores em uma rede Ethernet enviarem dados no mesmo momento, os dados vão "colidir" e a transmissão não será concluída. É por isso que a maioria dos protocolos de rede confirma que os pacotes foram recebidos antes de transmitir dados adicionais.
Switches e roteadores podem reduzir as colisões verificando se uma linha de transmissão está livre ou "em uso" antes de transmitir dados. Um método comum é o CSMA/CD, ou "Carrier-sense multiple access with collision avoidance". Embora seja possível reduzir as colisões, elas não podem ser completamente evitadas. Por exemplo, se dois sistemas determinarem que uma linha está livre e transmitirem dados exatamente ao mesmo tempo, poderá ocorrer uma colisão. Isso pode ser resolvido retransmitindo os dados após um atraso aleatório.
Teste seus conhecimentos