IPv4 において、0.0.0.0 は全ビット が0 のIPアドレス であり、無効、不明、または適用外の対象を指定するために使用されるルーティング不可のメタアドレスである。このアドレスには、いくつかの特別な意味が割り当てられている。
ホストアドレスとしての0.0.0.0の用法には、以下のものがある。
「任意のIPv4アドレス」を意味する。サーバ を設定するとき(すなわちlisten するソケット をバインドするとき)に使用される。C言語 ではINADDR_ANYとしてマクロ 定義されている(bind (2)はインタフェースではなくアドレスにバインドする)。
ホストにまだアドレスが割り当てられていないときに、ホストが自分自身を指すのに使用するアドレス。DHCP で最初のDHCPDISCOVER パケットを送信するときなどに使用する。
DHCPによるアドレス取得に失敗したときに、ホストが自分自身に割り当てるアドレス(ホストのIPスタックが対応している場合)。最近のオペレーティングシステム では、これはAPIPA メカニズムに置き換えられている。
対象が利用できないことを明示的に指定する[ 1] 。
サーバにおいては、0.0.0.0は「ローカルマシン上の全てのIPv4アドレス」を意味する。ホストに192.168.1.1と10.1.2.1の2つのIPアドレスがあり、そのホストで実行されているサーバが0.0.0.0で待ち受けするように構成されている場合、どちらのIPアドレスに対しても到達可能になる。
デフォルトルートとして
ルーティング においては、通常、0.0.0.0はデフォルトルート のネットワークアドレス として0のサブネットマスク とともに使用される。これは"0.0.0.0/0"や"0.0.0.0 0.0.0.0"として表現される。
これは、IPv4アドレス空間内の全てのアドレスと一致し、ローカルルータに向けられている。
IPv6において
IPv6 では、全てが0のアドレスは通常"::"として表現される[ 2] 。
脚注
^ “Cable Device Management Information Base for Data-Over-Cable Service Interface Specification (DOCSIS) Compliant Cable Modems and Cable Modem Termination Systems ”. 2019年3月6日閲覧。 “If 0.0.0.0, either syslog transmission is inhibited, or the Syslog server address is not an IPv4 address.”
^ “IPv6 Addressing ”. 2008年4月18日時点のオリジナル よりアーカイブ。2015年6月18日閲覧。
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."
外部リンク