0.0.0.0
表示
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”. 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."