IPv6
IPv4の後継として設計された、IPアドレスを使ってネットワーク間でパケットを届けるための通信プロトコル。アドレス長を128ビットに広げ、基本ヘッダーを40バイトの固定長にするなど、パケットの形式も見直している。
イマシルちゃんの解説
インターネットでデータを送るときは、届け先をIPアドレスで指定するんだ。
ところが、従来のIPv4では使えるアドレスの数に限りがあり、利用する機器の増加に対応しきれなくなってきたよ。
そこで、使えるアドレスを大幅に増やした通信プロトコルとして作られたのがIPv6なんだ。
送るデータには送信元や宛先のアドレスを付け、途中のルーターが宛先を見て次の転送先へ渡していくよ。
使えるアドレスを増やしただけではなく、こうしてパケットを運ぶための形式も定めているんだ。
たくさんの機器にアドレスを割り当て、ネットワークをまたいだ通信を支えられるのが大切なところだよ。
この解説はわかりやすかったですか?
より深い解説
定義
IPv6(Internet Protocol version 6)は、RFC 8200で定められたネットワーク層のプロトコルである。IPv4のアドレスの枯渇を根本的に解決するため、アドレスを32ビットから128ビットに拡張した。
アドレスの表記
128ビットを16ビットずつ8つに区切り、それぞれを16進数で表して「:」(コロン)でつなぐ。
2001:0db8:0000:0000:0000:0000:0000:0001
次の省略ができる。
- 各ブロックの先頭の0は省略できる(0db8 → db8)
- 0だけのブロックが連続する部分は、1か所だけ「::」にまとめられる
2001:db8::1
「::」を2か所以上に使うと、それぞれ何ブロック分の0なのかが決まらなくなるため、使えるのは1か所だけである。
主なアドレスの種類
| 種類 | 範囲 | 用途 |
|---|---|---|
| グローバルユニキャストアドレス | 2000::/3 | インターネットで使う、世界で一意のアドレス |
| リンクローカルアドレス | fe80::/10 | 同じリンク(ネットワーク)の中だけで使う |
| ユニークローカルアドレス | fc00::/7 | 組織の内部で使う(IPv4のプライベートアドレスに相当) |
| マルチキャストアドレス | ff00::/8 | グループ宛ての通信 |
| ループバックアドレス | ::1 | 自分自身 |
IPv6にはブロードキャストアドレスがない。ブロードキャストの役割は、マルチキャスト(全ノードマルチキャストアドレス ff02::1 など)が担う。
IPv4からの主な変更点
| 項目 | IPv4 | IPv6 |
|---|---|---|
| アドレス長 | 32ビット | 128ビット |
| ヘッダー長 | 可変(20~60バイト) | 40バイト固定 |
| ヘッダーチェックサム | あり | なし(上位層やデータリンク層に任せる) |
| 途中のルータでの分割(フラグメント) | できる | できない(送信元だけが分割する) |
| オプション | ヘッダー内 | 拡張ヘッダーとして、基本ヘッダーの後ろにつなぐ |
| アドレス解決 | ARP | ICMPv6の近隣探索(NDP) |
| アドレスの自動設定 | DHCP | SLAAC(ルータ広告から自動生成)、DHCPv6 |
| 寿命の表し方 | TTL | ホップリミット |
途中のルータでの分割をやめたため、送信元は経路上の最小のMTUを知る必要があり、パスMTU探索が重要になる。
IPv6に対応したプロトコル
IPv6で使うために、多くのプロトコルが新しい版になっている。
| IPv4用 | IPv6用 |
|---|---|
| ICMP | ICMPv6 |
| ARP | ICMPv6の近隣探索(NDP) |
| DHCP | DHCPv6 |
| RIPv2 | RIPng |
| OSPFv2 | OSPFv3 |
| IGMP | MLD(ICMPv6のメッセージを使う) |
IPv4との共存
IPv6とIPv4には互換性がないため、移行期間は次の技術で共存させる。
| 技術 | 内容 |
|---|---|
| デュアルスタック | 1台の機器でIPv4とIPv6の両方を動かす |
| トンネリング | IPv6のパケットをIPv4のパケットに入れて運ぶ(またはその逆) |
| トランスレーション | NAT64などで、IPv6とIPv4のパケットを変換する |
IPsecの実装要件と利用の区別
IPv6で通信するだけで、パケットが自動的に暗号化されるわけではない。IPsecを利用するには、双方が対応し、鍵や保護対象となる通信の設定などを行う必要がある。
実装要件にも版の違いがある。RFC 4294(2006年)ではIPsecアーキテクチャの対応がMUSTだったが、RFC 6434(2011年)ではSHOULDへ変更され、RFC 8504(2019年)でもSHOULDとなっている。「対応機能を備えること」と「すべての通信で使うこと」は別である。
IPv6のトラフィッククラスやフローラベルも、記載するだけで帯域の予約が成立するものではない。経路上の機器によるQoSの制御や、必要に応じた資源予約の仕組みを別途用意する。
プレフィックスの途中までを比べる
/56では、先頭から56ビットがネットワークの指定部分になる。16進数1桁は4ビットなので、先頭14桁が一致する範囲である。
独自の例として、2001:db8:abcd:3400::/56を考える。第3ブロックまでの48ビットに加え、第4ブロックの上位8ビット、つまり「34」までが固定される。
| アドレス | この範囲に含まれるか |
|---|---|
| 2001:db8:abcd:3410::1 | 含まれる |
| 2001:db8:abcd:34a0::1 | 含まれる |
| 2001:db8:abcd:3500::1 | 含まれない |
第4ブロック全体の一致を要求すると/64の比較になってしまう。/56の割当てを、複数の/64サブネットへ分けて利用することもできる。
実際の試験ではここに出る!全14問
ネットワークスペシャリスト
- 午後Ⅱ
- 午前Ⅱ
テクニカルエンジニア(ネットワーク)
- 午前