TCP/IP とデータ通信

第 3 章 ネットワークの計画

この章では、コスト効率のよい整然とした方法でネットワークを構築するために解決しておく必要のある事項について説明します。これらの事項を解決してしまえば、ネットワークを設定し引き続き管理するための計画を立てることができます。

まだ TCP/IP の基本事項に慣れていない方は、第 2 章「TCP/IP プロトコル群」を参照してください。

ネットワークの設計

ネットワークのライフサイクルの最初のフェーズはネットワークの設計です。このフェーズでは、まず、組織のニーズを満たす最適のネットワークの種類を決定することから始めます。計画段階で行う決定には、たとえば次のように、ネットワークハードウェアに関連したものがいくつかあります。

これらの要因に基づいて、ローカルエリアネットワークのサイズを決定できます。


注 -

ネットワークハードウェアの計画については、このマニュアルでは説明しません。詳細は、ハードウェアに付属しているマニュアルを参照してください。


ネットワーク計画に関する要因

ハードウェア計画を完成してしまったら、次に、ソフトウェアに重点を置いたネットワーク計画に着手することができます。

この計画工程では次のような手順が必要になります。

  1. ネットワーク番号を入手し、必要なら、ネットワークドメインを InterNIC に登録します。

  2. IP ネットワーク番号を受け取ったら、ホストに適用する IP アドレス指定方針を考えます。

  3. ネットワークを形成するすべてのマシンの IP アドレスとホスト名を含むリストを作成します。これは、ネットワークデータベースの構築の際に利用できます。

  4. ネットワークでどのネームサービスを使用するかを決定します。使用できるのは、NIS、NIS+、DNS、または、ローカルな /etc ディレクトリにあるネットワークデータベースのどれかです。

  5. ネットワークに必要なら、管理作業を分担するための区分を設定します。

  6. ネットワークがルータを必要とするような規模のものかどうかを判断し、必要なら、ルータをサポートするようなネットワークトポロジを作成します。

  7. ネットワークに必要なら、サブネットを設定します。

以下第 3 章「ネットワークの計画」では、上記の要因を念頭に置きながらネットワークの計画を立てる方法について説明します。

IP アドレス指定方針の設定

サポートを予定しているマシンの数によって、このサイトでのネットワーク設定の現段階で行う決定実行のいくつかが影響を受けます。組織によっては、1 つの階または 1 つのビルの中にある数十台のスタンドアロンマシンから成る小さいネットワークが必要な場合もあります。逆に、複数のビルに散在する 1000 以上ものホストを持つネットワークの設定が必要な場合もあります。このような大きい配置の場合は、ネットワークをサブネットと呼ばれる小区分に細分することが必要になることもあります。予定されているネットワークのサイズは、次の事項に影響を与えます。

ネットワーク番号を入手し、IP アドレス指定方針を確立することは、ネットワーク管理の計画フェーズでの最も重要な作業の 1 つです。

IP アドレス番号のパーツ

TCP/IP を実行する各ネットワークは、それぞれ一意なネットワーク番号を持っていて、そのネットワーク上のすべてのマシンがそれぞれ一意な IP アドレスを持っていることが必要です。ネットワークを登録し、ネットワーク番号を入手するには、その前に、IP アドレスの構造を理解しておくことが重要です。

IP アドレスは、特定のマシンのネットワークインタフェースを一意なものとして識別する 32 ビットの番号です。IP アドレスは一般に 10 進数字で表され、ピリオドで区切った 4 つの 8 ビットフィールドの形式をとります。個々の 8 ビットフィールドは、それぞれ IP アドレスの 1 バイトを表します。このような形式で IP アドレスのバイトを表す方式を、「ドット化 10 進形式」と呼びます。

IP アドレスのバイトは、さらに、ネットワーク部とホスト部の 2 つの部分に分かれます。図 3-1 に、129.144.50.56 という典型的な IP アドレスの構成パーツを示します。

図 3-1 IP アドレス番号のパーツ

Graphic

ネットワーク部

ネットワーク部は、ネットワークに割り当てられている一意な番号を示します。これは、割り当てられているネットワーククラスも識別します。 図 3-1 では、ネットワーク部は IP アドレスの 2 バイトを占めています。

