IPv4とIPv6の違いとは?「足りなくなった電話番号の桁を増やす」でたとえてみる

IT資格

「IPv4」と「IPv6」。ネットワークの学習を始めるとすぐに出てくるが、「4と6で何が変わったの?」「5はどこへ行ったの?」と、引っかかるポイントが多い用語でもある。編集部で仕様書までさかのぼって整理してみると、いちばん大きな違いは拍子抜けするほどシンプルで、「番号の桁数が足りなくなったので増やした」という話だった。

まず結論:IPv4とIPv6は「アドレスの長さ(=使える数)」が違う

  • IPv4:アドレスは32ビット。使える数は約43億個で、すでに新しく配れる在庫がほぼ残っていない
  • IPv6:アドレスは128ビット。約340澗(かん)個という、事実上使い切れない数を扱える
  • 両者に直接の互換性はなく、現在は両方を並行して使いながら移行が進んでいる
IPv4とIPv6の違いとは?「足りなくなった電話番号の桁を増やす」でたとえてみる 図解
図解:IPv4とIPv6の違いをひと目で比較

IPv4とは?――桁数が足りなくなった「昔の電話番号」のようなもの

IPv4(Internet Protocol version 4)は、1981年に仕様(RFC 791)が公開された、インターネットの通信ルールの第4版。ネットワークにつながる機器を識別する番号である「IPアドレス」を、32ビットで表す。

32ビットで表せる組み合わせは2の32乗、つまり約43億通り。書くときは8ビットずつ4つに区切り、それぞれを10進数にして「192.168.1.10」のようにドットでつなぐ。

たとえるなら、桁数の少ない昔の電話番号だ。電話を持つ人が少なかった時代は短い番号で足りていたが、利用者が増えるにつれて番号が足りなくなっていく。IPv4も、設計された当時は約43億個で十分と考えられていたが、パソコンやスマートフォン、家電までがインターネットにつながるようになり、世界の人口よりも少ないこの数では足りなくなった。実際、世界全体のIPアドレスを管理するIANAが持っていたIPv4アドレスの未割り当て在庫は、2011年2月に尽きている。

IPv6とは?――桁を大幅に増やした「新しい電話番号」のようなもの

IPv6(Internet Protocol version 6)は、このアドレス不足を根本的に解消するために作られた次の世代のルール。現在の仕様であるRFC 8200には、IPアドレスの大きさを32ビットから128ビットに拡大したことが明記されている。

128ビットで表せる組み合わせは2の128乗、約340澗(3.4×10の38乗)個。ビット数は4倍だが、使える数は4倍どころではなく、IPv4の約43億個をさらに約43億倍し、それをもう2回繰り返した数になる。電話番号の桁を少し足したというより、「今後どれだけ機器が増えても困らない桁数にした」というイメージが近い。

書き方も変わる。16ビットずつ8つに区切り、それぞれを16進数にして「2001:0db8:0000:0000:0000:0000:0000:0001」のようにコロンでつなぐ。長いので、各区切りの先頭の0を省き、0が続く部分を1か所だけ「::」にまとめて「2001:db8::1」と短く書くルールがある。

なお「IPv5はどうなったのか」という疑問について。バージョン番号の5は、音声や映像の伝送を想定した実験的なプロトコル(Internet Stream Protocol)にすでに割り当てられていたため、次世代のIPには6が使われた。

「IPv4とIPv6の違い」を電話番号のたとえでわかりやすく解説

観点IPv4IPv6
電話番号のたとえ桁数が足りなくなった昔の番号桁を大幅に増やした新しい番号
アドレスの長さ32ビット128ビット
使えるアドレスの数約43億個(2の32乗)約340澗個(2の128乗)
表記の方法10進数を「.」で4つに区切る16進数を「:」で8つに区切る
表記の例192.168.1.102001:db8::1
基本ヘッダーの長さ20〜60バイト(可変)40バイト(固定)
全員宛ての一斉送信ブロードキャストを使うブロードキャストはなく、マルチキャストで代替する
アドレスの設定手動またはDHCPで割り当てるのが基本機器が自動でアドレスを作る仕組み(SLAAC)を標準で備える

「ヘッダー」とは、データの先頭に付ける宛先などの情報のこと。荷物に貼る送り状にあたる。IPv6ではアドレスが長くなったぶんヘッダーも大きくなったが、項目を整理して長さを固定にすることで、途中の通信機器が処理しやすい形に見直されている。単に桁を増やしただけではなく、IPv4の長年の運用経験を踏まえて送り状の書式ごと作り直した、と捉えると理解しやすい。

なぜIPv4だけではダメなのか?そして、なぜすぐIPv6に切り替わらないのか?

