内容

はじめに

前提条件

要件

使用するコンポーネント

追加情報

IP アドレスについて

ネットワーク マスク

サブネット化について

例

例題 1

例題 2

VLSM

VLSM の例

CIDR

特別なサブネット

31ビットサブネット

32ビットサブネット

付録

サンプル コンフィギュレーション

ルータ A

ルータ B

ホスト/サブネットの数値表

関連情報

はじめに

このドキュメントでは、アドレスの分割方法やサブネット化の仕組みなど、ルータの設定に必要な基本的な情報について説明します。

前提条件

要件

バイナリと 10 進数の基本について理解しておくことを推奨します。

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

追加情報

説明を開始する前に、必要となる用語の定義を次に示します。

アドレス：ネットワーク内の1つのホストまたはインターフェイスに割り当てられる一意の番号ID。

サブネット：特定のサブネット アドレスを共有しているネットワークの一部分。

サブネット マスク：アドレスのどの部分がサブネットを参照し、どの部分がホストを参照しているのかを示すために使用される 32 ビットの組み合わせ。

インターフェイス：ネットワーク接続。

Internet Network Information Center（InterNIC; インターネット ネットワーク情報センター）から正規のアドレスをすでに取得している場合は、すぐに学習を開始できます。インターネットに接続する予定がない場合は、RFC 1918 で規定されている予約済みアドレスを使用することを強くお勧めします。

ルータ上の各インターフェイスに一意のサブネットを持つIPアドレスを割り当てる方法を学習します。すべてを結び付けるのに役立つ例が含まれています。

IP アドレスについて

IP アドレスとは、IP ネットワーク上のデバイスを一意に識別するために使用されるアドレスです。このアドレスは、32 ビット長の 2 進数で構成されており、サブネット マスクを使用することによって、ネットワーク部分とホスト部分とに分割できます。この 32 ビット長の 2 進数は、4 つのオクテット（1 オクテット = 8 ビット）に分割されます。各オクテットは、10 進数に変換され、ピリオド（ドット）で区切られます。そのため、IP アドレスは、（172.16.81.100 など）ドットで区切られた 10 進数の形式で表現されます。各オクテットの値は、10 進数では 0 ～ 255 の範囲、または 2 進数では 00000000 ～ 11111111 の範囲になります。

次に、2進数のオクテットを10進数に変換する方法を示します。オクテットの右端のビット、つまり最下位ビットは、2^0の値を保持します。そのすぐ左隣のビットは、21 で表される値になります。同じ手順が、2^7 で求められる値を表すオクテット左端のビット、つまり Most Significant Bit（MSB; 最上位ビット）まで繰り返されます。したがって、次に示すように、すべての 2 進数ビットが 1 の場合には、10 進数での表記は 255 になります。

1  1  1  1 1 1 1 1

128 64 32 16 8 4 2 1 (128+64+32+16+8+4+2+1=255)

次に、すべてのビットが 1 ではない場合のオクテットの変換例を示します。

0  1 0 0 0 0 0 1

0 64 0 0 0 0 0 1 (0+64+0+0+0+0+0+1=65)

また、次の例では、同じ IP アドレスが 2 進数表記と 10 進数表記の両方で表現されています。

10.       1.      23.      19 (decimal)

00001010.00000001.00010111.00010011 (binary)

これらのオクテットを分割することによって、大規模から小規模までのネットワークに対応できるアドレッシング方式が提供されます。ネットワークには、A から E までの 5 つのクラスがあります。クラスDとクラスEは予約されているため、このドキュメントではクラスAからクラスCに焦点を当てており、これらの説明はこのドキュメントの範囲外です。

注：このドキュメントでは、IPアドレッシングとサブネット化について理解しやすくするために、クラスA、クラスBなどの用語が使用されています。これらの用語は、クラスレス ドメイン間ルーティング（CIDR）が登場したため、業界では現在ほとんど使用されていません。

