IPv4とIPv6の違いを解説

- 10 April 2025
インターネットは、さまざまなネットワークを介して相互に接続された数十億台のデバイスの集合体です。通信を円滑に行うためには、これらのデバイスすべてを一意に識別できる必要があります。
これはIPアドレスによって実現されます。IPはインターネットプロトコルの略です。インターネットプロトコルとは何でしょうか?
インターネットプロトコルは、インターネット上でのデータのルーティングとアドレス指定方法を管理します。
インターネットプロトコルの構成要素の一つがIPアドレスです。IPアドレスは、インターネットに接続されたデバイスに割り当てられる一意の10進数または16進数です。インターネット上のすべてのデバイスは、IPアドレスを使用して互いを見つけ、接続します。
IPアドレスがないと、インターネット上のデバイスとやり取りすることはできません。これがIPアドレスが必要な理由です。
現在、IPアドレスには主に2種類あります。IPv4とIPv6です。IPv4は最も一般的に使用されている、より古く、より成熟したバージョンです。一方、IPv6はより新しく、より優れたバージョンです。
当然のことながら、「なぜ2つのバージョンがあるのか?」、そしてさらに重要な「違いは何なのか?」と疑問に思われるかもしれません。これから、これらの疑問にお答えします。
IPv4とは
IPv4アドレスは32ビットの10進数です。これらのアドレスの形式は、0から255までの4つの数字セグメントで構成され、ドットで区切られます。例:
192.168.1.1
これは IPv4 アドレスです。
IPv4 のアドレス空間、つまり作成可能な一意の組み合わせの数は約 40 億です。残念ながら、スマートフォンや IoT デバイスの普及により、インターネット上には 40 億台をはるかに超えるデバイスが存在します。
その結果、IPv4 アドレス空間は完全に使い果たされ、新しいデバイスに一意の IPv4 アドレスを割り当てることができなくなります。そのため、デバイスは古いアドレスが利用可能であればそれを再利用し、NAT などの不完全なソリューションに頼らざるを得なくなります。この現象は IPv4 枯渇 と呼ばれています。
IPv6とは
IPv6アドレスは、飽和状態にあるIPv4のアドレス空間に対処するための新たな試みです。そのため、IPv6アドレスは128ビットの16進数で構成されます。
IPv6アドレスはオクテットと呼ばれる8つのセグメントで構成され、各オクテットは0000からFFFFまでの16進数値を持つことができます。各セグメントはセミコロンで区切られます。典型的なIPv6アドレスは次のようになります。
2001:0db8:85a3:0000:0000:8a2e:0370:7334
IPv6では、0のみのオクテットは非表示にすることができ、オクテットの先頭にあるすべての0も非表示にすることができます。したがって、上記の例も次のように表すことができます。
2001:db8:85a3:8a2e:370:7334
IPv6のアドレス空間は300 十兆です。これは、天文学的な数のユニークなIPアドレスです。
IPv6はなぜ作られたのか?
IPv6は、IPv4のアドレス空間の限界という問題を解決するために作られました。詳しく見ていきましょう。
IPv4のアドレス空間のジレンマとNAT
IPv4は、アドレス空間をすべて使い果たしています。さまざまなISPへのIPアドレス割り当てを担当する組織(Ripe NCC)は、2019年11月に、IPv4アドレス空間が正式に枯渇したと発表しました。
急速に減少するアドレス空間に対処するために、NAT(ネットワークアドレス変換)と呼ばれる技術が開発されました。この技術により、複数のデバイスで同じIPアドレスを使用できるようになります。
NAT技術は1990年代に開発されました。当時、IPv4アドレスの枯渇はもはや避けられないものだったからです。
NATの使用により、現在パブリックIPアドレスとプライベートIPアドレスと呼ばれるものも生まれました。プライベートIPアドレスは単一のデバイスに割り当てられますが、インターネット全体で共有されることはありません。プライベートIPアドレスは内部ネットワーク内でのみ使用されます。そのため、異なるネットワーク上の複数のデバイスが同じプライベートIPアドレスを持つ可能性があります。
パブリックIPアドレスは、インターネットアクセスポイント(自宅のルーターまたはWi-Fiデバイス)に割り当てられます。1つのアクセスポイントに接続されたすべてのデバイスは、そのパブリックIPアドレスを使用してインターネットの他の部分に接続します。
アクセスポイントは、MACアドレスを使用してトラフィックを適切なデバイスにルーティングする方法を認識しています。インターネットリソースへのすべてのリクエストと、そのリクエストの送信元デバイスを追跡できるため、特定のインターネットリソースからのすべての受信トラフィックは、送信元のデバイスに自動的に転送されます。
パブリックIPアドレスを確認するには、オンラインのツールを使用できます。これらのツールは、パブリックIPアドレスを確認し、レポートしてくれます。 NAT 構成では、このようなツールを使用すると、すべてのデバイスに対して同じ IP アドレスが返されるはずです。
プライベート IP を確認するには、コマンドプロンプトまたはターミナルで ipconfig などのシステムコマンドを使用する必要があります。
NAT の問題点
NAT は解決策ではありますが、大きな欠陥があります。 IPv6 への移行が必要となる、その欠点をいくつか以下に挙げます。
- 複雑な設定:NAT の設定と管理は、特に大規模ネットワークでは複雑になる場合があります。
- 直接通信が遮断される:NAT はエンドツーエンドの通信を遮断し、プロトコルの問題(VoIP や P2P アプリなど)を引き起こします。
- パフォーマンスのオーバーヘッド:NAT は余分な処理を追加するため、ネットワークのパフォーマンスが低下する可能性があります。
- 一部のプロトコルで問題が発生する:IPsec や FTP などのプロトコルを NAT と連携させるには、追加の手順と作業が必要です。
- パブリック IP の制限:1 つのパブリック IP を複数のデバイスで共有すると、同時接続数が制限される可能性があります。
- デバイスの追跡が困難:どの内部デバイスが原因となっているかを追跡することが困難です。複数のデバイスが1つのパブリックIPを共有するため、アクションは発生しません。
- P2Pアプリケーションの問題:ピアツーピアアプリは、NATの制限により接続に問題が生じることがよくあります。
- ホスティングサービスの課題:NATの背後にあるホスティングサービスでは、ポート転送などの複雑な設定が必要です。
- 強力なセキュリティソリューションではない:NATは内部IPを隠しますが、暗号化などの真のセキュリティ対策は提供しません。
IPv6 はこれらの問題をどのように解決するのか
前述のとおり、IPv6 のアドレス空間は 300 十億です。つまり、300 の後に 33 個のゼロが続きます。その様子は以下のとおりです。
300,000,000,000,000,000,000,000,000,000,000,000
これは広大なアドレス空間です。実際、地球上のすべてのデバイスに固有の IP アドレスを提供するのに十分な空間があり、さらに十分な余裕があります。つまり、NAT も不要です。したがって、IPv6 を使用すれば、NAT 使用に伴うあらゆるデメリットを回避できます。
IPv4 と IPv6 の違い
IPv4 と IPv6 の基本を理解したところで、主な違いを確認してみましょう。
フォーマットやアドレス空間の違いなどについては既に理解しているので、ここでは省略します。
ヘッダーの複雑さ
他のすべてのネットワークプロトコルと同様に、インターネットプロトコルにもヘッダーがあります。ヘッダーは、プロトコルのペイロードを処理するために必要な重要な情報を提供します。
IPv4ではヘッダーサイズが大幅に大きくなったため、ルーターはIPv4パケットを処理するためにより多くの処理を必要とします。IPv4ヘッダーの重要な構成要素をいくつか紹介します。
- 12個のフィールドがあります。
- 送信元アドレスと宛先アドレスの両方を含みます。各アドレスは32ビットです。
- 各パケットのTTL(存続時間)を定義します。
- エラー検出用のヘッダーチェックサムがあります。
- 機能を追加するためのさまざまなオプションがありますが、それによって複雑さも増します。
一方、IPv6 のヘッダーははるかにシンプルです。
- フィールドは 8 つだけです。
- エラー処理は OSI モデル の別のレイヤーに委ねられているため、チェックサムフィールドはありません。
- オプションフィールドはありません。機能を追加するには、代わりに拡張ヘッダーが使用されます。
- 固定長ヘッダーがあります。
セキュリティ機能
セキュリティは今やインターネットに不可欠な要素ですが、当初は後付けのものでした。
IPv4 はデフォルトでは安全ではありませんでした。IP パケットを暗号化するために、後に IPsec が作成されました。そのため、IPv4ではIPsecを手動で設定する必要があります。
一方、IPv6には暗号化と認証が組み込まれているため、デフォルトでより安全です。
ブロードキャストとマルチキャスト
IPv4パケットはネットワーク内でブロードキャストされます。ブロードキャストとは、ネットワーク内のすべてのデバイスに、そのデバイス宛てかどうかに関係なく信号が送信されることを意味します。該当のパケットに関係のないデバイスは信号を無視しますが、他のデバイスは信号を使用します。
ブロードキャストは、不要なトラフィックを大量に送信してネットワークを混雑させるため、適切な解決策ではありません。
一方、IPv6パケットはブロードキャストではなくマルチキャストです。マルチキャストは、ネットワーク全体ではなく特定のデバイスにのみパケットを送信するという点でブロードキャストとは異なります。これは、ネットワークの混雑を軽減するより効率的な解決策です。
フラグメンテーション処理
パケットのフラグメンテーションとは、パケットを複数の小さなパケット(フラグメント)に分割し、ネットワークセグメントに送信できるようにすることです。
フラグメンテーションは、ネットワークセグメントが一定サイズを超えるパケットを処理できない場合に必要になります。
IPv4では、フラグメンテーションはルーターによって処理されます。ルーターはフラグメンテーションを処理する必要があり、遅延が発生します。
IPv6では、送信側がフラグメンテーションを処理します。送信側は最適なサイズのパケットを作成するため、フラグメント化する必要がなくなります。これにより、ルーターの処理負荷が軽減され、ルーティングがより効率的かつ高速になります。
互換性
IPv4とIPv6には互換性がありません。 IPv6 パケットを IPv4 ネットワーク経由で送信することはできず、その逆も同様です。
ただし、IPv4 の方がはるかに普及しているため、IPv6 トラフィックを IPv4 ネットワークで動作させる方法が必要です。
現在使用されている 2 つのソリューションは次のとおりです。
- デュアルスタック - デバイスは IPv4 と IPv6 を同時に実行します。
- トンネリング - IPv6 トラフィックは IPv4 パケット内に包まれ、IPv4 ネットワーク経由で送信されます。
IPv4 と IPv6 の比較
機能 |
IPv4 |
IPv6 |
アドレス長 |
32 ビット |
128 ビット |
アドレス形式 |
ドット付き 10 進数(192.168.1.1) |
コロン付き16進数 (2001:db8::1) |
アドレス総数 |
約43億 |
事実上無制限 |
ヘッダーの複雑さ |
12フィールド (より複雑) |
8フィールド (より単純で、より効率的) |
セキュリティ |
オプションの IPsec 外部セキュリティが必要です |
IPsec が組み込まれているため、より強力なセキュリティを実現 |
ブロードキャスト |
ブロードキャスト を使用します (効率が低い) |
マルチキャスト を使用します (パフォーマンスが高い) |
互換性 |
互換性がありませんIPv6 |
IPv4 との下位互換性はありません |
フラグメンテーション |
ルーターがフラグメンテーションを処理します |
送信側のみがパケットをフラグメント化します |
ネットワーク構成 |
手動または DHCP が必要 |
自動構成 をサポート |
導入状況 |
依然として広く普及しています使用 |
徐々に導入が進んでいる |
まとめ
以上がIPv4とIPv6の違いです。IPv6の導入は一般的になりつつあるので、ぜひ知っておいてください。IPv6導入における最大のハードルは、IPv6機能を有効にするためのネットワークインフラのアップグレードにかかるコストです。しかし、数年後には政府やISPが古いインフラの置き換えに取り組んでいるため、この問題はもはや問題ではなくなるでしょう。これでIPv4とIPv6に関する議論は終わりです。
関連ブログ

How to Flush DNS Cache
Learn how to easily flush your DNS cache to fix loading issues, refresh connections, and keep things running smoothly online
- 22 Apr 2025

