IPv4 と IPv6 の比較

IPv6 と IPv4 の相違点を確認しましょう。次の表を使用すると、IPv4 と IPv6 の両インターネット・プロトコルにおける概念、IP 機能、および IP アドレス使用法の各相違点を簡単に参照できます。

以下のリストから属性を選択して、表で比較できます。

説明 IPv4 IPv6
アドレス 32 ビット (4 バイト) の長さ。 アドレスは、アドレス・クラスに応じてネットワーク部分とホスト部分で構成されます。 最初の数ビットに基づいて、 A、B、C、D、または E アドレス・クラスが定義されます。 IPv4 アドレスの合計数は 4 294 967 296 です。

IPv4 アドレスのテキスト書式は、nnn.nnn.nnn.nnn です (0<=nnn<=255 で、個々の n は 10 進数字)。先行ゼロは省略できます。印刷文字の最大数は 15 で、これにはマスクは数えられていません。

128 ビット (16 バイト) の長さ。 基本アーキテクチャーは、 ネットワーク番号が 64 ビット、およびホスト番号が 64 ビットです。 IPv6 アドレスのホスト部分 (またはその一部) は、MAC アドレスあるいはその他のインターフェース ID から取り込まれていることがよくあります。

サブネット接頭部によっては、 IPv6 のアーキテクチャーの方が IPv4 より複雑になります。

IPv6 アドレスの数は、 IPv4 アドレスの数の 1028 (79 228 162 514 264 337 593 543 950 336) 倍の 長さです。IPv6 アドレスのテキスト形式は、 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx (個々の x は 4 ビットを表す 16 進数字) です。先行ゼロは省略できます。 アドレスのテキスト形式中に 2 つのコロン (::) を 1 回使用して、任意の数の 0 ビットを指定できます。 例えば、::ffff:10.120.78.40 は IPv4 マップ式 IPv6 アドレスです。

アドレス割り振り 元々は、アドレスはネットワーク・クラス別に割り振られています。 アドレス・スペースが少なくなるにつれて、 無クラス・ドメイン間経路指定 (CIDR) を使用して行われる割り振りは縮小されます。 割り振りは、各種公共機関や国家間で調整されていません。 割り振りは最初期の段階で行われます。 Internet Engineering Task Force (IETF) および Internet Architecture Board (IAB) は、 事実上すべての組織、家庭、またはエンティティー用に長さ /48 のサブネット接頭部を割り振ることを推奨しています。 この場合、組織がサブネットを行う余地が 16 ビット分残ります。アドレス・スペースは、 世界中のすべての人が自分用に長さ /48 のサブネット接頭部を持てるだけの大きさになっています。
アドレス存続時間 通常、DHCP を使用して割り当てられたアドレスを除いて、この概念は適用できません。 IPv6 アドレスには、優先および有効という 2 つの存続時間があります。 常に優先存続時間 <= 有効存続時間になります。

優先存続時間の有効期限が切れると、同等の優先アドレスが使用可能である場合、そのアドレスは新規接続ソース IP アドレスとして使用されなくなります。 有効存続時間の有効期限が切れると、そのアドレスは着信パケットの有効宛先 IP アドレスとして使用 (認識) されなくなるか、またはソース IP として使用されなくなります。

リンク・ローカル・アドレスなどの一部の IPv6 アドレスは、 無期限の優先および有効存続時間になるように定義されています (アドレス・スコープを参照)。

アドレス・マスク ホスト部分からネットワークを指定するのに使用されます。 使用されません (アドレス接頭部を参照)。
アドレス接頭部 ホスト部分からネットワークを指定するのに使用されることがあります。 アドレスの表示形式上に /nn 接尾部として書き込まれていることがあります。 アドレスのサブネット接頭部を指定するのに使用されます。 印刷書式の後に /nnn (最大 3 桁の 10 進数字、0 <= nnn <= 128) 接尾部として書き込まれます。 例えば、fe80::982:2a5c/10 の場合、 最初の 10 ビットによりサブネット接頭部が構成されます。
アドレス解決プロトコル (ARP) ARP は、IPv4 アドレスに関連した物理アドレス (MAC またはリンク・アドレス) を検索するために、IPv4 で使用されます。 IPv6 では、これらの機能は、Internet Control Message Protocol version 6 (ICMPv6) を使用して、 ステートレス自動構成および近隣探索のアルゴリズムの一部として IP 自体に組み込まれています。 したがって、ARP6 などは存在しません。
アドレス・スコープ ユニキャスト・アドレスの場合、この概念は適用されません。指定された私用アドレス範囲およびループバックがあります。 この外側では、アドレスはグローバルなものと見なされます。