ホスト部

IP アドレスのこの部分は、管理者が各ホストに割り当てる番号です。この番号は、ネットワーク内でこのマシンを一意なものとして識別します。ネットワーク上の各ホストについて、アドレスのネットワーク部は同じで、ホスト部は違っていなければならないという点に注意してください。

サブネット番号 (オプション)

多数のホストを持つローカルネットワークは、いくつかのサブネットに分割されることがあります。ネットワークをサブネット化することにした場合は、サブネットにサブネット番号を割り当てる必要があります。IP アドレスのホスト番号部の一部のビットをネットワーク識別子として使用することで、IP アドレス空間の有効率を最大限にすることができます。ネットワーク識別子として使用した場合、アドレスの指定した部分がサブネット番号になります。サブネット番号は、ネットマスクを使って作成します。ネットマスクは、IP アドレスのネットワーク部とサブネット部を選択するビットマスクです (詳細は、「ネットワークマスクの作成」を参照してください)。

ネットワーククラス

ネットワーク上での IP アドレス指定に関する計画の第 1 ステップは、最も妥当なネットワーククラスを決定することです。それが済んだら、きわめて重要な第 2 のステップ、つまり、InterNIC アドレス指定機関からのネットワーク番号の入手に移ることができます。

現在、TCP/IP ネットワークには 3 つのクラスがあります。32 ビットのアドレス空間は、ネットワーク部のビット数が多かったり少なかったりするなど、クラスによって使い方が異なります。3 つのクラスとは、クラス A、クラス B、クラス C です。

クラス A ネットワーク番号

クラス A ネットワーク番号では、IP アドレスの最初の 8 ビットが「ネットワーク部」として使用されます。残りの 24 ビットは、下の 図 3-2 に示すように、IP アドレスのホスト部です。

図 3-2 クラス A アドレスのバイト割り当て

Graphic

クラス A ネットワーク番号の最初のバイトに割り当てられる値の範囲は、1 〜 127 です。たとえば、75.4.10.4 という IP アドレスがあるとします。最初のバイトの 75 という値は、このホストがクラス A ネットワーク内にあることを示しています。残りのバイトの 4.10.4 はホストアドレスを形成します。クラス A の番号の場合、InterNIC が割り当てるのは、最初の 1 バイトだけです。残りの 3 バイトをどのように使用するかは、そのネットワーク番号の所有者の自由です。クラス A のネットワークとして存在可能なのは 127 個だけです。この範囲内の各番号が、それぞれ最大 16,777,214 個のホストを収容できます。

クラス B ネットワーク番号

クラス B ネットワーク番号では、16 ビットがネットワーク番号に使用され、16 ビットがホスト番号に使用されます。クラス B ネットワーク番号の最初のバイトの値の範囲は、128 〜 191 です。129.144.50.56 の番号の場合、最初の 2 バイトの 129.144 は InterNIC により割り当てられるネットワークアドレスです。残りの 2 バイトの 50.56 はホストアドレスで、これはネットワーク番号の所有者が任意に割り当てることができます。図 3-3 に、クラス B のアドレスを示します。

図 3-3 クラス B アドレスのバイト割り当て

Graphic

一般に、クラス B は、多数のホストを備えたネットワークを持つ組織に割り当てられます。

クラス C ネットワーク番号

クラス C ネットワーク番号では、24 ビットがネットワーク番号に使用され、8 ビットがホスト番号に使用されます。クラス C ネットワーク番号は、ホスト数が少ない、つまり最大ホスト数が 254 台程度のネットワークに適しています。クラス C ネットワーク番号は、IP アドレスの最初の 3 バイトを占めます。ネットワーク番号の所有者が自由に割り当てることができるのは、4 番目のバイトだけです。図 3-4 に、クラス C アドレスのバイトを示します。

図 3-4 クラス C アドレスのバイト割り当て

Graphic

クラス C ネットワーク番号の最初のバイトの値の範囲は、192 〜 223 です。第 2 と第 3 のバイトの値の範囲は、どちらも 1 〜 255 です。典型的なクラス C アドレスは、たとえば 192.5.2.5 のようになります。最初の 3 バイトの 192.5.2 がネットワーク番号です。最後のバイト、つまり 5 がホスト番号です。

