■プロトコル

プロトコルとは、ネットワークを通して各ネットワーク機器が通信をするための仕様のことです。
プロトコルの解説には、よく会話への置き換えが用いられます。つまり、ネットワーク上の通信とは、基本的にネットワーク機器同士の会話と同じです。例えば、2台のパソコンに装着されているLANアダプタ同士が通信、つまり会話をした場合、それぞれが異なる言葉を話しているとコミュニケーションができませんね。そこで、各ネットワーク機器同士で同じ言語で会話できるように作られたものがプロトコルと呼ばれるものです。ときおり、「LANアダプタにTCP/IPを喋らす」「NetBEUIを喋らす」などの表現を用いられる方も見うけられます。

Windows9Xのネットワークでは、小規模LAN用のNetBEUIやノベルのネットウェアで使われるIPX/SPXなどいくつかのプロトコルが存在しますが、現在ではインターネットとの接続性を考慮して小規模LANでも TCP/IP が多く用いられています。ここで注意すべき点としては、日本語と英語など、異なる言語間では基本的にコミュニケーションがとれないように、基本的にはそれぞれのプロトコルの間では通信ができません。本当は、それらを実現する翻訳機の様な装置もありますが、ここで取り扱うようなことでもありませんので、とりあえず省略します。
もちろん、BJDのネットワークでもTCP/IPが使われますので、以下にほんのちょっと詳しく解説してみましょう。

■TCP/IP

TCP/IPは、インターネットで使われている世界で最も普及しているプロトコルです。Microsoft ネットワーク共有サービスでは、個々のパソコンをコンピュータ名で識別していましたが、TCP/IPネットワークでは、個々のパソコンを IPアドレス と呼ばれる番号で識別しています。実は、TCPとIPはまったく異なるプロトコルですが、通常この2つを組み合わせて用いますので、TCP/IPプロトコルと呼ばれています。

●IPアドレス
IPアドレスは、ネットワーク内で個々のネットワーク機器(ノードと呼びます)を識別する為の大切な番号です。また、世界的に統一管理された番号体系で、世界中で重複することのできないユニークな番号が割り当てられています。 一般に目にすることのできるIPアドレスは、192.168.0.1など、ピリオドで区切られた4つの10進数で表現されていますが、内部的には32ビットの2進数であらわされています。

※補足
IP・・・Internet Protocolの略で、IPはIPアドレスを使って目的の場所までデータを運ぶ役割をもちます。

●2進数
ここで、少々難しくなりますが、ちょっとだけ2進数について説明を加えておきましょう。
2進数とは、ビット、つまり電気的に on と off であらわすことのできる数値で、一ビットあたり2つの状態、つまり0と1の値しか持ちません。パソコンの中では、これを+5Vと0Vなど、電圧の違いであらわします。2進数では、0、1と数えた後は、桁が繰り上がって10、11と続いて行きます。10進数0から9までの2進数は、図の表す通りです。
2進数では、2つの状態しかありませんので、例えば2進数11111111の表す10進数は、2*2*2*2*2*2*2*2、つまり28で256となります。同様に、前項の図より、IPアドレスで割り当てられる最大のノード数は、232で、4,294,967,296になることがわかります。
※補足
ちなみに、本書ではIPプロトコルの仕様であるIPv4(Internet Protocol Version 4)を元に解説をしています。IPアドレスを必要とする機器は、なにもパソコンばかりではなく、携帯電話や今後普及が予測されるインターネット家電など、インターネットへ接続しようとする全ての端末について必要であり、42億ほどもあるIPアドレスでさえ枯渇問題が予測されています。最近では、IPv4の32ビットのアドレス空間を128ビットに拡張したIPv6が実用段階に近づきつつあり、IPアドレスの枯渇問題の解消へと向かっています。