IPv6 では、アドレス・スコープはアーキテクチャーの一部です。 ユニキャスト・アドレスには 2 つの定義済みスコープ (リンク・ローカルおよびグローバル) があり、 マルチキャスト・アドレスには 14 のスコープがあります。ソースと宛先のデフォルト・アドレス選択では、スコープが考慮されます。

スコープ・ゾーンは、特定のネットワーク内のスコープのインスタンスです。 その結果、IPv6 のアドレスは、 ゾーン ID と一緒に入力するか、ゾーン ID と関連付ける必要があります。構文は %zid で、この zid は番号 (通常は小さい番号) または名前です。 ゾーン ID は、アドレスの後ろで、接頭部の前に書きます。 例えば、2ba::1:2:14e:9a9b:c%3/48 のようになります。

アドレス・タイプ IPv4 アドレスは、3 つの基本タイプ、ユニキャスト・アドレス、マルチキャスト・アドレス、およびブロードキャスト・アドレスに分類されます。 IPv6 アドレスは、3 つの基本タイプ、ユニキャスト・アドレス、マルチキャスト・アドレス、およびエニーキャスト・アドレスに分類されます。説明については、IPv6 アドレス・タイプを参照してください。
通信トレース 通信トレースは、システムに入って出て行く TCP/IP (およびその他の) パケットの詳細なトレースを収集するツールです。 IPv6 の場合も同様にサポートします。
構成 通信できるようにするには、新しくインストールされたシステムを構成する必要があります。つまり、IP アドレスと経路を割り当てる必要があります。 構成は任意に選択することができ、必要な機能に応じて異なります。 IPv6 は、どのようなイーサネット・アダプターでも併用でき、ループバック・インターフェースで実行できます。IPv6 インターフェースは、IPv6 ステートレス自動構成を使用する自己構成です。また、IPv6 インターフェースを手動で構成することもできます。したがって、システムは、ネットワークのタイプと IPv6 ルーターが存在するかどうかに応じて、 他のローカルおよびリモートの IPv6 システムと通信できるようになります。
ドメイン・ネーム・システム (DNS) アプリケーションは、ホスト名を受け入れ、 次いでソケット API gethostbyname() を使って DNS を利用し、IP アドレスを取得します。

アプリケーションは、IP アドレスを受け入れ、 次いで gethostbyaddr() を使って DNS を利用し、ホスト名を取得することもできます。

IPv4 の場合、リバース・ルックアップ用のドメインは in-addr.arpa です。

IPv6 の場合も同様にサポートします。IPv6 は、AAAA (A の 4 倍長) のレコード・タイプとリバース・ルックアップ (IP から名前) を使用してサポートされます。 アプリケーションは、DNS から IPv6 アドレスを受け入れるかどうか、 そしてその後、通信に IPv6 を使用するかどうかを選択できます。

ソケット API gethostbyname() は IPv4 のみをサポートします。IPv6 の場合は、IPv6 のみを (アプリケーション選択で) 取得するため、または IPv4 および IPv6 アドレスを取得するために、新しい getaddrinfo() API を使用します。

IPv6 の場合、リバース・ルックアップに使用されるドメインは ip6.arpa です。これが見つからない場合は ip6.int が使用されます。(詳しくは、API getnameinfo()–Get Name Information for Socket Address を参照してください。)

