1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IPv6アドレスの仕組み

1
Posted at

1. IPv6の基本構造

IPv6(Internet Protocol Version 6)は、枯渇しつつあるIPv4アドレスに代わる次世代のプロトコルです。最大の特徴は、アドレス空間が 128ビット に拡張されたことで、理論上、$2^{128}$個という膨大な数のアドレスを割り当てることが可能です。

この128ビットのアドレスは、人間が読み書きしやすいように以下のルールで表記されます。

  • アドレス全体を 16ビット ごとの 8つのブロック に分割します。
  • 各ブロックは 4桁の16進数0000ffff)で表現します。
  • 各ブロックの間は コロン(: で区切ります。

IPv4との比較

項目 IPv4 IPv6
総ビット数 32ビット ($2^{32}$) 128ビット ($2^{128}$)
ブロック数 4つ 8つ
1ブロックのビット数 8ビット 16ビット
各ブロックの表現 10進数 (0〜255) 16進数 (0000〜ffff)
区切り文字 ドット (.) コロン (:)

IPv4とIPv6の比較図
出典: フレッツ光 - IPv6の仕組みとは?図でわかりやすく解説!


2. アドレスの省略ルール

IPv6アドレスは長いため、短縮して表記するためのルールが定められています。

ルール1:各ブロックの先頭のゼロは省略できる

各16ビットブロックの先頭にある0は省略可能です。

  • 0db8db8
  • 00a1a1
  • 00000

ルール2:連続するゼロのブロックは :: で省略できる

0のみで構成されるブロックが連続する場合、その部分を ダブルコロン(:: で一度だけ置き換えることができます。

  • 元の表記: 2001:0db8:0000:0000:1234:0000:0000:5678
  • 省略後の表記: 2001:db8::1234:0:0:5678

注意点: この::による省略は、1つのアドレス内で 1回しか使えません。複数回使用すると、省略されたゼロのブロック数を特定できなくなるためです。


3. 16進数の数え方

IPv6で使われる16進数は、0から9までの数字とaからfまでのアルファベットで構成されます。0から数え始めるため、0からfまでの記号の数は 16個 となります。

  • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (10個)
  • a, b, c, d, e, f (6個)

これは、私たちが日常で使う10進数が0から9までの 10個 の記号で構成されるのと同じ考え方です。


4. IPv4射影アドレス(IPv4-mapped Address)

IPv4からIPv6へスムーズに移行するために、IPv4アドレスをIPv6アドレスの形式で表現する特殊な仕組みがあります。これを「IPv4射影アドレス」と呼びます。

このアドレスは以下のような形式で表現されます。
::ffff:aaa.bbb.ccc.ddd

一見するとビット数が足りないように見えますが、省略ルールに基づくと正しく128ビットで構成されています。

  • 先頭の ::: 省略された 80ビット 分の0を表します。(0000:0000:0000:0000:0000)
  • ffff: 16ビット を表します。
  • aaa.bbb.ccc.ddd: IPv4アドレス部分の 32ビット を表します。

これらを合計すると、80ビット + 16ビット + 32ビット = 128ビットとなり、IPv6アドレスの長さに一致します。

例えば ::ffff:192.168.1.1 は、省略せずに書くと以下のようになります。
0000:0000:0000:0000:0000:ffff:c0a8:0101
192.168.1.1は16進数でc0a8:0101

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?