●アドレスクラス
2進数の項で、割り当てられるIPアドレスの範囲には限りのある事わかったと思いますが、IPアドレスにはもうひとつ、アドレスの割り当ての際に、ネットワークアドレスとホストアドレスに分けるという特徴があります。これは、たくさんのIPアドレスを必要とする団体にはたくさんの、少しで足りる団体には少しのIPアドレスを割り当てるための工夫で、以下の様なクラス分けを実施しています。このクラス分けの事をアドレスクラスと呼びます。
クラスの識別は、先頭から何ビット目に「0」が出てくるかで決まります。先頭ビットに「0」がある場合はクラスA、2ビット目にあればクラスB、3ビット目ならクラスCとなっています。したがって、クラスAでは、先頭を除く7ビット、つまり最大128(0〜127)のネットワークアドレスを持ち、残り24ビットをホストアドレス、つまり個々のLANアダプタなどに割り当てることができますので、最大16,777,216台のホストアドレスを割り当てることができます。また、クラスCでは8ビットのホストアドレスですので、256台の割り当てができます。なお、ネットワークアドレスの最小値と最大値、ホストアドレスの0と255(00000000、11111111)は、特殊な用途で用いるため実際には割り当てることができません。

●プライベートアドレスとグローバルアドレス
IPアドレスは世界的に統一管理された番号体系で、LAN でもインターネットでも同じ番号体を利用します。したがって、インターネットで使われているIPアドレスをLANの中で勝手に使用してしまうとIPアドレスの一意性が失われる可能性も否定できません。さらに、IPアドレスは前述の通り有限の数値で、世界中のパソコンにまで個々に番号を割り当てるほどの数がありません。
そこで、IPアドレスのうち、いくつかの区画をプライベートLANで自由に使えるように決めました。そのプライベートLANで使えるようにした特殊なアドレス範囲をプライベートアドレスと呼びます。したがって、通常LANでは、プライベートアドレスを用いてIPアドレスを割り当てることになります。
それに対して、インターネットなどで使われているIPアドレスをグローバルアドレスと呼ますが、これらはIANA(Internet Assigned Numbers Authority)を頂点とした下部組織(InterNIC、APNIC、RIPE NCC)及びそれらの下部組織である各国の組織(日本国内はJPNIC)が管理割り当てを行っています。ただし、インターネットは世界で扱われるネットワークであるため、国際的な取り組みが必要とされ、米政府とIANAの契約切れに伴い、新たにICANN(Internet Corporation for Assigned Names and Numbers)を設立、既にドメイン名(後述)の管理は移行され、IPアドレスについても順次移行する予定となっています。話しが少々それましたが、プライベートアドレスは、これらの組織で割り当るIPアドレスには含まれないようになっていますので、システム管理者が、LAN内で自由に割り当てをすることができます。

●プライベートアドレスのアドレスクラス
IPアドレスには、接続する台数によってクラス分けがされていることは既にご説明した通りですが、通常LANで用いられるプライベートアドレスにも以下のようなクラス分けがされています。

クラスアドレス範囲最大ホスト数
10.0.0.0 〜 10.255.255.25516,777,216
172.16.0.0 〜 172.31.255.25565,536
192.168.0.0 〜 192.168.255.255256

小規模なLANでは、通常254台まで接続可能なクラスCを用いて構築します。ここで「おや?」っと思ったあなた。ちゃんと読んでいただいてありがとうございます。後述しますが、実際に設定できるホスト数は、表中の最大ホスト数から2を引いた値になります。

●IPアドレスの読み方
前述の通り、IPアドレスはネットワークを表すネットワークアドレス部とホストコンピュータをあらわすホストアドレス部に分けられています。無理やりMicrosoft ネットワーク共有サービスと関係付けるとすれば、ワークグループがネットワークアドレス部、コンピュータ名がホストアドレス部になります。
※ほんとは全然違いますよ。
IPアドレスのうち、各クラスごとに何処がネットワーク部で、何処がホスト部であるかが決まっていましたね。プライベートアドレスの場合、クラスAでは、先頭の 10 の部分がネットワークアドレスで、クラスBでは 172.16 まで、クラスCでは、 192.168.0 までがネットワークアドレスです。
注意したいのは、上記表のうち、ホスト部の0と255は、特殊な用途で使用されるため、IPアドレスとしてLANアダプタに割り当ててはいけないことになっています。また、ネットワークアドレス部について注意したいのは、異なるネットワークアドレス間では基本的に通信ができない仕様になっていることです。例えば、192.168.0.1 と192.168.1.1 のプライベートアドレスを持つノード間では、直接通信をすることはできません。これらを実現する装置としてルータやプロキシ(後述)などを用いますが、特殊な用途を除き、数台規模のLANでプライベートアドレス間を異なるネットワークアドレスで分けることはないでしょう。

