3.5 コンピュータネットワーク

コンピュータの発展(高速化・大容量化)に加え、それらの間で情報を享受する場合の基盤となるコンピュータネットワーク(以下、ネットワーク)も進歩・拡大している。ネットワークにより、手許に情報機器があれば、誰もが瞬時に情報を入手すること、個人で社会に向けて情報を発信すること、仮想的な空間の中で共同作業をすることなどが可能になっている。ここでは、そのようなネットワークの仕組みや特質、それを実現する技術などについて述べる。

 

3.5.1 情報の享受

情報を享受する上では、送信者と受信者の双方において、情報の享受に関わるあらゆるものについて共通の理解が必要である。たとえば、人間同士のコミュニケーションでは、話し手と聞き手の双方が理解できる言語(たとえば、日本語)が使用され、お互いにその意味を知っているであろう単語により、会話の内容が構成される。人間同士であれば、未知の単語が用いられた場合には、意味を確認するためのやりとりも行われる。人間同士の場合には、特に事前の取り決めがなくとも柔軟に対処し、コミュニケーションを進めながら、お互いに共通の理解を構築していくことも可能である。

コンピュータ間の通信による情報の享受においても、人間同士のコミュニケーションと同様に共通の理解が必要である。人間と異なるのは、その共通の理解を事前に明示しておかねばならないことである。どのようなサービスについてのやり取りであるのか、そこでは、情報がどのようなデジタルデータとして表現されるのか、やりとりの開始、終了、やり直しはどのような手順で実行するのか、相手をどのようにして特定し、そこまでの通信経路(含:伝達方法)を決めるのか、データはどのような信号として送られるのか、このようなことを事前に定めた規約にしたがって、通信が実現されている。

 

3.5.2 通信機能の階層化

封書による情報伝達を例に、通信回路の階層化を考えよう。送り手は、便箋に内容を記述して封筒に入れ、封筒には宛先を記入し、ポストに投函する。投函された封書は、郵便局などの事業者により受取人の郵便受けに配達される。封書の作成が終了すれば、ポストへ投函する作業は、封書の作成者本人である必要はなく、他の人に依頼することができる。封書をポストに投函するよう頼まれた人は、迅速に封書を投函すれば、どのポストに投函してもよく、受取人の郵便受けまで配達する必要もない。配達を依頼された事業者は、迅速に正確に配達すれば、どのような手段や経路で配達しても構わない。

15  手紙による情報伝達の階層化

このように、封書による情報伝達は、(1)封書の作成、(2)ポストへの投函、(3)配達、のような独立した役割に分割された階層構造とみなすことができる。これと同様に、ネットワークにおける通信機能も、ブラックボックスとして扱えるような独立した役割ごとに分割し、階層構造を形成する。はがき、手紙、小包のように、相手に送るものが変わっても、配達経路は共通に利用できるように、ネットワークの通信機能についても、下位に位置する階層は、アプリケーションに共通して利用できる機能が配置される。上位に位置する階層に配置される機能は、アプリケーションに固有の機能になる。

封書の送り手は、受取人が封書の内容を読むことを期待している。そのために、互いに理解できる言語を用いて内容を記述する。ネットワークにおける通信においても同様に、役割ごとに分割された各階層は、送受信双方にそれぞれ対応する役割の階層が存在し、それらの間でその階層としての役割を果たすための約束事が仕様として定められている。この約束事を通信規約(通信プロトコル)という。

 

3.5.3 階層化による利点

通信機能を階層化する利点の一つは、自層より下の階層における動作の詳細を知る必要がなくなることである。例えば、ポストに投函された封書が、受取人に届けられることさえ保証されれば、どのような手段と経路で配達されるかを知る必要がない。これと同様に、電子メールなどもソフトウェアからメール送信の指示を与えるだけで、配送の詳細を知ることなく利用できるようになる。

もうひとつの利点は、各階層が独立し、その役割や処理内容が定められているため、その階層の仕様を満たせば、(原理的には)他の階層へ影響を与えることなく、新しい実装や改良などが可能であることである。例えば、荷物を送る場合には、小包を作成する作業や、事業者の窓口への持ち込みなど封書の場合と異なる処理が必要である。これらを対応する階層で新しい処理方法として定義し、封書の場合と置き換えることで、配達機能としては封書の場合と同じものが利用できる。これと同様に、ネットワークを利用した新しいサービスが生まれた場合でも、そのサービス固有の機能を有する階層のみ実装することで、他の機能をそのまま利用できるようになる。

 

3.5.4 ネットワークの形成

共通の通信プロトコルを使用し、機器間の通信路を設けることにより、原理的にはその機器間での通信が可能になる。機器数が増加すると、任意の機器間を1対1で接続する通信路を設けることは次第に困難になるため、幹線となるような通信路か、または、それに相当する装置に機器を接続し、すべての機器で通信路を共有したネットワークを形成する。

図16  ネットワークの形成

共有される通信路には、そこでの通信に用いられるすべての信号が流通する。そのため、信号を送出する権利を制御して、通信路における信号の伝送を制御する仕組みや、機器ごとに定められた識別番号を使用して、通信相手を特定するための仕組みなどを定めた通信プロトコルが用いられる。このような仕組みのもとで、室内、フロア、建物全体などの比較的狭い範囲において、機器が接続されるネットワークをローカルエリアネットワークという。

 

3.5.5 インターネット

ローカルエリアネットワークを相互に接続し、ネットワークのためのネットワークとして、世界中に拡大したものがインターネットである。インターネットで事実上の標準規格として用いられている通信プロトコルでは、通信相手を特定するための識別番号として、IPアドレスを使用する。

IPアドレスは、8ビットの数値4つからなる32ビットの数値である。10進数で表記すると、0から255までのいずれかの数値(8ビットで表現される数値)4つを「.(ドット)」で接続し、192.168.1.10のようになる。

インターネットでは、データを少量のパケットと呼ばれる単位に分割し、通信相手のIPアドレスなどの情報を付加して伝送する。複数のネットワークの接続点にある機器では、パケットに付加されたIPアドレスに応じて、そのパケットをどのネットワークに転送するのかを決定する。このような役割をする機器がインターネット全体で協調して動作し、間接的に接続された機器間の通信が実現されている。

ホームページを閲覧する場合、通常は192.168.1.10のように、IPアドレスのような数値を利用せず、www.science-for-all.jpのような文字列でホームページを提供しているコンピュータを特定している。このようにインターネットで機器を特定するためにつけられる名前をドメイン名という。通信の制御は、前述のようにIPアドレスで行われるが、人間にとってはドメイン名の方が扱いやすい。そこで、ネットワーク上にドメイン名とIPアドレスを相互に変換する仕組みを設け、インターネットを利用するアプリケーションではドメイン名を使用できるようになっている。

例10:間接的に接続された機器間の通信

 

上の図は、機器RaがネットワークAとCを接続、機器RbがネットワークBとCを接続、機器RcがネットワークCとDを接続している様子を示している。このとき、パケットの宛先IPアドレス(以下、宛先)について次のように設定すると、間接的に接続された機器との通信が実現される。なお記号* は1から3のいずれかを表すものとする。

  • Raはパケットの宛先が168.30.*であればA側に転送し、それ以外はRcに転送する
  • Rbはパケットの宛先が168.20.*であればB側に転送し、それ以外はRcに転送する
  • Rcはパケットの宛先が168.1.*であればC側に転送し、それ以外はD側に転送する

このような設定を施してネットワークの相互接続を広げることにより、インターネットにおける通信が実現される。