ネットワーク番号の管理

所属している組織に複数のネットワーク番号が割り当てられているか、またはサブネットを使用している場合は、組織内でネットワーク番号を割り当てる総括責任者 (人または部門) を指名してください。この責任者が、割り当てられたネットワーク番号のプールを管理する権限を保持し、ネットワーク、サブネット、ホスト番号を必要に応じて割り当てます。問題の発生を避けるために、組織内に重複したネットワーク番号や無秩序なネットワーク番号が生じることのないように注意してください。

IP アドレス指定方針の設計

ネットワーク番号を受け取ったら、IP アドレスのホスト部をどのように割り当てるかについて、計画を立てることができます。

表 3-1 は、IP アドレス空間がどのようにネットワークアドレス空間とホストアドレス空間に分かれるかを示しています。どのクラスについても、「範囲」の欄は、ネットワーク番号の最初のバイトの 10 進数値の範囲を示しています。「ネットワークアドレス」は、IP アドレスの中でネットワーク部の働きをするバイト数を示し、xxx が 1 バイトを表しています。「ホストアドレス」は、アドレスのホスト部として働くバイト数を示します。たとえばクラス A ネットワークアドレスの場合は、最初の 1 バイトがネットワーク番号で、残りの 3 バイトがホスト番号です。クラス C ネットワークの場合は、この関係が逆になります。

表 3-1 IP アドレス空間の区分

クラス 

範囲 

ネットワークアドレス  

ホストアドレス 

A

1 〜 127  

xxx

xxx.xxx.xxx

B

128 〜 191  

xxx.xxx

xxx.xxx

C

192 〜 223  

xxx.xxx.xxx

xxx

IP アドレスの最初のバイトの数値は、ネットワークがクラス A、B、C のどれであるかを示す値で、常に InterNIC が割り当てます。残りの 3 つのバイトの値の範囲は、どれも 0 〜 255 です。番号 0 と 255 は予約されています。ネットワーク管理者は、割り当てられているネットワーク番号に応じて、各バイトに 1 〜 254 の範囲内の番号を指定することができます。

表 3-2 は、IP アドレスのどのバイトがインターネットから割り当てられ、ホストへの割り当てが可能な各バイトにどの範囲の値を指定できるかを示しています。

表 3-2 使用できる番号の範囲

ネットワーククラス 

バイト 1 の範囲 

バイト 2 の範囲 

バイト 3 の範囲  

バイト 4 の範囲 

A

0 〜 127 

1 〜 254 

1 〜 254  

1 〜 254 

B

128 〜 191 

インターネットにより事前割り当て 

1 〜 254 

1 〜 254 

C

192 〜 223 

インターネットにより事前割り当て 

インターネットにより事前割り当て 

1 〜 254 

ネットワークインタフェースへの IP アドレスの適用法

「ネットワークインタフェース」 で説明したように、ネットワークに接続するには、コンピュータはネットワークインタフェースを少なくとも 1 つは備えていることが必要です。そして、各ネットワークインタフェースは、それぞれ一意な IP アドレスを持っていなければなりません。管理者がホストに与えた IP アドレスはそのホストのネットワークインタフェースに割り当てられます。このインタフェースは、一次ネットワークインタフェースと呼ばれることがあります。あるマシンに第 2 のネットワークインタフェースを追加した場合は、それにも一意な IP アドレスが必要です。第 5 章「ルータの構成」で説明したように、第 2 のネットワークインタフェースを追加すると、マシンの機能がホストからルータに変わります。ホストに第 2 のネットワークインタフェースを追加し、しかもルーティング機能を無効にした場合は、そのホストはマルチホームホストとみなされます。

/devices ディレクトリには、各ネットワークインタフェースのデバイス名、デバイスドライバ、関連のデバイスファイルが入っています。ネットワークインタフェースのデバイス名には、たとえば le0 または smc0 などがあります。これらは、よく使われる 2 つのイーサネットインタフェースのデバイス名です。


注 -

