IPv6 展開 / 圧縮
IPv6 アドレスはすべて 128 ビットで、16 進数 4 桁のグループ 8 個で表記します。しかし完全な形を見ることはほとんどありません。グループ先頭のゼロは省略でき、連続するオールゼロのグループの並び 1 か所を「::」で置き換えられる、という 2 つの短縮規則があるためです。RFC 5952 は唯一の正規テキスト形式(小文字の 16 進、先頭ゼロなし、「::」は最長の — 同長なら最も左の — ゼロ列を圧縮し、単一グループには使わない)を定めており、このツールの圧縮形出力はそれに正確に従います。 完全展開・混在・最大圧縮のどれでも、有効な表記を貼り付ければパーサーがリアルタイムに 5 つの表現へ正規化します: ファイアウォールや ACL、アドレスを文字列として比較するスクリプトが必要とする 8 グループの完全展開形、RFC 5952 準拠の圧縮形、コロンなしの 32 桁 16 進文字列、PTR(逆引き DNS)レコードに使うニブル逆順の ip6.arpa 名、そして 16 ビットずつ区切った生のバイナリ — サブネット境界を目で確かめるのに便利です。パースはすべてブラウザー内で行われ、アドレスは端末のローカルストレージにのみ保存されるため、再訪問時にも残っています。
- 展開形2001:0db8:0000:0000:0000:8a2e:0370:7334
- 圧縮形2001:db8::8a2e:370:7334
- Hex20010db80000000000008a2e03707334
- 逆引き DNS4.3.3.7.0.7.3.0.e.2.a.8.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa
- バイナリ0010000000000001:0000110110111000:0000000000000000:0000000000000000:0000000000000000:1000101000101110:0000001101110000:0111001100110100
圧縮は RFC 5952 に従う — 最長のゼログループ連続が :: になる。
使い方
- IPv6 アドレスを任意の表記で貼り付けるか入力します — :: で圧縮した形、完全展開形、その中間のいずれでも。
- 入力と同時に 5 つの表現が更新されます。無効なアドレスならエラーが表示されます。
- 各行の横のコピーボタンで必要な形式をコピーします。
- 貼り付ける前にプレフィックス長(/64)とゾーン ID(%eth0)は取り除いてください — 素のアドレスだけがパースされます。
よくある質問
- IPv6 アドレスの :: は何を意味しますか?
- 1 つ以上の連続したゼロのグループを表します。アドレスにつき最大 1 回しか使えません。2 回以上あると、それぞれの :: が何グループを隠しているのか判別できないからです。RFC 5952 はさらに、最長のゼロ列を — 同じ長さなら最も左の列を — 置き換えるよう求めています。
- なぜ単一のゼログループは :: に圧縮されないのですか?
- RFC 5952 の 4.2.2 節が禁じています。2001:db8:0:1:1:1:1:1 は単独の 0 を残すべきで、2001:db8::1:1:1:1:1 と書いてはいけません。1 グループだけの :: は短縮効果がなく、ツールごとに出力がぶれる原因になるためです。このツールもその規則に従い、ゼログループが 2 つ以上連続する場合のみ圧縮します。
- 逆引き PTR はなぜこんなに長いのですか?
- ip6.arpa は DNS ラベル 1 つに 16 進ニブル(4 ビット)1 つを逆順で割り当てます。そのため 128 ビットのアドレスは常にちょうど 32 ラベル + ip6.arpa になり、逆引き DNS 側に圧縮表記はありません。
- ::ffff:192.0.2.1 のような IPv4 射影アドレスも貼り付けられますか?
- ドット付き表記のままでは無理です — パーサーは 16 進グループのみ受け付けます。先に IPv4 部分を 2 つの 16 進グループへ変換してください(192.0.2.1 → c000:201、つまり ::ffff:c000:201)。ゾーン ID(%eth0)とプレフィックス長(/64)も取り除く必要があります。
- アドレスはどこかに送信されますか?
- いいえ。パースと変換はすべてブラウザー内で実行されます。入力値は利便性のためにブラウザーのローカルストレージに記憶されるだけで、サイトデータを消去すれば削除されます。
関連ツール
URI テンプレート展開 (RFC 6570)
独自の変数で RFC 6570 URI テンプレートを展開 — 4 レベルすべて対応:パス・クエリ・フラグメント・ラベル・パス形式演算子、explode・prefix 修飾子、ブラウザ内で。
IP範囲展開ツール
CIDRブロック(10.0.0.0/24)をIPリストに展開、または開始-終了範囲を最小CIDRセットに変換。ネットワーク·ブロードキャスト·マスク·ワイルドカード·使用可能数すべてブラウザで。
IP アドレス インスペクター
IPv4 または IPv6 アドレスを入力すると、クラス、スコープ(プライベート / パブリック / ループバック / リンクローカル)、10 進数値、2 進数、逆引き DNS 表記、/32 CIDR を表示。
MAC → EUI-64 / リンクローカル
任意の MAC アドレスを modified EUI-64 インターフェース ID と対応する IPv6 リンクローカルアドレスに変換 — Windows / Linux が自動的に計算するのと同じ形式。
CIDR アグリゲーター (IP 範囲のマージと最小化)
雑然とした IPv4/IPv6 アドレス・CIDR・範囲のリストを、最小数の CIDR ブロックに集約します。
HTTP ステータスコード リファレンス
1xx-5xx の全 HTTP ステータスコードを検索 — 概要・RFC・使い時・よくある落とし穴付き。