IPv4とIPv6の解説
IPv4 と IPv6:2 つのアドレス体系、1 つのインターネット
インターネットを通過するすべてのパケットは、2 つの形式のいずれかで書かれた送信元アドレスと宛先アドレスを運んでいます。1981 年に標準化された IPv4 は 32 ビットのアドレスを使用します。その後継である IPv6 は 128 ビットを使用します。IPv4 と IPv6 をめぐる問いは、実際には対立ではありません。ほとんどの最新ネットワークでは両方のプロトコルが並行して動作しています。しかし、その違いは、ログを読む人、ルックアップを実行する人、あるいはアドレスが何を語り、何を語らないのかを理解しようとするすべての人にとって重要です。
表記法:ドット区切りの 4 組と 16 進数のグループ
IPv4 アドレスは、0 から 255 までの 4 つの十進数をドットで区切ったものです。おなじみのドット区切り 4 組で、たとえば 8.8.8.8 のように表します(このアドレスはトレースの例で確認できます)。4 バイト、およそ 43 億通りの値です。
IPv6 は 128 ビットを、コロンで区切られた 4 桁の 16 進数 8 グループとして書きます:2001:0db8:0000:0000:0000:0000:0000:0001。これほど長いアドレスは扱いにくいため、表記法には 2 つの省略方法が認められています。各グループの先頭のゼロは省略でき、連続するすべてゼロのグループのひと続き(ただし 1 か所のみ)をダブルコロンにまとめることができます。上記のアドレスは 2001:db8::1 に圧縮されます。この圧縮の正規ルールは RFC 5952 に定められています。これに従うことが重要なのは、そうしなければ同じアドレスが何通りにも書けてしまい、ログ検索やブロックリストを大混乱させるからです。
枯渇の物語
IPv4 の 43 億のアドレスは、1981 年には無尽蔵に思えました。しかしそうではありませんでした。IANA は 2011 年に最後の空きブロックを地域インターネットレジストリに割り当て、レジストリ自身も、2019 年にプールの枯渇を宣言した RIPE NCC を含め、現在では返却済みまたは回収済みの空間からのみ IPv4 を割り当てています。中古アドレスブロックの市場が存在し、その 1 アドレスあたりの価格はプロトコルの設計者を困惑させたことでしょう。
IPv6 は、こうした事態が二度と起こらないように設計されました。そのアドレス空間は 2^128 の値、およそ 340 澗(かん)という 39 桁の数を保持します。この設計はあえて贅沢に作られています。一般的な家庭の回線でも、IPv4 インターネット全体を二乗した以上のアドレスを含む /64 プレフィックスが割り当てられます。その意図は、アドレスの不足が二度とネットワークの構築のあり方を左右しないようにすることです。
NAT と CGNAT:延命される IPv4
枯渇にもかかわらず IPv4 が今なお機能している理由は、ネットワークアドレス変換(NAT)です。家庭用ルーターは 1 つのパブリック IPv4 アドレスを保持し、その背後にあるすべての機器のために変換を行います。だからこそ、あなたのノートパソコンの 192.168.x.x アドレスがパブリックなインターネットに現れることはなく、現れるのはルーターのアドレスだけです。それこそが What Is My IP が報告する内容です。
現在では、多くの通信事業者が第 2 の層を追加しています。キャリアグレード NAT(CGNAT)では、数百から数千の加入者が単一のパブリック IPv4 アドレスを共有します。CGNAT はアドレスの流れを維持しますが、識別子としての IPv4 アドレスの意味を損ないます。1 つの CGNAT アドレスからのトラフィックは、互いに無関係な数千の世帯を表している可能性があり、アドレスだけからその中の個人を特定することはできません。これは、IP ジオロケーションが個人を特定できない理由の 1 つであり、この点は IP アドレスから住所を特定できるのか? で詳しく扱っています。
デュアルスタックの現実
移行計画は、ある日一斉に切り替えるものではありませんでした。それは共存でした。ほとんどの最新機器はデュアルスタックで動作し、IPv4 アドレスと IPv6 アドレスを同時に持ち、宛先が IPv6 を提供している場合はそちらを優先します。世界全体の IPv6 の普及率は、現在では主要サービスへのトラフィックの 3 分の 1 をはるかに超えていますが、その分布は不均一です。モバイル通信事業者や大手の一般向け ISP では強く、古い企業ネットワークでは弱いのです。実際問題として、これは、同じ接続が、あるセッションがどちらのプロトコルをネゴシエートしたかによって、ログ上でまったく異なる 2 つのアドレスとして現れる可能性があることを意味します。
ジオロケーションとトレースにとって何が変わるか
ネットワークフォレンジックにとって、2 つのプロトコルは異なる形で歳を重ねてきました。IPv4 空間は 40 年にわたって割り当てられ、取引され、観測されてきたため、DB-IP のようなジオロケーションデータベースは、ほとんどのブロックについて深く、十分に裏付けられた根拠を持っています。IPv6 のブロックはより新しく、はるかに疎です。ISP への単一の /32 割り当てが IPv4 インターネット全体を凌駕するほどであり、そのため位置の根拠はより薄く、信頼度の評価は、特に国レベルより下では低くなります。どちらのプロトコルのトレースでも、得られるのはおおよその地域であって、正確な一点ではありません。正直な数字については、IP ジオロケーションの精度をご覧ください。
IPv6 はクライアントの挙動も変えます。RFC 8981 で定義されているプライバシー拡張は、アドレスのインターフェース識別子の半分を定期的に入れ替えます。そのため、/64 プレフィックスは固定されたままでも、機器の完全な 128 ビットアドレスは日ごとに、あるいは接続ごとに変化します。トレースにとって安定した手がかりはプレフィックスであり、下位ビットは設計上ノイズです。ルーティングのコンテキストはどちらのプロトコルでも変わりません。経路を広告している自律システムは、依然としてどの事業者がそのトラフィックを運んでいるかを教えてくれ、ASN ルックアップは両方で同じように機能します。
| 項目 | IPv4 | IPv6 |
|---|---|---|
| アドレス長 | 32 ビット | 128 ビット |
| 表記法 | ドット区切り 4 組:203.0.113.7 | :: 圧縮を用いた 16 進数グループ:2001:db8::7 |
| アドレス空間 | 約 43 億 | 約 340 澗(2^128) |
| 利用可能性 | 枯渇済み。二次市場で取引されている | 事実上無制限 |
| アドレスの共有 | NAT と CGNAT が一般的 | グローバルに一意なアドレス。NAT は不要 |
| ジオロケーションの根拠 | 数十年分のデータ。国より下のレベルでも信頼度が高い | より新しく疎なブロック。国より下のレベルでは信頼度が低い |
| アドレスの安定性 | サイトごとに 1 アドレス。多くの場合、長期間有効 | 安定した /64 プレフィックス。インターフェースビットはプライバシーのため入れ替わる |
バージョン番号が変えないことが 1 つあります。どちらのプロトコルのアドレスも、特定するのはネットワークインフラであって、人ではありません。トレースが導き出すのは、おおよその地域と事業者であり、それぞれに信頼度の評価が付きます。個人を特定するものは何もありません。それぞれのプロトコルがあなた自身の接続について実際に何を明らかにするのかを確かめるには、トレースを実行して、その調書を比べてみてください。