IP アドレスが指定されると、上位 3 ビット（第 1 オクテット内の最も左側の 3 ビット）でクラスが識別されます。図 1 は、この上位 3 ビットの意味とそれぞれのクラスに分類されるアドレスの範囲を示しています。参考として、クラス D とクラス E のアドレスも示されています。

Figure 1

クラスAのアドレスでは、最初のオクテットがネットワーク部を表すため、図1のクラスAの例では、メジャーネットワークのアドレス範囲は、1.0.0.x ～ 127.255.255.xになります（xの範囲は0 ～ 255です）。オクテット 2、3、および 4（次の 24 ビット）は、ネットワーク管理者によって、適切なサブネットとホストに分割されます。クラス A のアドレスは、65,536 台を超えるホスト（実際には、最大 16777214 台のホスト）があるネットワークで使用されます。

クラスBのアドレスでは、最初の2つのオクテットがネットワーク部を表すため、図1のクラスBの例では、メジャーネットワークのアドレス範囲は、128.0.0.x ～ 191.255.255.xになります。オクテット 3 および 4（16 ビット）は、ローカルのサブネットおよびホストに使用されます。クラス B のアドレスは、256 ～ 65,534 台のホストがあるネットワークで使用されます。

クラス C のアドレスでは、最初の 3 つのオクテットがネットワーク部になります。図1のクラスCの例では、メジャーネットワークアドレスは、192.0.0.x ～ 223.255.255.xです。オクテット 4（8 ビット）はローカルのサブネットおよびホスト用で、ホスト数が 254 台未満のネットワークに最適です。

ネットワーク マスク

ネットワーク マスクは、アドレスのどの部分でネットワーク、またはノードを識別すればよいのかを判断するのに役立ちます。クラス A、B、および C ネットワークには、次のように、ナチュラル マスクとも呼ばれるデフォルト マスクがあります。

Class A: 255.0.0.0

Class B: 255.255.0.0

Class C: 255.255.255.0

サブネット化されていないクラスAネットワークのIPアドレスは、10.20.15.1 255.0.0.0のようなアドレス/マスクペアを持ちます。マスクが、アドレスのネットワーク部とノード部の識別に役立つことを示すために、アドレスとマスクを 2 進数に変換します。

10.20.15.1 = 00001010.00010100.00001111.00000001

255.0.0.0  = 11111111.00000000.00000000.00000000

アドレスとマスクを2進数で表すと、ネットワークとホストIDの識別が容易になります。対応するマスクのビットが 1 に設定されたアドレス ビットは、ネットワーク ID を表します。対応するマスクのビットが 0 に設定されたアドレス ビットは、ノード ID を表します。

10.20.15.1 = 00001010.00010100.00001111.00000001

255.0.0.0  = 11111111.00000000.00000000.00000000

-----------------------------------

net id |      host id

netid =  00001010 = 10

hostid = 00010100.00001111.00000001 = 20.15.1

サブネット化について

サブネット化とは、クラス A、B、または C の 1 つのネットワークの内部に、複数の論理ネットワークを作成できるようにする仕組みです。サブネット化しない場合は、クラス A、B、または C のネットワークの 1 つのネットワークしか使用できないため、あまり実用的ではありません。

ネットワーク上の各データリンクは一意のネットワークIDを持つ必要があり、そのリンク上のすべてのノードは同じネットワークのメンバーです。メジャー ネットワーク（クラス A、B、または C）を小さなサブネットワークに分割すると、サブネットワークが相互接続されたネットワークを構成できます。そのとき、このネットワークの各データ リンクは、一意のネットワーク/サブネットワーク IDを持つことになります。n 個のネットワークに接続しているどのデバイスまたはゲートウェイにも、n 個の別々の IP アドレスが割り当てられており、相互接続されたネットワーク/サブネットワークのそれぞれが IP アドレスを持っています。

ネットワークをサブネット化するには、アドレスのホストID部分の一部のビットを使用してナチュラルマスクを拡張し、サブネットワークIDを作成します。たとえば、ナチュラル マスクが 192.168.5.0 であるクラス C ネットワーク 255.255.255.0 の場合は、次のようにサブネットを作成できます。