このマニュアルでは、イーサネットネットワークインタフェースを持つマシンを想定して説明を進めます。別のネットワークメディアを使用する予定の場合は、そのネットワークインタフェースのマニュアルの中の構成に関する情報を参照してください。


ネットワーク上の実体への名前付け

割り当てられたネットワーク番号を受け取り、ホストの IP アドレスを指定してしまったら、次に行う作業は、ホストに名前を割り当て、ネットワーク上のネームサービスをどのように扱うかを決めることです。これらの名前は、最初にネットワークを設定するときに使用するほか、後日ルータや PPP を用いてネットワークを拡張するときにも使用します。

TCP/IP は、ネットワーク上の特定のマシンを見つけるときに、そのマシンの IP アドレスを使用します。しかし、人間にとっては、マシンに意味のある名前が付いている方が、識別しやすくて便利です。したがって、TCP/IP プロトコル (そして Solaris オペレーティングシステム) では、マシンを一意なものとして識別するために、IP アドレスとホスト名の両方が必要です。

TCP/IP の視点から見れば、ネットワークは名前付けられた実体の集合です。ホストは名前付けられた 1 個の実体です。ルータも名前付けられた 1 個の実体です。さらに、ネットワークも名前付けられた 1 個の実体です。ネットワークがインストールされているグループや部門にも、名前を付けることができます。部課、地区、会社も同様です。理論的には、ネットワークとそのマシンを識別するために使用できる名前の階層については、事実上まったく制限はありません。これらの名前付けられた実体を総称してドメインと呼びます。

ホスト名の管理

多くのサイトでは、各ユーザがそれぞれのマシンの名前を選定しています。サーバにも少なくとも 1 つのホスト名が必要で、このホスト名は一次ネットワークインタフェースの IP アドレスに関連付けられます。

ネットワーク管理者は、自己の管轄ドメイン内のすべてのホスト名が一意なものであることを確認する必要があります。たとえば、ネットワーク内の "fred" というマシンが複数の IP アドレスを持っていてもかまいませんが、ネットワーク内に "fred" という名前を持つマシンが 2 つあってはなりません。

ネットワークの計画を立てるときは、IP アドレスとそれぞれのホスト名のリストを作って、設定工程中に各マシンに簡単にアクセスできるようにしてください。このリストは、すべてのホスト名が一意かどうかを検査するために役立ちます。

ネームサービスの選択

Solaris オペレーティングシステムでは、4 種類のネームサービスのどれでも任意に選択して使用できるようになっています。4 つのネームサービスとは、ローカルファイル、NIS、NIS+、DNS です。ネームサービスは、ネットワーク上のマシンに関する重要な情報、たとえばホスト名、IP アドレス、イーサネットアドレスなどを保持しています。

ネットワークデータベース

オペレーティングシステムをインストールするときに、その手順の一環として、サーバマシン、クライアントマシン、スタンドアロンマシンのホスト名と IP アドレスを入力します。Solaris インストールプログラムは、hosts データベースと呼ばれるネットワークデータベースにこの情報を入れます。hosts データベースは、ネットワーク上での TCP/IP の動作に必要な情報が含まれている一組のネットワークデータベースの 1 つです。これらのデータベースは、管理者が自己のネットワーク用として選択したネームサービスにより読み取られます。

ネットワークデータベースの設定は、ネットワーク構成の重要な部分です。したがって、ネットワーク計画工程の一環として、どのネームサービスを使用するかを決定する必要があります。ネームサービスの使用の決定は、ネットワークを管理ドメインとして編成するかどうかにも影響を与えます。ネットワークデータベースのセットについては、第 4 章「ネットワーク上での TCP/IP の構成」に詳しい説明があります。

ネームサービスとしての NIS、NIS+、DNS の使用

NIS、NIS+、DNS ネームサービスは、ネットワーク内のいくつかのサーバ上にネットワークデータベースを維持します。これらのネームサービスとそれぞれの設定方法については、『Solaris ネーミングの設定と構成』 に詳しい説明があります。「名前空間」と「管理ドメイン」の概念に関する詳しい説明も出ています。ネームサービスを NIS から NIS+ に変更する場合は、 『NIS+ への移行』を参照してください。これらのマニュアルは、ネットワークでこれらのネームサービスのどれを使用するかを決める際の参考として役立ちます。

