IPv6
IPv6とは
IPv6(Internet Protocol version 6)は、現在広く使われている IPv4 の後継となるインターネットの住所の新しい規格です。最大の目的は、IPv4 アドレスの枯渇問題を解決することにあります。
IPv4 のアドレスは32ビットで、理論上の総数は約43億個です。世界の人口とスマートフォン・IoT機器の数を考えれば、これでは到底足りません。IPv6 はアドレス長を 128ビットに拡張し、約340澗(かん)個という、事実上使い切れない数のアドレスを用意しました。
表記の違い
[[IPアドレスとサブネット]] で扱う IPv4 と、書き方が大きく変わります。
| IPv4 | IPv6 | |
|---|---|---|
| ビット長 | 32ビット | 128ビット |
| 表記 | 10進数・ドット区切り | 16進数・コロン区切り |
| 例 | 192.168.1.1 | 2001:0db8:0000:0000:0000:ff00:0042:8329 |
| アドレス総数 | 約43億 | 約340澗 |
IPv6 は長いので、短縮ルールがあります。
- 各ブロックの先頭の0は省略できる(
0db8→db8) - 0だけが連続する区間は
::で1回だけ省略できる
先ほどの例は 2001:db8::ff00:42:8329 と書けます。:: は1つのアドレスに1回しか使えません(2回使うと、どこに何個の0があったか復元できなくなるためです)。
なお、ループバックアドレスは IPv4 の 127.0.0.1 に対して IPv6 では ::1 です。
IPv6で変わること
- NATが原則不要になる — アドレスが潤沢なので、機器1台ずつにグローバルアドレスを割り当てられます。[[NATとポートフォワーディング]] で行っていたアドレス変換の出番が減ります
- 自動設定が標準(SLAAC)— ルーターが配る情報から端末が自分でアドレスを組み立てられ、DHCPサーバーがなくても通信できます
- ヘッダがシンプルになり、ルーターの処理負荷が下がる — [[ルーティング]] の効率が上がります
- ブロードキャストが廃止され、マルチキャストに統合されました
移行はどう進んでいるか
IPv4 と IPv6 に直接の互換性はありません。IPv6 だけの端末は IPv4 だけのサーバーと素直には話せないため、移行期の現在はデュアルスタックという方式が主流です。1台の機器が IPv4 と IPv6 の両方のアドレスを持ち、相手に応じて使い分けます。
[[DNS]] もこれに対応しており、IPv4 アドレスを返す Aレコードに対して、IPv6 アドレスは AAAAレコード(クアッドAレコード)で登録します。名前解決の結果として両方が返れば、OS が使えるほうを選びます。
初学者向けポイント
- URL に IPv6 アドレスを直接書くときは
http://[2001:db8::1]:8080/のように角括弧で囲む — コロンがポート番号の区切りと紛らわしいためです - 手元の環境が IPv6 対応かは
ipconfig(Windows)やip -6 addr(Linux)で確認できます fe80::で始まるアドレスはリンクローカルアドレスで、同じネットワーク内でしか使えません- [[ファイアウォール]] の設定を IPv4 側だけ書いて IPv6 側を素通しにしてしまう事故が起きがちです。両方に同じポリシーを設定しましょう
関連技術とのつながり
- [[IPアドレスとサブネット]] — IPv4 の基礎。IPv6 はその拡張版にあたる
- [[TCP/IP]] — IPv6 はネットワーク層のプロトコル。TCP や UDP はそのまま上に乗る
- [[DNS]] — IPv6 アドレスは AAAA レコードで名前解決する
- [[NATとポートフォワーディング]] — IPv4 の枯渇対策。IPv6 では原則不要になる
- [[ルーティング]] — ヘッダの簡素化で転送処理が効率化された
Q: IPv6のアドレス長は何ビット?
- [ ] 32ビット
- [ ] 64ビット
- [x] 128ビット
解説: IPv4の32ビットに対し、IPv6は128ビットで約340澗個のアドレスを表現できます。
Q: IPv6アドレスの `::` が意味するものはどれ?
- [x] 0だけが連続する区間の省略
- [ ] ポート番号の区切り
- [ ] サブネットマスクの指定
解説: 0が連続する区間を `::` で省略できます。復元できなくなるため、1つのアドレスに1回だけ使えます。
Q: IPv6アドレスをDNSに登録するときのレコード種別はどれ?
- [ ] Aレコード
- [x] AAAAレコード
- [ ] MXレコード
解説: IPv4はAレコード、IPv6はAAAAレコード(クアッドA)で登録します。MXはメール配送先の指定用です。