IPv6拡張/圧縮ツール
IPv6アドレスを完全表記に展開、または最短形式に圧縮します。
このツールについて
IPv6アドレスは16進数で記述され、完全に展開すると最大39文字になります。これらを読みやすく、かつ送受信しやすくするため、IPv6は圧縮技術をサポートしています。先頭のゼロを削除し、連続するゼロのグループをダブルコロン(::)で置き換えることで、アドレスを短縮できます。このツールは、圧縮されたアドレスを完全な表記に展開したり、長いアドレスを最短の有効な形式に圧縮したりします。
ツールの使い方は簡単です。IPv6アドレスを圧縮形式か展開形式で貼り付けるか入力し、展開するか圧縮するか選択すると、結果が瞬時に出力フィールドに表示されます。入力のフォーマットを自動的に検出するため、手動でフォーマットを選択する必要はありません。ネットワークインフラの構成、IPv6ルーティングの問題のデバッグ、ドキュメント内のアドレス表記の確認など、様々な場面で信頼性の高い変換を行えます。
ネットワークエンジニア、システム管理者、モダンネットワークに携わる開発者にとって最も有用なツールです。特にレガシーシステムが完全な表記を期待している場合や、ネットワーク監視システムからコンパクトなアドレスを読む場合に有効です。IPv4アドレス空間の枯渇に伴い、IPv6の利用がますます拡大するため、このような住所操作ツールは現代的なネットワーク管理に必須となります。
よくある質問
コード実装
import ipaddress
def expand_ipv6(addr: str) -> str:
"""Expand compressed IPv6 to full form."""
return ipaddress.ip_address(addr).exploded
def compress_ipv6(addr: str) -> str:
"""Compress full IPv6 to shortest form."""
return ipaddress.ip_address(addr).compressed
examples = [
"2001:db8::1",
"::1",
"fe80::1",
"2001:0db8:0000:0000:0000:0000:0000:0001",
"::ffff:192.168.1.1", # IPv4-mapped IPv6
]
for addr in examples:
expanded = expand_ipv6(addr)
compressed = compress_ipv6(expanded)
print(f"Input: {addr}")
print(f"Expanded: {expanded}")
print(f"Compressed: {compressed}")
print()Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.