動的ホスト構成プロトコル (DHCP) DHCP は、IP アドレスや他の構成情報を動的に取得するために使用されます。 IBM® i は IPv4 用の DHCP サーバーをサポートします。 変更の始まりDHCP の IBM i インプリメンテーションでは、IPv6 をサポートしていません。しかし、ISC DHCP サーバーのインプリメンテーションは使用できます。変更の終わり
ファイル転送プロトコル (FTP) FTP を使用すると、複数のネットワーク間でファイルを送受信できます。 変更の始まりIPv6 の場合も同様にサポートします。変更の終わり
フラグメント パケットが通る次のリンクに対してパケットが大きすぎる場合、 送信側 (ホストまたはルーター) によってパケットをフラグメント化することができます。 IPv6 の場合、フラグメント化はソース・ノードでのみ行われ、 再組み立ては宛先ノードでのみ行われます。 フラグメント化拡張ヘッダーが使用されます。
ホスト・テーブル IP アドレスをホスト名に関連付ける構成可能テーブル (例えば、ループバックに対する 127.0.0.1)。 このテーブルは、DNS ルックアップの前または DNS ルックアップが失敗した後 (どちらになるかは、 ホスト名検索の優先順位によって決まる) で、ソケット・ネーム・リゾルバーによって使用されます。 IPv6 の場合も同様にサポートします。
インターフェース パケットを送受信するために TCP/IP によって使用される概念上のまたは論理的なエンティティーで、 IPv4 アドレスを使用して名前が付けられていないとしても、 常に IPv4 アドレスと密接な関係があります。 論理インターフェースとして呼ばれることもあります。

IPv4 インターフェースは、STRTCPIFC および ENDTCPIFC コマンドを使用したり、System i Navigatorを使用して、互いに独立して、または TCP/IP とは無関係に開始および停止できます。

IPv6 の場合も同様にサポートします。
Internet Control Message Protocol (ICMP) ネットワーク情報を伝達するために IPv4 によって使用されます。 IPv6 でも同じように使用されますが、Internet Control Message Protocol version 6 (ICMPv6) には、いくつかの新しい属性が備えられています。

宛先到達不能、エコー要求およびエコー応答などの基本エラー・タイプは残されています。 近隣探索および関連機能をサポートするために、新しいタイプおよびコードが追加されています。

