Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I read that this pool:

  • Means "these hosts" in "this network"
  • Is used for self-identification
  • Is used for broadcast messages

My questions are:

  • Where exactly these addresses can be found?
  • Which protocols use them?
share|improve this question
add comment

5 Answers

According to 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).

So, looking at 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.

So @Spiff is right, they're used exclusively in initialization procedures before obtaining the "real" IP Address.

But later on RFC 1122 states that:

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)

so BSDs version 4.2 actually send broadcasts to 0.0.0.0.

Update:

Found another piece of info:

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.

And here appears BSD again:

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).

share|improve this answer
    
To summarize: if only one host at a time needs an IP address, then 0.0.0.0/32 is used. If MANY hosts at a time need ip addresses, then 0.0.0.0/8 is used to DISTINCT them? –  rzr00 Feb 10 '12 at 7:54
    
@rz00 that's the way I understand it. –  Mr Shunz Feb 10 '12 at 8:19
1  
@rzr00: If many hosts at the same time are requesting IP addresses, they usually still use 0/32 fine -- they can still be distinguished by their link-level addresses (e.g. MAC addresses on Ethernet). –  grawity Feb 10 '12 at 15:20
    
@grawity Thanks for clarification. –  rzr00 Feb 10 '12 at 16:17
add comment

The all-zeroes address is used by clients that don't know their own address yet, such as BootP/DHCP clients that have just booted or just connected to a new network and haven't been assigned an IP address from the BootP/DHCP server yet.

I look at a lot of Ethernet LAN traffic while debugging problems, and that's the only place I can think of that I've ever seen 0.0.0.0/8 in use.

share|improve this answer
    
For computer that doesn't know its address, 0.0.0.0/32 is used. It is only 0.0.0.0 address. I'm talking about network where addresses from 0.0.0.1 to 0.255.255.254 could be used. –  rzr00 Feb 9 '12 at 20:35
add comment

<guess type="wild" reliability="low">

Before CIDR, IP addresses were separated into a "network" part and "host" part, for example, 1.2.3.4 would have 1.0.0.0 as a class-A network and 0.2.3.4 as the host number. It's possible that 0/8 was intended to allow for easy reassignment of a network number while keeping the host numbers in it static.

For example, a host could use 0.2.3.4 as the "source" address for some-or-other protocol, asking "I know I am host 2.3.4 in a class-A network, but I need someone to tell me my network number". These days, this is never done, since the length of the host part can vary a lot, and it's highly unlikely that the same host number will be available for use in the new network.

</guess>

share|improve this answer
1  
It makes sense, but it's still a guess. I'm asking about this network, because information about it are unclear. Everywhere they're writing that it's "reserved" or for "auto-identification" purpose, and I didn't see clear example where this pool is used. –  rzr00 Feb 10 '12 at 16:29
add comment

Where exactly these addresses can be found?

On networked machines that are currently negotiating for actual IP addresses.

Which protocols use them?

These addresses are used temporarily during ARP probes:

An ARP probe is an ARP request constructed with an all-zero sender IP address. The term is used in the IPv4 Address Conflict Detection specification (RFC 5227). Before beginning to use an IPv4 address (whether received from manual configuration, DHCP, or some other means), a host implementing this specification must test to see if the address is already in use, by broadcasting ARP probe packets.

share|improve this answer
add comment

Looks like it's reserved by IANA - the organisation that hands out IP addresses see 000/8 in the table. The table shows 000/8 to 255/8 that's 0.0.0.0/8 to 255.0.0.0/8

I think in Windows if ipconfig shows it, it means no ip address assigned, like ipconfig /release might or would cause it.

and in netstat -n whether it's 0.0.0.0 listed as Listening or a private address from RFC 1918 like 192.168.1.0 or if it's 127/8 they tell you who can connect, so if 0.0.0.0 then anybody, if 192.168.1.0 then only them, and if 127/8 then only local host.

As to what protocol, all I can say is IP since they're IP Addresses. But maybe some higher layer protocols do.. It's not for broadcasts. And it wouldn't identify any more than any othe ip adress or network, infact less since a computer on a network shouldn't have that IP address.

In windows when a computer has that IP it is not on a network. (correction, it would be on a network if there's a wired or wireless connection, and as grawity points out, they'd still have their MAC addresses)

http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml

Prefix Designation Date Whois Status Note
000/8 IANA - Local Identification 1981-09 RESERVED
001/8 APNIC 2010-01 whois.apnic.net ALLOCATED
002/8 RIPE NCC 2009-09 whois.ripe.net ALLOCATED
003/8 General Electric Company 1994-05 LEGACY
004/8 Level 3 Communications, Inc. 1992-12 LEGACY
005/8 RIPE NCC 2010-11 whois.ripe.net ALLOCATED

share|improve this answer
    
As I've mentioned in comment above, I'm talking about addresses from 0.0.0.1 to 0.255.255.254. They aren't in ipconfig output. –  rzr00 Feb 9 '12 at 20:35
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.