5.3 ネットワークサービス
ここまではCNSというLANについて見てきました.ではインターネットのような広域なネットワークはどうなっているのでしょうか.
インターネットと言えば多くの人はWebページを閲覧することを連想するかもしれません.これもインターネットで提供されているサービスの一つと言えます.私達がWebページを閲覧する時,情報はインターネット上のあちこちを順々に経由し,最後に目的地に到達します.例としてSFCから遠く離れた慶應義塾大学三田キャンパスのWebページを見る場合をtracerouteコマンドを使って調べてみましょう.
% traceroute www.keio.ac.jp traceroute to www.mita.keio.ac.jp (131.113.193.15), 64 hops max, 44 byte packets 1 gw2-v25-1.sfc.keio.ac.jp (133.27.24.2) 0.232 ms 0.193 ms 0.174 ms 2 fw1-1.sfc.keio.ac.jp (133.27.3.12) 0.220 ms 0.209 ms 0.199 ms 3 bb-hiyoshi7-core1-sfc2.bb.keio.ac.jp (131.113.0.34) 1.752 ms 1.680 ms 1.662 ms 4 bb-mita-grad-core1-mita2.bb.keio.ac.jp (131.113.0.52) 3.446 ms 3.342 ms 3.275 ms 5 mby0-ul1.mita.keio.ac.jp (131.113.199.66) 3.468 ms 3.448 ms 3.444 ms 6 mcw0.mita.cc.keio.ac.jp (131.113.193.15) 3.358 ms 3.274 ms 3.264 ms |
これがあなたのコンピュータから三田キャンパスのWebページ(ウェブサーバ)までの情報の伝達の様子を表しています.数字の横一行が途中で通ったところを表しています.なんだかよく分からない文字が並んでいますが,いくつもの場所を経由して目的地に辿り着いているイメージは感じ取れたでしょうか.
このようにインターネット上で情報が行き交う場合,情報は出発地と目的地以外にもたくさんの場所を経由して伝えられています.このため世界規模のインターネットではその情報をちゃんと伝えるために様々な仕組みや決まりごとがあります.
● 練習問題
先生の指示に従って,この他の場所に対してもtracerouteコマンドを実行し,どのようになるのか観察してみましょう.
IPアドレス
インターネットに繋がったコンピュータは,それぞれがどのコンピュータなのかを識別するものが必要です.そのためインターネットではそれぞれのコンピュータを区別するIPアドレス(IP Address)という番号が振られることになっています.先ほどのtracerouteコマンドの結果出てきた,()の中の数字がIPアドレスです.
現在のインターネットで使われているIPアドレスは,133.27.4.121というふうに,0〜255までの数字(8bit)を4つ組み合わせて表現しています.この形式だと32bitのアドレス空間を持つことになります.10bit(210)が約1,000ですので,32bitのアドレス空間とは
22×210×210×210 = 22×1,000×1,000×1,000 = 約40億通りのIPアドレスがあるということになります.つまり現在のIPアドレスは約40億台のコンピュータを識別することが可能です.(正確には232 = 4,294,967,296)
現在の32bitのIPアドレスはIPv4と呼ばれていますが,40億通りしかないのでこれではIPアドレスが足りなくなる恐れがあります.そのため2byteごとに8つの16進数をコロンで区切って,128bitのアドレス空間を持った新しいIPv6というIPアドレスも開発されています.このIPv6によって地球上のほぼ全てのものが識別可能と言われています.
試しに自分が今使っているコンピュータのIPアドレスを調べてみましょう.調べるためには nslookup コマンドを使います.
% nslookup zux001 Server: ns0.sfc.keio.ac.jp Address: 133.27.4.121 Name: zux001.sfc.keio.ac.jp Address: 133.27.24.12 |
IPアドレスはインターネットに繋がるコンピュータならばどれにでも振られている番号ですが,その振られ方には主に以下の2通りがあります.
- 最初から固定のIPアドレスを名乗る場合
最初から自分は何番のIPアドレスであるかを設定してあり,常にそのIPアドレスでインターネットに接続しているもので,特別教室のコンピュータのように常時インターネットに接続されているコンピュータはこれにあたります. - DHCPサーバ(Dynamic Host Configuration Protocol server)によってIPアドレスが自動で振り当てられる場合
個人が所有するラップトップコンピュータのように,常にインターネットに接続していないコンピュータの場合,インターネットに接続するたびにIPアドレスを設定しなければなりません.この時自動でIPアドレスを割り当ててくれるのがDHCPサーバで,この場合インターネットに接続するたびに,まず最初にLANケーブルや無線LANを通してDHCPサーバにIPアドレスの割り当てを要求しIPアドレスを取得します.インターネットに接続しようとするたびにDHCPサーバが割り当てるので毎回同じIPアドレスで接続しているとは限りません.
ホスト名
インターネット上のコンピュータの名前がIPアドレスと言う数字では覚えるのが大変ですね.そこでこのIPアドレスとは別にホスト名(host name)という名前をコンピュータに付け,それとIPアドレスを対応させるということをしています.5.2でみなさんは hostnameコマンドを使って自分のコンピュータ名を調べましたがあれはホスト名を調べていたことになります.
コンピュータによっては同じIPアドレスに対して複数のホスト名を持っているものもあります.
ホスト名は一つのネットワークの中で重ならないようにつけます.しかしインターネットを構成しているネットワークでは,他のネットワークに同じ名前のコンピュータがある可能性があります.そこでインターネット内でコンピュータを指定する時は,後ろにドメイン名(domain name)というものを付けます.例えば,SFC 内の zux001 というホストはインターネット内では zux001.sfc.keio.ac.jp とします.これが正式なホスト名です.
先ほどホスト名からIPアドレスを調べたように,IPアドレスからホスト名を調べることもできます.この場合も nslookupコマンドを使います.
% nslookup 133.27.24.12 Server: ns0.sfc.keio.ac.jp Address: 133.27.4.121 Name: zux001.sfc.keio.ac.jp Address: 133.27.24.12 |
サーバとクライアント
コンピュータネットワークを使ってサービスを行う方式の代表的なものに,サーバ/クライアント方式があります.サーバ(server)は,ネットワークを通じて他のコンピュータから要求を受け,それを処理するコンピュータやプログラムのことです.そしてクライアント(client)はサーバに要求を出し,サーバが提供しているサービスを受ける側のことを言います.
手紙のやりとりを例にして,もう少し詳しく見てみましょう.今,古くからの友達に久しぶりに手紙を書くことを考えます.
- まず,あなたは文面を考え,手紙を実際に書きます.
- その後,封筒に友達の住所を書きます.
- そして,切手を貼って,郵便ポストに投函します.
- 郵便ポストに入れられた手紙は,郵便局へと集められて,手紙に書かれた住所のところへと届けられます.
ここで,手紙を書いたあなたが,クライアントです.そして,手紙を届けてくれる郵便局がサーバです.あなたが受けているサービスというのは,「手紙を届けてもらう」というものです.
プロトコル
先ほどの手紙の例を考えて見ましょう.手紙のやりとりには,「手紙に切手を貼る」,「住所を書く」などという約束事があります.これをしないと手紙は相手には届かない,つまりサービスは受け付けられなかった,ということになります.こういった通信における約束事をプロトコル(protocol)といいます.
2.4 電子メールででてきたSMTPやPOPといったもの,それから先ほどのDHCPもプロトコルの一つで,それぞれがメールの送信,受信,IPアドレスの自動振り当てなどの際の決まりごとを表しているように,ネットワークのいろいろなレベルで,いろいろなプロトコルが使われます.
ネットワーク上で提供されているサービスには様々なものがあり,それぞれのサービスにサーバとクライアントが存在します.例えばDHCPサーバの場合,ラップトップコンピュータがクライアントであり,IPアドレスを自動で振り当てるというのがサービス,そしてDHCPサーバがサーバとなります.