Internet Group Management Protocol (IGMP) IGMP は、IPv4 ルーターによって、 特定のマルチキャスト・グループ用のトラフィックを必要とするホストを検索するために使用され、 IPv4 ホストによって、 (ホスト上の) 既存のマルチキャスト・グループ・リスナーの情報を IPv4 ルーターに伝えるために使用されます。 IGMP は、IPv6 では、MLD (multicast listener discovery) プロトコルに置き換えられています。MLD は、IPv4 での IGMP の機能の仕方と基本的には同じですが、いくつかの MLD 固有の ICMPv6 タイプ値を追加することによって ICMPv6 を使用します。
IP ヘッダー 20 から 60 バイトの可変長。指定された IP オプションに応じて長さが変わります。 40 バイトの固定長。 IP ヘッダー・オプションはありません。 一般に、IPv6 ヘッダーは IPv4 ヘッダーよりも単純です。
IP ヘッダー・オプション さまざまなオプションを IP ヘッダーに (トランスポート・ヘッダーより前に) 添付できます。 IPv6 ヘッダーにはオプションがありません。 その代わり、IPv6 では追加の (オプションの) 拡張ヘッダーが追加されています。 拡張ヘッダーは AH および ESP (IPv4 から未変更)、hop-by-hop、経路指定、フラグメント、および宛先です。 現在、IPv6 は一部の拡張ヘッダーをサポートしています。
IP ヘッダー・プロトコル・バイト トランスポート層またはパケット・ペイロードのプロトコル・コード (例えば、ICMP)。 IPv6 ヘッダーの直後にあるヘッダーのタイプ。 IPv4 プロトコル・フィールドと同じ値を使用します。 しかし、構造的な影響として、 次のヘッダーの現在定義されている範囲を使用することができます。 また、この範囲は簡単に拡張できます。 トランスポート・ヘッダー、拡張ヘッダー、または ICMPv6 が、次のヘッダーとなります。
IP ヘッダー Type of Service バイト トラフィック・クラスを指定するために、QoS および DiffServ によって使用されます。 別のコードを使用して IPv6 トラフィック・クラスを指定します。現在、IPv6 は TOS をサポートしていません。
LAN 接続 LAN 接続は、物理ネットワークに到達するために IP インターフェースで使用されます。 多くのタイプがあります。例えば、トークンリング、イーサネットなどです。 これは、物理インターフェース、リンク、または回線と呼ばれることもあります。 IPv6 は、どのようなイーサネット・アダプターでも併用でき、論理区画間の仮想イーサネット上でもサポートされます。
Layer Two Tunnel Protocol (L2TP) L2TP は仮想 PPP と考えることができ、サポートされるどの回線タイプでも機能します。 変更の始まりIPv6 の場合も同様にサポートします。変更の終わり
ループバック・アドレス ループバック・アドレスは、127.*.*.* (通常は 127.0.0.1) というアドレスを持つインターフェースです。 ノードが自身に向けてパケットを送信するためだけに使用できます。 物理インターフェース (回線記述) には *LOOPBACK という名前が付けられます。 概念は IPv4 と同じです。単一のループバック・アドレスは 0000:0000:0000:0000:0000:0000:0000:0001 または ::1 (短縮形) です。仮想物理インターフェースには *LOOPBACK という名前が付けられます。
最大伝送単位 (MTU) リンクの最大転送単位は、イーサネットまたはモデムなどの特定のリンク・タイプがサポートする最大バイト数です。 IPv4 の場合、576 が一般的な最小値です。 IPv6 には、MTU に 1280 バイトという下限があります。 つまり、IPv6 はパケットをこの限度より小さくフラグメント化することはありません。 IPv6 を 1280 バイトより小さい MTU のリンクを介して送信する場合、リンク層は IPv6 パケットのフラグメント化とデフラグメント化を透過的に行う必要があります。
Netstat Netstat は、TCP/IP 接続、インターフェース、または経路の状況を調べるためのツールです。 System i Navigatorおよび文字ベース・インターフェースを利用して使うことができます。 IPv6 の場合も同様にサポートします。
ネットワーク・アドレス変換 (NAT) TCP/IP に組み込まれている基本ファイアウォール機能で、System i Navigatorを使用して構成されます。 現在、NAT は IPv6 をサポートしていません。 より一般的に言えば、IPv6 では NAT は必要ありません。 IPv6 の拡張されたアドレス・スペースにより、 アドレス不足問題が解消され、再番号付けが行いやすくなります。
ネットワーク・テーブル System i Navigatorでは、ネットワーク名をマスクなしの IP アドレスに関連付ける構成可能なテーブル。 例えば、ホスト・ネットワーク 14 と IP アドレス 1.2.3.4 を関連付けます。 現在、IPv6 ではこのテーブルは変更されていません。
ノード情報照会 存在しません。 内容を別にして、PING のように機能する単純で便利なネットワーク・ツール。 IPv6 ノードは、別の IPv6 ノードからターゲットの DNS 名、 IPv6 ユニキャスト・アドレス、または IPv4 アドレスを照会します。 現在、サポートされていません。
Open Shortest Path First (OSPF) OSPF は、大規模な自律システム・ネットワーク内で RIP に優先して使用されるルーター・プロトコルです。 IPv6 の場合も同様にサポートします。
パケット・フィルター操作 パケット・フィルター操作は、TCP/IP に組み込まれている基本ファイアウォール機能です。 これは、System i Navigatorを使用して構成されます。 パケット・フィルター操作は IPv6 をサポートしていません。
パケット転送

非ローカル IP アドレス用に受信する IP パケットを転送するように IBM i TCP/IP スタックを構成できます。 通常、インバウンド・インターフェースとアウトバウンド・インターフェースは別々の LAN に接続されます。

IPv6 の場合、パケット転送に対するサポートは限定されています。 i5/OS TCP/IP スタックは、ルーターのような近隣ディスカバリーをサポートしていません。

