Considere o seguinte cenário:
Eu tenho 2 PCs (PC1 e PC2) que desejam transmitir ao mesmo tempo para o PC3 em um switch Ethernet full duplex. Vamos considerar que todas as portas estão na mesma VLAN, então o que acontece internamente no switch? Quem transmite primeiro para o PC3?
Eu li antes que o CSMA / CD foi usado, mas somente ele foi usado nas versões Ethernet anteriores que operavam em half-duplex, e cada porta do switch era um domínio de colisão e, se duas máquinas tentassem transmitir ao mesmo tempo, um O algoritmo foi executado para fornecer um tempo aleatório a cada computador para transmitir e resolver o problema das colisões. No entanto, em um switch full duplex, li que a possibilidade de uma colisão é eliminada; portanto, se 2 PCs tentarem transmitir ao mesmo tempo, o que acontece internamente no switch? O switch executa um algoritmo para escolher quem transmite primeiro?
fonte
Pergunta muito interessante que, infelizmente, não possui uma única resposta correta, pois a solução exata varia de hardware para hardware.
No entanto, esse problema é explicitamente discutido em Redes de computadores - um sistema de sistemas na página 231-232.
A essência da solução para o projeto chamada 'Sunshine Switch' é que você tem saídas de diagrama - batcher - trap - selector == banyan === e existe uma caixa de atraso que conecta o seletor ao batcher. E cito:
E mais:
fonte
Sempre haverá ALGUMA diferença em quando os dois computadores enviam para o terceiro, a menos que você esteja fazendo algo especial no comutador, ele será transmitido em uma base FIFO, para que o quadro que chegue primeiro seja transmitido primeiro.
fonte
Os comutadores encaminham um pacote por vez à medida que entram no comutador, sem colisões. Em seguida, o PC3 processará pacotes do PC1 e PC2, dividindo o tempo da CPU. A janelas e o buffer controlam o fluxo da comunicação.
fonte