- サーバ・クライアントモデル
- インターネットにおける通信の仕方として,サーバ・クライアントモデルというものがあります.サービスを提供する側のソフトウェアをサーバソフトウェア,サービスの提供を受ける側のソフトウェアをクライアントソフトウェアといいます.
では,サービスとはなんでしょうか.住民票を取り寄せる手続きをするために市役所に行ったとしましょう.
市役所には,住民票交付や,印鑑証明の登録などさまざまな窓口があります.住民票をもらうためには,住民票交付窓口に行って,交付申請書を提出します.
すると,市役所の担当者が内部で手続きを行い,住民票の写しを渡してくれます.これは,市役所における住民票交付のサービスです.
インターネットにおけるサービスも同じようなものです.
サーバソフトウェアに対して,「ファイルAをください」といった要求を送ります.するとサーバソフトウェアは,コンピュータの中からファイルAを探し出して,クライアントソフトウェアに対して,ファイルAのコピーを送り返します.
では,サーバ・クライアントモデルが,インターネット上ではどのように動いているのか,図5をみてください.100.0.0.10というコンピュータ上で,あるサーバプログラムが,ポート番号80で動いているとします.
クライアントソフトウェアは,インターネットを経由してサーバプログラムと通信して,サーバプログラムからファイルを取得したいとします.
100.0.10.10というIPアドレスで動いているクライアントプログラム2が,いまファイルの取得をサーバに対して要求したとします.
プログラム2にも,ポート番号が割り当てられています(仮に2000だったとします).このとき,(1)のように送り元100.0.10.10:2000から送り先100.0.0.10:80に対してパケットが送られます(IPアドレスとポート番号をコロン“:”で区切って並べて表記する).
するとサーバプログラム1は,受け取った要求に対して処理を行い,今度は逆方向に送り元100.0.0.10:80から送り先100.0.10.10:2000に対してファイルをパケットにして送ります.
クライアントソフトウェア2は,パケットを受け取り,ファイルの取得が完了します.
クライアントソフトウェアからいつ要求が来るかわからないため,サーバソフトウェアはいつ要求が来てもいいように常に動作を続けます.
このようなサーバのソフトウェアの例としては,
- WWWサーバ
HTMLファイルの転送機能を提供する.
クライアントは,ウェブブラウザソフトウェア.
- TELNETサーバ
UNIXのシェルサービスをネットワーク経由で提供する.
クライアントは,OS付属のtelnetコマンドやWindows用のTeraTermが有名.
- DNSサーバ
IPアドレスとホスト名の変換などの機能を提供する.
クライアントは,OSに組み込まれた名前変換ライブラリ.
- DHCPサーバ
動的にIPアドレスなどのネットワーク設定を提供する.
クライアントは,OS内蔵のDHCPクライアント機能や,dhclientコマンド.
など,さまざまものがあり,インターネット上で多様なサービスを提供しています.
〔図5〕サーバ・クライアントモデル
|