PING PING は、到達性をテストするための TCP/IP の基本ツールです。 System i Navigatorおよび文字ベース・インターフェースを利用して使うことができます。 IPv6 の場合も同様にサポートします。
Point-to-Point Protocol (PPP) PPP は、さまざまなモデムや回線タイプを介したダイヤルアップ・インターフェースをサポートしています。 変更の始まりIPv6 の場合も同様にサポートします。変更の終わり
ポート制限 これらの IBM i ウィンドウを使用すれば、TCP またはユーザー・データグラム・プロトコル (UDP) 用の選択したボート番号またはポート番号の範囲を構成して、それらが特定のプロファイルでしか使用できないようにすることができます。 IPv6 のポートの制約事項は、IPv4 の場合と同じです。
ポート TCP および UDP は別々のポート・スペースを持ち、 それぞれ 1 から 65535 の範囲のポート番号で識別されます。 IPv6 の場合、ポートの機能は IPv4 と同じです。 これらのポートは新しいアドレス・ファミリーに入っているので、 4 つの別個のポート・スペースがあります。 例えば、アプリケーションをバインドできる TCP ポート 80 スペースは 2 つ (AF_INET と AF_INET6 に 1 つずつ) あります。
私用アドレスと共通アドレス IPv4 アドレスはすべて共通アドレスです。 ただし、IETF RFC 1918 によって私用アドレスとして指定されている 3 つのアドレス範囲、 つまり 10.*.*.* (10/8)172.16.0.0 から 172.31.255.255 (172.16/12)、および 192.168.*.* (192.168/16) は例外です。 私用アドレス・ドメインは、一般に組織内で使用されます。 私用アドレスは、インターネット上で経路指定することはできません。 IPv6 にも類似の概念はありますが、重要な違いがあります。

アドレスは共通または一時アドレス (以前は匿名と表現されていた) です。 RFC 3041 を参照してください。 IPv4 私用アドレスとは異なり、一時アドレスはグローバルに経路指定できます。 その動機も異なっており、IPv6 一時アドレスは、 クライアントが通信を開始するときにクライアントの身元を隠すためのものです (プライバシー上の懸念)。 一時アドレスには、限定された存続時間があり、 リンク (MAC) アドレスであるインターフェース ID が含まれてません。 一般に、一時アドレスと共通アドレスは見分けがつきません。

IPv6 には、設計済みスコープ指定を使用する、限定されたアドレス・スコープの概念があります (アドレス・スコープを参照)。

プロトコル・テーブル System i Navigatorでは、プロトコル・テーブルは、プロトコル名をそれに割り当てられたプロトコル番号と関連付ける構成可能なテーブルです。例えば、UDP と 17 を関連付けます。 システムは、少数のエントリー (IP、TCP、UDP、ICMP) が入った状態で出荷されています。 このテーブルは、変更なしで IPv6 と共に使用できます。
Quality of Service (QoS) Quality of Service (QoS) を使用すれば、 TCP/IP アプリケーション用のパケット優先順位と帯域幅を要求できます。 現在、QoS の IBM i インプリメンテーションでは、IPv6 をサポートしていません。
再番号付け 再番号付けは、手動で再構成することによって行います。DHCP の例外がある場合があります。 通常、再番号付けはサイトや組織にとって困難で面倒な処理となるため、可能な限り避ける必要があります。 再番号付けは IPv6 の重要な構造上のエレメントで、特に /48 接頭部では通常は自動的に行われます。
経路 論理的には、IP アドレスのセット (アドレスが 1 つだけの場合もある) を、物理インターフェースと単一のネクスト・ホップ IP アドレスにマップすること。 宛先アドレスがこのセットの一部として定義されている IP パケットは、 回線を使用してネクスト・ホップに転送されます。 IPv4 の経路は、IPv4 インターフェースに関連付けられているので、IPv4 アドレスです。

デフォルトの経路は *DFTROUTE です。

概念上は IPv4 と同様です。 1 つの重要な違いがあります。つまり、IPv6 の経路は、インターフェースではなく、 物理インターフェース (ETH03 などのリンク) に関連付けられています。経路が物理インターフェースに関連付けられる理由の 1 つは、ソース・アドレス選択の機能の仕方が IPv6 と IPv4 で異なっていることです。 『ソース・アドレス選択』を参照してください。

Routing Information Protocol (RIP) RIP は、経路指定されたデーモンによってサポートされる経路指定プロトコルです。 現在、RIP は IPv6 をサポートしていません。
サービス・テーブル

IBM i では、サービス名をポートおよびプロトコルに関連付ける構成可能なテーブル。 例えば、サービス名 FTP、ポート 21、TCP およびユーザー・データグラム・プロトコル (UDP) を関連付けます。