192.168.5.0     - 11000000.10101000.00000101.00000000

255.255.255.224 - 11111111.11111111.11111111.11100000

--------------------------|sub|----

マスクを255.255.255.224に拡張することで、アドレスの元のホスト部分から3ビット（subで示される）を取得し、それらを使用してサブネットを作成しました。この 3 ビットを使用することにより、8 つのサブネットを作成できます。残りの5つのホストIDのビットを使用すると、各サブネットでは最大32のホストアドレスを作成できますが、すべてが0または1のホストIDは許容されないため、実際にデバイスに割り当てることができるのは、そのうちの30です（このことは非常に重要です）。このようにして、これらのサブネットは作成されています。

192.168.5.0 255.255.255.224     host address range 1 to 30

192.168.5.32 255.255.255.224    host address range 33 to 62

192.168.5.64 255.255.255.224    host address range 65 to 94

192.168.5.96 255.255.255.224    host address range 97 to 126

192.168.5.128 255.255.255.224   host address range 129 to 158

192.168.5.160 255.255.255.224   host address range 161 to 190

192.168.5.192 255.255.255.224   host address range 193 to 222

192.168.5.224 255.255.255.224   host address range 225 to 254

注：これらのマスクを表記する方法は2つあります。まず、ナチュラルなクラスCマスクよりも3ビット多く使用しているため、これらのアドレスを3ビットのサブネットマスクとして表記できます。または、255.255.255.224 のマスクには 27 ビットが設定されているため、「/27」と表記する方法もあります。この 2 番目の方法は、CIDR で使用されます。この方法を使用すると、これらのネットワークの 1 つを、「プレフィクス/長さ」によって表記できます。たとえば、192.168.5.32/27 と表記されている場合には、192.168.5.32 255.255.255.224 を表します。以後、このドキュメントでは、必要に応じてプレフィクス/長さによる表記法を使用してマスクを表記します。

このセクションのネットワークサブネット化方式では、8個のサブネットを作成できます。ネットワークは次のように表示されます。

図 2

図 2 の各ルータは 4 つのサブネットワークに接続されており、1 つのサブネットが両方のルータで共通になっています。また、各ルータには、接続されているサブネットワークごとに IP アドレスが 1 つあります。各サブネットワークでは、最大で 30 のホスト アドレスをサポートできます。

これにより、興味深い事実が明らかになります。サブネット マスクにより多くのホスト ビットを使用すると、より多くのサブネットが使用できます。しかし、使用するサブネットの数が多くなるほど、各サブネットで使用できるホスト アドレスが少なくなってしまいます。たとえば、192.168.5.0のクラスCネットワークと255.255.255.224 (/27)のマスクを使用すると、それぞれ32個のホストアドレスを持つ8個のサブネットを作成できます（そのうち30個はデバイスに割り当てることができます）。マスク255.255.255.240 (/28)を使用する場合、内訳は次のようになります。

192.168.5.0     - 11000000.10101000.00000101.00000000

255.255.255.240 - 11111111.11111111.11111111.11110000

--------------------------|sub |---

ここでは、サブネットの作成に 4 ビットを使用しているため、ホスト アドレスに使用できるのは残りの 4 ビットだけです。つまり、この場合、最大 16 のサブネットを作成し、それぞれに最大 16 のホスト アドレスを割り当てることができます（デバイスに割り当てられるのは 14 です）。

クラスBネットワークをサブネット化する方法を見てみましょう。ネットワーク172.16.0.0がある場合、ナチュラルマスクは255.255.0.0または172.16.0.0/16であることがわかります。255.255.0.0 を超えてマスクを拡張することは、サブネット化を行うことを意味します。つまり、クラス C ネットワークよりも多くのサブネットを作成できる可能性があることがわかります。255.255.248.0 (/21) のマスクを使用する場合は、いくつのサブネットを作成でき、またサブネットごとにいくつのホストを作成できるでしょうか。

172.16.0.0  -   10101100.00010000.00000000.00000000

