IPv4 アドレスとサブネット マスク
この項では、Cisco ASA で IPv4 アドレスを使用する方法について説明します。IPv4 アドレスはドット付き 10 進数表記の 32 ビットの数値であり、バイナリから 10 進数に変換されドットで区切られた 4 つの 8 ビット フィールド(オクテット)で構成されます。IP アドレスの最初の部分はホストが常駐するネットワークを示し、2 番目の部分は所定のネットワーク上の特定のホストを示します。ネットワーク番号フィールドは、ネットワーク プレフィックスと呼ばれます。所定のネットワーク上のホストはすべて、同じネットワーク プレフィックスを共有しますが、固有のホスト番号を持つ必要があります。クラスフル IP では、アドレスのクラスがネットワーク プレフィックスとホスト番号の間の境界を決定します。
クラス
IP ホスト アドレスは、Class A、Class B、Class C の 3 つの異なるアドレス クラスに分かれています。各クラスは、32 ビット アドレス内の異なるポイントで、ネットワーク プレフィックスとホスト番号の間の境界を決定します。Class D アドレスは、マルチキャスト IP 用に予約されています。
-
Class A アドレス(1.xxx.xxx.xxx ~ 126.xxx.xxx.xxx)は、最初のオクテットのみをネットワーク プレフィックスとして使用します。
-
Class B アドレス(128.0.xxx.xxx ~ 191.255.xxx.xxx)は、最初の 2 つのオクテットをネットワーク プレフィックスとして使用します。
-
Class C アドレス(192.0.0.xxx ~ 223.255.255.xxx)は、最初の 3 つのオクテットをネットワーク プレフィックスとして使用します。
Class A アドレスには 16,777,214 個のホスト アドレス、Class B アドレスには 65,534 個のホストがあるので、サブネット マスクを使用してこれらの膨大なネットワークを小さいサブネットに分割することができます。
プライベート ネットワーク
ネットワーク上に多数のアドレスが必要な場合、それらをインターネットでルーティングする必要がないときは、インターネット割り当て番号局(IANA)が推奨するプライベート IP アドレスを使用できます(RFC 1918 を参照)。次のアドレス範囲が、アドバタイズされないプライベート ネットワークとして指定されています。
-
10.0.0.0 ~ 10.255.255.255
-
172.16.0.0 ~ 172.31.255.255
-
192.168.0.0 ~ 192.168.255.255
サブネット マスク
サブネット マスクを使用すると、単一の Class A、B、または C ネットワークを複数のネットワークに変換できます。サブネット マスクを使用して、ホスト番号からネットワーク プレフィックスにビットを追加する拡張ネットワーク プレフィックスを作成することができます。たとえば、Class C ネットワーク プレフィックスは常に、IP アドレスの最初の 3 つのオクテットで構成されます。一方、Class C 拡張ネットワーク プレフィックスは、4 番目のオクテットの一部も使用します。
ドット付き 10 進数の代わりにバイナリ表記を使用している場合は、サブネット マスクを容易に理解できます。サブネット マスク内のビットには、インターネット アドレスとの 1 対 1 の対応関係があります。
-
IP アドレス内の対応するビットが拡張ネットワーク プレフィックスの一部である場合、ビットは 1 に設定されます。
-
ビットがホスト番号の一部である場合、ビットは 0 に設定されます。
例 1:Class B アドレスが 129.10.0.0 の場合に 3 番目のオクテット全体をホスト番号ではなく拡張ネットワーク プレフィックスの一部として使用するには、サブネット マスクとして 11111111.11111111.11111111.00000000 を指定する必要があります。このサブネット マスクによって、Class B アドレスは、ホスト番号が最後のオクテットだけで構成される Class C アドレスに相当するものに変換されます。
例 2:3 番目のオクテットの一部だけを拡張ネットワーク プレフィックスに使用する場合は、11111111.11111111.11111000.00000000 のようなサブネット マスクを指定する必要があります。ここでは、3 番目のオクテットのうち 5 ビットだけが拡張ネットワーク プレフィックスに使用されます。
サブネット マスクは、ドット付き 10 進数マスクまたは /ビット(「スラッシュ ビット」)マスクとして記述できます。例 1 では、ドット付き 10 進数マスクに対して、各バイナリ オクテットを 10 進数の 255.255.255.0 に変換します。/ビット マスクの場合は、1s: /24 の数値を追加します。例 2 では、10 進数は 255.255.248.0 で、/ビットは /21 です。
3 番目のオクテットの一部を拡張ネットワーク プレフィックスに使用して、複数の Class C ネットワークを大規模なネットワークにスーパーネット化することもできます。たとえば、192.168.0.0/20 です。
サブネットマスクの決定
必要なホストの数に基づいてサブネット マスクを決定するには、次の表を参照してください。
(注) |
単一のホストを示す /32 を除き、サブネットの最初と最後の数は予約されています。 |
ホスト |
/ビット マスク |
ドット付き 10 進数マスク |
---|---|---|
16,777,216 |
/8 |
255.0.0.0 Class A ネットワーク |
65,536 |
/16 |
255.255.0.0 Class B ネットワーク |
32,768 |
/17 |
255.255.128.0 |
16,384 |
/18 |
255.255.192.0 |
8192 |
/19 |
255.255.224.0 |
4096 |
/20 |
255.255.240.0 |
2048 |
/21 |
255.255.248.0 |
1024 |
/22 |
255.255.252.0 |
512 |
/23 |
255.255.254.0 |
256 |
/24 |
255.255.255.0 Class C ネットワーク |
128 |
/25 |
255.255.255.128 |
64 |
/26 |
255.255.255.192 |
32 |
/27 |
255.255.255.224 |
16 |
/28 |
255.255.255.240 |
8 |
/29 |
255.255.255.248 |
4 |
/30 |
255.255.255.252 |
使用不可 |
/31 |
255.255.255.254 |
1 |
/32 |
255.255.255.255 単一ホスト アドレス |
サブネットマスクに使用するアドレスの決定
次の各項では、Class C サイズおよび Class B サイズのネットワークに対してサブネット マスクで使用するネットワーク アドレスを判別する方法について説明します。
クラス C 規模ネットワーク アドレス
2 ~ 254 のホストを持つネットワークの場合、4 番目のオクテットは、0 から始まるホスト アドレスの数の倍数になります。例として、次の表に 8 個のホストを持つサブネット(/29)、192.168.0.x を示します。
(注) |
サブネットの最初と最後のアドレスは予約されています。最初のサブネットの例では、192.168.0.0 と 192.168.0.7 は使用できません。 |
マスク /29(255.255.255.248)でのサブネット |
アドレス範囲 |
---|---|
192.168.0.0 |
192.168.0.0 ~ 192.168.0.7 |
192.168.0.8 |
192.168.0.8 ~ 192.168.0.15 |
192.168.0.16 |
192.168.0.16 ~ 192.168.0.31 |
— |
— |
192.168.0.248 |
192.168.0.248 ~ 192.168.0.255 |
クラス B 規模ネットワーク アドレス
254 ~ 65,534 のホストを持つネットワークのサブネット マスクで使用するネットワーク アドレスを判別するには、可能な拡張ネットワーク プレフィックスそれぞれについて 3 番目のオクテットの値を判別する必要があります。たとえば、10.1.x.0 のようなアドレスをサブネット化することができます。ここで、最初の 2 つのオクテットは拡張ネットワーク プレフィックスで使用されるため固定されています。4 番目のオクテットは、すべてのビットがホスト番号に使用されるため、0 です。
3 番目のオクテットの値を判別するには、次の手順を実行します。
-
65,536(3 番目と 4 番目のオクテットを使用するアドレスの合計)を必要なホスト アドレスの数で割って、ネットワークから作成できるサブネットの数を計算します。
たとえば、65,536 を 4096 のホストで割ると、16 になります。したがって、Class B サイズのネットワークでは、それぞれ 4096 個のアドレスを持つサブネットが 16 個できます。
-
256(3 番目のオクテットの値の数)をサブネットの数で割って、3 番目のオクテット値の倍数を判別します。
この例では、256/16 = 16 です。
3 番目のオクテットは、0 から始まる 16 の倍数になります。
次の表に、ネットワーク 10.1 の 16 個のサブネットを示します。
(注) |
サブネットの最初と最後のアドレスは予約されています。最初のサブネットの例では、10.1.0.0 と 10.1.15.255 は使用できません。 |
マスク /20(255.255.240.0)でのサブネット |
アドレス範囲 |
---|---|
10.1.0.0 |
10.1.0.0 ~ 10.1.15.255 |
10.1.16.0 |
10.1.16.0 ~ 10.1.31.255 |
10.1.32.0 |
10.1.32.0 ~ 10.1.47.255 |
— |
— |
10.1.240.0 |
10.1.240.0 ~ 10.1.255.255 |