IPv4 vs IPv6?その違いは何ですか?それぞれの長所と短所は?
IPv4は現在のところ、最も一般的で広く使われているインターネット・プロトコルのバージョンである。IPv4がインターネットを支えていることに変わりはないが、 IPv6 (その新しいバージョン)が徐々に関心を集めている。
この記事では、両方のIPプロトコルについて説明します。両者の違いを、深い技術的な説明を交えて説明します。そして、11の重要な違いについて説明します。
目次
- IPv4とは?
- IPv6とは何か?
- 11の主な違い:IPv4とIPv6の違い。
- アドレスの組み合わせの数。
- 異なる住所表記。
- 短縮テクニック。
- アドレスのタイプとスコープは異なる。
- グローバルユニークアドレスとパブリックアドレスの比較。
- ローカルアドレスの割り当てが異なる。
- ヘッダーの違い(制御ビット)
- 誰がNAT(ネットワークアドレス変換)を必要とするのか?
- IPSecの実装
- ブロードキャスト、マルチキャスト、エニーキャスト。
- 速度のIPv4とIPv6。どちらが速い?
- IPv6とIPv4:相違点チャート.
- IPv4とIPv6のFAQ。
1.IPv4とは?
IPv4(インターネット・プロトコル・バージョン4)は、インターネット全体を機能させる主要なインターネットワーキング・プロトコルである。IPv4は アールエフシー791 1981年から。IPv4は、ネットワーク(インターネットを含む)に接続された各デバイスに一意の識別子を与える。
IPv4パケットのサイズは、オプション・フィールドとデータ・フィールドによってビット単位で異なる場合がある。IPv4パケットの最小サイズは20バイト(制御用)から最大60バイトまで。 IPパケットには制御プレーン(ヘッダー)とデータプレーン(ペイロード)が含まれる。
パケットの最初の4ビット(Version)はIPのバージョンを示す。矢印は、プロトコルのバージョンが表示されるパケットヘッダの最初のビットを示す。
IPv4が制御フィールドに何を持つかを知ることは、IPv4とIPv6の決定的な違いを理解するのに役立つ。
では、これらのパケット・フィールドが何であるかを定義してみよう:
- バージョン(ビット4):パケットのバージョンを指定する。
- IHL(ビット4):インターネットヘッダ長(IHL)はヘッダの長さを指定する。
- サービスタイプ(TOS - 8ビット):データグラムの処理方法を指定する。
- 全長(16ビット):データグラムの長さ。
- Identification(16ビット):他のデータグラムのフラグメントを識別する。
- フラグ(3ビット):フラグメント、フラグメントなし、フラグメント以上。
- フラグメントオフセット(13ビット):フラグメントをアセンブルする。
- Time to Live(TTL-8ビット):データグラムの寿命を示す。
- プロトコル(8ビット):このフィールドは次にカプセル化されるプロトコルを指定する。
- ヘッダーチェックサム(16ビット):破損パケットの検出に役立つ。
- 送信元アドレス(32ビット):送信元(送信者)のIPアドレス
- 宛先アドレス(32ビット):宛先(受信側)のIPアドレス。
- オプション(可変ビット):オプションのパラメータ。
- データ(最大524,120ビットまたは65Kバイト):受信機に送信するIPデータ(もしあれば)を運ぶ。
以下は、IPv4パケットがパケットスニッファー(Wireshark)からどのように見えるかの写真である。 IPパケットキャプチャを使えば、特定のパケットにどのような制御パラメータが使われているかを特定できる。矢印(下図)のように、このIPパケットはバージョン4である。以下は、バージョンとパケット長を表す16進数(45)である。
興味深い事実だ! では、IPv1、IPv2、IPv3、IPv5はどうなったのか?IEEEと科学者たちは、完全に運用可能なIPアドレス方式であるIPv4が登場するまで、3つのバージョン(IPv1、IPv2、IPv3)で実験を行った。そしてIPv5が登場したとき、それはストリームプロトコル(SP)の実験として使われたため、IP科学者たちは実験との混同を避けるためにIPv6という名前に変更することにしました。
b.IPv4アドレスのフォーマット。
コンピューターは16進数で会話する。しかし、16進数は人間にとって消化しにくいため、IPv4アドレスは10進数表記を使用している。IPv4アドレスは、4つのオクテット(32ビット/4=8)をドットで区切った10進数表記で記述される。各オクテット(8ビット)は10進数で0~255の範囲になる。アドレスは、IPv4アドレスのクラス(A、B、C)によって長さが異なるネットワーク識別子とホスト識別子、およびいくつかの予約ビット(クラスを定義する)に分けられます。
例として、下の図はクラスBのIPv4アドレス172.16.254.1を示しており、32ビットのアドレスが4つ(8ビット)に分割されている。
興味深い事実だ! IPv4アドレスの組み合わせ可能総数は約40億個で、これは世界中の人間2人にほぼ1個のIPアドレスを割り当てていることになる。しかし、この膨大な数の組み合わせにもかかわらず、世界的な通信を提供するにはまだ十分なIPがない。IoTデバイス、仮想化、クラウド、そして特にIPv4の不適切な割り当てなど、この枯渇には多くの理由がある。
2.IPv6とは?
IPv6技術は以下のように定義されている。 RFC 2460 IPv6アドレスは128ビットのアドレス空間を使用する。IPv6アドレスは128ビットのアドレス空間を使用し、IPv4の32ビットが2^32であるのに対し、2^128のアドレスとなる。128ビットの組み合わせは2進数表記となり、人間が記憶するには難しすぎるため、IPv6は16進数で表記される。
以下に例を挙げて説明する。IPV6アドレス(0123:4567:89ab:cdef:0123:4567:89ab:cdef)の長さは16バイト(または128ビット)です。コロン(:)で区切られた16ビットの8つのグループで構成される。8×16=128ビットである。
2001:0db8:0000:0000:0000:ff00:0042:8329のようなIPv6アドレスは、管理、記憶、使用するのが非常に困難です。そこでIPv6では、先頭や連続するゼロの部分を省略するなどのルールを導入し、短縮化を図りました。例えば、以前のアドレスは、これらのルールを適用した後、2001:db8::ff00:42:8329に短縮することができます。
IPv6アドレスは半分に分割される。最上位ビット(左端)の64ビットはネットワークを表し、インターネット上のルーティングプレフィックスとして使用される。もう半分(n-128)の最下位側(右端)の64ビットはインターフェイス識別子を表し、ローカルネットワーク内のホストに使用される。
a.IPv6パケット。
IPv6とIPv4のパケットフォーマットは非常に似ている。IPv6には、データ転送に使われるペイロードと呼ばれる「データ」スペースと、ヘッダーと呼ばれる「制御」スペースがある。ヘッダーとペイロードを含むIPv6パケット全体の最小サイズは1280バイトで、ヘッダーは固定で40バイト、「オプションのペイロード」は1240バイトである。
IPv6のパケットフォーマットを見ると、IPv4よりもずっとシンプルであることにすぐに気づくだろう。よりシンプルだが、はるかに大きい!
IPv6固定制御パケットは、この中の320ビット(40バイト)で構成される:
- バージョン(4ビット):IPv4またはIPv6パケットの最初の4ビットは似ており、IPバージョンを決定する。
- Traffic Class(8ビット):パケットの優先度を決定します。
- フロー・ラベル(20ビット):QoS(サービス品質)を決定する。
- ペイロード長(16ビット):データ用に予約された長さを示す。
- 次のヘッダー(8ビット):このフィールドは次のヘッダーを示す。
- ホップリミット(8ビット):Time to Liveは2つのIPv6ノード間の最大ホップ(リンク)数を制限する。
- 送信元アドレス(128ビット):パケットの送信元(デュアルスタック環境ではIPv4またはIPv6)。
- 宛先アドレス(128ビット):パケットの行き先(デュアルスタック環境ではIPv4またはIPv6)。
IPv6制御パケットは、フラグメンテーション、ルーティング、セキュリティ(IPSec)など、パケットの詳細情報を含むように拡張することもできる。最後の拡張であるIPSecは、今日主要なVPNプロトコルとして広く使われており、IPv6に組み込まれている。
11の主な違い:IPv4とIPv6の違い。
以下は、IPv4とIPv6の主な11の相違点である。
1.IPv6は気の遠くなるような数のアドレスを提供する。
IPv6は、IPv4アドレスの枯渇に対処するために導入された。IPv4のアドレスサイズは32ビットであるのに対し、IPv6のアドレスサイズは128ビットである。IPv6のフォーマットは、気の遠くなるような数のネットワークアドレスの組み合わせをサポートすることができる。IPv4が約40億のアドレスになるのに対し、IPv6は約340兆兆のIPアドレスを与えることができる。IPv6が開発された日から今日まで、IPv6プロトコルはIPv4の枯渇問題に対処し、さらなる利点とサービスを提供してきました。
2.IPv4とIPv6ではアドレス表記が異なる。
IPv4アドレスは10進数表記を使い、IPv6アドレスは16進数表記を使う。IPv4の方がサイズが小さい(32ビット)ため、10進数表記で書いて記憶することが可能であり、その結果4つの10進数になる。しかし、IPv6(128ビット)を10進数で使用することは不可能なので、IPv6アドレスは16進数を使用します。各16進数は4ビットで形成され、32個の16進数になる。
3.IPv6には短縮技術がある-IPv4にはない。
IPv6フォーマットはアドレス指定機能の拡張に役立つ。IPv6アドレスは、ダブルコロンと先頭のゼロを省略して省略することができます。ダブルセミコロンは、IPv6アドレスのセクション全体を省略することができます。例えば、IPv6アドレスff06:0:0:0:0:0:0:c3は、ff06::c3と書くことができます。この省略は、IPv6アドレスの表記を簡略化するために行われました。また、ダブルコロン(::) は、IPv6アドレスの連続するゼロの部分を省略するために一度だけ使うことができる。.これは曖昧さを避けるためである。
4.IPv6とIPv4のアドレスタイプとスコープは異なる。
IPv6には3種類のアドレスがある:グローバルユニキャストアドレス、ユニークローカルアドレス、リンクローカルアドレスです。IPv6グローバルユニキャストアドレスは、インターネット上でルーティングされるIPv4パブリックアドレスと同じ目的を果たす。インターネット当局はこれらのアドレスをISPまたはLIRに割り当て、ISPまたはLIRはリースまたは販売を通じてアドレスを割り当てます。IPv4とIPv6の違いは、内部ローカルアドレスまたはプライベートアドレス空間にある。IPv4は予約番号範囲(クラスA、B、C)を持つ内部アドレスを使用し、インターネット上で一般にルーティングされることはない。しかし、IPv6はユニークアドレスとリンクローカルアドレスの2種類の内部アドレスを使用する。ユニークアドレスは内部ネットワークまたはVPNでルーティングされ、リンクローカルは単一のネットワークドメインに使用され、外部にも内部にもルーティングされない。
5.IPv6のグローバルユニークアドレスは、IPv4のパブリックアドレスとは異なる。
IPv4とIPv6のアドレス形式は、ネットワークとホストに分割され、さらにサブネットに起因する第3の部分がある。しかし、それでもIPv6は、より大きなサイズに対応するために、さらに微調整を加えて設計する必要があった。IPv6はホストのプレフィックス全体を省略することができる。ルーティングテーブルのサイズを小さくし、インターネット上でより高速で効率的なルーティングを行うのに役立つ機能だ。例えば、IPv6のネットワークプレフィックス(上位64ビット)は単一のプレフィックス(/48や/64など)にまとめることができ、ホストプレフィックスは完全に省略することができる。
6.ローカルアドレスの割り当ての違い(DHCPと自己割り当て)。
IPv4では、ローカルアドレスはサードパーティのDHCPサーバーまたは手動設定によって割り当てられ、少数のケースでは、サブネット内のリンクローカルIP(169.254.0.0/16)を自己割り当てする。IPv6ローカルアドレスの場合、DHCPv6による動的割り当てが可能ですが、必須ではありません。IPv6アドレスは、2種類の自動設定(ステートフルおよびステートレス)を使用して動的に割り当てることができます。IPv6のステートフル自動設定またはDHCPv6は、DHCPのIPv4と似ていますが、ステートレス自動設定は異なり、現在ではIPv6環境のデフォルトモードになっています。IPv6のステートレス自動設定では、拡張一意識別子(EUI-64)フォーマットのガイドラインを使用して、下位64ビット(インターフェースID)が物理アドレス(MAC)から導出されます。
7.IPv6はIPv4よりもヘッダーがスリムである。
IPv4ではヘッダー長は60バイトに制限されているが、IPv6では最大40バイトである。その理由の一つは、IPv6のヘッダーはIPv4パケットのようにチェックサムフィールドを使用しないからである。チェックサムフィールドはIPでは冗長であり、エラーチェックはTCPのような他のレイヤーで実行されるからである。2つ、3つのレイヤーでチェックサムをチェックし、再計算することはルーティングを非効率にする。フラグメント・フィールドもその一例である。フラグメンテーションはIPv6より下のレイヤと送信者が提供しなければならない。IPv6では、フラグメントフィールドは必須からオプションに移動した。
8.IPv4にはNATが必要だが、IPv6には必要ない。
IPv4の世界では、ネットワークアドレス変換(NAT)はIPアドレス空間を再利用するために必要なプロトコルである。NATはパブリックIPアドレスをプライベートIPアドレスにマッピングし、ネットワークの安全性を高め、アドレス空間を節約します。それでも、NATの実装が悪いと、ネットワークがより遅く、より複雑になります。IPv6にはアドレス不足がないため、NATは必要ない。NATが提供する追加のアドレス空間は、IPv6のアドレススコープで可能な巨大なアドレス空間とは比較にならないだろう。実際、IPv6を使いたい新しいネットワーク実装は、NATから離れることをお勧めする。
9.IPv4ではIPSecを実装する必要があるが、IPv6では組み込まれている。
インターネット・プロトコル・セキュリティ(IPsec)は、データ・パケットの認証と暗号化メカニズムを提供するネットワーク・プロトコルである。IPSecは仮想プライベートネットワーク(VPN)でよく使われるセキュリティプロトコルである。IPv4では、IPSecはオプションのフィールドですが、IPv6ではビルトインで常に利用可能です。IPSecはまだオプション(つまり、無効にできる)ですが、IPv6の新しい実装にはIPSecのサポートが付いています。IPSecがIPv6に組み込まれているとはいえ、IPv4よりも自動的に安全性が高くなるわけではありません。IPSecの悪い実装は、セキュリティが全くないのと同じくらい安全ではありません。
10.IPv4はブロードキャスト、IPv6はマルチキャストとエニーキャスト。
ブロードキャスト・メッセージはIPv4で利用可能です。ブロードキャスト・メッセージでは、どのデバイスも接続されているすべてのノードにパケットを送信できます。それでも、IPv4のブロードキャストメッセージはパフォーマンスの問題から制限されなければならない。IPv6ではブロードキャストの概念はとっくになくなっている。IPv6は同様の機能を提供するために、マルチキャストやエニーキャスティングといった他の技術に依存している。マルチキャストは、特定のグループによって定義された特定のドメインに送信されるメッセージである。さらに、IPv6ではエニーキャストという新しい概念が導入された。エニーキャストとは、デバイスのグループのメンバー全員に送信されるメッセージである。
11.IPv4とIPv6の速度比較。どちらが速いか?
速度に関しては、2つのプロトコルにはわずかな違いしかない。理論的には、IPv6はIPアドレスを別のIPアドレスにマッピングするNAT(Network Address Translate)を必要としないため、IPv6の方が若干速くなるはずである。しかし、IPv6はデータパケットが長いので、理論的にはIPv4より遅くなるはずです。前節で示したように、IPv4が32ビットであるのに対し、IPv6は128ビットを使用する。
では、IPv4とIPv6の速度の違いは現実にはどうなのだろうか。今のところ、この2つの速度の違いを生み出しているのは、IPv4(基盤となるすべてのインフラ、ソフトウェアなどを含む)がIPv6よりもはるかに確立され、サポートされ、最適化されているということだ。しかし、IPv6にはNATがなく、マルチキャスト技術に依存しているため、直接接続でテストする場合はIPv6の方が速い。そのため、IPv6技術がより成熟するにつれて、その速度はより速くなるでしょう。速度に関してはるかに優れているアプリケーションの例は以下の通りです。 IPv6プロキシ.
4.IPv6 vs. IPv4:相違点チャート。
さて、それぞれのIPバージョンを理解したところで、根本的な違いを定義してみよう。そのために、VS.チャートを使って説明しよう。 以下の表は、IPv4アドレスとIPv6アドレスの違いを比較するのに役立ちます。
IPv4 | IPv6 | |
配備された年 | 1981 | 1999 |
アドレス・サイズ(ビット) | 32ビット | 128ビット |
表記。 | 2進数4オクテットは10進数で表される。 | 8つの2進数4進数は16進数で表される。 |
フォーマット | 192.168.0.0/24 | 2001:db8::/48 |
パケットサイズ | 576バイト(断片化が必要) | 1280バイト(フラグメンテーションなし) |
住所数 | 2^32 ≒ 40億 | 2^128 ≒ 340兆兆兆円 |
ペイロード(データ) | ペイロード長フィールド 16ビット長(データ) | ペイロード長フィールド 16ビット長(データ用) |
ループバックアドレス | 120.0.0.1 | ::1 |
ヘッダー | 可変長ヘッダー。 | 固定長ヘッダー。 |
ダイナミック・アドレス | ディーエイチシーピー | DHCPv6またはSLAAC。 |
断片化。 | ルーターと送信ホスト。 | 送信者のみ。 |
ブロードキャスト | ブロードキャストメッセージが利用できる。 | ブロードキャストなし。(しかし、似たような機能のためにマルチキャストを使用する) |
IPSec | オプション | 内蔵。いつでも使用可能。 |
L3-L2解像度 | ARPブロードキャスト | マルチキャストネイバー勧誘。 |
ルーターディスカバリー | オプション | 必須 |
フロー識別 | 入手不可 | IPv6で利用可能 |
チェックサム | IPv4で利用可能 | 必要ない。 |
セキュリティ | 必須ではない | IPSec内蔵 |
5.IPv4とIPv6のFAQ。
a.IPv6は何に使われるのですか?
IPv6はIPv4のアドレス枯渇問題に対処するために設計された。IPv4と同じように、ネットワーク上のデバイスにアドレスと識別を提供するが、その規模ははるかに大きい。IPv6は、IoTデバイス、仮想化、クラウドの増加に対応するのに役立つだろう。
b.どちらが速いか:IPv4かIPv6か?
どのメカニズムも他より高速ではない。IPv6はよりスリムでシンプルなヘッダーを提供し、より効率的なルーティングとパケット処理を可能にする。NATからの解放に加えて。しかし、IPv6の実装が悪ければ、IPv4のネットワークはもっと遅くなる。
c.どちらがより安全か:IPv6とIPv4ではどちらが安全か?
ipv4とipv6のセキュリティ上の違いは、実装に依存する。IPv6とIPv4ではセキュリティ機能や脆弱性が異なるからだ。しかし、IPv6はセキュリティを考慮して設計されており、IPv4にはないセキュリティ機能がいくつか含まれている。例えば、IPv6にはIPsec(インターネット・プロトコル・セキュリティ)(VPNプロトコル)が必須機能として含まれており、ネットワークトラフィックの暗号化と認証を提供する。さらに、IPv6はより大きなパケットサイズをサポートしているため、攻撃者はフラグメンテーション攻撃などの特定の種類の攻撃を行うことが難しくなっています。一方、IPv4は古いプロトコルであり、セキュリティを第一に考えて設計されていません。IPv4もIPsecをサポートしていますが、これは必須の機能ではなく、多くのデバイスやネットワークはIPsecを使用していません。
d.VPNのためのIPv4とIPv6?
どちらもVPNに使用できるが、考慮すべき点がいくつかある。IPv4はより古く、より広く使われているプロトコルです。そのため、多くのVPNはいまだにIPv4のみに依存しています。しかし、VPNに関しては、IPv6にはIPv4よりも優れた点がいくつかあります。IPv6は、内蔵のIPsec暗号化と認証を使用することで、VPN接続のパフォーマンスとセキュリティを向上させることができます。またIPv6では、IPv4に依存するVPNで問題となるNATの問題も回避できる。しかし残念ながら、IPv6はまだIPv4ほど広く採用されていません。多くの組織やサービスプロバイダーはまだIPv6に完全に移行していません。また、IPv6のVPN接続をサポートしていないVPNもあります。
d.ゲームにおけるIPv6とIPv4の比較?
IPはアドレッシングと識別を提供するもので、アプリケーションに影響を与えることはありません。しかし、ゲーム中にIPv4とIPv6を使用する際には、いくつかの違いがあります。主な違いは、IPv4はNATに依存するため、パケットが複数のNATを通過するとゲーム体験(FPS)が遅延する可能性があることです。
e.IPv4かIPv6かを知るには?
現在IPv4とIPv6のどちらを使用しているかを調べる最も簡単な方法は、次のような簡単なオンラインテストを行うことです。 テスト・マイ・IPv6 や、 ipv6-test.com.Windowsでは "コマンドプロンプト"、macOSやLinuxでは "ターミナル "を開き、"ipconfig "または "ifconfig "と入力することもできます。インターフェイスのIPアドレスが表示されます。
f.IPv6はいずれなくなるのか?
その数は無限ではないが、IPv6はほぼ無限のプールを持つように設計されている。340兆、1兆、1兆のIPv6アドレスがあり、インターネットに接続する何兆兆ものデバイスをサポートするには十分すぎるほどだ。IPv6は事実上、すぐに枯渇することはないだろう。
g.IPv4はいつ廃止されるのか?
IPv4が枯渇しつつあるのは事実であり、それこそがIPv6が必要とされる理由である。IPv4アドレスの枯渇問題を解決し、また技術革新とサービスのための多くの扉を開く。IPv6が登場して約10年、IPv6へのアップグレードは遅々として進んでいないが、IPv6はまだ広く普及していない。しかし、それでもIPv6の普及率は着実に上昇している。
h. ゲームにおけるipv6とipv4。どちらが良いですか?
すべての新しいビデオゲーム機がIPv6をサポートしているという事実が、移行の必要性を明らかにしている。ビデオゲーム会社はIPv6とIPv4ゲームの違いを知っている。IPv4は確立された成熟した技術であるが、パフォーマンス、スピード、セキュリティはIPv6の方がはるかに優れている。まず、IPv6はポートフォワーディング、UPnP、NAT-PMPを必要としないため、スピードとパフォーマンスに大きな違いがあります。さらに、IPv6対応デバイスはアドレスを自動設定するため、ゲーム体験も非常に向上します。
i.IPv6はIPv4のようにクラス分けされているのか?
IPv6はIPv4のようにクラス分けされていない。IPv4では、IPアドレスはクラスA、B、C、D、Eに分けられる。クラスは、アドレスのネットワーク部分とホスト部分を表すのに使われるビット数に基づいている。この分類システムにより、IPアドレスを階層的に割り当てることが可能になりました。そのため、IPv6ではクラスで整理する代わりに、アドレスがプレフィックスとインターフェースIDの2つの部分に分割される、よりシンプルなアドレス体系が採用されている。
j.IPv4の生存期間とIPv6の生存期間?
IPv4とIPv6では、TTL(Time to Live)フィールドはネットワークパケットの寿命を制限するために使用される。どちらのプロトコルでも同じ目的を持っていますが、いくつかの強い違いがあります。IPv4では、TTLフィールドは1バイトのフィールドであり、最大TTL値は255である。一方、IPv6のTTLフィールドは2バイトフィールドで、最大値は65,535とはるかに大きい。IPv6では、パケットが廃棄される前に、より多くのホップを取ることができる可能性があり、これは非常に大規模または複雑なネットワークに役立ちます。
ボンジュール
非常に興味深い記事の中で、IPv6アドレスは「ダブル・ポイント-ビルグール」(2重ポイント-ビルグール)で省略可能であると述べているが、この例では2重ポイント": "を使用しているため、現実との間に混乱が生じている。
"IPv6フォーマットは、アドレスの容量を拡張することができます。IPv6アドレスは、ダブルポイントビルグを使用し、先頭のゼロを省略することで拡張できます。ダブルポイントビルグを使うと、IPv6アドレスの各セクションを省略することができます。したがって、IPv6アドレスff06:0:0:0:0:0:c3はff06::c3となります。この省略形は、IPv6アドレスの長さを短くするために作られました。"
この読み応えのある有益な記事をありがとう。
アレックス、ご見解をありがとう。結局のところ、文章に誤りがありました。正しい用語は "double deux-points" (::) であり、"double point-virgule" ではありません。さらに、この省略形はIPv6アドレスの表記を簡略化するものですが、必ずしもその長さを短縮するものではありません。敬具