IP アドレスは 4 つの整数からなる、等と書きましたが、 実際には 32bit のビット列です。ただ、これでは設定時などに 間違いやすいので、表記するときには 8 ビットづつ 4 バイトに 分け、それぞれのバイトを整数表示しています。このため、 4 つの整数をピリオドで区切った値が通常 IP アドレスとして 通っているのです。
IP アドレスに A, B, C のクラスわけがあることは既に 説明しました。A, B, C とだんだん規模が小さなネットワーク 向けになるのでしたね。クラス C では、左側の 3 つの 数(つまり左側 3 バイト)がネットワーク番号で、 右側の1 つの数(右 1 バイト)がホスト ID でした。
クラス A:
10.1.1.1
~~ ~^^^^
| |
| +--ホスト ID
+---------ネットワーク番号
クラス B:
172.16.1.1
~~~~~~ ^^^
| |
| +--ホスト ID
+------ネットワーク番号
クラス C:
192.168.1.1
~~~~~~~~~ ^
| |
| +--ホスト ID
+---------ネットワーク番号
一見してわかるように、クラス A は、一つのネットワーク中に
多くのホスト ID (つまりコンピュータそのもの)をもつことが
できます。そのかわり、クラス A ネットワークはほんのわずかしか
この世に存在できません。逆にクラス C ネットワークは同じネット
ワークの中にたかだか 254 程度しかコンピュータを接続できません
が、沢山のクラス C ネットワークを作ることができます。
詳細は避けますが、IP アドレスにとって、0 や 255 は特別な数 です。ですから、いくら使用が許されているからといって 192.168.255.1 の様なアドレスは使わないでください。
また、この他にも使用を控えたほうがいい番号などもあるのですが、 そういったアドレスは、クラス C を使う上では無関係です。家庭内 LAN アドレスとして
192.168.1.1 から 192.168.1.254
がすすめられるのは、安全が確保されているからという理由が あるのです。
すごく大きなネットワークを考えましょう。例えば接続されている コンピュータの数が 1千万台を超えるような単一のクラス A TCP/IP ネットワークです。電気的な話しを別にすればこの様なネットワーク は可能です。しかし非常に大きな問題が起きます。
このネットワークは単一のネットワークですから、ネットワーク中の あるコンピュータが信号を送信すると、すべてのコンピュータが 受信します。各々のコンピュータは IP アドレスをみて、自分宛で なければ、その信号を廃棄します。ところが、非常に多くのコン ピュータがあるのですから、廃棄する回数がものすごく多くなって しまいます。その上、Ethernet をはじめとする多くのネットワーク ではネットワーク内部であるコンピュータが送信していると、他の コンピュータは送信できません。結果的にネットワークの速度が 低下してしまいます。おまけに、ネットワークに障害が起きると 全部に影響が及びます。
この様な事態を解決するには「分割して統治せよ」 というのが最上の方法です。単一の 大きなネットワークの代りに複数の小さなネットワークを 考えましょう。各々のコンピュータの送信データは、その コンピュータが所属するネットワークにだけ送信されます。 また、ネットワークの外にあるコンピュータと通信するとき だけ、送信データを互いのネットワークに流します。この 様にすると、最初にあげた問題はすべて解決します。
残る問題は、どうやって二つのネットワークを接続し、 外に出す出すべきデータと一つのネットワークに閉じ込める データを分別するかです。
ルーターはこのネットワークの接続とデータの分別を 行う装置です。ルータには複数のネットワークを 接続するためのポートがあります。また、どのネットワーク にデータを流すにはどうすればいいかを知っており、 信号の分別と他ネットワークへの再送信を行います。 ただし、信号を他のネットワークに流すには、その データがルーターに向けて送信される必要があります。
外部のネットワークに向けたデータをルーターに送るの はデータを送ろうとするコンピュータの責任です。 TCP/IP を設定するときにルーターアドレスを指定する のはこのためです。送りもとのコンピュータは、データの 行き先の IP アドレスと自アドレスのネットワーク番号を 比較して、違っていればルータに送信します。
ルーターを使用するとネットワークの管理をしやすくなるため、 みんなが小規模のネットワークを使用するようになります。 すると、また弊害が起きてきます。例えば、クラス C ネットワーク一つで間に合う場合でも、クラス C ネットワークを 20 位持とうとするかもしれません。これではクラス C の ネットワークはあっという間になくなってしまうでしょう。 また、ある会社に データを送る場合、ルーターは宛先の会社の各々の 小さなネットワークに 送る方法を知らなければなりませんから、管理データがどんどん 大きくなります。
これを解決するために考えだされたのがサブネットです。 サブネットは一つのネットワークをネットワーク内部では 複数のネットワークとして扱う方法です。ネットワーク内部では 複数ネットワークに見えますから、各々のネットワークでは トラフィックの削減などが行えます。また、外部からは あくまで単一のネットワークですから、データの送り方の 管理が小さな管理領域で行えます。
サブネットを作るにはサブネットマスクを使用します。 本文で「サブネットマスクは家庭内 LAN では常に 255.255.255.0 だと覚えましょう」と書きましたが、これは クラス C ネットワークではサブネットなしの状態です。この マスクを例えば、255.255.255.192 とすると、マスクの 自分の最後の 8 ビットが 11000000 なので 使用しているクラス C の単一のネットワーク番号の下に 外からは見えないサブネットが 4 つできることになります。
サブネットは外からは見えませんが、ネットワーク内部では 各々が独立したネットワークに見えます。ですから、 サブネットどうしの接続にはルーターが必要です。
家庭内 LAN も、軌道に乗ってくると少し規模を拡大したくなるかもし れません。たとえばサーバーは1階において2階の2部屋からもサーバー を利用できるようにしたい等々。この場合、2階まで2本の10 BASE-T ケーブルを引いてもいいのですが、どうもかっこ悪いといわざるを えません。ただでさえ家人に白い目で見られているのに…。
このような場合、2階まで 1本のケーブルをひいて、2階から2本に 分けるのがきれいなやり方です。2本に分けるにはハブを使います。 言葉をかえれば1階と2階のハブの間を1本のケーブルで 接続します。そこでハブ間接続について考えましょう。
本文で、「この文書の LAN ではストレートケーブルしか使用しない」 と説明しました。10 BASE-T ストレートケーブルはハブとコンピュータの 間を接続するためのケーブルです。ハブとハブの間はストレートケーブル では接続できません。このような接続をすると、二つのハブの送信 線どうし、受信線どうしが結線されてしまい、送受信ができません。 正しくハブ間で送受信を行うには、どこかで送信と受信の線を いれかえればいいのです。この方法には 2 種類あります。
クロスケーブルは、ケーブル自身の結線で送信と受信を入れ 替えます。この場合、ハブの通常のポート間をクロスケーブル で接続することによって正しいハブ間の通信を行います。
ハブ間接続のもう一つの方法は、デイジーチェーンポートを 使用する方法です。デイジーチェーンポートは、ハブ内部で 送受信の結線を入れ替えています。したがって、片方のハブの 普通のポートと他方のハブのデイジーチェーンポートをストレート ケーブルで接続すると、ハブ間の接続をうまく行えます。 くれぐれもデイジーチェーンポートの間をストレートケーブル でつなぐなどということがないよう、注意してください。
ハブによっては非常に多い段数のハブのデイジーチェーン 接続を保証しているようですが、あまり高級なハブを使わないのな らハブ 3 段くらいの接続にとどめる方がいいでしょう。 どうしてももっと多いハブを使用したい場合は、複数の ハブを一つのハブで束ねるやり方もあります。これは、主ハブに 複数のハブが接続されていて、それらのハブにコンピュータ を接続するような使い方です。こうすればうまく行きますが、 この様に規模の大きなシステムになると、それぞれの 部品の信頼性や、管理などが重要になってきます。