255.255.248.0 - 11111111.11111111.11111000.00000000

-----------------| sub |-----------

サブネットには、元のホスト ビットから 5 ビットを使用します。これにより、32 個（25）のサブネットを使用できます。サブネット化に5ビットを使用すると、ホストアドレス用に11ビットが残ります。そのため、各サブネットでは、ホスト アドレスを 2048（211）持つことができ、そのうちデバイスに割り当てられるのは 2046 になります。

注：以前は、サブネット0（すべてのサブネットビットがゼロに設定される）および1のすべてのサブネット（すべてのサブネットビットが1に設定される）の使用に制限がありました。一部のデバイスでは、これらのサブネットの使用が禁止されています。シスコシステムズのデバイスでは、次の場合にこれらのサブネットを使用できます ip subnet-zero コマンドが設定されます。

例

例題 1

サブネット化について理解したら、次に、この知識を使用します。この例では、プレフィクス/長さの表記法で 2 つのアドレス マスクの組み合わせが指定されており、2 つのデバイスに割り当てられています。ここでは、これらのデバイスが同一のサブネット上にあるか、または別のサブネット上にあるかを判別します。各デバイスのアドレスおよびマスクを使用して、各アドレスがどのサブネットに属しているかを判別できます。

DeviceA: 172.16.17.30/20

DeviceB: 172.16.28.15/20

DeviceA のサブネットの判別：

172.16.17.30  -   10101100.00010000.00010001.00011110

255.255.240.0 -   11111111.11111111.11110000.00000000

-----------------| sub|------------

subnet =          10101100.00010000.00010000.00000000 = 172.16.16.0

対応するマスクビットが1に設定されているアドレスビットを調べ、他のすべてのアドレスビットを0に設定します（これは、マスクとアドレスの間で論理ANDを実行する場合と同じです）。このアドレスが属するサブネットが表示されます。この場合、デバイスAはサブネット172.16.16.0に属しています。

DeviceB のサブネットの判別：

172.16.28.15  -   10101100.00010000.00011100.00001111

255.255.240.0 -   11111111.11111111.11110000.00000000

-----------------| sub|------------

subnet =          10101100.00010000.00010000.00000000 = 172.16.16.0

これらの判断から、デバイスAとデバイスBは同じサブネットに属するアドレスを持つことになります。

例題 2

192.168.5.0/24のクラスCネットワークを前提として、ネットワークをサブネット化し、示されているホスト要件を満たしながら、図3のネットワークを作成します。

図 3

図3に示すネットワークを見ると、5つのサブネットを作成する必要があることがわかります。最大のサブネットでは、28 のホスト アドレスをサポートする必要があります。これは、クラス C ネットワークでは可能でしょうか。可能であるなら、どのようにすればよいでしょうか。

開始するには、サブネット要件を調べます。必要な5つのサブネットを作成するには、クラスCホストビットから3ビットを使用する必要があります。2 ビットで作成できるサブネットは 4 つのみです（22）。

サブネット ビットに 3 ビット必要になるため、アドレスのホスト部分に使用できるのは残りの 5 ビットです。これにより、いくつのホストをサポートできるでしょうか。25 = 32（使用可能なのは 30）です。これで要件は満たされています。

したがって、このネットワークはクラスCネットワークで作成できると判断しました。サブネットワークを割り当てる方法の例を次に示します。

netA: 192.168.5.0/27      host address range 1 to 30

netB: 192.168.5.32/27     host address range 33 to 62

netC: 192.168.5.64/27     host address range 65 to 94

netD: 192.168.5.96/27     host address range 97 to 126

netE: 192.168.5.128/27    host address range 129 to 158

VLSM

すべてのサブネット化の例では、同じサブネット マスクがすべてのサブネットに適用したことを認識します。これは、それぞれのサブネットに同じ数の使用可能なホスト アドレスがあることを意味します。この方法が必要な場合もありますが、ほとんどの場合、すべてのサブネットに同じサブネットマスクがあると、アドレス空間が無駄になります。たとえば、「例題2」のセクションでは、クラスCネットワークは8つの同じサイズのサブネットに分割されていますが、各サブネットはすべての使用可能なホストアドレスを利用するわけではないため、アドレス領域が無駄になります。図 4 は、無駄になったアドレス領域を示しています。

