L'uso di "0" in un indirizzo IP è stato definito in RFC923 e riportato in RFC successivi:
Special Addresses:
In certain contexts, it is useful to have fixed addresses with
functional significance rather than as identifiers of specific
hosts. When such usage is called for, the address zero is to be
interpreted as meaning "this", as in "this network". The address
of all ones are to be interpreted as meaning "all", as in "all
hosts". For example, the address 128.9.255.255 could be
interpreted as meaning all hosts on the network 128.9. Or, the
address 0.0.0.37 could be interpreted as meaning host 37 on this
network.
Questo esempio fornisce un host specifico sulla rete corrente (0.0.0.37) usando gli 0 nelle porzioni di rete dell'indirizzo, ma in realtà non chiarisce il caso opposto (0 nella porzione dell'host dell'indirizzo). Tuttavia, poiché ha definito "0" come "questo".
Da lì, non sono stato in grado di trovare alcuna documentazione per il backup della mia memoria, ma in RFC1060 l'indirizzo "0.0.0.0" è stato chiaramente documentato come "questo host su questa rete":
(a) {0, 0}
This host on this network. Can only be used as a source
address (see note later).
Poiché tutti gli zero per la parte host dell'indirizzo significavano "questo host", è inutilizzabile come indirizzo host sulla rete.
Logicamente, una rete è stata referenziata usando la parte "rete" dell'indirizzo seguito da tutti gli zeri (cioè nessun bit host in uso). Non riesco a trovare la documentazione per il backup della mia memoria, ma credo che questo sia stato ampiamente accettato molto prima di RFC1060 .
Modifica: grazie alla menzione di Ricky su RFC919 , ho trovato il riferimento che stavo cercando che illustra ciò che ricordo sull'accettazione generale dell'indirizzo di rete:
However, as a notational convention, we refer to
networks (as opposed to hosts) by using addresses with zero fields.
For example, 36.0.0.0 means "network number 36"
Per inciso, toccando la menzione di subnet zero di Ricky e la sottorete di tutti, credo che la prima documentazione di ciò provenga da RFC950 che fa riferimento a RFC943 (che sopra aveva obsoleto RFC923 ma utilizza la stessa lingua per indirizzi speciali):
It is useful to preserve and extend the interpretation of these
special addresses in subnetted networks. This means the values
of all zeros and all ones in the subnet field should not be
assigned to actual (physical) subnets.
In the example above, the 6-bit wide subnet field may have
any value except 0 and 63.
Please note that there is no effect or new restriction on the
addresses of hosts on non-subnetted networks.