●ループバック
IPアドレスには、プライベートアドレスに加え、もうひとつ特殊なアドレスがあります。それがループバックアドレスと呼ばれるもので、自分自身を表現します。IPアドレスは127.0.0.1、ホスト名もlocalhostと決まっています。ループバックアドレスを指定して通信をした場合、その通信はネットワークへは流れず、そのホスト内で処理されます。

●サブネットマスク
実は、クラス分けによるIPアドレスの割り当てだけでは、無駄が多く、有効にIPアドレスを割り当てられません。例えば、2台しかつないでいないネットワークでも254台の管理ができるクラスCを用いなければいけないことで容易に理解できると思います。これが割り当て数が限られ、かつ膨大な数のホストを接続するインターネットならなおさらです。そこで登場したのが、便宜上、ネットワークアドレスの範囲を表現するサブネットマスクです。
基本的にはホスト部を使ってサブネットワークの範囲をあらわすものですが、深く追求すると、かなりの高度な知識を必要としますので、本書では深く追求しません。とりあえずは255で表現した部分が同じネットワークの仲間、つまり、ネットワークアドレスであるとだけ覚えておきましょう。

■Windows9Xでの設定

ここでは、とりあえずプライベートアドレスのアドレスクラスCを用いて、ネットワークアドレスに[192.168.0]、それぞれのノードに割り当てるホストアドレスに[1〜254]、つまり192.168.0.1〜254のIPアドレスを使った設定をご紹介します。ちなみに、このネットワークアドレスを表現する際に、192.168.0/24 と表現する場合があります。これは、「24ビットのネットワークアドレスを持ち、192.168.0までがネットワークアドレスである」という意味です。

  1. ネットワークのプロパティを開き、TCP/IPを選択して【プロパティ】ボタンを押すと、前項のTCP/IPのプロパティ画面が表示されます。複数のネットワークアダプタが存在している場合には、お使いのLANアダプタのTCP/IPを開いてください。
  2. IPアドレスタブの「◎IPアドレスを指定」を選択し、IPアドレス欄に、192.168.0.Xを入力します。IPアドレスの X 部には、1〜254までのLAN内で固有の番号を設定しましょう。他の端末と重複している場合には、再起動時にエラー画面が表示されます。
  3. サブネットマスク部には、255.255.255.0を入力してください。
  4. 【OK】ボタンを押して、TCP/IPのプロパティを閉じます。
  5. さらに【OK】を押して、ネットワークのプロパティを閉じると、ネットワークコンポーネントのインストールが始まり、終了すると再起動を促されますので、再起動してください。

●hostsファイル
インターネットでホームページを見ているとき、ブラウザのアドレス欄にwww2.comco.ne.jpの様な表示を見ることができます。
これは、ドメイン名といって、IPアドレスに関連付けられたコンピュータの名前です。先ほどのネットワーク部とホスト部に分けるとwww2がホストアドレス部、それ以降がネットワークアドレス部になります。この様に、数字の羅列であるIPアドレスに名前をつけることにより、少なくとも英語圏の人にはとても理解しやすくなります。インターネットの様な大規模なネットワークでは、これをDNS(Domain Name System)サーバーと呼ばれる分散型データベースシステムが行い、その管理をInterNICなどの各ネットワークインフォメーションセンターが連係して行っています。
簡単に説明すると、IPアドレスとホスト名の対応表をDNSサーバーに保存しておき、リクエストのあったドメイン名をIPアドレスにして返します。自局のデータベース内に無いドメインへのリクエストがあった場合は、上位のDNSへ問い合わせることにより世界中のドメインの検索ができるようになっています。
Windows9Xやワークステーション版のWindowsNT/2000には、DNSサーバーが標準搭載されていないため、別の仕組が必要になります。そのためのデータベースがhostsファイルです。DNS登場以前のネットワークでは、全てのドメイン名をhostsファイルで管理していました。

