Ok, entendo como as máscaras de sub-rede são usadas para dividir uma rede em sub-redes, mas minha pergunta é: por que todos os computadores da rede precisam conhecer a máscara de sub-rede e não apenas o roteador?
bem, os dispositivos que as pessoas chamam de roteadores geralmente não são apenas roteadores. Portanto, as pessoas às vezes usam termos como NAPT Router, Home Router ou Consumer Router, para sugerir que não é puramente um roteador. Para deixar claro que não são apenas roteadores, esses dispositivos podem executar o NAPT (que não é roteamento) e possuem um switch integrado (um switch faz a ponte, o que não está roteando) - distinções entre um switch e uma ponte não são tão bem definidos - pode-se dizer que uma ponte geralmente possui 2 portas e conecta diferentes meios de rede (por exemplo, ethernet e não ethernet), enquanto um switch tem várias portas e o mesmo meio de rede). Um switch faz uma ponte.
Se o switch fosse separado do "roteador", seria mais claro. Quando o endereço IP estiver na mesma rede, o pacote será direcionado para desce o cabo até o próximo ponto fisicamente, que é o comutador e, em última análise, é destinado a outro computador na rede (a menos que fosse um comutador gerenciado e você estivesse se conectando ao comutador, por exemplo, telnet ou http e o comutador tivesse seu próprio IP ) e, como o pacote não é destinado a outra rede, ele não alcançará o roteador. Quando é destinado a um computador em uma rede diferente, é claro que ainda vai para o switch, mas continua depois para o roteador (o switch direcionou o pacote para o roteador e o endereço MAC de destino do pacote que chega ao o switch seria o endereço MAC do roteador) e a rota o encaminharia para a interface correta do roteador.
Com essas coisas normalmente chamadas de roteadores, que possuem comutadores dentro deles (como não os roteadores Cisco / Juniper de estilo profissional), o comutador fica dentro. Mas esse é apenas o local do comutador. Ainda é quando o IP está ativado Na mesma rede, o pacote é endereçado ao switch e não ao roteador. E vai apenas para o switch dentro do roteador e não chega ao roteador.
Eu podia entender, se cada computador estivesse fisicamente conectado um ao outro com um fio,
o que você quer dizer aqui .. Se todos os computadores em uma rede inteira estivessem fisicamente conectados com um fio, acho que você não precisaria de um switch ou roteador. O que você está descrevendo parece um pouco com a Ethernet original ... e se todos estiverem conectados com um fio, provavelmente não seria uma rede tão grande. De qualquer forma, não será um fio como você está acostumado. Teria computadores conectados ao longo do caminho com "torneiras". Então eu não sei por que você acabou de lançar essa frase.
mas todos os pacotes precisam passar pelo roteador de qualquer maneira.
então você quer deixar de lado a idéia de todos os computadores conectados a um fio sem roteador.
E não, mesmo em sua casa, eles não passam pelo roteador toda vez. Mesmo com o seu "roteador doméstico", chame-o de uma caixa de internet. Eles vão para o interruptor nele.
Digamos que eu tenho um computador em uma rede 192.168.0.0/255.255.255.0, que possui o IP 192.168.0.1.
Se esse computador tentar acessar um computador fora da sub-rede, digamos 192.168.1.1, ele transmite a mensagem ao roteador,
para o switch, em seguida, a partir do switch que vai para o roteador
o roteador identifica que o IP está fora do intervalo de IP da sub-rede e, em vez de transmiti-lo na sub-rede, transmite-o para a rede à qual está conectado (talvez outro roteador).
bem, o roteador identifica para qual interface de rede é. Ele envia de uma interface para outra interface. Uma distinção - além de qual interface, seria se uma rede está diretamente conectada ou não. Poderia enviar para um switch e depois para um computador. Ou poderia enviar para um computador. Ou, se a rede não estiver conectada diretamente, ela será direcionada para outro roteador.
e sua última frase foi
transmite a mensagem para o roteador,
e então o que, você de repente decidiu parar de escrever?
o roteador identifica que o IP está fora do intervalo de IP da sub-rede e, em vez de transmiti-lo na sub-rede, transmite-o para a rede à qual está conectado (talvez outro roteador).
bem, eu não colocaria assim. Cada interface no roteador tem um intervalo de IP diferente.
Mas, com o seu roteador consumidor ou roteador doméstico, o que acontece é que é como um roteador com duas interfaces, uma do seu lado possui um switch conectado a ele. E as várias portas são portas do switch.
Portanto, se você pensa em termos de parte do roteador, não é como se isto estivesse dentro da sub-rede e fora, porque há potencialmente muitas redes. Há um em cada interface. E o roteador não o estará transmitindo de volta para a mesma rede de onde veio. A razão pela qual alcançou o roteador em primeiro lugar é justamente porque o switch (que alcançou primeiro) viu o endereço MAC e, portanto, viu que esse não é o endereço MAC do roteador.
O computador que enviou o pacote verificará se o IP de destino do pacote está em sua própria rede ou na mesma rede e, com base nisso, escolherá o endereço MAC relevante. O endereço MAC do computador ao qual está destinado (ou seja, se o computador estiver na mesma rede). Ou (se o computador estiver em outra interface do roteador), será o endereço MAC do roteador. Eu acho que isso pode responder diretamente ao título da sua pergunta, por que o computador precisaria conhecer a máscara de sub-rede .. No sistema TCP / IP, como é .. é assim que funciona, o computador escolhe a camada relevante 2 endereço, por exemplo, para Ethernet, o endereço MAC.