図 4

図4は、使用されるサブネットを示しています。NetA、NetC、およびNetDには、未使用のアドレス空間が大量に存在します。これは意図的に将来の拡張を考慮した設計である可能性もありますが、多くの場合は、すべてのサブネットに同じサブネットマスクを使用することによって、単にアドレス領域を無駄にしているだけです。

可変長サブネットマスク(VLSM)を使用すると、サブネットごとに異なるマスクを使用できるため、アドレス空間を効率的に使用できます。

VLSM の例

例題 2 と同じネットワーク要件で、VLSM を使用して、次のようにサブネット化スキームを作成します。

netA: must support 14 hosts

netB: must support 28 hosts

netC: must support 2 hosts

netD: must support 7 hosts

netE: must support 28 host

どのマスクで必要な数のホストを作成できるかを判断します。

netA: requires a /28 (255.255.255.240) mask to support 14 hosts

netB: requires a /27 (255.255.255.224) mask to support 28 hosts

netC: requires a /30 (255.255.255.252) mask to support 2 hosts

netD*: requires a /28 (255.255.255.240) mask to support 7 hosts

netE: requires a /27 (255.255.255.224) mask to support 28 hosts

* a /29 (255.255.255.248) would only allow 6 usable host addresses

therefore netD requires a /28 mask.

サブネットを割り当てる最も簡単な方法は、最も大きいものを最初に割り当てることです。たとえば、次のように割り当てることができます。

netB: 192.168.5.0/27  host address range 1 to 30

netE: 192.168.5.32/27 host address range 33 to 62

netA: 192.168.5.64/28 host address range 65 to 78

netD: 192.168.5.80/28 host address range 81 to 94

netC: 192.168.5.96/30 host address range 97 to 98

これを図で表すと、図 5 のようになります。

図 5：

図5は、VLSMがアドレス空間の半分以上の節約にどのように役立ったかを示しています。

CIDR

Classless Interdomain Routing（CIDR）は、アドレス領域の使用率やインターネットでのルーティングのスケーラビリティの両方を向上させるために導入されたものです。これは、インターネットの急速な成長と、インターネット ルータに保持される IP ルーティング テーブルの拡張によって必要となりました。

CIDRは、従来のIPクラス（クラスA、クラスB、クラスCなど）から離れます。CIDR では、IP ネットワークは IP アドレスとマスクの長さを示したプレフィクスで表現されます。ここで、長さとは、左端から連続して 1 に設定されているマスク ビットの数を表します。したがって、ネットワーク172.16.0.0 255.255.0.0は172.16.0.0/16と表すことができます。また、CIDR では、より階層的なインターネット アーキテクチャが表現されており、各ドメインは IP アドレスをより高次のレベルから取得する仕組みになっています。これにより、ドメインは、より高次のレベルで集約できるようになります。たとえば、ISP がネットワーク 172.16.0.0/16 を所有している場合、顧客に対しては、172.16.1.0/24、172.16.2.0/24 などを提供できます。さらに、ISP が他のプロバイダーにアドバタイジングする場合には、172.16.0.0/16 だけをアドバタイジングするだけで済みます。

CIDRの詳細については、RFC 1518 およびRFC 1519 を参照してください。

特別なサブネット

31ビットサブネット

30ビットのサブネットマスクでは、4つのIPv4アドレス（2つのホストアドレス、1つのすべてのゼロのネットワーク、1つのすべての1つのブロードキャストアドレス）を使用できます。ポイントツーポイントリンクは2つのホストアドレスだけを持つことができます。ポイントツーポイントリンクでブロードキャストアドレスとすべてゼロのアドレスを使用する必要はありません。31ビットのサブネットマスクを使用すると、2つのホストアドレスを使用でき、ブロードキャストアドレスと0のアドレスがすべて削除されます。そのため、ポイントツーポイントリンクでのIPアドレスの使用を最小限に抑えることができます。

