IPv6アドレス

読み:アイピー・ヴィーろく・アドレス
外語:IPv6 Address: Internet Protocol version 6 Address
品詞:名詞

IPv6で用いられるIPアドレス。128ビット長である。

128ビットのアドレス空間をどのように用いるかについては、様々な議論の末、現在はRFC 3587外部リンクで情報提供扱いで既定されている。

IPv6アドレスは、次のようにアドレスを分類する。

IPv4にはないエニキャストが追加され、逆にIPv4にあったブロードキャストがなくなっている。

NICなど、各インターフェイスにIPv6アドレスが割り当てられる。

IPv6を利用するインターフェイスには少なくとも一つ、通常は次の二つのアドレスが割り当てられる。

  • グローバルアドレス
  • リンクローカルアドレス

後者リンクローカルアドレスは制御用に使われるIPアドレスであり、前者グローバルアドレスはインターネットで通常のデータ通信を行なう際に用いるIPアドレスである。

IPv4とは違い、一つのインターフェイスに割り当てられるアドレスは原則として一つ、という制限は無い。

グローバルアドレスは、通常は2001:から始まる「集約可能グローバルユニキャストアドレス」が使われる。

リンクローカルアドレスは、通常はFE80:から始まる「リンクローカルユニキャストアドレス」が使われる。

基本構造

128ビットすべてを任意に使うわけではない。ここには、アドホックな設計であったIPv4アドレスの反省がある。

ビット列のうち、先頭からnビットは○○用途、のように可変長で決められており、今知られる範囲では次のような割り当てがある。基本的にはRFCで随時決められてゆき、時折、一覧表のRFCが発行される。

※注記については後述。

用途または状況プリフィックス全体に占める割合
2進表記16進表記
未使用(※1)0000 00000000::/81/256
未使用0000 00010100::/81/256
NSAPアドレス用に予約0000 0010200::/71/128
未使用0000 010400::/61/64
未使用0000 10800::/51/32
未使用00011000::/41/16
集約可能グローバルユニキャストアドレス0012000::/31/8
未使用0104000::/31/8
未使用0116000::/31/8
未使用1008000::/31/8
未使用101A000::/31/8
未使用110C000::/31/8
未使用1110E000::/41/16
未使用1111 0F000::/51/32
未使用1111 10F800::/61/64
ユニークローカルユニキャストアドレス1111 110FC00::/71/128
未使用1111 1110 0FE00::/91/512
リンクローカルアドレス1111 1110 10FE80::/101/1024
IANA予約(旧サイトローカルアドレス)1111 1110 11FEC0::/101/1024
マルチキャストアドレス1111 1111FF00::/81/256

(※1)の領域には、次の割り当てがある。

集約可能グローバルユニキャストアドレス

特定のネットワーク機器に割り当てられるアドレスは、「集約可能グローバルユニキャストアドレス」と呼ばれている。

特殊な用途ではない、いわゆる普通のアドレスと言った場合は、これが該当する。

このアドレスは「2000::/3」となる。

  • 3ビット: プリフィックス (001)
  • 45ビット: グローバルルーティングプリフィックス
  • 16ビット: サブネットID
  • 64ビット: インターフェイスID

リンクローカルユニキャストアドレス

これは、接続された同一セグメント内でホストを一意に識別するためのアドレスである。

このアドレスは「FE80::/10」となる。

  • 10ビット: プリフィックス (1111111010)
  • 38ビット: 0
  • 16ビット: サブネットID
  • 64ビット: インターフェイスID

サイトローカルユニキャストアドレス

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ビットを、先頭から順に次のように用いることになっている。

  • 7ビット: プリフィックス (1111110)
  • 1ビット: L (1=局所的な割り当て、0は現在未定義)
  • 40ビット: グローバルID
  • 16ビット: サブネットID
  • 64ビット: インターフェイスID

エニキャストアドレス

IPv6用のエニキャストアドレスであるが、IPv6においては、エニキャスト用としては特別なプリフィックスを用意していない。

IPv6ではユニキャストの特殊扱いとして扱っており、ユニキャストアドレス中のインターフェイスIDを0としたものを、エニキャストアドレスとしている。

マルチキャストアドレス

IPv6用のマルチキャストアドレスで、これは、同報通信を行なうためのアドレスである。

このアドレスは「FF00::/8」となる。128ビットを、先頭から順に次のように用いることになっている。

  • 8ビット: プリフィックス (11111111)
  • 4ビット: フラグ
  • 4ビット: スコープ
  • 112ビット: グループ番号

フラグ

  • ビット08: 未定義
  • ビット09: 未定義
  • ビット10: 未定義
  • ビット11: 0=固定、1=一時的

スコープ

どの範囲にまで通信するかを示す。値が大きいほど、範囲が広い。

概要
16進2進
000000予約
010001ノードローカルスコープ
020010リンクローカルスコープ
050101サイトローカルスコープ(単一のサイトに限定)
081000組織ローカルスコープ(単一の組織に限定)
0E1110グローバルスコープ(インターネット全体)
0F1111予約

128ビットは長いため、色々と工夫されている。

アドレスはFEDC:BA98:7654:3210:FEDC:BA98:7654:3210のようにコロンで区切った8つの16進数で表わす。

そして、8個の各パートで00000db8のように頭に0が付く場合、その0を省略することができる。つまり「2001:db8:0:0:0:0:0:0:1」のような書き方が可能である。

また、0が連続する場合は、一回だけ::で略記することが可能。つまり先の例ならば、「2001:db8::1」のようにも記述できる。

また、1996(平成8)年のエープリルフールにはRFC 1924外部リンクで85進数を使った方法も提案されたが、実際には使われていない。