255.255.255.255 vs 192.168.1.255

18

Estamos tratando de depurar algunas aplicaciones que realizan transmisiones.

¿Cuál es la diferencia entre la dirección de difusión 255.255.255.255 y, por ejemplo, según lo informado por ifconfig, Bcast: 192.168.1.255

nos
fuente
Esta pregunta y respuestas explican.
Ron Maupin

Respuestas:

37

Una dirección de transmisión siempre es relativa a una red determinada, no hay transmisión en ; cuando tiene una red, puede calcular su dirección de transmisión reemplazando todos los bits del host con 1s; En pocas palabras, la dirección de difusión es la dirección con el número más alto que puede tener en la red, mientras que la dirección de red es la más baja (con todos los bits de host configurados en 0); Es por eso que no puede usar ninguno de ellos como direcciones de host reales: están reservados para este uso.

Si su red es 192.168.1.0/24, su dirección de red será 192.168.1.0 y su dirección de transmisión será 192.168.1.255.

Si su red es 192.168.0.0/16, su dirección de red será 192.168.0.0 y su dirección de transmisión será 192.168.255.255.

Y así...

255.255.255.255 es una dirección de transmisión especial, que significa "esta red": le permite enviar un paquete de transmisión a la red a la que está conectado, sin preocuparse realmente por su dirección; en esto, es similar a 127.0.0.1, que es una dirección virtual que significa "host local".

Más información aquí: http://en.wikipedia.org/wiki/Broadcast_address

Massimo
fuente
¿127.0.0.1 se considera una "dirección virtual"? Tengo entendido que es una dirección real y el RFC dice que debería apuntar a la interfaz virtual de bucle invertido. Sin embargo, he visto casos en los que un dispositivo realmente consulta mi servidor DNS para 127.0.0.1.
Belmin Fernández el
1
Quizás mi uso de la palabra "virtual" fue un poco simplificado, pero de hecho es una dirección reservada que no puede pertenecer a ninguna interfaz física y nunca debe verse fuera de un host; si algo le pregunta a su servidor DNS quién es 127.0.0.1, debe ejecutarse lo más rápido que pueda al aula de IP más cercana :-p
Massimo
"le permite enviar un paquete de difusión a la red a la que está conectado" ... ¿y si está conectado a varias redes? ¿Se envían paquetes de difusión a todos ellos?
Nathan Osman
11

Para agregar a lo que Massimo ha declarado en su respuesta:

255.255.255.255 se consideraría la dirección de difusión de la capa física, mientras que 192.168.1.255 se consideraría la dirección de difusión de la capa de red. ARP generaría una transmisión de capa física, mientras que NetBIOS generaría una transmisión de capa de red.

joeqwerty
fuente
11

En principio, 255.255.255.255 es la dirección de difusión "global", lo que significa que se supone que la pila IP debe enviar el paquete a todas las interfaces de red, y que los enrutadores configurados para reenviar las transmisiones deben enviarlas.

En la práctica, casi no hay enrutadores que envíen transmisiones, y muchas pilas simplemente envían una copia del paquete a la interfaz a la que apunta la ruta predeterminada.

La dirección de difusión de subred se usa para seleccionar una interfaz específica. En ambos casos, estos deben asignarse a la dirección de difusión de la capa de red (que sería FF: FF: FF: FF: FF: FF para Ethernet).

En general, usar 255.255.255.255 es una mala idea, ya que hay varias configuraciones donde la interfaz con la ruta predeterminada es exactamente la elección incorrecta. Seleccionar una interfaz explícitamente es mejor, pero debe hacerse con cuidado.

Mi otra sugerencia sería utilizar la multidifusión, si eso tiene sentido para su aplicación. Todavía se aplican las mismas advertencias que para el tráfico de difusión, pero esto permite que los hosts no interesados ​​identifiquen rápidamente sus paquetes, y permite a los administradores de red establecer reglas de reenvío específicas para su protocolo.

Simon Richter
fuente
1
Cuando busco 255.255.255.255, uno de los primeros resultados que aparece es RFC 919 . En ese RFC encontré esta oración: "La dirección 255.255.255.255 denota una transmisión en una red de hardware local, que no debe reenviarse " (énfasis mío). Entonces, cuando sugiera que los enrutadores podrían estar configurados para reenviar los paquetes, eso no es muy probable.
kasperd