共通科目情報処理(上級)、インターネットの仕組み、2003年12月15日 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/ipe/inet-2003/2003-12-15
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/ipe/
http://www.coins.tsukuba.ac.jp/~yas/
http://www.ipe.tsukuba.ac.jp/~yshinjo/
インターネットで通信をプログラムを利用する時、 「クライアント」と「サーバ」という分けて考える。
例:
コンピュータが1台しかない場合、プログラムは1つでよい。通信をする場合 には、プログラム(コンピュータ)が2つになる。そのうちの1つのプログラ ム(またはコンピュータ)を、「クライアント」、もう1つを「サーバ」とい う。
元々の意味
図? サービスの授受によるクライアントとサーバの定義
サービスを提供する方は、1つのプログラム(コンピュータ)で複数の利用者 の面倒をみる。その結果、1台のサーバに複数のクライアントがつながる。
図? 複数のクライアントによるサーバの共有
TCP/IP では、通信するプログラムとプログラムの間は、電話で会話をするよ うに通信が行われる。両方同時に話をすることは、(可能ではあるが)あまり 行われない。次のようなことを、繰り返すことになる。
図? 通信のパタンからみたクライアントとサーバの定義
TCP/IP の通信では、通信を始める前に、まず、通信路を作る作る必要がある。 これは、電話で話をする前に、まず、電話をかける操作を行うことと似ている。以上のように、クライアントとサーバは、いろいろな意味で使われる。これら の意味は、多くの場合、一致しているが、一致していないこともある。
通信を開始するパタンで、コンピュータ、プログラム、人間は、次の2つに分 類される。
図? 能動的なクライアントと受動的なサーバ
例:WWWサーバは、WWWクライアントから何か要求が来ない限り、ずっと 黙っている。
コンピュータを使う時には、人間が能動的になり、コンピュータが受動的にな る。
テレビを見ている時には、人間が受動的になり、テレビが能動的になる。
講義形式の授業では、サービスの授受では、教官がサーバで、学生がクライア ントになる。通信の開始の方法では、教官が能動的になり、学生が受動的にな る。
大学以上では、学生は、能動的になることが求められている。
Windows 2000 を使っている時、Z: ドライブのデータは、ファイル・サーバに 置かれている。ここにあるファイルは、どのクライアントPCを使っていても、 同じように参照できる。
デスクトップに置いたデータは、ログオン時にサーバからクライアントへコピー される。ログオフ時には、クライアントからサーバへコピーされる。大きなデー タをデスクトップに置くと、ログオンとログオフが遅くなる。
Z: ドライブに置いたデータは、ログオン時/ログオフ時にコピーされない。
各名前サーバは、ゾーンと呼ばれる、木構造の節のデータを保持する。
図? 名前サーバの動き
例:このクライアントが、「www.u-ust.ac.jp
」というドメイ
ン名のホストの IP アドレスを調べる。
各ドメインの名前サーバは、単に次の名前サーバを返すだけで、自分で最終的 な答えが見つかるまで繰り返さない。
1つのドメイン名をIPアドレスに変換するたびに、該当する名前サーバに要求 を送っていると遅くなる。 ルート・ドメインの名前サーバの負荷が重たくなる。
実際の名前サーバでは、 キャッシング(caching) を行なっていてる。
キャッシングとは、高速化にアクセスできる場所にコピーを持つことである。
一度知った情報は、メモリ中に保存しておき、次に必要になった時には、それ を使う。(他の名前サーバには問い合わせを行なわない)。
キャッシュ(コピー)を持っていると、元の情報が更新され時に問題が起きる。 そこで、キャッシュには、 生存期間(TTL: time to live) が決められていて、それを過ぎると自動的に捨てられる。
逆に考えると、この期限内では、たとえデータを更新したとしても、古いデー タが参照される。
DNS では、「そういう名前が存在しない」という情報もキャッシュとして保存 している。これを保存しないと、存在しない名前をいちいちルート・ドメイン の名前サーバに聞きにいく。
DNS では、主にドメイン名を IP アドレスへ変換するが、これは ドメイン名ごとに IP アドレスのデータが定義されていることによる。 このような DNS で扱う1つひとつのデータを、 資源レコード(RR: resource recourd) という。
標準(正引き)で引かれるものは、A レコードである。 逆引では、PTR レコードが引かれる。名前サーバを複数用意しておくと、それらの名前サーバのうちどれか1つでも アクセスできれば、名前解決をすることができる。
名前サーバの種類:
プライマリの名前サーバは、ファイルからそのゾーンのデータを読み込む。
セカンダリの名前サーバは、プライマリの名前サーバや他のセ カンダリの名前サーバからデータをコピーする。
このコピーのことを ゾーン転送(zone transfer) という。
---------------------------------------------------------------------- adonis1% nslookup Default Server: orchid.jks.is.tsukuba.ac.jp Address: 130.158.86.241 > set type=soa> ipe.tsukuba.ac.jp
Server: 130.158.65.2 Address: 130.158.65.2#53 ipe.tsukuba.ac.jp origin = keyaki.ipe.tsukuba.ac.jp. mail addr = root.keyaki.ipe.tsukuba.ac.jp. serial = 2001042001 refresh = 10800 retry = 3600 expire = 3600000 minimum = 86400 >
----------------------------------------------------------------------
WWW ブラウザは、基本的には、直接WWWサーバに要求を送る。 WWW サーバ (httpd)は、普通は、ファイルからデータを読み出し、WWWブラウザに返す (図の(1))。
設定によっては、WWW ブラウザは、直接 WWW サーバに要求を送らずに、 WWW Proxy サーバ に要求を送ることがある(図の(2))。
proxy ( プロキシ、 プロクシ ) とは、「代理」という意味。 WWW Proxy は、 WWW ブラウザに代わって、WWW サーバと通信をするプログラ ム。
WWW Proxy は、WWWブラウザから受け取った要求を、WWW サーバに送ります。 WWW サーバから送られた結果は、WWWブラウザに返す。
WWW Proxy の利用目的
メモリ中のキャッシングは、かなり効くので、普通は使うとよい。
ディスク(ファイル)へのキャッシングは、電話回線のような遅い回線を使っ ている時には、効きくことがあるが、イーサネットのような速い回線に繋がっ ている時には、効かないことが多い。
気が付かない間に見えない所でディスク容量を消費して大事なデータが保存で きなくなることがある。
データ圧縮は、空間的に得をするために、計算時間を犠牲にする。ただし、デー タ圧縮を行うと、通信時間の節約になるので、時間的にも得をすることもある。
キャッシュは、元データが更新されると、古くなる。大学で教えている知識は、 キャッシュと思うこと。
サーバ icho (OS は Unix) に接続してログインする。
人間とコンピュータの対話方法 以下にあるいくつかの命令を試す。
終了は、exit 。
z:\>nslookup >exit z:\>
記号 > が出ている時には、nslookup プログラム特有の命令が使 える。
次のドメイン名を打ち、IPアドレスに変換しなさい。
名前サーバを切替えてみるz:\>nslookup>set type=ns >ipe.tsukuba.ac.jp
z:\>nslookup>server 130.158.65.2 >ipe.tsukuba.ac.jp >server 130.158.65.3 >ipe.tsukuba.ac.jp