ご存知のとおり、 の IPv4 アドレスは(ループバック アドレス)localhost
です。一部の広告ホストをブロックする必要があるのですが、127.0.0.1
IPv6 アドレスの目的localhost
と用途は何ですか。0.0.0.0
ベストアンサー1
ご存知のとおり、 IPv4 アドレスは(ループバック アドレス)
localhost
です。127.0.0.1
実際、すべての IPv4 アドレスは127.0.0.0/8
ループバック アドレスです。
IPv6 では、ループバック範囲の直接的な類似物は です::1/128
。したがって、::1
(長い形式0:0:0:0:0:0:0:1
) は唯一の IPv6 ループバック アドレスです。
ホスト名は通常またはlocalhost
に解決されますが、ループバック アドレスではない IP アドレスにバインドされているケースを見たことがあります。これは少しおかしいですが、時々そうする人がいます。127.0.0.1
::1
「これはおかしい」と言うのは、これを行うとアプリケーションの想定が崩れる可能性があるからです。たとえば、アプリケーションがループバック IP の逆引きを試みても、期待どおりの結果が得られない可能性があります。最悪の場合、アプリケーションが誤って機密性の高いトラフィックを安全でないネットワーク経由で送信してしまう可能性があります...ただし、おそらくそれを「実現」するには他のミスも犯す必要があります。
...一部の広告ホストをブロックする必要があるためです。
それが何を意味しているのか分かりません。
ただし、ブロッキングは0.0.0.0
意味がありません。 IPv4 ではルーティングされません。 IPv6 で同等のものはアドレス::
(長い形式0:0:0:0:0:0:0:0
) です...これもルーティングされません。
とアドレス0.0.0.0
は::
「任意のアドレス」を意味するために予約されています。そのため、たとえばWebサービスを提供するプログラムは練る0.0.0.0
ホストの IPv4 アドレスのいずれかを介して HTTP 接続を受け入れるには、ポート 80を使用します。これらのアドレスは、IP パケットの送信元アドレスまたは宛先アドレスとしては有効ではありません。
ループバック IP アドレスをブロックすることも逆効果ですが、無意味ではありません。
最後に、いくつかのコメントでは、::/128
versus ::/0
versusについて質問されていました::
。
この違いは何でしょうか?
厳密に言えば、最初の2つはCIDR表記であり、IPv6アドレスではありません。実際には、範囲IP アドレスの CIDR は、IP アドレスと、ネットマスクのビット数を指定する追加の数字で構成されます。この 2 つを組み合わせてアドレスの範囲を指定します。つまり、特定のアドレスからマスクされたビットを無視して形成されるアドレスのセットです。
それで:
::
IPv6アドレスのみを意味します0:0:0:0:0:0:0:0
::/128
0:0:0:0:0:0:0:0
128 ビットのネットマスクを意味します。これにより、1 つのアドレスだけを含むネットワーク範囲が提供されます。::/0
0:0:0:0:0:0:0:0
0 ビットのネットマスクを意味します。これにより、2 128個のアドレスを含むネットワーク範囲が提供されます。つまり、これは IPv6 アドレス空間全体です。
詳細については、IPv4 および IPv6 アドレス、および CIDR 表記に関する Wikipedia のページをご覧ください。