128ビットのアドレス空間をどのように用いるかについては、様々な議論の末、現在はRFC 3587
で情報提供扱いで既定されている。
IPv6アドレスは、次のようにアドレスを分類する。
IPv4にはないエニキャストが追加され、逆にIPv4にあったブロードキャストがなくなっている。
NICなど、各インターフェイスにIPv6アドレスが割り当てられる。
IPv6を利用するインターフェイスには少なくとも一つ、通常は次の二つのアドレスが割り当てられる。
後者リンクローカルアドレスは制御用に使われるIPアドレスであり、前者グローバルアドレスはインターネットで通常のデータ通信を行なう際に用いるIPアドレスである。
IPv4とは違い、一つのインターフェイスに割り当てられるアドレスは原則として一つ、という制限は無い。
グローバルアドレスは、通常は2001:から始まる「集約可能グローバルユニキャストアドレス」が使われる。
リンクローカルアドレスは、通常はFE80:から始まる「リンクローカルユニキャストアドレス」が使われる。
128ビットすべてを任意に使うわけではない。ここには、アドホックな設計であったIPv4アドレスの反省がある。
ビット列のうち、先頭からnビットは○○用途、のように可変長で決められており、今知られる範囲では次のような割り当てがある。基本的にはRFCで随時決められてゆき、時折、一覧表のRFCが発行される。
※注記については後述。
| 用途または状況 | プリフィックス | 全体に占める割合 | |
|---|---|---|---|
| 2進表記 | 16進表記 | ||
| 未使用(※1) | 0000 0000 | 0000::/8 | 1/256 |
| 未使用 | 0000 0001 | 0100::/8 | 1/256 |
| NSAPアドレス用に予約 | 0000 001 | 0200::/7 | 1/128 |
| 未使用 | 0000 01 | 0400::/6 | 1/64 |
| 未使用 | 0000 1 | 0800::/5 | 1/32 |
| 未使用 | 0001 | 1000::/4 | 1/16 |
| 集約可能グローバルユニキャストアドレス | 001 | 2000::/3 | 1/8 |
| 未使用 | 010 | 4000::/3 | 1/8 |
| 未使用 | 011 | 6000::/3 | 1/8 |
| 未使用 | 100 | 8000::/3 | 1/8 |
| 未使用 | 101 | A000::/3 | 1/8 |
| 未使用 | 110 | C000::/3 | 1/8 |
| 未使用 | 1110 | E000::/4 | 1/16 |
| 未使用 | 1111 0 | F000::/5 | 1/32 |
| 未使用 | 1111 10 | F800::/6 | 1/64 |
| ユニークローカルユニキャストアドレス | 1111 110 | FC00::/7 | 1/128 |
| 未使用 | 1111 1110 0 | FE00::/9 | 1/512 |
| リンクローカルアドレス | 1111 1110 10 | FE80::/10 | 1/1024 |
| IANA予約(旧サイトローカルアドレス) | 1111 1110 11 | FEC0::/10 | 1/1024 |
| マルチキャストアドレス | 1111 1111 | FF00::/8 | 1/256 |
(※1)の領域には、次の割り当てがある。
特定のネットワーク機器に割り当てられるアドレスは、「集約可能グローバルユニキャストアドレス」と呼ばれている。
特殊な用途ではない、いわゆる普通のアドレスと言った場合は、これが該当する。
このアドレスは「2000::/3」となる。
これは、接続された同一セグメント内でホストを一意に識別するためのアドレスである。
このアドレスは「FE80::/10」となる。
IPv4で言うところのプライベートIPアドレス(192.168.0.0/16のようなもの)に相当するのが、このサイトローカルユニキャストアドレスであった。
プリフィックスとして「FEC0::/10」が規定されていたが、2004(平成16)年9月にRFC 3879
によって廃止された。その理由については、このRFC内で切々と述べられている。
この代わりとして提案されているのが、ユニークローカルユニキャストアドレスである。
上記サイトローカルに代わるものとして、2003(平成15)年末から議論が始まり、2005(平成17)年10月にRFC 4193
がStandards Track(標準化過程)で発行された。
プリフィックスとして「FC00::/7」が使われている。128ビットを、先頭から順に次のように用いることになっている。
IPv6用のエニキャストアドレスであるが、IPv6においては、エニキャスト用としては特別なプリフィックスを用意していない。
IPv6ではユニキャストの特殊扱いとして扱っており、ユニキャストアドレス中のインターフェイスIDを0としたものを、エニキャストアドレスとしている。
IPv6用のマルチキャストアドレスで、これは、同報通信を行なうためのアドレスである。
このアドレスは「FF00::/8」となる。128ビットを、先頭から順に次のように用いることになっている。
どの範囲にまで通信するかを示す。値が大きいほど、範囲が広い。
| 値 | 概要 | |
|---|---|---|
| 16進 | 2進 | |
| 00 | 0000 | 予約 |
| 01 | 0001 | ノードローカルスコープ |
| 02 | 0010 | リンクローカルスコープ |
| 05 | 0101 | サイトローカルスコープ(単一のサイトに限定) |
| 08 | 1000 | 組織ローカルスコープ(単一の組織に限定) |
| 0E | 1110 | グローバルスコープ(インターネット全体) |
| 0F | 1111 | 予約 |
128ビットは長いため、色々と工夫されている。
アドレスはFEDC:BA98:7654:3210:FEDC:BA98:7654:3210のようにコロンで区切った8つの16進数で表わす。
そして、8個の各パートで0000や0db8のように頭に0が付く場合、その0を省略することができる。つまり「2001:db8:0:0:0:0:0:0:1」のような書き方が可能である。
また、0が連続する場合は、一回だけ::で略記することが可能。つまり先の例ならば、「2001:db8::1」のようにも記述できる。
また、1996(平成8)年のエープリルフールにはRFC 1924
で85進数を使った方法も提案されたが、実際には使われていない。