TCP/IP アドレスの割り当てとサブネット化に関する基礎知識

適用対象: なし

はじめに


Microsoft Windows コンピュータで TCP/IP プロトコルを構成するときには、TCP/IP の構成設定として、IP アドレス、サブネット マスク、および通常はデフォルト ゲートウェイが必要になります。

TCP/IPを正しく構成するには、TCP/IPネットワークがどのように動作しており、ネットワークとサブネットワークに分割されているかを理解する必要があります。 この記事は、IPネットワークとサブネットの概念の概要を示しています。 用語集は、記事の最後に含まれます。

詳細情報


インターネットのネットワーク プロトコルとして TCP/IP が成功するのは、さまざまな種類のさまざまなサイズやシステムのネットワークを接続できるからです。 これらのネットワークは、定義済みのサイズを持つ 3つの主要なクラス(他のユーザーと共に)にあらかじめ定義されています。これらは、システム管理者によってそれぞれを小さめのサブネットワークに分割することができます。 サブネットマスクは、IP アドレスを2つの部分に分割するために使用されます。 1つのパーツはホスト(コンピューター)を識別し、他のパーツはそれらが属するネットワークを識別します。 IPアドレスとサブネットマスクがどのように動作するかを理解するには、IP(インターネットプロトコル)アドレスを調べて、どのように構成されているかを確認します。

 

IP アドレス ネットワークとホスト

IP アドレスとは、TCP/IP ネットワーク上で 1 つのホスト (コンピュータ、またはプリンタやルーターなどのデバイス) を一意に識別する 32 ビットの数値です。

IPアドレスは、通常、4桁の数字をピリオドで区切られたドット付き10進数の形式で、例えば 192.168.123.132のように表されます。 サブネットマスクが、ホスト、ネットワーク、およびサブネットワークを区別するためにどのように使用されているかを理解するには、IPアドレスをバイナリ表記で調べます。

たとえば、ドット付き10進数の IPアドレス 192.168.123.132 は (バイナリ表記で) 32ビット番号110000000101000111101110000100 です。 この数値は、意味を理解するのは難しいため、8 つのバイナリ数字の 4 つの部分に分割します。

これらの8ビット部分は、オクテットと呼ばれます。 すると、この例のIPアドレスは 11000000.10101000.01111011.10000100 になります。 この値は、わずかしか意味を持たないため、ほとんどの使用ではバイナリアドレスをドット区切り形式 (192.168.123.132) に変換します。 ピリオドで区切られた10進数の数値は、バイナリから10進数表記に変換されたオクテットです。

TCP/IPワイドエリアネットワーク(WAN)では、ネットワークのコレクションとして効率的に機能するため、ネットワーク間のデータのパケットを通過するルーターは、情報のパケットが配置されるホストの正確な場所を認識しません。 ルーターは、ホストがどのネットワークのメンバーであり、パケットを取得先ホストのネットワークからどのように取得するかを決定するためにルートテーブルに格納されている情報のみを知ることができます。 パケットが宛先のネットワークに配信された後、パケットは適切なホストに配信されます。

この処理を行うために、IPアドレスには2つの部分があります。 IPアドレスの最初の部分は、ネットワークアドレスとして、後半はホストアドレスとして使用されます。 例として、192.168.123.132 は次の2つの部分に分かれています。
 
   192.168.123. Network .132 Host 
コンピューターを再起動します。
   192.168.123.0 - network address. 0.0.0.132 - host address. 

サブネット マスク

TCP/IPに必要な2番目の項目は、サブネットマスクです。 TCP/IP プロトコルでは、ホストがローカル サブネット上に存在するか、リモート ネットワーク上に存在するかを判別するために、サブネット マスクが使用されます。

TCP/IPでは、ネットワークおよびホストアドレスとして使用されるIPアドレスの一部は固定されていないため、より多くの情報がない限りネットワークがホストかを決定することができません。 この情報は、サブネットマスクと呼ばれる別の32ビット数で提供されます。 この例では、サブネットマスクは 255.255.255.0 です。 バイナリ表記の255 が 11111111 と等しいことを認識していない限り、この数値は明白ではありません。
 
   11111111.11111111.11111111.0000000 
IP アドレスとサブネット マスクを並べて比較すると、アドレスのネットワーク部分とホスト部分を分離できます。
 
   11000000.10101000.01111011.10000100 -- IP address (192.168.123.132)   11111111.11111111.11111111.00000000 -- Subnet mask (255.255.255.0) 
