IPv6

読み:あいぴーぶいろく / 英語表記:Internet Protocol version 6

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

次の省略ができる。

2001:db8::1

「::」を2か所以上に使うと、それぞれ何ブロック分の0なのかが決まらなくなるため、使えるのは1か所だけである。

主なアドレスの種類

種類範囲用途
グローバルユニキャストアドレス2000::/3インターネットで使う、世界で一意のアドレス
リンクローカルアドレスfe80::/10同じリンク(ネットワーク)の中だけで使う
ユニークローカルアドレスfc00::/7組織の内部で使う(IPv4のプライベートアドレスに相当)
マルチキャストアドレスff00::/8グループ宛ての通信
ループバックアドレス::1自分自身

IPv6にはブロードキャストアドレスがない。ブロードキャストの役割は、マルチキャスト(全ノードマルチキャストアドレス ff02::1 など)が担う。

IPv4からの主な変更点

項目IPv4IPv6
アドレス長32ビット128ビット
ヘッダー長可変(20~60バイト)40バイト固定
ヘッダーチェックサムありなし(上位層やデータリンク層に任せる)
途中のルータでの分割(フラグメント)できるできない(送信元だけが分割する)
オプションヘッダー内拡張ヘッダーとして、基本ヘッダーの後ろにつなぐ
アドレス解決ARPICMPv6の近隣探索(NDP)
アドレスの自動設定DHCPSLAAC(ルータ広告から自動生成)、DHCPv6
寿命の表し方TTLホップリミット

途中のルータでの分割をやめたため、送信元は経路上の最小のMTUを知る必要があり、パスMTU探索が重要になる。

IPv6に対応したプロトコル

IPv6で使うために、多くのプロトコルが新しい版になっている。

IPv4用IPv6用
ICMPICMPv6
ARPICMPv6の近隣探索(NDP)
DHCPDHCPv6
RIPv2RIPng
OSPFv2OSPFv3
IGMPMLD(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問

ネットワークスペシャリスト

午後Ⅱ
午前Ⅱ

テクニカルエンジニア(ネットワーク)

午前

この用語が出てくる記事

↑