El uso de "0" en una dirección IP se definió en RFC923 y se transfirió en RFC sucesivas:
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.
Este ejemplo proporciona un host específico en la red actual (0.0.0.37) usando 0 en las porciones de red de la dirección, pero en realidad no aclara el caso opuesto (0 en la porción de host de la dirección). Sin embargo, como definió "0" como "esto".
A partir de ahí, no he podido encontrar ninguna documentación para hacer una copia de seguridad de mi memoria, pero en RFC1060 la dirección "0.0.0.0" estaba claramente documentada como "este host en esta red":
(a) {0, 0}
This host on this network. Can only be used as a source
address (see note later).
Como todos los ceros para la parte del host de la dirección significaban "este host", no se puede utilizar como una dirección de host en la red.
Lógicamente, se hizo referencia a una red mediante el uso de la parte de "red" de la dirección seguida de todos los ceros (es decir, sin bits de host en uso). No puedo encontrar documentación para hacer una copia de seguridad de mi memoria, pero creo que esto fue ampliamente aceptado mucho antes de RFC1060 .
Editar: Gracias a la mención de Ricky de RFC919 , encontré la referencia que había estado buscando que ilustra lo que recuerdo sobre la aceptación general de la dirección de red:
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"
Como comentario aparte, tocando la mención de Ricky de la subred cero y la subred de todos, creo que la primera documentación proviene de RFC950 que hace referencia a RFC943 (que obsoleto RFC923 arriba pero usa el mismo lenguaje para direcciones especiales):
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.