Nelle reti Internet Protocol versione 4 (IPv4), gli indirizzi broadcast sono valori speciali nella parte di identificazione dell’host di un indirizzo IP. Il valore all-ones è stato stabilito come indirizzo broadcast standard per le reti che supportano il broadcast. Questo metodo di utilizzare l’indirizzo all-ones è stato proposto per la prima volta da R. Gurwitz e R. Hinden nel 1982. L’introduzione successiva delle sottoreti e del Classless Inter-Domain Routing ha cambiato leggermente la situazione, in modo che l’indirizzo host all-ones di ogni sottorete è l’indirizzo broadcast di quella sottorete.
L’indirizzo broadcast per qualsiasi host IPv4 può essere ottenuto prendendo il complemento di bit (bitwise NOT) della subnet mask e poi eseguendo un’operazione bitwise OR con l’indirizzo IP dell’host. Una scorciatoia per questo processo è semplicemente prendere l’indirizzo IP dell’host e impostare tutti i bit nella porzione dell’identificatore di host dell’indirizzo (qualsiasi posizione di bit che contiene uno 0 nella subnet mask) a 1.
Come mostrato nell’esempio qui sotto, per calcolare l’indirizzo broadcast per trasmettere un pacchetto a un’intera subnet IPv4 usando lo spazio di indirizzi IP privato 172.16.0.0/12, che ha la subnet mask 255.240.0.0, l’indirizzo broadcast è calcolato come 172.16.0.0 bitwise ORed con 0.15.255.255 = 172.31.255.255.
Disposizione dell’indirizzo IP di rete per 172.16.0.0/12 | Forma binaria | Notazione decimale a punti |
---|---|---|
In grassetto sotto è mostrata la parte host (suffisso) dell’indirizzo IP, con il prefisso dell’indirizzo di rete che è il bit non in grassetto alla sua sinistra. Per ottenere l’indirizzo broadcast, i bit dell’host vengono impostati su tutti gli 1, mentre i bit del prefisso dell’indirizzo di rete rimangono intatti. | ||
1. Indirizzo IP di rete | 10101100.00010000.00000000.00000000 |
172.16.0.0 |
2. Subnet Mask, o semplicemente “Netmask” in breve (La ‘/12’ nell’indirizzo IP in questo caso significa che solo i 12 bit più a sinistra sono 1, come mostrato qui. Questo riserva i 12 bit di sinistra per l’indirizzo di rete (prefisso) e i bit di destra 32 - 12 = 20 per l’indirizzo dell’host (suffisso).) |
11111111.11110000.00000000.00000000 |
255.240.0.0 |
3. Complemento di bit (Bitwise NOT) della Subnet Mask | 00000000.00001111.11111111.11111111 |
0.15.255.255 |
4. Indirizzo Broadcast (Bitwise OR di 1. Indirizzo IP di rete e 3. Complemento di bit della maschera di sottorete. Questo rende l’indirizzo di broadcast il più grande indirizzo IP possibile (e l’indirizzo dell’host, dal momento che la parte dell’indirizzo dell’host è tutto 1s) per qualsiasi indirizzo di rete dato.) | 10101100.00011111.11111111.11111111 |
172.31.255.255 |
Esiste una definizione speciale per l’indirizzo IP 255.255.255.255. È l’indirizzo broadcast della rete zero o 0.0.0.0, che negli standard del protocollo Internet sta per questa rete, cioè la rete locale. La trasmissione a questo indirizzo è limitata per definizione, nel senso che non viene mai inoltrata dai router che collegano la rete locale ad altre reti.
I broadcasts sono usati dai client BOOTP e DHCP per trovare e inviare richieste ai loro rispettivi server.
Il protocollo Internet versione 6 (IPv6) non implementa questo metodo di broadcast, e quindi non definisce indirizzi broadcast. Invece, IPv6 usa l’indirizzamento multicast al gruppo multicast di tutti gli host. Nessun protocollo IPv6 è definito per usare l’indirizzo all-hosts, però; invece, inviano e ricevono su particolari indirizzi multicast link-local. Questo si traduce in una maggiore efficienza perché gli host di rete possono filtrare il traffico in base all’indirizzo multicast e non hanno bisogno di elaborare tutti i broadcast o i multicast all-hosts.