IPv4 to IPv6
IPv4 to IPv6 — ブラウザで動作します。入力は保存されません。
IPv4-mapped IPv6
値を入力してから「計算する」を押してください。
使い方
- IPv4アドレスを入力します。既定例は
192.0.2.1です。 - 変換するを押してIPv4-mapped表記を確認します。
- 結果のMappedは
::ffff:a.b.c.d点分形式です。 - 圧縮は
::ffff:の後ろに16進2グループ、hexは8グループを0で埋めた全体表記です。 - 不正なオクテットならエラーが出ます。リセットで例アドレスに戻ります。
ポイント
IPv4-mapped IPv6は、IPv6ソケットAPIがIPv4相手を表すときに使うアドレスです。先頭80ビットが0、次の16ビットが0xffff、最後の32ビットがIPv4です。点分で書くと ::ffff:192.0.2.1 のように後ろに十進4オクテットを付けることもあります。RFC 4291がこのマッピングを定義します。IPv6専用経路にこのアドレスを広告すると届かないことが多いです。ログ・ソケットデバッグ用表記として見るのが安全です。公認IPv6割当書に書かれたアドレスと混同しないでください。
この変換は表記だけ変えます。6to4、Teredo、NAT64、実際のデュアルスタック割当とは違います。ルータがこのアドレスをグローバルIPv6として案内すると仮定しないでください。圧縮・hexは同じ128ビットを違う書き方にしたものです。点分mappedは人が読みやすく、圧縮・全体hexは設定パーサやファイアウォールが16進だけ受けるときに使います。3欄は同じ128ビットの別文字列です。オクテットが0〜255を外れると変換を拒否します。
計算例
192.0.2.1 のMappedは ::ffff:192.0.2.1 です。圧縮は ::ffff:c000:201、hexは 0000:0000:0000:0000:0000:ffff:c000:0201 です。私設 10.0.0.1 も同じ規則で ::ffff:10.0.0.1 になります。8.8.8.8を入れるとMappedは ::ffff:8.8.8.8、圧縮は ::ffff:808:808 の形になります。127.0.0.1はループバックIPv4をマッピングした値で、IPv6ループバック ::1 とは違います。
よくある質問
IPv4 mapped IPv6アドレスとは何ですか?
IPv6プログラムがIPv4ホストを指すときに使う <code>::ffff:a.b.c.d</code> 形式です。文書プレフィックス192.0.2.0/24の例もそのままマッピングされます。デュアルスタックサーバーがIPv4クライアントをIPv6 APIで扱うとき、この形式がログに出ます。公認IPv6割当とは無関係です。
::ffff表記とhex表記の違いは何ですか?
値は同じです。Mappedは後ろ32ビットを点分で、圧縮は16進2グループで、hexは8グループを0パディングして見せます。ファイアウォールオブジェクトに16進だけ許されるならhex欄をコピーしてください。先行0がすべて付いていて比較しやすいです。
6to4やNAT64と同じですか?
違います。6to4は2002::/16、NAT64は合成プレフィックスを使います。このツールはmappedアドレスだけ作ります。2002:c000:201:: のような6to4はIPv4を別プレフィックスに埋めます。この画面の結果と混ぜて使わないでください。
IPv4マッピングは実際のデュアルスタックルーティングですか?
違います。ソケット・ログ表記の変換です。WANでIPv6になるわけではありません。実際のパケットがIPv6で出るにはインタフェースとルーティングがIPv6である必要があります。文字列だけ変えてもプロトコルは変わりません。
圧縮形式はいつ使いますか?
設定ファイル・ファイアウォールで16進表記を求めるときにコピーすればよいです。先行0が抜けたグループです。nginx・sysctl例で ::ffff: で始まるバインドを見るとき、この変換結果と対照すればよいです。
IPv6をIPv4に戻せますか?
この画面はIPv4→マッピングだけします。すでにmappedのアドレスの後ろ32ビットを読めば元のIPv4が分かります。後ろ32ビットを4オクテットに分ければ元のIPv4です。逆変換欄はないので手動で読めばよいです。
最終確認日: 2026-09-04