A broadcast address is a network address used to transmit to all devices connected to a multiple-access communications network. A message sent to a broadcast address may be received by all network-attached hosts.
In Internet Protocol version 4 (IPv4) networks, broadcast addresses are special values in the host-identification part of an IP address. The all-ones value was established as the standard broadcast address for networks that support broadcast. This method of using the all-ones address was first proposed by R. Gurwitz and R. Hinden in 1982. The later introduction of subnets and Classless Inter-Domain Routing changed this slightly, so that the all-ones host address of each subnet is that subnet's broadcast address.
The broadcast address for any IPv4 host can be obtained by taking the bit complement (bitwise NOT) of the subnet mask and then performing a bitwise OR operation with the host's IP address. A shortcut to this process is to simply take the host's IP address and set all bits in the host identifier portion of the address (any bit positions which hold a 0 in the subnet mask) to 1.
As shown in the example below, in order to calculate the broadcast address to transmit a packet to an entire IPv4 subnet using the private IP address space 172.16.0.0/12, which has the subnet mask 255.240.0.0, the broadcast address is calculated as 172.16.0.0 bitwise ORed with 0.15.255.255 = 172.31.255.255.
|Network IP address breakdown for 172.16.0.0/12||Binary form||Dot-decimal notation|
|In bold below is shown the host part (suffix) of the IP address, with the network address prefix being the non-bold bits to its left. To obtain the broadcast address, the host bits get set to all 1's, while the network address prefix bits remain intact.|
|1. Network IP Address||
|2. Subnet Mask, or just "Netmask" for short (The '/12' in the IP address in this case means only the left-most 12 bits are 1s, as shown here. This reserves the left 12 bits for the network address (prefix) and the right
|3. Bit Complement (Bitwise NOT) of the Subnet Mask||
|4. Broadcast address (Bitwise OR of 1. Network IP Address and 3. Bit Complement of the Subnet Mask. This makes the broadcast address the largest possible IP address (and host address, since the host address portion is all 1s) for any given network address.)||
A special definition exists for the IP address 255.255.255.255. It is the broadcast address of the zero network or 0.0.0.0, which in Internet Protocol standards stands for this network, i.e. the local network. Transmission to this address is limited by definition, in that it is never forwarded by the routers connecting the local network to other networks.
Internet Protocol version 6 (IPv6) does not implement this method of broadcast, and therefore does not define broadcast addresses. Instead, IPv6 uses multicast addressing to the all-hosts multicast group. No IPv6 protocols are defined to use the all-hosts address, though; instead, they send and receive on particular link-local multicast addresses. This results in higher efficiency because network hosts can filter traffic based on multicast address and do not need to process all broadcasts or all-hosts multicasts.
Broadcast is possible also on the underlying data link layer in Ethernet networks. Frames are addressed to reach every computer on a given LAN segment if they are addressed to MAC address FF:FF:FF:FF:FF:FF. Ethernet frames that contain IP broadcast packages are usually sent to this address.
Ethernet broadcasts are used, among other purposes, by Address Resolution Protocol to resolve IP addresses to MAC addresses.
Internetwork Packet Exchange (IPX) allows broadcast. A packet with network number of FFFFFFFF is sent to all networks available. When the node number is specified as FFFFFFFFFFFF, the packet is intended to be received by all hosts in the network.
The AppleTalk protocol allows broadcast. When the node ID is specified as 255, a packet is sent to all networks available.