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


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


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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.