A broadcast address is a logical address at which all devices connected to a multiple-access communications network are enabled to receive datagrams. A message sent to a broadcast address is typically received by all network-attached hosts, rather than by a specific host.
In Internet Protocol Version 4 (IPv4) networks, broadcast addresses are formed by a distinguished value for the host identification field, traditionally called the rest field, of an IP address. The all-ones rest field was established in RFC 919 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 (IEN-212). 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 an IPv4 host can be obtained by performing a bitwise OR operation between the bit complement of the subnet mask and the host's IP address. In other words, take the host's IP address, and set to '1' any bit positions which hold a '0' in the subnet mask.
Example: For broadcasting 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 172.16.0.0 | 0.15.255.255 = 172.31.255.255.
A special definition exists for the IP broadcast 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), the next generation Internet Protocol, does not implement the 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 which are not listening for the particular multicast protocol(s) in use are not disturbed or interrupted, as they would be by broadcasts.
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 by Address Resolution Protocol to translate IP addresses to MAC addresses.
The Novell IPX protocol allows broadcast as well. When the network address is specified as FFFFFFFF, a packet is sent to all networks available. When the target node address is specified as FFFFFFFFFFFF, the packet is intended to be received by all hosts in the network.
The AppleTalk protocol allows broadcast as well. When the node ID is specified as 255, a packet is sent to all networks available.