IPv6アドレスの省略⇄展開・正規化(RFC 5952)

IPv6アドレスの省略形を8ブロック4桁の完全展開に、完全形をRFC 5952準拠の正規表記に相互変換。IPv4射影アドレス(::ffff:192.0.2.1)やプレフィックス表記(/64など)にも対応し、不正な入力はエラー表示する。

完全展開(8ブロック・4桁)
-
正規表記(RFC 5952)
-
プレフィックス長
-
IPv4射影表記
-
2進数表示(16bitごと)
-

:: による省略は1箇所のみ有効です。完全形に展開したあと、最長のゼロ連続ブロックを :: に置き換え、各ブロックの先頭ゼロを取り除いた小文字表記が RFC 5952 の正規形です。ゼロブロックが1個だけの場合は :: に置き換えません(RFC 5952 の推奨に準拠)。

使い方

  1. IPv6アドレスを入力する。省略形(::使用)でも完全形でもよく、/64のようなプレフィックス長を付けても構わない。
  2. 8ブロックすべてを4桁の16進数で書いた完全展開と、RFC 5952に準拠した正規表記(推奨される省略形)が同時に表示される。
  3. ::ffff:192.0.2.1のようなIPv4射影アドレスは、末尾32ビットを自動でドット10進表記に変換した専用欄にも表示される。

仕組み・計算式

IPv6アドレスは128ビットを16ビットずつ8ブロックに分け、コロン区切りの16進数で表記する(RFC 4291)。連続するゼロブロックは::で1回だけ省略できる。本ツールはまず入力を8ブロックの完全形に展開し、そこから正規表記を組み立てる。

正規表記の生成規則はRFC 5952に基づく。要点は次の3つ。(1) 各ブロックの先頭のゼロは取り除く。(2) 最も長く連続するゼロブロックを::に置き換える。同じ長さの連続が複数ある場合は最も左側を優先する。(3) ゼロブロックが1個だけの連続は::に置き換えない(省略対象は2ブロック以上)。さらに英字は小文字に統一する。IPv4射影アドレス(::ffff:0:0/96)はRFC 5952の5節が末尾32ビットをドット10進で表記する混在形式を推奨しているため、正規表記欄でもその形式を採用している。

現場の落とし穴:::は128ビットのアドレス全体で1回しか使えない。2001:db8::1::2のように2回使うとどのブロックを省略したか一意に定まらず無効だが、手作業で書き写す際に見落としやすい。また、ゼロブロックが1個だけの場合に::を使うかはツールにより表記が揺れる部分で、RFC 5952は省略しないことを推奨するが、省略した表記も技術的には有効なIPv6アドレスとして解釈される。ログの突合や重複排除で文字列比較する場合は、正規化してから比較しないと同一アドレスが別物として扱われることがある。

よくある質問

Q. ::を使わずに書かれた完全形のアドレスも入力できますか?

A. できる。8ブロックすべてが揃っていれば、::の有無にかかわらず正しく解析する。

Q. プレフィックス(/64など)を付けるとネットワークアドレスに丸めてくれますか?

A. 丸めない。プレフィックス長はそのまま表示に引き継ぐだけで、ホスト部を含めたアドレス全体を展開・正規化する。

Q. IPv4射影アドレス以外のIPv4互換表記も扱えますか?

A. 末尾がIPv4のドット10進表記であれば展開はできるが、正規表記でのドット混在表示は::ffff:0:0/96のIPv4射影アドレスの場合のみ適用している。

Q. 不正なアドレスを入力するとどうなりますか?

A. ::の2回使用、ブロック数の過不足、16進数として無効な文字などを検出した場合はエラーメッセージを表示し、結果欄は空になる。

関連ツール

最終更新・根拠の確認日: 2026-09-10 · カテゴリ: ネットワーク