『RFC 3021  - IPv4ポイントツーポイントリンクでの31ビットプレフィクスの使用』を参照してください。

マスクは255.255.255.254または/31です。

/31サブネットは、シリアルインターフェイスやPOSインターフェイスなどの真のポイントツーポイントリンクで使用できます。ただし、イーサネットインターフェイスなどのブロードキャストインターフェイスタイプでも使用できます。その場合は、そのイーサネットセグメントに必要なIPv4アドレスが2つだけであることを確認します。

例

192.168.1.0と192.168.1.1はサブネット192.168.1.0/31にあります。

R1(config)#interface gigabitEthernet 0/1

R1(config-if)#ip address 192.168.1.0 255.255.255.254

% Warning: use /31 mask on non point-to-point interface cautiously

gigabitEthernetがブロードキャストセグメントであるため、警告が表示されます。

32ビットサブネット

サブネットマスク255.255.255.255（/32サブネット）は、1つのIPv4ホストアドレスのみを持つサブネットを表します。これらのサブネットは、常にリンクごとに複数のアドレスを必要とするため、ネットワークリンクにアドレスを割り当てるために使用することはできません。/32の使用は、アドレスを1つしか持つことができないリンクでの使用のために厳密に予約されています。Ciscoルータの例はループバックインターフェイスです。これらのインターフェイスは内部インターフェイスであり、他のデバイスには接続されません。したがって、/32サブネットを持つことができます。

例

interface Loopback0

ip address 192.168.2.1 255.255.255.255

付録

サンプル コンフィギュレーション

ルータ A と B はシリアル インターフェイスで接続されています。

ルータ A

hostname routera

!

ip routing

!

int e 0

ip address 172.16.50.1 255.255.255.0

!(subnet 50)

int e 1 ip address 172.16.55.1 255.255.255.0

!(subnet 55)

int s 0 ip address 172.16.60.1 255.255.255.0

!(subnet 60) int s 0

ip address 172.16.65.1 255.255.255.0 (subnet 65)

!S 0 connects to router B

router rip

network 172.16.0.0

ルータ B

hostname routerb

!

ip routing

!

int e 0

ip address 192.168.10.200 255.255.255.240

!(subnet 192)

int e 1

ip address 192.168.10.66 255.255.255.240

!(subnet 64)

int s 0

ip address 172.16.65.2 (same subnet as router A's s 0)

!Int s 0 connects to router A

router rip

network 192.168.10.0

network 172.16.0.0

ホスト/サブネットの数値表

Class B                   Effective  Effective

# bits        Mask         Subnets     Hosts

-------  ---------------  ---------  ---------

1      255.255.128.0           2     32766

2      255.255.192.0           4     16382

3      255.255.224.0           8      8190

4      255.255.240.0          16      4094

5      255.255.248.0          32      2046

6      255.255.252.0          64      1022

7      255.255.254.0         128       510

8      255.255.255.0         256       254

9      255.255.255.128       512       126

10     255.255.255.192      1024        62

11     255.255.255.224      2048        30

12     255.255.255.240      4096        14

13     255.255.255.248      8192         6

14     255.255.255.252     16384         2

Class C                   Effective  Effective

# bits        Mask         Subnets     Hosts

-------  ---------------  ---------  ---------

1      255.255.255.128      2        126

2      255.255.255.192      4         62

3      255.255.255.224      8         30

4      255.255.255.240     16         14

5      255.255.255.248     32          6

6      255.255.255.252     64          2

*Subnet all zeroes and all ones included. These

may not be supported on some legacy systems.

*Host all zeroes and all ones excluded.

関連情報

- IP ルーティング プロトコル テクノロジーに関するサポート ページ

- サブネット 0 およびすべて 1 のサブネット

- ホストおよびサブネットの数

- テクニカル サポートとドキュメント - Cisco Systems