ネームサービスとしてのローカルファイルの使用

NIS、NIS+、DNS のどれも実装しない場合は、ネットワークはローカルファイルを使ってネームサービスの機能を提供します。「ローカルファイル」とは、ネットワークデータベースが使用するためのものとして /etc ディレクトリに入っている一連のファイルのことです。このマニュアルに示す手順では、特に断らない限り、ネームサービスとしてローカルファイルを使用しているものとします。


注 -

ネットワーク用のネームサービスとしてローカルファイルを使用することに決めた場合、後日別のネームサービスを設定することもできます。


ドメイン名

多くのネットワークでは、ホストとルータが管理ドメインの階層の形で編成されます。NIS、NIS+、DNS のどれかのネームサービスを使用する場合は、所属組織のドメイン名として、全世界の中で一意な名前を選択する必要があります。ドメイン名が一意であることを確認するには、そのドメイン名を InterNIC に登録することが必要です。特に、DNS の使用を予定している場合は、この処置が重要です。

ドメイン名は階層構造を備えています。一般に、新規のドメインは、既存の関連ドメインの下に配置されます。たとえば、子会社のドメイン名はその親会社のドメイン名の下に配置されます。特に他との関連性のない組織のドメイン名は、既存の最上位ドメインのどれかの下に直接配置できます。

最上位ドメインの例としては次のようなものがあります。

組織を識別する名前は、一意なものであるという条件を満たしていれば、ネットワーク管理者が任意に選択できます。

管理作業の分化

管理作業の分化の目的は、サイズと制御に関する事項を解決することにあります。ネットワーク内のホストとサーバの数が増えるに従って、管理作業はますます複雑になります。このような状況に対処するための方法としては、管理部門を増設することが考えられます。そのためには、特定のクラスのネットワークを増設するか、または既存のネットワークをサブネットに分割します。ネットワーク管理の作業を分化するかどうかを決める要因には、次のものがあります。

ネットワークの登録

Solaris ネットワーク上のマシンに IP アドレスを割り当てるには、その前に InterNIC からネットワーク番号を入手する必要があります。さらに、管理ドメインの使用を予定している場合は、管理ドメインを InterNIC に登録することも必要です。

InterNIC と InterNIC Registration Services

InterNIC は、インターネットのユーザに以下の情報を提供するための本部組織として、1993 年に創立されました。

InterNIC には、ユーザが TCP/IP ネットワークを登録する InterNIC Registration Services という組織も含まれています。InterNIC Registration Services は、ネットワークを入手しドメインを登録するためのテンプレートを提供しています。登録については、次の 2 つの点に注意してください。


注 -

ネットワークを他の既存の TCP/IP ネットワークに接続する予定がなくても、勝手なネットワーク番号を割り当てることはしないでください。


サブネット番号は InterNIC が割り当てるものではありません。この番号は、割り当てられたネットワーク番号と、ネットワーク管理者が指定する番号を組み合わせたものとなります。これについては、「サブネット化とは」で説明します。

InterNIC への連絡方法

InterNIC Registration Services には次の方法で連絡できます。

ルータの追加

TCP/IP から見た場合、ネットワーク上に存在するのは、2 つの種類の実体、つまりホストとルータだけです。すべてのネットワークがホストを持っていることが必要ですが、ルータはすべてのネットワークに必要なわけではありません。ルータを使用するかどうかは、ネットワークの物理的なトポロジによって異なります。この節では、ネットワークトポロジとルーティングの概念を紹介します。この概念は、既存のネットワークに別のネットワークを追加しようとするときに、重要な意味を持ちます。

ネットワークトポロジ

ネットワークトポロジは、複数のネットワークの相互関係を示します。ルータは、ネットワークを相互に接続する実体です。TCP/IP の視点から見れば、ルータは複数のネットワークインタフェースを備えた任意のマシンです。しかし、マシンをルータとして働かせるためには、第 5 章「ルータの構成」の説明に従って、そのルータを正しく構成しておくことが必要です。

複数のネットワークをルータにより接続することで、より大きなインターネットワークを作ることができます。ルータは、隣接する 2 つのネットワーク間でパケットの受け渡しをするように構成する必要があります。さらに、隣接するネットワークを越えた位置にあるネットワークに、パケットを渡す機能も備えていることが必要です。

