Jump to content

0.0.0.0

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Johnuniq (talk | contribs) at 00:05, 5 January 2017 (Reverted edits by 173.216.210.9 (talk) to last version by MZMcBride). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In the Internet Protocol Version 4, the address 0.0.0.0 is a non-routable meta-address used to designate an invalid, unknown or non-applicable target. To give a special meaning to an otherwise invalid piece of data is an application of in-band signaling.

In the context of servers, 0.0.0.0 means "all IPv4 addresses on the local machine". If a host has two IP addresses, 192.168.1.1 and 10.1.2.1, and a server running on the host listens on 0.0.0.0, it will be reachable at both of those IPs.

In the context of routing, 0.0.0.0 usually means the default route, i.e. the route which leads to "the rest of" the internet instead of somewhere on the local network.

Uses include:

  • The address a host claims as its own when it has not yet been assigned an address. Such as when sending the initial DHCPDISCOVER packet when using DHCP.
  • The address a host assigns to itself when address request via DHCP has failed, provided the host's IP stack supports this. This usage has been replaced with the APIPA mechanism in modern operating systems.
  • A way to specify "any IPv4-host at all". It is used in this way when specifying a default route.
  • A way to explicitly specify that the target is unavailable.[1]
  • A way to specify "any IPv4 address at all". It is used in this way when configuring servers (i.e. when binding listening sockets). This is known to TCP programmers as INADDR_ANY. (bind(2) binds to addresses, not interfaces.)

In IPv6, the all-zeros address is typically represented by "::". [2]

References

  1. ^ "Cable Device Management Information Base for Data-Over-Cable Service Interface Specification (DOCSIS) Compliant Cable Modems and Cable Modem Termination Systems". If 0.0.0.0, either syslog transmission is inhibited, or the Syslog server address is not an IPv4 address.
  2. ^ Das, Kaushik. "IPv6 Addressing". Retrieved 18 June 2015.
  • In RFC 1122 the notation "{0,0}" is used to designate 0.0.0.0/x (x being anything from 0 to 32). Quote: "{ 0, 0 } 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."

External links