In my networking class I learned that routers send data to all computers on the network, compared to switches that send data only to the MAC address that is needed.
Os switches funcionam na camada 2, que usa endereços MAC para identificar hosts. Um switch só pode mover frames para outro host nesse switch. Existe uma suposição de que quando você envia quadros para um endereço MAC, ele está no mesmo meio que você.
Os roteadores trabalham na camada 3, que usa endereços IP para identificar hosts.
IP pacotes são independentes de um meio; endereços não em intervalos privados devem ser alcançados globalmente. A camada 3 tem a noção de uma rede para permitir que ela não se importe com o meio real (ou qualquer coisa que a Camada 2 faça).
Obviamente, você tem vizinhos locais (no seu switch, por exemplo, ou associados ao seu AP sem fio) que podem ser acessados diretamente e, em seguida, os hosts com os quais você provavelmente deseja falar fora de sua rede. Assim, o conceito de um roteador ou encaminhador é necessário. Hosts na mesma rede podem acessar um ao outro diretamente, se eles não estiverem na mesma rede, então um ou mais roteadores precisam distribuir o tráfego entre as redes.
Assim, os roteadores não enviam dados para todos os computadores da rede, mas encaminham o tráfego entre as redes .
My question is if devices are connected to a router (like BT-Infinity) by ethernet cables, do the packets still travel to all devices on the network, or do they travel only to the MAC address that is needed?
Lembre-se de que a maioria dos "roteadores" de consumidores é, na verdade, uma combinação de um roteador e um switch.
Se várias máquinas estiverem conectadas a um comutador, todos os dispositivos receberão tráfego de uma fonte somente nessas condições:
-
A fonte enviou uma transmissão frame (a Camada 2 funciona em quadros, não em pacotes) - ou seja, um quadro para o Mac de destino FF: FF: FF: FF: FF: FF. Este é o broadcast MAC . Um pacote IP endereçado ao endereço de broadcast da rede pode causar isso.
-
O comutador não sabe em qual porta o MAC de destino está ativo. Por isso, inunda cada porta com o frame na tentativa de encontrá-lo. Ele vai lembrar em qual porta a resposta entra e, no futuro, enviará apenas tráfego para aquele destino MAC através dessa porta.
-
O switch esqueceu qual porta o MAC de destino está ativo. Ele fará a coisa de inundação novamente. Os switches podem lembrar de um número limitado de endereços MAC.
-
Nada do roteador tem qualquer importância.
Um hub não lembra os endereços MAC e sempre inunda todos os quadros em todas as portas. Mas os hubs não são de uso comum desde os 100Mbit de dias de rede, e acredito que apenas os roteadores muito antigos teriam hubs internos, ao contrário de um switch embutido. Se o seu roteador tiver portas LAN Gigabit, é 100% certo que não é um hub.
Então, basicamente, os quadros viajarão apenas para o MAC necessário, a menos que o switch não tenha visto o MAC antes ou o MAC de transmissão.