255.255.255.255 vs 192.168.1.255

18

Estamos tentando depurar alguns aplicativos que executam transmissão.

Qual é a diferença entre o endereço de broadcast 255.255.255.255 e como, por exemplo, relatado por ifconfig, Bcast: 192.168.1.255

n
fonte
Esta pergunta e respostas explicam.
Ron Maupin

Respostas:

37

Um endereço de transmissão é sempre relativo a uma determinada rede, não há transmissão por si só ; quando você tem uma rede, pode calcular seu endereço de transmissão substituindo todos os bits do host por 1s; Simplificando, o endereço de broadcast é o endereço mais alto que você pode ter na rede, enquanto o endereço de rede é o mais baixo (com todos os bits do host configurados como 0s); é por isso que você não pode usar nenhum deles como endereços de host reais: eles são reservados para esse uso.

Se sua rede for 192.168.1.0/24, seu endereço de rede será 192.168.1.0 e seu endereço de transmissão será 192.168.1.255.

Se sua rede for 192.168.0.0/16, seu endereço de rede será 192.168.0.0 e seu endereço de transmissão será 192.168.255.255.

E assim por diante...

255.255.255.255 é um endereço de broadcast especial, que significa "esta rede": permite enviar um pacote de broadcast para a rede à qual você está conectado, sem se importar com o endereço; nisso, é semelhante ao 127.0.0.1, que é um endereço virtual que significa "host local".

Mais informações aqui: http://en.wikipedia.org/wiki/Broadcast_address

Massimo
fonte
127.0.0.1 é considerado um "endereço virtual"? Meu entendimento é que é um endereço real e a RFC diz que deve apontar para a interface de loopback virtual. No entanto, vi casos em que um dispositivo realmente consulta meu servidor DNS para 127.0.0.1.
Belmin Fernandez
11
Talvez meu uso da palavra "virtual" tenha sido uma simplificação excessiva, mas esse é realmente um endereço reservado que não pode pertencer a nenhuma interface física e nunca deve ser visto fora de um host; se algo perguntar ao servidor DNS quem é o 127.0.0.1, ele deve ser executado o mais rápido possível para a sala de aula IP mais próxima :-p
Massimo
"permite enviar um pacote de transmissão para a rede à qual você está conectado" ... e se você estiver conectado a várias redes? Os pacotes de transmissão são enviados para todos eles?
Nathan Osman
11

Para adicionar ao que Massimo declarou em sua resposta:

255.255.255.255 seria considerado o endereço de broadcast da camada física, enquanto 192.168.1.255 seria considerado o endereço de broadcast da camada de rede. O ARP geraria uma transmissão da camada física, enquanto o NetBIOS geraria uma transmissão da camada de rede.

joeqwerty
fonte
11

Em princípio, 255.255.255.255 é o endereço de transmissão "global", o que significa que a pilha IP deve enviar o pacote para todas as interfaces de rede e os roteadores configurados para encaminhar difusões devem enviá-los.

Na prática, quase não há roteadores encaminhando difusões e muitas pilhas simplesmente enviam uma cópia do pacote para a interface para onde a rota padrão aponta.

O endereço de broadcast da sub-rede é usado para selecionar uma interface específica. Nos dois casos, eles devem ser mapeados para o endereço de broadcast da camada de rede (que seria FF: FF: FF: FF: FF: FF: FF para Ethernet).

Em geral, usar 255.255.255.255 é uma péssima ideia, pois existem várias configurações nas quais a interface com a rota padrão é exatamente a escolha errada. Selecionar uma interface explicitamente é melhor, mas precisa ser feito com cuidado.

Minha outra sugestão seria usar multicast, se isso faz sentido para o seu aplicativo. As mesmas ressalvas que o tráfego de broadcast ainda se aplicam, mas isso permite que hosts desinteressados ​​identifiquem rapidamente seus pacotes e permite que os gerentes de rede configurem regras de encaminhamento específicas para o seu protocolo.

Simon Richter
fonte
11
Quando procuro 255.255.255.255, um dos primeiros resultados que aparece é o RFC 919 . Na RFC, encontrei esta frase: "O endereço 255.255.255.255 denota uma transmissão em uma rede de hardware local, que não deve ser encaminhada " . (Ênfase minha) Portanto, quando você sugere que os roteadores possam estar configurados para encaminhar os pacotes, isso não é muito provável.
kasperd