IPv6アドレスとは? - IPv6アドレッシング完全ガイド
IPv6アドレスとは?
はじめに
従来使用されてきたIPv4に対するIPv6の主な利点の一つは、次世代インターネットにおいてパケットをルーティングするための(アドレッシング)情報を格納できる、広大なアドレス空間です。
IPv6は128ビットのアドレス空間をサポートし、理論上は2^128、つまり3.4×10^38個の一意のIPアドレスをサポートできます(IPv4の32ビットのアドレス空間とは対照的です)。この広大なアドレス空間の仕組みにより、IPv6はインターネットに接続されるすべての機器やノードに一意のアドレスを割り当てることが可能です。
IPv6アドレッシングが必要な理由
IPアドレスに対する需要の急増が、IPv6が提供する広大なアドレス空間の開発を後押しする原動力となりました。業界の推計によれば、無線分野では10億台を超える携帯電話、PDA(携帯情報端末)、その他の無線機器がインターネットへのアクセスを必要とするようになり、それぞれが独自のIPアドレスを必要とします。
IPv6が提供する拡張されたアドレス長により、利用可能なアドレス空間の枯渇を避けるためにネットワークアドレス変換のような技術を使用する必要がなくなります。IPv6には、次世代インターネットにおいてパケットをルーティングするためのアドレッシング情報と制御情報が含まれています。
IPv6アドレスの種類
IPv6アドレスは大きく3つのカテゴリーに分類されます。
- ユニキャストアドレス: ユニキャストアドレスは、単一のインターフェースの識別子として機能します。ユニキャストアドレス宛に送信されたIPv6パケットは、そのアドレスで識別されるインターフェースに配送されます。
- マルチキャストアドレス: マルチキャストアドレスは、異なるノードに属する場合がある、複数のインターフェースからなるグループ(集合)の識別子として機能します。マルチキャストアドレスに配送されたIPv6パケットは、複数のインターフェースに配送されます。
- エニーキャストアドレス: エニーキャストアドレスは、異なるノードに属する場合がある一連のインターフェースの識別子として機能します。エニーキャストアドレス宛のIPv6パケットは、そのアドレスで識別されるインターフェースのうちいずれか一つに配送されます。
IPv6アドレスの表記法
IPv6アドレスは、16進数の4桁組を8つ、コロンで区切って表記します。
有効なIPv6アドレスの例を以下に示します: 2001:cdba:0000:0000:0000:0000:3257:9652
IPv6アドレス内のゼロが4桁続くグループは、単一のゼロに短縮したり、完全に省略したりすることができます。したがって、以下のIPv6アドレスはいずれも同じものであり、同等に有効です。
2001:cdba:0000:0000:0000:0000:3257:9652
2001:cdba:0:0:0:0:3257:9652
2001:cdba::3257:9652
上記のアドレスに対応するURLは、次のような形式になります:
http://[2001:cdba:0000:0000:0000:0000:3257:9652]/
IPv6のネットワーク表記
IPv6ネットワークは、クラスレスドメイン間ルーティング(CIDR)表記で表されます。IPv6プロトコルを使用するネットワークまたはサブネットは、そのサイズが2のべき乗となる連続したIPv6アドレスのグループとして表されます。IPv6アドレスの先頭のビット(ネットワーク内のすべてのホストで共通)がそのネットワークのプレフィックスを構成します。ネットワークプレフィックスのビット数は「/」で区切って示されます。例えば、2001:cdba:9abc:5678::/64は、ネットワークアドレス2001:cdba:9abc:5678を表します。このネットワークは、2001:cdba:9abc:5678::から2001:cdba:9abc:5678:ffff:ffff:ffff:ffffまでのアドレス範囲を含みます。同様に、単一のホストは128ビットのプレフィックスを持つネットワークとして表すことができます。このように、IPv6ではネットワークを単一のホストからそれ以上の規模まで自在に表現できます。
IPv6の特殊アドレス
- ::/96: ゼロプレフィックスは、以前使用されていたIPv4プロトコルと互換性のあるアドレスを表します。
- ::/128: すべてビットがゼロのIPv6アドレスは、未指定アドレスと呼ばれ、ソフトウェア内部でのアドレッシング目的で使用されます。
- ::1/128: これはループバックアドレスと呼ばれ、ローカルホストを指すために使用されます。このアドレス宛にパケットを送信するアプリケーションは、IPv6スタックによってループバックされた後、そのパケットを受け取ります。IPv4におけるローカルホストアドレスは「127.0.0.1」でした。
- 2001:db8::/32: これはIPv6で許可されているドキュメント用プレフィックスです。IPv6アドレスの例を示す際は、それが例であることを示すために、理想的にはこのプレフィックスを使用すべきです。
- fec0::/10: これはIPv6が提供するサイトローカルプレフィックスです。このアドレスプレフィックスは、そのアドレスがローカルな組織内でのみ有効であることを示します。その後、このプレフィックスの使用はRFCによって推奨されなくなりました。
- fc00::/7: これはユニークローカルアドレス(ULA)と呼ばれます。これらのアドレスは、協調関係にある一連のサイト内でのみルーティングされます。これらはサイトローカルアドレスを置き換えるためにIPv6で導入されました。これらのアドレスはまた、アドレスの競合リスクを低減する40ビットの疑似乱数を提供します。
- ff00::/8: このプレフィックスは、マルチキャストアドレスを示すためにIPv6が提供するものです。このプレフィックスを持つアドレスは、自動的にマルチキャストアドレスであると認識されます。
- fe80::/10: これはIPv6が提供するリンクローカルプレフィックスです。このアドレスプレフィックスは、そのアドレスがローカルな物理リンク内でのみ有効であることを示します。
詳細については、RFC 1884 - IP Version 6 Addressing Architectureをご参照ください。