図 3-5 に、ネットワークトポロジの基本部分を示します。最初の図は、2 つのネットワークを 1 台のルータで接続した単純な構成です。2 番目の図は、3 つのネットワークを 2 台のルータで相互接続した構成を示しています。最初の例では、ネットワーク 1 とネットワーク 2 がルータ R で連結されて、より大きなインターネットワークが作られています。2 番目の例では、ルータ R1 がネットワーク 1 とネットワーク 2 を接続し、ルータ R2 がネットワーク 2 とネットワーク 3 を接続して、ネットワーク 1、2、3 から成る 1 つのネットワークが作られています。

図 3-5 基本的なネットワークトポロジ

Graphic

ルータは、ネットワークを連結してインターネットワークを作り、宛先ネットワークのアドレスに基づいて、ネットワーク相互間でパケットをルーティングします。インターネットワークがもっと複雑になると、パケットをどこに送るかについての各ルータでの決定の回数もそれにつれて増加します。

複雑さの度合の増加を示す例として、図 3-6 のような場合が考えられます。この例では、ネットワーク 1 とネットワーク 3 が、ルータ R3 により直接接続されています。このような冗長な手段を使用する目的は、信頼性にあります。ネットワーク 2 がダウンしても、ルータ R3 はネットワーク 1 と 3 の間の送信経路を提供することができます。すべてが同じネットワークプロトコルに従っていれば、ネットワークをいくつでも相互接続して、互いに通信させることができます。

図 3-6 ネットワーク間のパスの追

Graphic

ルータがどのようにパケットを転送するか

ネットワーク上でのルーティングに関する決定は、パケットヘッダに含まれている受信側 IP アドレスのネットワーク部に基づいて行われます。このアドレスにローカルネットワークのネットワーク番号が含まれている場合は、その IP アドレスを持つホストに直接パケットが送られます。ネットワーク番号がローカルネットワークではない場合は、パケットはローカルネットワーク上のルータに送られます。

ルータは、ルーティングテーブル内にルーティング情報を維持します。このテーブルには、ルータが接続されているネットワーク上のホストとルータの IP アドレスが含まれています。また、それらのネットワークを指すポインタも含まれています。ルータは、パケットを受け取ると、ルーティングテーブルを調べて、ヘッダ内の宛先アドレスがテーブルにリストされているかどうかを確認します。テーブルにその宛先アドレスが含まれていない場合は、ルータは、ルーティングテーブルにリストされている他のルータにパケットを転送します。ルータについての詳細は、 第 5 章「ルータの構成」を参照してください。

図 3-7 は、2 つのルータにより接続された 3 つのネットワークのネットワークトポロジを示しています。

図 3-7 相互接続された 3 つのネットワーク

Graphic

ルータ R1 は、ネットワーク 192.9.200 とネットワーク 192.9.201 と接続しています。ルータ R2 は、ネットワーク 192.9.201 とネットワーク 192.9.202 を接続しています。ネットワーク 192.9.200 のホスト A がネットワーク 192.9.202 のホスト B にメッセージを送るとすると、その操作は次の手順で行われます。

  1. ホスト A は、ネットワーク 192.9.200 にパケットを送り出します。パケットヘッダには、受信側ホスト B の IP アドレスである 192.9.202.10 が含まれています。

  2. ネットワーク 192.9.200 には、192.9.202.10 の IP アドレスを持つマシンはありません。したがって、ルータ R1 がパケットを受け取ります。

  3. ルータ R1 は自己のルーティングテーブルを調べます。ネットワーク 192.9.201 には、アドレスが 192.9.202.10 であるマシンはありません。ただし、ルーティングテーブルにはルータ R2 がリストされています。

  4. R1 は「次の中継」ルータとして R2 を選択し、パケットを R2 に送ります。

  5. R2 はネットワーク 192.9.201 を 192.9.202 に接続しているので、ホスト B に関するルーティング情報を保持しています。そこで、ルータ R2 はパケットをネットワーク 192.9.202 に転送し、ホスト B がそのパケットを受け取ります。