Top > ipv6アドレスの構造

キーワード: IPv6 構造 詳細 ネットマスク ネットワークアドレス ネットワークID プレフィックス インターフェイスID


IPv6特集記事:


IPv6の構造

プロバイダから付与されたIPを確認

princo.orgサーバが接続されているルータへ, プロバイダから強制的にIPv6アドレスが付与されていた. ルーター(Aterm BL190HW)の管理画面から現在の状態を閲覧すると, 下記の情報が確認できた.

IPv6アドレス/プレフィックス長(グローバル): 240f:e:b466:1:21b:8bff:fe79:2e4/64
IPv6アドレス/プレフィックス長(リンクローカル): fe80::21b:8bff:fe79:2e4/64

240fからはじまるアドレスがグローバルIPで, fe80からはじまるアドレスはリンクローカルのようだ.

リンクローカルは, IPv4で使われていた 169.254.0.0/16 と同様のもので, IPv4ではローカルネットワーク内でIPを取得できなかった場合に 自動的に付与されていたが, IPv6の場合はIPv6ネットワークに接続する機器全てに必ず付けられる.

IPv6でのリンクローカルアドレス範囲は fe80::/64 となっていて, fe80 で始まるアドレスは無条件でリンクローカルアドレスと判別できる.


IPv6の構造

IPv6は 16進 16bit(4桁) * 8オクテット の128ビットで構成されて, 区切り文字はコロンとなっている.

240f:e:b466:1:21b:8bff:fe79:2e4/64

ルーターの管理画面で表示されたアドレスは省略表示になっており, 省略せずに表現すると

240f:000e:b466:0001:021b:8bff:fe79:02e4/64

このような文字列になる.
(この記事では可読性を優先させるため, 一貫して省略せずに表記します)


最初の4オクテット

240f:000e:b466:0001

がIPv4で言うグローバルIPネットワークアドレスとなり, IPv6ではプレフィックス, ネットワークIDと言うそうだ.

後半の4オクテット

021b:8bff:fe79:02e4

インターフェイスIDと呼ばれ, それぞれの機器に付与される. 実際に付与されたイメージは下記の様になる.

ルーター: 240f:000e:b466:0001:021b:8bff:fe79:02e4/64
サーバー: 240f:000e:b466:0001:0000:0000:0000:0011/64
PC      : 240f:000e:b466:0001:0216:3eff:fe1b:1a38/64
PS3     : 240f:000e:b466:0001:0210:53ff:fe19:104c/64

最初の4オクテットは同じ.
下位の4オクテットを自由に使うことができる.

IPv6は桁数が多いうえ16進数なので覚えにくいが, 覚えておくべきプレフィックス長は 4桁 * 4 の 16桁なので, これだけならばなんとか頑張れば覚えられるかもしれない.


最後の

/64

はネットマスクとなり, これは呼び方も使われ方もIPv4と同じだ.
ただ, IPv6のネットマスクは一般的な場合, /64 で付与され, これ以下でもこれ以上でも滅多に使われないようだ.

ネットワークID

先頭4オクテットのネットワークIDは, 下記のルールで割り振られる.

FP            3bit Format Prefix (001)
TLA ID       13bit Top-Level Aggregation Identifier     最上位階層識別子
sub TLA ID   13bit sub Top-Level Aggregation Identifier 準上位階層識別子
RES           6bit Reserved for future use              将来使う予約
NLA ID       13bit Next-Level Aggregation Identifier    次階層識別子
SLA ID       16bit Site-Level Aggregation Identifier    サイト階層識別子

大手プロバイダや団体には TLA単位で, 下位プロバイダにはsubTLA単位で割り当てられる.
そこからプロバイダがNLA単位で拠点や中継機器等に割り振り, さらにSLA単位をエンドユーザに割り振る.

インターフェイスID

後半4オクテットのインターフェイスIDのアサインは, IPv6の新機能を利用して自動設定することができる.

IPv6ルーターは定期的に(またはリクエストされたタイミングで)アドバタイズ(Router advertisement, RA)情報として

  • プレフィックス(インターフェイスID)
  • ルーティング情報 等

を送信することができ, 接続されたクライアントはこの情報を得ると, 自分のMACアドレスを元にインターフェイスIDを決定(EUI-64)した上で グローバルIP通信を開始できる.

自動設定したときの例:

MAC ADDR             IPv6 ADDR
---------------------------------------------------------------
00:16:3E:1B:1A:38 → 240f:000e:b466:0001:0216:3eff:fe1b:1a38/64
00:16:3E:68:10:4C → 240f:000e:b466:0001:0216:3eff:fe68:104c/64

うしろの方が同じ数値になっているのがわかる.


また, 従来通りに利用者が自由に利用することもできる.

240f:000e:b466:0001:0000:0000:0000:0011/64
240f:000e:b466:0001:0000:0000:0000:0012/64
240f:000e:b466:0001:0000:0000:0000:0013/64
240f:000e:b466:0001:0000:0000:0000:0014/64

このように, 連番を付けることもできる.
IPv4と当面共存させることになるのだから,

192.168.23.11 + 240f:000e:b466:0001:192:168:23:11/64
192.168.23.12 + 240f:000e:b466:0001:192:168:23:12/64
192.168.23.13 + 240f:000e:b466:0001:192:168:23:13/64
192.168.23.14 + 240f:000e:b466:0001:192:168:23:14/64

このようにIPv4と同じ数字を付けるのも良いかもしれない.

IPv6は16進表記でa〜fの文字が使えるので, 単語にすることもできる.

abeaddacebad
bedbebeebeef
cabcafedeadface
feefeedfed

さらに, 数字との組み合わせで単語に見立てることもできる.

f00d (food)1ce (ice)1dea (idea)fee1 (feel)
c01a (cola)c0ffee (coffee)a11 (all)be11 (bell)
de11 (dell)ca11 (call)ba11 (ball)c105e (close)
dec0de (decode)e1f (elf)c0de (code)c01d (cold)
900d (good)90091e (google)

組み合わせると,

  • fe80::1ce:c0ff:ee:cafe (ice coffee cafe)
  • fe80::bad:face (bad face)
  • fe80::dead:bee (dead bee)
  • fe80::c01d:beef (cold beef)

などのIPを付けることができる.

IPv6の予約IP, 特殊IP

fe80::/10Link LocalIPv6を使用する際, 必ず付与されるローカルネットワークで使用できる一意のIP. IPv4の 169.254.0.0/16 に相当する.
::1/128Loop Backループバックアドレス. IPv4の 127.0.0.1/8 と似ているがマスクが128(単一IP)である.
FC00::/7Unique Local Unicastユニークローカルユニキャストアドレス. IPv4の 192.168.0.0/16, 10.0.0.0/8 に相当する. 範囲は FC00:0:0:0:0:0:0:0〜FDFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
FF00::/8Multi Castマルチキャストアドレス. IPv4の 224.0.0.0/4 に相当する.



新規 編集 添付 名前変更 バックアップ   ホーム バックアップ リンク元   最終更新のRSS