En las redes del Protocolo de Internet versión 4 (IPv4), las direcciones de difusión son valores especiales en la parte de identificación del host de una dirección IP. El valor all-ones se estableció como la dirección de difusión estándar para las redes que soportan la difusión. Este método de utilizar la dirección all-ones fue propuesto por primera vez por R. Gurwitz y R. Hinden en 1982. La introducción posterior de las subredes y el enrutamiento entre dominios sin clases cambió esto ligeramente, de modo que la dirección de host all-ones de cada subred es la dirección de difusión de esa subred.
La dirección de difusión para cualquier host IPv4 se puede obtener tomando el complemento de bits (bitwise NOT) de la máscara de subred y luego realizando una operación bitwise OR con la dirección IP del host. Un atajo para este proceso es simplemente tomar la dirección IP del host y poner todos los bits en la parte del identificador del host de la dirección (cualquier posición de bit que tenga un 0 en la máscara de subred) a 1.
Como se muestra en el siguiente ejemplo, para calcular la dirección de difusión para transmitir un paquete a toda una subred IPv4 utilizando el espacio de direcciones IP privadas 172.16.0.0/12, que tiene la máscara de subred 255.240.0.0, la dirección de difusión se calcula como 172.16.0.0 bitwise ORed con 0.15.255.255 = 172.31.255.255.
Desglose de la dirección IP de red para 172.16.0.0/12 | Forma binaria | Notación punto-decimal |
---|---|---|
En negrita se muestra la parte del host (sufijo) de la dirección IP, siendo el prefijo de la dirección de red los bits que no están en negrita a su izquierda. Para obtener la dirección de difusión, los bits del host se ponen a 1, mientras que los bits del prefijo de la dirección de red permanecen intactos. | ||
1. Dirección IP de red | 10101100.00010000.00000000.00000000 |
172.16.0.0 | 2. Máscara de subred, o simplemente «Netmask» para abreviar (El ‘/12’ en la dirección IP en este caso significa que sólo los 12 bits más a la izquierda son 1s, como se muestra aquí. Esto reserva los 12 bits de la izquierda para la dirección de red (prefijo) y los bits de la derecha 32 - 12 = 20 para la dirección del host (sufijo).) |
11111111.11110000.00000000.00000000 |
255.240.0.0 | 3. Complemento de bits (Bitwise NOT) de la máscara de subred | 00000000.00001111.11111111.11111111 |
0.15.255.255 | 4. Dirección de difusión (Bitwise OR de 1. Dirección IP de la red y 3. Complemento de bits de la máscara de subred. Complemento de bits de la máscara de subred. Esto hace que la dirección de difusión sea la mayor dirección IP posible (y la dirección de host, ya que la parte de la dirección de host es todo 1s) para cualquier dirección de red dada.) | 10101100.00011111.11111111.11111111 |
172.31.255.255 |
Existe una definición especial para la dirección IP 255.255.255.255. Se trata de la dirección de difusión de la red cero o 0.0.0.0, que en los estándares del Protocolo de Internet representa esta red, es decir, la red local. La transmisión a esta dirección está limitada por definición, en el sentido de que nunca es reenviada por los routers que conectan la red local a otras redes.
Las difusiones IP son utilizadas por los clientes BOOTP y DHCP para encontrar y enviar solicitudes a sus respectivos servidores.
El Protocolo de Internet versión 6 (IPv6) no implementa este método de difusión, y por lo tanto no define direcciones de difusión. En su lugar, IPv6 utiliza direcciones de multidifusión al grupo de multidifusión de todos los hosts. Sin embargo, ningún protocolo IPv6 está definido para utilizar la dirección all-hosts; en su lugar, envían y reciben en direcciones multicast link-local particulares. Esto se traduce en una mayor eficiencia, ya que los hosts de la red pueden filtrar el tráfico en función de la dirección multicast y no necesitan procesar todas las difusiones o multidifusiones de todos los hosts.