IPv4およびIPv6プロトコルファミリーを理解する
IPv4アドレスは、通常ドット付き10進記法で表示される32ビットの数値で、ネットワークプレフィックスとホスト番号という2つの主要な部分が含まれます。以下のトピックでは、次の内容について説明します。
-
IPv4クラスフルアドレッシング
-
IPv4クラスフルアドレッシング
-
IPv4ドット付き10進記法
-
IPv4サブネッティング
-
IPv4 VLSM
-
IPv6 について
-
Junos OS RXシリーズファイアウォールにおけるIPv6アドレスタイプとアドレスタイプの使用
-
IPv6プロトコルファミリーの設定
IPv4アドレッシングについて
IPv4アドレスは32ビットの数値で、通常はドット付き10進数で表示されます。32ビットアドレスには、ネットワークプレフィックスとホスト番号という2つの主要な部分が含まれています。
単一ネットワーク内のすべてのホストが同じネットワークアドレスを共有します。各ホストには、一意に識別するアドレスもあります。ネットワークの範囲とデバイスの種類に応じて、アドレスはグローバルまたはローカルで一意になります。ネットワーク外のユーザー(Webサーバーなど)から見えるデバイスには、グローバルに一意のIPアドレスが必要です。ネットワーク内でのみ表示されるデバイスは、ローカルで一意のIPアドレスを持つ必要があります。
IP アドレスは、IANA(IANA)と呼ばれる中央番号機関によって割り当てられます。IANAは、アドレスが必要に応じてグローバルに一意であることを確保し、ネットワークの外部には見えないデバイスが使用できるように広いアドレス空間を確保します。
このトピックでは、次のセクションについて説明します。
IPv4クラスフルアドレッシング
さまざまなサイズのネットワークに配布されるアドレスの数を柔軟に設定できるように、4オクテット(32ビット)IPアドレスは当初、クラスA、クラスB、クラスCの3つの異なるカテゴリまたはクラスに分割されていました。各アドレスクラスは、ネットワークプレフィックスとホスト番号に異なるビット数を指定します。
クラスAアドレスは、最初のバイト(オクテット)のみを使用してネットワークプレフィックスを指定し、残りの3バイトは個々のホスト番号を定義するためです。
クラスBアドレスは、最初の2バイトを使用してネットワークプレフィックスを指定し、残りの2バイトはホストアドレスの定義に使用します。
クラスCアドレスは、最初の3バイトを使用してネットワークプレフィックスを特定し、最後のバイトのみをホストを識別します。
バイナリ形式では、ホスト番号の各ビットを表す x を使用して、3つのアドレスクラスを以下のように表すことができます。
00000000 xxxxxxxx xxxxxxxx xxxxxxxx (Class A) 00000000 00000000 xxxxxxxx xxxxxxxx (Class B) 00000000 00000000 00000000 xxxxxxxx (Class C)
ホスト番号の各ビット(x)は 0 または 1 の値を持つことができるため、それぞれが 2 のべき乗を表します。例えば、ホスト番号の指定に使用できるビットが3ビットしかない場合、以下のホスト番号のみを使用できます。
111 110 101 100 011 010 001 000
各IPアドレスクラスにおいて、ホスト番号を2の累乗に上げたビット数は、特定のネットワークプレフィックスに対して作成できるホスト番号の数を示しています。クラスAアドレスには224 (または16,777,216)のホスト番号、クラスBアドレスには216 (または65,536)のホスト番号、クラスCアドレスには28 (または256)のホスト番号があります。
IPv4ドット付き10進記法
32ビットIPv4アドレスは、多くの場合、各オクテット(またはバイト)を別々の数値として扱うドット付き10進記法で表されます。オクテット内では、右端のビットが 20 (または 1)を表し、オクテットの最初のビットが 27 (または 128)になるまで左に増加します。以下は、2 進形式の IP アドレスとそれに相当するドット付き 10 進数です。
11010000 01100010 11000000 10101010 = 208.98.192.170 01110110 00001111 11110000 01010101 = 118.15.240.85 00110011 11001100 00111100 00111011 = 51.204.60.59
IPv4サブネッティング
ネットワークのサイズには物理的およびアーキテクチャ上の制限があるため、多くの場合、大規模なネットワークをより小さなサブネットワークに分割する必要があります。このようなサブネット化されたネットワーク内では、各インターフェイスに独自のネットワーク番号と識別サブネットアドレスが必要です。
IPルーティングの世界は、クラスレスドメイン間ルーティング(CIDR)に移行しています。その名前が示すように、CIDRはアドレスクラスの概念を排除し、単にネットワークプレフィックスとマスクを伝えます。マスクは、アドレス内のどのビットがネットワーク(プレフィックス)を識別するかを示します。このドキュメントでは、従来のクラスフルIPアドレスのコンテキストでのサブネッティングについて説明します。
図1 は、3つのサブネットで構成されているネットワークを示しています。
内のサブネット
図1 は、左側がAlphaサブネットに接続された3台のデバイス、右側がBetaサブネットに接続された3台、そして左右のサブネットをWANリンクで相互接続するGammaという名前の3番目のサブネットを示しています。6台のデバイスと3つのサブネットは、より大きなクラスBネットワークプレフィックス内に含まれています。この例では、クラスBアドレスであるネットワークプレフィックス 172.16/16が組織に割り当てられています。各サブネットには、このクラスBネットワークプレフィックス内にあるIPアドレスが割り当てられます。
クラスBネットワークプレフィックス(最初の2オクテット)を共有することに加えて、各サブネットは3番目のオクテットを共有します。クラスBアドレスと組み合わせて/24ネットワークマスクを使用しているため、3番目のオクテットがサブネットを識別します。サブネット上のすべてのデバイスは、同じサブネットアドレスを持つ必要があります。この場合、アルファサブネットにはIPアドレス 172.16.1.0/24があり、ベータサブネットにはIPアドレス 172.16.2.0/24があり、Gammaサブネットには 172.16.10.10/24が割り当てられています。
これらのサブネットの1つを例にとると、ベータサブネットアドレス 172.16.2.0/24 は2進数表記で次のように表されます。
10101100 . 00010000 . 00000010 . xxxxxxxx
32ビットアドレスの最初の24ビットはサブネットを識別するため、最後の8ビットは各サブネット上のホスト添付ファイルに割り当てることができます。サブネットを参照する場合、アドレスは 172.16.10.0/24 (または単に 172.16.10/24)として記述されます。 /24 は、サブネットマスクの長さを示します( 255.255.255.0と表記されることもあります)。このネットワーク マスクは、最初の 24 ビットがネットワークとサブネットワークを識別し、最後の 8 ビットが各サブネットワーク上のホストを識別することを示します。
IPv4可変長サブネットマスク
従来、サブネットはアドレスクラスによって分割されていました。サブネットには 8、16、または 24 の有効ビットがあり、これは 224、216、または 28 のホストに対応します。その結果、400個のアドレスのみを必要とするネットワークに/16サブネット全体を割り当てる必要があり、65,136(216 – 400 = 65,136)のアドレスが無駄になりました。
アドレス空間をより効率的に割り当てるために、可変長サブネットマスク(VLSM)が導入されました。VLSMを使用することで、ネットワークアーキテクトは、特定のサブネットに必要なアドレス数をより正確に割り当てることができます。
例えば、プレフィックス 192.14.17/24 のネットワークが、1つは18台のデバイス、もう1つは46台のデバイスで構成される2つの小さなサブネットに分割されているとします。
18台のデバイスを収容するには、最初のサブネットに25 (32)のホスト番号が必要です。ホスト番号に 5 ビットを割り当てると、32 ビット アドレスのうち 27 ビットがサブネットに残ります。したがって、最初のサブネットのIPアドレスは 192.14.17.128/27、または2進法表記で次のようになります。
11000000 . 00001110 . 00010001 . 100xxxxx
サブネットマスクには有効数字が27桁含まれています。
46台のデバイスからなる2番目のサブネットを作成するには、ネットワークに264 個のホスト番号を収容する必要があります。2番目のサブネットのIPアドレスが 192.14.17.64/26である、または
11000000 . 00001110 . 00010001 . 01xxxxxx
大きい方の /24 サブネットマスク内にアドレスビットを割り当てることで、割り当てられたアドレス空間をより効率的に使用する2つの小さいサブネットを作成できます。
IPv6アドレス空間、アドレッシング、アドレス形式、アドレスタイプについて
- IPバージョン6(IPv6)について
- IPv6アドレスタイプと、SRXシリーズサービスゲートウェイ向けJunos OSの使用方法について
- IPv6アドレススコープ
- IPv6アドレス構造
- IPv6 アドレス空間、アドレッシング、アドレスタイプについて
- IPv6アドレス形式について
IPバージョン6(IPv6)について
インターネットの継続的な拡大と、増加する新規ユーザー、コンピューターネットワーク、インターネット対応デバイス、コラボレーションや通信のための新しく改良されたアプリケーションをサポートするために、インターネットに対応するIPアドレスを提供する必要性が高まっています。IPv6は、その堅牢なアーキテクチャにより、これらの現在および近い将来に予想される要件を満たすように設計されています。
IPバージョン4(IPv4)は、現在、インターネット、イントラネット、プライベートネットワーク向けに世界中で広く使用されています。IPv6は、以下の点でIPv4の機能と構造に基づいて構築されています。
より効率的なルーティングを可能にする、簡略化および拡張されたパケットヘッダーを提供します。
携帯電話およびその他のモバイルコンピューティングデバイスのサポートを改善します。
(元々は専用に設計された)IPsecを通じて、強化された必須のデータセキュリティを実施します。
より広範なサービス品質(QoS)サポートを提供します。
IPv6アドレスは32ビットではなく128ビットで構成され、アドレスに適したアプリケーションのタイプを識別するスコープフィールドが含まれています。IPv6はブロードキャストアドレスをサポートしていませんが、代わりにブロードキャストにマルチキャストアドレスを使用します。さらに、IPv6 ではエニーキャストと呼ばれる新しいタイプのアドレスが定義されています。
IPv6アドレスタイプと、SRXシリーズサービスゲートウェイ向けJunos OSの使用方法について
IPバージョン6(IPv6)には、以下のタイプのアドレスが含まれます。
ユニキャスト
ユニキャストアドレスは、パケットが配信される単一のインターフェイスの識別子を指定します。IPv6 では、インターネットトラフィックの大部分がユニキャストであると予測され、このため、IPv6 アドレス空間で最大の割り当てブロックがユニキャストアドレッシング専用となっています。ユニキャストアドレスには、ループバック、マルチキャスト、リンクローカルユニキャスト、および未指定以外のすべてのアドレスが含まれます。
SRXシリーズファイアウォールでは、フローモジュールは以下の種類のIPv6ユニキャストパケットをサポートします。
仮想ルーター間のトラフィックを含む、パススルー ユニキャスト トラフィック。デバイスは、そのルーティングテーブルに従ってパススルートラフィックを送信します。
SRXシリーズインターフェイスに直接接続されたデバイスとの間のホストインバウンドトラフィック。例えば、ホストインバウンドトラフィックには、ログ、ルーティングプロトコル、および管理タイプのトラフィックが含まれます。フローモジュールは、これらのユニキャストパケットをルーティングエンジンに送信し、そこから受信します。トラフィックは、ルーティングエンジンに定義されたルーティングプロトコルに基づいて、フローモジュールではなくルーティングエンジンによって処理されます。
フローモジュールは、ルーティングエンジンで実行されるすべてのルーティングおよび管理プロトコルをサポートします。例としては、OSPFv3、RIPng、TELNET、SSHなどがあります。
マルチキャスト
マルチキャストアドレスは、通常、異なるノードに属する一連のインターフェイスの識別子を指定します。これは、0xFFの値で識別されます。IPv6 マルチキャストアドレスは、アドレスの上位オクテットの値によってユニキャストアドレスと区別されます。
デバイスは、ホストインバウンドおよびホストアウトバウンドのマルチキャストトラフィックのみをサポートします。ホストのインバウンドトラフィックには、ロギング、ルーティングプロトコル、管理トラフィックなどが含まれます。
エニーキャスト
エニーキャストアドレスは、通常、異なるノードに属する一連のインターフェイスの識別子を指定します。エニーキャストアドレスを持つパケットは、ルーティングプロトコルのルールに従って、最も近いノードに配信されます。
エニーキャストアドレスとユニキャストアドレスの間に違いはありませんが、サブネットルーターアドレスを除きます。エニーキャストサブネットルーターアドレスの場合、下位ビット(通常は64以上)はゼロです。エニーキャストアドレスは、ユニキャストアドレス空間から取得されます。
フローモジュールは、ユニキャストパケットを処理するのと同じ方法でエニーキャストユニキャストパケットを扱います。エニーキャストパケットがデバイス向けのものである場合、それはホストインバウンドトラフィックとして扱われ、プロトコルスタックに配信され、プロトコルスタックはそれを処理を続けます。
IPv6アドレススコープ
ユニキャストおよびマルチキャストIPv6アドレスは、アドレスに適したアプリケーションを識別するアドレススコーピングをサポートしています。
ユニキャストアドレスは、グローバルアドレススコープと2種類のローカルアドレススコープをサポートします。
リンクローカルユニキャストアドレス—単一のネットワークリンクでのみ使用されます。プレフィックスの最初の10ビットは、アドレスをリンクローカルアドレスとして識別します。リンクローカルアドレスは、リンク外では使用できません。
サイトローカルユニキャストアドレス—サイトまたはイントラネット内でのみ使用されます。サイトは複数のネットワークリンクで構成されています。サイトローカルアドレスは、イントラネット内のノードを識別するため、サイト外では使用できません。
マルチキャストアドレスは、ノード、リンク、サイト、組織、グローバルスコープなど、16種類のアドレススコープをサポートします。プレフィックスの4ビットフィールドは、アドレススコープを識別します。
IPv6アドレス構造
ユニキャストアドレスは、単一のインターフェイスを識別します。各ユニキャストアドレスは、プレフィックスの nビットとインターフェイスIDの128〜nビットで構成されています。
マルチキャストアドレスは、一連のインターフェイスを識別します。各マルチキャストアドレスは、すべての1の最初の8ビット、4ビットのフラグフィールド、4ビットのスコープフィールド、および112ビットのグループIDで構成されています。
11111111 | flgs | scop | group ID
1の最初のオクテットは、アドレスをマルチキャストアドレスとして識別します。flagsフィールドは、マルチキャストアドレスが既知のアドレスか一時的なマルチキャストアドレスかを識別します。スコープフィールドは、マルチキャストアドレスのスコープを識別します。112ビットグループIDは、マルチキャストグループを識別します。
マルチキャストアドレスと同様に、エニーキャストアドレスは一連のインターフェイスを識別します。ただし、パケットはすべてのインターフェイスではなく、1つのインターフェイスにのみ送信されます。エニーキャストアドレスは通常のユニキャストアドレス空間から割り当てられ、フォーマット上ユニキャストアドレスと区別することはできません。そのため、エニーキャストグループの各メンバーは、特定のアドレスをエニーキャストアドレスとして認識するように設定する必要があります。
IPv6 アドレス空間、アドレッシング、アドレスタイプについて
アドレス指定は、IPv4(IP バージョン 4)と IPv6 の違いのほとんどが存在する領域ですが、変更の主な部分はアドレスの実装方法と使用方法に関するものです。IPv6は、使い果たされそうなIPv4アドレス空間よりもはるかに大きなアドレス空間を持っています。IPv6は、IPアドレスのサイズをIPv4アドレスを構成する32ビットから128ビットに増やします。アドレスに余分なビットが与えられるたびに、アドレス空間のサイズは2倍になります。
IPv4は、単一のパブリックアドレスでさまざまなプライベートアドレスを表現できるNAT(ネットワークアドレス変換)や、一時的なアドレス割り当てなどの技術を使用して拡張されてきました。これらの技術は有用ではありますが、新しい無線技術、常時稼働環境、インターネットベースの民生電化製品などの新しいアプリケーションや環境の要件には及ばないのです。
IPv6アドレスは、アドレス空間の増加に加えて、以下の点でIPv4アドレスとは異なります。
アドレスが関連するアプリケーションのタイプを識別するスコープフィールドが含まれます
ブブロードキャストアドレスはサポートしませんが、代わりにマルチキャストアドレスを使用してパケットをブロードキャストします
エニーキャストと呼ばれる新しいタイプのアドレスを定義します
IPv6アドレス形式について
すべてのIPv6アドレスは128ビット長で、それぞれ16ビットずつの8つのセクションとして記述されます。これらは16進数で表されるため、セクションの範囲は0からFFFFです。セクションはコロンで区切られ、各セクションの先頭のゼロは省略できます。連続する 2 つ以上のセクションにすべてゼロがある場合は、ダブルコロンに折りたたむことができます。
IPv6アドレスは、コロン(:)で区切られた16ビット16進数値の8つのグループで構成されています。IPv6アドレスの形式は以下の通りです。
aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa
各 aaaa は16ビットの16進数値で、各 a は4ビットの16進数値です。以下に、IPv6アドレスの例を示します。
3FFE:0000:0000:0001:0200:F8FF:FE75:50DF
各16ビットグループの先頭のゼロは、次のように省略できます。
3FFE:0:0:1:200:F8FF:FE75:50DF
次の例に示すように、16ビットのゼロのグループをダブルコロン(::)に圧縮できますが、アドレスごとに1回のみ圧縮できます。
3FFE::1:200:F8FF:FE75:50DF
IPv6アドレスプレフィックスは、IPv6プレフィックス(アドレス)とプレフィックス長を組み合わせたものです。プレフィックスは ipv6-prefix/prefix-length の形式をとり、アドレス空間(またはネットワーク)のブロックを表します。 ipv6-prefix 変数は、一般的なIPv6アドレスのルールに従います。 prefix-length 変数は、アドレスのネットワーク部分を構成するアドレスの連続した上位ビットの数を示す10進数値です。例えば、10FA:6604:8136:6502::/64は、ゼロが圧縮されたIPv6プレフィックスとして使用可能です。IPv6アドレス10FA:6604:8136:6502::/64のサイトプレフィックスは、一番左の64ビット、10FA:6604:8136:6502に含まれています。
IPv6アドレスとアドレスプレフィックスのテキスト表現については、RFC 4291、 IPバージョン6アドレッシングアーキテクチャを参照してください。
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。
プラットフォームに関連する注意事項については 、IPv6アドレス空間、アドレッシング、アドレス形式、アドレスタイプについてのセクションを参照してください
プラットフォーム固有のIPv6アドレスフォーマットの動作
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。
お使いのプラットフォームに固有の動作を確認するには、以下の表を使用して下さい:
| プラットホーム |
差 |
|---|---|
| SRXシリーズ |
|
inet6 IPv6プロトコルファミリーの設定
設定コマンドでは、IPv6のプロトコルファミリーの名前は inet6です。設定階層では、 inet6 のインスタンスは、IPv4のプロトコルファミリーである inetのインスタンスと並列に並列に配置されます。一般に、 inet6 設定を構成し、IPv6アドレスを inet 設定およびIPv4アドレスと並行して指定します。
SRXシリーズファイアウォールでは、単一のインターフェイス上で同一のIPを設定する場合、警告メッセージは表示されません。代わりに、syslogメッセージが表示されます。
次の例は、インターフェイスのIPv6アドレスを設定するために使用するCLIコマンドを示しています。
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.100.37.178/24;
}
}
}
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family ?
Possible completions:
+ apply-groups Groups from which to inherit configuration data
+ apply-groups-except Don't inherit configuration data from these groups
> ccc Circuit cross-connect parameters
> ethernet-switching Ethernet switching parameters
> inet IPv4 parameters
> inet6 IPv6 protocol parameters
> iso OSI ISO protocol parameters
> mpls MPLS protocol parameters
> tcc Translational cross-connect parameters
> vpls Virtual private LAN service parameters
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family inet6 address 8d8d:8d01::1/64
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.100.37.178/24;
}
family inet6 {
address 8d8d:8d01::1/64;
}
}
}