hostsファイルは、通常Windows9Xでは、Windowsフォルダ内にhosts.samという名前でサンプルファイルが保存されています。内容は、IPアドレスとホスト名が順に列記されているだけのテキストファイルです。このサンプルファイルをコピーして編集するか、メモ帳などで新規に作成します。登録するホスト名は、基本的にコンピュータ名で登録したのと同じものを指定します。

形式:
<IPアドレス> <ホスト名>

hostsファイルに登録するのは、基本的にサーバーとして稼動させるパソコンの分だけ設定すれば良いでしょう。また、localhostの記述は、忘れないように注意してください。これを拡張子の無い hosts という名前でWindowsフォルダに保存します。メモ帳などで保存すると、拡張子が.txtとして保存されますので、拡張子は必ず消しましょう。また、フォルダオプションにより、「登録されている拡張子は表示しない」の設定になっている場合も注意が必要です。このファイルは、LAN内の全ての端末に保存しておいてください。

●通信テスト
2台以上セットアップができたら、通信のテストです。MS-DOSプロンプトを起動して、PING 《通信の調査をしたいホスト名またはIPアドレス》と入力して【Enter】キーを押します。
以下の様な画面になれば、接続は確立しています。

C:\WINDOWS>ping pcsvr01

Pinging pcsvr01 [192.168.0.1] with 32 bytes of data:

Reply from 192.168.0.1: bytes=32 time=1ms TTL=128
Reply from 192.168.0.1: bytes=32 time=1ms TTL=128
Reply from 192.168.0.1: bytes=32 time=1ms TTL=128
Reply from 192.168.0.1: bytes=32 time=1ms TTL=128

Ping statistics for 192.168.0.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum =  1ms, Average =  1ms

C:\WINDOWS>

ホスト名の指定でうまくいかず、IPアドレスで指定すると通信できる場合は、hostsファイルが正しくインストールされていない疑いがあります。再度hostsファイルを確認してみましょう。

■トラブルシューティング

ネットワークがうまく接続できなかったときは、以下の点を再度見なおしてみましょう。

  1. LANアダプタは、正常にインストールされていますか? システムのプロパティを見て、LANアダプタのアイコンに使用不能のマークがついていないか確認してください。もし、使用不可となっていた場合は、再度インストールしてください。
  2. インストールされているドライバ インストールされているLANアダプタのドライバとLANアダプタの名称が同じであることを確認してください。
  3. ネットワークコンポーネントは全てインストールされていますか?
  4. ケーブルは、正しく挿入されていますか?
  5. ハブの電源が入ってますか?
  6. ケーブルが、カスケードポートの設定がされたポートに差し込まれていませんか?
  7. ケーブルはストレートケーブルになっていますか?
  8. 同じネットワーク内でIPアドレスが重複していると、起動時にエラーが発生します。確認してみましょう。
  9. サブネットマスクの設定を間違えないように実行しましょう。
  10. LANアダプタをインストールした時、別途ドライバのインストールが自動的に行われた場合、Windows98などのOSが標準搭載しているドライバが使用されています。標準搭載のドライバが既に古くなって不具合を起こしている可能性がありますので、LANアダプタの供給元で最新のドライバを探してインストールしてみましょう。
  11. 特に異常は見られないが、ネットワークコンピュータを開いてもネットワークコンピュータに何も表示されない場合は、パソコンの起動後、5分ほどまってから再度ネットワークコンピュータを開くと正常に表示されることがあります。

以上を確認して接続できないときは、一度全てのネットワークコンポーネントを削除し、最初からネットワークコンポーネントを再構築してみます。それでも直らない場合は、LANアダプタのメーカーなどに問い合わせてみましょう。