最初の 24 ビット (サブネット マスクにある数字) は、ネットワーク アドレスとして識別されます。後半の 8 ビット (サブネット マスクの残りの数値が 0 の部分) は、ホスト アドレスを示します。 これにより次のことがわかります。
 
   11000000.10101000.01111011.00000000 -- Network address (192.168.123.0)   00000000.00000000.00000000.10000100 -- Host address (000.000.000.132) 
255.255.255.0 のサブネットマスクを使用しているこの例では、ネットワークIDは 192.168.123.0 で、ホストアドレスは0.0.0.132 であることがわかります。 パケットが 192.168.123.0 サブネット (ローカルサブネットまたはリモートネットワークから) 上に到着し、その宛先アドレスが 192.168.123.132 である場合には、あなたのコンピューターはそれをネットワークから受信して処理します。

ほとんどの 10 進数のサブネット マスクは、左側がすべて 1 で右側がすべて 0 の 2 進数に変換されます。 その他の一般的なサブネットマスクは次のとおりです。
 
   Decimal                 Binary   255.255.255.192         1111111.11111111.1111111.11000000   255.255.255.224         1111111.11111111.1111111.11100000 
TCP/IP ネットワークで使用できる有効なサブネットおよびサブネット マスクについては、インターネット RFC 1878 (http://www.internic.netで参照可能) に記載されています。

 

ネットワーク クラス

インターネットアドレスは、インターネットを管理する InterNIC (http://www.internic.net) によって割り当てられます。 これらのIPアドレスはクラスに分かれています。 最も一般的なクラスは、クラスA、B、およびCです。クラスDおよびEは、通常エンドユーザーでは使用されません。 各アドレスクラスには、それぞれ異なる既定のサブネットマスクがあります。 IPアドレスのクラスは、最初のオクテットを見ることでIPアドレスのクラスを識別することができます。 次の例は、クラスA、B、およびCの各インターネットアドレスの範囲を示していて、以下がその例です。
 
  • クラスAネットワークでは、既定のサブネットマスク 255.0.0.0 が使用され、最初のオクテットとして 0-127 が使用されます。 アドレス 10.52.36.11 は、クラスAのアドレスです。 最初のオクテットは 10 で、1から126の間に入っています。
  • クラスBネットワークは、既定のサブネットマスク 255.255.0.0 を使用し、最初のオクテットとして 128-191 を使用します。 アドレス 172.16.52.63 は、クラスBアドレスです。 最初のオクテットは 172 で、128~191の間に入ります。
  • クラスCのネットワークでは、既定のマスク 255.255.255.0 が使用され、最初のオクテットは 192-223 が使用されます。 アドレス 192.168.123.132 はクラスCのアドレスです。 最初のオクテットは 192 で、192 と 223 の間に入ります。
状況によっては、ネットワークの物理的なトポロジのため、またはネットワーク (またはホスト) の数がデフォルトのサブネット マスクの制限を超えていたりするために、デフォルトのサブネット マスクの値が組織のニーズに合わない場合があります。 次のセクションでは、サブネットマスクを使用してネットワークをどのように分割できるかについて説明します。

 

サブネット化

システム管理者が、クラスA、B、またはC TCP/IPネットワークをさらに分割またはサブネット化することができます。 この手法は、インターネット (IP アドレスとサブネットで構成される抽象的な空間) の論理アドレス スキームを実環境の物理ネットワークに適用するときに必要となります。

IPアドレスのブロックを割り当てられているシステム管理者は、これらのアドレスを簡単に満たすことができないネットワークを管理することができます。 たとえば、TCP/IPルーターによって接続される3台のネットワーク(異なる都市)で、150のホストを持つワイドエリアネットワークがあるとします。 これら3つのネットワークにはそれぞれ50個のホストがあります。 クラスCの192.168.123.0に割り当てられています。 (図の場合、このアドレスは、実際にはインターネットに割り当てられている範囲とは異なります)。 これは、150のホスト用に 192.168.123.1 から 192.168.123.254 までのアドレスを使用できることを意味します。

例で使用することができない2つのアドレスは 192.168.123.0 および 192.168.123.255 で、ホスト部分のバイナリアドレスがすべて1かすべて0であるためです。 ゼロアドレスは、ホストを指定せずにネットワークを指定するために使用されているため無効です。 255 のアドレス (バイナリ表記のホストアドレス) は、ネットワーク上のすべてのホストにメッセージをブロードキャストするために使用されます。 いずれのネットワークまたはサブネットにおいても最初と最後のアドレスを個別のホストに割り当てることはできません。

これで、IPアドレスを 254 のホストに与えることができます。 これは、すべての150台のコンピューターが1つのネットワーク上にある場合に機能します。 ただし、150台のコンピューターは、3つの異なる物理ネットワーク上にあります。 各ネットワークでより多くのアドレスブロックを要求する代わりに、複数の物理ネットワーク上のアドレスブロックを使用できるサブネットにネットワークを分割します。

この場合、ネットワークアドレスが大きいサブネットマスクを使用して、ネットワークを4つのサブネットに分割し、そのホストアドレスの可能範囲を小さくします。 つまり、通常はホストアドレスで使用されるビットの一部を「借りてきて」、アドレスのネットワーク部分み使用するということです。 サブネットマスク 255.255.255.192 では、4つのネットワークがそれぞれ62のホストを与えます。 255.255.255.192 は、バイナリ表記では 1111111.11111111.1111111.11000000と同じです。 最後のオクテットの最初の2桁の数字はネットワークアドレスであるため、追加のネットワーク 00000000 (0), 01000000 (64), 10000000 (128) and 11000000 (192) となります。 (一部の管理者は 255.255.255.192 をサブネットマスクとして使用して2つのサブネットワークのみを使用します。 詳細については、RFC 1878 を参照してください。) これら4つのネットワークでは、ホストアドレスに最後の6個のバイナリ数字を使用できます。

サブネット マスク 255.255.255.192 を使用すると、192.168.123.0 というネットワークは、192.168.123.0、192.168.123.64、192.168.123.128、および 192.168.123.192 の 4 つのネットワークに分割されます。 これらの4つのネットワークは、有効なホストアドレスとして使用できます。
 
   192.168.123.1-62   192.168.123.65-126   192.168.123.129-190   192.168.123.193-254 
既に説明したとおり、2 進表記ですべて 1 または 0 となるホスト アドレスは無効なため、最後のオクテットが 0、63、64、127、128、191、192、または 255 のアドレスは使用できません。

この動作は、2つのホストアドレス、192.168.123.71および192.168.123.133を調べることで確認できます。 デフォルトのクラスCサブネットマスク 255.255.255.0 を使用した場合、両方のアドレスは 192.168.123.0 ネットワーク上にあります。 ただし、サブネットマスク 255.255.255.192 を使用する場合は、異なるネットワーク上にあり、192.168.123.71は 192.168.123.64 ネットワーク上、192.168.123.133 は 192.168.123.128 ネットワーク上にあります。

 

デフォルト ゲートウェイ

TCP/IPコンピューターが別のネットワーク上のホストと通信する必要がある場合は、通常、ルーターと呼ばれるデバイスを介して通信します。 TCP/IP用語では、ホスト上で指定されているルーターは、ホストのサブネットを他のネットワークにリンクし、デフォルトゲートウェイと呼ばれます。 このセクションでは、TCP/IPが、ネットワーク上の別のコンピューターまたはデバイスにパケットを送信するためにパケットをデフォルトゲートウェイに送信するかどうかを決定する方法を説明します。

ホストが TCP/IP を使用して他のデバイスと通信するとき、そのホストでは、既定されたサブネット マスクと宛先の IP アドレスに対してサブネットマスクと自身の IP アドレスを比較します。 この比較の結果は、移行先がローカルホストかリモートホストかをコンピューターに指示します。

このプロセスの結果によって、ローカルホストになると判断される場合は、ローカルサブネットにパケットが送信されます。 比較結果によって、リモートホストと見なされる先が決まった場合、コンピューターはTCP/IPプロパティで定義されたデフォルトゲートウェイにパケットを転送します。 次に、ルーターはパケットを正しいサブネットに転送します。

 

トラブルシューティング

TCP/IPネットワークの問題は、多くの場合、コンピューターのTCP/IPプロパティにある3つの主要なエントリが正しく構成されていないことが原因で発生します。 TCP/IP構成のエラーがネットワーク操作にどのように影響するかを理解することで、多数の一般的なTCP/IPの問題を解決できます。

不正なサブネット マスク: ネットワークユーザーが、アドレスクラス対して既定のマスク以外のサブネットマスクを使用し、クライアントがアドレスクラスに対して既定のサブネットマスクのままで構成している場合、通信は近くのネットワークで失敗しますが、遠くではありません。 たとえば、TCP/IP構成で正しくないサブネットマスク 255.255.255.0 を使用して4つのサブネット (サブネット例のように) を作成すると、ホストは自身のサブネットにある以外のコンピュータを決定することができません。 この場合、同じクラスCアドレスの一部である別々の物理ネットワーク上のホストに向けたパケットはデフォルトゲートウェイに送信されません。 これは、コンピューターがローカルネットワーク上にあるホストと通信できる場合、および近くならびに同じクラスA、B、またはCアドレスである場合を除くすべてのリモートネットワークと通信できる場合に発生します。 この問題を解決するには、そのホストのTCP/IP構成に正しいサブネットマスクを入力することです。

不正 IP アドレス: 互いに別であるローカルネットワーク上の個別のサブネットに配置すべきIPアドレスのつコンピューターを配置した場合は、通信できません。 これらは、相互に正しく転送できないルーターを通じてパケットを互いに送信しようとします。 この問題の症状は、リモートネットワーク上のホストと会話できますが、そのローカルネットワーク上の一部またはすべてのコンピューターと通信できないことです。 この問題を解決するには、同じ物理ネットワーク上のすべてのコンピューターに同じIPサブネットのIPアドレスがあることを確認します。 1つのネットワークセグメントでIPアドレスが不足した場合には、この記事の範囲を超えるソリューションがあります。

不正なデフォルト ゲートウェイ: 正しくないデフォルトゲートウェイで構成されたコンピューターは、自身のネットワークセグメントでホストと通信できますが、一部またはすべてのリモートネットワーク上のホストと通信できません。 1つの物理ネットワークに複数のルーターがあり、正しくないルーターがデフォルトゲートウェイとして構成されている場合、ホストは一部のリモートネットワークと通信できますが、他のユーザーは通信できません。 この問題は、内部TCP/IPネットワークにルーターがあり、別のルーターがインターネットに接続している場合によく起こる問題です。

関連情報


TCP/IP に関する有名な参考文献として、次の 2 つがあります。

「TCP/IP Illustrated,Volume 1: The Protocols」 Richard Stevens, Addison Wesley, 1994

「Internetworking with TCP/IP, Volume 1: Principles, Protocols, and Architecture」 Douglas E. Comer, Prentice Hall, 1995

TCP/IP ネットワークのシステム管理者には、これらの参考文献を最低 1 つは入手することを強くお勧めします。


用語集

ブロードキャスト アドレス -- ホスト部分がすべて 1 の IP アドレス。

ホスト -- TCP/IP ネットワーク上のコンピュータまたはその他のデバイス。

インターネット -- ネットワークの世界規模の集合。各ネットワークは相互に接続され、共通の範囲の IP アドレスを共有します。

JPNIC -- インターネット上の IP アドレスの日本国内の管理を行う組織。

IP -- TCP/IP ネットワークまたはインターネットを介してネットワーク パケットを送信するためのネットワーク プロトコル。

IP アドレス -- TCP/IP ネットワークまたはインターネットワーク上のホストに割り当てられる一意の 32 ビット アドレス。

ネットワーク -- この資料では、ネットワークという用語を 2 つの意味で使用しています。 単一の物理的なネットワーク セグメントに存在するコンピューターのグループを示す場合と、システム管理者によって割り当てられる IP ネットワーク アドレスの範囲を示す場合があります。

ネットワーク アドレス -- ホスト部分がすべて 1 の IP アドレス。

オクテット -- 8 ビットの数値。32 ビットの IP アドレスは 4 つのオクテットで構成されます。 これらの値は、10進値 0- 255 に相当する 00000000-11111111 の範囲です。

パケット - TCP/IP ネットワークまたはワイド エリア ネットワークを介して受け渡されるひとかたまりのデータ。

RFC (Request for Comment) -- インターネットの標準仕様を定める文書。

ルーター -- 異なる IP ネットワーク間でネットワーク トラフィックを送受信するデバイス。

サブネット マスク -- IP アドレスのネットワーク部分とホスト部分を識別するために使われる 32 ビットの数値。

サブネット、サブネットワーク -- 大規模なネットワークを等分して作成された小規模なネットワーク。

TCP/IP -- インターネットや大規模なネットワークで広く使用されているプロトコル、標準仕様、およびユーティリティのセット。

ワイド エリア ネットワーク (WAN) -- ルーターで分離される小規模ネットワークが集合した大規模なネットワーク。 インターネットは非常に大きなWANの例です。