De acordo com RFC 5735 :
0.0.0.0/8 - Addresses in this block refer to source hosts on "this" network. Address 0.0.0.0/32 may be used as a source address for this host on this network; other addresses within 0.0.0.0/8 may be used to refer to specified hosts on this network ([RFC1122], Section 3.2.1.3).
Então, olhando RFC 1122 :
0.0.0.0/32:
This host on this network. MUST NOT be sent, except as a source address as part of an initialization procedure by which the host learns its own IP address.
0.0.0.0/8 (i.e. any IP from 0.0.0.0 to 0.255.255.255):
Specified host on this network. It MUST NOT be sent, except as a source address as part of an initialization procedure by which the host learns its full IP address.
Então, @Spiff está certo, eles são usados exclusivamente nos procedimentos de inicialização antes de obter o endereço IP "real".
Mais tarde, a RFC 1122 afirma que:
There is a class of hosts (4.2BSD Unix and its derivatives, but not 4.3BSD) that use non-standard broadcast address forms, substituting 0 for 255 (as in 0.0.0.0 instead of 255.255.255.255)
para que os BSDs versão 4.2 realmente enviem broadcasts para 0.0.0.0
.
Atualização:
Encontrou outra informação:
0.0.0.0/32 is INADDR_ANY [snip] Another common use for 0.0.0.0/8 is to designate ifIndex numbers, as for the "Link Data" value in OSPF, and for some BSD-ish interfaces.
E aqui aparece novamente no BSD:
imr_interface should be set to INADDR_ANY to choose the default multicast interface, or the IP address of a particular multicast-capable interface if the host is multihomed. Since FreeBSD 4.4, if the imr_interface mem- ber is within the network range 0.0.0.0/8, it is treated as an interface index in the system interface MIB, as per the RIP Version 2 MIB Extension (RFC-1724).