Hierarchical Navigation |
目次概要 概要このドキュメントでは、アドレスの分割方法やサブネット化の仕組みなど、ルータで IP ルーティングを設定するために必要な基本的な知識について説明します。具体的には、一意のサブネットを使用してルータのインターフェイスに IP アドレスを割り当てる方法について説明します。また、学習内容の実際的な応用に役立つように、数多くの例を紹介しています。 前提条件要件このドキュメントに関する特別な要件はありません。 使用するコンポーネントこのドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。 追加情報説明を開始する前に、必要となる用語の定義を次に示します。
Internet Network Information Center(InterNIC; インターネット ネットワーク情報センター)から正規のアドレスをすでに取得している場合は、すぐに学習を開始できます。インターネットに接続する計画がない場合には、RFC 1918 表記法ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。 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 進数への変換は、次のように行われます。オクテットの最も右側のビット、つまり Least Significant Bit(LSB; 最下位ビット)は、20 で表される値になります。そのすぐ左隣のビットは、21 で表される値になります。同じ手順が、27 で求められる値を表すオクテット左端のビット、つまり 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 までのアドレッシングについて説明します。 注:また、このドキュメントで使用する「クラス A」、「クラス B」などの用語は、IP アドレスやサブネットについての理解を深めるために使用されていることに留意してください。これらの用語は、Classless Interdomain Routing(CIDR; クラスレス ドメイン間ルーティング)が登場したため、業界では現在ほとんど使用されていません。 IP アドレスが指定されると、上位 3 ビットでクラスが識別されます。図 1 は、この上位 3 ビットの意味とそれぞれのクラスに分類されるアドレスの範囲を示しています。参考として、クラス D とクラス E のアドレスも示されています。 図 1
クラス A のアドレスでは、最初のオクテットがネットワーク部を表すため、図 1 のクラス A の例では、メジャー ネットワークのアドレス範囲は、1.0.0.0 〜 127.255.255.255 になります。オクテット 2、3、および 4(次の 24 ビット)は、ネットワーク管理者によって、適切なサブネットとホストに分割されます。クラス A のアドレスは、65,536 台を超えるホスト(実際には、最大 16777214 台のホスト)があるネットワークで使用されます。 クラス B のアドレスでは、最初の 2 つのオクテットがネットワーク部を表します。そのため、図 1 のクラス B の例では、メジャー ネットワークのアドレス範囲は、128.0.0.0 〜 191,255,255,255 になります。オクテット 3 および 4(16 ビット)は、ローカルのサブネットおよびホストに使用されます。クラス B のアドレスは、256 〜 65,534 台のホストがあるネットワークで使用されます。 クラス C のアドレスでは、最初の 3 つのオクテットがネットワーク部になります。図 1 のクラス C の例では、メジャー ネットワークのアドレスは、192.0.0.0 〜 233.255.255.255 の範囲になります。オクテット 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 アドレスは、「8.20.15.1 255.0.0.0」のようなアドレス/マスクのペアになります。マスクが、アドレスのネットワーク部とノード部の識別に役立つことを示すために、アドレスとマスクを 2 進数に変換します。 8.20.15.1 = 00001000.00010100.00001111.00000001 255.0.0.0 = 11111111.00000000.00000000.00000000 アドレスとマスクを 2 進数で表すことによって、ネットワークおよびホスト ID の識別が容易になります。対応するマスクのビットが 1 に設定されたアドレス ビットは、ネットワーク ID を表します。対応するマスクのビットが 0 に設定されたアドレス ビットは、ノード ID を表します。 8.20.15.1 = 00001000.00010100.00001111.00000001
255.0.0.0 = 11111111.00000000.00000000.00000000
-----------------------------------
net id | host id
netid = 00001000 = 8
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 を作成します。たとえば、ナチュラル マスクが 204.17.5.0 であるクラス C ネットワーク 255.255.255.0 の場合は、次のようにサブネットを作成できます。 204.17.5.0 - 11001100.00010001.00000101.00000000
255.255.255.224 - 11111111.11111111.11111111.11100000
--------------------------|sub|----
マスクを 255.255.255.224 に拡張することによって、アドレスの元のホスト部分から(「sub」で示されている)3 ビットを取り込み、それらを使用してサブネットを作成しています。この 3 ビットを使用することにより、8 つのサブネットを作成できます。残りの 5 つのホスト ID のビットを使用すれば、各サブネットでは最大 32 のホスト アドレスを作成できますが、すべてが 0 または 1 のホスト ID は許容されないため、実際にデバイスに割り当てることができるのは、そのうちの 30 です(このことは非常に重要ですので、注意してください)。このようにして、これらのサブネットは作成されています。 204.17.5.0 255.255.255.224 host address range 1 to 30 204.17.5.32 255.255.255.224 host address range 33 to 62 204.17.5.64 255.255.255.224 host address range 65 to 94 204.17.5.96 255.255.255.224 host address range 97 to 126 204.17.5.128 255.255.255.224 host address range 129 to 158 204.17.5.160 255.255.255.224 host address range 161 to 190 204.17.5.192 255.255.255.224 host address range 193 to 222 204.17.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 つを、「プレフィクス/長さ」によって表記できます。たとえば、204.17.5.32/27 と表記されている場合には、204.17.5.32 255.255.255.224 を表します。以後、このドキュメントでは、必要に応じてプレフィクス/長さによる表記法を使用してマスクを表記します。 このセクションのネットワークのサブミット化スキームでは、8 つのサブネットを作成できるため、ネットワークは次のようになります。 図 2
図 2 の各ルータは 4 つのサブネットワークに接続されており、1 つのサブネットが両方のルータで共通になっています。また、各ルータには、接続されているサブネットワークごとに IP アドレスが 1 つあります。各サブネットワークでは、最大で 30 のホスト アドレスをサポートできます。 これにより、興味深い事実が明らかになります。サブネット マスクに多くのホスト ビットを使用すれば、それだけ多くのサブネットを利用できます。しかし、使用するサブネットの数が多くなるほど、各サブネットで使用できるホスト アドレスが少なくなってしまいます。たとえば、マスクが 255.255.255.224 (/27) のクラス C ネットワーク 204.17.5.0 には、8 つのサブネットを作成でき、各サブネットには 32 のホスト アドレスを作成できます(そのうちデバイスに割り当てられるのは 30 です)。255.255.255.240 (/28) のマスクを使用した場合は、次のように分割されます。 204.17.5.0 - 11001100.00010001.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(すべてのサブネット ビットが 0)と、すべてのサブネット ビットが 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 に設定されているアドレス ビットに注目します。ここで、他のすべてのアドレス ビットをゼロに設定することによって(これは、マスクとアドレスの間で論理「AND」を実行することになります)、このアドレスがどのサブネットに属しているかがわかります。この場合、DeviceA は 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
これらの判別結果から、DeviceA と DeviceB には、同一サブネットに属するアドレスが割り当てられていることがわかります。 例題 2204.15.5.0/24 のクラス C ネットワークがあります。ここで、示されたホスト要件を満たしながら、ネットワークをサブネット化して、図 3 のネットワークを作成します。 図 3
図 3 に示されたネットワークでは、5 つのサブネットを作成する必要があることがわかります。最大のサブネットでは、28 のホスト アドレスをサポートする必要があります。これは、クラス C ネットワークでは可能でしょうか。可能であるなら、どのようにすればよいでしょうか。 まず、最初にサブネットの要件を確認します。必要な 5 つのサブネットを作成するには、クラス C のホスト ビットから 3 ビットを使用する必要があります。2 ビットでは、サブネットを 4 つ(22)しか作成できません。 サブネット ビットに 3 ビット必要になるため、アドレスのホスト部分に使用できるのは残りの 5 ビットです。これにより、いくつのホストをサポートできるでしょうか。25 = 32(使用可能なのは 30)です。これで要件は満たされています。 したがって、このネットワークをクラス C ネットワークで作成できると判断できます。サブネットワークを割り当てる方法の例を次に示します。 netA: 204.15.5.0/27 host address range 1 to 30 netB: 204.15.5.32/27 host address range 33 to 62 netC: 204.15.5.64/27 host address range 65 to 94 netD: 204.15.5.96/27 host address range 97 to 126 netE: 204.15.5.128/27 host address range 129 to 158 VLSM の例ここまで説明したすべてのサブネット化の例では、すべてのサブネットに同一のサブネット マスクが適用されていることに注意してください。つまり、各サブネットで使用可能なホスト アドレスの数は同じということになります。これは、状況によっては必要な場合もありますが、ほとんどの場合は、すべてのサブネットに同一のサブネット マスクを割り当てると、アドレス領域が浪費されてしまいます。たとえば、例題 2 では、クラス C ネットワークは 8 つの同一サイズのサブネットに分割されています。しかし、各サブネットでは、使用可能なホスト アドレスがすべて利用されているわけではないため、結果的にアドレス領域が無駄になります。図 4 は、無駄になったアドレス領域を示しています。 図 4
図 4 では、使用中のサブネットのうちで、NetA、NetC、および NetD では、未使用のアドレス領域が大量に存在することが示されています。これは、意図的に将来の成長を考慮して設計されている可能性もありますが、ほとんどの場合は、すべてのサブネットに同一のサブネット マスクを使用することによって、単にアドレス領域を無駄にしているだけです。 変長サブネット マスク(VLSM; Variable Length Subnet Masks)を使用することによって、各サブネットに異なるマスクを適用して、効率的にアドレス領域を使用できるようになります。 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: 204.15.5.0/27 host address range 1 to 30 netE: 204.15.5.32/27 host address range 33 to 62 netA: 204.15.5.64/28 host address range 65 to 78 netD: 204.15.5.80/28 host address range 81 to 94 netC: 204.15.5.96/30 host address range 97 to 98 これを図で表すと、図 5 のようになります。 図 5
図 5 は、VLSM を利用してアドレス領域を半分以上も節約できる仕組みを示しています。 CIDRClassless 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 だけをアドバタイジングするだけで済みます。 詳細は、RFC 1518 付録設定例ルータ A と B はシリアル インターフェイスで接続されています。 ルータ Ahostname 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 t 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 ルータ Bhostname routerb ! ip routing ! int e 0 ip address 192.1.10.200 255.255.255.240 !(subnet 192) int e 1 ip address 192.1.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.1.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 might not be supported on some legacy systems. *Host all zeroes and all ones excluded. Cisco サポート コミュニティ - 特集対話関連情報
|