windows – なぜローカルホストが 127.0.0.0.1 ではなく ::1 になっているのですか?
私のローカルホスト(Windows Vista上)に対してPingコマンドを使うと、127.0.0.0.1と表示されません
C:\Windowssystem32>ping localhost ::1から32バイトのデータでGIGA[::1]をpingしています
その代わり、::1
(コロンと1のペア)と表示されます。これはどのような表記なのでしょうか?また、なぜ127.0.0.0.1と表示されないのでしょうか?
c:\windows\system32\drivers\etc\hosts
のファイルを見てみるとこんな感じです
::1 localhost 127.0.0.1 localhost
Greggが示唆しているように、私はすでにこの順序を変更してみました
127.0.0.1 localhost ::1 localhost
予想された結果は、127.0.0.1
が::1
よりも優先されるということでしたが、そうではありませんでした
今わかったことですが、これは代わりにプレフィックスポリシーを追加することで行うことができます。cmd に IP バージョン 4 を強制的に使用させるには、オプション -4
を使用することができます。Windows が常に IP バージョン 4、IP バージョン 6、またはそのコンポーネントの一部を強制的に使用しないようにするには、ネットワークアダプタのプロパティダイアログや レジストリ を微調整することで無効にすることができます
66 Samir 2013-10-31
これは、Windows Vistaや新しいWindowsでのpingは、利用可能な場合、デフォルトでIPv6を使用しているためです。::1
はIPv6ループバックアドレスの短縮表記で、IPv4ループバック127.0.0.1
に相当します
省略された::1
のIPv6アドレスの完全表記は0000:0000:0000:0000:0000:0000:0000:0001
です
ping
に強制的にIPv4を使用させたい場合は、IPv4アドレスを明示的に指定するか、-4
オプションを使用することができます
ping 127.0.0.1
ping -4 localhost
全体的にIPv6/IPv4環境設定を変更したい場合は、Windows 7のIPv4対IPv6優先度を確認することができます
詳細については、localhost の記事も参照してください
91 pabouk 2013-10-31
[::1]
はIPv6のループバックアドレスの略です。何らかの理由でIPv6を無効にしたい場合(私はお勧めしませんが、それを望む具体的な理由があるかもしれません)、以下のようにすればよいだけです(Windows 7の場合)
- スタート、コントロールパネル
- ネットワークと共有
- アクティブネットワーク、ローカルエリア接続、プロパティを表示します
- インターネット ネットワーク プロトコル バージョン 6 の横のチェックボックスをオフにします
スクリーンショットをご希望の場合は、Microsoftからのガイドがこちらにあります。リンク
さらに、プレゼンテーションのIPv6に関するウィキペディアのページを見てみるのもいいかもしれません
ローカルホスト(ループバック)アドレス0:0:0:0:0:0:0:1とIPv6不特定アドレス0:0:0:0:0:0:0:0:0は、それぞれ ::1 と :: に短縮されます。この2コロン置換は、複数回行うと曖昧な表現になってしまうため、1つのアドレスに1回しか適用できません
要約すると、これは基本的には1から100までのすべての数字を書き出したいのと同じですが、一つ一つの数字を個別に書き出すのではなく、代わりに1, 2, 3...99, 100
や1-100
と書きます
18 Sawta 2013-10-31