IPv4のアドレス不足に対しては、これまでも延命策が取られてきた。代表が「NAT(ナット)」という仕組みで、家庭や会社の中では内部専用のアドレス(プライベートIPアドレス)を使い、インターネットに出るときだけ、1つの共有アドレスに付け替える。会社の代表番号と内線番号の関係に近い。外から見える番号は1つだが、中では内線で多くの電話機を使い分けている。

ただし、これは根本的な解決ではない。付け替えの処理が挟まるぶん仕組みが複雑になり、外部から内側の機器に直接つなぎたい用途では工夫が必要になる。つながる機器が増え続ける以上、アドレスそのものを増やすIPv6への移行が必要になる。

では、なぜ一気に切り替わらないのか。理由は、IPv4とIPv6に直接の互換性がないから。桁数の違う電話番号どうしでは、そのまま電話をかけ合えないのと同じだ。世界中の機器やサービスを同じ日に切り替えることは現実的ではないため、次のような方法で両方を並行して使っている。

方法内容
デュアルスタック1台の機器にIPv4とIPv6の両方のアドレスを持たせ、相手に合わせて使い分ける
トンネリング一方の形式の通信を、もう一方の形式の通信で包んで運ぶ
トランスレーション途中の装置でIPv4とIPv6を相互に変換する

編集部としては、学習の順番は「まずIPv4をしっかり、そのうえでIPv6との差分を押さえる」が効率的だと考えている。サブネットマスクやルーティングといった基本的な考え方は共通しており、IPv4で身につけた理解がそのままIPv6でも土台になるからだ。

自分の環境がどちらで通信しているかを確かめるステップ

ステップ内容
1. 端末のアドレスを表示するWindowsならコマンドプロンプトで ipconfig、macOSやLinuxならターミナルで ifconfig または ip addr を実行する
2. IPv4アドレスを探す「192.168.1.10」のように、ドットで区切られた4つの数字を探す
3. IPv6アドレスを探す「fe80::」や「2001:」などで始まる、コロンで区切られた16進数を探す
4. 種類を見分ける「fe80::」で始まるものは同じネットワーク内だけで使えるリンクローカルアドレス。それ以外のIPv6アドレスがあれば、インターネット側ともIPv6で通信できる可能性がある

教科書の表を眺めるより、自分の端末に実際に両方のアドレスが割り当てられているのを見るほうが、ずっと記憶に残る。

まとめ:3行で理解するIPv4とIPv6

IPv4は32ビットで約43億個、IPv6は128ビットで約340澗個。最大の違いはアドレスの数で、IPv6はIPv4のアドレス不足を解消するために作られた。両者に互換性はないため、今はデュアルスタックなどで共存させながら移行している段階にある。まずは手元の端末で ipconfig を打ってみてほしい。用語が、自分の端末の話に変わるはずだ。

よくある質問

Q1. IPv6にすると通信速度は速くなりますか?

IPv6という通信ルールそのものが、速度を上げるわけではない。ただし日本の家庭向け回線では、IPv6を使う接続方式(IPoE方式)のほうが、従来の方式(PPPoE方式)で混雑しやすい設備を通らずに済むため、結果として速くなる場合がある。速くなる理由は「IPv6だから」ではなく「通る経路が違うから」と理解しておくと正確だ。

Q2. IPv4はいつか使えなくなるのですか?

現時点で、IPv4が廃止される期日は決まっていない。新しく配れるアドレスの在庫が尽きたというだけで、すでに割り当てられているIPv4アドレスは今も使われ続けている。当面は両方が併用される状況が続くと考えられるため、学習者はどちらも理解しておく必要がある。

Q3. IPv6にはプライベートIPアドレスにあたるものはありますか?

ある。組織内だけで使うことを想定した「ユニークローカルアドレス(fc00::/7)」と、同じネットワーク内だけで有効な「リンクローカルアドレス(fe80::/10)」が定義されている。ただしIPv6はアドレスが豊富にあるため、IPv4のように「数が足りないからNATで共有する」という使い方を前提にしていない点が異なる。

Q4. 基本情報技術者試験では、IPv4とIPv6はどう問われますか?

アドレスのビット数(32ビットと128ビット)、IPv6の表記ルール(16進数・コロン区切り・0の省略)、IPv4のアドレス枯渇とNATの役割などが定番の論点。IPv6の省略表記から元のアドレスを復元させる問題も出されることがあるので、「先頭の0は省ける」「::は1か所だけ」という2つのルールは手を動かして確認しておきたい。

参考:RFC 8200「Internet Protocol, Version 6 (IPv6) Specification」

参考:RFC 791「Internet Protocol」

コメント

タイトルとURLをコピーしました