サービス・テーブルには、多くの既知のサービスがリストされています。 多くのアプリケーションは、使用するポートをこのテーブルを使って判別します。

IPv6 ではこのテーブルは変更されていません。
シンプル・ネットワーク管理プロトコル (SNMP) SNMP はシステム管理用のプロトコルです。 変更の始まりIPv6 の場合も同様にサポートします。変更の終わり
ソケット API これらの API は、アプリケーションが TCP/IP を使用する手段となります。 IPv6 を必要としないアプリケーションは、 ソケットが IPv6 をサポートするよう変更されても影響を受けません。 IPv6 ではソケットが機能強化され、 アプリケーションは AF_INET6 という新しいアドレス・ファミリーを使って、 IPv6 を使用できるようになりました。

この機能強化は、既存の IPv4 アプリケーションが、 IPv6 および API の変更による影響をまったく受けないように設計されています。 IPv4 および IPv6 トラフィックを並行して、または IPv6 専用トラフィックをサポートすることを求めるアプリケーションは、 IPv4 にマップされた IPv6 アドレスを使用して簡単に適応させることができます。 このアドレスの形式は ::ffff:a.b.c.d で、 a.b.c.d はクライアントの IPv4 アドレスです。

新しい API でも、テキストからバイナリー、 またバイナリーからテキストへの IPv6 アドレスの変換がサポートされています。

IPv6 用のソケット機能強化の詳細については、『AF_INET6 アドレス・ファミリーの使用』を参照してください。

ソース・アドレス選択 アプリケーションはソース IP を指定することができます (通常、ソケット bind() を使用して)。 アプリケーションが INADDR_ANY にバインドする場合は、 ソース IP はその経路に基づいて選択されます。 IPv4 の場合と同様に、 アプリケーションは bind() を使用してソース IPv6 アドレスを指定することができます。IPv4 と同様に、in6addr_any を使用することによって、 システムに IPv6 ソース・アドレスを選択させることができます。 ただし、IPv6 回線には多くの IPv6 アドレスがあるため、ソース IP を選択する内部方式は異なります。
開始および停止 STRTCP および ENDTCP コマンドを使用して、IPv4 を開始または終了します。 STRTCP コマンドを使用して TCP/IP を開始するたびに IPv4 が開始されます。 STRTCP または ENDTCP コマンドの STRIP6 パラメーターを使用して、IPv6 を開始または終了します。 TCP/IP が開始済みである場合、IPv6 は開始しない場合があります。 後で、個別に IPv6 を開始することができます。

AUTOSTART パラメーターが *YES (デフォルト) に設定されている場合、IPv6 インターフェースは自動的に開始します。 IPv4 を使用しないで IPv6 を使用したり構成することはできません。IPv6 ループバック・インターフェース ::1 は、IPv6 の開始時に自動的に定義および活動化されます。

System i Navigator・サポート System i Navigatorは、TCP/IP 用の完全な構成ソリューションを提供しています。 IPv6 の場合も同様にサポートします。
Telnet Telnet を使用すれば、直接接続しているかのように、 リモート・コンピューターにログオンしてそれを使用できます。 IPv6 の場合も同様にサポートします。
トレース経路 トレース経路は、パスを判別するための TCP/IP の基本ツールです。 System i Navigatorおよび文字ベース・インターフェースを利用して使うことができます。 IPv6 の場合も同様にサポートします。
トランスポート層 TCP、UDP、RAW。 IPv6 に同じトランスポートが存在します。
未指定アドレス 明確に定義されていないもの。 ソケット・プログラミングでは、0.0.0.0 を INADDR_ANY として使用します。 ::/128 (128 0 ビット) と定義される。 一部の近隣探索パケットや、ソケットなどの他のさまざまなコンテキストで、ソース IP として使用されます。 ソケット・プログラミングでは、::/128in6addr_any として使用します。
仮想プライベート・ネットワーク (VPN) 仮想プライベート・ネットワーク (IPsec を使用) を使用すれば、既存の共通ネットワーク上にセキュアな私用ネットワークを拡張できます。

IPv6 の場合も同様にサポートします。詳しくは、『仮想プライベート・ネットワーク』を参照してください。